Skip to content

Latest commit

 

History

History
619 lines (450 loc) · 67.4 KB

CHANGELOG.md

File metadata and controls

619 lines (450 loc) · 67.4 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

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

  • multiple name 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:

  • CodeBlock.selectionOpacity => CodeBlock.unselectedOpacity
  • makeProject no longer accepts some settings.

Settings such as background and audioOffset are now stored in the project meta file.

2.6.0 (2023-02-24)

Bug Fixes

  • 2d: handle division by zero in lines (#407) (a17871a)

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

  • 2d: make Text respect textWrap=pre (#287) (cb07f4b)
  • ui: fix play-pause button (#299) (191f54a)
  • ui: remove glossy effect in Safari (#292) (9c062b2) 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 2d: add video component property getter (#240) (59de5ab) project variables (#255) (4883295) 2.1.0 (2023-02-07) Bug Fixes 2d: fix font ligatures in CodeBlock (#231) (11ee3fe) 2d: fix Line cache (#232) (a953b64), closes #205 2d: handle lines with no points (#233) (8108474), closes #212 2d: improve Rect radius (#221) (3437e42), closes #207 2d: stop code highlighting from jumping (#230) (67ef1c4) core: fix looping (#217) (a38e1a7), closes #178 docs: fix typo in configuration.mdx (#185) (ca67529) fix compound property setter (#218) (6cd1b95), closes #208 #210 vite-plugin: add missing headers to html (#219) (2552bcf), closes #201 Features add useDuration helper (#226) (fa97d6c), closes #171 2.0.0 (2023-02-04) Bug Fixes 2d: add missing shape export (#111) (02a1fa7) 2d: fix import order (#94) (bcc0bcf), closes #76 2d: fix Line overview crashing (#142) (6bd5fd9) 2d: some signal setters not returning owners (#143) (09ab7f9) 2d: switch iframes to ShadowDOM (#90) (86176be) add missing Arrow setters (#82) (49843c9) add missing canvas package (26c8f4f) add missing public path (#40) (48213de) add monospace font fallback in case JetBrains Mono is missing (#24) (276a310), closes #16 bug with createEaseInOutBack in interpolationFunctions.ts (#69) (2b95876) change executable file permissions (#38) (23025a2) code will trigger PrismJS such that JSX is correctly highlighted (#20) (b323231), closes #17 core: add missing type references (#41) (325c244) core: keep falsy values with deepTween (#45) (93c934f) create missing output directories (#13) (17f1e3f), closes #4 create: fix package type (#40) (f07aa5d) detect missing meta files (#83) (d1e2193), closes #79 display newlines in Code correctly (#38) (df8f390) docs: fix a typo (#55) (2691148) docs: fix broken links (#105) (f79427d) docs: fix links to examples (#106) (d445b56) docs: fix small typo (#107) (fe6cbb0) docs: improve predicate type (#148) (3abee4f) docs: name collisions between members (#117) (1e52b94) docs: small corrections (#108) (9212343) empty time events crashing (a1c53de) fix docs workflow (#102) (f591169) fix docs workflow (#103) (b9e2006) fix docs workflow (#104) (7e59a1a) fix hot reload (#26) (2ad746e) fix meta file version and timing (#32) (a369610) fix player state not being saved (#85) (74b54b9) fix scaffolding (#93) (95c55ed) fix tsdoc comments (#21) (4b6cb66), closes #18 legacy: add missing files (#61) (fad87d5) load project state correctly (#27) (8ae0233) make panes scrollable (#14) (dc9fd38) marked index.mjs as executable such that the cli will run on linux (#47) (722d5eb), closes #46 MeshBoneMaterial opacity (24db561) pre-commit hook will now work on linux and mac (#51) (ef80035) prevent scrolling timeline with arrow keys (#4) (dfc8108) previous scene being rendered twice (#97) (90205bd) previous scene invisible when seeking (65e32f0) previous scenes not getting disposed (bf3a1fc) range middle-click expansion (1c0b724) re-render the scene when canvas changes (#55) (191f96d) remove inconsistency in playhead controls (#1) (58cdb4a) respect child origins in LinearLayout (5ee114d) restrict the corner radius of a rectangle (#9) (cc86a4a), closes #8 save time events only if they're actively used (#35) (bd78c89), closes #33 #34 save timeline state (9d57b8a) support hmr when navigating (370ea16) support nested threads (#84) (4a4a95f) the resolution fields in Rendering no longer reset each other (#73) (ddabec5) timeline will no longer seek when scrolling using the scrollbar (#19) (c1b1680) ui: don't seek when editing time events (#26) (524c200) ui: downgrade preact (#1) (5f7456f) ui: misaligned overlay (#127) (0379730) ui: prevent context menu in viewport (#123) (0fdd85e) ui: prevent timeline scroll when zooming (#162) (b8278ae) use correct scene sizes (#146) (f279638) Code Refactoring remove legacy package (6a84120) 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 "ci(release): 9.1.3 [skip ci]" (62953a6) chore(release): 1.4.0 [skip ci] (d6121ae) ci(release): 1.0.1 [skip ci] (#175) (161a046) ci(release): 2.0.0 [skip ci] (#176) (551096b) 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. change to import paths 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: /// <reference types="@motion-canvas/core/project" /> 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], // same options as in bootstrap() are available: * 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 KonvaScenes 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.