andreakarasho / tinyecs Goto Github PK
View Code? Open in Web Editor NEWA tiny bevy-like archetype-style ECS library for dotnet
License: MIT License
A tiny bevy-like archetype-style ECS library for dotnet
License: MIT License
It would be helpful if TinyEcs supported managed/non-struct components. While structs are great for performance, there are times where managed components are necessary and its not very ergonomic to wrap every managed component in a Res.
Hey I really like the direction you're taking this library! I've been bouncing between different ECS libs and this seems like a great option.
It would be very helpful if queries had support for defining filters based on the lifecycle of components.
Mainly:
Changed<T> - Evaluates to true when component T was accessed mutably or set for the entity since the last execution of the query
Added<T> - Evaluates to true when component T was added to an entity since the last execution of the query
I'm not fully sure how bevy does this but it seems like they store a vec of watermarks alongside each column that gets updated each time an entry in the column is accessed mutably or added. Then each query tracks a watermark of when it was last ran it uses for comparison.
https://github.com/bevyengine/bevy/blob/main/crates/bevy_ecs/src/change_detection.rs
https://bevy-cheatbook.github.io/programming/change-detection.html
In bevy, removals publish out an event that systems can read if they run the next frame https://github.com/bevyengine/bevy/blob/main/crates/bevy_ecs/src/removal_detection.rs
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.