Repository navigation
Conversation
…facing) - fix: node id prefixes split at the wrong underscore, breaking plugin duplicate - fix: surface upload failures, survive insecure contexts, stop mid-drag GPU disposal
|
Here's an orientation pass on #1006. The PR adds a
Best place to start: |
b0a78dd to
a983af0
Compare
a983af0 to
7754101
Compare
7754101 to
767aa97
Compare
767aa97 to
b0ff2f2
Compare
b0ff2f2 to
1a908b0
Compare
1a908b0 to
4c07809
Compare
# Conflicts: # packages/nodes/src/column/panel.tsx # packages/nodes/src/column/renderer.tsx # packages/viewer/src/systems/wall/wall-system.tsx
| position={liveTransform?.position ?? node.position} | ||
| ref={ref} | ||
| rotation={[0, liveTransform?.rotation ?? node.rotation, 0]} | ||
| rotation={[node.tiltX ?? 0, liveTransform?.rotation ?? node.rotation, node.tiltZ ?? 0]} |
There was a problem hiding this comment.
Scripted columns batch before load
High Severity
ColumnRenderer no longer writes userData.scriptedColumn. columnBatchable.settled treats a missing flag as already settled, so scripted columns can enter the static batch before ScriptedOpeningModel sets itemModelSettled on the registered group.
Reviewed by Cursor Bugbot for commit c3cdc86. Configure here.
|
Hi @ovurrsl, checking in on this one. Bugbot still lists unresolved findings on the latest push (4 new, 5 open in total). Could you fix them or reply in the threads? Tilted walls are a very visible change, so please also add a few screenshots or a short screen recording. If we don't hear back in a couple of weeks we'll close it for now, and you're welcome to reopen anytime. |
Conflicts in packages/nodes/src/column/panel.tsx and packages/nodes/src/wall/renderer.tsx are resolved to main's version; the wall renderer's tilt handling is re-applied in the following commit and the column changes leave this PR (they belong to pascalorg#1005). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FX8vGAP5g43AHR1jixUeXr
Drop changes that are not part of slanted walls: tilted columns and the i-beam section (pascalorg#1005), the drag bounding box and guide-image error work (pascalorg#1003), and a .gitignore that had been re-encoded. WallNode.tilt becomes optional, so walls built in code no longer have to spell out tilt: 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FX8vGAP5g43AHR1jixUeXr
The tilt only sheared a group around the wall's children, so the wall mesh and its collision mesh stayed vertical, and makeShear filled the zy slot, which moved y by z instead of z by y. wallTiltShear (viewer) builds the shear once: z += y * tan(tilt). The wall system builds the wall upright, cuts it, then shears the render and collision geometry; cutouts of hosted children are taken back through the inverse shear first. The renderer leans what the wall hosts (treatments, face scripts, doors and windows) with the same matrix. The panel label reads plain "Tilt". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FX8vGAP5g43AHR1jixUeXr
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
There are 3 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ba28559. Configure here.
| geometryAdapter?.buildGeometry?.(node, builtGeo, prepared.renderChildren) ?? builtGeo | ||
| // A tilted wall is built upright (cutouts included) and leaned afterwards. | ||
| const tiltShear = wallTiltShear(node.tilt) | ||
| if (tiltShear) renderedGeo.applyMatrix4(tiltShear) |
There was a problem hiding this comment.
Tilted wall UVs pick the wrong plane
Medium Severity
Shear is baked into wall vertices before applyWorldPlanarWallUVs, so side-face normals gain a Y component. At 45° tilt every wall, and at about 35° on diagonal walls, the dominant-axis test treats those faces as horizontal and projects textures from above.
Reviewed by Cursor Bugbot for commit ba28559. Configure here.
| terrainBottomAt, | ||
| slabSupport.faceDatum, | ||
| ) | ||
| if (tiltShear) collisionGeo.applyMatrix4(tiltShear) |
There was a problem hiding this comment.
Terrain fill leans off the ground
Medium Severity
fillToTerrain samples ground under the upright footprint, then the same Y→Z shear is applied to that below-base mesh. Points with negative Y move opposite the lean, so the underpinning no longer meets the terrain it was built to reach.
Reviewed by Cursor Bugbot for commit ba28559. Configure here.
|
Thanks for the update @ovurrsl, the branch is much cleaner now (the stray patch and portfolio files are gone and it merges with |


What does this PR do?
This PR brings a highly requested architectural capability to the wall generation system: Slanted (Leaning) Walls.
tilt(in radians) to theWallNodeschema, defaulting to 0 for standard vertical walls.wallWorldMatrixand the wall'sMeshtransform. This allows the wall to lean off the vertical Y-axis while keeping its base perfectly planted on theslabElevation.Mesh, any child nodes (doors, windows, wall-mounted items) naturally inherit the sheared transform. ThegenerateExtrudedWalllifecycle leverages this inverse transform, meaning boolean cutouts perfectly follow the wall's new leaning angle without requiring manual math corrections on every window cutout!Angleslider under the Dimensions property panel for walls, allowing precise leaning between -45° and +45°.How to test
Screenshots / screen recording
Not added yet.
Checklist
bun devbun checkto verify)mainbranchCo-Authored-By: AI
Note
Medium Risk
Changes wall geometry rebuild, collision meshes, and CSG cutout transforms; incorrect shear math would misalign openings, but scope is isolated behind
tiltwith tests for the shear helper.Overview
Adds slanted (tilted) walls via a new optional
tiltfield onWallNode(radians; positive leans the top toward local +Z across thickness).Walls are still extruded and CSG-cut upright, then leaned with a shared
wallTiltShearshear (base on the wall line unchanged). That shear is applied to render and collision geometry inWallSystem, and hosted React content (doors/windows, trims, finish scripts) is wrapped in the same matrix in the wall renderer. Opening/item cutouts use the inverse shear so boolean cuts stay aligned with the leaned mesh.The wall Dimensions panel gets a Tilt → Angle slider (±45°) with live preview.
wallTiltShearis exported from the viewer and covered by unit tests.Reviewed by Cursor Bugbot for commit ba28559. Bugbot is set up for automated code reviews on this repo. Configure here.