Add procedural crowd ambience and radio crackle
- AudioFeedback.start_crowd_bed() builds a 4 s looping AudioStreamWAV at runtime (one-pole filtered noise plus a 68/103 Hz drone, seeded) and set_crowd_level() maps crowd mood 0..1 to -34..-12 dB, so the street gets louder as it gets agitated or panics. The bed starts with the shift and stops at shift end. - play_radio_open()/play_radio_close() push short filtered-noise bursts; wired to opening the radio panel, submitting a report, cancelling, and closing the panel. - Still asset-free and headless-safe: with a dummy audio server the calls no-op. _free_player() returns null before _ready and callers handle it. Tests/docs - Headless suite 127 -> 134 (test_audio_feedback.gd). - New smoke_audio.gd: bed playing, level follows mood events, radio crackles once per open/close, bed stops at shift end. Verified windowed (real audio server). - README, TODO section moved to DONE, MEMORY. Version 0.2.8.
This commit is contained in:
1 parent
e2c2a0bf4c
commit
294ac17333
13 files changed
+305
-17
No files matched your search
@@ -1,18 +1,10 @@
|
||||
# TODO
|
||||
|
||||
Godot 4.3 prototype. Release **v0.2.7** is tagged. Headless suite **127/127**, plus the session,
|
||||
PLAN-verb, crowd, emergency, timeline, and windowed focus/radial smokes.
|
||||
Godot 4.3 prototype. Release **v0.2.8** is tagged. Headless suite **134/134**, plus the session,
|
||||
PLAN-verb, crowd, emergency, timeline, audio, and windowed focus/radial smokes.
|
||||
|
||||
Host `REQUIRE_SIGNIN_VIEW` stays deferred.
|
||||
|
||||
## Audio
|
||||
|
||||
`AudioFeedback` is sine beeps. DONE called that "crowd ambience"; it is not.
|
||||
|
||||
- [ ] Loop a low crowd bed that rises with `CrowdSystem.mood`.
|
||||
- [ ] Radio open/close crackle on the existing radio panel, still headless-safe (no-op without
|
||||
an audio server).
|
||||
|
||||
## Accessibility
|
||||
|
||||
- [ ] Escalation colors that still read in grayscale (shape or label, not hue alone).
|
||||
|
||||
Reference in new issue
Block a user