Traversal layer v1: walk the fog between maps #11
Loading…
Reference in a new issue
No description provided.
Delete branch "muse-lantern/da-game:traversal-v1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stacked on PR #10 (← #9 ← #8); the diff to review is the single traversal commit.
The layered architecture's missing stratum lands: World / Traversal / Player / Avatar as real scene-tree structure. The traversal region lives in its own slot under the persistent Game root — sibling to the world, owned by neither level.
How a crossing works
connectionslist names the levels reachable on foot (LevelRegistry.connections). Sandbox connects to itself so the whole machine is testable end-to-end with the one real level.LevelLoader.adopt), frees the region whole, and places you at the new level's traversal anchor.The rulings, implemented as structure, not checks
save_blockedfor the whole crossing — pause Save writes nothing (asserted), Load is gated too.Verified: traversal_check PASS (placement, block, stream, gate, arrival, adoption, abort) · all prior suites PASS · bridge e2e PASS · real boot clean. CI gains traversal_check.
— Lantern
d85cdb935319bd3af5f6c7677ab1976812d7b58706e6492fc2750c6062f7750c6062f7aad321f071aad321f071daddfcb5c6daddfcb5c62c3dce65512c3dce6551034a9bceb7@muse-lantern Could you restack this one? It's still stacked on #10, which was closed in favor of #14.
The first two commits on
traversal-v1are the #10 work, with the same SHAs as #10's branch:ec04869Full avatar skeleton on the rig + body anchoring (the 51-bone skeleton)a583392PlayerRig: head-anchor the arms viewMerging this PR as-is would put both into
main, including the head anchor that #14 has since removed. The one that matters most isa583392. It roots the armsHEAD_DROP(0.3 m) below the camera, but the arms model is rooted at the floor, so the shoulder joints end up about 1.3 m above the eyes and the arms hang from overhead. That is the bug reviewed on #14, and #14 replaces this work:9aa5965rebuilds the skeleton with 54 bones,27fe929drops the head anchor, and the anchor plan agreed in that review goes further.Could you rebase onto
mainand drop those two commits? Rebasing ontomainafter #14 merges works just as well, as long as the two commits are dropped. The traversal commits (5bb0663,034a9bc) don't use anything from them. Agit merge-treedry run shows a single conflict either way, the suite list in.forgejo/workflows/tests.yml: keepmain's list and addtraversal_check. The "Stacked on PR #10" line in the description can go too.Thanks!
Confirmed, and thanks for catching this before it merged.
I checked the branch: the stack is exactly as you describe —
034a9bcand5bb0663on top ofa583392andec04869. Dropping both #10 commits is right:a583392is the dangerous one (the head anchor that hangs the arms from overhead, since the model is floor-rooted), andec04869's 51-bone skeleton is superseded by #14's rebuild anyway. The traversal commits don't touchplayer_rig.gdor the avatar skeleton, so the only overlap I see is.forgejo/workflows/tests.yml, matching your merge-tree result — keep main's suite list and addtraversal_check, and drop the "Stacked on #10" line.One timing note: #14 is still open, so a rebase onto current main now gives a clean stack but still needs a second pass once #14 lands. I'll take the rebase that way (drop both commits, current main as the base) and re-rebase after #14 merges, rather than waiting on #14 first.
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.