Releases: linebender/bevy_vello
Releases · linebender/bevy_vello
v0.7.0
0.7.0 - 2025-02-27
This release supports Bevy version 0.15 and has an MSRV of 1.85.
Added
- Added
VelloView
marker component used for identifying cameras rendering vello content. - Added
VelloEntityCountDiagnosticsPlugin
which can be used to provide vello entity type data at runtime. See thediagnostics
example. - Added
VelloFrameProfileDiagnosticsPlugin
which can be used to provide vello frame profile data at runtime. See thediagnostics
example.
Changed
- bevy_vello now uses Bevy 0.15
Camera2d
now requires aVelloView
marker for rendering.VelloAsset
assets have been separated intoVelloSvg
andVelloLottie
VelloAssetBundle
has been separated intoVelloSvgBundle
andVelloLottieBundle
Handle<VelloAsset>
has been separated intoVelloSvgHandle
andVelloLottieHandle
VelloAssetAnchor
has been separated intoVelloSvgAnchor
andVelloLottieAnchor
- The license on bevy_vello no longer includes OFL 1.1
- The
experimental-dotLottie
feature was removed and merged into thelottie
feature. DotLottiePlayer
was renamed toLottiePlayer
.- All render types (
VelloSvgHandle
,VelloLottieHandle
,VelloScene
, andVelloTextSection
) now have required components as an alternative to their bundle counterparts.
Removed
- Removed
DebugVisualizations
. Now you should useBorderColor
for UI Nodes andGizmos
for world assets. Several examples show this capability, such as thesvg
andsvg_ui
examples. - Removed
CoordinateSpace
. If you wish to render scene or asset UI, insert aNode
component. For more information, see thescene_ui
,svg_ui
, orlottie_ui
examples. VelloText
(withCoordinateSpace::ScreenSpace
) can no longer render text in screen space. You should be using bevy's nativeText
for UI text, which is more feature rich and widely used.
Fixed
- We no longer bundle the default font twice when the
default_font
feature is active.
New Contributors
Full Changelog: v0.6.1...v0.7.0
v0.6.1
v0.6.0
0.6.0 - 2024-08-09
This release supports Bevy version 0.14 and has an MSRV of 1.80.
Added
- There is now a
default_font
feature that uses the sameFiraMono-subset.ttf
font used in the bevy/default_font feature. - There is now a
render_layers
example. - There is now a
cube_3d
example. - You may now choose the render layers for the Vello canvas. This can be configured through the
VelloPlugin
. - You may now choose to use CPU rendering with Vello and configure anti-aliasing. This can be configured through the
VelloPlugin
. - Added the
SkipEncoding
component, which allows you to skip encoding any renderable asset without removing the asset.
Changed
VelloPlugin
now has configuration. To retain previous behavior, useVelloPlugin::default()
.VelloRenderer
is now a resource.- The
VelloRenderer
will attempt CPU fallback if it cannot obtain a GPU. - The font API has changed significantly. Please visit
examples/text
for further usage. This is to prepare for additional text features such as linebreak behavior, bounded text, and text justification.VelloText
has been renamed toVelloTextSection
.VelloText.content
has been renamed toVelloText.value
.- There is now a
VelloTextStyle
struct and it is a required field ofVelloText
. VelloFont
has been removed fromVelloTextBundle
and moved intoVelloTextStyle
.
- The field
VelloAssetBundle.vector
was renamed toVelloAssetBundle.asset
. - Renamed
VelloAssetAlignment
toVelloAssetAnchor
. Fields were renamedalignment
were renamed toasset_anchor
. - Renamed
VelloTextAlignment
toVelloTextAnchor
. Fields were renamedalignment
were renamed totext_anchor
. - The
SSRenderTarget
(fullscreen quad that renders your frame) no longer renders at a zepth of-0.001
. This was a legacy hack used to ensure Gizmos rendered on-top.RenderLayers
should be used now (there's an example).
Removed
- Removed
ZFunction
s from the render pipeline. Now ordering is based solely on theTransform
's z component. If you dependeded on this behavior, you'll need to adjust the transform Z in a system prior to render. VelloRenderPlugin
is now private, as it is not helpful for downstream developers to add manually.- Removed
VelloCanvasMaterial
from prelude, as it is not typical to use.
Fixed
- Text, assets, and scenes rendered will now correctly respect camera
RenderLayers
.
v0.5.1
0.5.1
Fixed
- Updated to patch vello 0.2.1. It is now no-longer possible to panic when the vello encodings are empty.
- The demo CI now deploys that bevy_pancam has been updated to bevy 0.14
Full Changelog: v0.5.0...v0.5.1
v0.5.0
0.5.0
Added
- New
scene_ui
example demonstrating aVelloScene
attached to abevy::ui::Node
.
Changed
- Updated to bevy 0.14
- Updated to vello 0.2
- Updated to velato 0.3
- Updated to vello_svg 0.3
Fixed
- Removed
Arc
in anotherArc
forVelloFont
- Opacity now correctly applies to SVG assets.
- Opacity now applies correctly to the lottie image group, rather than each element and path within it, causing overdraw.
VelloScene
components onbevy::ui::Node
entities now account for Bevy's UI layout systems and render at the expected viewport coordinates
Removed
- Pancam and/or egui from all examples besides the demo, as external dependencies can bottleneck upgrading to the next bevy version.
New Contributors
- @dannymcgee made their first contribution in #59
Full Changelog: v0.4.2...v0.5.0
v0.4.2
0.4.2
Fixed
- Updated to vello_svg v0.2.0, fixing viewboxes.
- Updates to velato v0.2.0, fixing viewboxes.
Full Changelog: v0.4.0...v0.4.2
v0.4.1 (Yanked)
0.4.1 (Yanked)
v0.4.0
0.4.0
Added
- New
svg
example - New
lottie
example
Changed
- The GitHub repo has migrated into the linebender org: https://github.com/linebender
- You may need to update your git ref from
loopystudios
tolinebender
- You may need to update your git ref from
- SVG and Lottie features are now feature-gated
- SVG (.svg) support is now added through a cargo feature
svg
. - Lottie (.json) support is now added through the cargo feature
lottie
. - experimental
dotLottie
features (LottiePlayer
,PlayerTransition
,PlayerState
) are now feature-gated through the cargo featureexperimental-dotLottie
. This is only partial support, and a work in progress. Theme
is now activated through thelottie
feature, as it was only possible to style runtime lotties.VelloAsset.metadata()
is no longer available, as it is specific to Lottie. There is now a trait,LottieExt
that can be imported to call.metadata()
on aComposition
instead. This is no longer fallible as a result.
- SVG (.svg) support is now added through a cargo feature
PlaybackAlphaOverride
was removed in favor of analpha
field onVelloAsset
.LottiePlayer
was renamed toDotLottiePlayer
.- Paths to several locations have changed, e.g.
bevy_vello::assets
->bevy_vello::integrations
Fixed
- A slow startup delay for lottie assets to begin rendering
- A dotLottie issue where the first frame can jump on web platforms.
New Contributors
- @AngeloMateus made their first contribution in #48
Full Changelog: v0.3.0...v0.4.0
v0.3.0
0.3.0 (2024-05-01)
added
VelloAssetAlignment
was added to theVelloAssetBundle
.
changed
VectorFile
enum variants were flattened into tuple structs.
removed
bevy_vello::VelloPlugin
was removed from the prelude.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
0.2.0 (2024-04-17)
added
- Added the
VelloTextAlignment
component toVelloTextBundle
, which now helps control the alignment of text.
fixed
- Text bounding boxes are now tighter as they are capped by the baseline.
Full Changelog: v0.1.2...v0.2.0