Локальная альтернатива Figma на чистом Rust
Проект desigma от Deepfounder AI позиционируется как независимый, локально-ориентированный (local-first) инструмент для дизайна интерфейсов. В отличие от популярных облачных решений, Desigma написан на Rust и не использует Electron или веб-вью. Это обеспечивает высокую производительность и приватность: все файлы хранятся локально, а работа возможна полностью офлайн.
Ключевая особенность — нативный рендеринг на базе tiny-skia с детерминированным CPU-бэкендом. Архитектура включает пространственный индекс и параллельный кэш тайлов размером 256 пикселей. Разработчики заявляют, что плавное перемещение (panning) и выделение объектов на холсте со 5000+ слоями остаются стабильными и не вызывают задержек.
Совместимость с экосистемой Figma
Desigma не пытается заменить Figma в облаке, но предлагает глубокую интеграцию с ней. Поддерживается импорт файлов .fig (в формате kiwi-контейнера с сжатием deflate или zstd) и JSON-экспортов через REST API. При импорте сохраняются компоненты, экземпляры, стили и ссылки на прототипы.
Для типографики используется шрифт Inter, встроенный в бинарный файл. Другие открытые шрифты подтягиваются из Fontsource, а проприетарные шрифты автоматически маппятся на метрически совместимые открытые аналоги, что исключает проблемы с отображением текста.
Функционал: от автолейаутов до Dev-режима
Редактор поддерживает сложные макеты с вложенными Auto Layout кадрами (hug, fill, fixed sizing), отступами и выравниванием. Система компонентов позволяет создавать вариативные элементы с boolean, текстовыми и variant-свойствами. Изменения в основном компоненте синхронизируются со всеми экземплярами в одном шаге отмены (undo).
Встроенный Dev Mode генерирует код для фронтенд-разработчиков. Инструмент выдает CSS, Tailwind, SwiftUI, Jetpack Compose и React-код, а также предоставляет точные измерения (box model) и аннотации для передачи макетов в разработку.
Прототипирование и анимация
Desigma включает полноценный режим прототипирования с поддержкой триггеров (нажатие, наведение, drag), переходов с кривыми ускорения (easing) и пружинных анимаций (springs). Поддерживается Smart Animate, который интерполирует слои по имени. Управление состоянием осуществляется через систему переменных (цвета, числа, строки, булевы значения) с режимами (Light/Dark mode) и условной логикой (If/Else).
| Категория | Возможности Desigma |
|---|---|
| Рендеринг | Native Rust, tiny-skia, 256px tile cache, 5000+ слоев без лагов |
| Импорт | .fig файлы, Figma JSON API, сохранение компонентов и стилей |
| Типографика | Inter (встроен), Fontsource (открытые), маппинг проприетарных шрифтов |
| Код для Dev | CSS, Tailwind, SwiftUI, Jetpack Compose, React, box model |
| Анимация | 41 пресет, springs, Smart Animate, экспорт в GIF/WebM |
| Белые доски | Стикеры, маркеры, хайлайтеры, таблицы, коннекторы, импорт FigJam |
Дополнительные инструменты: Decks и Boards
Помимо основного редактора, Desigma включает модуль Decks для создания презентаций. Поддерживаются слайды 16:9, заметки спикера, навигация с клавиатуры и экспорт в PDF (растровый, без выделения текста в текущей версии). Также доступен режим Boards (белые доски) для мозговых штурмов: стикеры, фигуры, маркеры, хайлайтеры, код-блоки с подсветкой синтаксиса и таймеры для голосования.
Проект полностью открыт (open-source), бесплатен и распространяется под лицензией, позволяющей изменять код. Сборка возможна из исходников через Cargo, а для поддержки видеокодеков (H.264) требуется компиляция C++-библиотеки OpenH264.
Источник: Github ↗
