Commit graph

172 commits

Author SHA1 Message Date
Lorenzo Torres
9ff5e811a8 Merge branch 'master' of ssh://git.sideros.org:/git/sideros 2025-03-29 21:20:16 +01:00
luccie-cmd
2dc07080dd Add every single instruction prototype for WASM VM 2025-03-29 20:17:52 +01:00
Ernesto Lanchares
16343878cd Started adding all of IR opcodes 2025-03-29 19:31:08 +01:00
Ernesto Lanchares
7023261320 Changed structs in the VM 2025-03-29 19:16:17 +01: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
fd7973173f Added cursor input management 2025-03-29 14:51:31 +01:00
Lorenzo Torres
4a43e564d7 trying docs deployment 2025-03-28 20:21:09 +01:00
Lorenzo Torres
27ca0a30db trying docs deployment 2025-03-28 20:16:20 +01:00
Lorenzo Torres
5136ec09da generate docs for ecs 2025-03-28 20:13:05 +01:00
luccie-cmd
bffe814150 Added new main file 2025-03-28 20:04:51 +01:00
Lorenzo Torres
3bd394d6bc fix Window.zig 2025-03-28 19:58:39 +01:00
Lorenzo Torres
669b8e5fee Merge branch 'master' of ssh://git.sideros.org:/git/sideros 2025-03-28 19:57:19 +01:00
Lorenzo Torres
536c927613 Made ECS a separate module and implemented basic input handling. 2025-03-28 19:53:56 +01:00
luccie-cmd
7bf81854e2 Oopsies wrong main, fixed it now 2025-03-28 19:52:02 +01:00
luccie-cmd
8d39d3d4d0 Added executing of mod IR in the WASM VM 2025-03-28 19:48:15 +01:00
luccie-cmd
964c25a66c Remove testing 2025-03-28 19:48:15 +01:00
Lorenzo Torres
64c9d32905 fix poll events for window module 2025-03-28 16:01:30 +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
11f6bc2b04 Merge branch 'master' of ssh://git.sideros.org:/git/sideros 2025-03-27 21:44:47 +01:00
Lorenzo Torres
1730f1e298 Made Renderer a separate module 2025-03-27 21:42:46 +01:00
Ernesto Lanchares
6fe4855a67 IR can now parse itself. :)
Now we have to reimplement the vm. :_)
2025-03-27 17:05:50 +01:00
Ernesto Lanchares
dd3dc54b05 Fixing format.
Should we run zig fmt as a prehook? or maybe after
pushing?
2025-03-27 17:04:49 +01:00
luccie-cmd
6271509f2a Add testing for wasm VM
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-27 13:58:05 +01:00
luccie-cmd
1db7f9e506 Fix branching and VM
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-27 13:57:37 +01:00
luccie-cmd
bfe9fb5e63 Removed IR parsing and changed fatal bug of i64s being detected as i32s
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-27 13:56:37 +01:00
Ernesto Lanchares
09691ec4d9 Some progress on IR parsing.
Alhtough IR parsing is technically called while
parsing, since we lack the hability to parse
blocks or labels or if or any hard stuff really,
it does not affect code parsing. However it is
nice to have it there as zig compiles it :)
2025-03-24 22:38:12 +01:00
Lorenzo Torres
7cf43ccb8b glTF models now take buffer lengths at runtime 2025-03-24 19:49:49 +01:00
Ernesto Lanchares
942bb3525d Proposal for vector instructions IR
This proposal drops the memory alignment from u32
that is required by spec to a u16. But I think
u16 should be more than enough to represent any
real alignment.

Also this is closer to a custom asm than a IR but
whatever...
2025-03-24 19:41:17 +01:00
Lorenzo Torres
56559a9386 implemented glTF loading 2025-03-24 19:40:35 +01:00
Lorenzo Torres
7660bc09bc fixed leb128 integer decoding 2025-03-23 22:40:03 +01:00
Lorenzo Torres
1d720c790d make the ecs subsystem be a separate module 2025-03-23 19:38:34 +01:00
Ernesto Lanchares
874134f3ff PROPOSAL: IR
This is a proposal of a custom IR to run wasm.
At the moment only `ir.zig` has some parts related
to this IR. The idea of the IR is to be a subset
of the one defined in wasm. There are some gaps
(mostly in wasm instructions that have opcode
0xFC) but in wasm they don't use all of the
opcodes for some reason so maybe we could try to
utilize them and be a superset of wasm.
2025-03-23 19:32:10 +01:00
Ernesto Lanchares
b7854d7325 Big rework of the parser!
It now follows a more functional style but it
should be waaay easier to add functionality.

Probably the parser is a bit slower than the
previous one but the code is much cleaner and a
good enough compiler should be able to inline the
function calls and make it par with the previous
one.

As a TODO, runtime structs should not depends on
the parser, but I think that is a topic for
another commit.
2025-03-23 14:39:49 +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
9c703cf826 removed patch file 2025-03-21 23:18:34 +01:00
luccie-cmd
94a4dc16c6 Fix formatting
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-21 22:49:43 +01:00
luccie-cmd
bbe9213573 Added block instruction in WASM VM
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-21 22:49:37 +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
Lorenzo Torres
d5d2f1b8d2 Fixed import section parsing 2025-03-19 20:33:13 +01:00
Lorenzo Torres
e8b4a131a9 added CONTRIBUTING documentation 2025-03-17 21:18:09 +01:00
Lorenzo Torres
b2c52a4f04 added MAINTAINERS list 2025-03-17 21:17:54 +01:00
Lorenzo Torres
36e48aa3b7 added unit testing to TODO list 2025-03-17 21:00:22 +01:00
Lorenzo Torres
932b957a73 added documentation for contributors 2025-03-17 20:56:02 +01:00
Lorenzo Torres
0ea03c54bc fixed memory leak introduced by 48796a0fa3 2025-03-17 19:46:22 +01:00
Lorenzo Torres
3a210a6959 fixed memory bug introduced by 48796a0fa3 2025-03-17 19:44:53 +01:00
Lorenzo Torres
1d64275dee Refactored source code structure. 2025-03-17 19:44:08 +01:00
luccie-cmd
5bab2c4bcf Add defer avaliableExtensions (And also correct its name)
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16 23:22:09 +01:00