← Corpus / dididecks-ai / sitemap

DeckFrame--Play-UI — Play-UI chrome wrapper around SlideCanvas, plus the keyboard contract

The Play-UI mode's outer frame. Composes <SlideCanvas> with the chrome that surrounds it on the per-slot route — the floating DeckChrome (next/prev/TOC capsule, bottom-right) and the document-level keyboard listener (← / → / PageUp / PageDown / Home / End / F fullscreen / C chrome toggle / Esc). Mounts inside `/play/[deck]/[variant]/[slot]/`. The Scroll-UI sibling is `PageAsDeckWrapper` (since the shell consolidation in this engagement) — kept as a paired pattern so the two modes have visually + behaviorally parallel chrome at run-time.

Path
sitemap/components/DeckFrame--Play-UI.md
Authors
Michael Staton

DeckFrame—Play-UI

Purpose

The Play-UI chrome that surrounds a single slot’s SlideCanvas. Renders the floating DeckChrome capsule at bottom-right + attaches the document keyboard listener.

Keyboard contract (preserved verbatim from v0.1 PlayChrome)

  • / PageUp / Shift+Space → prev slot
  • / PageDown / Space → next slot
  • Home → first slot
  • End → last slot
  • F → toggle fullscreen
  • C → toggle chrome visibility
  • T → jump to TOC
  • Esc → exit fullscreen + restore chrome

Composition

  • Inside: <SlideCanvas> wrapping the per-slide play file at src/components/slides/{variant}/{slot}-{slug}.astro
  • Floating: <DeckChrome> capsule (the calmstorm-elegant chrome, themable via --ddd-chrome-* tokens)

Status

  • ✅ Shipped — used by every play-slot route
  • Symmetric pair: Scroll-UI now consolidates the equivalent chrome into ScrollDeckPage (which composes ModeToggle + PageAsDeckWrapper + DeckOverlay--Scroll-UI)
  • [[SlideCanvas]] — the 16:9 stage component this frames
  • [[DeckChrome]] — the floating capsule this hosts
  • [[DeckOverlay—Play-UI]] — the layered overlay (SlideRankPill, etc.) above SlideCanvas
  • [[ScrollDeckPage]] — the Scroll-UI sibling (single shell overlay for scroll decks)
  • [[../routes/play-slot]]
  • [[../../plans/Phase-A-Plus-In-Deck-Ranking-Shared-Nav-and-Play-Runtime]]