fix(viewer): stack levels per building#519
Merged
Merged
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 592bd21. Configure here.
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.

Fixes #511.
What changed
LevelSystemand the temporary true-position snap used by exports and thumbnailsWhy
LevelSystempreviously sorted every registered level together and used one global cumulative Y offset. A second building's ground floor therefore started above the first building instead of on its own ground plane. The export/thumbnail helper duplicated the same global-stack behavior.Thanks @archicorp46-debug for the precise report and reproduction.
Verification
bun test packages/viewer/src/systems/level/level-stacking.test.tsbun run --filter @pascal-app/viewer buildbun checkbun check-typesNote
Medium Risk
Changes core 3D level positioning for all scenes; behavior is well-tested for multi-building and legacy orphans but wrong building resolution could mis-stack levels visually.
Overview
Fixes multi-building scenes where every level was stacked on one global Y ladder, so a second building’s ground floor appeared above the first.
The PR adds
level-stackinghelpers:getLevelBuildingId(building parent or legacy children lookup) andgetLevelStackPositions(cumulative height perbuildingId, with orphan levels sharing onenullstack).LevelSystemandsnapLevelsToTruePositionsinlevel-utilsnow build the same entries and read Y from that map instead of a single walk over all levels. Bun tests cover single-building order, independent ground planes per building, and orphan legacy stacking.Reviewed by Cursor Bugbot for commit 40e6a71. Bugbot is set up for automated code reviews on this repo. Configure here.