ProtectedcanvasThe Interactive Ink Canvas instance
ProtectedloggerLogger instance for this manager Automatically uses LoggerCategory.MANAGER
ProtectedmanagerName of the manager for logging purposes Must be overridden in concrete classes
OptionalonCalled once every stroke has been replayed.
OptionalonCalled after each stroke is completed, with the running count.
OptionalonCalled whenever play/pause/resume/stop changes the manager's state.
Get the client from the canvas Convenience getter to avoid accessing canvas.client everywhere
Get the configuration from the canvas Convenience getter to avoid accessing canvas.configuration everywhere
Get the model from the canvas Convenience getter to avoid accessing canvas.model everywhere
Get the renderer from the canvas Convenience getter to avoid accessing canvas.renderer everywhere
Destroy the manager and cleanup resources Calls the onDestroy hook if defined
ProtectedonProtected OptionalonLifecycle hook called after manager initialization Override in subclasses if needed
This is called at the end of the constructor, allowing subclasses to perform initialization that requires access to this.managerName or other properties set in the subclass constructor.
Pause playback, preserving progress so resume() continues from here.
If a stroke is mid-progress, pause is deferred until that stroke completes
naturally - it is never cut short.
Start replaying strokes in order of their first point's timestamp.
Stops any run already in progress.
Recorded strokes to replay (same shape as importPointEvents).
Playback speed multiplier (1 = original timing, 2 = twice as fast).
Resume playback from where it was paused.
Change the playback speed. If currently playing, remaining points are rescheduled immediately at the new speed without losing progress.
Stop playback and reset progress. Already-replayed strokes remain on the canvas.
Replays a recorded set of strokes on the canvas, point by point, honoring their original relative timing (roadmap: Stroke Playback / Animation).
Each point is fed to
canvas.writer(start/continue/end) at the moment it was originally recorded (scaled byspeed), so ink appears to be drawn progressively rather than strokes popping in fully formed. Play / pause / resume / stop and live speed changes are supported.