Compatibilidad con Figma
Comparación entre las funciones de Figma Design y el estado actual de OpenPencil.
Estado
✅ Compatible — funciona de principio a fin · 🟡 Parcial — existe el comportamiento principal, pero faltan algunas funciones · 🔲 No implementado
Cobertura: 94 de 158 funciones consideradas — 76 ✅ completas, 18 🟡 parciales y 64 🔲 pendientes. Actualizado: 2026-03-07.
Interfaz y navegación
| Función | Estado | Notas |
|---|---|---|
| Barra de herramientas | ✅ | Barra inferior de estilo UI3: Selección, Marco, Sección, Rectángulo, Elipse, Línea, Texto, Mano y Pluma |
| Panel de capas | ✅ | Árbol desplegable, reordenación por arrastre, visibilidad y anchura ajustable |
| Panel de páginas | ✅ | Crear, eliminar y renombrar páginas; estado de vista independiente |
| Panel de propiedades | ✅ | Apariencia, relleno, contorno, efectos, tipografía, disposición y posición; anchura ajustable |
| Zoom y desplazamiento | ✅ | Rueda, gesto de pellizco, atajos, Space + arrastre, botón central y Mano (H) |
| Reglas | ✅ | Reglas superior e izquierda con intervalo de selección y coordenadas |
| Fondo del lienzo | ✅ | Fondo independiente por página |
| Guías | 🔲 | No hay guías arrastrables desde las reglas |
| Menú de acciones | 🔲 | No hay búsqueda rápida de acciones |
| Menú contextual | ✅ | Portapapeles, orden, grupos, componentes, visibilidad, bloqueo y cambio de página |
| Atajos | 🟡 | Principales, componentes, orden, visibilidad y bloqueo; faltan Escala, Flecha, Lápiz, Reflejar y parte del formato de texto |
| Buscar y sustituir | 🔲 | No hay búsqueda de texto en todo el documento |
| Contornos de capas | 🔲 | No hay vista alámbrica |
| Miniatura propia | 🔲 | Se genera al exportar, pero no puede elegirse |
| Paso de movimiento | 🔲 | 1 px y 10 px; sin valores personalizados |
| Menú de aplicación | ✅ | Archivo, Editar, Ver, Objeto, Texto y Organizar en navegador; menús nativos en Tauri |
| Herramientas de AI | 🟡 | 90 herramientas; sin imágenes generadas ni búsqueda con AI |
Capas y formas
| Función | Estado | Notas |
|---|---|---|
| Rectángulo, elipse, línea, polígono y estrella | ✅ | Formas básicas; lados e interior configurables |
| Marcos | ✅ | Recorte, coordenadas propias y tamaños predefinidos |
| Grupos | ✅ | ⌘G y ⇧⌘G |
| Secciones | ✅ | Etiquetas, incorporación automática y texto adaptado a la luminancia |
| Arcos | ✅ | arcData con ángulos inicial/final y radio interior |
| Lápiz | 🔲 | No hay dibujo a mano alzada |
| Máscaras | 🔲 | No hay máscaras de forma |
| Tipos y jerarquía | ✅ | 17 tipos, mapa plano y árbol de relaciones |
| Selección | ✅ | Clic, Shift-clic y marco de selección |
| Alineación y posición | ✅ | Posición, giro y dimensiones |
| Copiar y pegar | ✅ | Portapapeles estándar, binario Kiwi y copiar como texto/SVG/PNG/JSX |
| Tamaño proporcional | 🟡 | Shift conserva proporciones; no hay herramienta Escala (K) |
| Bloqueo | ✅ | Los objetos bloqueados no se seleccionan ni mueven |
| Visibilidad | ✅ | Icono de ojo y atajo |
| Renombrar | ✅ | Doble clic; Enter, Escape o pérdida de foco finalizan |
| Adelantar y retrasar | ✅ | Corchetes y menú contextual |
| Mover a página | ✅ | Traslada la selección desde el menú contextual |
| Restricciones | 🔲 | No hay anclaje a bordes o centro al cambiar el tamaño del contenedor |
| Selección inteligente | 🔲 | No distribuye ni alinea uniformemente una selección múltiple |
| Guías de disposición | 🔲 | No hay columnas, filas o cuadrículas superpuestas |
| Medir distancias | 🔲 | No hay medición con Alt al pasar el puntero |
| Edición múltiple | ✅ | Posición, tamaño, apariencia, relleno, contorno y efectos; las diferencias aparecen como Mixed |
| Objetos similares | 🔲 | No identifica objetos coincidentes |
| Copiar propiedades | 🔲 | No copia rellenos, contornos o efectos entre capas |
| Relaciones | ✅ | Jerarquía mediante parentIndex y cambio de contenedor por arrastre |
Vectores
| Función | Estado | Notas |
|---|---|---|
| Redes vectoriales | ✅ | Modelo compatible con Figma, no solo rutas simples |
| Pluma | ✅ | Esquinas, curvas de Bézier y rutas abiertas o cerradas |
| Edición vectorial | 🟡 | Creación disponible; edición avanzada de vértices, curvado, eliminación y unión limitada |
| Operaciones booleanas | 🔲 | No hay unión, resta, intersección o exclusión |
| Aplanar | 🔲 | No combina rutas |
| Convertir contorno | 🔲 | No convierte contornos en rutas |
| Texto a rutas | 🔲 | No convierte texto en contornos vectoriales |
| Constructor de formas | 🔲 | No hay herramienta booleana interactiva |
| Desplazar ruta | 🔲 | No hay contracción o expansión |
| Simplificar ruta | 🔲 | No reduce puntos |
Texto y tipografía
| Función | Estado | Notas |
|---|---|---|
| Texto y edición directa | ✅ | textarea invisible, cursor, selección por palabra/arrastre/doble o triple clic e intervalos de estilo |
| Renderizado | ✅ | CanvasKit Paragraph para composición, saltos de línea y métricas |
| Fuentes del sistema | ✅ | Inter predeterminada, font-kit en Tauri y queryLocalFonts en navegador |
| Familia y estilo | ✅ | FontPicker con desplazamiento virtual, búsqueda y vista previa CSS |
| Tamaño e interlineado | ✅ | Editables en Tipografía |
| Alineación | 🟡 | Alineación básica; faltan vertical y anchura/altura automáticas |
| Estilos de texto | 🟡 | Negrita, cursiva, subrayado y tachado por selección; sin estilos reutilizables con nombre |
| Modos de tamaño | 🔲 | Sin anchura automática, altura automática o tamaño fijo |
| Listas | 🔲 | No hay listas con viñetas o numeradas |
| Enlaces | 🔲 | No hay hipervínculos |
| Emoji y símbolos | 🔲 | Compatibilidad incompleta |
| OpenType | 🔲 | Sin ligaduras, alternativas estilísticas ni cifras tabulares |
| Fuentes variables | 🔲 | No permite ajustar peso, anchura o inclinación |
| CJK | 🔲 | Compatibilidad incompleta con chino, japonés y coreano |
| RTL | 🔲 | No hay disposición de derecha a izquierda |
| Fuentes de iconos | 🔲 | Sin tratamiento especial |
Colores, degradados e imágenes
| Función | Estado | Notas |
|---|---|---|
| Selector de color | ✅ | Campo HSV, tono, transparencia y hexadecimal |
| Rellenos sólidos | ✅ | Color hexadecimal y opacidad |
| Degradado lineal | ✅ | Puntos y tiradores de transformación |
| Degradado radial | ✅ | Sombreadores CanvasKit |
| Degradado angular | ✅ | Degradado cónico |
| Degradado diamante | ✅ | Cuatro puntos |
| Rellenos de imagen | ✅ | Datos binarios y modos Rellenar, Encajar, Recortar y Mosaico |
| Patrones | 🔲 | No hay patrones repetidos |
| Modos de fusión | 🔲 | No hay fusión de capa o relleno |
| Imágenes y vídeo | 🟡 | Renderiza rellenos de imagen; sin importación por arrastre ni vídeo |
| Ajustes de imagen | 🔲 | Sin exposición, contraste o saturación |
| Recorte | 🔲 | No hay recorte interactivo |
| Cuentagotas | 🔲 | No toma colores del lienzo |
| Colores de selección mixta | 🔲 | No modifica colores en una selección heterogénea |
| Modelos de color | 🟡 | HSV y hexadecimal; sin modos HSL o RGB |
Efectos y propiedades
| Función | Estado | Notas |
|---|---|---|
| Sombra exterior | ✅ | Desplazamiento, desenfoque y color mediante filtros CanvasKit |
| Sombra interior | ✅ | Sombra interna |
| Desenfoque de capa | ✅ | Gaussiano |
| Desenfoque de fondo | ✅ | Contenido situado detrás |
| Desenfoque frontal | ✅ | Contenido situado delante |
| Grosor de contorno | ✅ | Configurable |
| Extremos | ✅ | NONE, ROUND, SQUARE, ARROW_LINES, ARROW_EQUILATERAL |
| Uniones | ✅ | Inglete, bisel y redonda |
| Guiones | ✅ | Patrón de tramo y espacio |
| Alineación de contorno | ✅ | Interior, centro y exterior con recorte compatible |
| Grosores independientes | ✅ | Superior, derecha, inferior e izquierda |
| Radio de esquina | ✅ | Común o por esquina |
| Suavizado de esquina | 🔲 | No hay redondeo continuo |
| Varios rellenos/contornos | 🔲 | No apila varios por capa |
Disposición automática
| Función | Estado | Notas |
|---|---|---|
| Flujo horizontal y vertical | ✅ | Yoga WASM Flexbox |
| Activar | ✅ | ⇧A en marco o selección |
| Separación | ✅ | Configurable |
| Relleno | ✅ | Común o por lado |
| Distribución | ✅ | Inicio, centro, final y espacio entre elementos |
| Alineación | ✅ | Inicio, centro, final y estirar |
| Tamaño de elementos | ✅ | Fijo, Rellenar y Ajustar |
| Salto de línea | ✅ | Flex wrap |
| Grid | ✅ | CSS Grid mediante una variante de Yoga con pistas, espacios y celdas combinadas |
| Flujos anidados | ✅ | Marcos con direcciones distintas |
| Reordenación por arrastre | ✅ | Indicador de inserción visible |
| Dimensiones mín./máx. | 🔲 | Sin restricciones para elementos secundarios |
Componentes y sistemas de diseño
| Función | Estado | Notas |
|---|---|---|
| Crear componentes | ✅ | Atajo y propiedades de texto, visibilidad, intercambio y variantes |
| Conjuntos | ✅ | Variantes dispersas multidimensionales, validación de duplicados y valor predeterminado |
| Instancias | ✅ | Recursos, inserción, propiedades, sustituciones, cambio de variante, sincronización y revisión |
| Variantes | ✅ | Combinaciones dispersas, creación, cambio y alternativa superior izquierda |
| Propiedades | ✅ | Visibilidad booleana, texto e intercambio de instancia |
| Propagación | ✅ | Los cambios principales llegan a las instancias y conservan sustituciones |
| Variables | 🟡 | Interfaz completa para COLOR; edición incompleta para FLOAT, STRING y BOOLEAN |
| Colecciones y modos | 🟡 | Colecciones, modos y modo activo; sin tematización guiada por variables |
| Estilos | 🔲 | No hay valores reutilizables con nombre |
| Bibliotecas | ✅ | Revisiones inmutables, publicación selectiva, activación, revisión, trabajo sin conexión y persistencia .fig |
| Separar instancia | ✅ | Convierte la instancia en marco |
| Ir al principal | ✅ | Navega al componente fuente incluso entre páginas |
Prototipos
Conexiones, activadores, acciones, animaciones, transiciones, superposiciones, desplazamiento, flujos, lógica condicional, curvas y presentación a pantalla completa aún no están disponibles.
Importación y exportación
| Función | Estado | Notas |
|---|---|---|
Importar .fig | ✅ | Códec Kiwi con 194 definiciones y unos 390 campos por NodeChange |
Exportar .fig | ✅ | Kiwi, Zstd y miniatura; componentes guardados como SYMBOL para el viaje de ida y vuelta |
| Guardar / Guardar como | ✅ | Diálogos nativos, File System Access API y descarga alternativa en Safari |
| Pegar desde Figma | ✅ | Decodifica el binario Kiwi del portapapeles |
| Copiar a Figma | ✅ | Genera binario Kiwi legible por Figma |
| Importar Sketch | 🔲 | No hay analizador .sketch |
| Exportar imagen/SVG/PDF | 🟡 | PNG, JPG, WEBP y SVG ✅; PDF 🔲 |
| Historial de versiones | 🔲 | No consulta ni restaura versiones anteriores |
| Recursos entre herramientas | ✅ | Portapapeles de Figma y copiar como texto/SVG/PNG/JSX |
API de plugins y scripting
| Función | Estado | Notas |
|---|---|---|
eval con Figma Plugin API | ✅ | JavaScript sin interfaz con objeto global figma compatible |
Colaboración y modo de desarrollo
| Función | Estado | Notas |
|---|---|---|
| Comentarios | 🔲 | Sin marcadores, hilos o resolución |
| Multijugador | ✅ | P2P con Trystero y Yjs CRDT, cursores y seguimiento de vista; sin servidor |
| Chat de cursor | 🔲 | No hay burbujas en el lienzo |
| Ramas y fusiones | 🔲 | No hay ramas de versión |
| Modo de desarrollo | 🟡 | La pestaña Código muestra JSX; sin propiedades CSS ni especificaciones de entrega |
| Code Connect | 🔲 | No enlaza componentes de diseño con código |
| Fragmentos de código | 🟡 | JSX con resaltado y copia; sin Swift/Kotlin |
| Tailwind CSS v4 | ✅ | HTML con clases de utilidad desde el panel Código, CLI o API |
| Figma para VS Code | 🔲 | Sin integración con extensión del editor |
| Servidor MCP | ✅ | @open-pencil/mcp con stdio y HTTP; 90 herramientas en total |
| CLI | ✅ | info, tree, find, export, analyze, node, pages, variables y eval |
Figma Draw
| Función | Estado | Notas |
|---|---|---|
| Herramientas de ilustración | 🔲 | Sin herramientas especializadas de Figma Draw |
| Transformaciones de patrones | 🔲 | Sin patrones repetidos con transformaciones |