deepfounder-ai / desigma
git clone https://github.com/deepfounder-ai/desigma.git
Free Figma alternative made on Rust
—
stars, 24h
—
stars, 7 days
+373
stars, 30 days · #716
373
★ total
38
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseApache-2.0
Created2026-10-11 (10d ago)
Last pushtoday
Watchers3
OwnerUser
Links
README excerpt
Interface design; an independent, local-first, open-source design tool built in Rust. Frames, auto layout, components and variants, prototyping, vector editing and real Figma file import, in a native desktop app written entirely in Rust. Free, offline, and yours to change. The editor on the built-in showcase file: four 390 x 844 screens built with auto layout and components, one of them in the Dark mode of a variable collection. 🎛️ Familiar by design Familiar design workflows and shortcuts, from F for Frame to Shift + A for auto layout. Desigma is developing its own editor interface, with document fidelity and a fast editing experience as the priorities. ⚡ Native and fast A deterministic CPU renderer on tiny-skia, a spatial index and a parallel 256 px tile cache. Panning and dragging on a 5,000-layer page stay well under a frame. No Electron, no web view. 🗂️ Figma files in Import from the Figma REST API JSON or straight from .fig files (the kiwi container, deflate or zstd), with components, instance overrides, styles and prototype links. 🔤 Open fonts, built in Inter ships inside the binary. Any other open-licensed family a file uses is fetched from Fontsource and cached, and proprietary fonts map to metric-compatible open alternatives. ## Features ### Desigma Decks Create a presentation with **File → New deck**. Decks use editable 16:9 frames with slide thumbnails, add/duplicate/delete controls, ordering, overview, and speaker notes. Switch to **Layers** for the existing text, shape, image, and vector editing tools. Notes save with **Save notes** or when navigating to another slide. Slide edits and saved notes support Undo/Redo and persist in the document. **Present** starts at the active slide. Use Right/Space/Page Down and Left/Page Up, or Previous/Next; Home/End jump to the first/last slide. Click **Fullscreen** or press **F11** for a borderless presentation with the controls hidden; **Esc** returns to preview, then exits. Launch directly with `--fixture deck --fullscreen`. This initial version does not yet include transitions, a template gallery, or a separate presenter display. Preview the sample with `cargo run -p desigma-app -- --fixture deck`. Export the current slide or the whole deck using the **Slide PDF** / **Deck PDF** controls or File menu. Each slide becomes one PDF page in document order, with no speaker notes or editor controls. The initial PDF export uses high-resolution raster pages; text is not selectable. Every screenshot here is the real app on its built-in showcase file, captured offscreen at 2x with its own --screenshot mode. A Button instance: variant pickers (Type, Size), a text property, a boolean property and the overrides on this copy. Components that stay in sync Turn any layer into a component with Ctrl + Alt + K , drop instances from the Assets panel, and edit the main component: every instance updates in the same undo step while keeping its own overrides. Boolean, text, variant and instance