0.18.0 (2026-03-22)
- ecs:
new TriggerEntity({ target })no longer sets the trigger target. Usenew TriggerEntity({ trigger: { target } })and access the value viaTriggerEntity.trigger.target.
0.17.9 (2026-03-01)
- ecs: add ability to remove components from entities (92836a6)
0.17.8 (2026-02-01)
- core: fix optional properties not being listed when retrieving all public properties in a class (b801e59)
0.17.7 (2026-01-04)
- core: use strongly typed enums (#749) (ec6219c)
- ecs: add ability to retrieve all components in a given entity (7a986bc)
0.17.6 (2026-01-01)
- core: add
@Optionaldecorator (ccb1a3f) - ecs: add utilities to list publicly available properties on any given component (ccb1a3f)
- ecs: properly mark optional properties in components (ccb1a3f)
0.17.5 (2025-12-24)
- core: add ability to infer type from class name (4ac70e9)
0.17.4 (2025-11-30)
- ecs: add ability to retrieve all registered components (c685368)
0.17.3 (2025-08-31)
- ecs: fix camera scaling factor (c9a392a)
- gfx: fix setTransform to scale relatively to its own position (#644) (9ab0f90)
0.17.2 (2025-08-27)
0.17.1 (2025-08-24)
- ecs: add camera zoom in/out (#629) (a8d9506)
- ecs: add transform scale property (a8d9506)
- gfx: add image smoothing enable/disable (#633) (6aee64f)
- gfx: add support for primitives scaling factor (#632) (f2f565b)
0.17.0 (2025-08-19)
- gfx: The 0,0 position in the world is now found at the center of the screen, affecting how entities are placed in the world space. May require reviewing the entities' position
- gfx: The objects' origin is now placed at the center of their position, affecting how they are placed in space
- core: add utility to convert Vec2 into world space coordinates (ea4616f)
- core: add utility to convert Vec2 to screen space (e7d87af)
- gfx: make world coordinates origin screen centered (1a30c64)
- gfx: move object origin from top-left to center (562f00a)
- gfx: fix setResolution logic (9b8db21)
0.16.3 (2025-08-12)
- renderer: avoid unnecessary commands (94e32d9)
0.16.2 (2025-08-05)
- ecs: add onTriggerCB prop setting on new TriggerEntity construction (8756c35)
0.16.1 (2025-08-04)
- ecs: fix TriggerEntity not passing params in callback call (cbf9c90)
0.16.0 (2025-08-04)
- ecs:
TriggerEntity.onTriggerCBandBoundingBox.onCollisionCBdo not accept plain functions anymore. Use SerializableCallback.fromFunction Instead.
0.15.3 (2025-08-02)
- release 0.15.3 (b1032e0)
0.15.2 (2025-08-02)
- release 0.15.2 (62d5a42)
0.15.2 (2025-08-02)
- ecs: add onCollisionCb serialization (0323201)
0.15.1 (2025-07-19)
0.15.0 (2025-06-01)
- engine: GameEngine.renderSystem has been removed in favour of GameEngine.renderSystems
0.14.0 (2025-05-20)
- engine: allow scenes to be built before engine is ready
- engine: hide scene from previous engine instance when drawn into new engine instance (2332c62)
- engine: allow scenes to be built before engine is ready (36809a8)
0.13.4 (2025-04-20)
- core: add rgb to hex string conversion (c188d07)
0.13.3 (2025-04-20)
- ecs: prevent the same component from being added twice (5379a4c)
0.13.2 (2025-04-16)
- ecs: add ability to remove diffuseColor from materialComponent (db75342)
0.13.1 (2025-04-12)
0.13.0 (2025-04-08)
- gfx: rename ImageLoader to DOMImageLoader and add ImageLoader interface
- engine: add ability to override engine image loader (2c25dff)
- gfx: rename ImageLoader to DOMImageLoader and add ImageLoader interface (ff84e5d)
0.12.3 (2024-10-07)
- engine: add scene dispose functionality (238001a)
0.12.2 (2024-10-04)
- engine: add ability to draw scene by default on
Engine.createSceneinvoke (99af115) - engine: add ability to remove a scene from the engine (ec6922d)
0.12.1 (2024-10-02)
- engine: make sure only first scene created is automatically drawn (3b8de5e)
0.12.0 (2024-09-17)
- renderer: add texture loading when ShapeComponent material draw (#398)
0.11.5 (2024-08-16)
- ecs: fix material props serialization (6edae6b)
0.11.4 (2024-08-14)
0.11.3 (2024-08-12)
- core: fix issue with unique names colliding with each other (ad055af)
0.11.2 (2024-08-12)
- engine: fix scene load not cleaning up existing data properly (34e3fd4)
0.11.1 (2024-08-10)
- ecs: add .toJson() method to get json representation of any component (#352) (c189dd9)
- ecs: add entities .toJson() serialization (#367) (8c3ef7a)
- engine: add scene .toJson() serialization (#368) (4c4ee7d)
0.11.0 (2024-07-08)
- rename uniqueness decorators
- engine: fix scene trowhing exception when entity name is removed and added back again (14d48c0)
- rename uniqueness decorators (8a2e6e3)
0.10.12 (2024-07-01)
- ecs: add the ability to pause/resume any given system (#308) (53a6c52)
- engine: add scene loading from given JSON object (e621de0)
0.10.11 (2024-06-01)
- engine: add public access pattern to renderer (bf614f2)
0.10.10 (2024-05-31)
0.10.9 (2024-05-27)
- ecs: add "isWireframe" property in ShapeComponent constructor props (c3c4950)
0.10.8 (2024-05-17)
- ecs: add wireframe rendering mode to ShapeComponent (5a0f8e6)
0.10.7 (2024-05-09)
- ecs: add optional target in TriggerEntity (#277) (b423994)
- ecs: add TriggerEntity target setter to change or remove target (b423994)
- ecs: add unregisterComponent method to system (901fc23)
- ecs: add uuid to entities (901fc23)
- ecs: make target optional in TriggerEntity constructor (b423994)
- engine: add unregisterEntity in Scene (901fc23)
- scene: add unregisterEntity to remove an entity from a scene (#274) (901fc23)
- ecs: return early if component not found (901fc23)
0.10.6 (2024-05-01)
- fix build:lib script (a6a0f65)
0.10.5 (2024-05-01)
- release 0.10.5 (83cf94c)
0.10.4 (2024-04-19)
0.10.3 (2024-04-19)
- fix distributable missing in release artifact (18bd2ce)
0.10.2 (2024-04-19)
- add compiled source in release package (1107763)
0.10.1 (2024-04-01)
- animations: add animation assets loading (22ebea4)
- gfx: add textures opacity (899a76e)
- platform: add assets cache to ImageLoader (a435a03)
0.10.0 (2024-04-01)
- ecs: apply BaseSystem abstract class to HierarchySystem
- animations: add animation controls (9cc570f)
- animations: apply idle pose when stopping the animation (8bbb401)
- ecs: add animations (1cd95d8)
- ecs: add BaseSystem abstract class (1bfdaa4)
- ecs: add support to multiple components of the same type in Entities (2d18ecf)
- engine: add animationCompont to scene (57ee76b)
- engine: add AnimationSystem to engine (63d0dde)
- gfx: add type to ImageAsset (a17e998)
- ecs: apply BaseSystem abstract class to HierarchySystem (bbeddcd)
0.9.0 (2024-03-26)
- gfx: - DrawImageCommand.constructor.image
- gfx: switch image rendering from HTMLImageElement to ImageBitmap (12e20cb)
- core: fix rgb alpha value being wrongly defaulted when 0 (fec7fd3)
0.8.5 (2024-03-24)
- ecs: add diffuse texture rendering in MaterialComponent (7db1cc0)
- ecs: add support to diffuse texture rendering (7db1cc0)
- ecs: avoid using MaterialComponent default diffuse color when texture is applied (17be7d0)
- gfx: add drawImage command (7db1cc0)
- gfx: add ImageLoader (7db1cc0)
0.8.4 (2024-03-21)
- add camera mechanism (a1b480c)
- ecs: add abstraction for drawable components (abdc5c5)
- ecs: add CameraComponent (a1b480c)
- renderer: add SetTransformCommand render command (a1b480c)
- physx: fix collision detection being broken when same object added twice (f7ed740)
0.8.3 (2024-03-18)
- core: add whole type chain in type decorator (9f90175)
- ecs: make added component retrievable with any type in its types chain (bbef3b1)
- core: fix types decortator to not overwrite other constructors types chain (54049e5)
- physx: fix broken physics in pong example due to values being used by reference (dc9a4e4)
0.8.2 (2024-03-14)
- ecs: add RigidBodyComponent (#191) (e64b4da)
- engine: add physics cycles configuration (#186) (241b726)
0.8.1 (2024-03-06)
- physx: add post simulation position on container collision (#171) (e9b92dc)
- physx: improve collisions detection and resolution (bca7507)
- physx: fix wrong uuid being used in post simulation and avoid unnecessary collision check (b93c447)
0.8.0 (2024-02-19)
- ecs: Removes
@IncrementallyUniqueproperty decorator due to buggy implementation. useincrementallyUnique()function instead
0.7.2 (2024-02-18)
0.7.1 (2024-02-17)
0.7.0 (2024-02-12)
- ecs: removes target param in favor of required props param
- ecs: SoundComponent constructor does not require SoundLoader anymore which is now needed in SoundComponent.load
- add entities init config (21783d5)
- ecs: add GameObject init configuration (21783d5)
- ecs: add StaticObject init config (21783d5)
- ecs: add TriggerEntity init config (21783d5)
- ecs: pass SoundLoader in SoundComponent.load (2bfd28b)
0.6.0 (2024-02-11)
- ecs: SoundComponentProps is required to create a new SoundComponent
- ecs: add BoundingBoxComponentProps to construct boundingBox from config (#121) (522265d)
- ecs: add MaterialComponentProps to quickly initialize the component (#122) (d1373e4)
- ecs: add ShapeComponentProps to quickly initialize the component (#123) (7792fc1)
- ecs: add SoundComponentProps to quickly initialize the component (#124) (3c7ba92)
- ecs: add TransformComponentProps to init the component (#119) (6803e9f)
0.5.1 (2024-02-10)
- engine: add Scene to automatically register components inside a scene systems [#111][#113] (368fa4e)
- inputs: trigger input listener only once per frame (9845b8c)
0.5.0 (2024-02-09)
- inputs: fix delayed inputs when keeping button pressed - #82 (#107)
0.4.3 (2024-02-08)
- core: return Vec2 this instance in in place methods (cd552c8)
0.4.2 (2024-02-01)
- SoundComponent: avoid flagging as non playing if not loaded (f423223)
0.4.1 (2024-01-31)
- game: add GameEngine class (6b247c9)
0.4.0 (2024-01-29)
- renderer: Renderer requires new parameter to be succesfully created
0.3.1 (2024-01-28)
- ecs: add uuid to every component created (7946b05)
- phsyx: pass through the uuid of the physical objects colliding (09d5437)
0.3.0 (2024-01-28)
- physx: rename "simulationResult" property to "postSimulation"
- phsyx: add reflected velocity in collision detection (585c57c)
- physx: add reflected velocity from collision in non container collision (bfc2500)
- physx: calculate post collision position with non container objects more precisely (382dd15)
- physx: improved collision detection precision (eab8341)
- physx: refine collision detection logic (4d0f016)
- physx: rename "simulationResult" property to "postSimulation" (1ab7000)
0.2.5 (2024-01-26)
- physx: fix velocity not accounted in collisions (953412a)
0.2.4 (2024-01-24)
- core: add vec2 math utils (bf49313)
- math: add reflect and static from constructor (6c371f1)
- physx: add objects velocity (#76) (2d22191)
- vec2: add scalar multiplication (8d0d87a)
0.2.3 (2024-01-23)
- physx: send informations about the colliding object in the callback (7a7533c)
0.2.2 (2024-01-22)
0.2.1 (2024-01-09)
0.2.0 (2023-12-12)
- ecs: TransformComponent.position needs to be an instance of Vec2 now
- ecs: replace transform position plain object with Vec2 (45d3dd6)
0.1.4 (2023-12-12)
- docs: fix documentation by changing tech (04c30b5)
0.1.3 (2023-12-11)
- ecs: add StaticObjectEntity (7db7723)
0.1.2 (2023-12-10)
- physx: add Physics engine and BoundingBoxComponent for collision detection (0546f1c)
- remove generating pr in ci (693637e)
0.1.1 (2023-12-08)
- core: add Color (27143fc)
- core: add Color (e81080a)
- core: add color core utility (25da3db)
- ecs: add automatic key assign to component (9b6beda)
- ecs: add base component and base entity (293240f)
- ecs: add behaviour interfaces (c6c8854)
- ecs: add GameObject with default components (4419b69)
- ecs: add render system and shape component (778b486)
- ecs: add TransformComponent (e210d03)
- ecs: implement base component get/set container (e460c4d)
- ecs: retrieve ShapeComponent needed components from parent container when present (6e6604d)
- ecs: set container when adding component to entity (4e80c04)
- make transform getter public (e6440b0)
- material: add MaterialComponent with diffuse color (95d534f)
- material: pass material to draw call in ShapeComponent (4fc3518)
- renderer: add support for blending methods (92bfdc9)
- rendering: add rect rendering (3825ef0)
- rendering: add render commands (4569a9d)
- rendering: add rendering order based on depthIndex (0100a3a)
- rendering: handle transparent objects (a44a791)
- rendering: implement rendering system (5fb7cef)