Commit Graph

7 Commits

Author SHA1 Message Date
hypercross 365b2c4d13 fix: handle edge object in serialization tests
Add `typecheck` script to package.json, expand tsconfig include
paths to cover tests and examples, and update serialization tests
to correctly resolve player IDs from relationship edges.
2026-06-02 18:05:47 +08:00
hypercross c3c24d2350 feat(examples): add Tetris game example 2026-06-01 23:18:07 +08:00
hypercross 4e37e03d3f feat: add behavior tree implementation
Introduces a `TaskRunner` for executing behavior trees within the
ECS world. Supports leaf, sequential, parallel, and random task
kinds, along with status propagation (succeeded, failed, cancelled).
2026-06-01 22:52:10 +08:00
hypercross 9e788b135b feat: add CommandQueue for pull-based command processing
Introduces a `CommandQueue` to handle command components. It allows
registering handlers that are executed when `execute()` is called,
automatically removing the command component and cleaning up empty
entities. Includes an interruption mechanism to pause processing
during asynchronous operations.
2026-06-01 14:20:56 +08:00
hypercross 46da8abbe1 refactor: remove rxjs dependency
Replace rxjs with a lightweight internal Subject implementation
to reduce package size and complexity.
2026-05-31 16:38:27 +08:00
hypercross ba4a688f57 test: add vitest and implement unit tests 2026-05-31 15:47:19 +08:00
hypercross 4ede2d7f3b feat: implement core ECS engine with RxJS observability
Initial implementation of an Entity-Component-System (ECS) featuring:
- Sparse set-based component storage for efficient access.
- Entity lifecycle management with generation-based recycling.
- Reactive query system using RxJS for change tracking.
- Batched event flushing to support frame-based updates.
- Type-safe component definitions via TypeScript inference.
2026-05-31 15:45:20 +08:00