Skip to content

fix(nodes): wall split and rectangle feedback from the first QA round - #906

Merged
wass08 merged 1 commit into
pascalorg:mainfrom
AxiomeCG:fix/wall-lifecycle-feedback
Sep 23, 2026
Merged

wass08 merged 1 commit into
pascalorg:mainfrom
AxiomeCG:fix/wall-lifecycle-feedback

Conversation

@AxiomeCG

@AxiomeCG AxiomeCG commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Follow-up to #902 with the fixes from its first QA round, which landed a minute after the squash merge.

  • One wheel notch is one cut. The split's cut count stepped every 60 px of wheel travel, and a notched wheel on macOS (e.g. an MX Master in ratchet mode) reports only a few pixels per notch, so it took three or four notches to change the count. A wheel event that follows an 80 ms pause now steps at once, and line-mode events always do. A continuous trackpad stream still steps by travel (packages/nodes/src/wall/split-pointer.ts).
  • Split and merge make a sound. Committing a split, and a merge, plays the wall-placement sound (sfx:structure-build).
  • The rectangle draft ticks like the line draft. Moving the second corner plays sfx:grid-snap once per snapped position, and the first corner plays the line tool's start sound, in 3D and in 2D.
  • The wall tool keeps its last shape. Leaving the wall tool used to reset Shape to Line; re-arming it after drawing rectangles now resumes Rectangle (for the session).

How to test

  1. bun dev, select a wall, click Split (scissors). Scroll with a notched mouse wheel: each notch changes the cut count by one. A trackpad swipe still changes it smoothly by distance.
  2. Click to commit the split: the wall-placement sound plays. Select the two halves and Merge: same sound.
  3. Wall tool, press R (Shape: Rectangle), click the first corner (start sound), then move the mouse: a tick at each new snapped point, as in line mode. Check in 3D and in the 2D plan.
  4. With Shape: Rectangle, switch to select mode, then pick the wall tool again: it comes back in Rectangle.
  5. bun test in packages/nodes (new tests cover notched-wheel and trackpad stepping), bun check.

Screenshots / screen recording

Mostly feel and sound; a short recording of the notched wheel and the rectangle ticks will be added by the author if useful.

Checklist

  • I've tested this locally with bun dev
  • My code follows the existing code style (run bun check to verify)
  • I've updated relevant documentation (if applicable)
  • This PR targets the main branch

🤖 Generated with Claude Code

https://claude.ai/code/session_017sG15rKXusC8rbBg6gjSRm


Note

Low Risk
Localized UX changes to wall tools, pointer wheel handling, and optional SFX with no auth, data, or core scene-model changes beyond existing split/merge paths.

Overview
QA follow-up for wall split, merge, rectangle drafting, and line/rectangle shape memory.

Wall split scroll now treats each notched-wheel tick as one cut (gesture gap + line-mode deltas), while continuous trackpad scrolling still steps by accumulated travel. Tests cover notched wheels and trackpad streams.

Audio feedback adds sfx:structure-build on split commit and wall merge, and aligns rectangle drafting with the line tool: start sound on the first corner and sfx:grid-snap when the opposite corner moves to a new snapped position (3D and floor plan).

Shape mode no longer resets to Line when the wall tool unmounts; re-selecting the wall tool keeps Rectangle (or Line) for the session.

Reviewed by Cursor Bugbot for commit 9ef12de. Bugbot is set up for automated code reviews on this repo. Configure here.

- One wheel notch is one cut. The cut count used to step every 60 px of
  wheel travel, and a notched wheel on macOS reports a few pixels per notch,
  so it took three or four notches. A wheel event after an 80 ms pause now
  steps at once (line-mode events always do); a continuous trackpad stream
  still steps by travel.
- Committing a split, and a merge, plays the wall-placement sound.
- The rectangle draft ticks like the line draft: once per snapped corner
  move, and the line tool's start sound on the first corner, in 3D and 2D.
- The wall tool keeps its last shape: re-arming it after rectangle mode
  resumes rectangle instead of resetting to line.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017sG15rKXusC8rbBg6gjSRm
@pascal

pascal Bot commented Sep 22, 2026

Copy link
Copy Markdown

I hit an error while handling your request (Model unavailable on AI Gateway free tier: Free tier users do not have access to this model. Upgrade to paid credits at https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%3Fmodal%3Dtop-up for unrestricted…).

Please try again, rephrase, or reach out if it keeps failing.

Error id: 224b8401-8ca4-4298-89fa-5ea50e7fcba2

@wass08
wass08 merged commit ad41588 into pascalorg:main Sep 23, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants