Releases: Ukendio/jecs
Jecs v0.1.0
Jecs v0.1.0 is now available!
Jecs v0.1.0-rc.6
Basically just added a wildcard term which lets you query any partially matched pairs
world:set(bob, pair(Eats, Apples), 10)
world:set(alice, pair(Eats, Oranges), 4)
for e, amount in world:query(pair(Eats, Wildcard)) do
print(`{getName(e)} eats {amount} fruits`)
end
--[[
bob eats 10 fruits
alice eats 4 fruits
]]
Install with Wally: ukendio/[email protected]
Full Changelog: v0.1.0-rc.5...v0.1.0-rc.6
Jecs v0.1.0-rc.5
I am finally bumping it to v0.1.0
because basic relationships are officially supported.
Install on Wally: ukendio/[email protected]
What's Changed
- Update README.md example and remove trailing whitespace by @outofbearspace in #14
- Fix component overriding when in disorder by @Ukendio in #15
- Update newMatter.lua to match world-rewrite branch by @memorycode in #16
- Update newMatter.lua by @memorycode in #19
- Fix style and add some micro optimizations by @howmanysmall in #27
- Move benchmarks by @Ukendio in #28
- Add iter method by @Ukendio in #20
- Add svg images by @alicesaidhi in #18
- Move root archetype by @Ukendio in #33
- Adds symmetic and idempotent function add by @Ukendio in #26
- Add world.delete by @Ukendio in #22
- Add case for when component is not found in archetype by @Ukendio in #25
- Remove observer for now by @Ukendio in #34
- Relationships by @Ukendio in #31
New Contributors
- @howmanysmall made their first contribution in #27
- @alicesaidhi made their first contribution in #18
Full Changelog: v0.0.0-prototype.rc.3...v0.1.0-rc.5
Jecs v0.0.0-prototype.rc.3
Changed
-
Added observers #1
-
Support for a more expressive iterator that takes
:without()
in chaining invariants. #3 -
Separates ranges for components and entity IDs.
- IDs created with
world:component()
will promote array lookups rather than map lookups in thecomponentIndex
which is a significant boost. #10
- IDs created with
Fixed
-
No longer caches the column pointers directly and instead the column indices which stay persistent even when data is reallocated during swap-removals. #13
- This was an issue with the iterator being invalidated when you move an entity to a different archetype.
-
Fixed a bug where changing an existing component would be slow because it was always appending changing the row of the entity record.
- The fix dramatically improves times where it is basically down to just the speed of setting a field in a table. #9
Jecs v0.0.0-prototype.rc.2
Overall iterator performance improvements. Query now finds the smallest archetype map to iterate over. Also populates iterator with columns for faster indexing.
Also renamed the insertion method from world:add
to world:set
to better reflect what it does. This is especially considering to the fact that there will be another method called world:add
that does something different.
To install: add ukendio/[email protected]
in your wally.toml.
Full Changelog: v0.0.0-prototype.rc.1...v0.0.0-prototype.rc.2
Jecs v0.0.0-prototype.rc.1
README