Skip to content

feat(web): complete clip editor beatmaking parity#5

Merged
txbrown merged 5 commits into
mainfrom
ricardo/yon-301-web-beatmaking-parity-piano-roll
Jul 10, 2026
Merged

feat(web): complete clip editor beatmaking parity#5
txbrown merged 5 commits into
mainfrom
ricardo/yon-301-web-beatmaking-parity-piano-roll

Conversation

@txbrown

@txbrown txbrown commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Web users can now edit clips and perform on-screen instruments without stuck notes or reduced piano-roll controls. The piano roll supports adding, deleting, moving, and resizing notes with live previews, while shared interaction math keeps native behavior unchanged.

What changed

  • Extracted note hit-testing, move, resize, and tap calculations into shared piano-roll math used by native and web.
  • Added mouse and touch pointer editing to the web grid, including immediate mouse drags, a 250 ms touch hold, pointer capture, resize handles, and original-position ghosts.
  • Balanced pad and QWERTY press/release lifecycles across pointer exit, capture loss, browser blur, visibility changes, and unmount.
  • Preserved pad ownership when multiple pointers share a cell and isolated piano-roll editing to one pointer at a time.
  • Bounded add, move, and resize operations to the clip while deriving pitch movement from the note rather than expanded hit padding.
  • Added labeled keyboard add/move/pitch/resize/delete paths for accessibility and automation.
  • Strengthened beat and measure separators without changing the clip editor layout.
  • Added focused interaction, input lifecycle, shared-math, and snapshot coverage.
  • Refreshed stale account snapshots and formatting that were already blocking the full CI suite.

Validation

  • Full Circuit UI suite passes: 265 tests, 1 todo, and 37 snapshots.
  • Circuit UI workspace and build TypeScript checks pass.
  • Changed-file ESLint passes.
  • Expo web export passes through the consuming app.
  • Browser QA confirmed pad release plus piano-roll add, delete, move, resize, and preview behavior.

Physical touch-device verification remains required before merge because the 250 ms hold gesture changes interaction feel.


Compound Engineering

@txbrown txbrown merged commit 618deb2 into main Jul 10, 2026
4 checks passed
@txbrown txbrown deleted the ricardo/yon-301-web-beatmaking-parity-piano-roll branch July 10, 2026 14:47
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.

1 participant