Polish opening prologue caption UI

This commit is contained in:
2026-06-20 08:18:03 +09:00
parent 80fda0fda6
commit 11959a8d06
4 changed files with 51 additions and 28 deletions

View File

@@ -560,8 +560,10 @@ func _check_readability_contract(failures: Array[String]) -> void:
failures.append("briefing objective panel should reserve enough height for victory and defeat text")
if scene.briefing_objective_toggle_button == null:
failures.append("briefing objective section should have a close/open button")
elif scene.briefing_objective_toggle_button.text != "닫기":
failures.append("briefing objective button should start with a clear close label")
elif scene.briefing_objective_toggle_button.text != "" or scene.briefing_objective_toggle_button.icon == null or not bool(scene.briefing_objective_toggle_button.get_meta("icon_only", false)):
failures.append("briefing objective button should start as an icon-only control")
elif not scene.briefing_objective_toggle_button.tooltip_text.contains("접기"):
failures.append("briefing objective icon tooltip should explain closing the conditions")
_check_text_fit_contract(scene, failures)
scene.free()

View File

@@ -3598,14 +3598,18 @@ func _check_ancient_ui_theme(failures: Array[String]) -> void:
failures.append("mission objective panel should collapse cleanly")
if scene.briefing_start_button == null or scene.briefing_start_button.text != "전투 시작":
failures.append("briefing start button should clearly start after briefing")
if scene.briefing_objective_toggle_button == null or scene.briefing_objective_toggle_button.text != "닫기":
failures.append("briefing objective panel should expose a close button")
if scene.briefing_objective_toggle_button == null or scene.briefing_objective_toggle_button.text != "" or scene.briefing_objective_toggle_button.icon == null or not bool(scene.briefing_objective_toggle_button.get_meta("icon_only", false)):
failures.append("briefing objective panel should expose an icon-only close button")
else:
_check_button_uses_generated_toolbar_icon(failures, scene.briefing_objective_toggle_button, "briefing objective toggle")
_check_button_uses_generated_surface(failures, scene.briefing_objective_toggle_button, "briefing objective toggle")
if not scene.briefing_objective_toggle_button.tooltip_text.contains("접기"):
failures.append("briefing objective icon tooltip should explain closing the panel")
scene._set_briefing_objective_collapsed(true)
if scene.briefing_objective_panel == null or scene.briefing_objective_panel.visible or scene.briefing_objective_toggle_button.text != "펼치기":
if scene.briefing_objective_panel == null or scene.briefing_objective_panel.visible or scene.briefing_objective_toggle_button.text != "" or not scene.briefing_objective_toggle_button.tooltip_text.contains("펼치기"):
failures.append("briefing objective panel should collapse cleanly")
scene._set_briefing_objective_collapsed(false)
if scene.briefing_objective_panel == null or not scene.briefing_objective_panel.visible or scene.briefing_objective_toggle_button.text != "":
if scene.briefing_objective_panel == null or not scene.briefing_objective_panel.visible or scene.briefing_objective_toggle_button.text != "" or not scene.briefing_objective_toggle_button.tooltip_text.contains(""):
failures.append("briefing objective panel should reopen cleanly")
scene.briefing_panel.visible = true
scene.battle_started = false
@@ -3726,6 +3730,8 @@ func _check_opening_prologue_presentation(failures: Array[String]) -> void:
if caption_panel.custom_minimum_size.y > 150.0:
failures.append("opening caption should stay compact instead of covering the story art: %s" % str(caption_panel.custom_minimum_size))
_check_panel_uses_generated_texture(failures, caption_panel, "opening cinematic caption generated frame")
if str(caption_panel.get_meta("panel_texture_key", "")) != "story_scroll":
failures.append("opening caption should use the generated story scroll surface")
if scene.opening_prologue_next_button == null:
failures.append("opening prologue should expose a next button")
else: