P14-02: Keep warp in its own catalog list

Stair infrastructure stays exactly the two stairs; the Runtime registry now
loads 24 definitions including the A07 warp.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Takeshi
2026-10-20 11:05:29 +09:00
co-authored by Claude Opus 5.5
parent 0cfaec1626
commit cca5457454
4 changed files with 7 additions and 5 deletions
+1 -1
View File
@@ -444,7 +444,7 @@ func initialize(clock: SimulationKernel, state: Variant, seed := DEFAULT_WORLD_S
)
_initialized = true
var report := definition_registry.rebuild_from_paths(
FacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)
FacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS + FacilityCatalog.TRANSPORT_FACILITY_PATHS)
var catalog_registration_ok := _catalog_definitions_are_registered(guest_service)
report[&"content_catalog"] = mvp_content_report.duplicate(true)
report[&"progression_initialized"] = initial_progression_ok
+4 -2
View File
@@ -59,15 +59,17 @@ const RESCUE_FACILITY_PATHS: Array[String] = ["res://data/facilities/rescue/infi
const INFRASTRUCTURE_FACILITY_IDS: Array[StringName] = [
&"guest_stairs",
&"service_stairs",
&"mana_warp",
]
const INFRASTRUCTURE_FACILITY_PATHS: Array[String] = [
"res://data/facilities/infrastructure/guest_stairs.tres",
"res://data/facilities/infrastructure/service_stairs.tres",
"res://data/facilities/infrastructure/mana_warp.tres",
]
## A07 Mana warp: original 10.7 transport, kept apart from the stair list.
const TRANSPORT_FACILITY_IDS: Array[StringName] = [&"mana_warp"]
const TRANSPORT_FACILITY_PATHS: Array[String] = ["res://data/facilities/infrastructure/mana_warp.tres"]
## Optional post-MVP expansion definitions. They live below a subdirectory so
## DefinitionRegistry's baseline directory scan remains exactly compatible with
## existing saves and the sixteen-facility acceptance fixture.
+1 -1
View File
@@ -66,7 +66,7 @@ func _test_tick_command_execution() -> void:
func _test_starter_world_layers() -> void:
_reset_runtime()
_expect(_runtime.definition_registry.facility_count() == 23, "Runtime loads baseline sixteen plus stairs, the infirmary and premium room/dormitory and chapel")
_expect(_runtime.definition_registry.facility_count() == 24, "Runtime loads baseline sixteen plus stairs, the infirmary, premium room/dormitory, chapel and A07 warp")
_expect(_runtime.definition_registry.has_facility(&"chapel"), "Runtime exposes the original chapel definition")
var front_start := Vector3i(-2, 0, WorldService.LAYER_FRONT)
var back_goal := Vector3i(2, 0, WorldService.LAYER_BACK)
+1 -1
View File
@@ -16,7 +16,7 @@ func _run() -> void:
_state = load("res://autoload/game_state.gd").new()
_reset()
_expect(_runtime.path_service.get_vertical_walk_requires_connector(), "new Runtime requires explicit vertical transport")
_expect(_runtime.definition_registry.facility_count() == 23, "Runtime registers baseline16, stairs, infirmary and premium room/dormitory and chapel")
_expect(_runtime.definition_registry.facility_count() == 24, "Runtime registers baseline16, stairs, infirmary, premium room/dormitory, chapel and A07 warp")
var before: Dictionary = _runtime.create_snapshot()
var invalid := _command(&"build_facility", {&"definition_id": &"guest_stairs", &"origin": Vector3i(4, 3, 0)})
_expect(not invalid.is_success() and invalid.details.get(&"reason") == &"STAIR_LANDING_MISSING", "stairs without a lower landing reject before any construction")