Skip to content

Flecs v3.2.1

Compare
Choose a tag to compare
@SanderMertens SanderMertens released this 16 Apr 20:39
· 1048 commits to master since this release
0fab02f

Highlights

  • Query iteration improved 20-40% when iterating components
  • New addon for recording component values and relationships as metrics
  • New FLECS_LOW_FOOTPRINT compiler flag that reduces memory usage

Release notes

This version includes the following bugfixes:

  • Fix issue where change detection would not clear when using ecs_query_next_table
  • Fix crash where wildcard id record was deleted before matching non-wildcard id record
  • Fix issue where during world fini a filter incorrectly decreased the refcount of an id record
  • Fix issue with setting This variable to entity for filters
  • Fix issue where OnRemove observer wasn't invoked after deferred batched clear
  • Fix issue in flecs script where pair target was not looked up correctly
  • Fix issue where filter would compute incorrect size for (*, T) pair term

This version includes the following improvements:

  • [cpp] Add flecs::world::reset method deletes/recreates a world
  • [cpp] Add get/set methods to flecs::world for singleton pairs
  • [cpp] Add method to get filter from flecs::rule (thanks @Thinkofname!)
  • [cpp] Add flecs::rule::rule_str method
  • [cpp] Add flecs::entity_view::path_from method
  • [cpp] Allow iterable::set_var to be called for filters
  • [cpp] Add flecs::iter::column_index method
  • [cpp] Add flecs::table::column_size method
  • [c] Add ecs_field_column_index function
  • [c] Add ecs_table_get_column_size function
  • [queries] Improve performance of trivial query iteration (addresses performance regression in 3.2.0)
  • [queries]Implement change detection for flattened tables
  • [filters] Return data for OR terms if the type of terms in the OR chain is the same
  • [filters] Reuse same sizes array for all results of filter (improves cache locality during iteration)
  • [filters] Improve performance of filter creation
  • [metrics] Implement metrics addon
  • [docs] Add scene management example (thanks @benjitrosch!)
  • [docs] Fix typos/grammar issues in relationships doc (thanks @oznogon!)
  • [docs] Fix outdated docs for ecs_filter_iter
  • [docs] Fix outdated docs for ecs_bulk_new_w_id
  • [docs] Fix link to FAQ in readme
  • [cmake] Update version number to 3.2 (thanks @podsvirov!)
  • [internals] Reduce overhead of tables that don't use bitsets/union relationships/flattening
  • [internals] Add FLECS_LOW_FOOTPRINT compiler flag for reduced memory utilization

Breaking changes:

  • A when_changed argument has been added to ecs_query_populate (#466 (comment))

Known issues:
#844
#765
#714
#620
#478
#314
#951

New Contributors

Full Changelog: v3.2.0...v3.2.1