* docs: polish localized documentation - Rewrite Russian documentation for natural terminology and current source parity\n- Continue the Polish editorial pass across guides and SDK references\n- Refresh shared localized SDK API data imports * docs(pl): complete editorial pass - Rewrite the remaining advanced Vue SDK references\n- Refresh the Figma compatibility matrix against the canonical source\n- Align terminology and behavior across every Polish documentation page * docs(de): complete editorial pass - Rewrite German guides, automation docs, and Vue SDK references\n- Restore current AI, export, component, and variable behavior\n- Refresh the Penpot comparison and Figma compatibility matrix * docs(es): complete editorial pass - Rewrite Spanish guides, automation docs, and Vue SDK references\n- Restore current AI, export, component, and variable behavior\n- Refresh the Penpot comparison and Figma compatibility matrix * docs(fr): complete editorial pass - Rewrite French guides, automation docs, and Vue SDK references\n- Restore current AI, export, component, and variable behavior\n- Refresh the Penpot comparison and Figma compatibility matrix * docs: correct localized terminology - Replace unnecessary English prose with natural localized terminology\n- Derive documentation aliases from named directory roots\n- Preserve English only for identifiers, APIs, and exact product terms * docs(it): continue editorial pass - Rewrite Italian user guides and automation documentation\n- Update Vue SDK composables and component references\n- Restore current AI, export, component, and variable behavior * docs(it): complete editorial pass - Finish Italian advanced SDK and reference documentation\n- Refresh the Penpot comparison and Figma compatibility matrix\n- Replace literal machine translations with natural technical prose * docs(pl): refine property panel terminology * docs: refine remaining localized prose - Replace overfitted English prose in Polish feature documentation\n- Rewrite the Russian property-list reference in natural terminology * docs(ru): rewrite Penpot comparison naturally - Replace remaining English prose with natural Russian\n- Preserve code identifiers and library names only where required * docs: rewrite localized feature overviews naturally - Replace avoidable English prose in German, Spanish, and French\n- Keep identifiers and product names unchanged * docs(de): refine property panel terminology * docs: refine Spanish and French SDK terminology * docs(ru): continue full prose audit - Rewrite homepage, setup, navigation, and guide index naturally\n- Restore missing zoom shortcuts * docs(ru): audit user and automation guides - Rewrite selection, collaboration, and automation prose naturally\n- Preserve API identifiers while localizing ordinary terminology * docs(ru): audit CLI inspection and analysis * docs(ru): audit Vue SDK overview and guides * docs(ru): audit Vue SDK API prose - Localize ordinary component and composable terminology\n- Preserve API symbols and code identifiers * docs(ru): audit advanced and gradient API references * docs(ru): finish advanced API prose audit * docs(ru): audit JSX renderer guide * docs(ru): audit CLI export and scripting guides * docs(pl): audit Penpot comparison prose * docs(pl): audit selection and automation guides * docs(pl): audit homepage and variable guides * docs(pl): audit vector, layers, and Pen guides * docs(pl): audit Auto layout and shape guides * docs(pl): audit context menu and export guides * docs(pl): audit JSX and analysis guides * docs(pl): audit AI Chat guide * docs(pl): audit components and CLI inspection * docs(pl): audit scripting and SDK overview prose * docs(pl): audit SDK API indexes * docs(pl): audit SDK component references * docs(pl): audit SDK composable references * docs(ru): refine usePosition terminology * docs(pl): audit advanced SDK references * docs(pl): audit Figma compatibility matrix * docs(pl): finish residual SDK terminology audit * docs(pl): finish component terminology audit * docs(pl): finish SDK guide terminology audit * docs(de): begin full user guide prose audit * docs(de): audit navigation, Pen, and layers guides * docs(de): audit Auto Layout, shapes, menu, and export * docs(de): audit components, text, and vector guides * docs(de): audit variables and automation overview * docs(de): audit AI Chat and collaboration guides * docs(de): audit CLI inspection, analysis, and export * docs(de): audit scripting and JSX guides * docs(de): audit Vue SDK overview and guides * docs(de): audit SDK API indexes * docs(de): audit SDK component references * docs(de): audit SDK composable references * docs(de): audit advanced SDK references * docs(de): audit Penpot comparison prose * docs(de): audit Figma compatibility reference * docs(es): begin full user guide prose audit * docs(es): audit document organization guides * docs(es): audit editing workflow guides * docs(es): audit automation and collaboration prose * docs(es): audit CLI inspection and export guides * docs(es): audit CLI scripting guide * docs(es): audit JSX and feature overview prose * docs(es): audit Penpot comparison prose * docs(es): audit SDK overview and guides * docs(es): begin SDK component reference audit * docs(es): audit SDK navigation component references * docs(es): audit SDK color and layout components * docs(es): begin SDK composable reference audit * docs(es): audit SDK property composable references * docs(es): audit SDK editor composable references * docs(es): begin advanced SDK reference audit * docs(es): audit advanced SDK state references * docs(es): complete advanced SDK reference audit * docs(es): audit Figma compatibility reference * docs(es): complete residual terminology sweep * docs(fr): begin full prose second audit * docs(fr): audit AI and variables prose * docs(fr): audit core user guide prose * docs(fr): audit editing workflow guides * docs(fr): audit CLI and JSX prose * docs(fr): audit Penpot comparison prose * docs(fr): audit SDK overview and guides * docs(fr): begin SDK API reference audit * docs(fr): audit SDK navigation component references * docs(fr): audit SDK color and layout components * docs(fr): begin SDK composable reference audit * docs(fr): audit SDK property composable references * docs(fr): audit editor composables and advanced APIs * docs(fr): audit advanced SDK state references * docs(fr): complete advanced SDK reference audit * docs(fr): audit Figma compatibility reference * docs(fr): complete residual terminology sweep * docs(it): begin full prose second audit * docs(it): audit document workflow guides * docs(it): audit editing and automation prose * docs(it): audit CLI and JSX prose * docs(it): audit Penpot comparison and SDK guides * docs(it): begin SDK API reference audit * docs(it): audit SDK component and state references * docs(it): audit residual SDK references * docs(it): audit Figma compatibility reference * docs(it): complete residual terminology sweep * docs(i18n): verify residual locale terminology
5.6 KiB
Fonctionnalités
Fichiers Figma
OpenPencil ouvre et enregistre directement les fichiers .fig. L’import et l’export utilisent le même codec binaire Kiwi que Figma : 194 définitions de schéma et environ 390 champs par objet. Enregistrer : ⌘S. Enregistrer sous : ⇧⌘S.
Copier et coller avec Figma : sélectionnez des objets dans Figma, appuyez sur ⌘C, passez à OpenPencil puis utilisez ⌘V. Remplissages, contours, disposition automatique, texte, effets, rayons des coins et réseaux vectoriels sont conservés dans les deux sens.
Dessin et édition
- Formes : rectangle (R), ellipse (O), ligne (L), polygone et étoile.
- Plume : réseaux vectoriels, courbes de Bézier et poignées tangentes.
- Texte : édition directe sur le canevas et prise en charge des IME.
- Texte enrichi : gras, italique, souligné et barré sur des plages de caractères.
- Disposition automatique : Flexbox et CSS Grid via Yoga WASM, avec direction, espacement, marges internes, distribution, alignement, dimensionnement et pistes de grille.
- Composants : création de composants et d’ensembles, instances, substitutions et synchronisation.
- Variables : jetons de design organisés en collections et modes, avec les types Color, Float, String et Boolean et des liaisons.
- Sections : conteneurs d’organisation qui intègrent automatiquement les objets superposés.
Panneau de propriétés
Les onglets Design, Code et AI s’adaptent à la sélection :
- Apparence : opacité, rayon uniforme ou par coin et visibilité.
- Remplissage : couleur unie, dégradés linéaire, radial, angulaire et diamant, et images.
- Contour : couleur, épaisseur, alignement, épaisseur par côté, extrémités, jointures et tirets.
- Effets : ombre portée et intérieure, flou de calque, d’arrière-plan et de premier plan.
- Typographie : choix de police avec recherche et défilement virtuel, style, taille, alignement et mise en forme.
- Disposition : réglages de la disposition automatique.
- Export : échelle, PNG/JPG/WEBP/SVG et aperçu.
Rendu
OpenPencil utilise Skia via CanvasKit WASM, le même moteur graphique que Figma :
- dégradés linéaires, radiaux, angulaires et diamant ;
- remplissages d’image avec plusieurs modes d’échelle ;
- cache des effets par objet ;
- arcs, ellipses partielles et anneaux ;
- exclusion des objets hors champ et réutilisation des outils de peinture ;
- guides d’accrochage tenant compte de la rotation ;
- règles avec plage de sélection ;
- surbrillance suivant la géométrie réelle.
Annuler et rétablir
La création, la suppression, les déplacements, le redimensionnement, les propriétés et la hiérarchie, la disposition et les variables peuvent être annulés. Raccourcis : ⌘Z et ⇧⌘Z.
Pages et documents
Vous pouvez créer, supprimer et renommer des pages ; chacune conserve sa position et son échelle d’affichage. Plusieurs documents peuvent être ouverts dans des onglets.
Export
- Images : PNG, JPG et WEBP de 0,5× à 4×.
- SVG : formes, texte avec plages de style, dégradés, effets et modes de fusion.
- Tailwind JSX : HTML avec classes Tailwind v4 pour React ou Vue.
- Copier comme : texte, SVG, PNG ou JSX depuis le menu contextuel.
openpencil export design.fig -f jsx --style tailwind
Chat AI
⌘J ouvre l’assistant. Plus de 90 outils créent des formes, modifient styles et dispositions, travaillent avec les composants et variables, exécutent des opérations booléennes, analysent les jetons de design et exportent des ressources. Anthropic, OpenAI, Google AI, OpenRouter et les points d’accès compatibles sont pris en charge.
Les appels d’outils apparaissent sur une chronologie repliable. Pour vérifier les modifications, l’assistant rend le résultat et le compare à la demande. Toutes les modifications réalisées par l’AI peuvent être annulées.
Serveur MCP
Claude Code, Cursor, Windsurf et les autres clients MCP peuvent lire et modifier des fichiers .fig grâce à plus de 90 outils. stdio et HTTP sont disponibles.
npm install -g @open-pencil/mcp
CLI
La CLI examine, exporte et analyse les fichiers .fig :
openpencil tree design.fig # Arbre du document
openpencil find design.fig --type TEXT # Recherche
openpencil export design.fig -f png # Export
openpencil analyze colors design.fig # Analyse des couleurs
openpencil analyze clusters design.fig # Structures répétées
openpencil eval design.fig -c "..." # Figma Plugin API
Toutes les commandes acceptent --json. Installation : npm install -g @open-pencil/cli ou bun add -g @open-pencil/cli.
Collaboration en temps réel
La collaboration fonctionne directement entre participants via WebRTC et ne nécessite aucun serveur central. Il suffit de partager un lien. Elle comprend les curseurs, la présence et le suivi de la vue d’un autre participant.
Bureau et Web
Bureau : Tauri v2, environ 7 Mo, pour macOS, Windows et Linux, avec menus natifs, fonctionnement hors ligne et enregistrement automatique.
Web : app.openpencil.dev, installable comme PWA et adapté aux écrans tactiles.
Chargement de secours depuis Google Fonts
Si une police n’est pas disponible localement, OpenPencil la télécharge automatiquement depuis Google Fonts. Aucune installation manuelle n’est nécessaire.