Commit Graph

2 Commits

Author SHA1 Message Date
hypercross df388ee9b3 refactor: remove QueryDescriptor from ISystem interface
Remove the mandatory Query property from the ISystem interface,
allowing systems to manage their own queries locally or via other
means. Update all implementing systems and tests to use local
query descriptors instead.
2026-07-18 22:22:52 +08:00
hypercross 8557fc864d feat: add singleton support to World
Introduces a mechanism to store and access singleton components on a
reserved entity. The singleton entity is automatically excluded from
all standard queries to prevent it from being processed like regular
entities.

- Added `SetSingleton`, `GetSingleton`, `HasSingleton`, and
  `RemoveSingleton` to `World`.
- Added `RegisterSingleton` to `EntityAllocator` to support the
  reserved entity.
- Updated `QueryExecutor` to skip the singleton entity during
  iteration.
- Added unit tests for singleton functionality.
2026-07-18 19:53:58 +08:00