Fix opening prologue text visibility

This commit is contained in:
2026-06-20 13:26:58 +09:00
parent 31c07af556
commit cf3f7de3af
3 changed files with 101 additions and 40 deletions

View File

@@ -263,25 +263,33 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("opening prologue story artwork should use a wide cinematic frame")
elif scene.opening_prologue_scene_texture_rect.custom_minimum_size.x < 1200 or scene.opening_prologue_scene_texture_rect.custom_minimum_size.y < 700:
failures.append("opening prologue story artwork should fill the first screen instead of sitting in a small frame")
if scene.opening_prologue_body_label != null and scene.opening_prologue_body_label.custom_minimum_size.x < 680:
if scene.opening_prologue_body_label != null and scene.opening_prologue_body_label.custom_minimum_size.x < 730:
failures.append("opening prologue body text should have enough caption width for Korean copy")
if scene.opening_prologue_title_label != null:
var opening_title_color: Color = scene.opening_prologue_title_label.get_theme_color("font_color")
if opening_title_color.get_luminance() < 0.55:
if opening_title_color.get_luminance() < 0.78:
failures.append("opening prologue title should use bright caption text over the artwork")
if scene.opening_prologue_title_label.get_theme_constant("outline_size") < 3:
failures.append("opening prologue title should have a strong outline over the artwork")
if scene.opening_prologue_body_label != null:
var opening_body_color: Color = scene.opening_prologue_body_label.get_theme_color("font_color")
if opening_body_color.get_luminance() < 0.55:
if opening_body_color.get_luminance() < 0.86:
failures.append("opening prologue body should use bright readable text over the artwork")
if scene.opening_prologue_body_label.get_theme_constant("outline_size") < 3:
failures.append("opening prologue body should keep a strong outline over generated art")
var opening_caption: PanelContainer = null
if scene.opening_prologue_root != null:
opening_caption = scene.opening_prologue_root.find_child("OpeningCaptionScroll", true, false) as PanelContainer
if opening_caption == null:
failures.append("opening prologue should keep a bottom scroll caption over the artwork")
elif opening_caption.custom_minimum_size.y > 148.0 or opening_caption.position.y < 510.0:
failures.append("opening prologue caption should stay low and compact so the image leads: %s at %s" % [str(opening_caption.custom_minimum_size), str(opening_caption.position)])
elif opening_caption.custom_minimum_size.y < 160.0 or opening_caption.custom_minimum_size.y > 188.0 or opening_caption.position.y < 492.0:
failures.append("opening prologue caption should be large enough for readable Korean while leaving the image dominant: %s at %s" % [str(opening_caption.custom_minimum_size), str(opening_caption.position)])
elif str(opening_caption.get_meta("panel_style_variant", "")) != "cinematic_caption":
failures.append("opening prologue caption should use a dark cinematic panel so text remains visible")
elif bool(opening_caption.get_meta("generated_panel_texture", true)):
failures.append("opening prologue caption should use a flat high-contrast panel instead of a busy texture")
elif opening_caption.z_index < 20:
failures.append("opening prologue caption should render above the generated story image")
var first_story_texture: Texture2D = null
if scene.opening_prologue_scene_texture_rect != null:
first_story_texture = scene.opening_prologue_scene_texture_rect.texture