Balance the event-banner night emissive
Full build / Import + headless tests (push) Successful in 45s
Full build / Full desktop build + optional release (push) Skipped

This commit is contained in:
zwitschi committed 2026-11-03 15:54:58 +01:00
1 parent f516d3e796
commit 768dd94bfc
5 files changed
+15 -3

No files matched your search

+6 -1
View File
@@ -1111,8 +1111,13 @@ func _add_masonic_lattice(parent: Node3D, x: float, y: float, z: float,
func _add_masonic_banner(parent: Node3D, x: float, front: float, text: String) -> void:
var red := Color(0.58, 0.055, 0.065)
_add_box(parent, Vector3(2.62, 5.55, 0.06), Vector3(x, 8.2, front + 0.73),
# The reference night photo keeps the event banners readable against the dark
# stone: a low warm self-light that the day/night cycle brightens (not a
# glowing neon box). Registered with `_marquee_emissive` in `set_night_mode`.
var cloth := _add_box(parent, Vector3(2.62, 5.55, 0.06), Vector3(x, 8.2, front + 0.73),
red, true, null, Vector2.ONE, "cloth")
cloth.material_override = Materials.emissive(red, 0.14)
_marquee_emissive.append(cloth.material_override)
for y in [5.55, 10.85]:
_add_box(parent, Vector3(2.82, 0.10, 0.12), Vector3(x, y, front + 0.75),
Color(0.78, 0.62, 0.28), true, null, Vector2.ONE, "metal")
+8 -1
View File
@@ -113,6 +113,13 @@ func test_hollywood_uses_the_real_landmark_layout() -> bool:
var banners := root.find_child("EventBanners", true, false)
var d := TestUtils.check(banners != null and banners.get_child_count() >= 9,
"three red event banners with their trim are present")
# The event banners stay readable at night: the cloth carries a warm
# self-light that the day/night cycle brightens (not a flat dead panel).
var banner_cloth: Material = banners.get_child(0).material_override \
if banners != null and banners.get_child_count() > 0 else null
var d2 := TestUtils.check(banner_cloth is StandardMaterial3D
and (banner_cloth as StandardMaterial3D).emission_enabled,
"the event banner cloth is emissive for the night balance")
var walk := root.find_child("WalkOfFame", true, false)
var walk_band := walk.get_child(0) as MeshInstance3D if walk != null else null
var walk_material: Material = walk_band.mesh.surface_get_material(0) if walk_band != null else null
@@ -130,7 +137,7 @@ func test_hollywood_uses_the_real_landmark_layout() -> bool:
and WorldBuilder.placement_problems(placements).is_empty(),
"the landmark prop placements keep the wide steps clear")
root.free()
return a and b and c and d and e and f and g and h
return a and b and c and d and d2 and e and f and g and h
func test_hollywood_geometry_stays_inside_the_map_budget() -> bool: