V1 Web PWA · Surface walkthrough

Studio Hathor · Narrative

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/narrative · auth signed-in + studio entitlement · source apps/oshun/web/src/app/studio/hathor/narrative/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#

Aggregator that unifies the Hathor narrative lane consoles — quest authoring, dialogue tree authoring, story graph authoring, and narrative export — under one route, fronted by a Capability Summary. It owns no /v1 fetch of its own; each embedded lane runs its own surface.

Entry points#

  • Quick-action link from /studio/hathor/quest-authoring and breadcrumb parent (verify against that page's source)
  • Direct URL / bookmark — yes; alternates.canonical set to /studio/hathor/narrative
  • Studio overview — see ../../studio-overview.md

Layout regions#

page.tsx renders inside <ShellLayout active="studio">:

  • Breadcrumb panel (data-hathor-narrative-breadcrumbs) — <nav> ol: Studio (link) / Hathor Quest Authoring (link) / Narrative (current)
  • Workspace <StudioHathorNarrativeWorkspace /> (data-hathor-narrative-workspace):
    • WorkspaceHeading <h1> — "Hathor Narrative Workspace"
    • Summary <p data-hathor-narrative-summary>
    • Capability Summary panel (data-hathor-narrative-capability-summary, <h2> "Capability Summary") listing HATHOR_NARRATIVE_CAPABILITIES (data-hathor-narrative-capability)
    • Four embedded lanes, each a <section> with an <h2> and a WorkspaceSection:
      • Quest Authoring Lane (data-hathor-narrative-quest-lane) → <StudioHathorQuestAuthoringWorkspace />
      • Dialogue Tree Authoring Lane (data-hathor-narrative-dialogue-lane) → <StudioHathorDialogueTreeAuthoringWorkspace />
      • Story Graph Authoring Lane (data-hathor-narrative-story-graph-lane) → <StudioHathorStoryGraphAuthoringWorkspace />
      • Narrative Export Lane (data-hathor-narrative-export-lane) → <StudioHathorNarrativeExportWorkspace />
  • Route Map panel data-hathor-narrative-route-map<h2> "Route Map" listing the 6 STUDIO_HATHOR_NARRATIVE_ROUTE_MAP entries
  • Quick-action lane — five Link.quickAction anchors: Quest Authoring, Dialogue Tree Authoring, Story Graph Authoring, Narrative Export, 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#

  • Route entries — verify match with STUDIO_HATHOR_NARRATIVE_ROUTE_MAP (6 entries)

Quick-action lane#

  • "Open Hathor Quest Authoring workspace"/studio/hathor/quest-authoring
  • "Open Hathor Dialogue Tree Authoring workspace"/studio/hathor/dialogue-tree-authoring
  • "Open Hathor Story Graph Authoring workspace"/studio/hathor/story-graph-authoring
  • "Open Hathor Narrative Export workspace"/studio/hathor/narrative-export
  • "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 embedded Story Graph Authoring lane is still the older dense expert-mode template (see its per-lane doc); its presence inside this aggregator inherits that scaffolding.