feat: watch design from figma

This commit is contained in:
leon
2026-09-07 16:02:36 +02:00
parent b9930b7378
commit dcecd07d56
48 changed files with 2927 additions and 243 deletions
+54
View File
@@ -0,0 +1,54 @@
# Haptika Watch — contrôle de fidélité Figma
Source : https://www.figma.com/design/2FOpWaxKTfJi0ogQBNizXi/haptika?node-id=566-10144
Les 13 écrans de la section WATCH ont été relus via `get_design_context`. Les textes extraits du MCP sont conservés dans `corrected/figma-copy.json`. Les captures finales sont dans `corrected/` ; `corrected/all-screens.png` les rassemble.
## Corrections de fidélité
- Mesure : suppression de la préparation ajoutée. L’écran présente « ANALYSE », un anneau circulaire de 78 points avec le cœur exporté de Figma, « 01:00 », « Restez immobile » et « Fermer ». Le temps de recherche du signal ne remplace plus le minuteur de mesure par 00:30.
- Accueil : « MON ÉTAT ACTUEL », « MESURER LA VCF » et « ACTUALISER MON ÉTAT », conformément à la maquette, y compris son libellé VCF. Jauge circulaire, pourcentage et petit axe coloré rétablis.
- Résultat : grand pourcentage, dégradé cyan et axe horizontal du Figma. Suppression des cartes et questionnaires ajoutés.
- Respiration : libellés exacts, préparation avec son rectangle arrondi de la maquette, petit interrupteur, orbe circulaire, FOCUS / LIBRE et Terminer. Plus de texte « À votre rythme » ni d’écran « Séance terminée » ajouté.
- Ancrage : casse « Sos Stress », liste violette, session avec minuteur SF Pro et bouton Arrêter.
- Méditation : introduction centrée, sans duplication du titre, sans interrupteur ni bouton ajouté. Texte et retours à la ligne du Figma conservés, y compris « Ressenter ».
- Endormissement : écran sombre et bouton Arrêter. Réveil : heure et Arrêter. Cadran : heure, HAPTIKA, deux raccourcis ronds, VFC / SOS et icône SOS originale.
- Les halos sont dessinés dans une forme circulaire avec une fin transparente ; ils ne sont plus coupés par le rectangle de leur conteneur.
- Police Inter embarquée sous licence OFL pour les textes Inter ; police système pour les éléments SF Pro. Tailles, graisses, couleurs et boutons ajustés depuis les propriétés des nœuds.
- Les catégories sont accessibles par pages verticales depuis l’accueil. Les vues complémentaires non présentes dans la section WATCH ne sont plus ajoutées à ce parcours.
## Écrans contrôlés
| Capture | Nœud |
| --- | --- |
| home | 460:1606 |
| measure | 504:19 |
| result | 470:31 |
| breathe | 479:410 |
| prepare | 640:9 |
| breathing | 479:238 |
| anchor | 479:329 |
| anchoring | 479:479 |
| meditate | 480:543 |
| meditation | 481:666 |
| sleep | 486:729 |
| wake | 487:784 |
| face | 487:818 |
## Mode maquette et données réelles
Le lancement de contrôle utilise `--figma-preview`. Ce mode est limité à une compilation Debug sur simulateur. Il reprend les valeurs illustratives du Figma (72 %, 68, 7:12, 10:09), sans mesure, vibration, sauvegarde ni synchronisation. Il ne transforme jamais un BPM en pourcentage VFC.
`--figma-screen measure` (ou un nom de capture du tableau) ouvre directement l’écran et fige ses données pour la comparaison. Sans `--figma-screen`, le minuteur du parcours de démonstration décompte les 60 secondes.
Sur une vraie montre, l’acquisition cardiaque demeure reliée au service existant. En l’absence de source de score VFC, le pourcentage reste « — » et aucun qualificatif d’équilibre n’est inventé. Les protocoles non configurés, le réveil et les complications système restent des interfaces sans moteur associé. Ces limites sont documentées ici, sans ajout de texte aux maquettes.
## Validation
- Compilation Watch Debug réussie.
- 8 tests WatchCoreTests réussis, aucun échec.
- Comparaison visuelle des 13 captures sur Apple Watch Series 10 46 mm, watchOS 11.5.
- L’heure système watchOS apparaît au-dessus de l’interface ; les maquettes Figma ne la dessinent pas. Les marges évitent son chevauchement avec les titres.
- Les écrans iPhone et le manifeste de protocoles partagé ne sont pas modifiés.
Les captures à la racine de ce dossier proviennent de la première intégration ; celles de `corrected/` font foi pour cette correction.
Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

+83
View File
@@ -0,0 +1,83 @@
{
"460:1606": [
"mon état actuel",
"72",
"%",
"Mesurer la VCF",
"Actualiser mon état"
],
"504:19": [
"Analyse",
"01:00",
"Restez immobile",
"Fermer"
],
"470:31": [
"RÉSULTAT",
"72",
"%",
"Équilibre favorable",
"Fermer"
],
"479:410": [
"Respirer",
"Cohérence",
"Calme express",
"Équilibre",
"4·7·8"
],
"640:9": [
"Cohérence Cardiaque",
"Prêt pour la séance ?",
"Mode écran noir",
"Commencer"
],
"479:238": [
"Inspirez",
"FOCUS",
"LIBRE",
"Terminer"
],
"479:329": [
"Ancrer",
"Micro-Ancrage",
"Sos Stress",
"Apaiser",
"Booster",
"Endormissement"
],
"479:479": [
"Session en cours",
"13:05",
"Arrêter"
],
"480:543": [
"Méditation",
"Découverte",
"Présence",
"Sensation",
"Atterrissage",
"Libre"
],
"481:666": [
"Découverte",
"Cinq minutes de vibrations",
"espacées. Ressenter,",
"sans rien modifier."
],
"486:729": [
"Arrêter"
],
"487:784": [
"RÉVEIL",
"7:12",
"Arrêter"
],
"487:818": [
"10:09",
"HAPTIKA",
"68",
"VFC",
"SOS"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB