Hsmmaelstrom -
– False Eye State: Idle? The system reports Idle . But internally, threads spin. Memory churns. The event dispatcher dreams of signals that were never sent. A transition taken in a dream writes to a real variable. The maelstrom has learned to simulate calm.
State: Runaway. All hierarchical containment fails. A state in one region calls changeState on a sibling region, which triggers an ancestor’s entry action, which spawns a temporary orthogonal region, which immediately receives a deferred event from three cycles ago. The stack of active state configurations becomes a tangled tree. Depth-first search for the current state loops.
Recursive Gyre
The HSMMaelstrom begins where all clean hierarchies end: at the edge of a state that refuses to settle.
State: Processing. An unexpected event arrives — not an error, just unlikely . The guard condition frays. The machine forks. Two regions of the orthogonal HSM wake simultaneously. They send signals across the boundary without a handshake. A transition is taken before the exit action completes. HSMMaelstrom
State: Conflict. The history state remembers a path that no longer exists. A deep child broadcasts an event upward, but the parent is already mid-transition. The event queues overflow. Priorities invert. A pseudostate meant for choice becomes a sink. The run-to-completion step never finishes — because the step itself spawns new steps.
At the center, a single line of log output, printed once per million cycles: "State entry action returned OK. Next event: (null)." – False Eye State: Idle
And below it, in silent comment: // TODO: add exit action before destruction.
State: Idle. Events queue in neat rows. Transitions are labeled, guarded, deterministic. A parent state smiles down at its children. "Stay within the boundary," it says. The children nod. Memory churns
– none. The HSMMaelstrom does not crash. It recursively deepens. Every attempted reset initializes a new layer beneath the current chaos, leaving the old one to rotate forever as a shadow state.