|
| 1 | +# PR_26146_020 MIDI Studio V2 Signal-Style Note Table Validation |
| 2 | + |
| 3 | +## Scope |
| 4 | +- Replaced the dense MIDI Studio V2 multi-instrument grid body with a Signal-style note table. |
| 5 | +- Kept the first column as `Instrument`, followed by timing/note columns aligned by bar and beat. |
| 6 | +- Moved section labels and normalized stats/warnings outside the note table body while preserving diagnostics outside the table. |
| 7 | +- Updated the explicit example/test song to Twinkle Twinkle Little Star with Chords, Bass, Pad, Lead, and Drums rows. |
| 8 | +- Preserved Load Example And Play, Stop All Audio, Preview Synth playback, playhead alignment, mute/solo row controls, note editing, generated lanes, MIDI inspection, and honest export status behavior. |
| 9 | +- No SoundFont playback, rendered export implementation, MIDI input/recording, inline script/style blocks, or inline event handlers were added. |
| 10 | + |
| 11 | +## Changed Files |
| 12 | +- `tools/midi-studio-v2/js/MidiStudioV2App.js` |
| 13 | +- `tools/midi-studio-v2/js/controls/InstrumentGridControl.js` |
| 14 | +- `tools/midi-studio-v2/index.html` |
| 15 | +- `tools/midi-studio-v2/styles/midiStudioV2.css` |
| 16 | +- `tests/playwright/tools/MidiStudioV2.spec.mjs` |
| 17 | +- `docs/dev/reports/PR_26146_020-midi-studio-v2-signal-style-note-table_validation.md` |
| 18 | +- `docs/dev/reports/codex_review.diff` |
| 19 | +- `docs/dev/reports/codex_changed_files.txt` |
| 20 | +- `docs/dev/reports/playwright_v8_coverage_report.txt` |
| 21 | +- `docs/dev/reports/coverage_changed_js_guardrail.txt` |
| 22 | +- `docs/dev/codex_commands.md` |
| 23 | +- `docs/dev/commit_comment.txt` |
| 24 | + |
| 25 | +## Validation |
| 26 | +- PASS: `node --check tools/midi-studio-v2/js/controls/InstrumentGridControl.js` |
| 27 | +- PASS: `node --check tools/midi-studio-v2/js/MidiStudioV2App.js` |
| 28 | +- PASS: `node --check tests/playwright/tools/MidiStudioV2.spec.mjs` |
| 29 | +- PASS: external HTML guard checked `tools/midi-studio-v2/index.html`; only external script references were found and no inline style/event handlers were added. |
| 30 | +- PASS: `npx.cmd playwright test tests/playwright/tools/MidiStudioV2.spec.mjs --grep "Twinkle|loads example and starts audible|edits spreadsheet|applies Preview Synth"` |
| 31 | + - Result: 4 passed. |
| 32 | +- PASS: `npx.cmd playwright test tests/playwright/tools/MidiStudioV2.spec.mjs --grep "renders an aligned|reports grid note"` |
| 33 | + - Result: 2 passed after replacing stale old-grid section-label assertions with summary-area checks. |
| 34 | +- PASS: `npx.cmd playwright test tests/playwright/tools/MidiStudioV2.spec.mjs` |
| 35 | + - Result: 37 passed. |
| 36 | +- PASS: `git diff --check` |
| 37 | +- PASS: `git diff --check HEAD~1 HEAD` |
| 38 | + |
| 39 | +## Coverage Reports |
| 40 | +- Updated `docs/dev/reports/playwright_v8_coverage_report.txt`. |
| 41 | +- Updated `docs/dev/reports/coverage_changed_js_guardrail.txt`. |
| 42 | +- Guardrail status: advisory PASS, no changed runtime JS coverage warnings. |
| 43 | + |
| 44 | +## Environment Notes |
| 45 | +- Chromium was missing from the repo-local Playwright browser cache, so Chromium was installed under `node_modules/.cache/ms-playwright` for validation. |
| 46 | +- The repo-local Playwright browser cache was removed after validation. |
| 47 | + |
| 48 | +## Skips |
| 49 | +- Full samples smoke test: SKIPPED per request. |
| 50 | +- Workspace Manager V2 registration/handoff: SKIPPED because this PR did not touch Workspace V2 registration or handoff. |
| 51 | + |
| 52 | +## ZIP |
| 53 | +- Repo-structured delta ZIP: `tmp/PR_26146_020-midi-studio-v2-signal-style-note-table_delta.zip` |
0 commit comments