Commit Graph

67 Commits

Author SHA1 Message Date
SeanOMik 53837d469b
ecs: fix BatchedSystem, implement ways for `Criteria`s to modify the world before and after execution 2024-04-24 00:28:01 -04:00
SeanOMik e2c6b557bb
render: improve performance of transform interpolation by using ecs components 2024-04-22 01:07:35 -04:00
SeanOMik 337ce18e8c
ecs: update existing components on entity in World::insert 2024-04-22 00:20:42 -04:00
SeanOMik 8eac563229
render: significantly improve performance of TransformBuffers
Before the changes, a release build of 'many-lights' was running at about 130fps, now its 430fps
2024-04-21 00:54:45 -04:00
SeanOMik 25aa902e02
render: use WorldTransforms in the renderer
ci/woodpecker/push/debug Pipeline failed Details
2024-04-17 20:46:46 -04:00
SeanOMik 12c8ece418
ecs: create a DynamicViewState that can be used to create a dynamic view without dealing with lifetimes
ci/woodpecker/push/debug Pipeline failed Details
2024-04-13 02:10:25 -04:00
SeanOMik 0668be06e2
ecs: documentation improvements for filter queries 2024-04-10 23:18:11 -04:00
SeanOMik 347427a841
ecs: remove compiler warning 2024-04-10 22:27:44 -04:00
SeanOMik 4162150c5f
ecs: fix issue with Entities query returning the incorrect entity ids 2024-04-10 22:27:23 -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 3dfb2520ce
ecs: add some spans around the system executors
ci/woodpecker/push/debug Pipeline failed Details
2024-04-01 12:02:16 -04:00
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 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