White the Joke Shop canopy signature band to match the reference
This commit is contained in:
1 parent
6824dd76a1
commit
a51dae2c33
6 files changed
+18
-7
No files matched your search
@@ -194,6 +194,11 @@ licence-free zone only.
|
||||
field, six columns, eight steps, landing + guard spawn at y=1.0) while keeping the arrival
|
||||
staging (`bulb_canopy`, `sedan`, `handrail`, barriers); Godot 276/276, screenshot smoke
|
||||
21/0, `13-studio-arrival.png` recaptured.
|
||||
**Fix 3 landed:** the Joke Shop canopy signature band is now white (`Color(0.90, 0.88, 0.80)`)
|
||||
over the black fascia, matching the concept's "white celebrity signatures"; a test asserts
|
||||
the `CanopySignatures` label is white, Godot 276/276, `12-joke-shop.png` + the three-up
|
||||
board recaptured. Note: fix 2 (blade sign) is already a circular disc on a roof pole in the
|
||||
code (`37f925c`); the ranking note was stale.
|
||||
- [ ] Lighting: `lighting`/`lookdev` pass on sconces, canopy, marquee and street lamps with
|
||||
day/late captures; verify local attenuation stays at 1.0 and no constant-falloff light returns.
|
||||
- [ ] Set dressing: review entrance and sidewalk prop clusters (`set-dressing`) for occlusion,
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 115 KiB |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"board": "jokeshop-day-board.jpg",
|
||||
"caption": "Joke Shop frontage, day. Photo: local-only research frame (tmp/research/comedy-store). Concept: photo-anchored (gemini + gpt). Capture: dark stucco wall tile.",
|
||||
"photo": "tmp/research/comedy-store/01.jpg (local-only, gitignored)",
|
||||
"caption": "Joke Shop frontage, day. Photo: local-only research frame (tmp/research/comedy-store). Concept: photo-anchored (gemini + gpt). Capture: dark stucco wall tile + white signature band.",
|
||||
"photo": "tmp/research/comedy-store/01.jpg",
|
||||
"concept": "docs/screens/concepts/joke_shop/joke_shop_entrance_day-v2.png",
|
||||
"capture": "docs/screenshots/12-joke-shop.png"
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 552 KiB After Width: | Height: | Size: 553 KiB |
@@ -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"
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in new issue
Block a user