You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[M0-S14] Export stages for the game: stage.json manifest #109
The stage loader (#24) reads the docs/13 stage manifest game/public/assets/stages/<region>/stage.json, but nothing writes it yet. The layer plates and the collision files live under art/stages/, which the game can't fetch at runtime.
Acceptance criteria
python scripts/export_stage.py [regions] writes game/public/assets/stages/<region>/stage.json: chunk ids with grid x/y, and per chunk and state the layer files in draw order with their z and scroll factor, plus the collision file per state
It copies the layer plates and collision files next to the manifest. Shared plates (Rusty Creek's right chunk reuses the left one's) are copied once.
The output is generated, not committed (no 18 MB of byte-identical copies). The standard library is enough, so the game's dev and build scripts can run it.
--verify rebuilds every state from the exported files, in manifest order, and matches the region's composed art pixel for pixel
Rusty Creek (3 chunks × clean/anomaly) and the Hidden Garden (1 chunk) export
Done in #110. That PR was merged into its base branch chore/85-hidden-garden-collision (the stacked merge took only that layer), and reached main with #106 in e0e6ea8. scripts/export_stage.py and both regions' export.json are on main, and the art CI runs export_stage.py --verify.
Activity
arudaev commentedon Oct 23, 2026
Done in #110. That PR was merged into its base branch
chore/85-hidden-garden-collision(the stacked merge took only that layer), and reachedmainwith #106 in e0e6ea8.scripts/export_stage.pyand both regions'export.jsonare on main, and the art CI runsexport_stage.py --verify.