Skip to content

Tech-Stack

Kerntechnologien

SchichtTechnologieWarum
RenderingSkia CanvasKit WASMDieselbe Engine wie Figma — bewährte Leistung, GPU-beschleunigt, pixelgenau
UI-FrameworkVue 3 + VueUseReaktive Composition API, hervorragende TypeScript-Unterstützung
KomponentenReka UIHeadless, barrierefreie UI-Primitive (Tree, Slider usw.)
StylingTailwind CSS 4Utility-first, schnelle Iteration, dunkles Theme
LayoutYoga WASMCSS-Flexbox-Engine von Meta, kampferprobt in React Native
DateiformatKiwi-Binär + ZstdFigmas eigenes Format — kompakt, schnelles Parsen, .fig-kompatibel
KollaborationTrystero + YjsP2P-WebRTC über MQTT-Signalisierung, CRDT-Sync, y-indexeddb-Persistenz
FarbeculoriFarbraum-Konvertierungen (HSV, RGB, Hex)
KI/MCPMCP SDK + Hono90+ Tools für KI-Coding-Werkzeuge, stdio- + HTTP-Transporte
JSX-TransformSucrase201 KB JSX → JS, synchron, browser-kompatibel
Eventsnanoevents108 Bytes, typisierter Event-Emitter für SceneGraph-Mutationen
DesktopTauri v2~5 MB native App (vs. Electrons ~100 MB), Rust-Backend
BuildVite 7Schnelles HMR, native ES-Module
TestingPlaywright + bun:testVisuelle Regression (E2E) + schnelle Unit-Tests
LintingoxlintRust-basiert, um Größenordnungen schneller als ESLint
FormatierungoxfmtRust-basierter Formatierer
Typprüfungtypescript-go (tsgo)Native Go-Implementierung des TypeScript-Typprüfers

Wichtige Abhängigkeiten

json
{
  "canvaskit-wasm": "^0.40.0",
  "vue": "^3.5.29",
  "yoga-layout": "npm:@open-pencil/yoga-layout@3.3.0-grid.2",
  "nanoevents": "^9.1.0",
  "sucrase": "^3.35.1",
  "reka-ui": "^2.8.2",
  "tailwindcss": "^4.2.1",
  "culori": "^4.0.2",
  "fzstd": "^0.1.1",
  "fflate": "^0.8.2",
  "trystero": "^0.20.0",
  "yjs": "^13.6.24",
  "y-indexeddb": "^9.0.12"
}

Warum nicht...

Warum kein SVG-Rendering?

SVG ist langsam für komplexe Dokumente. Jeder Knoten ist ein DOM-Element — 10.000 Knoten bedeuten 10.000 DOM-Knoten. CanvasKit zeichnet alles auf eine einzige GPU-Oberfläche.

Warum nicht Electron (wie Figma Desktop)?

Tauri v2 nutzt den System-Webview (~5 MB) statt Chromium zu bündeln (~100 MB).

Warum nicht React?

Das Projekt migrierte früh von React zu Vue 3. Vues Reaktivitätssystem und VueUse-Composables erwiesen sich als ergonomischer.

Warum keine eigene Layout-Engine?

Yoga wird von Meta gepflegt, ist auf Milliarden von React-Native-Geräten getestet und implementiert die CSS-Flexbox-Spezifikation.

Geplante Technologien

TechnologieZweckPhase
CSS Grid in YogaGrid-basiertes Auto-Layout✅ Unterstützt über Yoga-Fork (@open-pencil/yoga-layout)

Released under the MIT License.