From 75b9f8cf7b0299ed57beff0d942c1644aed8d1f9 Mon Sep 17 00:00:00 2001 From: Eric Smith <5d@fifthdread.com> Date: Wed, 20 May 2026 22:35:43 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20sequential=20transition=20=E2=80=94=20sp?= =?UTF-8?q?lash=20fully=20fades=20before=20dashboard=20appears?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/splash.gd | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/scenes/splash.gd b/scenes/splash.gd index 0794575..72724cc 100644 --- a/scenes/splash.gd +++ b/scenes/splash.gd @@ -51,19 +51,19 @@ func _ready() -> void: # Phase 2: Hold await get_tree().create_timer(1.0).timeout - # Phase 3: Crossfade to dashboard - # The splash and dashboard share the same background color, so the - # transition is seamless — splash text fades out while dashboard - # modules materialise out of the same dark backdrop. + # Phase 3: Fade out splash text first + var fade_out := create_tween() + fade_out.tween_property(vbox, "modulate", Color(1, 1, 1, 0), 1.0).set_ease(Tween.EASE_IN) + await fade_out.finished + + # Phase 4: Then fade dashboard in var dashboard := preload("res://scenes/dashboard.tscn").instantiate() add_child(dashboard) dashboard.modulate = Color(1, 1, 1, 0) - var crossfade := create_tween() - crossfade.set_parallel(true) - crossfade.tween_property(vbox, "modulate", Color(1, 1, 1, 0), 1.0).set_ease(Tween.EASE_IN) - crossfade.tween_property(dashboard, "modulate", Color(1, 1, 1, 1), 1.0).set_ease(Tween.EASE_OUT).set_delay(0.2) - await crossfade.finished + var fade_in := create_tween() + fade_in.tween_property(dashboard, "modulate", Color(1, 1, 1, 1), 1.0).set_ease(Tween.EASE_OUT) + await fade_in.finished # Reparent dashboard from splash to root, then free splash. remove_child(dashboard)