Verify the marquee emissive balance and close the facade-realism pass
Full build / Import + headless tests (push) Successful in 43s
Full build / Full desktop build + optional release (push) Skipped

This commit is contained in:
zwitschi committed 2026-11-03 16:15:38 +01:00
1 parent 2b07913481
commit 8c2761427f
2 files changed
+28 -7

No files matched your search

+21
View File
@@ -212,6 +212,27 @@ func test_street_lamps_and_marquee_built() -> bool:
root.free()
return a and b and TestUtils.check(night_on, "lamps brighten at night") and TestUtils.check(day_off, "lamps dim in daylight")
func test_marquee_emissive_balanced_at_night() -> bool:
## The marquee sign face and bulbs are registered with the day/night cycle:
## they brighten after dark and fall back to a faint glow in daylight, so the
## marquee reads as practical lighting instead of a black box.
var root := Node3D.new()
var builder := WorldBuilder.new(root)
builder.build()
var emissive := builder._marquee_emissive
var ok := emissive.size() >= 2
builder.set_night_mode(true)
var night_energy := 0.0
for mat in emissive:
night_energy += mat.emission_energy_multiplier
builder.set_night_mode(false)
var day_energy := 0.0
for mat in emissive:
day_energy += mat.emission_energy_multiplier
root.free()
return ok and TestUtils.check(night_energy > day_energy,
"marquee emissive surfaces brighten at night")
func test_asset_textures_present_and_pow2() -> bool:
var required := [
"res://assets/textures/brick_facade.png",