Windowed Animation Sink
A filtering AnimationSink that forwards events to delegate only while the simulated clock lies within the closed time window [startTime, endTime].
This is a decorator: it wraps another sink and adds time filtering without that sink knowing anything about windows. It exists so a modeler can animate a bounded horizon of a long run (e.g. [500.0, 600.0] of a 10,000-hour run) while paying essentially nothing for the rest of the run — because every emission site checks isActive before constructing an event, and isActive is false outside the window, no event objects are created outside the window.
Note on the opening frame: filtering raw events to the window does not, by itself, reproduce the model's state at startTime (entities already queued, resources already busy, moves already in flight). A correct opening frame requires a state snapshot emitted at the window boundary; that snapshot is produced later by the animation controller and its emitters (it is not this decorator's responsibility).
Parameters
the downstream sink that actually records in-window events
inclusive lower bound of the capture window (>= 0)
inclusive upper bound of the capture window (>= startTime)
supplies the model's current simulated time when queried
Properties
Functions
Called once after the final replication of the experiment.
Called at the end of replication replicationNumber (1-based).
Called at the start of replication replicationNumber (1-based).