Context. surface studio · domain hathor · route /studio/hathor/simulation · auth signed-in + studio entitlement · source apps/oshun/web/src/app/studio/hathor/simulation/page.tsx
Last walked. 2026-05-29 automated runtime walk (Playwright headless) — render, /v1 data (2xx), console/page-errors, expected content, screenshot verified; live screen-reader, touch, offline, and telemetry-delivery checks pending a manual AT pass. Evidence: WALKTHROUGH/results/runtime-sweep-2026-05-29.md; body re-derived 2026-06-03 from current source (lane-console architecture)
Purpose#
Canonical aggregator for the Hathor simulation cluster. It fronts a Capability
Summary and four embedded simulation lanes (economy, politics, culture
evolution, simulation worker), and its IA-contract route map links the remaining
flat-sibling lanes (simulation-physics, simulation-state-persistence). It owns no
/v1 fetch of its own.
Entry points#
- Quick-action link from the sibling simulation lanes (e.g.
/studio/hathor/simulation-physics— "Back to Hathor Simulation aggregator") - Direct URL / bookmark — yes;
alternates.canonicalset to/studio/hathor/simulation - Studio overview — see
../../studio-overview.md
Layout regions#
page.tsx renders inside <ShellLayout active="studio">:
- Breadcrumb panel (
data-hathor-simulation-breadcrumbs) —<nav>ol: Studio (link) / Hathor / Simulation (aggregator, current) - Workspace
<StudioHathorSimulationWorkspace />(data-hathor-simulation-workspace):WorkspaceHeading<h1>— "Hathor Simulation Workspace"- Summary
<p data-hathor-simulation-summary> - Capability Summary panel (
data-hathor-simulation-capability-summary,<h2>"Capability Summary") listingHATHOR_SIMULATION_CAPABILITIES(data-hathor-simulation-capability) - Four embedded lanes, each a
<section>with an<h2>and aWorkspaceSection:- Economy Simulation Lane (
data-hathor-simulation-economy-lane) →<StudioHathorEconomySimulationWorkspace /> - Politics Simulation Lane (
data-hathor-simulation-politics-lane) →<StudioHathorPoliticsSimulationWorkspace /> - Culture Evolution Simulation Lane
(
data-hathor-simulation-culture-lane) →<StudioHathorCultureEvolutionSimulationWorkspace /> - Simulation Worker Lane (
data-hathor-simulation-worker-lane) →<StudioHathorSimulationWorkerWorkspace />
- Economy Simulation Lane (
- Route Map panel
data-hathor-simulation-route-map—<h2>"Hathor Simulation cluster — IA contract"; a role-tagged list fromSTUDIO_HATHOR_SIMULATION_ROUTE_MAP(7 entries): theaggregator(/studio/hathor/simulation, "you are here") plus 6sibling-laneentries (economy-simulation, politics-simulation, culture-evolution-simulation, simulation-worker, simulation-physics, simulation-state-persistence) - Quick-action lane — seven
Link.quickActionanchors: Economy Simulation, Politics Simulation, Culture Evolution Simulation, Simulation Worker, Simulation Physics, Simulation State Persistence, Back to Studio workspace index
States#
States are owned by each embedded lane; the aggregator itself has no fetch.
- Economy Simulation Lane — see
./studio-hathor-economy-simulation.md - Politics Simulation Lane — see
./studio-hathor-politics-simulation.md - Culture Evolution Simulation Lane — see
./studio-hathor-culture-evolution-simulation.md - Simulation Worker Lane — see
./studio-hathor-simulation-worker.md
Interactions#
Embedded lanes#
- Each lane's own controls — walk per the per-lane doc
Route Map panel#
- Role-tagged entries — verify aggregator / sibling-lane roles against
STUDIO_HATHOR_SIMULATION_ROUTE_MAP(7 entries)
Quick-action lane#
- "Open Hathor Economy Simulation workspace" →
/studio/hathor/economy-simulation - "Open Hathor Politics Simulation workspace" →
/studio/hathor/politics-simulation - "Open Hathor Culture Evolution Simulation workspace" →
/studio/hathor/culture-evolution-simulation - "Open Hathor Simulation Worker workspace" →
/studio/hathor/simulation-worker - "Open Hathor Simulation Physics workspace" →
/studio/hathor/simulation-physics - "Open Hathor Simulation State Persistence workspace" →
/studio/hathor/simulation-state-persistence - "Back to Studio workspace index" →
/studio
Data & contracts#
- Reads / Writes: none at the aggregator level — delegated to the four embedded lane workspaces
- Realtime: none
- Caching: each embedded lane manages its own fetch lifecycle
- Auth/role check: per embedded lane; route gated signed-in + studio by the BFF proxy
Cross-references#
- Parent:
../../studio-overview.md - Shell:
../../../shell/04-auth-session.md - Sibling lanes:
./studio-hathor-simulation-physics.md,./studio-hathor-simulation-worker.md,./studio-hathor-simulation-state-persistence.md,./studio-hathor-economy-simulation.md,./studio-hathor-politics-simulation.md,./studio-hathor-culture-evolution-simulation.md - Component sources:
apps/oshun/web/src/components/studio/StudioHathorSimulationWorkspace.tsxapps/oshun/web/src/components/studio/StudioHathorSimulationRouteMap.ts
Open questions / known gaps#
- Hathor is
unconfirmed-v1perWALKTHROUGH/matrix/routes.csv. Confirm whether the dedicated/studio/hathor/routes ship at V1 or are internal-only. - The aggregator embeds four lanes but the route map and quick-actions cover six siblings (physics and state-persistence are flat siblings, not embedded). Confirm this split is intentional.