Startup-Splash (petrol-gruen) waehrend Plugin-Init

Verdeckt visuell die 3+ Sekunden Wartezeit beim Cold-Start (Panel-
Registration + WindowLayout-Apply). Stilistisch identisch zum
Launcher-Splash: petrol-gruener Verlauf mit "DOSSIER."-Logo, pulsierendem
Dot, animierter Progress-Bar.

Architektur:
- _startup_splash.py: zentrale show() / hide() Helpers
  - Borderless Eto.Forms.Form (420x160), Topmost, kein Taskbar-Eintrag
  - WebView mit Inline-HTML (gleicher Stil wie launcher/public/splash.html)
  - Sticky-Key _dossier_startup_splash haelt die Form-Referenz
  - Safety-Timeout 8s falls hide() vergessen wird

- startup.py _load_all: show() ganz am Anfang (bevor Imports laufen)
- oberleiste._on_ready: hide() via 200ms-Timer NACH window-layout-apply
  (bzw. nach skip) — Layout-Animation ist auf Panels in Finalposition
  kurz sichtbar bevor Splash verschwindet

Effekt: User sieht sofort einen schoenen Branded-Loading-Screen statt
3s grauer Rhino-UI mit halb-geladenen Panels.
This commit is contained in:
2026-05-27 19:31:00 +02:00
parent edaf83229b
commit 6a13ede6b7
3 changed files with 172 additions and 0 deletions
+7
View File
@@ -240,6 +240,13 @@ def _load_all(sender, e):
Rhino.RhinoApp.Idle -= _load_all
except Exception:
pass
# Splash zeigen bevor irgendwas laeuft — verdeckt visuell die ~3s
# Panel-Init + WindowLayout-Apply
try:
import _startup_splash
_startup_splash.show()
except Exception as ex:
print("[STARTUP] splash show:", ex)
print("[STARTUP] Lade DOSSIER-Panels...")
# Migration einmal fuer das beim Start aktive Doc
_migrate_active_doc()