Jonas Matser
3b3b0195bc
Adds profiler_start/stop to parallel_executor ( #474 )
2020-09-11 12:14:36 -07:00
BimDav
4ef18e2608
Resource change tracking ( #388 )
...
* Add mutated tracker on resources and ChangedRes query for added or mutated resources.
* ResMut:::new() now takes a reference to a 'mutated' flag in its archetype.
* Change FetchResource so that get() returns an Option. Systems using Resources will only be called if all fetched Resources are Some(). This is done to implement ChangedRes, which is Some iff the Resource has been changed.
* Add OrRes for a logical or in tuples of Resource queries.
* Separate resource query get() in is_some() and get() methods for clarity
* Remove unneeded unsafe
* Change ResMut::new()
2020-09-10 13:15:02 -07:00
Carter Anderson
ac117019e2
resolve unused variable warning in release builds
2020-09-08 13:29:55 -07:00
Grant Moyer
586303fd53
Parallel queries ( #292 )
...
Add support for Parallel Queries
2020-09-08 12:18:32 -07:00
Tristan Pemble
43463a7a06
Optimize transform systems to only run on change ( #417 )
...
Optimize transform systems to only run on change
2020-09-06 12:53:14 -07:00
Philip Degarmo
9eba19c8f0
Fix for bug #449 ( #450 )
...
Fix for a bug (#449 ) in scheduler that could result in systems running concurrently when they shouldn't.
2020-09-06 12:07:34 -07:00
Philip Degarmo
8b3553002d
Reworked parallel executor to not block ( #437 )
...
Reworked parallel executor to not block
2020-09-05 22:05:33 -07:00
Boxy
57177c9e98
Bump entities to u128 to avoid collisions ( #117 ) ( #393 )
2020-08-31 11:51:28 -07:00
Boxy
3efbaca104
Fix archetypes_generation being incorrectly updated for systems ( #294 ) ( #383 )
2020-08-29 18:38:05 -07:00
Lachlan Sneff
17e7642611
Task System for Bevy ( #384 )
...
Add bevy_tasks crate to replace rayon
2020-08-29 12:35:41 -07:00
Robbie Davenport
4aabe983ec
Switch usage of std HashMap/HashSet default hasher, to aHash algo ( #258 )
...
switch to ahash for HashMaps and HashSets via a new bevy_utils crate
2020-08-28 17:08:51 -07:00
Lachlan Sneff
1eca55e571
Replace std synchronization primitives with parking_lot ( #210 )
...
* Replace std::sync::Mutex with parking_lot::Mutex
* Replace std::sync::RwLock with parking_lot::RwLock
2020-08-21 14:55:16 -07:00
Victor "multun" Collod
c38420f1e9
enforce clippy for all target and features
2020-08-16 07:20:06 -07:00
Victor "multun" Collod
d138647818
enforce cargo fmt --check
2020-08-16 05:02:06 -07:00
Victor "multun" Collod
1ec7183494
profiling: fix build
2020-08-16 02:06:59 -07:00
Fabian Würfl
458a169ad2
Add possibility to control num_threads and stack_size of rayon::ThreadPool
2020-08-14 19:15:53 +02:00
Carter Anderson
938d381d45
Merge pull request #178 from JohnDoneth/master
...
Add Command::remove_one
2020-08-13 17:26:22 -07:00
John Doneth
589af3dc51
Add Command::remove_one
2020-08-13 19:38:38 -04:00
Halfwhit
14bfd698c5
Update lib.rs
2020-08-13 17:39:33 +01:00
Carter Anderson
423c5e3e0f
ecs: prepare for publishing
2020-08-09 18:16:12 -07:00
Carter Anderson
3d09459813
add more doc comments and clean up some public exports
2020-08-09 16:13:04 -07:00
Carter Anderson
f85ec04a48
ecs: prepare system ranges based on stage and thread locals
2020-07-30 13:19:55 -07:00
Carter Anderson
2929197d9b
render: add RenderPass queries. move ui to its own pass
2020-07-28 20:11:27 -07:00
Carter Anderson
bd8e979de8
ecs: only borrow/iterate archetypes currently used by a given query
2020-07-28 16:37:37 -07:00
Carter Anderson
64cc382477
ecs: move copy of QueryBorrow into bevy_ecs and fix perf regressions
2020-07-28 16:17:21 -07:00
Carter Anderson
7212b70478
rustfmt changes
2020-07-28 14:24:03 -07:00
Moxinilian
311f04f858
transform: implement hierarchical entity despawn
2020-07-28 00:10:32 +02:00
Thomas Herzog
b4c185eb0c
cargo fmt
2020-07-26 21:10:18 +02:00
Carter Anderson
93bb1d5b8e
ui: initial flexbox support
2020-07-24 23:04:45 -07:00
Carter Anderson
6cad80d572
transform|ui: fix transform update lag
2020-07-23 18:26:08 -07:00
Carter Anderson
d79339ea62
transform: add more control parent/child ordering and make parent/children insertion atomic
2020-07-23 17:32:53 -07:00
Carter Anderson
85bd0342d4
ecs: add write_world and write_resources to Commands
...
this allows for custom commands
2020-07-23 13:12:38 -07:00
Carter Anderson
f82af10a69
ecs: component removal tracking
2020-07-22 17:57:13 -07:00
Carter Anderson
141044aae7
ecs: publicly expose Added/Changed and inline some things
2020-07-22 16:19:27 -07:00
Carter Anderson
e673faab7c
ecs: rename Changed<T> to Mutated<T>
2020-07-22 12:42:12 -07:00
Carter Anderson
ae30175e18
ecs: fix query.get::<T>() access
2020-07-21 22:00:55 -07:00
Carter Anderson
a6953049fb
ecs: Added<T> queries
2020-07-21 22:00:11 -07:00
Carter Anderson
0c2e26ddde
Revert "ecs: remove &mut requirement on query iterators"
...
This reverts commit 6dc1d07cbc
.
2020-07-21 20:12:15 -07:00
Carter Anderson
6dc1d07cbc
ecs: remove &mut requirement on query iterators
2020-07-20 13:59:51 -07:00
Carter Anderson
b1162f0c29
ecs: fix resource scheduler test
2020-07-20 01:51:06 -07:00
Carter Anderson
946d5d1024
ecs: refactor resources
...
fixes unintialized global resource memory
2020-07-19 14:23:06 -07:00
Carter Anderson
fe1adb6cf6
ui: focus/click/hover system. initial buttons
2020-07-18 14:08:46 -07:00
Carter Anderson
19fe299f5a
ecs: use Mut<T> tracking pointer everywhere
2020-07-18 02:09:55 -07:00
Carter Anderson
bf164a5936
ecs: fix tuple query item skipping
2020-07-18 01:14:16 -07:00
Carter Anderson
fbcf3f89d0
ecs: rename ComMut<T> to Track<T> and fix nested change queries
2020-07-18 01:05:06 -07:00
Carter Anderson
85ec31bb65
ecs: change state now moves when an entity moves to a different archetype
2020-07-17 19:13:56 -07:00
Carter Anderson
31d00ad861
ecs: initial component change tracking
...
(changing entity archetypes currently breaks tracking)
2020-07-17 17:50:17 -07:00
Carter Anderson
9f26a453c6
ecs: simplify imports
2020-07-16 19:20:51 -07:00
Carter Anderson
b12c4d0a48
render: simplify imports and cleanup prelude
2020-07-16 18:26:21 -07:00
Carter Anderson
196bde64e3
cargo fmt
2020-07-16 17:23:50 -07:00
Carter Anderson
362fb92cf8
ecs: only prepare executor on changes. use parallel executor in App
2020-07-15 17:59:13 -07:00
Carter Anderson
4712e96aa8
ecs: make parallel executor resource-aware
2020-07-15 17:20:36 -07:00
Carter Anderson
88781007b0
ecs: slightly improve perf with inlining changes
2020-07-14 23:56:49 -07:00
Carter Anderson
a7bab755ee
ecs: add query get safety checks
2020-07-14 19:05:39 -07:00
Carter Anderson
1f6c9ece1d
ecs: call prepare() inside ParallelExecutor::run()
...
also moved some things around
2020-07-14 16:23:25 -07:00
Carter Anderson
0dc810a37a
ecs: add thread local system support to parallel executor
2020-07-14 14:19:17 -07:00
Carter Anderson
98ed29aacc
ecs: fix local resource indexing
2020-07-14 11:08:02 -07:00
Carter Anderson
8d3a5ae0f1
ecs: initial parallel schedule executor
...
currently only considers component archetypes. still missing proper handling of thread local systems and resources
2020-07-13 19:36:41 -07:00
Carter Anderson
67f1bd66ce
ecs: fix resource borrow safety
2020-07-12 12:27:11 -07:00
Carter Anderson
17f3860d12
remove unsafe Clone implementation on Res/ResMut in favor of UnsafeClone
2020-07-12 12:06:43 -07:00
Carter Anderson
86f41ae0a4
add more informative "resource does not exist" errors
2020-07-11 20:12:34 -07:00
Carter Anderson
c81ab99dac
cargo fmt
2020-07-10 01:37:06 -07:00
Carter Anderson
950e50bbb1
Bevy ECS migration
2020-07-10 01:06:21 -07:00