Communitygithub.com

conception-garmin

Conçoit et révise l'affichage d'un écran de montre Garmin, couvrant les écrans ronds de 218 à 466 px, les palettes AMOLED et MIP 64 couleurs, les polices bitmap, le texte qui tient dans son emplacement, les arcs, les icônes et les fonds blancs. À utiliser lors du dessin d'un cadran Connect IQ, d'un champ de données ou d'un écran d'application, ou lorsque le texte, les couleurs ou le placement semblent incorrects sur certaines montres.

Qu'est-ce que conception-garmin ?

Cette compétence garantit qu'un même design s'affiche correctement sur tous les écrans ronds Garmin, du Forerunner MIP 218 px au fēnix AMOLED 466 px. Elle s'adresse aux développeurs utilisant Connect IQ (Monkey C) pour créer des cadrans, champs de données ou écrans d'application. Elle propose neuf tailles d'écran de référence (218, 240, 260, 280 px en MIP 64 couleurs ; 360, 390, 416, 454, 466 px en AMOLED) et recommande de tester sur une montre par taille avec les valeurs les plus longues. Les principes clés incluent le positionnement relatif via `dc.getFontHeight()` et `TEXT_JUSTIFY_VCENTER`, l'utilisation de polices bitmap personnalisées (format BMFont) pour les chiffres importants, l'évitement des accents dans les polices centrées, la vérification que chaque chiffre se lit distinctement, l'adaptation de chaque libellé à son emplacement dans toutes les langues (les traductions françaises sont souvent plus longues), le choix manuel des couleurs MIP (seulement 64 couleurs, valeurs 00/55/AA/FF), le tracé d'arcs lisses avec `drawArc`, le dimensionnement des aiguilles pour ne pas masquer les éléments sous-jacents, et la production d'icônes en haute résolution (1024 px) réduites par filtre LANCZOS pour chaque taille d'écran. La compétence s'appuie sur des fichiers de documentation séparés (`screens.md`, `fonts.md`, `colors.md`) et distingue clairement le comportement Monkey C (compétence `garmin-app`) de la capture d'écran (compétence `garmin-simulator`).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jk0bson/garmin-skills/tree/main/skills/garmin-design

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Conception d'écran Garmin

Cette compétence garantit qu'un seul design s'affiche correctement sur tous les écrans ronds Garmin, du Forerunner MIP 218 px au fēnix AMOLED 466 px. Un écran qui semble correct sur une montre n'est qu'une première ébauche.

Le comportement Monkey C relève de garmin-app. La capture d'écran relève de garmin-simulator.

Concevoir pour neuf tailles d'écran, tester une de chaque

Les écrans ronds Connect IQ existent en 218, 240, 260, 280 (MIP, 64 couleurs) et 360, 390, 416, 454, 466 px (AMOLED). Avant de déclarer un écran terminé, exécutez-le sur une montre par taille avec les valeurs les plus longues qu'il peut afficher (screens.md).

Placer à partir des hauteurs mesurées, pas de pixels fixes

Les polices AMOLED sont plus hautes que les polices MIP à taille nominale égale. Positionnez avec des fractions de l'emplacement et dc.getFontHeight(), et centrez avec TEXT_JUSTIFY_VCENTER sur les polices dont la hauteur de ligne est ajustée aux glyphes.

Utilisez vos propres polices bitmap pour les chiffres importants

Les polices système diffèrent selon les montres et de nombreux petits écrans n'ont pas de polices vectorielles. Générez un .fnt + .png BMFont par taille d'écran avec uniquement les caractères que vous dessinez, stockez la couverture des glyphes dans le canal de couleur et le canal alpha, sinon rien n'est anticrénelé sur la montre, et ajustez la hauteur de ligne aux glyphes (fonts.md).

Gardez les accents hors des polices que vous centrez

Une police dont le jeu de caractères inclut É ou À réserve de l'espace au-dessus des capitales, donc VCENTER place les capitales trop bas. Un pillard de zone affichait "Z4" décentré jusqu'à ce qu'il reçoive sa propre police avec seulement Z, les chiffres et -.

Vérifiez que chaque chiffre se lit distinctement

Certaines polices dessinent 1 comme un simple trait, donc "Z1" se lit "ZI" et "101" se lit "IOI" au premier coup d'œil. Examinez 1, 7, 0 et O en grand avant de choisir une police. Si l'un échoue, choisissez une autre police ou redessinez ce glyphe dans votre propre générateur de polices.

Chaque libellé tient dans son emplacement dans toutes les langues

Mesurez la largeur en pixels de chaque libellé dans chaque langue par rapport à l'emplacement qu'il occupe. Les libellés traduits sont plus longs (les français débordaient) ; mesurez, ne présumez pas. Supprimez l'unité, puis abrégez, ne laissez jamais deux libellés se toucher (screens.md).

Choisissez vous-même les couleurs MIP

Les écrans MIP n'affichent que 64 couleurs, valeurs de canal 00/55/AA/FF uniquement. Le compilateur arrondit mal (un marron est devenu vert olive). Conservez des palettes séparées pour les fonds AMOLED, MIP et blancs, et choisissez chaque couleur MIP à l'œil parmi les 64 (colors.md).

Dessinez les arcs avec drawArc

Les arcs construits à partir de polygones semblent dessinés à la main sur une montre réelle. dc.drawArc est lisse. Un arc allant d'un angle à lui-même dessine un cercle complet : protégez les arcs de longueur nulle.

Un marqueur mobile ne doit pas couvrir ce qu'il pointe

Une aiguille ou un bitmap dessiné sur du texte l'efface. Dimensionnez les marqueurs par rapport au texte qui les entoure sur toutes les tailles d'écran ; une aiguille assez longue pour être lisible sur 390 px touchait l'icône de fréquence cardiaque dans les zones basses.

Dessinez les icônes une fois, en grand

Dessinez l'icône du lanceur à 1024 px, réduisez-la avec LANCZOS à chaque taille launcherIcon du compiler.json de l'appareil, et enregistrez-en une par resources-round-WxH/drawables/. Utilisez la palette 64 couleurs pour les tailles MIP.

Skills associés