Releases: Ukendio/jecs
Releases Β· Ukendio/jecs
Jecs v0.5.3
Highlights
- Fixed some regressions
Changelog
[world]
:- Fixed
OnRemove
hooks not being invoked when usingworld:delete
on a target of a pair
- Fixed
[query]
:- Fixed cached queries not matching archetypes where the first term has a wildcard
[luau]
:- Fixed return of
World.new()
being inferred asany
- Fixed return of
New Contributors
- @Intrinsic-zyx made their first contribution in #176
Full Changelog: v0.5.2...v0.5.3
Jecs v0.5.2
Highlights
- Optimized deletion/removal of children from a parent by 20%
- Reverted back to using the old type solver, will wait until user defined type functions are more stable and have support for generic packs
Changelog
[world]
:- Fixed
world:each
not iterating every archetype
- Fixed
[query]
:- Fixed the
:with
filter on cached queries not working properly
- Fixed the
[luau]
:- Reverted the types to Pair to always return the type for the first element
- The behaviour of supporting components in either position remains but types does not reflect this at the moment
- Reverted the types to Pair to always return the type for the first element
New Contributors
- @CapedBojji made their first contribution in #174
Full Changelog: v0.5.0...v0.5.2
Jecs v0.5.1
Bump patch
Jecs v0.5.0
Highlights
- Now supports cached queries which can save
3-5
microseconds by not having to recreate the same queries every frame. - Thanks to Luau's progress to supporting user defined type functions, we can now fully type
Pair
, and as such I have extended support for them to support relation data if either IDs is aComponent
Changelog
[world]
:- Fixed
world:target
not giving adjacent pairs - Added
world:each
to find entities with a specific Tag - Added
world:children
to find children of entity
- Fixed
[query]
:- Added
query:cached
- Adds query cache that updates itself when an archetype matching the query gets created or deleted.
- Added
[luau]
:- Changed how entities' types are inferred with user-defined type functions
- Changed
Pair<First, Second>
to returnSecond
ifFirst
is aTag
; otherwise, returnsFirst
.
New Contributors
- @ChinoUkaegbu made their first contribution in #151
- @maeriil made their first contribution in #160
Full Changelog: v0.4.0...v0.5.0
Jecs v0.4.0
Highlights
- Jecs now has entity recycling which will allow you to reuse 2^24 indexes 2^16 times each by giving them generations, giving you a possible range of 2^40 entities in total, you will never run out! Huge thanks to @centau and @SanderMertens for the guidance on the implementation of this!
- The query iterator has been simplified to keep the API more lightweight and transparent.
- Now that jecs is much more stable than before, I am going to take a pivot towards working on flamecs, a jecs wrapper for Flamework. Takes advantage of Flamework macros and type ID system for increased ergonomics.
Changelog
[world]
:- Added recycling to
world:entity
- If you see much larger entity ids, that is because its generation has been incremented
- Added recycling to
[query]
:- Removed
query:drain
- The default behaviour is simply to drain the iterator
- Removed
query:next
- Just call the iterator function returned by
query:iter
directly if you want to get the next results
- Just call the iterator function returned by
- Removed
query:replace
- Removed
[luau]
:- Fixed
query:archetypes
not takingself
- Changed so that the
jecs.Pair
type now returns the first element's type so you won't need to typecast anymore.
- Fixed
New Contributors
- @silly-spongus made their first contribution in #130
- @christopher-buss made their first contribution in #144
- @bortantle made their first contribution in #146
- @daolgierd made their first contribution in #152
- @metrowaii made their first contribution in #157
Full Changelog: v0.3.2...v0.4.0
Jecs v0.4.0-rc.0
Bump
Jecs v0.3.2
Optimized world:cleanup() and the archetype graph to scale better.
Jecs v0.3.1
Changelog
[world]
:- Fixed a regression that occurred when you call
world:remove
- Remove explicit error in JECS_DEBUG for
world:target
when not applying an index parameter
- Fixed a regression that occurred when you call
[typescript]
:- Fixed
world.set
with NoInfer
- Fixed
New Contributors
Full Changelog: v0.3.0...v0.3.1
Jecs v0.3.0
Highlights
- Jecs is the first ECS to have implemented archetype deletion second only to flecs!
- Reached 121 stars!
- Added new creations to the addons page
Changelog
[world]
:- Added an index parameter to
world:target
- Added a way to change the components limit via
_G.JECS_HI_COMPONENT_ID
- Set it to whatever number you want but try to make it as close to the number of components you will use as possible
- Make sure to set this before calling jecs or else it will not work
- Added debug mode, enable via setting
_G.JECS_DEBUG
to true- Make sure to set this before calling jecs or else it will not work
- Added
world:cleanup
which is called to cleanup empty archetypes manually - Changed
world:delete
to delete archetypes that are dependent on the passed entity - Changed
world:delete
to delete entity's children before the entity to prevent cycles
- Added an index parameter to
[query]
:- Fixed the iterator to not drain by default
[typescript]
- Fixed entry point of the package.json file to be
src
rather thansrc/init
- Fixed
query.next
returning a query object whereas it would be expected to return a tuple containing the entity and the corresponding component values - Exported
query.archetypes
- Changed
pair
to return a number instead of an entity- Preventing direct usage of a pair as an entity while still allowing it to be used as a component
- Exported built-in components
ChildOf
andName
- Exported
world.parent
- Fixed entry point of the package.json file to be
New Contributors
- @ffrostfall made their first contribution in #114
- @hautajoki made their first contribution in #115
- @jakeundefinedz made their first contribution in #121
- @revvy02 made their first contribution in #122
- @Someon1e made their first contribution in #120
Full Changelog: v0.2.10...v0.3.0
Jecs v0.2.10
Bump