ecs_trial #654

Merged
SakulFlee merged 125 commits from ecs_trial into main 2026-07-02 02:39:36 +02:00
Owner
No description provided.
Playing around with Variants and ECS
All checks were successful
Forgejo-SakulFlee/Orbital/pipeline/head This commit looks good
26b4f74541
Working WASM invocation
Some checks failed
Forgejo-SakulFlee/Orbital/pipeline/head There was a failure building this commit
52ed0fa634
Converted to POD
All checks were successful
Forgejo-SakulFlee/Orbital/pipeline/head This commit looks good
ec3dd8bdfa
Added CommandBuffer
All checks were successful
Forgejo-SakulFlee/Orbital/pipeline/head This commit looks good
3b6f32e667
Working WITTest
All checks were successful
Forgejo-SakulFlee/Orbital/pipeline/head This commit looks good
225869d20f
Working Orbital WIT usage & implementation of WIT types
Some checks failed
Forgejo-SakulFlee/Orbital/pipeline/head There was a failure building this commit
c2d530f81b
Cleanup
Some checks failed
Forgejo-SakulFlee/Orbital/pipeline/head There was a failure building this commit
3b22ad0d53
Added WIT TestModule: C#
Some checks failed
Forgejo-SakulFlee/Orbital/pipeline/head There was a failure building this commit
c37fc9f594
Made go compile in "release" mode
Some checks failed
Forgejo-SakulFlee/Orbital/pipeline/head There was a failure building this commit
df4052237e
This reverts commit 536a8314d2.
Cleanup
Some checks failed
Forgejo-SakulFlee/Orbital/pipeline/head There was a failure building this commit
2417c7e088
This reverts commit c890a726e5.
This reverts commit c2ca2900f7.
This reverts commit 851de55e18.
This reverts commit 0e3da2ef67.
Required for future RwLock-based concurrent access to component stores.
- Replace HashMap<TypeId, Box<dyn WorldComponentStorage>> with
  component_ids: HashMap<TypeId, usize> + component_stores: Vec<RwLock<...>>
- Add ReadStoreHandle and WriteStoreHandle guard types using raw pointers
- Use RwLock::get_mut() for attach/detach/despawn (lock-free with &mut self)
- Add pub(crate) component_id() accessor for query system
- New query.rs module with QueryData and QueryFilter traits
- Read<T>/Write<T> markers for component access
- With<T>/Without<T> markers for filtering
- Query<D, F> struct with iter() returning QueryIter
- Macro-generated impls for 1..4 element tuples (all Read/Write combos)
- Macro-generated filter tuples for With/Without combos
- 11 tests covering reads, writes, single/multi component, filters
- Includes doc(hidden) pivot_dense + get_item for internal iteration
- IntoSystem<Marker> trait with 30 blanket impls (arities 1-4, all r/w patterns)
- FunctionSystem wrapping FnMut closures into Box<dyn System>
- Snapshot-merge execution: clone write-target stores, iterate in parallel via rayon, merge dense vectors back
- Schedule with greedy conflict batching by ComponentAccess
- Commands buffer for deferred mutations
- WASM compile-error without wasm-threads feature
- NOTE-for-WASM.md documenting COOP/COEP headers
- 12 tests covering all access patterns, batching, isolation, edge cases
hello_ecs — minimal spawn/attach/system/commands demo
movement — multi-stage physics loop with gravity/integrate/dampen
parallel — 8 non-conflicting systems running on 100k entities in one batch
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
SakulFlee/Orbital!654
No description provided.