All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
-
v1.2.1 - Improve performance
- Improve performance of
Scene.select()
,Scene.get()
,Scene.collect()
,Scene.remove()
,Scene.free()
,Scene.has()
,Scene.components()
, andScene.archetype()
. Improve performance ofScene.set()
in the case where the component type is already present and the component will be replaced. - Improve performance of internal methods (improving overall performance).
- Other changes:
- Add benchmarks.
- Improve performance of
-
v1.2.0 - manipulating multiple components at once
- Add support for multiple components/component types to
scene.add()
,scene.has()
, andscene.remove()
aswell asCommandBuffer.add()
andCommandBuffer.remove()
. - Add
scene.collect()
to retrieve more than one component at once. - Add
scene.set()
for adding and overwriting components. - Add support for adding components directly when allocating a new entity id with
scene.new()
. - Add
CommandBuffer.new()
as the counterpart toscene.new()
. - Add informative messages to exceptions.
- Refactor for minor performance increase.
- Deprecate
scene.add()
in favour ofscene.set()
. - Deprecate
scene.buffer()
in favour ofCommandBuffer(scene)
. - Fix a typo in
test.py
.
- Add support for multiple components/component types to
-
v1.1.0 - Add command buffer
When using
scene.select()
, manipulation of entities can now be recorded using theCommandBuffer
instance returned byscene.buffer()
, and played back at a later time. This avoids unexpected behavior that would occur when using the scene instance directly. -
v1.0.0 - First release
The base functionality is implemented. Note that at this stage it is not safe to add or remove components while iterating over their entities. This will be fixed in a future release.