Documentation / simulate
The Simulate side (reference)
Operator console controls, Studio sections, and run mechanics.
Simulate is where a persona gets stress-tested as a player at a wargame table. Scenarios are authored in Studio and driven from the operator console. Counterfactual branches let you explore alternative timelines without losing the main run.
#Studio sections
Studio is where you author and edit scenarios before running them. Open it from any scenario card via the Studio button, or from the Start from blank card. Six sections appear in the left panel:
- Overview. Scenario title, description, and total tick count.
- Actors. Who plays. Name, description, and starting capital for each actor.
- Personas. The briefing markdown each actor carries into the game. Import from your library or paste directly. Snapshots on import; does not stay linked to the library entry.
- Resolver. Segment definitions, market sizes, margins, and starting allocations. The resolver turns submitted actions into resource outcomes.
- External events. Scheduled exogenous shocks: which tick they fire, what they do, and which actors they affect.
- Validate. Runs a smoke-test before you commit to a run. Catches dangling references such as an actor pointing at a deleted resource.
All edits are saved as a draft on top of the original scenario. The original TypeScript files are not touched. You can revert to the original at any time.
#Console controls
The controls bar sits at the bottom of the operator console during a run.
- Play. Advances ticks automatically, one every few seconds.
- Step. Advances one tick and pauses.
- Pause. Stops autoplay without losing progress.
- Rewind. Steps back one tick. Does not delete the forward history.
- Fork. Creates a counterfactual branch from the current tick. The current tick and everything before it are copied across. From here the two branches diverge.
- Inject. Schedules an external event at a future tick. Pick the tick, the event kind, and the parameters.
- Override.Directly changes an actor’s resource balance at the current tick. Use this to model a shock you did not anticipate when authoring the scenario.
- Compare. Switches to the branch-comparison view. Available after you have forked.
- Export. Opens the export modal. Available after at least one tick has resolved.
All buttons are conditionally enabled by game state. Hover any greyed-out button and a tooltip explains why it is disabled.
#Stage vs Cockpit vs Compare
Three views of a run. Press Tab to switch between Stage and Cockpit. Enter Compare from the Compare button once you have forked. An indicator in the header shows which view is active.
- Stage.The default view. Actor cards in a grid. Shows the current tick, each actor’s resource balance, and the last move summary. Best for watching a run unfold in real time.
- Cockpit.A denser analytical view. Shows the full game state alongside the reasoning trace: a tick-grouped record of every actor’s submission. Best for reviewing what happened after the fact or reading agent reasoning.
- Compare. The branch-comparison view. Available once you have two or more branches from a fork. Shows two branches side by side at the same tick so you can read the divergence. Best for counterfactual analysis.
#The tick rail
The tick rail runs across the top of the console. Each resolved tick is a dot; the current tick is highlighted. Click any dot to jump to that tick without losing the surrounding history. You can also use the Rewind button in the controls bar to step back one tick at a time.
Ticks are labelled according to the scenario (Q1 to Q6 for quarterly scenarios, T+1 onwards for generic ones). If you have forked, branch labels appear below the tick dots. The Compare view aligns two rails at the same tick position so divergence is easy to read.
#Inspector, Notes, and Intel panels
Three side panels open on the right of the console. They are independent: each has its own toggle, and any combination can be open at once.
- Inspector. Toggled by the Inspectorbutton in the controls bar. Shows each actor’s balance of the primary resource at the current tick, the events that resolved at this tick, and branch information: which branch you are on and, for a fork, where it branched from.
- Notes. Toggled by the Notes button in the controls bar. A timestamped scratchpad. Each note is anchored to the current tick and, optionally, to a specific actor. Notes are included in the export bundle.
- Intel.Available when you view the run as a specific actor. Switch to an actor’s point of view and a Show intelbutton appears in the banner. The panel shows that actor’s intel for the tick, plus a visibility summary: which actors’ resources, submissions, and events they can see. For scenarios that use an incomplete-information mechanic; otherwise there is nothing to show.
To read an agent’s reasoning, switch to the Cockpit view rather than the Inspector. The Cockpit carries the reasoning trace.
#What the export bundle contains
Clicking Export then Render and download produces a zip file named wargame-<scenario>-<timestamp>.zip. It contains:
report.md: the full report as markdown. Cover, executive headline, the run across all branches, and findings. Each claim in the report is checked against the event log before the bundle renders, so the findings cite the events they rest on.cover.md: a one-page skim sheet, the cover and executive headline only.report.html: a styled, self-contained HTML render of the full report. Open in any browser.replay.html: a self-contained interactive replay. All data is embedded in the file. No server required. You can share it with anyone who has a browser.audit-appendix.md: the complete event log with provenance. Every action, resolution, resource change, override, and external event across all ticks and branches.report.pdf: produced when headless Chrome is available on the server. If Chrome is not present the PDF is skipped and the rest of the bundle still ships.
The bundle covers every branch. If you forked twice, all three branches appear in the report and the audit appendix.