Commit Graph

82 Commits

Author SHA1 Message Date
SeanOMik 4dbd96832f
lua: add world:get_tick() to lua, write some missing type annotations
I tried to use generics to improve existing annotations, but I don't think it changed anything since the annotations for generics are kind of garbage
2024-10-21 21:58:22 -04:00
SeanOMik 2e33de5da2
lua: implement Changed query that supports components and resources 2024-10-20 21:20:43 -04:00
SeanOMik 2ffdd4085b
lua: create `View`s that can query from the world 2024-10-19 17:45:59 -04:00
SeanOMik a2c52a0bb8
ecs: fix Changed query; lua: lock and hide mouse in window
CI / build (push) Failing after 3m10s Details
2024-10-02 21:29:13 -04:00
SeanOMik 76b7cac699
lua: expose most fields for window component 2024-10-02 20:54:54 -04:00
SeanOMik ef2b0bf326
ecs,scripting: fix invalid resources being passed to lua
CI / build (pull_request) Failing after 3m35s Details
The issue was World::get_resource_ptr, it was returning a pointer to the AtomicRefCell instead of the actual resource data
2024-09-29 14:35:24 -04:00
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 9125b91977
ecs: add WorldTick query, implement IntoSystem and FnSystem for funcs with 11 args
accidentially missed the macro call for 11 arguments
2024-09-24 20:30:37 -04:00
SeanOMik 782d64f6cf
ecs: implement an actual Filter trait, create a Changed filter 2024-09-21 14:06:21 -04:00
SeanOMik 45fd190409
update wgpu and winit to latest versions
need to make a WinitPlugin though, so no window currently
2024-09-18 19:47:55 -04:00
SeanOMik 60c139f9b2 ecs: create DynamicViewOne
CI / build (push) Failing after 11m20s Details
2024-09-02 20:34:02 -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 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