Live engine playground — the real update rule, running in your browser

This is a small DEMO SLICE of the engine, built for this playground — 3 fast states, 1 relationship, 5 actions, demo-paced constants. It mirrors the full engine's update rule and topology idioms, but it is not the full model (no drives/seeking, no multi-agent router, no full cast, no calibrated values).

One NPC. A handful of internal state variables — integrators that accumulate and decay. You are “you” in its world. Poke it. Nothing below is scripted: every visible action is a threshold crossing in the same kind of dynamics that run the full engine.

Persona (same dials, different settings)

Do something (events from you)

The world

Run

Guided scenarios (scripted inputs, live dynamics)

😐
…idle

Fast states (reset by sleep)

Slow state — the relationship with you (survives sleep)

History anger stress resentment→you

Causal trace (why each action fired)

Border-case verification — run pending…

These run headlessly on the same pure step function the page animates. If any fails, the playground refuses to pretend: a banner appears and the page resets.

Scope, stated plainly: this playground embeds a deliberately small slice of the engine — 3 fast states, 1 relationship, 5 actions, demo-paced constants — so you can see every cause. The full engine adds more states, per-person relationships across a whole cast, drives and seeking, sleep/night dynamics, input filters, and a multi-agent router; its constants come from calibration, not hand-tuning. What IS the same here: the update-rule shape, the threshold-crossing selection, and the determinism — the same clicks at the same ticks always produce the same life.