|
| 1 | +# PR_26145_010 Audio SFX Visible Style Ranges |
| 2 | + |
| 3 | +## Scope |
| 4 | + |
| 5 | +- Updated `tools/audio-sfx-playground-v2` only. |
| 6 | +- Made Sound Style clamp ranges visible in each slider value output. |
| 7 | +- Added help text clarifying that Sound Style changes recommended operating ranges and clamps current values, while waveform options remain selectable. |
| 8 | +- Preserved external CSS/JS only; no inline event handlers or style/script blocks were added. |
| 9 | + |
| 10 | +## Targeted Static Validation |
| 11 | + |
| 12 | +PASS: |
| 13 | + |
| 14 | +- `Get-ChildItem -Recurse -File tools/audio-sfx-playground-v2/js -Filter *.js | ForEach-Object { node --check $_.FullName }` |
| 15 | +- HTML/CSS guard: |
| 16 | + - no `<style>` blocks in `tools/audio-sfx-playground-v2/index.html` |
| 17 | + - no inline `<script>` blocks |
| 18 | + - no inline event handlers |
| 19 | + - Sound Style tooltip includes range and waveform guidance |
| 20 | + - Wave tooltip confirms every waveform remains selectable |
| 21 | + - density CSS reserves the compact slider/range output layout |
| 22 | +- `git diff --check -- tools/audio-sfx-playground-v2` |
| 23 | + - PASS with Git LF/CRLF warnings only for `index.html` and `audioSfxLayoutDensity.css`. |
| 24 | + |
| 25 | +## Focused Playwright Validation |
| 26 | + |
| 27 | +PASS using a local repo HTTP server and Chromium: |
| 28 | + |
| 29 | +- Audio / SFX Playground V2 launched at `/tools/audio-sfx-playground-v2/index.html`. |
| 30 | +- No console errors and no page errors on launch or during style/slider interactions. |
| 31 | +- Initial range labels rendered: |
| 32 | + - Frequency: `880 Hz [20-20000 Hz]` |
| 33 | + - Sweep: `700 cents [-1200-1200 cents]` |
| 34 | +- Selecting Atari-style updated visible and DOM slider ranges: |
| 35 | + - Frequency range label: `[40-4000 Hz]` |
| 36 | + - Frequency min/max attributes: `40` / `4000` |
| 37 | + - Sweep range label: `[-1200-1200 cents]` |
| 38 | + - Brightness range label: `[400-7000 Hz]` |
| 39 | +- Switching from Pure Tone after setting Frequency to `20000 Hz` visibly changed the value after selecting Atari-style: |
| 40 | + - Before: `20000 Hz [20-20000 Hz]` |
| 41 | + - After: `520 Hz [40-4000 Hz]` |
| 42 | +- Selecting TTL Arcade updated Frequency to `1180 Hz [80-2500 Hz]`. |
| 43 | +- All waveform options remained enabled, including `noise`. |
| 44 | +- Slider focus retention passed: |
| 45 | + - Clicking `#durationInput` left focus on `durationInput`. |
| 46 | + - `ArrowRight` changed duration from `380` to `385`, preserving the 5 ms step. |
| 47 | +- All 9 density slider rows kept label, slider, and value output on one aligned row without overlap. |
| 48 | + |
| 49 | +V8 coverage entry captured: |
| 50 | + |
| 51 | +- `tools/audio-sfx-playground-v2/js/controls/SfxControlPanel.js` |
| 52 | + |
| 53 | +## Workspace V2 Validation |
| 54 | + |
| 55 | +Command: |
| 56 | + |
| 57 | +```powershell |
| 58 | +$env:PLAYWRIGHT_BROWSERS_PATH='.ms-playwright'; npm.cmd run test:workspace-v2 |
| 59 | +``` |
| 60 | + |
| 61 | +Result: |
| 62 | + |
| 63 | +- 69 passed |
| 64 | +- 3 failed |
| 65 | + |
| 66 | +Failures observed outside Audio / SFX Playground V2 scope: |
| 67 | + |
| 68 | +- `Workspace Manager V2 bootstrap > shows Object Vector Studio V2 layout shell and schema-only palette gate` |
| 69 | + - Expected status log to contain `OK Applied transparent fill to shape row 1 by right-click.` |
| 70 | +- `Workspace Manager V2 bootstrap > compacts Object Vector Studio V2 geometry layouts and selected palette state` |
| 71 | + - Expected selected palette outline width `>= 3`; received `2.8`. |
| 72 | +- `Workspace Manager V2 bootstrap > owns temporary UAT manifest seeding and launches Asset Manager V2 through session context` |
| 73 | + - Timed out at 120000 ms, then coverage stop reported the target page/context/browser had closed. |
| 74 | + |
| 75 | +## Full Samples Smoke |
| 76 | + |
| 77 | +Skipped per BUILD request because this PR only impacts Audio / SFX Playground V2 UI behavior. |
0 commit comments