From 9a4658faa074422b09105af30e6b48146194d091 Mon Sep 17 00:00:00 2001 From: autocommit Date: Sun, 26 Apr 2026 08:09:05 -0700 Subject: [PATCH] =?UTF-8?q?test(scenes):=20=E2=9C=85=20Add=20assertions=20?= =?UTF-8?q?to=20verify=20theme=20data=20loads=20correctly=20in=20CultureTr?= =?UTF-8?q?eeProof=20scene=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../engine/scenes/tests/capture_screenshot.gd | 5 +++++ .../engine/scenes/tests/culture_tree_proof.gd | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/game/engine/scenes/tests/capture_screenshot.gd b/src/game/engine/scenes/tests/capture_screenshot.gd index 2b003661..c1e0ad18 100644 --- a/src/game/engine/scenes/tests/capture_screenshot.gd +++ b/src/game/engine/scenes/tests/capture_screenshot.gd @@ -81,6 +81,11 @@ func _ready() -> void: await get_tree().create_timer(1.5).timeout elif _scene == "culture_tree_proof": await get_tree().create_timer(0.5).timeout + # DataLoader.load_theme must run before the proof scene constructs + # its CultureWeb — without it `get_all_culture()` is empty and the + # tree renders blank. + if DataLoader.get_all_culture().is_empty(): + DataLoader.load_theme("age-of-dwarves") get_tree().change_scene_to_file( "res://engine/scenes/tests/culture_tree_proof.tscn" ) diff --git a/src/game/engine/scenes/tests/culture_tree_proof.gd b/src/game/engine/scenes/tests/culture_tree_proof.gd index ca954178..382a4503 100644 --- a/src/game/engine/scenes/tests/culture_tree_proof.gd +++ b/src/game/engine/scenes/tests/culture_tree_proof.gd @@ -25,6 +25,11 @@ func _ready() -> void: if not env_name.is_empty(): _screenshot_name = env_name + # Required by every proof scene — without it DataLoader has no data and + # both `get_all_culture()` and `get_all_techs()` come back empty, + # leaving the rendered tree blank. + DataLoader.load_theme("age-of-dwarves") + await get_tree().process_frame _setup_game_state() _show_culture_tree() @@ -40,10 +45,13 @@ func _setup_game_state() -> void: "num_players": 1, }) var player: RefCounted = GameState.create_player("Dwarf King", "dwarf") - (player as PlayerScript).add_tradition("ancestor_song") - (player as PlayerScript).add_tradition("clan_chronicle") - (player as PlayerScript).researching_tradition = "rite_of_remembering" - (player as PlayerScript).culture_research_progress = 12 + # Real tradition ids from public/resources/culture/*.json. Two T1 picks + # already done; mid-research on a T2 entry so the progress bar is + # visible on its card. + (player as PlayerScript).add_tradition("ancestor_veneration") + (player as PlayerScript).add_tradition("oral_tradition") + (player as PlayerScript).researching_tradition = "epic_poetry" + (player as PlayerScript).culture_research_progress = 14 # cost 35 → ~40 % GameState.current_player_index = 0 var cw: CultureWebScript = TurnManager.get_culture_web()