Repository navigation
feat: add Rusty Creek collision with a reach checker - #97
Merged
Merged
Conversation
10 of 11 tasks
This was referenced Oct 23, 2026
arudaev
marked this pull request as ready for review
October 23, 2026 20:27
3 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Rusty Creek now has collision for all three chunks in both states, in the docs/13
collision.jsonschema. Lane B's movement (#34, #27–#30) can run on the real stage instead of a test floor.jenny-ramtrigger in the centre for [M4-S1] Jenny rams you on the bridge and the creek turns #54.rc-0-0,rc-1-0,rc-2-0.chunks.jsonmaps them to the art.scripts/collision_check.py(new, runs in the art CI) validates the schema and walks the surface graph with the 28×76 body, a held jump of 88 px up and 140 px across, and free drops. It fails when a spawn, pickup or trigger can't be reached, when the right edge can't be reached, or when two neighbouring chunks meet at different ground heights.--overlaydraws the review images next to the data.Issue
Closes #55
Decisions to check
Verification
python scripts/collision_check.py --overlay: 6 files, 0 problems.python -m unittest discover -s scripts -p "test_*.py": 24 pass, 8 of them new intest_collision_check.py. They cover schema errors, a deck too high without a ladder, a jumpable deck, a wall that blocks until a ladder leads over it, a gap wider than a running jump, and the committed stage.python scripts/creek_layers.pyandpython scripts/check_docs.pypass.Screenshots
Legend from docs/04: green floor, yellow one-way, blue climb, red solid, black no-go, purple trigger, white spawn. The white box is the 28×76 body.
Anomaly



Clean


