* 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
22 KiB
22 KiB
Совместимость с Figma
Сравнение возможностей Figma Design с текущим состоянием OpenPencil.
::: tip Статус ✅ Поддерживается полностью · 🟡 Поддерживается частично · 🔲 Пока не реализовано :::
Покрытие: учтены 94 из 158 возможностей Figma — 76 ✅ полностью, 18 🟡 частично и 64 🔲 пока отсутствуют. Обновлено 7 марта 2026 года.
Интерфейс и навигация
| Возможность | Статус | Примечания |
|---|---|---|
| Панель инструментов | ✅ | Нижняя панель в стиле UI3: выделение, фрейм, секция, прямоугольник, эллипс, линия, текст, рука и перо |
| Панель слоёв | ✅ | Дерево с раскрытием, перетаскиванием, видимостью и изменяемой шириной |
| Страницы | ✅ | Добавление, удаление и переименование; отдельное состояние области просмотра |
| Панель свойств | ✅ | Внешний вид, заливка, обводка, эффекты, типографика, компоновка и положение |
| Масштаб и перемещение | ✅ | Ctrl + прокрутка, жест сведения пальцев, ⌘+/−, ⌘0, ⌘1, ⌘2, Space + перетаскивание, средняя кнопка и инструмент «Рука» |
| Линейки | ✅ | Верхняя и левая линейки с диапазоном выделения и координатами |
| Фон холста | ✅ | Отдельный цвет для каждой страницы |
| Направляющие | 🔲 | Нет направляющих, перетаскиваемых с линеек |
| Палитра команд | 🔲 | Нет быстрого поиска действий |
| Контекстное меню | ✅ | Буфер обмена, порядок, группы, компоненты, видимость, блокировка и перенос на страницу |
| Сочетания клавиш | 🟡 | Основные команды, компоненты, порядок, видимость и блокировка; часть инструментов и форматирования текста отсутствует |
| Поиск и замена | 🔲 | Нет поиска и замены текста во всём документе |
| Контуры слоёв | 🔲 | Нет каркасного представления всех слоёв |
| Собственная миниатюра | 🔲 | Миниатюра создаётся при экспорте, но выбрать её нельзя |
| Настройка шага перемещения | 🔲 | Используются 1 и 10 пикселей; собственные значения не задаются |
| Меню приложения | ✅ | File, Edit, View, Object, Text и Arrange в браузере; системные меню в Tauri |
| Инструменты ИИ | 🟡 | 90 инструментов через поставщиков моделей и MCP; нет генерации изображений и поиска с ИИ |
Слои и фигуры
| Возможность | Статус | Примечания |
|---|---|---|
| Прямоугольник, эллипс, линия, многоугольник и звезда | ✅ | Основные фигуры; настраиваются стороны многоугольника и внутренний радиус звезды |
| Фреймы | ✅ | Обрезка содержимого, собственная система координат и заготовки создания и размера |
| Группы | ✅ | ⌘G и ⇧⌘G |
| Секции | ✅ | Подписи, автоматическое принятие пересекающихся объектов и цвет текста по яркости |
| Дуги | ✅ | arcData с начальным, конечным углом и внутренним радиусом |
| Карандаш | 🔲 | Нет свободного рисования |
| Маски | 🔲 | Нет масок фигур для обрезки слоёв |
| Типы и иерархия | ✅ | 17 типов объектов, плоская Map и дерево родителей и потомков |
| Выделение | ✅ | Щелчок, Shift + щелчок и прямоугольное выделение |
| Выравнивание и положение | ✅ | Положение, поворот и размеры на панели свойств |
| Копирование объектов | ✅ | Обычный буфер обмена, бинарный Kiwi Figma и копирование как текст, SVG, PNG или JSX |
| Пропорциональный размер | 🟡 | Shift сохраняет пропорции; отдельного инструмента Scale нет |
| Блокировка | ✅ | ⇧⌘L; заблокированный объект нельзя выбрать или переместить на холсте |
| Видимость | ✅ | Значок глаза и ⇧⌘H |
| Переименование | ✅ | Редактирование имени на панели слоёв |
| Передний и задний план | ✅ | ] и [, а также контекстное меню |
| Перенос на страницу | ✅ | Перемещение выделенных объектов между страницами |
| Ограничения | 🔲 | Нет привязки краёв и центра при изменении размера родителя |
| Умное выделение | 🔲 | Нет равномерного распределения нескольких объектов |
| Сетки компоновки | 🔲 | Нет направляющих столбцов, строк и сетки во фреймах |
| Измерение расстояний | 🔲 | Нет отображения расстояний по Alt + наведение |
| Массовое изменение | ✅ | Положение, размер, внешний вид, заливка, обводка и эффекты; разные значения отмечаются как Mixed |
| Поиск похожих объектов | 🔲 | Не реализован |
| Копирование свойств | 🔲 | Нет переноса заливки, обводки и эффектов между объектами |
| Родители и потомки | ✅ | Полная иерархия через parentIndex и смена родителя перетаскиванием |
Векторные инструменты
| Возможность | Статус | Примечания |
|---|---|---|
| Векторные сети | ✅ | Совместимая с Figma модель вместо простого списка точек |
| Перо | ✅ | Угловые точки, кривые Безье, открытые и замкнутые контуры |
| Редактирование векторов | 🟡 | Создание и базовое изменение геометрии; часть сложных операций ограничена |
| Логические операции | 🔲 | Нет объединения, вычитания, пересечения и исключения |
| Объединение контуров | 🔲 | Нет Flatten |
| Преобразование обводки | 🔲 | Нет Outline Stroke |
| Преобразование текста | 🔲 | Нет преобразования текста в векторные контуры |
| Shape builder | 🔲 | Нет интерактивного инструмента логических операций |
| Смещение контура | 🔲 | Нет внутреннего и внешнего смещения |
| Упрощение контура | 🔲 | Нет уменьшения числа точек |
Текст и типографика
| Возможность | Статус | Примечания |
|---|---|---|
| Текст и редактирование | ✅ | Редактирование на холсте, скрытая textarea, курсор, выделение, выбор слова, перетаскивание, двойной и тройной щелчок, диапазоны стилей |
| Отрисовка текста | ✅ | CanvasKit Paragraph для формирования строк и метрик |
| Системные шрифты | ✅ | Inter, font-kit в Tauri, queryLocalFonts в браузере |
| Семейство и начертание | ✅ | FontPicker с поиском, виртуальной прокруткой и предварительным просмотром |
| Размер и интерлиньяж | ✅ | Редактируются в разделе «Типографика» |
| Выравнивание | 🟡 | Основное выравнивание; нет вертикального и всех режимов автоматического размера |
| Стили текста | 🟡 | Полужирное, курсив, подчёркивание и зачёркивание; нет именованных переиспользуемых стилей |
| Режимы размера текста | 🔲 | Нет Auto width, Auto height и Fixed size |
| Списки | 🔲 | Нет маркированных и нумерованных списков |
| Ссылки | 🔲 | Нет гиперссылок внутри текста |
| Эмодзи и специальные символы | 🔲 | Поддержка неполная |
| OpenType | 🔲 | Нет лигатур, стилистических вариантов и табличных цифр |
| Вариативные шрифты | 🔲 | Нет настройки осей |
| CJK | 🔲 | Нет полной поддержки китайского, японского и корейского текста |
| RTL | 🔲 | Нет компоновки справа налево |
| Иконочные шрифты | 🔲 | Нет специальной обработки глифов |
Цвета, градиенты и изображения
| Возможность | Статус | Примечания |
|---|---|---|
| Выбор цвета HSV | ✅ | Поле HSV, ползунки тона и прозрачности, шестнадцатеричный ввод |
| Сплошные заливки | ✅ | Цвет и прозрачность |
| Линейный градиент | ✅ | Точки и рычаги преобразования |
| Радиальный градиент | ✅ | Шейдеры CanvasKit |
| Угловой градиент | ✅ | Sweep/Conic |
| Ромбический градиент | ✅ | Четырёхточечный градиент |
| Заливки изображениями | ✅ | Декодирование Blob и режимы Fill, Fit, Crop и Tile |
| Узорные заливки | 🔲 | Нет повторяющихся узоров |
| Режимы наложения | 🔲 | Нет режимов наложения слоёв и заливок |
| Изображения и видео | 🟡 | Заливки отображаются; нет импорта перетаскиванием и видео |
| Коррекция изображения | 🔲 | Нет экспозиции, контраста и насыщенности |
| Обрезка | 🔲 | Нет интерактивной обрезки |
| Пипетка | 🔲 | Нет получения цвета с холста |
| Цвета нескольких объектов | 🔲 | Нет общего изменения цветов неоднородного выделения |
| Цветовые модели | 🟡 | HSV и Hex; нет переключения HSL или RGB |
Эффекты и свойства
| Возможность | Статус | Примечания |
|---|---|---|
| Внешняя тень | ✅ | Смещение, размытие и цвет через фильтры CanvasKit |
| Внутренняя тень | ✅ | Внутренняя тень |
| Размытие слоя | ✅ | Гауссово размытие |
| Размытие фона | ✅ | Размытие содержимого за объектом |
| Размытие переднего плана | ✅ | Размытие перед объектом |
| Толщина обводки | ✅ | Настраивается на панели свойств |
| Концы обводки | ✅ | NONE, ROUND, SQUARE, ARROW_LINES, ARROW_EQUILATERAL |
| Соединения обводки | ✅ | Острые, скошенные и круглые |
| Штрихи | ✅ | Чередование штриха и промежутка |
| Выравнивание обводки | ✅ | Внутри, по центру и снаружи с обрезкой как в Figma |
| Толщина отдельных сторон | ✅ | Верхняя, правая, нижняя и левая стороны |
| Радиус углов | ✅ | Общий или отдельный для каждого угла |
| Сглаживание углов | 🔲 | Нет непрерывного скругления |
| Несколько заливок и обводок | 🔲 | Нет наложения нескольких красок на один объект |
Автоматическая компоновка
| Возможность | Статус | Примечания |
|---|---|---|
| Горизонтальный и вертикальный поток | ✅ | Flexbox Yoga WASM |
| ⇧A | ✅ | Включение для фрейма или оборачивание выделения |
| Интервал | ✅ | Настраивается на панели свойств |
| Отступы | ✅ | Общие или отдельные для четырёх сторон |
| Распределение | ✅ | Начало, центр, конец и между объектами |
| Поперечное выравнивание | ✅ | Начало, центр, конец и растягивание |
| Размеры | ✅ | Fixed, Fill и Hug для каждой оси |
| Перенос | ✅ | Flex wrap |
| Grid | ✅ | CSS Grid через ответвление Yoga: дорожки, интервалы и объединение ячеек |
| Вложенные потоки | ✅ | Вложенные фреймы с разными направлениями |
| Изменение порядка | ✅ | Визуальный индикатор вставки |
| Минимальные и максимальные размеры | 🔲 | Нет ограничений для дочерних объектов |
Компоненты и дизайн-системы
| Возможность | Статус | Примечания |
|---|---|---|
| Создание компонентов | ✅ | Из фрейма, группы или нескольких объектов; свойства текста, видимости, замены экземпляра и варианты |
| Наборы компонентов | ✅ | Многомерные неполные варианты, проверка дубликатов и верхний левый вариант по умолчанию |
| Экземпляры | ✅ | Assets, вставка, свойства, переопределения, переключение вариантов, синхронизация и проверка обновлений |
| Варианты | ✅ | Создание, переключение, неполные сочетания и замена верхним левым вариантом |
| Свойства компонентов | ✅ | Логическая видимость, текст и замена экземпляра |
| Распространение изменений | ✅ | Основной компонент обновляет экземпляры, сохраняя переопределения |
| Переменные | 🟡 | Полный интерфейс для COLOR; FLOAT, STRING и BOOLEAN без интерфейса редактирования |
| Коллекции и режимы | 🟡 | Коллекции, режимы и activeMode; нет интерфейса тем на основе переменных |
| Стили | 🔲 | Нет именованных стилей цвета, текста, эффектов и компоновки |
| Библиотеки | ✅ | Неизменяемые локальные и удалённые редакции, выборочная публикация, обновления, работа без сети и сохранение в .fig |
| Отсоединение экземпляра | ✅ | ⌥⌘B превращает экземпляр во фрейм |
| Переход к основному компоненту | ✅ | Переход к исходному компоненту, в том числе на другую страницу |
Прототипирование
| Возможность | Статус | Примечания |
|---|---|---|
| Связи | 🔲 | Пока не поддерживаются |
| Триггеры | 🔲 | Щелчок, наведение, перетаскивание и другие события |
| Действия | 🔲 | Переход, наложение, прокрутка и другие действия |
| Анимации | 🔲 | Переходы и анимации |
| Smart animate | 🔲 | Автоматическая анимация совпадающих слоёв |
| Наложения | 🔲 | Модальные и всплывающие прототипы |
| Прокрутка | 🔲 | Прокручиваемые фреймы в прототипах |
| Потоки | 🔲 | Именованные начальные точки |
| Переменные | 🔲 | Условная логика |
| Кривые и пружины | 🔲 | Собственные кривые анимации |
| Режим показа | 🔲 | Полноэкранный просмотр прототипа |
Импорт и экспорт
| Возможность | Статус | Примечания |
|---|---|---|
| Импорт .fig | ✅ | Кодек Kiwi: 194 определения и около 390 полей в NodeChange |
| Экспорт .fig | ✅ | Kiwi, Zstd и миниатюра; COMPONENT и COMPONENT_SET преобразуются в SYMBOL для обратной совместимости |
| Сохранение | ✅ | Системные диалоги в Tauri, File System Access API в Chrome и Edge, скачивание в Safari |
| Вставка из Figma | ✅ | Декодирование бинарного Kiwi из буфера обмена Figma |
| Копирование в Figma | ✅ | Создание бинарного Kiwi, читаемого Figma |
| Импорт Sketch | 🔲 | Нет разбора .sketch |
| Экспорт изображений, SVG и PDF | 🟡 | PNG, JPG, WEBP и SVG поддерживаются; PDF отсутствует |
| История версий | 🔲 | Нет просмотра и восстановления версий |
| Обмен ресурсами | ✅ | Буфер обмена Figma и копирование как текст, SVG, PNG или JSX |
Plugin API и сценарии
| Возможность | Статус | Примечания |
|---|---|---|
eval с Figma Plugin API |
✅ | JavaScript без интерфейса с глобальным figma, близким к API плагинов Figma |
Совместная работа и режим разработчика
| Возможность | Статус | Примечания |
|---|---|---|
| Комментарии | 🔲 | Нет меток, веток обсуждения и разрешения комментариев |
| Совместное редактирование | ✅ | P2P через Trystero и Yjs CRDT, указатели и режим слежения без сервера |
| Чат у указателя | 🔲 | Нет сообщений рядом с указателем |
| Ветвление и слияние | 🔲 | Нет веток версий для файлов дизайна |
| Режим разработчика | 🟡 | Вкладка «Код» показывает JSX выделения; нет свойств CSS и спецификаций передачи |
| Code Connect | 🔲 | Нет связи компонентов дизайна с кодом |
| Фрагменты кода | 🟡 | JSX с подсветкой и копированием; нет CSS, Swift и Kotlin |
| Tailwind CSS v4 | ✅ | HTML с классами из вкладки «Код», CLI или программного API |
| Figma for VS Code | 🔲 | Нет интеграции с редактором кода |
| Сервер MCP | ✅ | @open-pencil/mcp, stdio и HTTP; 87 основных и 3 файловых инструмента |
| CLI | ✅ | info, tree, find, export, analyze, node, pages, variables, eval и вывод JSON |
Figma Draw
| Возможность | Статус | Примечания |
|---|---|---|
| Инструменты иллюстрации | 🔲 | Нет специализированных инструментов Figma Draw |
| Преобразования узоров | 🔲 | Нет повторяющихся узоров с преобразованиями |