Skip to content

refactor(ecs): make systems own component signatures - #29

Merged
czlin7 merged 1 commit into
developfrom
refactor/system-signature-registration
Sep 17, 2026
Merged

czlin7 merged 1 commit into
developfrom
refactor/system-signature-registration

Conversation

@czlin7

@czlin7 czlin7 commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • make each system declare its required ECS component signature
  • register the signature automatically inside SystemManager::RegisterSystem<T>()
  • remove manual SetSignature<T>() calls and duplicated signature knowledge from SimulationWorld
  • update foundation tests so registration alone establishes correct system membership

Why

A system's required component set is part of that system's definition. Keeping registration and signature assignment as separate external steps made it possible to register a system successfully but silently leave it unable to receive matching entities.

This refactor keeps that invariant local to each system and reduces SimulationWorld to deciding which systems exist.

Scope

  • behavior-preserving ECS registration refactor
  • no component-index redesign
  • no new abstraction layer or runtime registration framework

Validation

  • branch is 1 commit ahead of develop and 0 behind
  • changed files are limited to the three systems, SystemManager, SimulationWorld, and foundation tests

@czlin7
czlin7 merged commit c771064 into develop Sep 17, 2026
3 checks passed
@czlin7
czlin7 deleted the refactor/system-signature-registration branch September 17, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant