Map 1: rebuild Hollywood as the El Capitan landmark
Full build / Import + headless tests (push) Successful in 37s
Full build / Full desktop build + optional release (push) Skipped

Replace the generic boulevard facade with a stylized 6840 Hollywood Blvd block: six Ionic columns, eight stone steps, Masonic frieze/medallions, event banners, side doors, El Capitan Theatre and retail neighbours, Ovation Hollywood arcade, Walk of Fame and four-lane street markings.

Add the Day and Night Hollywood venue-menu rows. Night uses a phase-time offset so a full-length shift stays in LATE while the clock starts at zero; late routine traffic keeps the street populated and the offset round-trips through checkpoint restore.

Retune local-light falloff to linear attenuation, add a cool north sky fill, and use the smooth limestone facade texture. Refresh the staged gallery and map references; add geometry-budget, menu, night-offset and late-traffic tests.
This commit is contained in:
zwitschi committed 2026-11-02 12:34:48 +01:00
1 parent 3f335481d6
commit 74dc1fdc1d
50 files changed
+1176 -100

No files matched your search

+20
View File
@@ -9,6 +9,7 @@ const Strings := preload("res://src/core/strings.gd")
const AccessLoadout := preload("res://src/core/access_loadout.gd")
const AccessVerifier := preload("res://src/core/access_verifier.gd")
const NpcProfile := preload("res://src/core/npc_profile.gd")
const ShiftCoordinator := preload("res://src/core/shift_coordinator.gd")
func _events(scenario_id: String) -> Array:
var scenario: Resource
@@ -123,6 +124,25 @@ func test_every_authored_hint_resolves() -> bool:
missing.append(key)
return TestUtils.check(missing.is_empty(), "all authored hints have strings (missing: %s)" % str(missing))
func test_hollywood_night_has_routine_traffic() -> bool:
var scenario := Factory.hollywood_building()
var late_routine := 0
for event in scenario.event_pool:
if int(event.get("phase", -1)) == Rules.Phase.LATE \
and str(event.get("kind", "routine")) == "routine":
late_routine += 1
var a := TestUtils.check(late_routine >= 3,
"the night shift has a late routine crowd (got %d)" % late_routine)
var coordinator: ShiftCoordinator = ShiftCoordinator.new()
coordinator.setup(scenario, 900.0, 7)
coordinator.phase_offset_s = 700.0
coordinator.start()
var b := TestUtils.check_eq(coordinator.current_phase, Rules.Phase.LATE,
"the night offset starts in LATE")
var c := TestUtils.check(is_equal_approx(coordinator.schedule_time_s(), 700.0),
"the scheduler sees the late time window while the clock starts at zero")
return a and b and c
func test_new_events_have_unique_ids() -> bool:
# Event ids only need to be unique within a venue.
var problems: Array[String] = []