Skip to content

Commit 5cc9150

Browse files
committed
N17: Bevy: More high-level & compact overview
1 parent d8c0979 commit 5cc9150

File tree

1 file changed

+38
-85
lines changed

1 file changed

+38
-85
lines changed

content/posts/newsletter-017/index.md

+38-85
Original file line numberDiff line numberDiff line change
@@ -115,100 +115,46 @@ This month, thanks to 66 contributors, 178 pull requests, and their
115115
[generous sponsors][bevy-sponsors], Bevy 0.4 was released. You can view the
116116
[full Bevy 0.4 announcement here][bevy-0-4]. Here are some highlights:
117117

118-
- WASM + WebGL2
119-
- Bevy now has a WebGL2 render backend!
120-
- Cross Platform Main Function
121-
- By adding `#[bevy_main]` to your main function,
122-
you can now publish the same app code to Windows, MacOS, Linux, Android, iOS,
123-
and Web.
124-
- Live Shader Reloading
125-
- Changes to shaders are automatically recompiled and reloaded at runtime for
126-
fast iteration cycles
127-
- ECS Improvements
128-
- Flexible System Parameters
129-
- You can now specify system parameters in any order
130-
- Improved compile times
131-
- _Much_ simpler IntoSystem implementation
132-
- Easily define your own system parameters
133-
- Improved Query Filter API
134-
- Filters are now defined separately from components and read more naturally
135-
- System Inputs, Outputs, and Chaining
136-
- This allows interesting behaviors, such as system error handlers
137-
- Schedule V2
138-
- Custom Stages: implement your own stage logic
139-
- Run Criteria: only run stages when a certain criteria is met
140-
- Fixed Timestep: stages can now be run on a fixed timestep
141-
- Typed Stage Builders: ergonomically interact with custom stages
142-
- States
143-
- By popular demand, Bevy now supports States. These are logical "app states"
144-
that allow you to enable/disable systems according to the state your app is in.
145-
- GLTF Improvements
146-
- Camera Importing
147-
- Automatic pixel format conversion for images loaded from a GLTF
148-
- Default material loading
149-
- Hierarchy Fixes
150-
- Spawn Scenes as children
151-
- Scenes can now be spawned as children, which allows transforming them via
152-
their parent
153-
- Dynamic Linking
154-
- You can now force Bevy to dynamically link, which cuts compile times significantly
155-
An example that compiles in ~1.4 seconds now compiles in ~0.5 seconds!
156-
- Text Layout Improvements
157-
- Migrated text layout to `glyph_brush_layout`, which resolved a number of text
158-
bugs
159-
- Renderer Optimization
160-
- Made most of the cpu render logic incremental, which cut frame time by 2-4x
161-
- Optimized text rendering, cutting frame time by ~3x
162-
- Reflection API
163-
- Created a new general-purpose Rust reflection api, which enables interacting
164-
with Rust types dynamically. This replaced the `bevy_property` and `bevy_type_registry`
165-
systems
166-
- 3D Texture Assets
167-
- Logging and Profiling
168-
- Bevy now has a new LogPlugin, which uses the `tracing` crate internally
169-
- Created a custom android logcat `tracing` backend
170-
- Visualizing Bevy system execution is now possible using tracing-chrome
171-
- HIDPI
172-
- Bevy now handles HIDPI displays properly / displays crisp 2x renders in
173-
most cases
174-
- Timer Improvements
175-
- Quality-of-life improvements: pausing, field accessor methods, ergonomics improvements,
176-
and internal refactoring / code quality
177-
- Task System
178-
- Improved performance (~20% in the Breakout example) and resolved a
179-
deadlock in single-thread task pools.
180-
- Apple Silicon support
118+
- a WebGL2 render backend;
119+
- cross platform main function: `#[bevy_main]`;
120+
- live shader reloading;
121+
- Schedule v2 with custom stages, run criteria, fixed timestep,
122+
and typed stage builders;
123+
- States that allow you to enable/disable systems
124+
according to the state your app is in;
125+
- scenes can now be spawned as children;
126+
- dynamic linking that significantly cuts compile times.
127+
- a new general-purpose Rust reflection API;
128+
- 3D texture assets;
129+
- HIDPI fixes;
130+
- GLTF, timer, text layout, task system, logging & profiling improvements;
131+
- ECS improvements: flexible system parameters, improved query filter API,
132+
and system inputs/outputs/chaining;
133+
- Apple Silicon support!
181134

182135
_Discussions:
183-
[/r/rust](https://www.reddit.com/r/rust/comments/kge7zy/bevy_04/),
136+
[/r/rust](https://reddit.com/r/rust/comments/kge7zy/bevy_04/),
184137
[hacker news](https://news.ycombinator.com/item?id=25480321),
185-
[twitter](https://twitter.com/cart_cart/status/1340376850560905218)_
138+
[Twitter](https://twitter.com/cart_cart/status/1340376850560905218)_
186139

187140
[bevy]: https://bevyengine.org
188141
[bevy-repo]: https://github.com/bevyengine/bevy
189142
[bevy-0-4]: https://bevyengine.org/news/bevy-0-4
190143
[bevy-sponsors]: https://github.com/sponsors/cart
191144

192-
Join Bevy's [Discord][bevy-discord], [/r/bevy subreddit][bevy-reddit],
193-
and follow [@BevyEngine on Twitter][bevy-twitter].
194-
195-
[bevy-discord]: https://discord.com/invite/gMUk5Ph
196-
[bevy-reddit]: https://reddit.com/r/bevy
197-
[bevy-twitter]: https://twitter.com/BevyEngine
198-
199145
------
200146

201-
Community Plugin Updates:
147+
Community plugin updates:
202148

203149
- [bevy_webgl2](https://github.com/mrk-its/bevy_webgl2):
204-
WebGL2 renderer plugin for WASM target
150+
WebGL2 renderer plugin for WASM target.
205151
- [bevy_rapier](https://github.com/dimforge/bevy_rapier):
206152
Rapier Physics' official Bevy plugin was updated to support Bevy 0.4.
207153
- [bevy_megaui](https://github.com/mvlabat/bevy_megaui): A plugin for
208-
[megaui](https://crates.io/crates/megaui) integration into Bevy
154+
[megaui](https://crates.io/crates/megaui) integration into Bevy.
209155
- [bevy_prototype_inline_assets](https://crates.io/crates/bevy_prototype_inline_assets):
210156
A simple plugin for bundling assets into your binary.
211-
- [bevy_doryen](https://github.com/smokku/bevy_doryen): A plugin integrating Bevy
157+
- [bevy_doryen](https://github.com/smokku/bevy_doryen): A plugin integrating Bevy.
212158
ECS with [doryen-rs](https://github.com/jice-nospam/doryen-rs) Ascii
213159
roguelike library.
214160
- [bevy_discovery](https://crates.io/crates/bevy_discovery): Automatically detects
@@ -219,27 +165,34 @@ Community Plugin Updates:
219165
input from different input hardware into game specific actions, eg. keyboard
220166
"Space" or joystick "A" can be mapped to "Jump" Action. This allows decoupling
221167
of the game code from device specific input api.
222-
- [bevy-earcutr](https://github.com/frewsxcv/bevy-earcutr): Draw polygons
223-
- [bevy_stl](https://github.com/nilclass/bevy_stl): STL mesh asset loader plugin
168+
- [bevy-earcutr](https://github.com/frewsxcv/bevy-earcutr): Draw polygons.
169+
- [bevy_stl](https://github.com/nilclass/bevy_stl): STL mesh asset loader plugin.
224170

225-
Community Tutorial Updates:
171+
Community tutorial updates:
226172

227173
- [Making Chess Clone in 3D](https://caballerocoll.com/blog/bevy-chess-tutorial):
228-
Walkthrough on how to make a Chess Clone with 3D pieces
229-
- [0.3 to 0.4 Migration Guide](https://sburris.xyz/posts/bevy-update-0-4/)
174+
Walkthrough on how to make a Chess Clone with 3D pieces.
175+
- [0.3 to 0.4 Migration Guide](https://sburris.xyz/posts/bevy-update-0-4/).
230176
- [Bevy Chinese Website(Bevy中文网)](https://bevyengine-cn.github.io/): Translate
231-
official website and The Bevy Book in Chinese
177+
official website and The Bevy Book in Chinese.
232178

233-
Community Game Updates:
179+
Community game updates:
234180

235181
- [Robbo](https://github.com/mrk-its/bevy-robbo):
236-
Bevy port of great 8-bit Atari game, working native and in the browser
237-
- [SiO2](https://github.com/dmitriy-shmilo/sio2): A simple powder toy clone
182+
Bevy port of great 8-bit Atari game, working native and in the browser.
183+
- [SiO2](https://github.com/dmitriy-shmilo/sio2): A simple powder toy clone.
238184
- [snake_bevy](https://github.com/mtKeller/snake_bevy): It's Snake!
239185
- [DJMcNab/life-rs](https://github.com/DJMcNab/life-rs): Bevy reproduction of the
240186
rules of [Conway's Game of Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life)
241187
on a randomised board. Alternative implementation: [Byteron/life-rs](https://github.com/Byteron/life-rs).
242188

189+
Join Bevy's [Discord][bevy-discord], [/r/bevy subreddit][bevy-reddit],
190+
and follow [@BevyEngine on Twitter][bevy-twitter].
191+
192+
[bevy-discord]: https://discord.com/invite/gMUk5Ph
193+
[bevy-reddit]: https://reddit.com/r/bevy
194+
[bevy-twitter]: https://twitter.com/BevyEngine
195+
243196
## Popular Workgroup Issues in Github
244197

245198
<!-- Up to 10 links to interesting issues -->

0 commit comments

Comments
 (0)