-
feat(surface): the column migrator, proven on bombe_dj — 5 knobs onto their own columns · fdde0924
PLN: "lets do the bombe dj first to confirm". One track, end to end, so the tool and the grid are both proven before the other twelve. d3 ^52 C4 -> ^31 B3 legato d4 ^17 A5 -> ^32 B4 midiOff (slow 4) d4 ^53 C5 -> ^52 C4 crushbus 41 d5 ^34 B6 -> ^33 B5 octerbus 52 d5 ^54 C6 -> ^53 C5 crushbus 51 It also cleaned up a collision I had introduced myself twenty minutes earlier: 0538eb97 moved bombe_dj's d9 onto ^17, but d4 was ALREADY using ^17, so between the two commits that one knob drove both orbits. Caught by running --plan before --apply rather than trusting the previous step. The lesson is the tool's design rule, not a footnote: build the whole permutation, then look at it, then write. == THREE DESIGN DECISIONS THAT ARE THE WHOLE TOOL == 1. THE PERMUTATION IS APPLIED SIMULTANEOUSLY. Costed one move at a time, the setlist showed 34 "destination already taken" clashes. Every one was phantom: the corpus is uniformly off by one column, so each orbit's knob wants the slot of the orbit below it, occupied only until THAT one also moves. Build the full map, rewrite in a single pass, and the clashes evaporate. Applying moves sequentially would have corrupted the files. Real collisions across the whole setlist: zero. 2. THE REWRITE IS SCOPED PER ORBIT, never file-wide. Two orbits can legitimately share a CC today — desire.tidal had ^19 driving both d7 and d9 — and they migrate to DIFFERENT destinations. A file-wide search-and-replace would send both to one place and silently fuse two gestures into one. So the substitution walks orbit by orbit with only that orbit's map. 3. COMMENTS ARE NEVER REWRITTEN. A commented-out ^NN is an ALTERNATIVE PLN may re-enable mid-set. Renumbering it would quietly rewire that alternative to a different orbit's knob, and the breakage would surface weeks later with no trace of a cause. Hands off by construction: faders 77-84 and knobs 13-16 (Ardour-learned — the CC77-to-silence footgun), the 8 BootTidal helper CCs, and all buttons (41-44/57-60/73-76/89-92 — gates and mutes are phase 2, and retraining a gate is more disruptive than retraining a knob). == AND A FIX TO THE VERIFICATION LENS, WHICH MATTERED MORE THAN IT LOOKS == After applying, surface-columns still reported "11 moves" for bombe_dj. Nothing was wrong: it counts BUTTON refs too, and buttons are deliberately out of phase-1 scope. But a gate that reports deliberately-deferred work as a failure is a gate you learn to ignore — and that is precisely how a real regression gets through. Added --knobs, which narrows the grid itself so every downstream number speaks about phase 1 only. Same discipline as feedback_parsers_over_copy: the measurement must measure what was actually done. == VERIFIED == pvlint 1 track, 0 errors, 0 warnings silent-eval --seeded every declared orbit still emits events, cold surface-columns --knobs 0 renumbers remaining (was 5) Remaining for bombe_dj, on purpose: d9's second effect (^19) still wants gSel (FIXME already in the file from 0538eb97), and the button rows are phase 2.PLN (Algolia) authoredfdde0924
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| industry | Loading commit data... | |
| trn | Loading commit data... | |
| around_the_bass.tidal | Loading commit data... | |
| belle_pluie.tidal | Loading commit data... | |
| bombe_dj.tidal | Loading commit data... | |
| ca_fait_rien.tidal | Loading commit data... | |
| coconut_coffee.tidal | Loading commit data... | |
| electric_hammer.tidal | Loading commit data... | |
| ere_de_jeu.tidal | Loading commit data... | |
| ete_a_mauerpark.tidal | Loading commit data... | |
| law_and_order.tidal | Loading commit data... | |
| love_of_techno.tidal | Loading commit data... | |
| panda_rouge.tidal | Loading commit data... | |
| prelude.tidal | Loading commit data... | |
| techno_oligarchie.tidal | Loading commit data... | |
| techno_orage.tidal | Loading commit data... | |
| techno_pretre.tidal | Loading commit data... | |
| the_good_bass.tidal | Loading commit data... | |
| tour_du_ciel.tidal | Loading commit data... |