Skip to content

Add http & https asset sources #16366

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 539 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
539 commits
Select commit Hold shift + click to select a range
362c3d8
bevy_log: Apply `#![deny(clippy::allow_attributes, clippy::allow_attr…
LikeLakers2 Jan 9, 2025
7013fc2
Added docs about `MinimalPlugins` looping as fast as possible. (#17241)
AlephCubed Jan 9, 2025
27668de
`extract_shadows` responsive coords fix (#17236)
ickshonpe Jan 9, 2025
df2813d
bevy_winit: Apply `#![deny(clippy::allow_attributes, clippy::allow_at…
LikeLakers2 Jan 9, 2025
2b488c2
bevy_mesh: Apply `#![deny(clippy::allow_attributes, clippy::allow_att…
LikeLakers2 Jan 9, 2025
76218d6
bevy_time: Apply `#![deny(clippy::allow_attributes, clippy::allow_att…
LikeLakers2 Jan 9, 2025
24cd048
If there is no movement, DragStart is not triggered. (#17233)
rendaoer Jan 9, 2025
2f459ee
Allow `clippy::too_many_arguments` to lint without warnings (#17249)
LikeLakers2 Jan 9, 2025
1eef433
Add compile-time dyn compatible checks for `DynEq`, `DynHash` (#17254)
mgi388 Jan 9, 2025
6f5b595
Make sprite picking opt-in (#17225)
chompaa Jan 9, 2025
fe9f430
Add a simple directional UI navigation example (#17224)
alice-i-cecile Jan 9, 2025
cdf9841
Improved Command Errors (#17215)
cart Jan 10, 2025
71068d9
Minor `TextPipeline` cleanup (#17274)
rparrett Jan 10, 2025
79d77e6
bevy_gizmos: Apply `#![deny(clippy::allow_attributes, clippy::allow_a…
LikeLakers2 Jan 10, 2025
a66b65d
bevy_hierarchy: Apply `#![deny(clippy::allow_attributes, clippy::allo…
LikeLakers2 Jan 10, 2025
bc1abcd
bevy_transform: Apply `#![deny(clippy::allow_attributes, clippy::allo…
LikeLakers2 Jan 10, 2025
c1e0e8f
bevy_text: Apply `#![deny(clippy::allow_attributes, clippy::allow_att…
LikeLakers2 Jan 10, 2025
d9affa9
bevy_gltf: Apply `#![deny(clippy::allow_attributes, clippy::allow_att…
LikeLakers2 Jan 10, 2025
79afeef
bevy_pbr: Apply `#![deny(clippy::allow_attributes, clippy::allow_attr…
LikeLakers2 Jan 10, 2025
25ac154
bevy_scene: Apply `#![deny(clippy::allow_attributes, clippy::allow_at…
LikeLakers2 Jan 10, 2025
2fa6a52
bevy_state: Apply `#![deny(clippy::allow_attributes, clippy::allow_at…
LikeLakers2 Jan 10, 2025
26ad8a7
Add documentation to `DynamicStorageBuffer` to clarify purpose (#17228)
BenjaminBrienen Jan 10, 2025
83f8799
Make `bevy_remote` feature enable `serialize` feature (#17260)
mweatherley Jan 10, 2025
e8ff6c0
Fix a few typos (#17292)
rparrett Jan 10, 2025
d432f79
`bevy_image` now enables reflection on `bevy_math` (#17293)
LikeLakers2 Jan 10, 2025
73b5502
Improve Compiler Errors for `bevy_tasks` (#17296)
bushrat011899 Jan 11, 2025
eff31fc
bevy_image: Apply `#![deny(clippy::allow_attributes, clippy::allow_at…
LikeLakers2 Jan 11, 2025
ff5b2a3
`custom_ui_material` border fix (#17282)
ickshonpe Jan 11, 2025
071ad16
Fix text alignment for unbounded text (#17270)
rparrett Jan 11, 2025
c7a286a
Feature gate `bevy_reflect` in `bevy_image`. (#17313)
AlephCubed Jan 12, 2025
e39fb59
bevy_internal: Apply `#![deny(clippy::allow_attributes, clippy::allow…
LikeLakers2 Jan 12, 2025
188b2d4
bevy_utils: Apply `#![deny(clippy::allow_attributes, clippy::allow_at…
LikeLakers2 Jan 12, 2025
5cb4bb3
bevy_remote: Apply `#![deny(clippy::allow_attributes, clippy::allow_a…
LikeLakers2 Jan 12, 2025
415da74
bevy_picking: Apply `#![deny(clippy::allow_attributes, clippy::allow_…
LikeLakers2 Jan 12, 2025
563f7a4
Downgrade `clippy::allow_attributes` and `clippy::allow_attributes_w…
LikeLakers2 Jan 12, 2025
7e904f9
Rename UI `camera_entity` fields (#17243)
ickshonpe Jan 12, 2025
45d1d28
Rename `PickingBehavior` to `Pickable` (#17266)
chompaa Jan 12, 2025
bf46e86
Fix entity does not exist message on index reuse (#17264)
SpecificProtagonist Jan 12, 2025
8fc247c
Renamed members of `ParamWarnPolicy` to reflect new behaviour. (#17311)
AlephCubed Jan 12, 2025
5f5580e
Higher quality bicubic lightmap sampling (#16740)
JMS55 Jan 12, 2025
c64d9d4
Allow users to customize history length in `FrameTimeDiagnosticsPlugi…
rparrett Jan 12, 2025
6bb885e
Key render phases off the main world view entity, not the render worl…
pcwalton Jan 12, 2025
4fd4270
Fix `bevy_time` tests occasionally failing on optimised Windows build…
greeble-dev Jan 14, 2025
a7ba55e
Add std derives to SystemParam types (#16785)
spectria-limina Jan 14, 2025
a2076ee
`update_text2d_layout` creates new font atlases when the primary wind…
ickshonpe Jan 14, 2025
e3fa18c
Improve the `animated_mesh` example (#17328)
greeble-dev Jan 14, 2025
3ffe214
Diagnostics smoothing factor fix (#17354)
ickshonpe Jan 14, 2025
daf98e2
Make InputFocus optional in bevy_winit (#17358)
IceSentry Jan 14, 2025
86219d7
Add BRP method to mutate a component (#16940)
purplg Jan 14, 2025
df3b87f
Add some multi-span text to the `text2d` example (#17308)
ickshonpe Jan 14, 2025
39f9e6b
Ambient component (#17343)
robtfm Jan 14, 2025
bf4c028
Refactor event system documentation in `system_param.rs` (#17364)
younes-io Jan 14, 2025
7adbba5
Create missing constructors for 2D primitive mesh builders (#17291)
BD103 Jan 14, 2025
a2282a0
Use `multi_draw_indirect_count` where available, in preparation for t…
pcwalton Jan 14, 2025
c228c7e
bevy_core_pipeline: Apply `#![warn(clippy::allow_attributes, clippy::…
LikeLakers2 Jan 14, 2025
9b2282b
bevy_dylib: Apply `#![warn(clippy::allow_attributes, clippy::allow_at…
LikeLakers2 Jan 14, 2025
471b296
bevy_input_focus: Apply `#![warn(clippy::allow_attributes, clippy::al…
LikeLakers2 Jan 14, 2025
08c0336
bevy_macro_utils: Apply `#![warn(clippy::allow_attributes, clippy::al…
LikeLakers2 Jan 14, 2025
e76b687
bevy_ecs: Apply `#![warn(clippy::allow_attributes, clippy::allow_attr…
LikeLakers2 Jan 14, 2025
5274ba8
Fix some punctuation (#17368)
bas-ie Jan 14, 2025
5a4f387
Fix a missing `.entity() -> .target()` conversion in observers exampl…
mweatherley Jan 14, 2025
10fa7e8
fix typo query.rs (#17366)
younes-io Jan 14, 2025
1a2d9a9
added `any_match_filter` common condition (#17327)
Jaso333 Jan 14, 2025
689b192
Make `ObservedBy` public (#17297)
ad-kr Jan 14, 2025
66253ff
feat: support for clip children on windows (#16545)
nicholasc Jan 14, 2025
385a368
Support texture atlases in CustomCursor::Image (#17121)
mgi388 Jan 14, 2025
b72cef1
Move `#![warn(clippy::allow_attributes, clippy::allow_attributes_with…
LikeLakers2 Jan 15, 2025
af5c363
Forward decals (port of bevy_contact_projective_decals) (#16600)
JMS55 Jan 15, 2025
2cee73b
Move CustomCursor to bevy_winit/src/custom_cursor.rs (#17381)
mgi388 Jan 15, 2025
4517ece
Add type registration for PickingInteraction (#17372)
andrewhickman Jan 15, 2025
bc9f631
Clip outlines using the local clipping rect. (#17385)
ickshonpe Jan 15, 2025
5ef0cd5
Remove Event: Component trait bound using a wrapper type which impls …
alice-i-cecile Jan 15, 2025
206a955
Use chain() for system dependency (#17387)
cBournhonesque Jan 15, 2025
0a1d849
Implement `Clone` for `QueryIter` over read-only data (#17391)
bushrat011899 Jan 15, 2025
06b113f
`add_edges` helper for directional navigation (#17389)
alice-i-cecile Jan 15, 2025
1be7b92
Update safety docs for `Ptr::assert_unique` (#17394)
joseph-gio Jan 16, 2025
ea9f0a0
Fix some `bevy_remote` typos (#17408)
rparrett Jan 16, 2025
8f1c9d5
Small improvements for directional navigation (#17395)
alice-i-cecile Jan 17, 2025
82321a6
Add usage notes for the `IntoX` family of ECS traits (#17379)
ItsDoot Jan 17, 2025
e1e3a79
impl Default for StateScoped<S: Default> (#17401)
JeanMertz Jan 17, 2025
b14ba5d
Add external assets to .gitignore (#17388)
alex5nader Jan 17, 2025
281cb0c
Relationships (non-fragmenting, one-to-many) (#17398)
cart Jan 18, 2025
9e9ea64
Reworked Segment types into their cartesian forms (#17404)
Sigma-dev Jan 19, 2025
a12f2ea
Rename `TargetCamera` to `UiTargetCamera` (#17403)
ickshonpe Jan 19, 2025
87996b7
docs: rewrite scene loading example documentation for clarity and dep…
Arend-Jan Jan 19, 2025
784844f
Correct 'Text2dBundle' to 'Text2d' in example comment (#17425)
theotherphil Jan 19, 2025
8445510
Flattened `PointerAction::Pressed` into `Press` and `Release`. (#17424)
AlephCubed Jan 19, 2025
9e22b1f
Switch `bevy_asset` to `core::prelude` (#17442)
bushrat011899 Jan 20, 2025
222fd85
Run example validation jobs on `ubuntu-latest` (#17169)
rparrett Jan 20, 2025
4d4cf91
Create `bevy_platform_support` Crate (#17250)
bushrat011899 Jan 20, 2025
5694582
`FromWorld` derive macro (#17352)
ecoskey Jan 20, 2025
e41c377
Text 2d alignment fix (#17365)
ickshonpe Jan 20, 2025
f4a37e4
Make the `animated_mesh` example more intuitive (#17421)
greeble-dev Jan 20, 2025
0a6ee42
Add docs to custom vertex attribute example (#17422)
ChristopherBiscardi Jan 20, 2025
849dee2
Support non-Vec data structures in relations (#17447)
alice-i-cecile Jan 20, 2025
9a6bb87
remove unsound DerefMut impls from `EntityHashMap`/`EntityHashSet` (#…
Victoronz Jan 20, 2025
08e5def
Expose a few primitive builders, which seemed to be missed? (#17454)
Vrixyz Jan 20, 2025
34fcb5b
Fixing ui antialiasing clamp call parameters order (#14970) (#17456)
hexroll Jan 20, 2025
957f6f6
docs: enhance documentation in `query.rs` to clarify borrowing rules …
younes-io Jan 20, 2025
72ed85a
Diagnostics for label traits (#17441)
SpecificProtagonist Jan 20, 2025
97e02ba
Add DefaultQueryFilters (#13120)
NiseVoid Jan 20, 2025
a7a6c38
Include ReflectFromReflect in all dynamic data types. (#17453)
anlumo Jan 20, 2025
a0f9e5c
Parent -> ChildOf (#17427)
cart Jan 20, 2025
ee11e00
Add an example teaching users about custom relationships (#17443)
alice-i-cecile Jan 20, 2025
b896de7
Added helper methods to `Bundles`. (#17464)
AlephCubed Jan 21, 2025
a6b55c7
Add insert and remove recursive methods on `EntityWorldMut` and `Enti…
alice-i-cecile Jan 21, 2025
874a52e
Move `Resource` trait to its own file (#17469)
alice-i-cecile Jan 21, 2025
ca98e13
Change `World::try_despawn` and `World::try_insert_batch` to return `…
JaySpruce Jan 21, 2025
c448555
fix double comment characters (#17484)
LucDrenth Jan 21, 2025
8d14534
Retain `RenderMaterialInstances` and `RenderMeshMaterialIds` from fra…
pcwalton Jan 22, 2025
ff86daa
Add reflection to the remaining `glam` `Vec` types (#17493)
ilyvion Jan 22, 2025
ac5d8bd
`no_std` Support for `bevy_input_focus` (#17490)
bushrat011899 Jan 22, 2025
8b2af6c
Track callsite for observers & hooks (#15607)
SpecificProtagonist Jan 22, 2025
538587d
Add `no_std` Support to `bevy_time` (#17491)
bushrat011899 Jan 22, 2025
2d26ab8
Add warning for font sizes `<= 0.0` (#17501)
rparrett Jan 23, 2025
36b8d17
Fix Time (#17504)
bushrat011899 Jan 23, 2025
5465de7
Refactored `ComponentHook` Parameters into `HookContext` (#17503)
bushrat011899 Jan 23, 2025
e7fa4ee
`flex_basis` doc comment fix (#17502)
ickshonpe Jan 23, 2025
90366b4
Add `no_std` Support to `bevy_a11y` (#17505)
bushrat011899 Jan 23, 2025
ef9e06b
Mesh::merge to return a Result (#17475)
Vrixyz Jan 23, 2025
0a28298
DeriveWorld for enums (#17496)
Bleachfuel Jan 23, 2025
0928ec9
Add `no_std` support to `bevy_diagnostic` (#17507)
bushrat011899 Jan 23, 2025
603a7ef
Update `async-broadcast` (#17500)
rparrett Jan 23, 2025
b77e3b2
Only include distance fog in the PBR shader if the view uses it. (#17…
pcwalton Jan 23, 2025
40064fa
`Readback`: Add support for texture depth/array layers (#17479)
EmbersArc Jan 23, 2025
dbf6c33
Remove `ViewVisibility` from UI nodes (#17405)
ickshonpe Jan 23, 2025
1e04fe0
Move `spin` to `bevy_platform_support` out of other crates (#17470)
bushrat011899 Jan 23, 2025
29ae7d3
Move `hashbrown` and `foldhash` out of `bevy_utils` (#17460)
bushrat011899 Jan 23, 2025
268a131
Updated the 2D examples to make them uniform (#17237)
chamaloriz Jan 23, 2025
e6dd275
Fix Typo in `bevy_platform_support`'s `spin` Feature (#17516)
bushrat011899 Jan 23, 2025
668d315
Procedural atmospheric scattering (#16314)
ecoskey Jan 23, 2025
778b758
Replace checks for empty uinodes (#17520)
ickshonpe Jan 24, 2025
268c4b3
Make CustomCursor variants CustomCursorImage/CustomCursorUrl structs …
mgi388 Jan 24, 2025
625750e
implement FromEntitySetIterator (#17513)
Victoronz Jan 24, 2025
98b85e9
Clarify docs for OnAdd, OnInsert, OnReplace, OnRemove triggers (#17512)
RJ Jan 24, 2025
c7cd06b
Add many_materials stress test (#17346)
CrazyRoka Jan 24, 2025
9826469
Adds update interval config for FpsOverlayPlugin (#17489)
spvky Jan 24, 2025
34b89a5
implement EntityIndexMap/Set (#17449)
Victoronz Jan 24, 2025
1b29f1c
Proportional scaling for the sprite's texture. (#17258)
silvestrpredko Jan 24, 2025
9375801
Implement basic clustered decal projectors. (#17315)
pcwalton Jan 26, 2025
638cfe5
Add support for specular tints and maps per the `KHR_materials_specul…
pcwalton Jan 26, 2025
b778d7c
impl Eq + Hash for BindGroup/Layout (#17547)
djeedai Jan 26, 2025
46dba73
added Hash to MouseScrollUnit; (#17538)
AustinHellerRepo Jan 26, 2025
7ff7e79
Simplify derive_from_world (#17534)
Bleachfuel Jan 26, 2025
3c03a86
Make the default directional light shadow cascade settings similar to…
pcwalton Jan 27, 2025
8fbf503
Implement experimental GPU two-phase occlusion culling for the standa…
pcwalton Jan 27, 2025
860fcdd
Disable clustered decals on Metal. (#17554)
pcwalton Jan 27, 2025
2043ae6
Fix `Visibility` link on b0004 error page (#17562)
yrns Jan 27, 2025
72e0820
UI material border radius (#15171)
ickshonpe Jan 28, 2025
6314e8e
Share implementation of sort methods. (#16203)
chescock Jan 28, 2025
e6908de
Rename `ArgList::push` methods to `with` and add new `push` methods w…
atornity Jan 28, 2025
d4456b0
Add alpha mode implementation to shader_material_2d (#16603)
Leinnan Jan 28, 2025
5adaa58
Update render_resource gpu buffer doc comments (#17118)
Weshnaw Jan 28, 2025
5d25241
Reflect and register the wireframe materials (#17334)
SludgePhD Jan 28, 2025
e4fae80
Fix docs mistake in bevy_ecs::world (#17336)
berylllium Jan 28, 2025
c3931c4
Fix calculation of skybox rotation (#17476)
hukasu Jan 28, 2025
f2e9758
Move bounding_2d example to math folder (#17523)
NiseVoid Jan 28, 2025
75dd76b
expose OverflowAxis::Hidden as Overflow functions (#17528)
LucDrenth Jan 28, 2025
1643412
Fix window close in example cause panic (#17533)
jiangheng90 Jan 28, 2025
984e449
Automatically transform cursor hotspot user asks to flip cursor image…
mgi388 Jan 28, 2025
4ed881d
`Image::get_color_at_3d` and `Image::set_color_at_3d`: Support 2D ima…
EmbersArc Jan 28, 2025
a09cd1e
implement UniqueEntityVec (#17549)
Victoronz Jan 28, 2025
f4800d1
`no-camera` `many_buttons` argument, only emit UI camera warnings onc…
ickshonpe Jan 28, 2025
f292a76
Improved UI camera mapping (#17244)
ickshonpe Jan 28, 2025
968c70c
`UiSurface::upsert_node` refactor (#8831)
ickshonpe Jan 28, 2025
6208857
feat(ecs): add `EntityEntryCommands::entity()` method chaining (#17580)
JeanMertz Jan 29, 2025
85e3945
Remove unnecessary `PartialReflect` bound on `DeserializeWithRegistry…
aecsocket Jan 29, 2025
cb21739
Fixes #17508: bevy_color::Color constructor docs get docs matching un…
janis-bhm Jan 29, 2025
e17c570
Fix link to states example (#17595)
scvalex Jan 29, 2025
854ae9e
chore: impl `PartialEq` for `bevy_ui::Text` and `bevy_text::TextColor…
JeanMertz Jan 30, 2025
4ab73eb
Remove IDE gitignores (#17603)
SpecificProtagonist Jan 30, 2025
9b86148
Use the provided `caller` instead of `Location::caller()` in `despawn…
chescock Jan 30, 2025
7d8766d
Make `EntityHashMap::new` and `EntityHashSet::new` const (#17615)
Jondolf Jan 30, 2025
9504559
Extract UI nodes into a Vec (#17618)
ickshonpe Jan 30, 2025
42f934e
`Image::get_color_at` and `Image::set_color_at`: Support 16-bit float…
EmbersArc Jan 31, 2025
af17c8d
Smarter testbeds (#17573)
mockersf Jan 31, 2025
fa87dea
Run handle_lifetime only when AudioSink is added to the world (#17637)
silvestrpredko Feb 2, 2025
d33ff96
Tiny ci improvements (#17627)
mockersf Feb 2, 2025
fe6f071
Add a test for direct recursion in required components. (#17626)
ElliottjPierce Feb 2, 2025
2635e37
Fix Maya-exported rigs by not trying to topologically sort glTF nodes…
pcwalton Feb 2, 2025
be76f07
anti-alias outside the edges of UI nodes, not across them (#17631)
ickshonpe Feb 2, 2025
4915bd3
`queue_sprites` comment fix (#17621)
ickshonpe Feb 2, 2025
9234519
Fix Taffy viewport node leaks (#17596)
ickshonpe Feb 2, 2025
ad4f3eb
feat: impl `Ease` for `Isometry[2/3]d` (#17545)
RobWalt Feb 2, 2025
4a52c68
Fixing `ValArithmeticError` typo and unused variant (#17597)
eckz Feb 2, 2025
3b3dd9c
Use more headers in AsBindGroup docs (#17586)
IceSentry Feb 2, 2025
2fa434a
Implement `Serialize`/`Deserialize` for entity collections (#17620)
Jondolf Feb 2, 2025
3fa245a
Improve ergonomics of `platform_support`'s `Instant` (#17577)
Mathspy Feb 2, 2025
1503371
Fix cursor hotspot out of bounds when flipping (#17571)
mgi388 Feb 2, 2025
66792c9
Revert "Fix rounding bug in camera projection (#16828)" (#17592)
hukasu Feb 2, 2025
6ad8381
Expose ObserverDescriptor fields (#17623)
cBournhonesque Feb 2, 2025
e5f5c1f
Add simple Disabled marker (#17514)
NiseVoid Feb 2, 2025
7008e3b
Move sprite batches to resource (#17636)
tychedelia Feb 2, 2025
2829ea4
Add required serde_derive feature flag to bevy_ecs (#17651)
alice-i-cecile Feb 3, 2025
3a0e496
Bump crate-ci/typos from 1.29.4 to 1.29.5 (#17655)
dependabot[bot] Feb 3, 2025
c40ada5
Revert #17631 (#17660)
ickshonpe Feb 3, 2025
d43ea06
Improve `TextSpan` docs (#17415)
rparrett Feb 3, 2025
e210d29
Add basic debug checks for read-only `UnsafeWorldCell` (#17393)
joseph-gio Feb 3, 2025
a06f11e
Atmosphere LUT parameterization improvements (#17555)
mate-h Feb 3, 2025
c37803e
Implementing Reflect on *MeshBuilder types (#17600)
eckz Feb 3, 2025
bbc48de
Fix access checks for DeferredWorld as SystemParam. (#17616)
chescock Feb 3, 2025
a28832b
Warnings and docs for exponential denormalization in rotate functions…
Novakasa Feb 3, 2025
afa63fd
Added `try_map_unchanged`. (#17653)
mintlu8 Feb 3, 2025
eb83f92
Improve docs for `WorldQuery` (#17654)
alice-i-cecile Feb 3, 2025
8513178
refactor: replace OnceCell with LazyLock
mrchantey Feb 4, 2025
b2110b8
Merge branch 'main' into upstream-bevy-web-asset
mrchantey Feb 4, 2025
e3300cd
remove vscode settings
mrchantey Feb 5, 2025
61c3436
ignore .vscode
mrchantey Feb 5, 2025
f33aef2
fmt
mrchantey Feb 5, 2025
d4f456a
lint
mrchantey Feb 6, 2025
bc70194
patch: remote example also use ureq 3
mrchantey Feb 6, 2025
fb0e11c
remove: unmatched license
mrchantey Feb 6, 2025
e61e023
Make `batch_and_prepare_binned_render_phase` only record information …
pcwalton Feb 4, 2025
fb83c0e
Fix text-2d. (#17674)
tychedelia Feb 4, 2025
67ff8c1
Bump to `uuid` 1.13.1 and enable `js` on `wasm` targets (#17689)
bushrat011899 Feb 5, 2025
ebdac8c
Don't mark a previous mesh transform as changed if it didn't actually…
pcwalton Feb 5, 2025
b45a409
Don't reallocate work item buffers every frame. (#17684)
pcwalton Feb 5, 2025
1058a7c
implement UniqueEntitySlice (#17589)
Victoronz Feb 5, 2025
50ecba8
Cold Specialization (#17567)
tychedelia Feb 5, 2025
a9ea855
Introduce methods on QueryState to obtain a Query (#15858)
chescock Feb 5, 2025
72f2d4f
Change `GhostNode` into a unit type (#17692)
ickshonpe Feb 5, 2025
ec747da
Move `Item` and `fetch` to `QueryData` from `WorldQuery` (#17679)
couyit Feb 5, 2025
045cc4f
Fix a couple of doc typos (#17673)
theotherphil Feb 5, 2025
4fab7b8
Basic UI text shadows (#17559)
ickshonpe Feb 5, 2025
a096e79
Add `weak_handle!` convenience macro (#17384)
SludgePhD Feb 5, 2025
0926b20
Split `Component::register_component_hooks` into individual methods (…
bushrat011899 Feb 5, 2025
195d8b0
Isolate component registration (#17671)
ElliottjPierce Feb 5, 2025
d9970d3
Add a Sphere to `anisotropy` example (#17676)
hukasu Feb 5, 2025
a25bb9c
Add missing return in default `Relationship::on_insert` impl (#17675)
grind086 Feb 5, 2025
ba78570
Weak handle migration (#17695)
SludgePhD Feb 5, 2025
06e9ff7
Add `edit_material_on_gltf` example (#17677)
hukasu Feb 5, 2025
0f06591
Schedule build pass (#11094)
PixelDust22 Feb 5, 2025
7259bf8
Improved Entity Mapping and Cloning (#17687)
cart Feb 6, 2025
1e97b09
Missing UI glpyhs fix (#17729)
ickshonpe Feb 7, 2025
8dc0f65
Include the material bind group in the shadow batch set key. (#17738)
pcwalton Feb 8, 2025
cb2c6c5
EaseFunction svg graphs in doc (#17461)
SpecificProtagonist Feb 8, 2025
81cdff9
Tidy up `easing_functions` example (#17742)
rparrett Feb 8, 2025
a91ba46
Fix rounding in steps easing function (#17743)
rparrett Feb 8, 2025
a9a8523
Retain bins from frame to frame. (#17698)
pcwalton Feb 8, 2025
5edca93
Fix shadow retention by keying off the `RetainedViewEntity`, not the …
pcwalton Feb 9, 2025
d1cd6c3
Set late indirect parameter offsets every frame again. (#17736)
pcwalton Feb 9, 2025
866fdb4
main_transparent_pass_2d render node command encoding parallelization…
PPakalns Feb 9, 2025
569d843
Move specialize_* to QueueMeshes. (#17719)
tychedelia Feb 9, 2025
87fdea4
Cleanup publish process (#17728)
mockersf Feb 9, 2025
e7d4c66
deps: bump notify-debouncer-full to remove unmaintained crate (#17741)
SilentSpaceTraveller Feb 9, 2025
33735e3
Add entity disabling example (#17710)
alice-i-cecile Feb 9, 2025
1fe3b92
Upgrade to wgpu v24 (#17542)
JMS55 Feb 9, 2025
ed29330
Harden proc macro path resolution and add integration tests. (#17330)
raldone01 Feb 9, 2025
fcabdb2
adds example for local defaults (#17751)
newclarityex Feb 9, 2025
a46e2cc
Improved Spawn APIs and Bundle Effects (#17521)
cart Feb 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# If your IDE needs additional project specific files, configure git to ignore them:
# https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files#configuring-ignored-files-for-all-repositories-on-your-computer

.vscode
# Rust build artifacts
target
crates/**/target
benches/**/target
tools/**/target
**/*.rs.bk
rustc-ice-*.txt

# DX12 wgpu backend
dxcompiler.dll
Expand All @@ -21,6 +22,7 @@ Cargo.lock
assets/**/*.meta
crates/bevy_asset/imported_assets
imported_assets
.http-asset-cache

# Bevy Examples
example_showcase_config.ron
Expand Down
58 changes: 56 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ members = [
# Bevy's error codes. This is a crate so we can automatically check all of the code blocks.
"errors",
]
exclude = [
# Integration tests are not part of the workspace
"tests-integration",
]

[workspace.lints.clippy]
doc_markdown = "warn"
Expand Down Expand Up @@ -256,6 +260,9 @@ bevy_remote = ["bevy_internal/bevy_remote"]
# Enable passthrough loading for SPIR-V shaders (Only supported on Vulkan, shader capabilities and extensions must agree with the platform implementation)
spirv_shader_passthrough = ["bevy_internal/spirv_shader_passthrough"]

# Statically linked DXC shader compiler for DirectX 12
statically-linked-dxc = ["bevy_internal/statically-linked-dxc"]

# Tracing support, saving a file in Chrome Tracing format
trace_chrome = ["trace", "bevy_internal/trace_chrome"]

Expand Down Expand Up @@ -448,6 +455,12 @@ file_watcher = ["bevy_internal/file_watcher"]
# Enables watching in memory asset providers for Bevy Asset hot-reloading
embedded_watcher = ["bevy_internal/embedded_watcher"]

# Enables using assets from HTTP sources
http_source = ["bevy_internal/http_source"]

# Assets downloaded from HTTP sources are cached
http_source_cache = ["bevy_internal/http_source_cache"]

# Enable stepping-based debugging of Bevy systems
bevy_debug_stepping = ["bevy_internal/bevy_debug_stepping"]

Expand Down Expand Up @@ -491,6 +504,13 @@ serde = { version = "1", features = ["derive"] }
serde_json = "1"
bytemuck = "1.7"
bevy_render = { path = "crates/bevy_render", version = "0.16.0-dev", default-features = false }
# The following explicit dependencies are needed for proc macros to work inside of examples as they are part of the bevy crate itself.
bevy_ecs = { path = "crates/bevy_ecs", version = "0.16.0-dev", default-features = false }
bevy_state = { path = "crates/bevy_state", version = "0.16.0-dev", default-features = false }
bevy_asset = { path = "crates/bevy_asset", version = "0.16.0-dev", default-features = false }
bevy_reflect = { path = "crates/bevy_reflect", version = "0.16.0-dev", default-features = false }
bevy_image = { path = "crates/bevy_image", version = "0.16.0-dev", default-features = false }
bevy_gizmos = { path = "crates/bevy_gizmos", version = "0.16.0-dev", default-features = false }
# Needed to poll Task examples
futures-lite = "2.0.1"
async-std = "1.13"
Expand All @@ -508,7 +528,7 @@ accesskit = "0.17"
smol = "2"
smol-macros = "0.1"
smol-hyper = "0.1"
ureq = { version = "2.10.1", features = ["json"] }
ureq = { version = "3", features = ["json"] }

[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen = { version = "0.2" }
Expand Down Expand Up @@ -920,6 +940,17 @@ description = "Showcases different blend modes"
category = "3D Rendering"
wasm = true

[[example]]
name = "edit_material_on_gltf"
path = "examples/3d/edit_material_on_gltf.rs"
doc-scrape-examples = true

[package.metadata.example.edit_material_on_gltf]
name = "Edit Gltf Material"
description = "Showcases changing materials of a Gltf after Scene spawn"
category = "3D Rendering"
wasm = true

[[example]]
name = "lighting"
path = "examples/3d/lighting.rs"
Expand Down Expand Up @@ -1712,12 +1743,24 @@ path = "examples/asset/extra_source.rs"
doc-scrape-examples = true

[package.metadata.example.extra_asset_source]
name = "Extra asset source"
name = "Extra Asset Source"
description = "Load an asset from a non-standard asset source"
category = "Assets"
# Uses non-standard asset path
wasm = false

[[example]]
name = "http_source"
path = "examples/asset/http_source.rs"
doc-scrape-examples = true
required-features = ["http_source"]

[package.metadata.example.http_source]
name = "HTTP Asset Source"
description = "Load an asset from a http source"
category = "Assets"
wasm = true

[[example]]
name = "hot_asset_reloading"
path = "examples/asset/hot_asset_reloading.rs"
Expand Down Expand Up @@ -1996,6 +2039,17 @@ description = "Demonstrates how to send and receive events of the same type in a
category = "ECS (Entity Component System)"
wasm = false

[[example]]
name = "entity_disabling"
path = "examples/ecs/entity_disabling.rs"
doc-scrape-examples = true

[package.metadata.example.entity_disabling]
name = "Entity disabling"
description = "Demonstrates how to hide entities from the ECS without deleting them"
category = "ECS (Entity Component System)"
wasm = true

[[example]]
name = "fixed_timestep"
path = "examples/ecs/fixed_timestep.rs"
Expand Down
2 changes: 1 addition & 1 deletion benches/benches/bevy_ecs/change_detection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ fn none_changed_detection(criterion: &mut Criterion) {
}
}
fn insert_if_bit_enabled<const B: u16>(entity: &mut EntityWorldMut, i: u16) {
if i & 1 << B != 0 {
if i & (1 << B) != 0 {
entity.insert(Data::<B>(1.0));
}
}
Expand Down
2 changes: 1 addition & 1 deletion benches/benches/bevy_ecs/components/archetype_updates.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ fn setup(system_count: usize) -> (World, Schedule) {
}

fn insert_if_bit_enabled<const B: u16>(entity: &mut EntityWorldMut, i: u16) {
if i & 1 << B != 0 {
if i & (1 << B) != 0 {
entity.insert(A::<B>(1.0));
}
}
Expand Down
30 changes: 15 additions & 15 deletions benches/benches/bevy_ecs/empty_archetypes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -105,49 +105,49 @@ fn add_archetypes(world: &mut World, count: u16) {
e.insert(A::<10>(1.0));
e.insert(A::<11>(1.0));
e.insert(A::<12>(1.0));
if i & 1 << 1 != 0 {
if i & (1 << 1) != 0 {
e.insert(A::<13>(1.0));
}
if i & 1 << 2 != 0 {
if i & (1 << 2) != 0 {
e.insert(A::<14>(1.0));
}
if i & 1 << 3 != 0 {
if i & (1 << 3) != 0 {
e.insert(A::<15>(1.0));
}
if i & 1 << 4 != 0 {
if i & (1 << 4) != 0 {
e.insert(A::<16>(1.0));
}
if i & 1 << 5 != 0 {
if i & (1 << 5) != 0 {
e.insert(A::<18>(1.0));
}
if i & 1 << 6 != 0 {
if i & (1 << 6) != 0 {
e.insert(A::<19>(1.0));
}
if i & 1 << 7 != 0 {
if i & (1 << 7) != 0 {
e.insert(A::<20>(1.0));
}
if i & 1 << 8 != 0 {
if i & (1 << 8) != 0 {
e.insert(A::<21>(1.0));
}
if i & 1 << 9 != 0 {
if i & (1 << 9) != 0 {
e.insert(A::<22>(1.0));
}
if i & 1 << 10 != 0 {
if i & (1 << 10) != 0 {
e.insert(A::<23>(1.0));
}
if i & 1 << 11 != 0 {
if i & (1 << 11) != 0 {
e.insert(A::<24>(1.0));
}
if i & 1 << 12 != 0 {
if i & (1 << 12) != 0 {
e.insert(A::<25>(1.0));
}
if i & 1 << 13 != 0 {
if i & (1 << 13) != 0 {
e.insert(A::<26>(1.0));
}
if i & 1 << 14 != 0 {
if i & (1 << 14) != 0 {
e.insert(A::<27>(1.0));
}
if i & 1 << 15 != 0 {
if i & (1 << 15) != 0 {
e.insert(A::<28>(1.0));
}
}
Expand Down
53 changes: 28 additions & 25 deletions benches/benches/bevy_ecs/entity_cloning.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ use core::hint::black_box;

use benches::bench;
use bevy_ecs::bundle::Bundle;
use bevy_ecs::component::ComponentCloneHandler;
use bevy_ecs::component::ComponentCloneBehavior;
use bevy_ecs::entity::EntityCloner;
use bevy_ecs::hierarchy::ChildOf;
use bevy_ecs::reflect::AppTypeRegistry;
use bevy_ecs::{component::Component, world::World};
Expand Down Expand Up @@ -52,7 +53,10 @@ type ComplexBundle = (C1, C2, C3, C4, C5, C6, C7, C8, C9, C10);

/// Sets the [`ComponentCloneHandler`] for all explicit and required components in a bundle `B` to
/// use the [`Reflect`] trait instead of [`Clone`].
fn set_reflect_clone_handler<B: Bundle + GetTypeRegistration>(world: &mut World) {
fn reflection_cloner<B: Bundle + GetTypeRegistration>(
world: &mut World,
recursive: bool,
) -> EntityCloner {
// Get mutable access to the type registry, creating it if it does not exist yet.
let registry = world.get_resource_or_init::<AppTypeRegistry>();

Expand All @@ -67,12 +71,15 @@ fn set_reflect_clone_handler<B: Bundle + GetTypeRegistration>(world: &mut World)
// this bundle are saved.
let component_ids: Vec<_> = world.register_bundle::<B>().contributed_components().into();

let clone_handlers = world.get_component_clone_handlers_mut();
let mut builder = EntityCloner::build(world);

// Overwrite the clone handler for all components in the bundle to use `Reflect`, not `Clone`.
for component in component_ids {
clone_handlers.set_component_handler(component, ComponentCloneHandler::reflect_handler());
builder.override_clone_behavior_with_id(component, ComponentCloneBehavior::reflect());
}
builder.recursive(recursive);

builder.finish()
}

/// A helper function that benchmarks running the [`EntityCommands::clone_and_spawn()`] command on a
Expand All @@ -91,18 +98,18 @@ fn bench_clone<B: Bundle + Default + GetTypeRegistration>(
) {
let mut world = World::default();

if clone_via_reflect {
set_reflect_clone_handler::<B>(&mut world);
}
let mut cloner = if clone_via_reflect {
reflection_cloner::<B>(&mut world, false)
} else {
EntityCloner::default()
};

// Spawn the first entity, which will be cloned in the benchmark routine.
let id = world.spawn(B::default()).id();

b.iter(|| {
// Queue the command to clone the entity.
world.commands().entity(black_box(id)).clone_and_spawn();

// Run the command.
// clones the given entity
cloner.spawn_clone(&mut world, black_box(id));
world.flush();
});
}
Expand All @@ -125,9 +132,15 @@ fn bench_clone_hierarchy<B: Bundle + Default + GetTypeRegistration>(
) {
let mut world = World::default();

if clone_via_reflect {
set_reflect_clone_handler::<B>(&mut world);
}
let mut cloner = if clone_via_reflect {
reflection_cloner::<B>(&mut world, true)
} else {
let mut builder = EntityCloner::build(&mut world);
builder.recursive(true);
builder.finish()
};

// Make the clone command recursive, so children are cloned as well.

// Spawn the first entity, which will be cloned in the benchmark routine.
let id = world.spawn(B::default()).id();
Expand All @@ -148,18 +161,8 @@ fn bench_clone_hierarchy<B: Bundle + Default + GetTypeRegistration>(
}
}

// Flush all `set_parent()` commands.
world.flush();

b.iter(|| {
world
.commands()
.entity(black_box(id))
.clone_and_spawn_with(|builder| {
// Make the clone command recursive, so children are cloned as well.
builder.recursive(true);
});

cloner.spawn_clone(&mut world, black_box(id));
world.flush();
});
}
Expand Down
2 changes: 1 addition & 1 deletion benches/benches/bevy_ecs/iteration/par_iter_simple.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ struct Data<const X: u16>(f32);
pub struct Benchmark<'w>(World, QueryState<(&'w Velocity, &'w mut Position)>);

fn insert_if_bit_enabled<const B: u16>(entity: &mut EntityWorldMut, i: u16) {
if i & 1 << B != 0 {
if i & (1 << B) != 0 {
entity.insert(Data::<B>(1.0));
}
}
Expand Down
4 changes: 2 additions & 2 deletions benches/benches/bevy_ecs/world/world_get.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use core::hint::black_box;

use bevy_ecs::{
bundle::Bundle,
bundle::{Bundle, NoBundleEffect},
component::Component,
entity::Entity,
system::{Query, SystemState},
Expand Down Expand Up @@ -36,7 +36,7 @@ fn setup<T: Component + Default>(entity_count: u32) -> World {
black_box(world)
}

fn setup_wide<T: Bundle + Default>(entity_count: u32) -> World {
fn setup_wide<T: Bundle<Effect: NoBundleEffect> + Default>(entity_count: u32) -> World {
let mut world = World::default();
world.spawn_batch((0..entity_count).map(|_| T::default()));
black_box(world)
Expand Down
Loading