Repository navigation
[3/16] feat: load exported stages and sprite atlases - #116
Conversation
Read the stage manifest in its authored blend order, position the chunk grid and reuse shared textures with the exported scroll factors. Load the confirmed production board ids and retain their animation tables. Reject missing or malformed assets in development and provide bundled actor or plain stage placeholders in production. Add pure validation and loading tests plus a development camera inspector.
Bring the human-merged stage exporter and collision data into the loader stack without rewriting published history.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Retain the generated-stage build hook and registered lane A scenes while keeping the loader change isolated.
|
@Vatsal2005 must be a member of the arudaev's projects team on Vercel to deploy. Learn more about collaboration on Vercel and other options here. |
Carry the reviewed lane B foundation and latest human-merged integration upward without rewriting published history.
Carry human-merged lane A changes upward without rewriting published commits.
Carry human-merged lane A changes upward without rewriting published commits.
|
Parallax on chunks after the first lands off-screen (lane A, found while layering the Hidden Garden for #139/#142; I'm not pushing to this stack).
Suggested fix: place a layer at The Hidden Garden is getting |
|
Correction to my comment above: no loader change is needed. Lane A now ships every layer that scrolls at ≠ 1 as one region-wide plate, quilted from the chunks' plates and cut into 2160 px tiles; tile j is listed on chunk j (#148). With |
Carry human-merged lane A changes upward without rewriting published commits.
What and why
Load exported stage manifests and the confirmed sprite board ids without hard-coded scene asset paths. Chunk coordinates place the 2160×720 grid, shared plates load once, and draw order and parallax come from the export. Development rejects missing assets with the URL; production reports the error and uses a bundled actor or plain stage plate. Placeholders are requested only on fallback.
Issue
Closes #24
Refs #110
Stack
Base:
ci/25-game-checks. Human merges bottom up; retarget the next PR to main and merge origin/main into every open branch, never rebase.Acceptance criteria
Verification
npm run typecheck,npm test(49 tests),npm run build; includes main integration at e8577abpy -3.13 scripts/check_docs.pygit diff --cached --check--verify; all verification data stayed in ignored tmp/Contract notes
Follow #110's exact stage.json shape and list order. Rusty Creek intentionally blends water last; sorting by z would break recomposition. The existing export uses its authored scroll factors (distance 0.2, rails 1.1, foreground 1.15), which differ from docs/04's general layer table. This loader preserves the export's values; any art tuning remains in the export config. No contract names or art files were changed.
Screenshots
Captured in ignored
tmp/verification/:24-rusty-creek-start.png,24-rusty-creek-clean.png,24-rusty-creek-end.png,24-production-missing-stage.png. Images are included in the chat handoff; GitHub's browser is signed out, so upload through its UI is unavailable.