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.