--- id: "32c34fe8-d915-4bf3-8266-f0505760f6b4" number: 101 title: "#91-E [DevFrontend] App Wear OS Flutter dédiée + navigation UX montre" status: "closed" priority: "medium" sprint: null links: [{"target":"#95","kind":"dependsOn"}] agentRefs: [{"agentId":"9933c93a-b8a1-4164-a3bb-7063fdad747d","role":"assigned"}] createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1784991960336 updatedAt: 1784992086885 version: 2 --- Partie #91, dépend de #91-A. Scaffold `watch_app/` (target/app Flutter Wear OS dédiée dans le mono-dépôt). Implémenter les surfaces UX décrites dans `gametime-ux-watch-companion` : - `Aucune séance active` (+ variante téléphone indisponible). - `Séance active` : hiérarchie SÉRIE X/Y -> exercice -> passage/étape -> chrono dominant -> chronos secondaires compacts -> CTA primaire unique. - `Actions` (scrollable) : Passer l'étape / Passer le passage / Terminer la série / Passer la série / Passer le repos selon contexte. - `Repos` : chrono de repos dominant, prochain exercice visible, Pause/Reprendre en primaire. Gestes : tap CTA, swipe horizontal (Séance <-> Actions), scroll vertical / couronne. Confirmation seulement pour Passer la série et Passer le passage. L'app montre consomme **uniquement** les DTO du package A et reste stateless vis-à-vis du domaine. Stub l'état en local pour permettre le dev UI avant branchement du client (F). Définition de done : surfaces navigables conformes à la spec UX sur écran rond, `flutter analyze` propre, build Wear OS OK.