Event model
Timing and state progression
Distinguish scheduled events, delayed results, and gradual changes.
Format definition
Specify deterministic scheduled events, repetition, cancellation, and clock semantics.
Scenario standard · Execution capabilities
Parameters
events.schedules[].id
string
Optional; omitted means unspecified
Named event allows explicit cancellation.
events.schedules[].anchor
object
Optional; omitted means unspecified
State/action anchors require the corresponding ID. Scenario-start prohibits refId.
events.schedules[].delaySeconds
number
Optional; omitted means unspecified
Simulated seconds after the declared schedule anchor. State-entry schedules follow onAnchorStateExit and cancellation references; action timing is separate.
events.schedules[].conditionId
string
Optional; omitted means unspecified
Evaluate when due. False skips that occurrence; it does not poll until true.
events.schedules[].priority
integer
Optional; omitted means unspecified
Explicit ordering for simultaneous events. Equal priority uses schedule ID lexical order.
events.schedules[].effectIds
string[]
Optional; omitted means unspecified
Operations applied atomically if the due event and transition guards are valid.
events.schedules[].nextStateId
string
Optional; omitted means unspecified
Optional phase transition; omit for a result or actor cue that does not move the main phase.
events.schedules[].repeat
object
Optional; omitted means unspecified
Count includes the initial occurrence. Finite repetition prevents unbounded schedules.
events.schedules[].onAnchorStateExit
"cancel" | "continue"
Optional; omitted means unspecified
Cancel removes pending occurrences from that entry; re-entry creates a new schedule instance.
Behavior and validation
- Time advances explicitly in simulated seconds, independent of wall time. At a timestamp: sample active trends, complete due actions ordered by action ID, then process schedules by priority and ID, then refresh disclosure conditions. Each operation sees prior committed operations at that instant.
- Every phase transition applies exit effects, originating event effects, then entry effects. Newly scheduled events must be strictly later. An operation targeting a canceled event is a recorded no-op. Repeated anchor occurrences have distinct runtime instance IDs.
- Reject cyclic instantaneous effect chains. A run engine must impose documented execution bounds and report a limit failure rather than silently skipping work.
Shared format conventions · All format elements · Download specification
Four clocks, four meanings
| Concept | Reference field | Recorded value |
|---|---|---|
| Scheduled state | Scenario start or specified state | time + timer_start |
| Vital-sign trend | Transition into changed values | 15s default |
| Encouragement | Delayed learner-facing content | 30s default |
| Object result delay | Action requests the object | delay time; no default |