Context. surface studio · domain isis · route /studio/isis/live-preview · auth signed-in + studio entitlement (NOT AAA-gated) · source apps/oshun/web/src/app/studio/isis/live-preview/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 for the preview-frame scheduler. The operator submits a
schedule request as JSON; the scheduler plans which preview frames to emit during
a generation run and reports the emitted steps, the max inter-frame gap, and
progress. Reads and plans via /v1/admin/isis/live-preview; admin-scoped and
fail-closed.
Entry points#
- Sibling quick-action from
/studio/isis/florence-2 - Studio index (
/studio) - Direct URL / bookmark
Layout regions#
page.tsx mounts <ShellLayout active="studio"> (no breadcrumb panel) and three
panels: the workspace, the Route Map, and sibling quick-actions.
- Header: shell header
- Workspace panel (
data-isis-live-preview-workspace):<h1>(WorkspaceHeading) "Isis Live Preview Workspace"- Summary paragraph (
data-isis-live-preview-summary) - Live Preview Frame Scheduler lane (
data-psl-lane,<h2 data-psl-heading>Live Preview Frame Scheduler</h2>): a JSON schedule form (data-psl-form) + result (data-psl-result) withdata-psl-headline,data-psl-emitted,data-psl-max-gap,data-psl-progress, and per-frame rows (data-psl-previews,data-psl-preview-row,data-psl-step,data-psl-gap)
- Route Map panel (
data-isis-live-preview-route-map):<h2>Route Map</h2>over the route map (5 entries) - Sibling quick-actions panel:
/studio/isis/florence-2,/studio
States#
- Loading —
data-psl-loading - Unauthorized — 401/403 admin-scope fail-closed;
data-psl-unauthorized - Error — non-OK / malformed;
data-psl-error - Ready (form) — schedule form renders
- Result —
data-psl-resultafter planning; plan failure →data-psl-plan-error
Interactions#
Schedule form (data-psl-form)#
- Preview schedule (JSON) (
data-psl-payload, textarea,aria-label="preview schedule json") - Plan schedule (
data-psl-submit, submit) —POST /v1/admin/isis/live-preview/plan-schedule
Route Map#
- Route-map articles ×5
Sibling quick-actions#
- Open Isis Florence-2 workspace →
/studio/isis/florence-2 - Back to Studio workspace index →
/studio
Data & contracts#
- Reads:
GET /v1/admin/isis/live-preview(scheduler catalog probe) - Writes:
POST /v1/admin/isis/live-preview/plan-schedule(plan preview frame emission) - Realtime: none
- Caching: client fetch on mount,
cache: 'no-store',buildBffAuthHeaders() - Auth/role check: admin-scoped, fail-closed (401/403); route signed-in + studio entitlement (not AAA-gated)
- Component sources:
apps/oshun/web/src/components/studio/StudioIsisLivePreviewWorkspace.tsxapps/oshun/web/src/components/studio/StudioIsisLivePreviewRouteMap.ts
Cross-references#
- Studio overview:
../../studio-overview.md - Sibling routes:
Open questions / known gaps#
- No breadcrumb on this route — navigation via sibling quick-actions
- Route-map sub-paths are declared but not yet implemented as separate pages