Skip to content

ui: waveform_view selection edge markers + fill clamp - #610

Merged
InauguralPhysicist merged 1 commit into
mainfrom
waveform-selection-edges
Jul 14, 2026
Merged

ui: waveform_view selection edge markers + fill clamp#610
InauguralPhysicist merged 1 commit into
mainfrom
waveform-selection-edges

Conversation

@InauguralPhysicist

Copy link
Copy Markdown
Collaborator

Driven-QA find (DeslanStudio): Select All read as a dead button — the model selected and the widget repainted, but the selection fill is a faint alpha-30 tint, so a full-range selection is a uniform wash with no visible boundary. Pixel-verified: background went (18,18,26) → (25,34,53) everywhere, which no human perceives without an edge.

  • Selection edges now draw full-strength vertical lines in the widget color (each edge only when inside the visible span).
  • The fill rect is clamped to widget bounds (previously raw sel/zoom arithmetic could paint outside the widget when scrolled/zoomed).

Suite 2931/2931; interaction tests in test_ui.eigs unaffected (render-only change).

🤖 Generated with Claude Code

The selection fill is a deliberately faint alpha-30 tint, so a
selection spanning the whole visible range rendered as a uniform wash
with no boundary — imperceptible. DeslanStudio driven QA: Select All
set the model selection and repainted, but a human could not tell,
so Duplicate/Cut/etc appeared broken ("can't seem to duplicate").

Each selection edge now draws a full-strength vertical line in the
widget color when it lies inside the visible span, and the fill rect
is clamped to widget bounds instead of trusting sel/zoom arithmetic.

Suite: 2931/2931.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@InauguralPhysicist
InauguralPhysicist merged commit 1b56455 into main Jul 14, 2026
17 checks passed
@InauguralPhysicist
InauguralPhysicist deleted the waveform-selection-edges branch July 14, 2026 13:13
InauguralPhysicist added a commit that referenced this pull request Jul 14, 2026
Version bump + CHANGELOG [Unreleased]->[0.31.0] + CLAUDE.md latest-release
line. Batch: bulk audio-I/O kernels (#602/#603), live audio-streaming
primitive (#612, the sustain path behind DeslanStudio musical typing),
waveform_view selection edge markers (#610/#611).

NOTE: doc-drift rule 2 (Latest-release line vs latest tag) only passes once
the release workflow creates the v0.31.0 tag — dispatch after merge.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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