This proposal covers pipeline steps 2 and 4 — packaging concerns (Define the game package; Attach assets & theme). Today the manifest, assets, operator copy, and jurisdiction state required to assemble a complete game package live in separate tabs inside GameWorkspace.tsx, with no unified view of what remains outstanding for sandbox access versus full handoff. This stub captures the problem, sketches one wireframe, and lists the open questions that must be resolved before a full proposal can be written.
The workspace for a game build in apps/web/src/components/builder/GameWorkspace.tsx exposes manifest metadata, asset uploads, and reviewer notes as three separate tabs — Manifest, Assets, and Reviewer Notes — with no aggregate signal about what is still missing. A builder who wants to know whether the game is ready for sandbox access must click between tabs and mentally tally what is complete, what is absent, and what is blocked on a third party (e.g. jurisdiction approval).
The mock data in apps/web/src/lib/builderMockData.ts tracks submissionState strings per build, but there is no UI that translates these strings into a gate-by-gate checklist or distinguishes between items required for sandbox access and items required only at handoff. A builder advancing from step 2 to step 4 — from defining the package to attaching assets — has no single view that shows their progress across both steps simultaneously.
The workspace gains a Package Checklist panel — a checklist grouped by gate family (Manifest, Assets, Copy & localisation, Jurisdictions) with two gate columns: Sandbox (required before a playable is generated) and Handoff (required before the build can be promoted to an operator or certification body).
| File | Change |
|---|---|
apps/web/src/components/builder/GameWorkspace.tsx |
Add a Package Checklist panel alongside (or replacing) the existing Manifest / Assets / Reviewer Notes tab set; the panel aggregates state from all three tabs into a single gate-family checklist view with sandbox vs handoff columns. |
apps/web/src/lib/builderMockData.ts |
The submissionState string and the versions arrays must be extended (or supplemented) with per-item gate status so the checklist can accurately reflect which items are complete, missing, or blocked — rather than deriving state from a single top-level string. |
Today a builder navigates between three separate tabs to mentally reconstruct package completeness; after this proposal they have a single checklist surface that makes sandbox readiness and handoff readiness immediately visible, with the sandbox CTA gated directly on checklist completion so the relationship between assembling the package and generating a playable is explicit.
GameWorkspace.tsx renders upload slots independently of any gate model. The proposal needs to decide whether uploads write directly to checklist item state, or whether a separate validation step confirms an uploaded file meets the required spec (dimensions, format, file size) before marking the item done.Once the open questions above are resolved, the checklist gate model can be specced in full. The next proposal in this reading order is Proposal 04 · Launch Lab, which covers pipeline step 6 (Generate playable sandbox): composing the sandbox session, selecting scenario parameters, and generating the signed-URL playable that the Package Checklist's sandbox CTA feeds into.