Releases: mlange-42/arche
Releases · mlange-42/arche
Arche v0.14.4
Arche v0.14.4
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
Changelog
Performance
- Optimize mask to types conversion, speeding up archetype creation by up to 150ns (#453)
Arche v0.14.3
Arche v0.14.3
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
Changelog
Performance
- Avoids a bitmask heap escape in world component operations (add, remove, exchange, ...), with around 20ns improvement (#452)
Arche v0.14.2
Arche v0.14.2
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
Changelog
Performance
- Optimize
MapX.Assign
andMapX.NewWith
by use ofWorld.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
Arche v0.14.1
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
Changelog
Features
- Adds
World.NewEntityFn
,World.AddFn
andWorld.ExchangeFn
that call a callback function before listener notification (#445)
Bugfixes
- Fixes generic
MapX.Assign
andMapX.NewWith
notifying listeners before setting components (#445, issue #443)
Documentation
- Removes references to deprecated methods from the user guide (#447)
Other
Arche v0.14.0
Arche v0.14.0
❗ Retracted version. Use v0.14.1 instead ❗
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
Changelog
Features
- Slow assignment methods like
World.Assign
andWorld.NewEntityWith
are deprecated, in favour of their now faster generic counterparts (#441)
Performance
- Optimizes
Map.Set
,MapX.Assign
andMapX.NewWith
, by not using runtime reflection (#440)
Documentation
- Adds benchmarks for
World.Assign
andWorld.NewEntityWith
to the user guide (#438) - Adds benchmarks for
MapX.Assign
andMapX.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
andMapX.NewWith
notify listeners before setting components (#443)
Arche v0.13.3
Arche v0.13.3
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
Changelog
Performance
- Simplifies the archetype graph to use only a single list of neighbors per node, saving a bit of memory (#433)
Documentation
Arche v0.13.2
Arche v0.13.2
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
Changelog
Bugfixes
Arche v0.13.1
Arche v0.13.1
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
Changelog
Bugfixes
Arche v0.13.0
Arche v0.13.0
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
Changelog
Features
- Adds function
ResourceTypeID
to register/get a resource ID from areflect.Type
(#420)
Other
- Fix component type in examples/base (#419)
Arche v0.12.0
Arche v0.12.0
Arche is an archetype-based Entity Component System for Go.
Arche's Features
- Simple core API. See the API docs.
- Optional logic filter and type-safe generic API.
- Entity relations as first-class feature. See the User Guide.
- World serialization and deserialization with arche-serde.
- No systems. Just queries. Use your own structure (or the Tools).
- No dependencies. Except for unit tests (100% coverage).
- Probably the fastest Go ECS out there. See the Benchmarks.
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)