summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-03-28the ECS is now using a more data oriented approach.Lorenzo Torres
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-27Merge branch 'master' of ssh://git.sideros.org:/git/siderosLorenzo Torres
2025-03-27Made Renderer a separate moduleLorenzo Torres
2025-03-27IR can now parse itself. :)Ernesto Lanchares
Now we have to reimplement the vm. :_)
2025-03-27Fixing format.Ernesto Lanchares
Should we run zig fmt as a prehook? or maybe after pushing?
2025-03-27Add testing for wasm VMluccie-cmd
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-27Fix branching and VMluccie-cmd
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-27Removed IR parsing and changed fatal bug of i64s being detected as i32sluccie-cmd
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-24Some progress on IR parsing.Ernesto Lanchares
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-24glTF models now take buffer lengths at runtimeLorenzo Torres
2025-03-24Proposal for vector instructions IRErnesto Lanchares
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-24implemented glTF loadingLorenzo Torres
2025-03-23fixed leb128 integer decodingLorenzo Torres
2025-03-23make the ecs subsystem be a separate moduleLorenzo Torres
2025-03-23PROPOSAL: IRErnesto Lanchares
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-23Big rework of the parser!Ernesto Lanchares
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-22cleaned up ecs interfaceLorenzo Torres
2025-03-22fixed component queriesLorenzo Torres
2025-03-22fixed memory bug with thread poolsLorenzo Torres
2025-03-21removed patch fileLorenzo Torres
2025-03-21Fix formattingluccie-cmd
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-21Added block instruction in WASM VMluccie-cmd
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-20added fixme message to ecsLorenzo Torres
2025-03-20preliminary work on ecsLorenzo Torres
2025-03-19Fixed import section parsingLorenzo Torres
2025-03-17fixed memory leak introduced by 48796a0fa3c06143ba3d8c427f582cb7e78814a9Lorenzo Torres
2025-03-17fixed memory bug introduced by 48796a0fa3c06143ba3d8c427f582cb7e78814a9Lorenzo Torres
2025-03-17Refactored source code structure.Lorenzo Torres
2025-03-16Add defer avaliableExtensions (And also correct its name)luccie-cmd
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16Change debugging message of Renderer.destroy()luccie-cmd
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16Add documentation for Instance.create()luccie-cmd
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16Added checking if our extensions are supported and make Renderer.destroy() ↵luccie-cmd
not return an error Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16temporarily disabled WebAssemblyLorenzo Torres
2025-03-16fixed spacing issues in `documentation/design.md`Lorenzo Torres
2025-03-14Fixed wrong calculation of locals size when parsing a wasm binaryErnesto Lanchares
The fix involves moving the function leb128Decode over to parser. To me it makes more sense for the function to belong in that module so I think of it as a positive change. However I do not think that returning two values is really necessary. I think a proper solution would be either to parse the code or wrap the stream so we can count how many bytes are readed. Therefore we could use std.leb.readUleb128 which should be less error-prone.
2025-03-12base codeLorenzo Torres