filippocalippo / StykAnimate-App
git clone https://github.com/filippocalippo/StykAnimate-App.git
Free, open-source stick figure animation app for Windows, Linux and the browser. Opens Pivot and Stick Nodes projects.
+202
stars, 24h · #181
+~1.5k
stars, 7 days · #139
+~6.4k
stars, 30 days · #131
733
★ total · +1489% this week
113
forks · 10 open issues
Star history (as recorded here)
LanguageJavaScript
LicenseGPL-3.0
Created2026-09-09 (1mo ago)
Last pushtoday
Watchers0
OwnerUser
GitHub topics
Links
- GitHub: github.com/filippocalippo/StykAnimate-App
- Homepage: https://stykanimate.com
- Releases · Issues · Hacker News mentions
README excerpt
A free, open-source stick figure animation app for Windows, Linux and the browser. Opens Pivot ( .piv , .stk ) and Stick Nodes projects, and keeps your work on your device. Website · Open in the browser · Download · Discord · YouTube ## Features - **Pose stick figures** with fixed-length joints, IK for arms and legs, stretchy nodes and 3D figures with depth. - **Build your own figures** from lines, circles, polygons, text and images, with a shared rig and per-part styles. - **Two timelines:** a Simple, Pivot-style frame strip and an Advanced timeline with layers, folders, keys and easing. - **Motion paths, onion skins and camera moves,** including camera follow. - **Particle effects** (explosions, auras, beams, smoke) and brushes for drawing. - **Community library:** insert figures and movieclips shared by other animators. - **Export** MP4, WebM (with transparency), GIF, APNG, PNG/JPEG/SVG frames, and editable `.piv`/`.stk`. - **27 interface languages**, light and dark themes, a touch interface for phones and tablets. Everything (decoding, editing, saving and rendering) runs locally. Optional, consent-based diagnostics are described in docs/telemetry.md. ## Get StykAnimate - **Windows and Linux:** download Setup, Portable or the AppImage from the releases page. Installed apps update themselves. - **Browser:** open app.stykanimate.com. It works offline once loaded. ## Build from source Requirements: Node.js 22+ (CI uses 24.11) and Python 3.11+ (CI uses 3.12). Windows and Linux are tested on every change; macOS has an untested build target. [code] Set `STYK_PYTHON` to choose a Python interpreter. Optional native helpers speed up large imports (`npm run build:frame-scan`); the Python fallbacks always work. Packaging, on the matching operating system: [code] The browser build: `npm run web:build`, then `npm run web:preview`. See Web build, Linux and Touch interface. ## Tests [code] Browser tests (`tests/*.browser.mjs`) run against `npm run serve` with Chrome or Playwright Chromium, for example `node tests/timeline.browser.mjs`. Some tests read a local corpus of Pivot projects that is not distributed; they skip and name the missing file. `.github/workflows/ci.yml` shows what runs on every pull request. ## How the code is organized | Location | Responsibility | | --- | --- | | `src/editor*.mjs`, `src/pivot/` | Document model, commands, undo/redo, rigs, native evaluation and validation | | `src/renderer*.mjs`, `src/prepared-frames.mjs` | WebGPU rendering, incremental edits, GPU playback packets | | `src/playback*.mjs`, `src/document-transport.mjs` | Worker evaluation, playback caches, bounded document snapshots | | `src/import-*.mjs`, `backend/`, `codecs/`, `native/` | Pivot and Stick Nodes decoding, the Python codec service, native helpers | | `src/document-export*.mjs`, `src/image-*.mjs`, `src/video-export.mjs` | Saving, recovery and image/video export | | `src/app.mjs`, `src/shell/`, `src/ui/`, `src/styles/` | Interface, workspaces, tim