@forgeax/engine-ecs 0.0.0-dev.8d955ade1c79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +278 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/__fixtures__/field-shape-fixture.d.ts +16 -0
- package/dist/__fixtures__/field-shape-fixture.d.ts.map +1 -0
- package/dist/__tests__/__fixtures__/inspect-scripts.snapshot.d.ts +3 -0
- package/dist/__tests__/__fixtures__/inspect-scripts.snapshot.d.ts.map +1 -0
- package/dist/__tests__/archetype.unit.test.d.ts +2 -0
- package/dist/__tests__/archetype.unit.test.d.ts.map +1 -0
- package/dist/__tests__/array-handle-element.test-d.d.ts +2 -0
- package/dist/__tests__/array-handle-element.test-d.d.ts.map +1 -0
- package/dist/__tests__/buffer-array-vocab.test-d.d.ts +2 -0
- package/dist/__tests__/buffer-array-vocab.test-d.d.ts.map +1 -0
- package/dist/__tests__/buffer-field-input-widen.unit.test.d.ts +2 -0
- package/dist/__tests__/buffer-field-input-widen.unit.test.d.ts.map +1 -0
- package/dist/__tests__/buffer-pool.test-d.d.ts +2 -0
- package/dist/__tests__/buffer-pool.test-d.d.ts.map +1 -0
- package/dist/__tests__/change-detection.unit.test.d.ts +2 -0
- package/dist/__tests__/change-detection.unit.test.d.ts.map +1 -0
- package/dist/__tests__/command-buffer.test.d.ts +2 -0
- package/dist/__tests__/command-buffer.test.d.ts.map +1 -0
- package/dist/__tests__/commands-deferred.unit.test.d.ts +2 -0
- package/dist/__tests__/commands-deferred.unit.test.d.ts.map +1 -0
- package/dist/__tests__/component-catalog.test.d.ts +2 -0
- package/dist/__tests__/component-catalog.test.d.ts.map +1 -0
- package/dist/__tests__/component-definition-identity.unit.test.d.ts +2 -0
- package/dist/__tests__/component-definition-identity.unit.test.d.ts.map +1 -0
- package/dist/__tests__/component-nan-preflight.unit.test.d.ts +2 -0
- package/dist/__tests__/component-nan-preflight.unit.test.d.ts.map +1 -0
- package/dist/__tests__/component-schema.test-d.d.ts +2 -0
- package/dist/__tests__/component-schema.test-d.d.ts.map +1 -0
- package/dist/__tests__/component-schema.test.d.ts +2 -0
- package/dist/__tests__/component-schema.test.d.ts.map +1 -0
- package/dist/__tests__/define-component-options.test-d.d.ts +2 -0
- package/dist/__tests__/define-component-options.test-d.d.ts.map +1 -0
- package/dist/__tests__/deprecated-vocab-rejection.unit.test.d.ts +2 -0
- package/dist/__tests__/deprecated-vocab-rejection.unit.test.d.ts.map +1 -0
- package/dist/__tests__/despawn-all.unit.test.d.ts +2 -0
- package/dist/__tests__/despawn-all.unit.test.d.ts.map +1 -0
- package/dist/__tests__/ecs-core-reduction.characterization.test.d.ts +2 -0
- package/dist/__tests__/ecs-core-reduction.characterization.test.d.ts.map +1 -0
- package/dist/__tests__/ecs-core-reduction.perf.test.d.ts +2 -0
- package/dist/__tests__/ecs-core-reduction.perf.test.d.ts.map +1 -0
- package/dist/__tests__/ecs-error-code-31.test-d.d.ts +2 -0
- package/dist/__tests__/ecs-error-code-31.test-d.d.ts.map +1 -0
- package/dist/__tests__/entity-disabling.unit.test.d.ts +2 -0
- package/dist/__tests__/entity-disabling.unit.test.d.ts.map +1 -0
- package/dist/__tests__/entity-handle-codec-parity.unit.test.d.ts +2 -0
- package/dist/__tests__/entity-handle-codec-parity.unit.test.d.ts.map +1 -0
- package/dist/__tests__/errors.unit.test.d.ts +2 -0
- package/dist/__tests__/errors.unit.test.d.ts.map +1 -0
- package/dist/__tests__/execution-conflict-boundary.unit.test.d.ts +2 -0
- package/dist/__tests__/execution-conflict-boundary.unit.test.d.ts.map +1 -0
- package/dist/__tests__/execution-shared-storage.unit.test.d.ts +2 -0
- package/dist/__tests__/execution-shared-storage.unit.test.d.ts.map +1 -0
- package/dist/__tests__/externalization-portable-value.unit.test.d.ts +2 -0
- package/dist/__tests__/externalization-portable-value.unit.test.d.ts.map +1 -0
- package/dist/__tests__/externalization-projection.unit.test.d.ts +2 -0
- package/dist/__tests__/externalization-projection.unit.test.d.ts.map +1 -0
- package/dist/__tests__/externalization-render-read-lease.test-d.d.ts +2 -0
- package/dist/__tests__/externalization-render-read-lease.test-d.d.ts.map +1 -0
- package/dist/__tests__/externalization-render-read-lease.unit.test.d.ts +2 -0
- package/dist/__tests__/externalization-render-read-lease.unit.test.d.ts.map +1 -0
- package/dist/__tests__/externalization-root-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/externalization-root-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/field-enum-labels-reflection.test.d.ts +2 -0
- package/dist/__tests__/field-enum-labels-reflection.test.d.ts.map +1 -0
- package/dist/__tests__/field-shape-fixture.test.d.ts +2 -0
- package/dist/__tests__/field-shape-fixture.test.d.ts.map +1 -0
- package/dist/__tests__/field-transient-reflection.test.d.ts +2 -0
- package/dist/__tests__/field-transient-reflection.test.d.ts.map +1 -0
- package/dist/__tests__/field-value-type.test-d.d.ts +2 -0
- package/dist/__tests__/field-value-type.test-d.d.ts.map +1 -0
- package/dist/__tests__/fixed-update.unit.test.d.ts +2 -0
- package/dist/__tests__/fixed-update.unit.test.d.ts.map +1 -0
- package/dist/__tests__/handle.test-d.d.ts +2 -0
- package/dist/__tests__/handle.test-d.d.ts.map +1 -0
- package/dist/__tests__/hierarchy.unit.test.d.ts +2 -0
- package/dist/__tests__/hierarchy.unit.test.d.ts.map +1 -0
- package/dist/__tests__/managed-array-vocab.test-d.d.ts +2 -0
- package/dist/__tests__/managed-array-vocab.test-d.d.ts.map +1 -0
- package/dist/__tests__/minimal-example.test-d.d.ts +2 -0
- package/dist/__tests__/minimal-example.test-d.d.ts.map +1 -0
- package/dist/__tests__/name-read-types.test-d.d.ts +2 -0
- package/dist/__tests__/name-read-types.test-d.d.ts.map +1 -0
- package/dist/__tests__/plugin-service.test.d.ts +2 -0
- package/dist/__tests__/plugin-service.test.d.ts.map +1 -0
- package/dist/__tests__/query-combinations.unit.test.d.ts +2 -0
- package/dist/__tests__/query-combinations.unit.test.d.ts.map +1 -0
- package/dist/__tests__/query-light-extract-flat-column-ratio.perf.test.d.ts +2 -0
- package/dist/__tests__/query-light-extract-flat-column-ratio.perf.test.d.ts.map +1 -0
- package/dist/__tests__/query-storage-trends.perf.test.d.ts +2 -0
- package/dist/__tests__/query-storage-trends.perf.test.d.ts.map +1 -0
- package/dist/__tests__/query-trs-flat-column-ratio.perf.test.d.ts +2 -0
- package/dist/__tests__/query-trs-flat-column-ratio.perf.test.d.ts.map +1 -0
- package/dist/__tests__/query.unit.test.d.ts +2 -0
- package/dist/__tests__/query.unit.test.d.ts.map +1 -0
- package/dist/__tests__/relationship-index.perf.test.d.ts +2 -0
- package/dist/__tests__/relationship-index.perf.test.d.ts.map +1 -0
- package/dist/__tests__/relationship-index.test.d.ts +2 -0
- package/dist/__tests__/relationship-index.test.d.ts.map +1 -0
- package/dist/__tests__/scalar-field-type-owner.test-d.d.ts +2 -0
- package/dist/__tests__/scalar-field-type-owner.test-d.d.ts.map +1 -0
- package/dist/__tests__/schedule-determinism.unit.test.d.ts +2 -0
- package/dist/__tests__/schedule-determinism.unit.test.d.ts.map +1 -0
- package/dist/__tests__/schedule-inspection.unit.test.d.ts +2 -0
- package/dist/__tests__/schedule-inspection.unit.test.d.ts.map +1 -0
- package/dist/__tests__/schedule-scope-error.unit.test.d.ts +2 -0
- package/dist/__tests__/schedule-scope-error.unit.test.d.ts.map +1 -0
- package/dist/__tests__/schedule-token.unit.test.d.ts +2 -0
- package/dist/__tests__/schedule-token.unit.test.d.ts.map +1 -0
- package/dist/__tests__/schema-vocab.test-d.d.ts +2 -0
- package/dist/__tests__/schema-vocab.test-d.d.ts.map +1 -0
- package/dist/__tests__/serialization.unit.test.d.ts +2 -0
- package/dist/__tests__/serialization.unit.test.d.ts.map +1 -0
- package/dist/__tests__/shared-kernel-eligibility.test-d.d.ts +2 -0
- package/dist/__tests__/shared-kernel-eligibility.test-d.d.ts.map +1 -0
- package/dist/__tests__/shared-kernel-eligibility.unit.test.d.ts +2 -0
- package/dist/__tests__/shared-kernel-eligibility.unit.test.d.ts.map +1 -0
- package/dist/__tests__/shared-ref-store.unit.test.d.ts +2 -0
- package/dist/__tests__/shared-ref-store.unit.test.d.ts.map +1 -0
- package/dist/__tests__/sparse-tag.unit.test.d.ts +2 -0
- package/dist/__tests__/sparse-tag.unit.test.d.ts.map +1 -0
- package/dist/__tests__/spawn-field-error.test-d.d.ts +2 -0
- package/dist/__tests__/spawn-field-error.test-d.d.ts.map +1 -0
- package/dist/__tests__/stale-error.test-d.d.ts +2 -0
- package/dist/__tests__/stale-error.test-d.d.ts.map +1 -0
- package/dist/__tests__/string-view-symmetry.test-d.d.ts +2 -0
- package/dist/__tests__/string-view-symmetry.test-d.d.ts.map +1 -0
- package/dist/__tests__/string-vocab.test-d.d.ts +2 -0
- package/dist/__tests__/string-vocab.test-d.d.ts.map +1 -0
- package/dist/__tests__/structure-epoch-boundaries.unit.test.d.ts +2 -0
- package/dist/__tests__/structure-epoch-boundaries.unit.test.d.ts.map +1 -0
- package/dist/__tests__/structure-epoch.unit.test.d.ts +2 -0
- package/dist/__tests__/structure-epoch.unit.test.d.ts.map +1 -0
- package/dist/__tests__/table-archetype-mapping.unit.test.d.ts +2 -0
- package/dist/__tests__/table-archetype-mapping.unit.test.d.ts.map +1 -0
- package/dist/__tests__/time.unit.test.d.ts +2 -0
- package/dist/__tests__/time.unit.test.d.ts.map +1 -0
- package/dist/__tests__/types.test-d.d.ts +2 -0
- package/dist/__tests__/types.test-d.d.ts.map +1 -0
- package/dist/__tests__/unique-ref-store.unit.test.d.ts +2 -0
- package/dist/__tests__/unique-ref-store.unit.test.d.ts.map +1 -0
- package/dist/__tests__/utils/handle-numeric.d.ts +14 -0
- package/dist/__tests__/utils/handle-numeric.d.ts.map +1 -0
- package/dist/__tests__/validation-root-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/validation-root-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-atomic-write.unit.test.d.ts +2 -0
- package/dist/__tests__/visibility-atomic-write.unit.test.d.ts.map +1 -0
- package/dist/__tests__/world-change-journal.unit.test.d.ts +2 -0
- package/dist/__tests__/world-change-journal.unit.test.d.ts.map +1 -0
- package/dist/__tests__/world-characterization.unit.test.d.ts +2 -0
- package/dist/__tests__/world-characterization.unit.test.d.ts.map +1 -0
- package/dist/__tests__/world-consumer-inference.test-d.d.ts +2 -0
- package/dist/__tests__/world-consumer-inference.test-d.d.ts.map +1 -0
- package/dist/__tests__/world-health.contract.test.d.ts +2 -0
- package/dist/__tests__/world-health.contract.test.d.ts.map +1 -0
- package/dist/__tests__/world-inspection.test.d.ts +2 -0
- package/dist/__tests__/world-inspection.test.d.ts.map +1 -0
- package/dist/__tests__/world-internal-identity.unit.test.d.ts +2 -0
- package/dist/__tests__/world-internal-identity.unit.test.d.ts.map +1 -0
- package/dist/__tests__/world-managed-roundtrip.unit.test.d.ts +2 -0
- package/dist/__tests__/world-managed-roundtrip.unit.test.d.ts.map +1 -0
- package/dist/__tests__/world-scheduling.m4.test.d.ts +2 -0
- package/dist/__tests__/world-scheduling.m4.test.d.ts.map +1 -0
- package/dist/__tests__/world-unique-roundtrip.unit.test.d.ts +2 -0
- package/dist/__tests__/world-unique-roundtrip.unit.test.d.ts.map +1 -0
- package/dist/__tests__/world.test-d.d.ts +2 -0
- package/dist/__tests__/world.test-d.d.ts.map +1 -0
- package/dist/buffer-pool.d.ts +109 -0
- package/dist/buffer-pool.d.ts.map +1 -0
- package/dist/commands.d.ts +93 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/component-default-fallback.d.ts +88 -0
- package/dist/component-default-fallback.d.ts.map +1 -0
- package/dist/component-schema.d.ts +34 -0
- package/dist/component-schema.d.ts.map +1 -0
- package/dist/component-value-validate.d.ts +29 -0
- package/dist/component-value-validate.d.ts.map +1 -0
- package/dist/component.d.ts +581 -0
- package/dist/component.d.ts.map +1 -0
- package/dist/entity-handle.d.ts +68 -0
- package/dist/entity-handle.d.ts.map +1 -0
- package/dist/entity.d.ts +86 -0
- package/dist/entity.d.ts.map +1 -0
- package/dist/errors/query-and-component-errors.d.ts +132 -0
- package/dist/errors/query-and-component-errors.d.ts.map +1 -0
- package/dist/errors/relationship-errors.d.ts +112 -0
- package/dist/errors/relationship-errors.d.ts.map +1 -0
- package/dist/errors/sprite-and-shared-errors.d.ts +107 -0
- package/dist/errors/sprite-and-shared-errors.d.ts.map +1 -0
- package/dist/errors/validation-errors.d.ts +229 -0
- package/dist/errors/validation-errors.d.ts.map +1 -0
- package/dist/errors.d.ts +763 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/execution/shared-kernel.d.ts +106 -0
- package/dist/execution/shared-kernel.d.ts.map +1 -0
- package/dist/externalization/index.d.ts +31 -0
- package/dist/externalization/index.d.ts.map +1 -0
- package/dist/externalization/index.mjs +298 -0
- package/dist/externalization/index.mjs.map +1 -0
- package/dist/index.d.ts +261 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +7422 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internal.mjs +479 -0
- package/dist/internal.mjs.map +1 -0
- package/dist/plugin-service.d.ts +11 -0
- package/dist/plugin-service.d.ts.map +1 -0
- package/dist/projection/index.d.ts +103 -0
- package/dist/projection/index.d.ts.map +1 -0
- package/dist/projection/index.mjs +615 -0
- package/dist/projection/index.mjs.map +1 -0
- package/dist/query/query.d.ts +58 -0
- package/dist/query/query.d.ts.map +1 -0
- package/dist/relationship-index.d.ts +81 -0
- package/dist/relationship-index.d.ts.map +1 -0
- package/dist/resource.d.ts +70 -0
- package/dist/resource.d.ts.map +1 -0
- package/dist/schedule-token.d.ts +16 -0
- package/dist/schedule-token.d.ts.map +1 -0
- package/dist/schedule.d.ts +271 -0
- package/dist/schedule.d.ts.map +1 -0
- package/dist/shared-ref-store.d.ts +144 -0
- package/dist/shared-ref-store.d.ts.map +1 -0
- package/dist/shared.d.ts +3 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.mjs +364 -0
- package/dist/shared.mjs.map +1 -0
- package/dist/storage/archetype-graph.d.ts +54 -0
- package/dist/storage/archetype-graph.d.ts.map +1 -0
- package/dist/storage/archetype.d.ts +23 -0
- package/dist/storage/archetype.d.ts.map +1 -0
- package/dist/storage/change-detection.d.ts +40 -0
- package/dist/storage/change-detection.d.ts.map +1 -0
- package/dist/storage/column.d.ts +111 -0
- package/dist/storage/column.d.ts.map +1 -0
- package/dist/storage/table.d.ts +29 -0
- package/dist/storage/table.d.ts.map +1 -0
- package/dist/time.d.ts +57 -0
- package/dist/time.d.ts.map +1 -0
- package/dist/unique-ref-store.d.ts +105 -0
- package/dist/unique-ref-store.d.ts.map +1 -0
- package/dist/world-change-journal.d.ts +34 -0
- package/dist/world-change-journal.d.ts.map +1 -0
- package/dist/world-component-access.d.ts +265 -0
- package/dist/world-component-access.d.ts.map +1 -0
- package/dist/world-component-storage.d.ts +282 -0
- package/dist/world-component-storage.d.ts.map +1 -0
- package/dist/world-core.d.ts +39 -0
- package/dist/world-core.d.ts.map +1 -0
- package/dist/world-entity-lifecycle.d.ts +30 -0
- package/dist/world-entity-lifecycle.d.ts.map +1 -0
- package/dist/world-internal.d.ts +14 -0
- package/dist/world-internal.d.ts.map +1 -0
- package/dist/world-scheduling.d.ts +30 -0
- package/dist/world-scheduling.d.ts.map +1 -0
- package/dist/world.d.ts +620 -0
- package/dist/world.d.ts.map +1 -0
- package/package.json +77 -0
- package/src/__fixtures__/field-shape-fixture.ts +30 -0
- package/src/__tests__/__fixtures__/inspect-scripts.snapshot.ts +2 -0
- package/src/__tests__/archetype.unit.test.ts +1837 -0
- package/src/__tests__/array-handle-element.test-d.ts +34 -0
- package/src/__tests__/buffer-array-vocab.test-d.ts +53 -0
- package/src/__tests__/buffer-field-input-widen.unit.test.ts +99 -0
- package/src/__tests__/buffer-pool.test-d.ts +32 -0
- package/src/__tests__/change-detection.unit.test.ts +86 -0
- package/src/__tests__/command-buffer.test.ts +179 -0
- package/src/__tests__/commands-deferred.unit.test.ts +68 -0
- package/src/__tests__/component-catalog.test.ts +59 -0
- package/src/__tests__/component-definition-identity.unit.test.ts +24 -0
- package/src/__tests__/component-nan-preflight.unit.test.ts +186 -0
- package/src/__tests__/component-schema.test-d.ts +119 -0
- package/src/__tests__/component-schema.test.ts +55 -0
- package/src/__tests__/define-component-options.test-d.ts +35 -0
- package/src/__tests__/deprecated-vocab-rejection.unit.test.ts +59 -0
- package/src/__tests__/despawn-all.unit.test.ts +17 -0
- package/src/__tests__/ecs-core-reduction.characterization.test.ts +130 -0
- package/src/__tests__/ecs-core-reduction.perf.test.ts +260 -0
- package/src/__tests__/ecs-error-code-31.test-d.ts +42 -0
- package/src/__tests__/entity-disabling.unit.test.ts +37 -0
- package/src/__tests__/entity-handle-codec-parity.unit.test.ts +126 -0
- package/src/__tests__/errors.unit.test.ts +1456 -0
- package/src/__tests__/execution-conflict-boundary.unit.test.ts +123 -0
- package/src/__tests__/execution-shared-storage.unit.test.ts +40 -0
- package/src/__tests__/externalization-portable-value.unit.test.ts +275 -0
- package/src/__tests__/externalization-projection.unit.test.ts +325 -0
- package/src/__tests__/externalization-render-read-lease.test-d.ts +30 -0
- package/src/__tests__/externalization-render-read-lease.unit.test.ts +79 -0
- package/src/__tests__/externalization-root-surface.unit.test.ts +33 -0
- package/src/__tests__/field-enum-labels-reflection.test.ts +66 -0
- package/src/__tests__/field-shape-fixture.test.ts +61 -0
- package/src/__tests__/field-transient-reflection.test.ts +59 -0
- package/src/__tests__/field-value-type.test-d.ts +57 -0
- package/src/__tests__/fixed-update.unit.test.ts +78 -0
- package/src/__tests__/handle.test-d.ts +86 -0
- package/src/__tests__/hierarchy.unit.test.ts +2534 -0
- package/src/__tests__/managed-array-vocab.test-d.ts +137 -0
- package/src/__tests__/minimal-example.test-d.ts +42 -0
- package/src/__tests__/name-read-types.test-d.ts +72 -0
- package/src/__tests__/plugin-service.test.ts +13 -0
- package/src/__tests__/query-combinations.unit.test.ts +42 -0
- package/src/__tests__/query-light-extract-flat-column-ratio.perf.test.ts +252 -0
- package/src/__tests__/query-storage-trends.perf.test.ts +104 -0
- package/src/__tests__/query-trs-flat-column-ratio.perf.test.ts +194 -0
- package/src/__tests__/query.unit.test.ts +196 -0
- package/src/__tests__/relationship-index.perf.test.ts +126 -0
- package/src/__tests__/relationship-index.test.ts +70 -0
- package/src/__tests__/scalar-field-type-owner.test-d.ts +71 -0
- package/src/__tests__/schedule-determinism.unit.test.ts +36 -0
- package/src/__tests__/schedule-inspection.unit.test.ts +81 -0
- package/src/__tests__/schedule-scope-error.unit.test.ts +63 -0
- package/src/__tests__/schedule-token.unit.test.ts +54 -0
- package/src/__tests__/schema-vocab.test-d.ts +103 -0
- package/src/__tests__/serialization.unit.test.ts +2740 -0
- package/src/__tests__/shared-kernel-eligibility.test-d.ts +18 -0
- package/src/__tests__/shared-kernel-eligibility.unit.test.ts +78 -0
- package/src/__tests__/shared-ref-store.unit.test.ts +646 -0
- package/src/__tests__/sparse-tag.unit.test.ts +201 -0
- package/src/__tests__/spawn-field-error.test-d.ts +41 -0
- package/src/__tests__/stale-error.test-d.ts +208 -0
- package/src/__tests__/string-view-symmetry.test-d.ts +26 -0
- package/src/__tests__/string-vocab.test-d.ts +49 -0
- package/src/__tests__/structure-epoch-boundaries.unit.test.ts +39 -0
- package/src/__tests__/structure-epoch.unit.test.ts +48 -0
- package/src/__tests__/table-archetype-mapping.unit.test.ts +78 -0
- package/src/__tests__/time.unit.test.ts +79 -0
- package/src/__tests__/types.test-d.ts +38 -0
- package/src/__tests__/unique-ref-store.unit.test.ts +348 -0
- package/src/__tests__/utils/handle-numeric.ts +30 -0
- package/src/__tests__/validation-root-surface.unit.test.ts +15 -0
- package/src/__tests__/visibility-atomic-write.unit.test.ts +82 -0
- package/src/__tests__/world-change-journal.unit.test.ts +97 -0
- package/src/__tests__/world-characterization.unit.test.ts +408 -0
- package/src/__tests__/world-consumer-inference.test-d.ts +16 -0
- package/src/__tests__/world-health.contract.test.ts +87 -0
- package/src/__tests__/world-inspection.test.ts +37 -0
- package/src/__tests__/world-internal-identity.unit.test.ts +17 -0
- package/src/__tests__/world-managed-roundtrip.unit.test.ts +98 -0
- package/src/__tests__/world-scheduling.m4.test.ts +52 -0
- package/src/__tests__/world-unique-roundtrip.unit.test.ts +357 -0
- package/src/__tests__/world.test-d.ts +156 -0
- package/src/buffer-pool.ts +357 -0
- package/src/commands.ts +644 -0
- package/src/component-default-fallback.ts +236 -0
- package/src/component-schema.ts +92 -0
- package/src/component-value-validate.ts +135 -0
- package/src/component.ts +1268 -0
- package/src/entity-handle.ts +104 -0
- package/src/entity.ts +140 -0
- package/src/errors/query-and-component-errors.ts +200 -0
- package/src/errors/relationship-errors.ts +198 -0
- package/src/errors/sprite-and-shared-errors.ts +231 -0
- package/src/errors/validation-errors.ts +506 -0
- package/src/errors.ts +1464 -0
- package/src/execution/shared-kernel.ts +392 -0
- package/src/externalization/index.ts +170 -0
- package/src/index.ts +414 -0
- package/src/plugin-service.ts +35 -0
- package/src/projection/index.ts +318 -0
- package/src/query/query.ts +606 -0
- package/src/relationship-index.ts +175 -0
- package/src/resource.ts +106 -0
- package/src/schedule-token.ts +40 -0
- package/src/schedule.ts +846 -0
- package/src/shared-ref-store.ts +418 -0
- package/src/shared.ts +23 -0
- package/src/storage/archetype-graph.ts +166 -0
- package/src/storage/archetype.ts +78 -0
- package/src/storage/change-detection.ts +231 -0
- package/src/storage/column.ts +247 -0
- package/src/storage/table.ts +153 -0
- package/src/time.ts +122 -0
- package/src/unique-ref-store.ts +278 -0
- package/src/world-change-journal.ts +84 -0
- package/src/world-component-access.ts +1421 -0
- package/src/world-component-storage.ts +1178 -0
- package/src/world-core.ts +74 -0
- package/src/world-entity-lifecycle.ts +539 -0
- package/src/world-internal.ts +75 -0
- package/src/world-scheduling.ts +499 -0
- package/src/world.ts +1399 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import type { Component, ComponentSchema } from '../component';
|
|
2
|
+
export declare class TimeDeltaInvalidError extends Error {
|
|
3
|
+
readonly name = "TimeDeltaInvalidError";
|
|
4
|
+
readonly code: "time-delta-invalid";
|
|
5
|
+
readonly expected = "a finite delta greater than or equal to 0";
|
|
6
|
+
readonly hint = "Call world.update(deltaSeconds) with a finite non-negative delta.";
|
|
7
|
+
readonly detail: {
|
|
8
|
+
readonly received: number;
|
|
9
|
+
};
|
|
10
|
+
constructor(received: number);
|
|
11
|
+
}
|
|
12
|
+
export declare class TimeConfigInvalidError extends Error {
|
|
13
|
+
readonly name = "TimeConfigInvalidError";
|
|
14
|
+
readonly code: "time-config-invalid";
|
|
15
|
+
readonly expected: string;
|
|
16
|
+
readonly hint = "Increase maxDeltaSeconds or decrease maxStepsPerUpdate or fixedDeltaSeconds.";
|
|
17
|
+
readonly detail: {
|
|
18
|
+
readonly fixedDeltaSeconds: number;
|
|
19
|
+
readonly maxStepsPerUpdate: number;
|
|
20
|
+
readonly maxDeltaSeconds: number;
|
|
21
|
+
};
|
|
22
|
+
constructor(detail: TimeConfigInvalidError['detail']);
|
|
23
|
+
}
|
|
24
|
+
export declare class ScheduleScopeMismatchError extends Error {
|
|
25
|
+
readonly name = "ScheduleScopeMismatchError";
|
|
26
|
+
readonly code: "schedule-scope-mismatch";
|
|
27
|
+
readonly expected: string;
|
|
28
|
+
readonly hint: string;
|
|
29
|
+
readonly detail: {
|
|
30
|
+
readonly sourceSchedule: string;
|
|
31
|
+
readonly targetSchedule: string;
|
|
32
|
+
readonly reference?: string;
|
|
33
|
+
};
|
|
34
|
+
constructor(sourceSchedule: string, targetSchedule: string, reference?: string);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Returned when a closed enum field receives a value outside its reflected
|
|
38
|
+
* labels. The write owner runs this before any archetype or column mutation.
|
|
39
|
+
*/
|
|
40
|
+
export declare class ComponentFieldInvalidValueError extends Error {
|
|
41
|
+
readonly name = "ComponentFieldInvalidValueError";
|
|
42
|
+
readonly code: "component-field-invalid-value";
|
|
43
|
+
readonly hint: string;
|
|
44
|
+
readonly expected: string;
|
|
45
|
+
readonly detail: {
|
|
46
|
+
readonly entity: number | undefined;
|
|
47
|
+
readonly component: string;
|
|
48
|
+
readonly field: string;
|
|
49
|
+
readonly received: unknown;
|
|
50
|
+
readonly allowedValues: Readonly<Record<string, number>>;
|
|
51
|
+
};
|
|
52
|
+
constructor(entity: number | undefined, component: string, field: string, received: unknown, allowedValues: Readonly<Record<string, number>>);
|
|
53
|
+
}
|
|
54
|
+
export declare class ComponentNumericValueInvalidError extends Error {
|
|
55
|
+
readonly name = "ComponentNumericValueInvalidError";
|
|
56
|
+
readonly code: "component-numeric-value-invalid";
|
|
57
|
+
readonly expected = "a numeric value other than NaN";
|
|
58
|
+
readonly hint: string;
|
|
59
|
+
readonly detail: {
|
|
60
|
+
readonly entity: number | undefined;
|
|
61
|
+
readonly component: string;
|
|
62
|
+
readonly field: string;
|
|
63
|
+
readonly received: number;
|
|
64
|
+
readonly index?: number;
|
|
65
|
+
};
|
|
66
|
+
constructor(entity: number | undefined, component: string, field: string, received: number, index?: number);
|
|
67
|
+
}
|
|
68
|
+
export declare function validateNumericFieldValues<S extends ComponentSchema>(component: Component<string, S>, raw: Partial<Record<string, unknown>> | undefined, entity?: number): ComponentNumericValueInvalidError | null;
|
|
69
|
+
/**
|
|
70
|
+
* Returned before an ECS write when a managed `array<T>` field receives a
|
|
71
|
+
* value that the storage boundary cannot interpret as an array payload. The
|
|
72
|
+
* old column writer treated arbitrary objects as an empty payload, which
|
|
73
|
+
* silently changed the row while retaining no evidence of the caller error.
|
|
74
|
+
*/
|
|
75
|
+
export declare class ManagedArrayInvalidValueError extends Error {
|
|
76
|
+
readonly name = "ManagedArrayInvalidValueError";
|
|
77
|
+
readonly code: "managed-array-invalid-value";
|
|
78
|
+
readonly expected = "an Array or TypedArray payload (or null/undefined to clear it)";
|
|
79
|
+
readonly hint: string;
|
|
80
|
+
readonly detail: {
|
|
81
|
+
readonly component: string;
|
|
82
|
+
readonly field: string;
|
|
83
|
+
readonly fieldType: string;
|
|
84
|
+
readonly actualValue: unknown;
|
|
85
|
+
};
|
|
86
|
+
constructor(componentName: string, fieldName: string, fieldType: string, actualValue: unknown);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Validate the closed enum fields present in a write payload. Enums without
|
|
90
|
+
* labels remain open numeric fields for compatibility with existing schemas.
|
|
91
|
+
*/
|
|
92
|
+
export declare function validateEnumFieldValues<S extends ComponentSchema>(component: Component<string, S>, raw: Partial<Record<string, unknown>> | undefined, entity?: number): ComponentFieldInvalidValueError | null;
|
|
93
|
+
/**
|
|
94
|
+
* Returned via `Result.err` from `world.spawn` when a PointLight or SpotLight
|
|
95
|
+
* payload field is out of the documented bound. Four bound violations share
|
|
96
|
+
* one `.code` and discriminate via `.detail.field`:
|
|
97
|
+
*
|
|
98
|
+
* - `range` — PointLight / SpotLight `range < 0` or `Number.isNaN(range)`.
|
|
99
|
+
* Use `Number.POSITIVE_INFINITY` for an unlimited range or a non-negative
|
|
100
|
+
* meter value.
|
|
101
|
+
* - `innerOuter` — SpotLight `outerConeDeg <= innerConeDeg`. Inner cone is
|
|
102
|
+
* the saturated bright region; outer cone is the falloff edge.
|
|
103
|
+
* - `outerNinety` — SpotLight `outerConeDeg > 90`. KHR_lights_punctual upper
|
|
104
|
+
* bound. A spot light cone wider than 90 degrees becomes a point light;
|
|
105
|
+
* use PointLight instead.
|
|
106
|
+
* - `direction` — DirectionalLight / SpotLight `direction` is missing or a
|
|
107
|
+
* zero vector `[0, 0, 0]`. Direction has no default (there is no universal
|
|
108
|
+
* default direction): omitting it lands the array layer-3 all-zero, which is
|
|
109
|
+
* the same illegal state as an explicit zero vector. Supply a non-zero
|
|
110
|
+
* direction (feat-20260709 M2 / D-1, add-only union member).
|
|
111
|
+
*
|
|
112
|
+
* `.code = 'spawn-light-invalid-bounds'`
|
|
113
|
+
* `.detail.field` is derived from `keyof typeof SPAWN_LIGHT_INVALID_BOUNDS_POLICY`;
|
|
114
|
+
* `.detail.got` is `number | readonly number[]`.
|
|
115
|
+
* `.hint` — names the offending field plus the valid replacement form.
|
|
116
|
+
*/
|
|
117
|
+
declare const SPAWN_LIGHT_INVALID_BOUNDS_POLICY: {
|
|
118
|
+
range: {
|
|
119
|
+
expected: string;
|
|
120
|
+
hint: (componentName: string, got: number | readonly number[]) => string;
|
|
121
|
+
};
|
|
122
|
+
innerOuter: {
|
|
123
|
+
expected: string;
|
|
124
|
+
hint: (componentName: string, got: number | readonly number[]) => string;
|
|
125
|
+
};
|
|
126
|
+
outerNinety: {
|
|
127
|
+
expected: string;
|
|
128
|
+
hint: (componentName: string, got: number | readonly number[]) => string;
|
|
129
|
+
};
|
|
130
|
+
direction: {
|
|
131
|
+
expected: string;
|
|
132
|
+
hint: (componentName: string, got: number | readonly number[]) => string;
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
export declare class SpawnLightInvalidBoundsError extends Error {
|
|
136
|
+
readonly name = "SpawnLightInvalidBoundsError";
|
|
137
|
+
readonly code: "spawn-light-invalid-bounds";
|
|
138
|
+
readonly hint: string;
|
|
139
|
+
readonly expected: string;
|
|
140
|
+
readonly detail: {
|
|
141
|
+
readonly field: keyof typeof SPAWN_LIGHT_INVALID_BOUNDS_POLICY;
|
|
142
|
+
readonly got: number | readonly number[];
|
|
143
|
+
};
|
|
144
|
+
constructor(componentName: string, field: keyof typeof SPAWN_LIGHT_INVALID_BOUNDS_POLICY, got: number | readonly number[]);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Returned via `Result.err` from resource-setter helpers (e.g.
|
|
148
|
+
* `setTransparentSortConfig`) when a numeric payload field violates the
|
|
149
|
+
* closed bound declared by the resource contract. The first consumer is
|
|
150
|
+
* `TransparentSortConfig.mode ∈ {0, 1, 2}` (plan-strategy D-4); future
|
|
151
|
+
* resource validators with the same shape reuse this code by routing
|
|
152
|
+
* through `.detail.receivedKey` to disambiguate which resource validator
|
|
153
|
+
* surfaced the failure.
|
|
154
|
+
*
|
|
155
|
+
* Closed-set kebab code consistent with `spawn-light-invalid-bounds`
|
|
156
|
+
* (feat-20260519 / w2); AI users consume via `switch (err.code)` exhaustive
|
|
157
|
+
* narrows + `err.detail.receivedMode` (or `err.detail.receivedKey` /
|
|
158
|
+
* `err.expected`) property access — never string-parse the message.
|
|
159
|
+
*
|
|
160
|
+
* `.code = 'resource-invalid-value'`
|
|
161
|
+
* `.detail = { receivedMode: number; receivedKey?: string }`
|
|
162
|
+
* `.hint` — direct copy-paste recovery (e.g. "0=layer-z, 1=layer-y,
|
|
163
|
+
* 2=layer-yz" for the sort-config case).
|
|
164
|
+
* `.expected` — the bound contract literal (e.g. "mode ∈ {0, 1, 2}").
|
|
165
|
+
*
|
|
166
|
+
* @reuses RhiError structured shape — same `.code / .expected / .hint /
|
|
167
|
+
* .detail` quadruple AI users consume across rhi + ecs.
|
|
168
|
+
*/
|
|
169
|
+
export declare class ResourceInvalidValueError extends Error {
|
|
170
|
+
readonly name = "ResourceInvalidValueError";
|
|
171
|
+
readonly code: "resource-invalid-value";
|
|
172
|
+
readonly hint: string;
|
|
173
|
+
readonly expected: string;
|
|
174
|
+
readonly detail: {
|
|
175
|
+
readonly receivedMode: number;
|
|
176
|
+
readonly receivedKey?: string;
|
|
177
|
+
};
|
|
178
|
+
constructor(expected: string, hint: string, detail: {
|
|
179
|
+
readonly receivedMode: number;
|
|
180
|
+
readonly receivedKey?: string;
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Returned via `Result.err` from `spriteAnimationTickSystem` (M4 T-23) when
|
|
185
|
+
* an entity's `SpriteAnimation` row violates a runtime invariant.
|
|
186
|
+
* Two invariants share one `.code` and discriminate via `.detail.field`:
|
|
187
|
+
*
|
|
188
|
+
* - `regions-length` — `SpriteAnimation.regions.length !== frameCount * 4`.
|
|
189
|
+
* `regions` packs `[uMin, vMin, uW, vH]` per frame so the length must be
|
|
190
|
+
* exactly `frameCount * 4`. Detail carries the offending `regionsLength`
|
|
191
|
+
* alongside the declared `frameCount` so the hint can spell the exact
|
|
192
|
+
* delta in callsite-friendly numbers.
|
|
193
|
+
* - `frame-duration` — `SpriteAnimation.frameDuration <= 0` (covers both
|
|
194
|
+
* `frameDuration === 0` and `frameDuration < 0`; T-21 binds the negative
|
|
195
|
+
* case to the same arm so AI users handle both via a single
|
|
196
|
+
* `if (err.detail.field === 'frame-duration')` branch — charter P4
|
|
197
|
+
* consistent abstraction).
|
|
198
|
+
*
|
|
199
|
+
* `.code = 'sprite-animation-invalid'`
|
|
200
|
+
* `.detail = { field: 'regions-length', regionsLength, frameCount } |
|
|
201
|
+
* { field: 'frame-duration', frameDuration }`
|
|
202
|
+
*
|
|
203
|
+
* Two top-level detail variants give each `.field` branch its own
|
|
204
|
+
* required sub-field shape so AI users get strong narrowing inside
|
|
205
|
+
* `switch (err.detail.field)` without optional sub-fields bleeding
|
|
206
|
+
* across branches (mirrors `SpawnLightInvalidBoundsError`'s shared
|
|
207
|
+
* `got: number` shape but adapted because regions-length /
|
|
208
|
+
* frame-duration carry different sub-field counts).
|
|
209
|
+
*
|
|
210
|
+
* `.hint` — names the offending invariant plus the valid replacement form.
|
|
211
|
+
*/
|
|
212
|
+
export declare class SpriteAnimationInvalidError extends Error {
|
|
213
|
+
readonly name = "SpriteAnimationInvalidError";
|
|
214
|
+
readonly code: "sprite-animation-invalid";
|
|
215
|
+
readonly hint: string;
|
|
216
|
+
readonly expected: string;
|
|
217
|
+
readonly detail: {
|
|
218
|
+
readonly field: 'regions-length';
|
|
219
|
+
readonly regionsLength: number;
|
|
220
|
+
readonly frameCount: number;
|
|
221
|
+
} | {
|
|
222
|
+
readonly field: 'frame-duration';
|
|
223
|
+
readonly frameDuration: number;
|
|
224
|
+
};
|
|
225
|
+
private static resolvePolicy;
|
|
226
|
+
constructor(detail: SpriteAnimationInvalidError['detail']);
|
|
227
|
+
}
|
|
228
|
+
export {};
|
|
229
|
+
//# sourceMappingURL=validation-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-errors.d.ts","sourceRoot":"","sources":["../../src/errors/validation-errors.ts"],"names":[],"mappings":"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"}
|