The engine derives the notification schedule from the save after every
saved change (arrivals, rest ending, upgrades; same-minute events
combined) and replaces the platform's schedule. Capacitor
LocalNotifications on iOS/Android, a no-op on the web. Permission is
asked after the deal; Settings has an On/Off toggle.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pnpm workspace with apps/web, apps/server, packages/sim, packages/schema
and packages/content, each extending a strict tsconfig.base.json.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>