Commit Graph

39 Commits

Author SHA1 Message Date
SeanOMik f5aca87ede
ecs: don't automatically tick the world, use Res and ResMut anywhere ecs resources are requested to track changes better
now the user must manually tick the world. The engine will do this before every update
2024-09-27 21:03:27 -04:00
SeanOMik 782d64f6cf
ecs: implement an actual Filter trait, create a Changed filter 2024-09-21 14:06:21 -04:00
SeanOMik 54b47c2178
ecs: implement change tracking for world resources 2024-07-19 16:07:03 -04:00
SeanOMik 3a80c069c9
render: move most of the mesh processing to a MeshPrepare node
Moving that out of the MeshesPass makes the rendering meshes accessible to other passes/nodes. The shadow pass will need access to them which is why this was done now
2024-06-29 22:23:49 -04:00
SeanOMik f0d36e7b56
ecs: impl Clone for World and return entity in dynamic views 2024-04-27 00:21:26 -04:00
SeanOMik db501015d0
Create an example project to test transform interpolation 2024-04-24 00:30:30 -04:00
SeanOMik 337ce18e8c
ecs: update existing components on entity in World::insert 2024-04-22 00:20:42 -04:00
SeanOMik 4a0d003181
ecs: add not filter, improve the code for inserting components into entity, bundle cleanup and improvements 2024-04-10 22:26:49 -04:00
SeanOMik a17c035c05
resource: use a SceneGraph for loading gltf nodes, make resources Send + Sync 2024-03-31 00:32:31 -04:00
SeanOMik 46cdcfdd3b
ecs: make resources Send + Sync, rewrite Commands, CommandsQueue so that they are Send + Sync 2024-03-30 22:20:52 -04:00
SeanOMik c3de9e77db ecs: fix filters 2024-03-09 00:46:42 -05:00
SeanOMik b76832ec05 ecs: fix World::insert, finish a TODO related to it
The TODO was that if the archetype has a single entity, add a component column for the new component instead of moving the entity to a brand new archetype
2024-03-09 00:46:42 -05:00
SeanOMik 6210778e9d
ecs: some code cleanup 2024-03-02 22:55:11 -05:00
SeanOMik 7d90b1d38f
ecs: improve docs 2024-03-02 22:55:10 -05:00
SeanOMik 21537481c9
ecs: add relations, improve docs 2024-03-02 22:55:10 -05:00
SeanOMik 5521d4a659
scripting: start work on exposing InputActions to lua, implement inserting reflected resource 2024-02-25 17:06:53 -05:00
SeanOMik 5dfc073db5
ecs: add commands test and fix Commands 2024-02-24 11:09:26 -05:00
SeanOMik 380c8df740
ecs: implement deferred system commands, change the way system fn arguments are implemented 2024-02-23 16:34:21 -05:00
SeanOMik e88758f59d
scripting: expose resources to the world 2024-01-20 00:54:36 -05:00
SeanOMik e5599e1d27
scripting, ecs: expose Transform to lua, update component ticks on changes from lua 2024-01-13 11:52:20 -05:00
SeanOMik 9307265a5a
Implement staged system execution, make it easier to add systems, remove some compiler warnings 2024-01-06 15:40:13 -05:00
SeanOMik c673fd98ff
Large restructuring so lyra-scripting can create a Plugin
ci/woodpecker/push/debug Pipeline failed Details
2024-01-04 23:25:29 -05:00
SeanOMik 0f062217ca
ecs: Add world query, make it possible to request resources from function systems 2024-01-04 20:49:27 -05:00
SeanOMik 10fc7842cf
Fix a painful amount of compiler warnings, and clippy warnings 2023-12-28 21:30:45 -05:00
SeanOMik 09bba5b3b3
Switch to lyra-ecs systems, move ecs mod to scene mod, reexport lyra-ecs as ecs 2023-12-26 23:48:46 -05:00
SeanOMik 2805399fe4
Switch to use lyra-ecs 2023-12-26 14:12:53 -05:00
SeanOMik 64519b2b4f
[lyra-ecs] Add World::get_resource_or_else, update README.md 2023-12-22 12:22:10 -05:00
SeanOMik 1a541e527b
Create a Component derive macro 2023-12-21 23:33:55 -05:00
SeanOMik 8c8e7dfd7d
Implement inserting components into entities, ViewOne 2023-12-21 23:33:52 -05:00
SeanOMik da206b4824
Rename World::view to World::view_iter, some code cleanup 2023-12-21 23:33:51 -05:00
SeanOMik 9c6c32199d
Create simple function systems 2023-12-21 23:33:41 -05:00
SeanOMik 08a458eb9c
Implement simple resources 2023-12-21 23:33:38 -05:00
SeanOMik 7d94cf052f
Simple ECS resources 2023-12-21 23:33:37 -05:00
SeanOMik 4c0b517127
Implement despawning entities 2023-12-21 23:33:36 -05:00
SeanOMik 2c718231ed
Implement query for tuples of query types 2023-12-21 23:33:34 -05:00
SeanOMik 2e53156b0d
Implement query borrow and borrow mut for all &T and &mut T 2023-12-21 23:33:33 -05:00
SeanOMik 92e284e625
Create queries and views 2023-12-21 23:33:32 -05:00
SeanOMik f62f21e69f
simple queries (which will be completely rewritten 2023-12-21 23:33:31 -05:00
SeanOMik cde7d140ea
early version of ecs working 2023-12-21 23:33:18 -05:00