2.2 Release Notes
Release date: 5th November 2024
New Features
Shapes
- OpenType support for the Text Shape.
- New Gradient Color Mode for Strokes. Note that support is currently limited to color (no jitter, interpolation, alignment options etc. yet).
- It's now possible to add multiple Strokes to paths. See the Multi Stroke attribute at the bottom of a Shape's Stroke tab.
Behaviours
- Knot Behaviour - Add gaps to Paths where a Contour self-intersects.
- Stitches Behaviour - Fill closed Paths with a stitch effect.
Utilities
- Stroke Duplicator.
- Apply OpenType Style Behaviour.
Falloffs
- Two new Shape Types for the Falloff:
- Sweep - Create 'radar' like effects (similar to the the Sweep Gradient).
- Shape - Use custom Shapes as Falloffs.
- New Range Falloff.
General
- The Transform tool has been added to the Graph Editor.
- Proportional Easing - When using the Transform tool in the Time Editor and Graph Editor, scaling keyframes also scales any bézier handles.
- Maintain Proportional Easing - When moving keyframes in the Time Editor and Graph Editor, any bézier handles surrounding the keyframe are adjusted to maintain similar easing. This can optionally be turned off in Preferences.
- New 'Quick Mask' mode - by double clicking on the Pen, Pencil or any Primitive Tool the Toolbar icon will now tint yellow to indicate the tool is in 'Quick Mask' mode. Drawing in this mode will create a new Shape which will be used as a Clipping Mask to any selected Shape.
JavaScript API
API
Cavalry
Script UIs
Enhancements
- Many of the Filters have been optimised and should be a minimum of 2x faster with more significant speed improvements in the cases where a Filter has been connected to a Shape within a Duplicator. The Image Shader has seen a ~40x improvement in playback speed on macOS in certain test Scenes.
- The primitive tools within the Toolbar now show a small
E
icon when Create Editable Primitives is checked in the Tool Settings. - Forge Dynamics Shape now supports Scale for Bodies.
- A preview is now shown when hovering Compositions and most assets within the Assets Window.
- A preview is now shown when hovering image, video (first frame), .csv, Google Sheets and text asset inputs in the Attribute Editor.
- The Wave Deformer can now adapt to the length of contours to create a more even deformation.
- Layout Based on Size at Frame - The bounding box of animated Shapes used with Layout Group can now be set on a specific frame. This option is part of the Advanced tab of a Shape.
- The Text Shape can now be set to avoid any wrapping within a Text Box resulting in single words (orphans) on the last line.
- The Noise Behaviour now supports Noise Rotation and Noise Scale.
- Apply Font Size now supports Falloffs.
- The Style and Material Behaviours now include an All mode which can be used when working with Behaviours and the Range Falloff.
- New
Create > Demo Scenes > Text > Variable Font
example showing off the above. - New
Create > Demo Scenes > JavaScript > Random Dash Pattern
example. - A Component's Show Layer Groups mode is now Compact Layout. Along with the ability to rename attributes introduced in Cavalry 2.1.3 this provides a further simplified option for the UI.
- The font used for the JavaScript windows/panels and Attribute Expressions has been updated to Fira Code.
- Connectivity status check added to the Sign In window.
- Attribute Expressions can now be added to checkbox attributes.
- An alert is now triggered when there is < 50MB of hard drive space to reduce the potential risk of a failure to save a file.
- New Path Curvature option for Extend Open Paths.
- Beat Markers are now Pacing Markers and include the option to add markers on each second.
- New options added to the Preferences window for Maintain Proportional Easing and Use Absolute Bézier Positions.
- Added support for uppercase file extensions (JPG, PNG...) when importing image sequences and for the Image Smart Folder.
- Clicking the
F
orT
prefix in the Frame/Timecode Display now toggles between frame and timecode. - The Viewport Quality and Render Quality modes have been updated to improve anti-aliasing.
- New Justify alignment option for the Text Shape.
- New Paragraph Spacing option for the Text Shape.
- The Asset from Smart Folder now has a Count attribute.
- When
View > Draw Outside Composition Boundary
is active, complex Shapes are now converted to bounding boxes to improve performance. - Verb Count has been added to the Mesh Explorer. This is useful when working with the Blend Shape Behaviour.
- The Text Shape now supports looping for Text Paths.
- New High Quality option for Bend and Squash and Stretch.
- Path Offset now supports open paths.
- Dragging an existing Composition from the Assets Window onto the Create a Composition button will now create a parent Composition that inherits its Resolution, Frame Rate and Frame Range from the existing Composition.
- Trimming a tapered Stroke now 'masks' the stroke off.
Notable Bug Fixes
- Holding Option/Alt when using the Run Script button in the JavaScript Editor is working again.
- Disabled audio playback now remains disabled when playback loops.
- The Sound Behaviour's Frequency Bands as now set to a minimum of 2 to avoid a crash on Windows.
- The Glow Filter no longer produces 'blocky' results.
- The Text Background now treats a single line break as a paragraph in line with the new Paragraph Spacing feature. The previous behaviour or a double line break was considered a bug so backward compatibility is not included – any legacy files will need updating.
- The Input List UIs seen in Forge Bodies/Shaders/Falloffs etc. now correctly update the list item Ids when removing from the list. This was causing different issues dependent on the context.
- Hidden Guides can no longer be double clicked.
- The styling of the
Animate Path
button in the Scene Tree has been restored. - Holding Cmd/Ctrl when parenting Layers is now blocked.
- Dimming for contextual menus in the Attribute Editor has been restored.
- Auto-complete in the JavaScript Editor is now case sensitive.
- Fixed an issue affecting animation triggered by a Timeline Counter when contained within a Pre-Comp.
- Where a Stroke's Dash Pattern was a decimal value without a gap defined, the auto-generated gap is no longer rounded to the nearest integer.
- Fixed an issue with certain Cyrillic glyphs not rendering correctly as Layer labels causing a crash.
- The Blend Shape now behaves correctly in Delta mode.
- The Math Utility can now be connected to an enum (dropdown).
- The Time Offset for Value, Value2 and Value3 is now working again.
- The Noise Behaviour's
Context > Filter Position
option available within the contextual menu now retains its state between sessions. - It's now possible to render to QuickTime using the Motion JPEG codec.
- Exported ProRes 4444 or 4444 XQ files that contain alpha but where the first frame is fully opaque now import to Adobe After Effects/Premiere Pro.
- The Convolution Graph for the Timeline Counter is now the correct way round. Note that legacy Scenes will not auto-update. In order to update a file either create a new Timeline Counter to replace the existing one or run
api.set(layerId, {"legacyGraph": false});
(replacelayerId
with the Timeline Counter's layerId) and then flip the Convolution Graph horizontally. - Compositions with non-integer frame rates now report timecodes correctly to the Frame/Timecode Display and Timecode String Generator.
- Fixed a regression with parenting and inherited transforms. Children will now 'remain in place' when parenting/unparenting (a known issue with Skew remains).
- Fixed an issue that could result in locked keyframes for Distribution attributes.
- (macOS only) Improvements to how non-integer frame rates are reported when importing ProRes renders into other apps. Note that in some apps the frame rate will be rounded so reinterpreting the footage may be required.
- A hidden Merge Shape being used as a Clipping Mask now behaves when opening saved Scenes.
- It's no longer possible to accidentally apply transformations to selected Groups or Comps in the Assets Window.
- A crash when rendering higher resolutions to MP4 has been fixed and the limitations when rendering to MP4 have been clarified here.
isAttrReadOnly
now returns correctly when using getAttributeDefinition()- The Control with Null option no longer appears for read only attributes.
- setUserData now correctly saves an object.
- setVerticalToolbar() now renders correctly.
- Fixed a regression where child Layers where not returning when searching in the Scene Tree.
- Fixed a crash when interacting with Trails with tapered strokes in the Viewport via a Falloff.
- Fixed the situation on Windows where Directory Junctions with a missing origin in the Scripts directory could cause Cavalry to crash on startup.
- A Text Shape on a Text Path now correctly positions the characters around sharp corners.
Notes
- NFT.Storage are no longer supporting uploads to their NFT.Storage Classic product and so this upload preset has been removed from the Upload Preset Manager for new Cavalry installs. The
uploadPresets.json
file can be safely deleted from the Preferences directory to update this for existing installs but be aware this will also affect any changes made to the Web3.Storage preset. - Cavalry's renderer went through a significant upgrade with this update so there could be small visual differences in Scenes using Shaders and/or Filters when rendered in Cavalry 2.2 when compared to previous versions.
- The Falloffs tab for the Blend Sub-Mesh Positions has been removed as it is unsupported. We hope to reinstate this in future versions.