Change Log
All notable changes to this project will be documented in this file.
See Conventional Commits for commit guidelines.
3.17.2 (2024-12-14)
Bug Fixes
- core: fix incorrect rollup ordering (4743b92)
- vite-plugin, ui: project file path on selection (#1090) (f15b375)
3.17.1 (2024-08-17)
Bug Fixes
3.17.0 (2024-08-13)
Bug Fixes
Features
- 2d: use SVG component in Latex and support tweening (#800) (92a5659)
- ui: add render and present url params (#631) (8209843)
- vite-plugin: let plugins override config (#1054) (9b01eb5)
3.16.0 (2024-05-16)
Bug Fixes
Features
3.15.2 (2024-04-02)
Bug Fixes
3.15.1 (2024-03-21)
Bug Fixes
3.15.0 (2024-03-21)
Bug Fixes
Features
3.14.2 (2024-02-08)
Bug Fixes
3.14.1 (2024-02-06)
Bug Fixes
3.14.0 (2024-02-04)
Bug Fixes
Features
3.13.0 (2024-01-10)
Bug Fixes
Features
3.12.4 (2024-01-05)
Bug Fixes
Reverts
3.12.3 (2024-01-04)
Bug Fixes
3.12.2 (2023-12-31)
Bug Fixes
3.12.1 (2023-12-31)
Bug Fixes
3.12.0 (2023-12-31)
Bug Fixes
Features
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.11.0 (2023-10-13)
Bug Fixes
Features
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.10.1 (2023-07-25)
Bug Fixes
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.10.0 (2023-07-23)
Bug Fixes
Features
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.9.0 (2023-05-29)
Bug Fixes
Features
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.8.0 (2023-05-13)
Bug Fixes
Features
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.7.0 (2023-05-10)
Bug Fixes
Features
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.6.2 (2023-05-09)
Bug Fixes
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.6.1 (2023-05-08)
Bug Fixes
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.6.0 (2023-05-08)
Bug Fixes
Features
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.5.1 (2023-04-08)
Bug Fixes
- 2d: fix curve arrow alignment when animating start signal
(#615)
(2fefc40)
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.5.0 (2023-04-06)
Bug Fixes
Features
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.4.0 (2023-03-28)
Bug Fixes
Features
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.3.4 (2023-03-19)
Bug Fixes
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.3.3 (2023-03-18)
Bug Fixes
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.3.2 (2023-03-18)
Bug Fixes
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.3.1 (2023-03-18)
Bug Fixes
Change Log
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.3.0 (2023-03-18)
Bug Fixes
Features
3.2.1 (2023-03-10)
Bug Fixes
3.2.0 (2023-03-10)
Bug Fixes
Features
3.1.0 (2023-03-07)
Bug Fixes
Features
3.0.2 (2023-02-27)
Bug Fixes
3.0.1 (2023-02-27)
Bug Fixes
3.0.0 (2023-02-27)
Bug Fixes
Code Refactoring
Features
Reverts
- feat: upgrade code-fns for new theme options and lazy loading
(#435)
(3f5e439)
BREAKING CHANGES
To avoid collisions, names of certain classes have changed:
Text => Txt
Image => Img
Rect (type) => BBox
Cache related methods of Node
have changed:
getCacheRect => getCacheBBox
cacheRect => cacheBBox
fullCacheRect => fullCacheBBox
The CodeBlock
property has changed:
Settings such as background
and audioOffset
are now stored in the project
meta file.
2.6.0 (2023-02-24)
Bug Fixes
Features
2.5.0 (2023-02-20)
Bug Fixes
Features
2.4.0 (2023-02-18)
Bug Fixes
Features
2.3.0 (2023-02-11)
Bug Fixes
Features
- 2d: add antialiased signal to Shape
(#282)
(7c6905d)
- 2d: add LaTeX component
(#228)
(4c26d2a)
- 2d: add smooth corners and sharpness to rect
(#310)
(f7fbefd)
- added a theme property to the CodeBlock component
(#279)
(fe34fa8)
- core: add
debug
helper function
(#293)
(b870873)
- core: additional easing functions
(#274)
(f81ce43)
- core: disallow tweening to/from undefined values
(#257)
(d4bb791)
- docs: always re-build api references in
build
mode
(#298)
(27a4d96),
closes #294
2.2.0 (2023-02-09)
Features
2.1.0 (2023-02-07)
Bug Fixes
Features
2.0.0 (2023-02-04)
Bug Fixes
Code Refactoring
Features
- 2d: add methods for rearranging children
(#81)
(63f6c1a)
- 2d: add option for preformatted text
(#147)
(989be53)
- 2d: code selection and modification
(#163)
(e8e884a)
- 2d: construct lines using signals
(#133)
(2968a24)
- 2d: improve property declarations
(27e7d26)
- 2d: improve Rect corner radius
(#120)
(b471fe0)
- 2d: simplify layout prop
(c24cb12)
- 2d: unify desired sizes
(#118)
(401a799)
- add advanced caching
(#69)
(2a644c9)
- add base class for shapes
(#67)
(d38c172)
- add basic documentation structure
(#10)
(1e46433),
closes #2
- add basic logger
(#88)
(3d82e86),
closes #17
- add basic transform to Node class
(#83)
(9e114c8)
- add cloning (#80)
(47d7a0f)
- add CodeBlock component based on code-fns to 2D
(#78)
(ad346f1)
- add default renderer
(#63)
(9255490),
closes #56
#58
- add deprecation support
(#130)
(da0e104)
- add docs to monorepo
(#22)
(129d557)
- add E2E testing
(#101)
(6398c54),
closes #42
- add ease back interp functions
(#30)
(c11046d)
- add eslint
(658f468)
- add Grid node
(e1f83da)
- add inspection
(#82)
(4d7f2ae)
- add layered layout
(381b2c0)
- add LayoutText
(328b7b7)
- add markdown logs
(#138)
(e42447a)
- add meta files
(#28)
(e29f7d0),
closes #7
- add missing layout props
(#72)
(f808a56)
- add node spawners
(#149)
(da18a4e)
- add polyline (#84)
(4ceaf84)
- add pull request verification
(d91bab5)
- add random number generator
(#116)
(d505312),
closes #14
- add rendering again
(#43)
(c10d3db)
- add reparent helper
(80b95a9)
- add scaffolding package
(#36)
(266a561),
closes #30
- add support for meta files
(#11)
(456790a)
- add support for npm workspaces
(741567f)
- add Text and Image components
(#70)
(85c7dcd)
- add video node
(#86)
(f4aa654)
- added color space option to Project and Player
(#89)
(e1e2ac4),
closes #80
- added Color Space option to Rendering panel
(#24)
(33f691d)
- added custom resolution inputs to the rendering pane
(#20)
(1f799b6)
- added deepTween function and rewrote colorTween to use colorjs.io
(#88)
(eb7ca3c),
closes #73
#78
- added file type and quality options to rendering panel
(#50)
(bee71ef),
closes #24
- added useContext and useContextAfter hooks
(#63)
(352e131),
closes #58
- animation player
(#92)
(8155118)
- AnimationClip
(681146a)
- arc tween ratio
(27dbb0b)
- audio offset
(88f40aa)
- audio playback
(e9a6fdb)
- audio toggle control
(300f18e)
- audio waveform track
(9aff955)
- better dependencies between packages
(#152)
(a0a37b3)
- better dependencies between packages
(#153)
(59a73d4)
- better naming conventions
(#62)
(a9d764f)
- better playback controls
(796ae33)
- better time events
(8c2bf27)
- better time events
(1acd71b)
- blob rendering
(4dff949)
- browser based renderer
(13dc24c)
- circular mask for surfaces
(4db62d8)
- clamp function
(94543d1)
- color picker
(ac48055)
- configurable framerate and resolution
(a715f5c)
- configurable framerate and resolution
(a591683)
- connections
(49254fc)
- core: add configurable line numbers
(#44)
(831334c),
closes #12
- core: switch to vitest
(#99)
(762eeb0),
closes #48
- create new release
(20282e9)
- custom loaders
(5a3ab9a)
- decouple Konva from core
(#54)
(02b5c75),
closes #49
#31
- detect circular signal dependencies
(#129)
(6fcdb41)
- directional padding and margin
(441d121)
- display time in seconds
(0290a9c)
- docs: add logo
(#23)
(78698e4)
- docs: add migration guide for v10
(#37)
(0905daa)
- docs: visual changes
(be83edf)
- editor improvements
(#121)
(e8b32ce)
- extract konva to separate package
(#60)
(4ecad3c)
- filter reordering
(#119)
(2398d0f)
- follow utility
(fddfc67)
- force rendering to restart seek time
(#14)
(e94027a),
closes #6
- framerate-independent timing
(#64)
(6891f59),
closes #57
- function components
(178db3d)
- general improvements
(320cced)
- general improvements
(dbff3cc)
- grid
(d201a4d)
- grid and debug overlays
(895a53a)
- grid overlay
(f7aca18)
- implement absolute scale setter
(842079a)
- implement properties tab
(#10)
(e882a7f)
- improve async signals
(#156)
(db27b9d)
- improve layouts
(9a1fb5c)
- improve surface clipping
(#41)
(003b7d5)
- introduce basic caching
(#68)
(6420d36)
- jsx
(3a633e8)
- keyboard shortcuts
(4a3a7b5)
- layouts
(749f929)
- loading indication
(93638d5)
- make exporting concurrent
(4f9ef8d)
- make scenes independent of names
(#53)
(417617e),
closes #25
- make surfaces transparent by default
(#42)
(cd71285),
closes #25
- mask animation
(5771963)
- merge properties and signals
(#124)
(da3ba83)
- minor console improvements
(#145)
(3e32e73)
- minor improvements
(403c7c2)
- minor improvements
(#77)
(7c6e584)
- move back playhead by a frame
(#18)
(b944cd7)
- navigate to scene and node source
(#144)
(86d495d)
- new animator (#91)
(d85f2f8)
- open time events in editor
(#87)
(74b781d)
- package separation
(e69a566)
- pan with shift and left click
(#7)
(4ff8241),
closes #5
- playback controls
(94dab5d)
- player: add auto mode
(c107259)
- player: improve accessibility
(0fc9235)
- Promise support
(711f793)
- remove strongly-typed-events
(#48)
(41947b5)
- remove ui elements
(8e5c288)
- renderer ui
(8a4e5d3)
- rendering
(60ccda7)
- replaced
scene.transition
with useTransition
(#68)
(f521115),
closes #56
- scene transitions
(d45f1d3)
- sidebar
(d5345ba)
- signal error handling
(#89)
(472ac65)
- simplify size access
(#65)
(3315e64)
- simplify size access further
(#66)
(9091a5e)
- simplify the process of importing images
(#39)
(0c2341f),
closes #19
- sprites and threading
(a541682)
- support for multiple projects
(#57)
(573752d),
closes #141414
- support lower framerate
(3c81086)
- support multiple players
(#128)
(24f75cf)
- surfaceFrom animation
(77bb69e)
- surfaces
(99f9e96)
- switch to monorepo
(6c8d190),
closes #23
#86
#49
- switch to signals
(#64)
(d22d237)
- switch to Vite
(#28)
(65b9133),
closes #141414
#13
- threading
(e9f6b2a)
- three.js integration
(79cc975)
- time events
(f47cc66)
- time events
(026a284)
- time parameter for tweens
(3fe90ed)
- timeline range
(ed2d78d)
- timeline tracks
(93a89cd)
- turn Layout into node
(#75)
(cdf8dc0)
- ui: timeline overhaul
(#47)
(4232a60),
closes #20
- ui: visual changes
(#96)
(3d599f4)
- unify core types
(#71)
(9c5853d)
- unify references and signals
(#137)
(063aede)
- update core to 6.0.0
(#17)
(f8d453b)
- use Web Audio API for waveform generation
(817e244)
- use Web Audio API for waveform generation
(ba3e16f)
- useAnimator utility
(ad32e8a)
- viewport, playback, and timeline
(c5f9636)
- vite-plugin: improve audio handling
(#154)
(482f144)
- waveform data
(400a756)
Reverts
BREAKING CHANGES
- remove legacy package
- change names of timing and interpolation functions
TweenFunction
is now called InterpolationFunction
. Individual functions are
now called [type]Lerp
instead of [type]Tween
. For instance: colorTween
is
now colorLerp
.
InterpolationFunction
is now called TimingFunction
. This name is better
aligned with the CSS spec.
See
the migration guide
for more info.
- change the way scenes are imported
Scene files no longer need to follow the pattern: [name].scene.tsx
. When
importing scenes in the project file, a dedicated ?scene
query param should be
used:
import example from './scenes/example?scene';
export default new Project({
name: 'project',
scenes: [example],
});
- change the overall structure of a project
vite
and @motion-canvas/vite-plugin
packages are now required to build a
project:
npm i -D vite @motion-canvas/vite-plugin
The following vite.config.ts
file needs to be created in the root of the
project:
import {defineConfig} from 'vite';
import motionCanvas from '@motion-canvas/vite-plugin';
export default defineConfig({
plugins: [motionCanvas()],
});
Types exposed by Motion Canvas are no longer global. An additional
motion-canvas.d.ts
file needs to be created in the src
directory:
Finally, the bootstrap
function no longer exists. Project files should export
an instance of the Project
class instead:
import {Project} from '@motion-canvas/core/lib';
import example from './scenes/example.scene';
export default new Project({
name: 'project',
scenes: [example],
* Animator.inferTweenFunction now returns deepTween,
which does not work exactly as before, though should be a viable
replacement in most cases.
* `scene.transition()` has been replaced by `useTransition`
Any use of slide transition must be updated from
```ts
yield* scene.transition(slideTransition());
to
yield * slideTranstion();
Any transitions must be rewritten to utilize useTransition
.
- Konva patches are not imported by default
Projects using KonvaScene
s should import the patches manually at the very top
of the file project:
import '@motion-canvas/core/lib/patches'
bootstrap(...);
getset
import path has changed:
import {getset} from '@motion-canvas/core/lib/decorators/getset';
- change the type exported by scene files
Scene files need to export a special SceneDescription
object instead of a
simple generator function.
- change event naming convention
The names of all public events now use the following pattern:
"on[WhatHappened]". Example: "onValueChanged".
- change how images are imported
By default, importing images will now return their urls instead of a SpriteData
object. This behavior can be adjusted using the ?img
and ?anim
queries.
- change time events API
waitFor
and waitUntil
were moved
They should be imported from @motion-canvas/core/lib/flow
.