Skip to content

The empty studio draws seven lanes against six faders, drifting apart #661

Closed

Description

@thcp

Open the app and look at the stack before loading a track. The mixer shows six stems; the waveform column beside it draws seven flat lines, at a different spacing, so a stem's name and the line for its waveform are on different rows by the third one and the last line has no fader at all.

Two causes, both only in this state

The placeholder lane is a hardcoded height: 48px in waves.css, while every mixer row is sized from --lane-h, which is 77px on an empty studio. The two columns run at different pitches from the first row.

There is one placeholder too many. renderPlaceholderTracks builds one per stem plus original, but the mixer hides its original row until a job is loaded: applyStemSelectionFilter is called with STEM_NAMES, and original is not in that set.

Why it survived

Loading a track has always been fine, and the existing lane-alignment.spec.mjs covers that case thoroughly. It is the state before a track exists that nothing was checking, which is also the first thing anyone sees.

Constraints for whoever fixes it

  • --lane-h is the row, and a row is a lane plus its 2px separator, so the lane is the variable less the separator. Anything that redraws a row should derive from that rather than carry its own number.
  • The count has to follow the mixer rather than be a second list, or the two drift again the next time the set of rows changes.

Activity

  1. added
    bugSomething isn't working
    on Sep 22, 2026
  2. self-assigned this
    on Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions