StopTrigger of Storyboard evaluated before InitActions are executed in first step
The simulation stops unexpectedly for users, when they create StopTriggers for the storyboard, which check for the default values of classes, e.g. entitiy speed = 0. This is because the initActions are executed after the StopTrigger is evaluated in the first step. The OSC standard defines it to be the other way round:
"The lifecycle of a StoryboardElement instance includes five states. initState and endState are implementation-specific and represent the creation (initState) and the cleanup (endState) of a StoryboardElement. [overall: initState->standbyState->runningState->completeState->endState]
The init section of a scenario defines actions to set entity states or global states providing initialization to a simulation. These actions are handled in the init phase prior to the execution of the StoryboardElement instances.
The Storyboard enters runningState when the simulation starts, as shown in Figure 45. ... A Storyboard only transfers to completeState with a stopTransition when its stop trigger is executed. "
We have to switch the order in the first step of the engine to:
- tick InitActions
- evaluate StopTrigger
- tick Stories
For the following steps the current order is fine and can stay as it is:
- evaluate Stoptrigger
- tick InitActions
- tick Stories
@rparisha2 We need suuport with the adjustment of the StoryboardNode and/ or TriggerableCompositeNode