You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(data): reserve id/nonPersistent/nonShared names; single-source the id name
- Throw if a component schema defines a reserved built-in name (id,
nonPersistent, nonShared) — at createCore and at store.extend — instead of
silently clobbering the built-in (which post-id-removal corrupts the entity-id
column, since resolveArchetype seeds it from componentSchemas[ID]). Covered by
a unit test that runs for both the core and store factories.
- Abstract the "id" component name to a single source of truth: `ID` (runtime)
and `IdComponent` (type) in required-components.ts, with
`RequiredComponents = Record<IdComponent, Entity>`. All ECS id-column access
(data + data-persistence) now goes through these, so the name could be changed
in one place.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments