Skip to content

Releases: Ukendio/jecs

Jecs v0.1.0

19 May 02:32
b8f7bed
Compare
Choose a tag to compare

Jecs v0.1.0 is now available!

Jecs v0.1.0-rc.6

12 May 23:25
2df5f3f
Compare
Choose a tag to compare

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

10 May 20:26
Compare
Choose a tag to compare

I am finally bumping it to v0.1.0 because basic relationships are officially supported.

Install on Wally: ukendio/[email protected]

What's Changed

New Contributors

Full Changelog: v0.0.0-prototype.rc.3...v0.1.0-rc.5

Jecs v0.0.0-prototype.rc.3

01 May 13:27
Compare
Choose a tag to compare

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 the componentIndex which is a significant boost. #10

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

25 Apr 22:17
Compare
Choose a tag to compare

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

23 Apr 16:28
Compare
Choose a tag to compare