You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
node -e "const fs=require('fs'); for (const file of ['tools/midi-studio-v2/styles/midiStudioV2.css']) { const text=fs.readFileSync(file,'utf8'); let depth=0; for (const ch of text) { if (ch==='{') depth++; if (ch==='}') depth--; if (depth<0) throw new Error(file+': unexpected }'); } if (depth!==0) throw new Error(file+': unbalanced braces'); console.log(file+': CSS brace check OK'); }"
37
+
npx.cmd playwright test tests/playwright/tools/MidiStudioV2.spec.mjs -g "octave timeline freezes compact headers and note labels while active cells stay textless|fast octave note editing supports drag painting keyboard shortcuts selection and timeline scroll sync|renders timing ruler, section navigation, and loop region visualization" --config=codex_playwright_system_chrome.config.cjs --reporter=list --workers=1 --timeout=60000
38
+
git diff --check
39
+
```
40
+
41
+
Playwright result:
42
+
43
+
```text
44
+
Running 3 tests using 1 worker
45
+
46
+
ok 1 MIDI Studio V2 - fast octave note editing supports drag painting keyboard shortcuts selection and timeline scroll sync
47
+
ok 2 MIDI Studio V2 - octave timeline freezes compact headers and note labels while active cells stay textless
48
+
ok 3 MIDI Studio V2 - renders timing ruler, section navigation, and loop region visualization
49
+
50
+
3 passed
51
+
```
52
+
53
+
Notes:
54
+
55
+
-`git diff --check` exited 0. Git emitted line-ending warnings for touched files; no whitespace errors were reported.
56
+
- Full samples smoke test was not run.
57
+
58
+
## Test Evidence
59
+
60
+
- Right-aligned keys: Playwright verifies white keys remain full-width and black keys have `right: 0`.
61
+
- Black-key inset: Playwright verifies the black key is narrower than the white key and has unused left space.
62
+
- White bed behind black keys: Playwright verifies the black-key row bed background matches the white-key background.
63
+
- Text readability/alignment: Playwright verifies white and black note letters are visible, use readable colors, and black-key text sits inside the right-aligned black-key surface.
64
+
- Frozen horizontal behavior: Playwright scrolls horizontally and verifies the keyboard axis remains visible while header/body columns stay aligned.
65
+
- Row alignment: Playwright verifies keyboard label rows and timeline cells remain aligned within 1px.
66
+
- Active note cells: Playwright toggles a note and verifies the cell text is empty while highlight metadata and the visual marker remain present.
67
+
- Play and Stop: targeted Playwright verifies Play enables Stop and Stop re-enables Play.
68
+
69
+
## Coverage
70
+
71
+
- No browser runtime JavaScript files changed in this PR.
72
+
-`docs/dev/reports/playwright_v8_coverage_report.txt` was still generated by the targeted MIDI Studio V2 Playwright run.
73
+
- Coverage is advisory for this CSS/test-only PR.
74
+
75
+
## Samples
76
+
77
+
Full samples smoke test: SKIP.
78
+
79
+
Reason: PR scope is limited to MIDI Studio V2 piano-key styling and targeted Playwright coverage; sample JSON alignment and full samples smoke are explicitly out of scope.
80
+
81
+
## Manual UAT
82
+
83
+
1. Open MIDI Studio V2 and import the UAT manifest.
84
+
2. Confirm the Studio tab Octave Timeline keyboard column has full-width white keys and right-aligned inset black keys.
85
+
3. Confirm the area left of each black key looks like the white-key bed.
86
+
4. Scroll horizontally and vertically, edit a few notes, then confirm Play and Stop still work.
0 commit comments