Strut is an open-source, desktop-first motion design studio for interactive product graphics. It is built around an open .strut format, a fast Rust core, GPU-backed previews, and an AI-native workflow that can turn prompts, SVGs, images, or rough sketches into editable runtime-ready animation components.
Strut is not trying to be a free copy of any single tool. The goal is a local-first motion IDE where designers and engineers can create, verify, export, and automate interactive animation systems without locking their work into a closed editor.
Status: pre-alpha. The repository is being scaffolded. APIs, file schemas, and runtime contracts will change while the MVP is built.
Studio home |
AI chat with editable preview |
Gemini CLI generated mascot states |
Runtime game animation |
- Open format:
.strutfiles are documented, inspectable, versioned, and designed for long-term portability. - Desktop only: first-class Windows, macOS, and Linux apps instead of a web SaaS dependency.
- Rust-fast core: parsing, validation, compilation, state machines, and render preparation live in Rust.
- Local GPU support: viewport/rendering architecture is designed around
wgpu, WebGPU, Metal, DirectX 12, and Vulkan paths with CPU fallback where needed. - AI first, BYOK: users can bring OpenAI, Anthropic, Gemini, OpenRouter, Ollama, LM Studio, Azure OpenAI, or any OpenAI-compatible endpoint.
- Agent compatible: Strut can orchestrate local coding agents such as Codex, Claude Code, Gemini CLI, Antigravity, Kiro, Copilot CLI, OpenCode, Cursor-style agents, and custom adapters.
- Mockup to model: SVGs are parsed deterministically; raster mockups use vision plus classical geometry extraction to create editable Strut scenes.
- Plan Mode: when there is no mockup, Strut sketches multiple 2D directions first, waits for review, then builds the full animation.
- Runtime ready: exported components are designed to be controlled by app code through stable inputs, bindings, and events.
Strut Studio desktop editor and AI workspace
Strut Format open .strut project/runtime format
Strut Runtime embeddable playback libraries
Strut Agent Engine BYOK provider router and local agent orchestration
Strut Verifier render, state-machine, export, and performance checks
Strut MCP controlled project access for external agentsStart with the public docs:
- What Is Strut?
- Quick Start
- Create Your First Animation
- Plan Mode
- Generate A Character
- AI And Providers
Contributor and milestone review notes live in docs/internal.
apps/
studio/ Tauri desktop app
crates/
strut-core/ scene graph, timelines, state machines
strut-format/ .strut read/write/validate
strut-renderer/ GPU renderer abstraction
strut-compiler/ editable project -> optimized runtime artifact
strut-agent/ provider router and agent orchestration
strut-verifier/ snapshot, export, and state checks
packages/
runtime-web/ browser runtime
runtime-react/ React wrapper
docs/ public docs, guides, reference, maintainer notes
assets/ brand and documentation assetsThe current scaffold uses:
Rust 1.93+
Node.js 25+
npm 11+
Tauri v2
TypeScript
React
wgpu
SQLiteStandard commands:
npm install
npm run check
npm run test
npm run studio:devMaintainer review commands live in docs/internal/manual-review.md.
Apache-2.0. See LICENSE.



