Skip to content

Releases: richardbiely/gaia-ecs

v0.7.1

23 Sep 18:29
Compare
Choose a tag to compare

Fixed:

  • incorrect container assertions cec1248
  • DataBuffer::SaveComponent wouldn't work correctly with rvalues fc4b1fe
  • chunks would be filled with 1 less entity than their capacity allowed 85d2341
  • GAIA_USE_LIBCPP usage 9cec3a3
  • C++20 and later compilation issues 53a8da5

Changed:

Tweaked:

  • component cache inlining cb873f5
  • improved performance of ComponentInfo comparison 9e03ee9
  • containers::bitset::flip performance improvement 0a58afb

Full Changelog: v0.7.0...v0.7.1

v0.7.0

17 Sep 17:40
Compare
Choose a tag to compare

Fixed:

  • sort_ct would not sort properly 307d3cc
  • find, find_if, find_if_not would always return the first item in the list if a match was found and iterators were used for range 655ed7e
  • ChunkAllocator life-time issues 5f5001c
  • adding components via CommandBuffer would not force registration 2da2636
  • non-trivial components would not work correctly with CommandBuffer 04abc39
  • duel benchmark would optimize away the output variables making the results meaningless 0196777
  • dynamic containers would not release on pop_back 5d386d1)
  • build issues when using GAIA_USE_STL_CONTAINERS 1

Changed:

  • utils::for_each can be used with argument-less functors now 461adbd
  • more informative assertions 046a0b1
  • garbage collector called only via ecs::World::Update() now 0c81d53
  • ecs::World::Update() calls GAIA_PROF_FRAME at the end to mark the end of the frame 0c81d53
  • Enabling entities done without archetype change 82f1791
  • Max 512 entities per chunk (temporary) 82f1791
  • empty entities always bound to the root archetype 84bbcd1

Tweaked:

Added:

  • ThreadPool 008edb8
  • RingBuffer container 008edb8
  • ImplicitList container ed51af2
  • bitset - b9cb2ef
  • dbitest - 82f1791
  • IteratorEnabled, IteratorDisabled 82f1791
  • support for serialization of types containing data() and size(). Use resize() if possible. 989eb15
  • #define GAIA_AVOID_CHUNK_FRAGMENTATION 1 - chunk fragmentation is avoided at the cost of entity removal / component movement performance fcb0ad7
  • #define GAIA_AVOID_CHUNK_FRAGMENTATION 0 - chunk defragmentation done at each world update 0c81d53
  • ecs::World::IsEntityUsed 84bbcd1
  • ecs::World::IsEntityEnabled 84bbcd1

Full Changelog: v0.6.2...v0.7.0

v0.6.2

15 May 06:27
Compare
Choose a tag to compare

The first official stable release of Gaia-ECS is here :)

This version comes with the following features:

  • creating, removing and enabling entities
  • basic data operations such as adding, removing components and checking their presence
  • support for generic and chunk components
  • support for organizing data in AoS (default) and SoA layout
  • cached data queries with support for AND, OR and NOT operators, change of constraints and ability to detect changes
  • systems with dependency management