V1 Web PWA · Surface walkthrough

Studio Hathor · Simulation

A per-surface walkthrough of the V1 Web PWA studio surface: layout, states, interactions, data, and cross-references.

walked
8sections3 minread

On this page

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.canonical set 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") listing HATHOR_SIMULATION_CAPABILITIES (data-hathor-simulation-capability)
    • Four embedded lanes, each a <section> with an <h2> and a WorkspaceSection:
      • 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 />
  • Route Map panel data-hathor-simulation-route-map<h2> "Hathor Simulation cluster — IA contract"; a role-tagged list from STUDIO_HATHOR_SIMULATION_ROUTE_MAP (7 entries): the aggregator (/studio/hathor/simulation, "you are here") plus 6 sibling-lane entries (economy-simulation, politics-simulation, culture-evolution-simulation, simulation-worker, simulation-physics, simulation-state-persistence)
  • Quick-action lane — seven Link.quickAction anchors: 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.

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#

Open questions / known gaps#

  • Hathor is unconfirmed-v1 per WALKTHROUGH/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.