Context. surface studio · domain yemaya · route /studio/yemaya/world-and-location-design · auth signed-in + studio entitlement · source apps/oshun/web/src/app/studio/yemaya/world-and-location-design/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#
Admin lane console wired to the @yemaya/project-obsidian
ObsidianWorldbuilding universe bible — inspect a chosen subsystem of the
Project Obsidian setting (universe foundation, historical timeline, factions,
locations, economic/political systems, technology, culture). The operations lane
is wired over /v1/admin/yemaya/world-and-location-design; access is
admin-scoped and fail-closed.
Entry points#
- No breadcrumb panel on this page.
- Reachable from sibling Yemaya routes that quick-action here (e.g.,
character-design-system,blender-integration). - Direct URL / bookmark (signed-in + studio entitlement).
Layout regions#
page.tsx renders ShellLayout active="studio" and:
- Workspace panel (
StudioYemayaWorldAndLocationDesignWorkspace,data-yemaya-world-and-location-design-workspace):<h1>(WorkspaceHeading) "Yemaya World and Location Design Workspace".- Summary paragraph (
data-yemaya-world-and-location-design-summary). - Worldbuilding Operations Lane (
data-yemaya-wd-lane-heading,<h2>): the catalog-loaded form (data-yemaya-wd-form).
- Route Map panel (
data-yemaya-world-and-location-design-route-map):<h2>"Route Map" + five entries fromSTUDIO_YEMAYA_WORLD_AND_LOCATION_DESIGN_ROUTE_MAP. - Quick-action panel: two
quickActionlinks.
States#
- Loading —
data-yemaya-wd-loading"Loading worldbuilding engine…" until the GET catalog resolves. - Unauthorized —
data-yemaya-wd-unauthorized"Access restricted." on a 401/403 (Yemaya admin scope required). - Error —
data-yemaya-wd-error"Could not load the worldbuilding engine." on a non-OK / malformed catalog response. - Ready (form) — engine summary (
data-yemaya-wd-engine-summary) + the system-select form render once the catalog loads. - Result —
data-yemaya-wd-resultwith the inspected system headline (data-yemaya-wd-headline) + its detail; submit-side validation surfaces indata-yemaya-wd-resolve-error.
Interactions#
Worldbuilding Operations Lane#
- "Worldbuilding system" —
<select data-yemaya-wd-system>populated from the catalog's systems (foundation, timeline, factions, locations, economic / political systems, technology, culture). - "Inspect system" —
<button data-yemaya-wd-submit>; submitting POSTs the chosen system to/v1/admin/yemaya/world-and-location-design/systemand renders that subsystem of the Project Obsidian bible.
Route map#
data-yemaya-world-and-location-design-route-map — five non-interactive entries:
-
/studio/yemaya/world-and-location-design— primary workspace -
/studio/yemaya/world-and-location-design/worlds/[worldId] -
/studio/yemaya/world-and-location-design/locations/[locationId] -
/studio/yemaya/world-and-location-design/revisions/[revisionId] -
/studio/yemaya/world-and-location-design/governance/[policyId]
Quick actions#
- "Open Yemaya Character Design System workspace" →
/studio/yemaya/character-design-system. - "Back to Studio workspace index" →
/studio.
Data & contracts#
- Reads:
GET /v1/admin/yemaya/world-and-location-design(catalog: summary + worldbuilding systems) on mount. - Writes:
POST /v1/admin/yemaya/world-and-location-design/system(system → inspected subsystem detail). - Realtime: none.
- Caching: client
fetchon mount withcache: 'no-store';buildBffAuthHeaders(). - Auth/role check: admin-scoped, fail-closed (401/403 → unauthorized state); signed-in + studio entitlement enforced by the proxy/middleware.
Cross-references#
- Studio overview:
studio-overview.md - Workspace source:
apps/oshun/web/src/components/studio/StudioYemayaWorldAndLocationDesignWorkspace.tsx - Route map source:
apps/oshun/web/src/components/studio/StudioYemayaWorldAndLocationDesignRouteMap.ts - Feature spec:
V1/features.md
Open questions / known gaps#
- The route-map dynamic children (worlds / locations / revisions / governance)
are sitemap-only — confirm whether any are backed by
page.tsxfiles yet.