Skip to content

fix(ui): fit chain tiles to the lane width (#84) - #141

Open
Herb1972 wants to merge 1 commit into
tone-3000:mainfrom
Herb1972:fit-chain-tiles
Open

Herb1972 wants to merge 1 commit into
tone-3000:mainfrom
Herb1972:fit-chain-tiles

Conversation

@Herb1972

Copy link
Copy Markdown

Summary

At the full 224 px only three tiles fit the plugin's width, so a 5–6 block rig lives behind a hidden scrollbar and a wheel-only pan (#84).

The lane now measures its scroller and shrinks the tiles until the widest row fits: capped at the mono/stereo base size, floored at 128 px, and past the floor the ordinary scroll takes over. Branched layouts count the branch lane's indent, the stereo pan rail follows the live tile size, and the slot count comes from native state so a drag never resizes the row mid-gesture.

No new UI element, no new setting; everything above three blocks simply becomes visible.

Before / after (mono, five slots):

before
after

Test plan

  • DSP: N/A (no audio/chain/state change)
  • UI: cd ui && npm run lint && npm run build
  • Host validators: N/A (ui/ only)
  • Host smoke: Linux standalone at 1x and resized; mono with 5–6 slots, stereo with and without a branch, drag-reorder and ⌥-duplicate while the row is at the floor size.

Developed with AI assistance (Claude); I reviewed every line, built and tested it on Linux Mint 22 / PipeWire.

Compatibility

  • AU parameter version hints in Processor.cpp are not reused or renumbered
  • LV2 URI and CLAP ID in plugin/CMakeLists.txt are unchanged
  • State format is unchanged
  • README / plugin/docs/: no change needed

🤖 Generated with Claude Code

At the full 224 px only three tiles fit the plugin's width, so a 5-6
block rig lived behind a hidden scrollbar and a wheel-only pan. The
lane now measures its scroller (ResizeObserver, design px) and shrinks
the tiles until the widest row fits, capped at the mono/stereo base
size and floored at 128 px; past the floor the ordinary scroll takes
over. Branched layouts count the branch lane's indent, the stereo pan
rail follows the live tile size, and the slot count comes from native
state so a drag never resizes the row mid-gesture.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 6d71c4017f5955216f5b438046c674ee5c078b17)

This branch has not been deployed

No deployments
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