Published February 20, 2023
| Version v0.4.0
Software
Open
mlange-42/arche: Arche v0.4.0
Description
API revision, split out generics and filters into separate packages.
Features- Generic queries support optional, additional and excluded components (#53, #56, #58, #59, #60, #63)
- Logic filters for complex queries (#54, #58, #61)
QueryandWorldhave a methodMask(Entity)to access archetype masks (#65)- Generic query
Getmethod returns all queried components (#83) - Added method
World.Stats()for inspecting otherwise inaccessible world statistics (#67) - Entities can be initialized with components, via ID as well as using generics (#76)
- A listener function can be registered to the world, for notification on entity changes (#77)
- Support for up to 128 distinct component types per world (was limited to 64 before) (#78)
- Generic entity manipulation through types
Map1,Map2, ... andExchange(#79, #84, #87)
- Overhaul of the module structure, with generics and filters in separate packages (#55, #57, #61, #64)
- Generic queries are compiled to masks and cached on first build (#62)
- Boilerplate code for generic filters and queries is auto-generated with
go generate(#64) - Ensure 100% test coverage by adding a CI check for it (#68)
World.RemEntity(Entity)is nowWorld.RemoveEntity(Entity)(#87)- Optimization of adding/removing components, with 2-3x speedup and vast reduction of (number of) allocations (#93)
- More examples as user documentation (#83, #95)
- Speed up component world access by use of nil pointer check instead of bitmask (#96)
- General API cleanup with renaming of several types and methods (#100)
Files
mlange-42/arche-v0.4.0.zip
Files
(80.3 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:536b8b2812daba41472dbc85831ddee2
|
80.3 kB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/mlange-42/arche/tree/v0.4.0 (URL)