AnimationInventory

@Serializable
data class AnimationInventory(val queues: List<String> = emptyList(), val queueInfos: List<QueueInfo> = emptyList(), val resources: List<String> = emptyList(), val movableResources: List<String> = emptyList(), val movableHomeBases: Map<String, String> = emptyMap(), val responses: List<String> = emptyList(), val timeWeightedResponses: List<String> = emptyList(), val counters: List<String> = emptyList(), val stations: List<String> = emptyList(), val networks: List<String> = emptyList(), val conveyors: List<String> = emptyList(), val conveyorInfos: List<ConveyorInfo> = emptyList(), val agentModels: List<String> = emptyList(), val spaces: List<SpaceInfo> = emptyList(), val locations: List<String> = emptyList(), val entityTypes: List<EntityTypeInfo> = emptyList(), val locationInfos: List<LocationInfo> = emptyList())(source)

The animatable elements a model exposes (9A.3): the structural model elements, plus spatial spaces (from agent projections) and location names (from any DistancesModel). Built from a probe model — no simulation — and used to drive the editor pick-lists and author-time validation (9A.5), so capture selection and layout key off one identifier space (ElementKind).

Not included (runtime, not structural): entity/agent type names (transient QObjects; types appear only in the trace) and storage suspensionNames. Those are validated against a produced trace (8K.2b), not the inventory.

Constructors

Link copied to clipboard
constructor(queues: List<String> = emptyList(), queueInfos: List<QueueInfo> = emptyList(), resources: List<String> = emptyList(), movableResources: List<String> = emptyList(), movableHomeBases: Map<String, String> = emptyMap(), responses: List<String> = emptyList(), timeWeightedResponses: List<String> = emptyList(), counters: List<String> = emptyList(), stations: List<String> = emptyList(), networks: List<String> = emptyList(), conveyors: List<String> = emptyList(), conveyorInfos: List<ConveyorInfo> = emptyList(), agentModels: List<String> = emptyList(), spaces: List<SpaceInfo> = emptyList(), locations: List<String> = emptyList(), entityTypes: List<EntityTypeInfo> = emptyList(), locationInfos: List<LocationInfo> = emptyList())

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun isTimeWeighted(responseName: String): Boolean

True when responseName is backed by a time-weighted response (TWResponse) rather than a tally.

Link copied to clipboard

The element names of the given kind, for matching a CaptureSpec selector or layout binding.

Link copied to clipboard

Whether queue name is a reporting queue (default true); false ⇒ captured but not auto-placed (P5).

Link copied to clipboard

Cross-checks a produced trace against this manifest (10.1f) — the trace-side validation the inventory doc defers (8K.2b). Walks events, collecting every entity type (EntityCreated.entityType) and every process (ProcessActivated, keyed by the composite "Type.process" via the entityId → type join), and reports each that the manifest does not declare. These are nudges, not errors: capture defaults to all, so an undeclared type/process still animates — the warning simply tells the author to declare it (entityType<T>() / @KSLAnimatedEntity, @KSLAnimatedProcess) so it appears in the editor before a run.