Adds a one-time download flow for the on-device Gemma 2B model (~1.1 GB)
with a progress bar, partial-download cleanup, and automatic navigation
to the app shell once the file is verified. App.dart now gates on
modelPresentProvider instead of onboarding state.
Introduces AppShell with an IndexedStack-backed NavigationBar (Today,
History, Insights, Settings). Stub screens added for Calendar, Insights,
and Settings; app.dart now routes to AppShell instead of LogMoodScreen directly.
- Bootstrap ProviderScope in main.dart and move App to app.dart with light/dark theming
- Add initial LogMoodScreen with mood entry flow and shared activity/mood widgets
- Add kIsWeb guard in app_database.dart for drift web support
- Enable Android core library desugaring required by flutter_local_notifications 21.x
- Guard all async notifier state assignments with ref.mounted checks to prevent
use-after-dispose errors when providers are auto-disposed mid-operation