Skip to content

feat(editor): Tracks-view regions become glass banners with the notes tucked below the title - #349

Merged
ChrisBeWithYou merged 1 commit into
mainfrom
region-glass-banner
Jul 22, 2026
Merged

feat(editor): Tracks-view regions become glass banners with the notes tucked below the title#349
ChrisBeWithYou merged 1 commit into
mainfrom
region-glass-banner

Conversation

@ChrisBeWithYou

Copy link
Copy Markdown
Contributor

What & why

Christian asked to rework how the Tracks-view region containers look — the old
hairline+spine blocks blended into the lane and read weakly. After a couple of
render passes (A–D, then an A×C hybrid set), the pick was a glass banner:
keep the airy top-lit glass fill so the note silhouette stays the dominant read,
but give each region a proper titled band — and crucially, inset the notes
below the band
so they no longer run up under the header line.

What changed

Render-only change to the Tracks (Parts) overview:

  • Each region draws a translucent kind-colour title band (blue master / teal
    stem / green guitar / orange bass / purple drums / ice keys) over a top-lit
    glass fill that fades to almost nothing, with a rounded border that accents
    and glows when selected.
  • The note silhouette / audio waveform is inset below the band, so notes
    never cross the header line.
  • The region name is vertically centred in the band so descenders (p, y, g)
    stay inside it.
  • Short lanes (< ~23px) degrade to a bare colour spine — the band never
    crushes the content.

Geometry, hit-testing, bar-snap drag and the drop ghost are untouched. The one
new bit of logic — the banner-height clamp _regionBannerH — lives with the
other region-layout pures in src/region.js and is pinned by a unit test.

Testing

  • npm test — 304 pass (the 2 pre-existing failures, song_fit and
    mixer_meter_teardown, fail identically on main; unrelated to this change).
  • npm run lint — 0 errors.
  • New: tests/region_banner.test.mjs (banner-height clamp / short-lane guard;
    fails on main where _regionBannerH doesn't exist).
  • Runtime-verified by serving this branch through the real host and opening
    the Tracks view on a real pack (AC/DC – Back In Black): banners, centred names,
    notes-below-the-header, kind colours, selection glow, and bounded regions all
    render correctly.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@ChrisBeWithYou, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 8 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: bfcc34b9-4375-4c80-abbb-808b51e197a0

📥 Commits

Reviewing files that changed from the base of the PR and between 021730a and cc8df38.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • src/parts-view.js
  • src/region.js
  • tests/region_banner.test.mjs
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch region-glass-banner

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

… tucked below the title

A region block now reads as a titled object: a translucent kind-colour
title band over a top-lit glass fill that fades to almost nothing, with a
rounded border that accents + glows on selection. The note silhouette /
waveform is inset below the band so notes never cross the header line, and
the region name is vertically centred in the band so descenders stay inside
it. Short lanes (< ~23px) degrade to a bare colour spine so the band never
crushes the content. Geometry, hit-testing, drag/snap and the drop ghost are
unchanged — render-only in src/parts-view.js, with the new _regionBannerH
clamp pure added to src/region.js and pinned by tests/region_banner.test.mjs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q3nTpCYNZWLoS7iawjDKN4
Signed-off-by: ChrisBeWithYou <chris@rifflarr.local>
@ChrisBeWithYou
ChrisBeWithYou merged commit 1d8cfec into main Jul 22, 2026
4 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.

1 participant