Commit graph

11 commits

Author SHA1 Message Date
Lorenzo Torres
a8071bd783 Made render a system again 2025-08-04 13:56:50 +02:00
Ernesto Lanchares
ecff349a31 Fixed memory leak in ECS. 2025-04-04 18:57:21 +02:00
Lorenzo Torres
16a2a40418 moved rendering to a system.
To ensure that the rendering system is being run in the main thread, I
added the concept of "Sync systems", so that when a system group is
created it's possible to specify whether it's possible to run it on a
separate thread or not.
2025-03-29 16:15:56 +01:00
Lorenzo Torres
536c927613 Made ECS a separate module and implemented basic input handling. 2025-03-28 19:53:56 +01:00
Lorenzo Torres
ff84d6ac53 the ECS is now using a more data oriented approach.
By defining archetypes using SOAs (Zig has this data structure in `std`,
called std.MultiArrayList), the engine can iterate faster over commonly
defined entities avoiding cache misses since each component is aligned
with other components of the same entity.
2025-03-28 15:34:36 +01:00
Lorenzo Torres
1730f1e298 Made Renderer a separate module 2025-03-27 21:42:46 +01:00
Lorenzo Torres
00d695e5f0 cleaned up ecs interface 2025-03-22 22:55:31 +01:00
Lorenzo Torres
191e148535 fixed component queries 2025-03-22 18:10:39 +01:00
Lorenzo Torres
0c8cd85647 fixed memory bug with thread pools 2025-03-22 17:29:57 +01:00
Lorenzo Torres
e1f1441a38 added fixme message to ecs 2025-03-20 23:54:19 +01:00
Lorenzo Torres
7ce5902ec9 preliminary work on ecs 2025-03-20 23:40:20 +01:00