White the Joke Shop canopy signature band to match the reference
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 20:07:01 +01:00
1 parent 6824dd76a1
commit a51dae2c33
6 files changed
+18 -7

No files matched your search

+6 -4
View File
@@ -378,7 +378,9 @@ func _build_comedy_store_building() -> void:
var front := cz + d * 0.5
var black := Color(0.105, 0.10, 0.105)
var black_deep := Color(0.045, 0.045, 0.05)
var signature := Color(0.58, 0.56, 0.52)
# The canopy carries the real club's white celebrity signatures over the black
# fascia; keep them near-white so they read as chalk/paint from the sidewalk.
var signature := Color(0.90, 0.88, 0.80)
var red := Color(0.42, 0.035, 0.045)
# Main hall. The black stucco is the real building's dominant surface: a flat
# matte charcoal tile now replaces the grey paver texture so the wall reads as
@@ -408,9 +410,9 @@ func _build_comedy_store_building() -> void:
_add_box(building, Vector3(0.20, 0.92, 4.9),
Vector3(side * (w * 0.5 - 0.22), 4.98, front + 2.35),
black_deep, true, null, Vector2.ONE, "concrete")
# Signature scribbles on the fascia and the wall. Keeping them as a few
# texture-free labels reads as handwriting at gameplay distance and costs
# no extra draw calls compared with stamping dozens of decals.
# White signature scribbles on the fascia. Keeping them as a few texture-free
# labels reads as handwriting at gameplay distance and costs no extra draw
# calls compared with stamping dozens of decals.
var scribbles := "Richard Pryor Robin Williams George Carlin\n" \
+ "Dave Chappelle Bill Burr Ali Wong Marc Maron\n" \
+ "Joan Rivers Sam Kinison Andrew Dice Clay Mitzi Shore"
+5 -1
View File
@@ -62,6 +62,10 @@ func test_joke_shop_uses_the_real_sunset_strip_layout() -> bool:
builder.build()
var a := TestUtils.check(root.find_child("SignatureCanopy", true, false) != null,
"the signature-covered canopy is built")
var sig_label := root.find_child("CanopySignatures_west", true, false) as Label3D
var a2 := TestUtils.check(sig_label != null
and sig_label.modulate.r > 0.85 and sig_label.modulate.g > 0.85,
"the canopy signature band is white, matching the reference's white celebrity names")
var sign := root.find_child("ComedySignLabel", true, false) as Label3D
var b := TestUtils.check(sign != null and sign.text.contains("JOKE")
and sign.text.contains("SHOP"), "the circular blade sign carries the club wordmark")
@@ -90,7 +94,7 @@ func test_joke_shop_uses_the_real_sunset_strip_layout() -> bool:
and WorldBuilder.placement_problems(placements).is_empty(),
"the Joke Shop prop placements stay on the sidewalk and clear the lane")
root.free()
return a and b and c and d and e and f and g and g2 and h
return a and a2 and b and c and d and e and f and g and g2 and h
func test_joke_shop_geometry_stays_inside_the_map_budget() -> bool:
var root := Node3D.new()