Add optional local table sound controls
Connect browser-local mute, keyboard volume and a test sample with short original Web Audio cues for public phase/status/turn changes and tagged automatic actions. Audio consumes only projected sequences and public phase identity, with no game actions, private eligibility checks, media requests or saved-game writes. Preferences default off at 35%, survive refresh and synchronize across same-origin tabs. Silent initial snapshots, stale sequence rejection, batch priority and a 700ms cooldown avoid historical replay and queued bursts. User gestures unlock audio; hidden tabs stay silent. Mute, backgrounding and unmount stop active voices, pending unlocks are cancelled, and unavailable audio remains cosmetic. Existing automatic visual notices and AI pacing remain independent. Six focused regressions cover cursor consumption, phase priority, room changes, bounded volume and voices, unlock cancellation, disposal, unavailable audio and accessible initial controls. Independent review found a mobile panel overflow; the corrected panel stayed inside the viewport in DOM measurements. Browser controls verified enable/mute, keyboard volume, zero-volume disabling, refresh restoration and cross-tab preference updates. Preferences were restored to off/35%. Physical output and screenshot acceptance remain unverified because screenshot capture timed out. Broader event coverage and final sound design remain unfinished. Types, lint and 4856 offline tests plus production build pass on the unchanged source fingerprint below. The first broad check found the accessibility linter's semantic-output requirement; the status element was corrected before the final checks. HTTP/AI calibration runs were not repeated for this cosmetic-only change. All 1,072 saved games, 2,243 seats and original recovery/entry/handover records match the pre-outage backup; SQLite quick-check and foreign keys pass. The responding server and isolated browser seat were reused after the latest outage, without resetting games or creating automation. Mode and publication gates remain closed. Verified source tree: da84d2cc4ed5b0face56afb034857b85c52708e11d86ff3f1cb3c8abdeee99d0
This commit is contained in:
1 parent
62e87d2b96
commit
bfa24b0c4a
10 files changed
+532
-17
No files matched your search
@@ -1,5 +1,20 @@
|
||||
# Dune implementation status
|
||||
|
||||
## 20 September 2026 — Optional table sound prototype
|
||||
|
||||
[Table sound controls](TABLE_SOUNDS.md) add local mute, keyboard volume and a test
|
||||
sample, with short synthesized cues for public phase changes and tagged automatic
|
||||
actions. Silent baseline consumption, coalescing and background suppression avoid
|
||||
replaying old updates. Preferences survive refresh and synchronize between tabs;
|
||||
game actions, AI timing and saved state are unchanged. Focused audio/cursor checks
|
||||
and browser controls cover the connected prototype. Physical output, screenshot
|
||||
acceptance and final event coverage remain unfinished. Required check/build,
|
||||
preservation and verified Git delivery belong to the source-bound private report
|
||||
and commit message. No mode or publication gate is opened.
|
||||
|
||||
The reported outage left all 1,072 baseline games unchanged. The responding server
|
||||
was reused and the existing isolated seat reconnected without a database reset.
|
||||
|
||||
## 14 September 2026 — Harass revealed physical allocation
|
||||
|
||||
Connected ordinary/elite and multi-sector choices after public plan reveal,
|
||||
|
||||
Reference in new issue
Block a user