feat(wall): add endHeightOffset for sloped top edge - #640
Open
vducasse wants to merge 1 commit into
Open
Conversation
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 17, 2026 10:33
cf8f12c to
7200ea6
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 17, 2026 11:07
7200ea6 to
8910206
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 17, 2026 11:29
8910206 to
6a53abd
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 17, 2026 11:43
6a53abd to
f250e10
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 17, 2026 12:15
f250e10 to
d2b2045
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 17, 2026 12:48
d2b2045 to
a51d552
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
3 times, most recently
from
August 18, 2026 08:31
8cedc3a to
bda880e
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 08:46
bda880e to
4eb816b
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 09:18
4eb816b to
ad47f23
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 09:41
ad47f23 to
54271c8
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 09:59
54271c8 to
b595d2c
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 10:37
b595d2c to
b95898c
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 11:06
b95898c to
0819b93
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 11:27
0819b93 to
4a67a86
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 12:04
4a67a86 to
81790a5
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 12:21
81790a5 to
e48a086
Compare
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 12:36
e48a086 to
e7b4a53
Compare
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 e7b4a53. Configure here.
- **Schema & Core Systems**:
- Add endHeightOffset property to WallNode schema with default 0.
- Update resolveWallTop and resolveWallOpeningCeiling to support
parametric height sampling along sloped top edges.
- Update getWallFaceBandConfig and getWallFaceBandForHeight to
scale with maximum sloped wall height.
- Update spatial grid synchronization, space detection, and level
height calculations for sloped walls.
- **3D Geometry & Viewer Systems**:
- Add applyWallEndHeightSlope in wall-system to evaluate planar slope
continuously across miter extensions without creases.
- Update getWallBandSplitPlanes to split horizontal face bands across
the full sloped wall envelope.
- Update treatments to clamp slope offsets against minimum height,
omit trims on low walls, and make cutouts slope-aware.
- **Openings & Floorplan Tools**:
- Update door and window ceiling clearance math, floorplan move
handlers, and 3D move tools to respect sloped wall height.
- Fix resolveWallRole in paint to resolve face bands by elevation Y,
ensuring 1:1 parity with 3D mesh horizontal band splits.
- Update 3D opening head clearance guides to sample minimum ceiling
across the opening width.
- Update elevation guides, measurement features with chord-projected
t for curved walls, side move handles, and snap beacons.
vducasse
force-pushed
the
feat/wall-end-height
branch
from
August 18, 2026 13:42
e7b4a53 to
16d9557
Compare
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 does this PR do?
Adds an
endHeightOffsetproperty to theWallNodeschema to allow wall extremities to have different heights (e.g., for creating a knee wall following a single-pitch roof slope). This adds an "End height offset" slider to the wall properties panel and updates the geometry generation to apply the slope along the top edge of the wall.How to test
End height offsetslider.Screenshots / screen recording
Checklist
bun devbun checkto verify)mainbranchNote
Medium Risk
Wide changes to wall height resolution, mesh generation, and door/window placement constraints; regressions could affect opening fit, trims, and spatial collision on sloped walls, but scope is modeling/editor logic rather than security or persistence.
Overview
Introduces
endHeightOffseton walls so the top edge can slope from start to end (knee walls / single-pitch roofs), with an End height offset control in the wall panel.Core behavior:
resolveWallTop/ effective height now accept an optional parametrictalong the wall; the viewer tilts extruded wall tops and adjusts crown trim, face bands, and band splits for the taller end. Room/level height and space-detection ceilings consider both ends of sloped boundary walls.Openings & placement: Doors and windows sample the host wall ceiling at multiple
tvalues (span corners and center), tighten resize limits (readHostWallCeilingMaxWidth), and extendclampToWallwith afitsflag that slides along the wall when the sloped ceiling would clip the opening; move/place/commit paths reject invalid fits unless Alt force-place. Opening guides and wall-item placement use the minimum height over the item’s along-wall span.Editor & sync: Measurement guides, side handles, elevation guides, and wall-top snap highlights follow per-
theights; spatial grid sync refreshes on height/slope/support field changes and wall placement checks use sampled heights at the item’strange.Reviewed by Cursor Bugbot for commit 16d9557. Bugbot is set up for automated code reviews on this repo. Configure here.