Animation Event
Inheritors
Types
A message was consumed from an agent's mailbox. mailboxSize is the post-consumption size.
A message was delivered into an agent's mailbox. mailboxSize is the post-delivery size.
An agent's position in a projection changed. Emitted from the projection's placeAt/moveTo chokepoint, so it uniformly captures travel, steering dynamics, and manual moves (decision D6, Phase 3A.1).
An agent's position as read by a timed sampler (the non-invasive position option, decision D6 option b, Phase 2A.4).
An agent joined the model registry.
An agent left the model registry.
An agent's statechart entered a state.
An agent's statechart exited a state.
An agent's statechart transitioned between two states.
A sampled per-agent velocity (vx,vy) and/or net steering force (fx,fy) for the vector overlay (G10). Rate-limited by the sampler's interval (default 5/sec), decoupled from the model's integration step. A NaN component means it wasn't captured. Opt-in (off by default) — the volume-sensitive overlay.
A batch of entities was formed into a single batch entity of size members.
An entity requested access to a conveyor at an entry location.
The static cell structure of a conveyor (emitted once per replication, at the conveyor's initialize). anchorLocations and anchorCells are parallel lists giving each named entry/ exit location and its cell index along the belt, so a renderer can map any cell index to a world position by interpolating between the (layout-positioned) named anchors (8G.6).
An entity reached its conveyor destination.
An entity's conveyor entry was blocked (could not board yet).
An entity exited (fully off) a conveyor.
A conveyed item advanced to cell cellIndex of its conveyor (the single ConveyorRequest.moveForwardOneCell chokepoint). The renderer maps the cell index to a world position via the conveyor's ConveyorDefined anchors and interpolates between consecutive samples — the conveyor analog of the agent position stream (8G.5). Captures accumulation and blocking for free: when an item cannot advance, no event fires and it holds on the belt.
An entity began riding a conveyor from one location toward another.
An entity's delay has ended.
An entity has started a timed delay. arrivalTime is the simulated time at which the delay will end (simTime + duration); carrying it lets the renderer drive a progress indicator without re-deriving it.
An entity entered a station network through an ingress. qObjectType is the QObject's integer type id (1 by default; a QObjectClass.typeId in multi-class networks) and qObjectTypeName is the resolved class name when one is registered (else null), so a renderer can style station entities by class (8G.1).
A new entity has been created. entityType is the entity's class/type label.
An entity has been disposed normally (it finished its process).
An entity's process ended abnormally (terminated/failed).
An entity left a station network through an egress (disposed).
The experiment has ended; no further events follow for this run.
The experiment (a set of replications) has begun.
A flow-field distance gradient over the grid space spaceName (G11): a one-time per-replication snapshot (the field is computed once at initialize()). cells gives reachable cells with their distance-to-goal; maxDistance anchors the heatmap color ramp; cellSize/originX/originY place the grid in world coordinates. Opt-in (off by default) — an "agent debugging / teaching" overlay.
An entity entered a hold queue.
An entity was released from a hold queue.
A transient highlight ("pulse") the model reports at a world location when something noteworthy happens there — e.g. a delivery completes at a drop-off point (G-animated). Reported by the model via reportMarkerPulse; opt-in (off by default), so a normal run pays zero cost. The renderer draws an expanding, fading ring centered on (x,y) over the window [simTime, simTime + holdTime] (model time); label and colorHex (e.g. "#1f77b4") are optional styling. A teaching/demo overlay — it visualizes a domain event, not agent internals, but rides the same capture/display gates as G10–G12.
An entity completed a move and is at rest at (toX, toY, toZ).
An entity began a point-to-point move at constant velocity. The renderer reconstructs the entity's position at any replay time by linearly interpolating from (fromX, fromY, fromZ) to (toX, toY, toZ) between simTime and arrivalTime. This same contract covers the agent-layer travel primitives, whose legs are also straight-line constant-velocity.
Defines a network (graph) backdrop with auto-laid-out nodes and weighted edges (G7). Emitted once per replication after the model wires the graph (e.g. in initialize()), since a ksl.modeling.agent.NetworkProjection is non-spatial — node positions are assigned by a layout at snapshot time. Agents are emitted at the same node positions (AgentPositionChanged) so their state colors render on top of the edges.
A route the model planned for an agent (G12): the polyline points in world coordinates, reported by the model right after it computes a path (e.g. A-star / network shortest path). Opt-in (off by default), emitted only when the model calls reportPlannedPath — a teaching/debugging overlay showing intended vs actual.
A process coroutine has been activated for an entity.
A process coroutine has run to completion for an entity.
A specific QObject/entity left a queue (8C.2).
A specific QObject/entity entered a queue. Lets a renderer show the identified members of any queue (and style them by type), not just a count (8C.2). Covers every queue type.
A queue's length changed. Covers every queue type (one shared event).
A replication has ended.
A replication has begun. Delimits a replication block in the trace stream.
A resource changed state. Covers both the process-view Resource and the station-package SResource. state is a String tag (e.g. "Busy", "Idle", "Failed", "Inactive") so the renderer needs no enum dependency.
A statistical quantity was observed. Drives live bar charts and time-series plots. Covers Response, TWResponse, and Counter (the renderer does not need to distinguish which). For responses, the current within-replication statistics (count/average/min/max) are carried so a renderer can show a live summary without recomputing (decision D11); they are NaN for counters and any source without within-replication statistics.
Units of a resource have been allocated to an entity.
An entity's seize request was enqueued waiting for a resource.
An entity is suspended waiting for units of a resource to become available.
An entity received the signal it was waiting for.
Records an agent projection's spatial dimensions (8K.6a), so the renderer can draw the space backdrop from the trace when the layout omits a gridSpace/continuousSpace. kind is "Grid" (uses cols/rows/cellSize) or "Continuous" (uses xMin/xMax/yMin/yMax).
A named spatial element finished moving (8K.5).
A named spatial element (e.g. a movable/transport resource) started moving (8K.5). Mirrors MoveStarted but is keyed by name (the spatial element's name) rather than an entity id, so the renderer can animate the resource itself — including empty repositioning that carries no entity. Carries location names so coordinate-free spaces (DistancesModel) resolve by name (8H.3).
An entity entered a station.
An entity exited a station.
An entity was transferred (handed off) out of a network at an egress.
A child process an entity was waiting on has completed.
An entity is waiting for a child process to complete.
An entity is waiting for a signal.