tom_forge_undo library

Forge's undo/redo contract (ForgeUndoManager) and its default implementation (DefaultUndoManager, over tom_undo's stack), on their own.

A narrow, platform-neutral entry point beside the default tom_forge_core.dart barrel, which reaches dart:io through the gitignore walk. dart2js does not reject dart:io: it compiles against web stubs that throw at runtime, so containment at the import boundary is the only thing that catches a browser crash early.

tom_webwork_core takes the contract from here in an entry point that must stay web-linkable (Webwork→Forge is the permitted licence direction), and tool/package_seams.dart bans the barrel URI from that entry point by name. Code that wants only the stack takes package:tom_undo/tom_undo.dart.

Classes

CompositeUndoEntry
A composite undo entry that groups multiple entries into one atomic step.
DefaultUndoManager
Default implementation of ForgeUndoManager.
ForgeChangeNotifier
A pure-Dart counterpart of Flutter's ChangeNotifier: an object that tells its listeners it changed, without saying how.
ForgeUndoManager
Undo/redo management for shell-level actions.
ForgeValueListenable<T>
A read-only interface that holds a value and notifies listeners.
ForgeValueNotifier<T>
A mutable ForgeValueListenable that notifies listeners on changes.
UndoEntry
An undo entry with forward and backward operations.
UndoEvent
An undo event with the action type and optional entry metadata.

Enums

UndoEventType
Events emitted by ForgeUndoManager for persistence and observation.

Typedefs

ForgeVoidCallback = void Function()
Callback type for change listeners.