bevy v0.7.0 Release Notes
Release Date: 2022-04-15 // about 2 years ago-
โ Added
- Mesh Skinning
- Animation Player
- Gltf animations
- Mesh vertex buffer layouts
- Render to a texture
- ๐ KTX2/DDS/.basis compressed texture support
- Audio control - play, pause, volume, speed, loop
- Auto-label function systems with SystemTypeIdLabel
- Query::get_many
- Dynamic light clusters
- โก๏ธ Always update clusters and remove per-frame allocations
ParamSet
for conflictingSystemParam
:s- 0๏ธโฃ default() shorthand
- use marker components for cameras instead of name strings
- Implement
WorldQuery
derive macro - Implement AnyOf queries
- Compute Pipeline Specialization
- Make get_resource (and friends) infallible
- ๐ bevy_pbr: Support flipping tangent space normal map y for DirectX normal maps
- Faster view frustum culling
- Use storage buffers for clustered forward point lights
- Add &World as SystemParam
- ๐ Add text wrapping support to Text2d
- Scene Viewer to display glTF files
- Internal Asset Hot Reloading
- Add FocusPolicy to NodeBundle and ImageBundle
- Allow iter combinations on queries with filters
- ๐ bevy_render: Support overriding wgpu features and limits
- bevy_render: Use RenderDevice to get limits/features and expose AdapterInfo
- ๐ง Reduce power usage with configurable event loop
- can specify an anchor for a sprite
- Implement len and is_empty for EventReaders
- Add more FromWorld implementations
- Add cart's fork of ecs_bench_suite
- bevy_derive: Add derives for
Deref
andDerefMut
- โฑ Add clear_schedule
- Add Query::contains
- ๐ bevy_render: Support removal of nodes, edges, subgraphs
- Implement init_resource for
Commands
andWorld
- Added method to restart the current state
- Simplify sending empty events
- impl Command for
impl FnOnce(&mut World)
- ๐ฑ Useful error message when two assets have the save UUID
- ๐ฑ bevy_asset: Add AssetServerSettings watch_for_changes member
- Add conversio from Color to u32
- ๐ Introduce
SystemLabel
's forRenderAssetPlugin
, and changeImage
preparation system to run before others - Add a helper for storage buffers similar to
UniformVec
- StandardMaterial: expose a cull_mode option
- Expose draw indirect
- Add view transform to view uniform
- Add a size method on Image.
- add Visibility for lights
- bevy_render: Provide a way to opt-out of the built-in frustum culling
- use error scope to handle errors on shader module creation
- include sources in shader validation error
- insert the gltf mesh name on the entity if there is one
- expose extras from gltf nodes
- gltf: add a name to nodes without names
- ๐ Enable drag-and-drop events on windows
- โ Add transform hierarchy stress test
- Add TransformBundle
- Add Transform::rotate_around method
- example on how to create an animation in code
- Add examples for Transforms
- Add mouse grab example
- examples: add screenspace texture shader example
- Add generic systems example
- add examples on how to have a data source running in another thread / in a task pool thread
- Simple 2d rotation example
- ๐ Add move sprite example.
- ๐ป add an example using UI & states to create a game menu
- โ
CI runs
cargo miri test -p bevy_ecs
- Tracy spans around main 3D passes
- ๐ Add automatic docs deployment to GitHub Pages
๐ Changed
- Proper prehashing
- ๐ Move import_path definitions into shader source
- โก๏ธ Make
System
responsible for updating its own archetypes - Some small changes related to run criteria piping
- ๐ Remove unnecessary system labels
- Increment last event count on next instead of iter
- ๐ Obviate the need for
RunSystem
, and remove it - Cleanup some things which shouldn't be components
- ๐ Remove the config api
- ๐ Deprecate
.system
- ๐ Hide docs for concrete impls of Fetch, FetchState, and SystemParamState
- โฑ Move the CoreStage::Startup to a seperate StartupSchedule label
- ๐ฑ
iter_mut
on Assets: send modified event only when asset is iterated over - check if resource for asset already exists before adding it
- bevy_render: Batch insertion for prepare_uniform_components
- 0๏ธโฃ Change default
ColorMaterial
color to white - bevy_render: Only auto-disable mappable primary buffers for discrete GPUs
- bevy_render: Do not automatically enable MAPPABLE_PRIMARY_BUFFERS
- ๐ increase the maximum number of point lights with shadows to the max supported by the device
- perf: only recalculate frusta of changed lights
- โก๏ธ bevy_pbr: Optimize assign_lights_to_clusters
- improve error messages for render graph runner
- Skinned extraction speedup
- Sprites - keep color as 4 f32
- ๐ Change scaling mode to FixedHorizontal
- Replace VSync with PresentMode
- do not set cursor grab on window creation if not asked for
- bevy_transform: Use Changed in the query for much faster transform_propagate_system
- Split bevy_hierarchy out from bevy_transform
- ๐ Make transform builder methods const
- many_cubes: Add a cube pattern suitable for benchmarking culling changes
- Make many_cubes example more interesting
- โ
Run tests (including doc tests) in
cargo run -p ci
command - Use more ergonomic span syntax
๐ Fixed
- ๐ Remove unsound lifetime annotations on
EntityMut
- ๐ Remove unsound lifetime annotations on
Query
methods - ๐ Remove
World::components_mut
- unsafeify
World::entities_mut
- Use ManuallyDrop instead of forget in insert_resource_with_id
- Backport soundness fix
- ๐ป Fix clicked UI nodes getting reset when hovering child nodes
- ๐ป Fix ui interactions when cursor disappears suddenly
- โก๏ธ Fix node update
- Fix derive(SystemParam) macro
- ๐ SystemParam Derive fixes
- Do not crash if RenderDevice doesn't exist
- ๐ Fixed case of R == G, following original conversion formula
- โ Fixed the frustum-sphere collision and added tests
- bevy_render: Fix Quad flip
- ๐ Fix HDR asset support
- fix cluster tiling calculations
- bevy_pbr: Do not panic when more than 256 point lights are added the scene
- fix issues with too many point lights
- shader preprocessor - do not import if scope is not valid
- ๐ support all line endings in shader preprocessor
- ๐ Fix animation: shadow and wireframe support
- add AnimationPlayer component only on scene roots that are also animation roots
- Fix loading non-TriangleList meshes without normals in gltf loader
- gltf-loader: disable backface culling if material is double-sided
- Fix glTF perspective camera projection
- fix mul_vec3 transformation order: should be scale -> rotate -> translate