Cloud moved migration, page loading and page switching out of strategy_provider.dart; main kept changing them there. Re-applied: - StrategyMigrator: lineup graph and sunset scale migrations, agent weapon migration, forced migrations by original version, the finalize-at-current-version rule, and the graph shift in the 16:9 world migration. - Page data carries a LineUpGraph (StrategyEditorPageData, applyStrategyEditorPageData, local page source flush/load). - Page transitions route agents over the navigation mesh when world geometry is enabled (strategy_page_session_provider). - createNewStrategy takes the picked map and auto-name for cloud creates too, and returns the StrategyData main's navigator expects. - switchSide(allPages:) patches every other page's side through the Convex op queue for cloud strategies; local strategies keep main's Hive path. Page-edit capability gates both. - Unsaved tracking listens to the graph instead of legacy groups. Cloud lineups stay on the lineupGroup payload (the Convex contract is unchanged): sync, upload, export and hydration go through the graph's legacy group projection. Each site is marked TODO(lineupGraph). Live sync treats a missing agent `weapon` as none when comparing payloads, matching the existing showVisionCone default, so hydrating older cloud data never authors a rewrite. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Dara Adedeji committed on 9/24/2026, 8:38:30 PMparent6e6fb3d
11 files changedLine totals unavailable