Skip to content

Releases: mlange-42/arche

Arche v0.14.4

02 Jan 19:37
e08fda8
Compare
Choose a tag to compare

Arche v0.14.4

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Performance

  • Optimize mask to types conversion, speeding up archetype creation by up to 150ns (#453)

Arche v0.14.3

01 Jan 22:05
16e3c44
Compare
Choose a tag to compare

Arche v0.14.3

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Performance

  • Avoids a bitmask heap escape in world component operations (add, remove, exchange, ...), with around 20ns improvement (#452)

Arche v0.14.2

26 Dec 01:33
ad4aac7
Compare
Choose a tag to compare

Arche v0.14.2

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Performance

  • Optimize MapX.Assign and MapX.NewWith by use of World.GetUnchecked (#449)

Documentation

  • Fix method names and ordering in benchmark tables (#448)
  • Document listener notification handling in MapX.NewWith (#450)

Bugfixes

  • Fix missing listener notification in MapX.NewWith when called with a relation target (#450)

Arche v0.14.1

23 Dec 01:36
3597b3e
Compare
Choose a tag to compare

Arche v0.14.1

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Features

  • Adds World.NewEntityFn, World.AddFn and World.ExchangeFn that call a callback function before listener notification (#445)

Bugfixes

  • Fixes generic MapX.Assign and MapX.NewWith notifying listeners before setting components (#445, issue #443)

Documentation

  • Removes references to deprecated methods from the user guide (#447)

Other

  • Retract version v0.14.0 due to issue #443 and required features (#446)

Arche v0.14.0

22 Dec 19:55
dc04f9c
Compare
Choose a tag to compare

Arche v0.14.0

Retracted version. Use v0.14.1 instead

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Features

  • Slow assignment methods like World.Assign and World.NewEntityWith are deprecated, in favour of their now faster generic counterparts (#441)

Performance

  • Optimizes Map.Set, MapX.Assign and MapX.NewWith, by not using runtime reflection (#440)

Documentation

  • Adds benchmarks for World.Assign and World.NewEntityWith to the user guide (#438)
  • Adds benchmarks for MapX.Assign and MapX.NewWith to the user guide (#440)

Bugfixes

  • Prevents garbage collection of slices and pointers in components added via World.Assign and similar methods (#438, issue #437)

Known issues

  • Generic MapX.Assign and MapX.NewWith notify listeners before setting components (#443)

Arche v0.13.3

27 Nov 00:10
b709940
Compare
Choose a tag to compare

Arche v0.13.3

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Performance

  • Simplifies the archetype graph to use only a single list of neighbors per node, saving a bit of memory (#433)

Documentation

  • Adds an example for World.Mask, showing how to check whether a filter "contains" an entity (#428)
  • Adds the beecs implementation of BEEHAVE to the showcase (#429)

Arche v0.13.2

04 Sep 14:02
ae21e73
Compare
Choose a tag to compare

Arche v0.13.2

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Bugfixes

  • Ensures Assign() copies components before notifying listeners (#426, g-getsov)

Arche v0.13.1

29 Aug 10:12
e31be0a
Compare
Choose a tag to compare

Arche v0.13.1

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Bugfixes

  • Fixes dispatch listener bug that did not clear component restriction (#424, g-getsov)

Arche v0.13.0

21 May 17:06
d66c1be
Compare
Choose a tag to compare

Arche v0.13.0

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Features

  • Adds function ResourceTypeID to register/get a resource ID from a reflect.Type (#420)

Other

  • Fix component type in examples/base (#419)

Arche v0.12.0

29 Apr 19:24
ef139e3
Compare
Choose a tag to compare

Arche v0.12.0

Arche is an archetype-based Entity Component System for Go.

Arche's Features

Changelog

Features

Documentation

  • Adds a showcase chapter "Made with Arche" to the documentation page (#411)

Performance

  • Re-arrange struct fields to save memory in a few places (#413)

Bugfixes

  • Fix crash caused by extending layouts of an inactive archetype (#416, reported in #415)

First-time contributors