Files
GameTime/.ideai/tickets/17/carnet.md
Blomios e35ff8fba0 docs(ideai): met à jour la mémoire et les tickets après l'identité visuelle
Ajoute la note mémoire sur l'identité visuelle Court Blazer et reflète
le ticket #17 (terminé) ainsi que le cadrage du ticket #18.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 23:46:30 +02:00

2.5 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#17 4
kind agent_id
agent 57695b92-24d0-4876-837c-76116e70a6ae
1784324772157

Détail technique à respecter :

  • pubspec.yaml : déclarer les polices locales sous flutter: fonts: avec deux familles : "Anton" (assets/fonts/Anton-Regular.ttf) et "Archivo" (assets/fonts/Archivo-Variable.ttf, police variable — Flutter gère nativement FontWeight dessus, pas besoin de fichiers séparés par graisse).
  • Créer/étendre un fichier de thème centralisé (ex: lib/presentation/theme.dart) avec deux ThemeData (light/dark) construits depuis les tokens de la mémoire "gametime-visual-identity". Éviter de dupliquer les couleurs en dur dans chaque écran : passer par ColorScheme/TextTheme centralisés, réutilisés par tous les écrans existants (#6 à #10).
  • textTheme : displayLarge/headlineLarge/titleLarge etc. en Anton pour les titres ; bodyLarge/bodyMedium/labelLarge en Archivo. Les chiffres du chrono, du stepper de répétitions et du score doivent utiliser explicitement Anton (via un TextStyle dédié réutilisable, ex: AppTextStyles.scoreNumber), avec fontFeatures/fontVariations tabulaires si disponible pour éviter les sauts visuels.
  • Le sélecteur de thème clair/sombre existant (ou à créer si absent) doit permuter entre les deux ThemeData sans redémarrer l'app.
  • Composants : rayon de bordure global 6px (via CardTheme/ButtonTheme/etc. plutôt qu'en dur par écran), pas d'ombre portée sur les cartes (elevation 0 + bordure fine --border), liseré supérieur 2px couleur accent sur les cartes clés identifiées dans la mémoire (bloc chrono de l'écran d'exécution, carte d'historique, bandeau de reprise de séance).
  • Logo : reproduire le concept "patch" (rectangle arrondi rx~9, contour or, bande diagonale crimson clippée, point or, monogramme "GT" en Anton) en widget Flutter réutilisable (CustomPainter ou assemblage de Container/ClipPath), utilisé dans l'app bar/en-tête à la place du texte seul actuel, et comme icône d'app Android (adaptive icon) si le temps le permet — sinon signale-le comme restant à faire.
  • Vérifie que ce nouveau thème ne casse aucun test widget existant (les tests cherchent du texte/des types de widgets, pas des couleurs précises normalement, mais vérifie les assertions de type de bouton/style si certaines en dépendent).

Rappel environnement (mémoire "gametime-dev-environment") : ton sandbox n'a pas accès pub.dev, donne les commandes exactes à lancer côté Main (pub get, analyze, test, build apk).