Production Console · visionOS 27 · Native + RealityKit
Six weekly sprints from re-baseline to TestFlight. Nine scenes, one shape-shifting narrator, five part-time specialists — and a hard rule: at least one task closes every single day.
One increment per weekly sprint. Each bar counts closed leaf tasks — subtasks included.
How far each scene and shared system has moved across its involved disciplines.
The open tasks nearest the front of the queue. Close at least one of these today.
We restart from a clean project. All previously built work is audited by John personally before anything is carried over. Nothing enters the new project unreviewed.
The team is part-time and mixed, so the unit of progress is the closed task, not the hour. Every working day at least one task (or subtask) moves to done — the log records it automatically. A day with zero closes is an escalation.
All RCP sequences are authored against a scratch voice-over recorded in sprint 1. Final VO must be locked by Sep 17; sprint 5 includes a full retiming pass. Sequences carry timing markers so the swap is mechanical, not creative.
From the end of sprint 2, the full experience S0→S8 must run start to finish on device with placeholders. Every scene lands into a working spine — never in isolation. Polish continues during the TestFlight period.
Any task bigger than about a day gets subtasks (⋯ menu → add subtask). A parent's status is never set by hand — it derives from its children. Progress counts leaves, so every subtask closed moves the needle.
Who's carrying what. Defaults to the current sprint — switch sprint or filter to one person; your person choice is remembered on this device.
Every task in the production, grouped by type. Click a checkbox to cycle planned → in progress → done; use a task's ⋯ menu to move it between sprints, rename it, add subtasks, flag it blocked, or delete it. Changes sync to the whole team.
Each sprint's board is grouped by type; the count in the header tallies closed leaves.
The experience broken into its nine scenes plus the shared systems that power them. Click any cell chip to cycle its status — this matrix is the single source of truth for "where are we".
| Scene | Target | RCP / Sequencing | Swift / Systems | 3D Art | Motion / Graphics | Sound |
|---|
Each milestone has a hard exit criterion, verified in a full run-through on device. Click a milestone's chip to cycle planned → active → done → at-risk.
Reviewed every Friday. A risk with no mitigation progress for a week gets escalated to high.
All source material is secured. What remains is conversion into device-ready formats — tracked as real tasks in the backlog.
Newest first. Task closes are logged automatically — this is the drumbeat's paper trail.
/api/state (Cloudflare Pages Function + KV) when deployed; on a plain static host or local file it falls back to this-browser-only storage — the badge in the header tells you which mode you're in. The initial plan ships in js/data.js and seeds the shared board on first load.