hm
This commit is contained in:
parent
cefa2ace5a
commit
0e432c62ae
87 changed files with 4282 additions and 3066 deletions
|
|
@ -473,46 +473,56 @@ def check_current_save_format() -> None:
|
|||
placement = read_text(ROOT / "js/world_placement_log.js")
|
||||
if "playLogSoundForEntry" in placement:
|
||||
fail("log sound mapping still lives in world_placement_log.js")
|
||||
if "player_item_placement" in placement:
|
||||
fail("player item placement should not create placement log entries")
|
||||
ok("binary hash save snapshot, codec, storage, and restore coordinator present")
|
||||
|
||||
def check_unified_item_registry() -> None:
|
||||
data = manifest()
|
||||
js_files = data["js"]
|
||||
if "js/item_registry.js" not in js_files:
|
||||
fail("unified item registry missing from manifest")
|
||||
removed = ["js/food_registry.js", "js/effect_registry.js", "js/item_visual_registry.js"]
|
||||
stale_manifest = [rel for rel in removed if rel in js_files]
|
||||
if stale_manifest:
|
||||
fail("old split item registry files still listed in manifest: " + ", ".join(stale_manifest))
|
||||
stale_files = [rel for rel in removed if (ROOT / rel).exists()]
|
||||
if stale_files:
|
||||
fail("old split item registry files still exist: " + ", ".join(stale_files))
|
||||
source = read_text(ROOT / "js/item_registry.js")
|
||||
required = [
|
||||
"global.TarinaiItemRegistry",
|
||||
"const TOOL_DEFINITIONS",
|
||||
"function itemDefinition",
|
||||
"function itemVisualDefinition",
|
||||
"class FoodRegistry",
|
||||
"class EffectRegistry",
|
||||
"food: FOOD_REGISTRY",
|
||||
"effect: EFFECT_REGISTRY",
|
||||
"visual: itemVisualDefinition",
|
||||
required_files = [
|
||||
"js/item_tool_definitions.js",
|
||||
"js/item_visual_definitions.js",
|
||||
"js/item_food_definitions.js",
|
||||
"js/item_effect_definitions.js",
|
||||
"js/item_registry.js",
|
||||
]
|
||||
for token in required:
|
||||
missing = [rel for rel in required_files if rel not in js_files or not (ROOT / rel).exists()]
|
||||
if missing:
|
||||
fail("split item registry files missing: " + ", ".join(missing))
|
||||
order = [js_files.index(rel) for rel in required_files]
|
||||
if order != sorted(order):
|
||||
fail("split item registry files are not loaded before the facade in manifest order")
|
||||
stale_files = [rel for rel in ["js/food_registry.js", "js/effect_registry.js", "js/item_visual_registry.js"] if (ROOT / rel).exists() or rel in js_files]
|
||||
if stale_files:
|
||||
fail("obsolete item registry split files remain: " + ", ".join(stale_files))
|
||||
|
||||
tool_source = read_text(ROOT / "js/item_tool_definitions.js")
|
||||
visual_source = read_text(ROOT / "js/item_visual_definitions.js")
|
||||
food_source = read_text(ROOT / "js/item_food_definitions.js")
|
||||
effect_source = read_text(ROOT / "js/item_effect_definitions.js")
|
||||
facade_source = read_text(ROOT / "js/item_registry.js")
|
||||
required_pairs = [
|
||||
(tool_source, "const TOOL_DEFINITIONS"),
|
||||
(tool_source, "global.TarinaiToolRegistry"),
|
||||
(visual_source, "function itemVisualDefinition"),
|
||||
(visual_source, "global.TarinaiItemVisualDefinitions"),
|
||||
(food_source, "class FoodRegistry"),
|
||||
(food_source, "global.TarinaiFoodRegistry"),
|
||||
(effect_source, "class EffectRegistry"),
|
||||
(effect_source, "global.TarinaiEffectRegistry"),
|
||||
(facade_source, "global.TarinaiItemRegistry"),
|
||||
(facade_source, "definition: itemTypeDefinition"),
|
||||
]
|
||||
for source, token in required_pairs:
|
||||
if token not in source:
|
||||
fail(f"unified item registry token missing: {token}")
|
||||
forbidden_globals = ["global.TarinaiFoodRegistry", "global.TarinaiEffectRegistry", "global.TARINAI_ITEM_VISUALS", "global.TARINAI_FOOD_DEFINITIONS", "global.TARINAI_EFFECT_DEFINITIONS"]
|
||||
offenders = [token for token in forbidden_globals if token in source]
|
||||
if offenders:
|
||||
fail("old split item registry globals still exported: " + ", ".join(offenders))
|
||||
fail(f"split item registry token missing: {token}")
|
||||
data_source = read_text(ROOT / "js/data.js")
|
||||
forbidden_data = ["const TOOL_DEFINITIONS", "const ITEM_TRAITS", "class FoodRegistry", "class EffectRegistry", "TARINAI_ITEM_VISUALS"]
|
||||
offenders = [token for token in forbidden_data if token in data_source]
|
||||
if offenders:
|
||||
fail("item definitions still mixed into data.js: " + ", ".join(offenders))
|
||||
ok("item definitions centralized in item_registry.js")
|
||||
|
||||
ok("item registry responsibilities split behind facade")
|
||||
|
||||
def check_docs_removed() -> None:
|
||||
docs = ROOT / "docs"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue