perf(startup): paint a splash immediately, run init off the first frame

main() awaited all of configureDependencies() (open the encrypted DB,
derive the social key, seed/scan the species catalog) before the first
runApp, so nothing painted until init finished — startup jank visible as
skipped frames. Now main() runs runApp immediately with a Bootstrap
widget that shows a native-splash-matching green splash while the heavy
work runs, then swaps in TaneApp. On failure it shows a localized error
with a retry (configureDependencies is idempotent, so retry is safe).

Adds a bootstrap i18n group (en/es/pt/ast) and a widget test for the
splash/error frame.
This commit is contained in:
vjrj 2026-07-10 17:34:08 +02:00
parent 33d8b2a4d7
commit 71413f3801
12 changed files with 289 additions and 53 deletions

View file

@ -4,9 +4,9 @@
/// To regenerate, run: `dart run slang`
///
/// Locales: 4
/// Strings: 1464 (366 per locale)
/// Strings: 1472 (368 per locale)
///
/// Built on 2026-07-10 at 13:52 UTC
/// Built on 2026-07-10 at 15:00 UTC
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import