Theatre.js

Motion design editor for the web

README

Theatre.jsTheatre.js

Motion Design, for the web

GitHub branch checks state Join us on Discord Follow Theatre.js on Twitter Watch on YouTube



Theatre.js is an animation library for high-fidelity motion graphics. It is
designed to help you express detailed animation, enabling you to create
intricate movement, and convey nuance.

Theatre.js can be used both programmatically _and_ visually.


You can use Theatre.js to:

- Animate 3D objects made with THREE.js or other 3D libraries

  s

Art by [drei.lu](https://sketchfab.com/models/91964c1ce1a34c3985b6257441efa500)

- Animate HTML/SVG via React or other libraries

  s

- Design micro-interactions

  s

- Choreograph generative interactive art

  s

- Or animate any other JS variable

  s

Documentation and Tutorials


The docs are at theatrejs.com/docs:

  - Yuri Artiukh's
    stream with a section on using
    Theatre.js with THREE.js
- \

Community and support


Join our friendly community on Discord, follow
the updates on twitter or write us an

Development and contributing


If you want to change the source of Theatre, have a look at the guide

Proposing fixes and changes


You can always get help with bugfixes or discuss changes with our community on
Discord, or directly open an issue on Github.

Helping with outstanding issues


Feel free to chime in on any
issue. We have also labeled some
issues with
or
if you're just getting started with the codebase.

Helping with documentation


The documentation website's repo is

Writing/recording tutorials


If you make tutorials or video content about Theatre, tell us to showcase it
here :)

License


Your use of Theatre.js is governed under the Apache License Version 2.0:

- Theatre's core (@theatre/core) is released under the Apache License. Same
  goes for most packages in this repository.
- The studio (@theatre/studio) is released under the AGPL 3.0 License. This is
  the package that you use to edit your animations, setup your scenes, etc. You
  only use the studio during design/development. Your project's final bundle
  only includes @theatre/core, so only the Apache License applies.