This is the latest version of Theatre.js. Upgrade by running npm install @theatre/core@latest @theatre/studio@latest @theatre/r3f@latest in your project.

August 10th 2023

  • New features

  • Breaking changes

    • @theatre/r3f: The r3f extension now requires three at >=0.155.0 and @react-three/fiber at >=8.13.6.
    • @theatre/react: The usePrismWithoutReRender() and usePrismInstanceWithoutReRender() have been removed.
  • Bug fixes

  • Internal changes

    • Theatre.js now uses React 18 under the hood.
    • The playground is now hot-reloadable.
    • New visual regression tests.
    • Compat fixtures now test Theatre.js with Vite, Next.js, React 18, React 17, and other popular JS tools.


July 24th 2023


May 12th 2023

  • This update includes:
    • Added support for typescript's bundle mode to @theatre/r3f.
    • Implemented the experimental createContentOfSaveFileTyped(), by Adam Krebs.
    • A small UX improvement for PlayheadPositionPopover.
    • An experimental API for forgetting sheets and objects.
    • Implemented a method to clear the persistent storage.
    • A substantial perf improvement for @theatre/studio.
    • The default and static overrides are now distinguisable in the UI.
    • A temporary API for enabling/disabling triggering playback via the spacebar.
    • And several UX improvements.


Jan 25th 2023

  • New features

    • Theatric is a new controller library bulit on Theatre.js for tweaking and fine-tuning variables in your app.
    • Assets allow you to use files as values for props and even keyframes.
    • rafDrivers allow you to control when and how often computations in Theatre tick forward, based on work by Pete Feltham.
    • Items in the outline menu are now collapsible, based on work by Clément Roche.
    • A new easing option called "Hold", courtesy of Colin Duffy.
    • Number props have a more predictable nudging behavior.
    • Compound props that represent vectors (such as {x, y, z}) now take up less space by collapsing into a single row.
    • Markers in the sequence editor can now have their own labels, by Colin Duffy.
    • Extensions can now contribute flyout menus to the studio, by Colin Duffy.
  • Other notable changes


December 31st 2022

  • New features

    • A new Camera implementation with a convenient lookAt target.
    • You can now dynamically remove objects via Sheet.detatchObject().
    • Objects can now be reconfigured on the fly via the reconfigure option.
    • @theatre/r3f now supports hot reloading.
    • A new in-app guide helps you avoid common mistakes.
    • Out-of-the-box support for all THREE.js light types.
    • Support for server-side rendering in Next.js and other SSR frameworks.
  • Bug fixes

    • Fixed a bug that caused only a single project to be export-able per reload.
    • Fixed an edge-case where inline keyframe values might remain stale after an edit.
    • Fixed an edge-case where some panes would get dragged out of the browser window.
    • Fixed a bug that prevented audio playback in the studio.


September 14th 2022

Theatre.js v0.5 · Introduces a 3D editor for React Three Fiber, complex keyframing tools, and an extensions API. More in the blog post.

Was this article helpful to you?

Last edited on February 01, 2024.
Edit this page

Theatre.js is a design tool in the making. We aim to blur the line between designer/developer, author/consumer, and artist/scientist.
© 2022 Theatre.js Oy – Helsinki.