Ajoute le .gitignore Flutter/Dart standard (build/, .dart_tool/, Pods, gradle, etc.) en prévision du scaffolding Flutter (ticket #2), ainsi que la configuration d'orchestration IdeA (agents, mémoire, tickets, sprints). L'état d'exécution transitoire (conversations, run/, live-state) reste ignoré du versionnement. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4.7 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| gametime-ux-conception | memory note gametime-ux-conception |
|
GameTime — Conception UX initiale (par UX)
Navigation principale : Accueil, Exercices, Programmes, Séances, Historique.
Motif transverse anti-surcharge
Badges de conditions (Temps/Répétitions/Score) + ligne résumé partout où un objet est listé (ex: "3 séries · Temps + Score · Repos 45 s") + sections progressives (seuls les réglages activés s'affichent). Score toujours affiché avec son unité.
1. Bibliothèque d'exercices
Liste avec recherche + filtres chips par mesure. Création/édition : nom, description, image/vidéo optionnelles, section "Mesures disponibles" (toggles Temps/Répétitions/Score, avec label + unité si Score). Règle : au moins une mesure obligatoire. Avertissement non bloquant si on modifie les mesures d'un exercice déjà utilisé (les programmes existants restent inchangés).
2. Programme
Liste de programmes avec résumé (nb exercices, séries). Création : nom, "Repos par défaut" global, ajout d'exercices depuis la bibliothèque (recherche + badges), cartes réordonnables par exercice. Config par exercice dans le programme : nb séries, mesures à suivre (sous-ensemble de celles autorisées par l'exercice), cible par mesure activée, "Repos après chaque série" (hérite du défaut programme, surchargeable par exercice). Cas limite : exercice supprimé de la bibliothèque → conserver copie lisible + badge "Exercice archivé".
3. Séance-modèle
Liste avec nb programmes/exercices, dernier lancement, action "Lancer". Création : nom, ajout de programmes (copie/snapshot au moment de l'ajout — message explicite à l'utilisateur), réordonnancement des programmes. Indépendance actée : modifier le programme source ne change pas la séance déjà composée.
Décision produit tranchée : dans une séance-modèle, l'utilisateur PEUT éditer la copie d'un programme intégré, mais seulement sur deux aspects : le nombre de séries, et les valeurs numériques cibles des conditions de complétion déjà choisies (ex: passer de 10 à 15 répétitions, ou de 45s à 30s, ou changer l'objectif de score). Il ne peut PAS changer quelles conditions sont actives (temps/répétitions/score) ni la liste/l'ordre des exercices du programme depuis la séance — ça reste au niveau du programme source. Raison : selon la séance, l'utilisateur veut pouvoir doser l'exigence (plus ou moins de séries, objectifs plus ou moins ambitieux) sans dupliquer un programme entier pour chaque variante.
Implication data : la copie du programme dans la séance-modèle doit permettre une surcharge locale de nombre de séries et des valeurs cibles numériques par exercice, sans toucher à la structure (quelles mesures actives, quels exercices, quel ordre) qui reste héritée du snapshot initial.
4. Exécution de séance
Surface la plus critique — optimisée usage à l'effort (grandes zones tactiles, une main). En-tête : nom séance, temps écoulé, pause. Progression Programme X/Y · Exercice X/Y · Série X/Y. Hiérarchie de saisie quand mesures cumulées : Temps (bloc principal) > Répétitions (stepper) > Score (champ + unité, clavier adapté). Écran "Repos" dédié entre séries avec ajustement ±15s et "Ignorer le repos". Pause avec "Quitter et sauvegarder" (recommandé comme action sûre) vs "Abandonner" (destructif confirmé). Reprise après interruption : bandeau "Séance en cours" avec horodatage pour robustesse arrière-plan/app fermée. Fin de séance : récap (temps, scores) + "Relancer cette séance".
5. Historique
Liste groupée par période (Aujourd'hui/Cette semaine/Plus ancien), résumé par séance. Détail : par programme puis exercice puis série (temps/répétitions/score si suivis). Relance : utilise la séance-modèle associée si elle existe encore, sinon relance depuis le snapshot historique avec message explicite.
Exigences de données remontées à Architect
- Conditions disponibles par exercice + label/unité du score.
- Snapshot vs référence : programme ajouté à une séance-modèle = copie indépendante de la structure (exercices, ordre, mesures actives), mais avec surcharge locale possible du nombre de séries et des valeurs cibles numériques par exercice.
- Repos rattaché à la série/l'exercice précédent (portable lors d'un réordonnancement), avec surcharge possible à l'exécution.
- État de séance interruptible/reprenable avec horodatages (robustesse arrière-plan).
- Historique = snapshot complet et autonome, avec lien optionnel (non structurant) vers la séance-modèle source.
- Exercice supprimé mais référencé ailleurs → conserver copie/référence historique lisible ("archivé").