0.11.0 - 2025-12-08
This release supports Bevy version 0.17 and has an MSRV of 1.87.
Added
- Picking is now supported with the
pickingcargo feature. See the picking example for more. - View culling is now automatically performed for all assets. All assets not within the view of a camera tagged with
VelloViewwill be culled prior to rendering. This works by culling AABBs not seen by the cameras. see the view culling example.- WARNING There is no way to retrieve the content size of a
vello::Scene. Hence,VelloScene2dshould be given anAabbmanually by the developer. By default,Aabb::default()is used, which is never updated (or gets view-culled). - AABBs will automatically update for
VelloSvg2dusing the asset size. - AABBs will automatically update for
VelloLottie2dusing the asset size. - AABBs will automatically update for
VelloText2dusing the text size.
- WARNING There is no way to retrieve the content size of a
ContentSizefor Ui nodes will automatically update for all assets.- WARNING There is no way to retrieve the content size of a
vello::Scene. Hence,UiVelloSceneshould haveContentSizemanually managed by the developer. Otherwise, we assume a 0x0 content measurement, which takes no layout space. - UI will automatically measure
UiVelloSvgusing the asset size. - UI will automatically measure
UiVelloLottieusing the asset size. - UI will automatically measure
UiVelloTextusing the text size. - Several diagnostics were added. See
bevy_vello::render::diagnosticsfor all of them.
- WARNING There is no way to retrieve the content size of a
Changed
- If you were relying on
LottiePlayerinteractions, you must enable thepickingfeature. - The default
VelloTextAnchoris nowVelloTextAnchor::Center. VelloTextSection(nowVelloText2d/UiVelloText) no longer hasheight, andwidthhas been renamed tomax_advance.VelloScenehas been split intoVelloScene2dandUiVelloScene. The former is for world entities and the latter is for UI nodes.VelloTextSectionhas been split intoVelloText2dandUiVelloText. The former is for world entities and the latter is for UI nodes.VelloSvgHandlehas been split intoVelloSvg2dandUiVelloSvg. The former is for world entities and the latter is for UI nodes.VelloLottieHandlehas been split intoVelloLottie2dandUiVelloLottie. The former is for world entities and the latter is for UI nodes.- Several diagnostics changed names. See
bevy_vello::render::diagnosticsfor all of them.
Removed
SkipEncodingno longer exists. UseVisibility::Hiddenif you wish to skip encoding.VelloSceneBundleno longer exists. UseVelloScene2dandUiVelloSceneinstead.VelloTextBundleno longer exists. UseVelloText2dandUiVelloTextinstead.VelloSvgBundleno longer exists. UseVelloSvg2dandUiVelloSvginstead.VelloLottieBundleno longer exists. UseVelloLottie2dandUiVelloLottieinstead.SkipScalingno longer exists. If you need to scale something, use the entity's transform.VelloWorldScaleno longer exists. If you need to scale something, use the entity's transform.VelloScreenScaleno longer exists. If you need to scale something, use the entity's transform.VelloScreenSpaceno longer exists. You should use a separate camera for UI and manually place items into screen space. There are now examples for screenspace to help.
Fixed
- Renderables (text, images, scenes) now respect the camera projection scale.
- Objects are now scaled according to the scale factor (pixel density) of the viewport/window. This fixes scaling on retina displays.
- Render targets are now resized when camera viewport size changes
- The headless example is now actually headless (does not spawn a window)
Full Changelog: v0.10.3...v0.11.0