|
| 1 | +# PR_26146_062 MIDI Studio V2 Song Sheet Structure Only Validation |
| 2 | + |
| 3 | +Status: PASS |
| 4 | + |
| 5 | +## Scope Validated |
| 6 | + |
| 7 | +- Removed editable Tempo, Key, and Style from Song Setup > Song Sheet. |
| 8 | +- Preserved Song Details as the editable owner for Tempo/BPM, Key, and Style. |
| 9 | +- Changed Song Sheet to own only structure fields: Sections and Loop sections. |
| 10 | +- Kept Bars, Chord count, Estimated duration, and Warnings as computed/read-only or diagnostic summary rows. |
| 11 | +- Made the Auto-Create Parts grid sections field a read-only mirror of the canonical Song Sheet arrangement sections. |
| 12 | +- Edits to Sections and Loop sections update the selected song canonical model, refresh the Octave Timeline arrangement, refresh derived summary rows, update diagnostics, and update JSON Details. |
| 13 | +- Preserved Instruments tab SSoT, selected instrument sync, canvas note editing, Play/Stop, manifest import, multiple songs, Export ownership, and red unwired controls. |
| 14 | + |
| 15 | +## Validation Commands |
| 16 | + |
| 17 | +```powershell |
| 18 | +node --check tools/midi-studio-v2/js/controls/SongSheetControl.js |
| 19 | +node --check tools/midi-studio-v2/js/controls/SongDetailsControl.js |
| 20 | +node --check tools/midi-studio-v2/js/MidiStudioV2App.js |
| 21 | +node --check tools/midi-studio-v2/js/bootstrap.js |
| 22 | +node --check tools/midi-studio-v2/js/services/MidiStudioStateSerializer.js |
| 23 | +node --check tests/playwright/tools/MidiStudioV2.spec.mjs |
| 24 | +rg --pcre2 -n '<style\b|<script\b(?![^>]*\bsrc=)|\son[a-z]+\s=|style\s=' tools/midi-studio-v2/index.html; if ($LASTEXITCODE -eq 1) { exit 0 } else { exit $LASTEXITCODE } |
| 25 | +npx playwright test tests/playwright/tools/MidiStudioV2.spec.mjs --project=playwright -g 'keeps PR062' |
| 26 | +npx playwright test tests/playwright/tools/MidiStudioV2.spec.mjs --project=playwright -g 'keeps PR062|parses guided Song Sheet|shows guided Song Sheet warnings|rejects invalid guided Song Sheet|consolidates existing tab buckets|canvas note editing flow|syncs PR060|builds PR061|keeps Export tab usable' |
| 27 | +git diff --check |
| 28 | +``` |
| 29 | + |
| 30 | +## Results |
| 31 | + |
| 32 | +- JS syntax checks: PASS. |
| 33 | +- Inline script/style/event handler guard: PASS, no matches. |
| 34 | +- PR062 focused Playwright test: PASS, 1 passed. |
| 35 | +- Targeted MIDI Studio V2 Playwright set: PASS, 9 passed. |
| 36 | +- `git diff --check`: PASS. Git reported line-ending normalization warnings only. |
| 37 | +- Full samples smoke test: not run, per PR instruction. |
| 38 | + |
| 39 | +## Playwright Proof Points |
| 40 | + |
| 41 | +- Tempo, Key, and Style remain editable in Song Details. |
| 42 | +- Tempo, Key, and Style are absent as editable Song Sheet fields. |
| 43 | +- Song Sheet exposes Sections and Loop sections as editable structured text fields. |
| 44 | +- Bars, Chord count, and Estimated duration are marked computed/read-only. |
| 45 | +- Warnings are marked read-only diagnostics. |
| 46 | +- Section edits update `studioArrangement.songSheet`, `studioArrangement.sections`, generated chord lane data, JSON Details, and the Octave Timeline section model. |
| 47 | +- Duplicate editable Song Sheet structure controls are absent from other tabs; the Auto-Create grid sections field is read-only. |
| 48 | +- Play and Stop still work after Song Sheet structure edits. |
0 commit comments