Skip to main content

Β· 2 min read
Jacob

New features πŸŽ‰β€‹

  • aarthificial's avatarCardinal points let you position nodes relative to their corners and edges#636
    Press play to preview the animation
    import ...

    export default makeScene2D(function* (view) {
    const rect = createRef<Rect>();

    view.add(
    <>
    <Rect
    ref={rect}
    width={200}
    height={100}
    rotation={-10}
    fill={'#333333'}
    />
    <Rect
    size={50}
    fill={'#e6a700'}
    rotation={rect().rotation}
    // Try changing "right" to "top"
    right={rect().left}
    />
    <Rect
    size={100}
    fill={'#e13238'}
    rotation={10}
    bottomLeft={rect().bottomRight}
    />
    </>,
    );

    yield* rect().rotation(10, 1).to(-10, 1);
    });

  • aarthificial's avatarNew Ray node lets you easily define simple lines between two points.#628
  • aarthificial's avatarNew methods for chaining animations together:#651
    yield* circle().scale(0.5, 0.2)
    // tween to another value
    .to(2, 0.2)
    // wait for one second
    .wait(1)
    // tween back to the initial value
    .back(0.2)
    // execute a callback
    .do(() => circle().fill('red'))
    // run the given generator
    .run(circle().position.y(100, 2));
  • squigglesdev's avatarNew loopFor and loopUntil flow functions.#650#624
  • aarthificial's avatarExternal changes to images are now automatically reflected in the preview.#641
  • ksassnowski's avatarNew fromDegrees, createArcLerp and mod Vector2 methods.#640#622
  • aarthificial's avatarNew completion and arcLengthproperties for curves.#627#635
  • aarthificial's avatarNew DEG2RAD and RAD2DEG constants for converting between degrees and radians.#630
  • aarthificial's avatarYou can now toggle fiddles between the code , editor and preview mode (You can try it out in the example above).#642

Fixed bugs πŸ›β€‹

  • someguythatcodes's avatarClear DependencyContext promises once resolved.#617
  • aarthificial's avatarFix fiddle accessibility.#647
  • aarthificial's avatarFix cyclic dependency in cardinal points.#645
  • aarthificial's avatarCorrectly append Txt nodes to view.#644
  • aarthificial's avatarFix taking snapshots.#638#643
  • gmile's avatarFix a typo in a viewport ID.#620
Check out the Update Guide for information on how to update your existing projects.

Β· 2 min read
Jacob

New features πŸŽ‰β€‹

  • ksassnowski's avatarNew BΓ©zier nodes let you easily create splines consisting of only one segment: #603
    Press play to preview the animation
    import ...

    export default makeScene2D(function* (view) {
    const bezier = createRef<CubicBezier>();

    view.add(
    <CubicBezier
    ref={bezier}
    lineWidth={6}
    stroke={'lightseagreen'}
    p0={[-200, 0]}
    p1={[50, -200]}
    p2={[-50, 200]}
    p3={[200, 0]}
    />,
    );

    yield* bezier().start(1, 1);
    yield* bezier().start(0).end(0).end(1, 1);
    });

  • aarthificial's avatarNew Video properties: #601
    • play automatically plays the video
    • loop restarts the video upon reaching the end
  • aarthificial's avatarFiddles now support multiple examples. You can switch between them using the dropdown on the right side.

Fixed bugs πŸ›β€‹

  • aarthificial's avatarUPDATE AVAILABLE now links to the GitHub release page.#608
  • aarthificial's avatarVideos play smoothly when in presentation mode.#600
  • aarthificial's avatarReused async resources are now correctly awaited.#599
  • ksassnowski's avatarArrow orientations for splines are correctly calculated.#597
  • aarthificial's avatarThe showcase editor has been fixed.#589
Check out the Update Guide for information on how to update your existing projects.

Β· 2 min read
Jacob

New features πŸŽ‰β€‹

  • ksassnowski's avatarNew Spline node lets you draw lines made up of Bezier curves:#514
    <Spline lineWidth={6} stroke={'lightseagreen'}>
    <Knot position={[-100, 30]} />
    <Knot position={[0, -50]} startHandle={[-70, 0]} />
    <Knot position={[100, 30]} />
    </Spline>
  • ksassnowski's avatarVector2 has been expanded with new methods: degrees, equals, squaredMagnitude#579
  • guifeliper's avatarNames displayed in the project selection view are now retrieved from the meta files.#552
  • aarthificial's avatarIntroduce initial API for plugins.#564
  • aarthificial's avatarThe fields in the editor are now autogenerated based on the structure of the meta file.#565

Fixed bugs πŸ›β€‹

  • aarthificial's avatarSupport multiple fiddles on one page.#572
  • aarthificial's avatarFix CodeBlock types.#563
  • aarthificial's avatarSize is now copied when cloning a node.#562
  • aarthificial's avatarZoom to fit works correctly for smaller canvases.#561
Check out the Update Guide for information on how to update your existing projects.

Β· 2 min read
Jacob

New features πŸŽ‰β€‹

  • aarthificial's avatarNew Fiddle Editor let's you play around with Motion Canvas directly in the browser.#542
  • aarthificial's avatarInformation about the current zoom level is now displayed in the top-left corner of the viewport. You can choose one of the predefined zoom levels or toggle "zoom to fit".#531
  • misclicl's avatarThe group by scene rendering option lets you render scenes into separate image sequences.#477
  • aarthificial's avatarButton titles now include their corresponding shortcuts.#532
  • guifeliper's avatarVite has been updated to v4.#495
  • aarthificial's avatarTree shaking now works correctly.#523
  • aarthificial's avatarCustom fields added to meta files are now preserved.#534
  • aarthificial's avatarCheckboxes use a custom style.#529

Fixed bugs πŸ›β€‹

  • aarthificial's avatarThe size of cache canvases is limited to the size of the project.#544
  • AshishBarvaliya's avatartextWrap now works in Firefox.#541
  • AshishBarvaliya's avatarThe port at which Motion Canvas is served can now be changed.#538
  • AshishBarvaliya's avatarThe editor correctly detects new versions.#520
  • AshishBarvaliya's avatarKeyboard shortcuts are now ignored when inputting text.#521
  • aarthificial's avatarRuntime errors no longer corrupt the editor's state.#524

Β· One min read
Jacob

New features πŸŽ‰β€‹

  • oacs's avatarNew status bar lists the shortcuts available in the currently hovered panel.#444
  • aarthificial's avatarThe current version is now displayed on the status bar. Clicking it will copy the versions of all packages currently in use.#501
  • aarthificial's avatarCache is now stored using world space coordinates. Scaling up cached nodes no longer results in quality loss.#498
  • magx2's avatarAll methods of Vector2 now acceptPossibleVector2 as arguments, making it possible to write code like this: #478
    vector.add([100, 200]).mul(2);
  • andrie's avatarNew Polygon node lets you quickly create regular polygons:
    <Polygon
    sides={6}
    size={300}
    fill={'lightseagreen'}
    />
    The code above will generate a hexagon.#463

Fixed bugs πŸ›β€‹

  • aarthificial's avatarFix line arc length.#503
  • AshishBarvaliya's avatarFix invalid source code link.#502

Β· 2 min read
Jacob
info

Check out the Migration Guide for instructions on how to update your project.

New features πŸŽ‰β€‹

  • aarthificial's avatarNew playback architecture:
    • Project settings are now stored in meta files.
    • Preview and rendering settings are configured separately.
    • The animation range is stored using seconds instead of frames.
    • You can adjust the audio offset by holding SHIFT and dragging the waveform left and right
    • The rendering is not locked to the framerate, making the process a bit faster.
    This change also opens the door to a lot of new features, including the Presentation Mode, Editable Signals and Custom Exporters.#402
  • ccaven's avatarRendering settings include a quarter resolution (x0.25).#421
  • mohsinhijazee's avatarNew textDirection property for RTL/LTR text.#404

Fixed bugs πŸ›β€‹

  • aarthificial's avatarFix Vector2.exactlyEquals.#437
  • aarthificial's avatarRender only within the range.#436
  • aarthificial's avatarFix initial value of endOffset.#433
  • aarthificial's avatarCorrectly reset zoom.#432
  • aarthificial's avatarFix performance issue with audio track.#427
  • aarthificial's avatarClear semi-transparent backgrounds.#424

Β· 2 min read
Jacob

New features πŸŽ‰β€‹

  • ksassnowski's avatarYou can now store the state of a node and restore it at a later point.#406
  • Ross-Esmond's avatarCodeBlock is now exported together with other nodes. An improved theme system with the new stockTheme property lets you use VS Code themes (powered by Shiki)#401
  • aarthificial's avatarNew alignContent and alignItemsFlexbox properties.#405
  • ksassnowski's avatarNew zIndex property allows you to change the rendering order of child nodes, without rearranging the hierarchy.#398
  • WaldemarLehner's avatarNew Icon node:
    <Icon icon={"mdi:typewriter"} size={200} color="white" />
    Check out IcΓ΄nes for the list of all possible icons.#306
  • WaldemarLehner's avatarImages can now be loaded from the internet. For images with incompatible CORS headers, a new CORS Proxy can be enabled.#357
  • aarthificial's avatarNew look for the release blog.#410

Fixed bugs πŸ›β€‹

  • aarthificial's avatarHandle division by zero in lines#407

Β· One min read
Jacob

New features πŸŽ‰β€‹

  • gustavneustadt's avatarNew spring interpolation.#356
  • aarthificial's avatarclosed property lets you make wedges using Circles.#378
  • DanielBreiner's avatarNew fadeTransition.#384
  • ksassnowski's avatarThe range function now accepts an additional step parameter.#373
  • dariasc's avatarView2D now extends Rect allowing you to change the background color of a scene using the fill property.#379

Fixed bugs πŸ›β€‹

  • aarthificial's avatarSupport Color to null tweening.#387
  • aarthificial's avatarPlug memory leaks.#385
  • aarthificial's avatarFix signal initialization.#382
  • aarthificial's avatarHandle floating point errors in acos.#381

Β· One min read
Jacob

Features​

Bug Fixes​