# Matrice de fonctionnalités Figma Comparaison fonctionnalité par fonctionnalité des capacités de Figma Design avec l'état d'implémentation actuel d'Open Pencil. ::: tip Légende des statuts ✅ Supporté — la fonctionnalité est complète · 🟡 Partiel — le comportement de base existe, certaines sous-fonctionnalités manquent · 🔲 Pas encore implémenté ::: **Couverture :** 94 des 158 éléments Figma traités — 76 ✅ entièrement supportés, 18 🟡 partiels, 64 🔲 en attente. Dernière mise à jour : 2026-03-07. ## Interface et navigation | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Barre d'outils de design | ✅ | Barre inférieure (style UI3) : Sélection, Frame, Section, Rectangle, Ellipse, Ligne, Texte, Main, Plume | | Panneau des calques (barre latérale gauche) | ✅ | Vue en arbre avec expansion/réduction, réordonnancement par glissement, toggle de visibilité ; largeur redimensionnable | | Panneau des pages | ✅ | Ajouter, supprimer, renommer des pages ; état viewport par page | | Panneau de propriétés (barre latérale droite) | ✅ | Sections : Apparence, Remplissage, Contour, Effets, Typographie, Layout, Position ; largeur redimensionnable | | Zoom et défilement | ✅ | Ctrl + scroll, pinch, ⌘+ / ⌘− / ⌘0, espace+glisser, souris milieu, outil main (H) | | Règles du canevas | ✅ | Règles haut/gauche avec bandes de sélection et badges de coordonnées | | Couleur de fond du canevas | ✅ | Fond par page via le panneau de propriétés | | Guides du canevas | 🔲 | Figma supporte des guides glissables depuis les règles | | Menu d'actions / palette de commandes | 🔲 | Recherche d'actions rapides de Figma | | Menu contextuel | ✅ | Clic droit avec presse-papiers, ordre-z, groupement, composant, visibilité, verrouillage, déplacer-vers-page | | Raccourcis clavier | 🟡 | Raccourcis de base + composants + ordre-z + visibilité/verrouillage implémentés ; Échelle, Flèche, Crayon, retournement, formatage texte pas encore câblés | | Rechercher et remplacer | 🔲 | Recherche/remplacement de texte dans le document | | Vue des contours de calques | 🔲 | Vue filaire de tous les calques | | Miniatures personnalisées | 🔲 | Miniature générée à l'export, mais pas de sélecteur personnalisé | | Réglages de valeur de nudge | 🔲 | Défaut 1px/10px ; Figma permet des valeurs personnalisées | | Menu de l'app (mode navigateur) | ✅ | Menus Fichier, Édition, Affichage, Objet, Texte, Disposition ; Tauri utilise les menus natifs | | Outils IA | 🟡 | 90+ outils via Anthropic, OpenAI, Google AI, OpenRouter + serveur MCP ; pas d'images générées par IA ni de recherche IA encore | ## Calques et formes | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Outils de forme (Rectangle, Ellipse, Ligne, Polygone, Étoile) | ✅ | Tous les types de forme de base ; côtés du polygone et rayon intérieur de l'étoile configurables | | Frames | ✅ | Découpe du contenu, système de coordonnées indépendant | | Groupes | ✅ | ⌘G pour grouper, ⇧⌘G pour dégrouper | | Sections | ✅ | Pilules de titre, auto-adoption des nœuds superposés, texte adaptatif à la luminance | | Outil arc (arcs, demi-cercles, anneaux) | ✅ | arcData avec angle début/fin et rayon intérieur | | Outil crayon (main levée) | 🔲 | Outil de dessin à main levée de Figma | | Masques | 🔲 | Masques de forme pour découper les calques | | Types de calques et hiérarchie | ✅ | 17 types de nœuds, Map plat + arbre parent-enfant | | Sélectionner des calques | ✅ | Clic, shift-clic, sélection par marquise | | Alignement et position | ✅ | Position, rotation, dimensions dans le panneau | | Copier et coller des objets | ✅ | Presse-papiers standard + format binaire Kiwi de Figma | | Mettre à l'échelle proportionnellement | 🟡 | Shift-redimensionner contraint les proportions ; pas d'outil Scale dédié (K) | | Verrouiller et déverrouiller des calques | ✅ | ⇧⌘L toggle le verrouillage | | Basculer la visibilité | ✅ | Icône œil dans le panneau + raccourci ⇧⌘H | | Renommer des calques | ✅ | Double-clic renommage inline ; Entrée/Échap/clic pour valider | | Mettre au premier plan / Envoyer en arrière | ✅ | Raccourcis ] et [ ; aussi dans le menu contextuel | | Déplacer vers une page | ✅ | Déplacer les nœuds entre pages via menu contextuel | | Contraintes (redimensionnement réactif) | 🔲 | Épingler bords/centre pour le comportement de resize parent | | Sélection intelligente (distribuer/aligner) | 🔲 | Espacer et aligner uniformément | | Guides de layout (colonnes, lignes, grille) | 🔲 | Guides colonne/ligne/grille sur les frames | | Mesurer les distances entre calques | 🔲 | Alt-survol pour afficher les distances | | Éditer des objets en lot | ✅ | Panneau multi-sélection : valeurs partagées affichées normalement, valeurs différentes affichent « Mixed » | | Identifier les objets similaires | 🔲 | Trouver des calques similaires | | Copier/coller des propriétés | 🔲 | Copier remplissage/contour/effets entre calques | | Relations parent-enfant | ✅ | Hiérarchie complète avec parentIndex, re-parentage par glissement | ## Outils vectoriels | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Réseaux vectoriels | ✅ | Modèle compatible Figma, pas de chemins simples | | Outil plume | ✅ | Points d'angle, courbes de Bézier, chemins ouverts/fermés | | Éditer des calques vectoriels | 🟡 | Création fonctionne ; édition avancée de sommets limitée | | Opérations booléennes (Union, Soustraction, Intersection, Exclusion) | 🔲 | Combiner des formes avec des opérations booléennes | | Aplatir des calques | 🔲 | Fusionner les chemins vectoriels | | Convertir les contours en chemins | 🔲 | Commande Outline Stroke | | Convertir le texte en chemins | 🔲 | Aplatir le texte en contours vectoriels | | Outil shape builder | 🔲 | Outil booléen interactif | | Décalage de chemin | 🔲 | Inset/outset d'un chemin vectoriel | | Simplifier le chemin | 🔲 | Réduire le nombre de points vectoriels | ## Texte et typographie | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Outil texte et édition en ligne | ✅ | Édition native sur canevas, textarea phantom, style runs (⌘B / I / U, bouton S) | | Rendu de texte (Paragraph API) | ✅ | CanvasKit Paragraph pour le façonnage, les sauts de ligne, les métriques | | Chargement de polices (polices système) | ✅ | Inter par défaut, font-kit dans Tauri avec cache OnceLock, queryLocalFonts dans le navigateur | | Famille et graisse de police | ✅ | FontPicker avec défilement virtuel, recherche, aperçu CSS | | Taille de police et interligne | ✅ | Éditable dans la section typographie | | Alignement du texte | 🟡 | Alignement de base ; Figma a l'alignement vertical et les modes auto-largeur/hauteur | | Styles de texte | 🟡 | Gras/italique/souligné/barré par sélection ; pas de presets réutilisables encore | | Modes de redimensionnement du texte | 🔲 | Modes auto-largeur, auto-hauteur, taille-fixe de Figma | | Listes à puces et numérotées | 🔲 | Formatage de listes dans le texte | | Liens dans le texte | 🔲 | Hyperliens dans le contenu texte | | Emojis et symboles intelligents | 🔲 | Rendu d'émojis et caractères spéciaux | | Fonctionnalités OpenType | 🔲 | Ligatures, alternatives stylistiques, chiffres tabulaires | | Polices variables | 🔲 | Axes de police ajustables (graisse, largeur, inclinaison) | | Support texte CJK | 🔲 | Rendu du texte chinois, japonais, coréen | | Support texte RTL | 🔲 | Mise en page de texte de droite à gauche | | Polices d'icônes | 🔲 | Gestion spéciale des glyphes de polices d'icônes | ## Couleur, dégradés et images | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Sélecteur de couleur (HSV) | ✅ | Carré HSV, curseur de teinte, curseur alpha, entrée hex | | Remplissages solides | ✅ | Couleur hex avec opacité | | Dégradé linéaire | ✅ | Arrêts de dégradé, poignées de transformation | | Dégradé radial | ✅ | Rendu via shaders CanvasKit | | Dégradé angulaire | ✅ | Support dégradé sweep/conique | | Dégradé diamant | ✅ | Dégradé diamant à quatre points | | Remplissages d'image | ✅ | Décodés à partir de données blob avec modes d'échelle (fill, fit, crop, tile) | | Remplissages de motif | 🔲 | Remplissages d'image/motif répétitif | | Modes de fusion | 🔲 | Modes de fusion de calque et remplissage (multiply, screen, overlay, etc.) | | Ajouter des images et vidéos | 🟡 | Remplissages d'image rendus ; pas d'import drag-and-drop ni support vidéo | | Ajustement des propriétés d'image | 🔲 | Exposition, contraste, saturation, etc. | | Recadrer une image | 🔲 | Recadrage interactif d'images | | Outil pipette | 🔲 | Échantillonner des couleurs du canevas | | Édition de couleur en sélection mixte | 🔲 | Ajuster les couleurs dans une sélection hétérogène | | Modèles de couleur (RGB, HSL, HSB, Hex) | 🟡 | HSV + Hex dans le sélecteur ; pas de bascule mode HSL ou RGB | ## Effets et propriétés | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Ombre portée | ✅ | Décalage, rayon de flou, couleur via filtres CanvasKit | | Ombre intérieure | ✅ | Effet d'ombre inset | | Flou de calque | ✅ | Flou gaussien sur le calque | | Flou d'arrière-plan | ✅ | Flouter le contenu derrière le calque | | Flou de premier plan | ✅ | Flou au premier plan | | Épaisseur du contour | ✅ | Configurable dans le panneau de propriétés | | Extrémité du contour (round, square, arrow) | ✅ | `NONE`, `ROUND`, `SQUARE`, `ARROW_LINES`, `ARROW_EQUILATERAL` | | Jointure du contour (miter, bevel, round) | ✅ | Les trois types de jointure | | Motifs de tirets | ✅ | Motif de contour dash-on/dash-off | | Rayon de coin | ✅ | Rayon uniforme et par coin avec toggle indépendant | | Lissage de coin (style iOS) | 🔲 | Arrondi continu des coins de Figma | | Remplissages/contours multiples par calque | 🔲 | Figma permet d'empiler remplissages et contours | ## Auto Layout | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Flux horizontal et vertical | ✅ | Moteur flexbox Yoga WASM | | Basculer auto layout (⇧A) | ✅ | Basculer sur un frame ou envelopper la sélection | | Gap (espacement entre enfants) | ✅ | Configurable dans le panneau de propriétés | | Padding (uniforme et par côté) | ✅ | Les quatre côtés indépendamment | | Justify content | ✅ | Start, center, end, space-between | | Align items | ✅ | Start, center, end, stretch | | Dimensionnement des enfants (fixe, remplir, ajuster) | ✅ | Modes de dimensionnement par enfant | | Wrap | ✅ | Flex wrap pour layout multi-ligne | | Flux auto layout en grille | ✅ | CSS Grid via fork Yoga — tracks colonnes/lignes, gaps, spans | | Flux combinés (imbriqués) | ✅ | Frames auto-layout imbriqués avec directions différentes | | Réordonnancer par glissement dans auto layout | ✅ | Indicateur visuel d'insertion | | Largeur/hauteur min et max | 🔲 | Figma supporte les contraintes min/max | ## Composants et systèmes de design | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Créer des composants | 🟡 | ⌥⌘K crée depuis frame/groupe ; pas d'UI de propriétés de composant encore | | Ensembles de composants | 🟡 | ⇧⌘K combine des composants ; bordure pointillée violette ; pas d'édition de propriétés de variante | | Instances de composants | 🟡 | Créer instance depuis menu contextuel ; sync en direct ; pas d'UI d'édition de surcharges | | Variantes | 🔲 | Changement de variante et sélection par propriétés | | Propriétés de composant | 🔲 | Propriétés booléennes, texte, échange d'instance | | Propagation des surcharges | ✅ | Changements du composant principal propagés ; surcharges préservées | | Variables (couleur, nombre, chaîne, booléen) | 🟡 | `COLOR` avec UI complète ; `FLOAT`/STRING/BOOLEAN définis sans UI d'édition | | Collections et modes de variables | 🟡 | Collections, modes, changement activeMode fonctionnent ; pas d'UI de thématisation | | Styles (couleur, texte, effet, layout) | 🔲 | Presets de style réutilisables nommés | | Bibliothèques (publier, partager, mettre à jour) | 🔲 | Bibliothèques partagées de composants/styles | | Détacher une instance | ✅ | ⌥⌘B convertit une instance en frame | | Aller au composant principal | ✅ | Naviguer vers le composant source, cross-page | ## Prototypage | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Connexions de prototype | 🔲 | Pas encore pris en charge | | Déclencheurs (clic, survol, glisser, etc.) | 🔲 | Pas encore pris en charge | | Actions (naviguer, overlay, scroll, etc.) | 🔲 | Pas encore pris en charge | | Animations et transitions | 🔲 | Pas encore pris en charge | | Smart animate | 🔲 | Auto-animer les calques correspondants | | Overlays | 🔲 | Prototypage modal/popover | | Comportement de scroll et overflow | 🔲 | Frames scrollables dans les prototypes | | Flux de prototype | 🔲 | Points de départ nommés | | Variables dans les prototypes | 🔲 | Logique conditionnelle avec variables | | Easing et animations spring | 🔲 | Courbes d'animation personnalisées | | Présenter et jouer les prototypes | 🔲 | Visionneuse de prototype plein écran | ## Import et export | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Import de fichier .fig | ✅ | Codec Kiwi complet : 194 définitions, ~390 champs par `NodeChange` | | Export de fichier .fig | ✅ | Encodage Kiwi + compression Zstd + génération de miniature | | Enregistrer / Enregistrer sous | ✅ | ⌘S / ⇧⌘S ; dialogues natifs (Tauri), File System Access API (Chrome/Edge), téléchargement (Safari) | | Presse-papiers Figma (coller) | ✅ | Décoder binaire Kiwi du presse-papiers Figma | | Presse-papiers Figma (copier) | ✅ | Encoder binaire Kiwi lisible par Figma | | Import de fichier Sketch | 🔲 | Analyse de fichiers .sketch | | Export image/SVG | 🟡 | PNG/JPG/WEBP avec sélecteur d'échelle et aperçu ; WEBP/SVG export ✅ ; PDF export 🔲 | | Historique des versions | 🔲 | Parcourir et restaurer les versions précédentes | | Copier des assets entre outils | 🟡 | Presse-papiers Figma fonctionne ; Copier comme texte/SVG/PNG/JSX | ## API de plugins et scripting | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Commande eval avec Figma Plugin API | ✅ | Exécution headless de JavaScript avec objet global figma compatible | ## Collaboration et mode développeur | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Commentaires (épingler, fils, résoudre) | 🔲 | Pas encore pris en charge | | Multijoueur en temps réel | ✅ | P2P via Trystero + Yjs CRDT, curseurs, mode suivi ; sans serveur | | Chat au curseur | 🔲 | Bulles de chat inline au curseur | | Branching et merging | 🔲 | Branches de version pour fichiers de design | | Mode développeur (inspecter) | 🟡 | Onglet Code montre JSX ; pas de propriétés CSS ni specs de handoff | | Code Connect | 🔲 | Lier composants de design au code | | Extraits de code | 🟡 | Export JSX avec coloration et copie ; pas d'extraits CSS/Swift/Kotlin | | Figma for VS Code | 🔲 | Intégration plugin éditeur | | Serveur MCP | ✅ | @open-pencil/mcp avec transports stdio + HTTP ; 90+ outils core + 3 gestion de fichiers = 90+ total | | Outils CLI | ✅ | CLI headless : info, tree, find, export, analyze, node, pages, variables, eval ; serveur MCP | ## Figma Draw | Fonctionnalité | Statut | Notes | |---------------|--------|-------| | Outils d'illustration | 🔲 | Outils de dessin spécialisés de Figma Draw | | Transformations de motif | 🔲 | Créer des motifs répétitifs avec des transformations |