Ship the 0.9.0 production-quality milestone
Full build / Import + headless tests (push) Successful in 42s
Full build / Full desktop build + optional release (push) Canceled after 4m58s

Add mixer/accessibility settings, caption/reduce-motion hooks, audio volume
clamping, a 24-NPC performance smoke and shortened coat/dress stride for hem
clipping. Record the explicit Godot 4.3-CI/4.7-local matrix and the 0.9
production scope. Headless 250/250, Python 94/94, 24-NPC budget smoke passes.
This commit is contained in:
zwitschi committed 2026-11-01 21:46:42 +01:00
1 parent b5d4d5fb87
commit 883626a067
19 files changed
+240 -131

No files matched your search

+12
View File
@@ -66,6 +66,18 @@ func test_radio_crackle_methods() -> bool:
audio.free()
return a and b
func test_volume_settings_are_stored_and_applied() -> bool:
var audio: Node = AudioFeedback.new()
audio.set_volumes(0.8, 0.5, 0.2)
var a := TestUtils.check(is_equal_approx(audio.master_volume, 0.8), "master volume stores")
var b := TestUtils.check(is_equal_approx(audio.sfx_volume, 0.5), "sfx volume stores")
var c := TestUtils.check(is_equal_approx(audio.ambience_volume, 0.2), "ambience volume stores")
audio.set_volumes(3.0, -1.0, 0.5)
var d := TestUtils.check(is_equal_approx(audio.master_volume, 1.0)
and is_equal_approx(audio.sfx_volume, 0.0), "volumes clamp")
audio.free()
return a and b and c and d
func test_game_manager_wires_audio() -> bool:
var src := FileAccess.get_file_as_string("res://src/game/game_manager.gd")
var a := TestUtils.check(src.contains("audio.start_crowd_bed()"), "the bed starts with the shift")