bevy/crates
Paweł Grabarz 052094757a reduce tricky unsafety and simplify table structure (#2221)
I've noticed that we are overusing interior mutability of the Table data, where in many cases we already own a unique reference to it. That prompted a slight refactor aiming to reduce number of safety constraints that must be manually upheld. Now the majority of those are just about avoiding bound checking, which is relatively easy to prove right.

Another aspect is reducing the complexity of Table struct. Notably, we don't ever use archetypes stored there, so this whole thing goes away. Capacity and grow amount were mostly superficial, as we are already using Vecs inside anyway, so I've got rid of those too. Now the overall table capacity is being driven by the internal entity Vec capacity. This has a side effect of automatically implementing exponential growth pattern for BitVecs reallocations inside Table, which to my measurements slightly improves performance in tests that are heavy on inserts. YMMV, but I hope that those tests were at least remotely correct.
2021-05-24 23:21:19 +00:00
..
bevy_app Add inline documentation to bevy code (#1404) 2021-05-06 02:26:54 +00:00
bevy_asset fix diagnostic length for asset count (#2165) 2021-05-14 19:31:36 +00:00
bevy_audio Hide re-exported docs (#1985) 2021-04-27 18:29:33 +00:00
bevy_core use bytemuck crate instead of Byteable trait (#2183) 2021-05-17 22:29:10 +00:00
bevy_derive Use bevy_reflect as path in case of no direct references (#1875) 2021-05-19 19:03:36 +00:00
bevy_diagnostic fix diagnostic length for asset count (#2165) 2021-05-14 19:31:36 +00:00
bevy_dylib Release 0.5.0 (#1835) 2021-04-06 18:48:48 +00:00
bevy_dynamic_plugin Various cleanups (#2046) 2021-05-01 20:07:06 +00:00
bevy_ecs reduce tricky unsafety and simplify table structure (#2221) 2021-05-24 23:21:19 +00:00
bevy_gilrs Release 0.5.0 (#1835) 2021-04-06 18:48:48 +00:00
bevy_gltf Update glam (0.15.1) and hexasphere (3.4) (#2199) 2021-05-18 18:56:15 +00:00
bevy_input Hide re-exported docs (#1985) 2021-04-27 18:29:33 +00:00
bevy_internal Hide re-exported docs (#1985) 2021-04-27 18:29:33 +00:00
bevy_log Hide re-exported docs (#1985) 2021-04-27 18:29:33 +00:00
bevy_macro_utils Use bevy_reflect as path in case of no direct references (#1875) 2021-05-19 19:03:36 +00:00
bevy_math Update glam (0.15.1) and hexasphere (3.4) (#2199) 2021-05-18 18:56:15 +00:00
bevy_pbr Fix PBR regression for unlit materials (#2197) 2021-05-17 22:45:07 +00:00
bevy_reflect Use bevy_reflect as path in case of no direct references (#1875) 2021-05-19 19:03:36 +00:00
bevy_render Enable downcasting of RenderContext (#2240) 2021-05-24 19:38:33 +00:00
bevy_scene Hide re-exported docs (#1985) 2021-04-27 18:29:33 +00:00
bevy_sprite use bytemuck crate instead of Byteable trait (#2183) 2021-05-17 22:29:10 +00:00
bevy_tasks Various cleanups (#2046) 2021-05-01 20:07:06 +00:00
bevy_text Allows a number of clippy lints and fixes 2 (#1999) 2021-05-14 20:37:32 +00:00
bevy_transform Update glam (0.15.1) and hexasphere (3.4) (#2199) 2021-05-18 18:56:15 +00:00
bevy_ui Allows a number of clippy lints and fixes 2 (#1999) 2021-05-14 20:37:32 +00:00
bevy_utils EnumVariantMeta derive (#1972) 2021-04-21 23:46:54 +00:00
bevy_wgpu Allows a number of clippy lints and fixes 2 (#1999) 2021-05-14 20:37:32 +00:00
bevy_window Adds an alias mouse position -> cursor position (#2038) 2021-04-28 21:26:47 +00:00
bevy_winit Bump winit to 0.25 (#2186) 2021-05-18 18:36:36 +00:00