← 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 slotHome→ first slotEnd→ last slotF→ toggle fullscreenC→ toggle chrome visibilityT→ jump to TOCEsc→ exit fullscreen + restore chrome
Composition
- Inside:
<SlideCanvas>wrapping the per-slide play file atsrc/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 composesModeToggle + PageAsDeckWrapper + DeckOverlay--Scroll-UI)
Related
- [[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]]