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
luccie-cmd
a2a3cea006
Change debugging message of Renderer.destroy()
...
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16 23:22:06 +01:00
luccie-cmd
98063d241d
Add documentation for Instance.create()
...
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16 23:22:02 +01:00
luccie-cmd
48796a0fa3
Added checking if our extensions are supported and make Renderer.destroy() not return an error
...
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16 23:21:44 +01:00
Lorenzo Torres
fee8a08bdf
temporarily disabled WebAssembly
2025-03-16 19:49:41 +01:00
Lorenzo Torres
d01ec335e8
fixed .gitattributes
2025-03-16 18:26:56 +01:00
Lorenzo Torres
5dbfcdb5bf
removed opengl from build.zig
2025-03-16 17:43:13 +01:00
Lorenzo Torres
0e08e5a055
remove unused opengl dependency
2025-03-16 17:35:48 +01:00
Lorenzo Torres
c805dbe1a0
removed binary files from repository
2025-03-16 17:30:16 +01:00