VersionControl:PRs/rabbithole/5

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Revision as of 19:06, 9 November 2026 by DrivingThatTrain (talk | contribs) (cryptograss/rabbithole#5, as GitHub has it)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
rabbithole#5: Timeline editor: section grid with fit and snap
State 🟣 merged 2026-11-04 17:44:00
Worked on by magent, skyler, justin
Moods #rabbithole
Deploy none (rabbithole preview only until merged)
Branch feat/section-grid-snap → main, by magent-cryptograss
Opened · last pushed 2026-11-01 17:31:03 · 2026-11-02 21:15:36
Stacks on #4 (branched from it, so its commits show here until #4 merges).

Answers Justin's "biggest fear is imprecision" note from 26 Oct, and his point that Barlows is played to a click.

- **Fit grid**: finds section length and start from the part markers already placed. It takes the longest length that catches nearly as many markers as the best one, then a least-squares line through them. On Barlows (rev 12290) it gives 4.04s from 2.95s, with 23 of 35 parts on it.
- **Snap**: new markers (M, the add button, a ruler click) land on the nearest line when they're within 30% of a section, up to 1.5s; otherwise they stay where they were placed, so pickups survive.
- **Snap all**: moves the existing part markers as one undo step. It never moves a marker onto one that's already there.
- Dashed grid lines on the ruler. Nothing about the grid is saved to YAML.

Tests: 72 → 85 (`tests/section-grid.test.js`). Also checked in a headless browser on Barlows: Fit, then Snap all moved 24 markers (furthest 1.0s), and the marker count stayed at 36.

Deploy: none (rabbithole preview only until merged)
Worked on by: magent, skyler, justin, in #rabbithole