Commit Graph

58 Commits

Author SHA1 Message Date
SeanOMik a39d259bb4
Switch nix-shell to use oxalica overlay to get miri working, fix memory leak in archetypes 2024-03-31 10:56:04 -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 a2aac25249
ecs, reflect: implement Bundle for (), use `nobuild` instead of `compile_fail` for reflect rustdocs 2024-03-31 00:29:12 -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 de64b06e46
ecs: fix warning 2024-03-09 00:48:22 -05: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 c0df9f2d65
ecs: fix a typo in docs 2024-03-02 22:55:12 -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 4a7cdfab80
ecs: fix executing deferred fn system arguments 2024-02-24 14:30:09 -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 189d05e323
split the math module into a lyra-math crate, implement Reflect and Component for Transform 2024-01-13 11:51:16 -05:00
SeanOMik acfd238274
ecs: implement component for some glam types 2024-01-12 14:09:29 -05:00
SeanOMik 8f58096643
Fix memory bug caused by non-copy components (Vec, HashMap, etc.)
ci/woodpecker/push/debug Pipeline failed Details
ci/woodpecker/manual/debug Pipeline failed Details
2024-01-06 22:52:30 -05:00
SeanOMik ac24d1f913
Fix querying resources in fn systems, create CommonActionLabels, more code cleanup of free fly camera 2024-01-06 21:38:21 -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 98ee6fc323
ecs: cleanup 2024-01-04 23:58:56 -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 d075fd5d5f
Fix test failure caused by invalid pointer free, remove unused dependencies
ci/woodpecker/push/debug Pipeline was successful Details
2023-12-28 22:54:19 -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 e513d09233
Remove lyra-ecs/.vscode 2023-12-21 23:36:26 -05:00
SeanOMik 1a541e527b
Create a Component derive macro 2023-12-21 23:33:55 -05:00
SeanOMik 1ab79fae83
Make fields and methods pub 2023-12-21 23:33:54 -05:00
SeanOMik 68a2868478
Use Any for Resources instead of pointers, utility stuff for DynamicType 2023-12-21 23:33:53 -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 a68b0a7fb4
Simple dynamic views 2023-12-21 23:33:50 -05:00
SeanOMik a1ca2789ce
Dynamically typed bundles and archetypes 2023-12-21 23:33:49 -05:00
SeanOMik e867aaeadb
Groundwork for dynamic types in archetypes 2023-12-21 23:33:48 -05:00
SeanOMik 808cb77040
Implement multiple argument fn systems 2023-12-21 23:33:47 -05:00
SeanOMik ddc6a3dbf2
Add ArgFetcher for resources 2023-12-21 23:33:46 -05:00
SeanOMik 5f5f875783
Rewrite FnSystem stuff, add World argument fetcher 2023-12-21 23:33:45 -05:00
SeanOMik 27b0b87bd7
Finish GraphExecutor `execution` test 2023-12-21 23:33:44 -05:00
SeanOMik c3c1e81913
Create QueryResourceMut 2023-12-21 23:33:43 -05:00
SeanOMik 068eeecd4c
Create graph system executor 2023-12-21 23:33:42 -05:00
SeanOMik 9c6c32199d
Create simple function systems 2023-12-21 23:33:41 -05:00
SeanOMik 7f17a97ef7
Return Ref and RefMut from the borrow queries to enforce borrow checks even more 2023-12-21 23:33:40 -05:00
SeanOMik 6fedb270b9
Convert package to a lib, get resources from views 2023-12-21 23:33:39 -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