Skip to content

About

Free, open-source stick figure animation app for Windows, Linux and the browser. Opens Pivot and Stick Nodes projects.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

525 Commits

Folders and files

Repository files navigation

StykAnimate

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.

npm ci
python -m pip install -r backend/requirements-fast.txt
npm start            # desktop app (Electron)
npm run serve        # or the editor in your browser at http://127.0.0.1:47831

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:

python -m pip install -r scripts/requirements-build.txt
npm run build:sidecar
npm run pack && npm run verify:package
npm run dist:win     # or dist:linux, dist:mac

The browser build: npm run web:build, then npm run web:preview. See Web build, Linux and Touch interface.

Tests

npm run check        # syntax, stylesheet lint
npm test             # unit tests
python -m unittest discover -s backend -p "test_*.py"

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, timelines and styles
src/locales/, src/localization*.mjs Translations
desktop/ Electron main process, preload bridge, file access, updates
web/ Browser build: service worker and Cloudflare configuration
tests/, scripts/ Tests, smoke tests, benchmarks, build and release scripts
docs/ Feature contracts and architecture

Start with docs/ARCHITECTURE.md. Feature behavior is documented in docs/, for example the timeline, scene editing and the renderer.

Contributing

Bug reports, ideas, translations and pull requests are welcome. Read CONTRIBUTING.md first, and follow the Code of Conduct. Report security problems privately as described in SECURITY.md.

License

StykAnimate is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License, version 3 or (at your option) any later version. Bundled third-party components keep their own licenses; see THIRD_PARTY_NOTICES.md.

Trademarks

The StykAnimate name and logo identify the official project. The GPL lets you fork and redistribute the code, but please give modified versions a different name and icon so people can tell them apart from official releases.

StykAnimate is an independent project. It is not affiliated with or endorsed by Pivot Animator or Stick Nodes; those names are used only to describe file compatibility.

About

Free, open-source stick figure animation app for Windows, Linux and the browser. Opens Pivot and Stick Nodes projects.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages