Audio: WAV + tinyaudio, Ambient-Emitter mit Distance ramps; artist.md

engine/wav.rs (Decoder) und render/audio.rs (Mixer, 8 SFX-Voices +
Loop-Voice je Emitter) aus irl3d eingebettet; Emitter-Logik headless in
engine/audio.rs. Empties mit sound/radius-Property senden positional,
play_sound-Signale laufen als SFX über Session::take_sounds.
Platzhalter-Sounds + Emitter in der Testszene; artist.md fasst die
Content-Regeln für die Autorin zusammen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 20:08:13 +02:00
parent 56d92cdb46
commit 31e1942870
16 changed files with 796 additions and 21 deletions
Binary file not shown.
+3 -3
View File
@@ -9,7 +9,7 @@
# inc <name> [<delta>] KV-Integer +Delta (Default +1)
# clear <name> KV-Eintrag entfernen
# hide_object <name> deferred (Frontend): Instance ausblenden
# play_sound <file> deferred (Frontend): SFX abspielen
# play_sound <name> deferred (Frontend): SFX aus assets/sounds/{name}.wav
#
# Reserviertes Signal `[init]` feuert einmal vor der Game-Loop —
# idealer Ort für KV-Defaults.
@@ -25,13 +25,13 @@ actions = [
[Mushroom]
actions = [
"inc mushrooms_collected",
"play_sound pickup.wav",
"play_sound pickup",
"hide_object $self",
]
[Person]
actions = [
"play_sound greet.wav",
"play_sound greet",
"start_ink person.ink.json",
]
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.