@oasys/oecs 0.5.0 → 0.5.2

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.
Files changed (80) hide show
  1. package/CHANGELOG.md +108 -1
  2. package/README.md +20 -8
  3. package/dist/core/ecs/archetype.d.cts +3 -3
  4. package/dist/core/ecs/archetype.d.ts +3 -3
  5. package/dist/core/ecs/component.d.cts +25 -0
  6. package/dist/core/ecs/component.d.ts +25 -0
  7. package/dist/core/ecs/component.d.ts.map +1 -1
  8. package/dist/core/ecs/ecs.d.cts +67 -49
  9. package/dist/core/ecs/ecs.d.ts +67 -49
  10. package/dist/core/ecs/ecs.d.ts.map +1 -1
  11. package/dist/core/ecs/entity.d.cts +1 -1
  12. package/dist/core/ecs/entity.d.ts +1 -1
  13. package/dist/core/ecs/facades.d.cts +1 -1
  14. package/dist/core/ecs/facades.d.ts +1 -1
  15. package/dist/core/ecs/host_commands.d.cts +30 -20
  16. package/dist/core/ecs/host_commands.d.ts +30 -20
  17. package/dist/core/ecs/host_commands.d.ts.map +1 -1
  18. package/dist/core/ecs/index.d.cts +3 -3
  19. package/dist/core/ecs/index.d.ts +3 -3
  20. package/dist/core/ecs/index.d.ts.map +1 -1
  21. package/dist/core/ecs/observer.d.cts +1 -1
  22. package/dist/core/ecs/observer.d.ts +1 -1
  23. package/dist/core/ecs/observer.d.ts.map +1 -1
  24. package/dist/core/ecs/query.d.cts +22 -6
  25. package/dist/core/ecs/query.d.ts +22 -6
  26. package/dist/core/ecs/query.d.ts.map +1 -1
  27. package/dist/core/ecs/ref.d.ts.map +1 -1
  28. package/dist/core/ecs/run_condition.d.cts +1 -1
  29. package/dist/core/ecs/run_condition.d.ts +1 -1
  30. package/dist/core/ecs/run_condition.d.ts.map +1 -1
  31. package/dist/core/ecs/store.d.cts +10 -23
  32. package/dist/core/ecs/store.d.ts +10 -23
  33. package/dist/core/ecs/store.d.ts.map +1 -1
  34. package/dist/dev_flag.d.cts +0 -15
  35. package/dist/dev_flag.d.ts +0 -15
  36. package/dist/dev_flag.d.ts.map +1 -1
  37. package/dist/extensions/editor/editor.d.cts +31 -29
  38. package/dist/extensions/editor/editor.d.ts +31 -29
  39. package/dist/extensions/editor/editor.d.ts.map +1 -1
  40. package/dist/extensions/editor/field_handle.d.cts +3 -3
  41. package/dist/extensions/editor/field_handle.d.ts +3 -3
  42. package/dist/extensions/editor/field_handle.d.ts.map +1 -1
  43. package/dist/extensions/editor/index.cjs +1 -1
  44. package/dist/extensions/editor/index.development.cjs +1 -0
  45. package/dist/extensions/editor/index.development.js +239 -0
  46. package/dist/extensions/editor/index.js +53 -51
  47. package/dist/extensions/reactive/index.development.cjs +1 -0
  48. package/dist/extensions/reactive/index.development.js +215 -0
  49. package/dist/extensions/solid/index.development.cjs +1 -0
  50. package/dist/extensions/solid/index.development.js +40 -0
  51. package/dist/{host_commands-i4cAeyL5.js → host_commands-BI8pEmjH.js} +26 -18
  52. package/dist/{host_commands-BF8QMi3c.cjs → host_commands-CxhpzMx9.cjs} +1 -1
  53. package/dist/index.cjs +1 -1
  54. package/dist/index.d.cts +3 -3
  55. package/dist/index.d.ts +3 -3
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.development.cjs +1 -0
  58. package/dist/index.development.js +8116 -0
  59. package/dist/index.js +269 -214
  60. package/dist/internal-BMDgWZbt.js +2485 -0
  61. package/dist/internal-LiTSB_tG.cjs +2 -0
  62. package/dist/internal.cjs +1 -1
  63. package/dist/internal.development.cjs +1 -0
  64. package/dist/internal.development.js +24 -0
  65. package/dist/internal.js +1 -1
  66. package/dist/interop-DqxleBo7.js +18 -0
  67. package/dist/interop-T1HZ-Dpa.cjs +1 -0
  68. package/dist/kernel-Cz2Kxlwl.js +240 -0
  69. package/dist/kernel-sw7ScKWu.cjs +1 -0
  70. package/dist/primitives.development.cjs +1 -0
  71. package/dist/primitives.development.js +45 -0
  72. package/dist/reactive/index.development.cjs +1 -0
  73. package/dist/reactive/index.development.js +18 -0
  74. package/dist/shallow-9S1pY_Iw.js +159 -0
  75. package/dist/shallow-C5YmTbtb.cjs +1 -0
  76. package/dist/shared.development.cjs +1 -0
  77. package/dist/shared.development.js +7 -0
  78. package/dist/version.d.cts +1 -1
  79. package/dist/version.d.ts +1 -1
  80. package/package.json +31 -2
@@ -1,4 +1,4 @@
1
- import { Template, TemplateEntries, TemplateOverrides } from './store.js';
1
+ import { Template, TemplateOverrides } from './store.js';
2
2
  import { FrameTraceSink } from './frame_trace.js';
3
3
  import { ObserverHandle, EntitySetObserverConfig, ArchetypeSetObserverConfig, StructuralObserverConfig } from './observer.js';
4
4
  import { ColumnStore, ColumnStoreRegionHandle, StoreRegionSpec } from '../store/index.js';
@@ -8,7 +8,7 @@ import { Archetype, ArchetypeID } from './archetype.js';
8
8
  import { SystemContext, Query, QueryBuilder, QueryCache, QueryResolver } from './query.js';
9
9
  import { EntityID } from './entity.js';
10
10
  import { ReadonlyComponentRef } from './ref.js';
11
- import { ComponentDef, ComponentHandle, ComponentRegisterOptions, ComponentSchema, CompleteFieldValues, Bundle, BundleOrDef } from './component.js';
11
+ import { ComponentDef, ComponentHandle, ComponentRegisterOptions, ComponentSchema, CompleteFieldValues, Bundle, BundleOrDef, StrictBundles, DefsOf } from './component.js';
12
12
  import { SparseComponentDef, SparseComponentID } from './sparse_store.js';
13
13
  import { RelationDef } from './relation.js';
14
14
  import { SystemFn, SystemConfig, SystemDescriptor, TypedSystemConfig, DenseAccessDecl, SpawnsAccessDecl, DespawnsAccessDecl, TransitionsAccessDecl, SparseAccessDecl, RelationsAccessDecl, ResourcesAccessDecl } from './system.js';
@@ -193,22 +193,40 @@ export declare class ECS implements QueryResolver {
193
193
  spawn<Defs extends readonly ComponentDef[]>(template: Template<Defs>, overrides?: TemplateOverrides<Defs>): EntityID;
194
194
  /**
195
195
  * Spawn an entity from varargs bundles (§bundles) — the immediate
196
- * host-side analog of `ctx.commands.spawn`. `ecs.spawnBundle(bundle(Pos,{x,y}),
197
- * bundle(Vel,{vx:1}), IsEnemy)` collapses the five attach shapes into one. Each
198
- * bundle is applied immediately; a single combined-archetype insertion (one
199
- * transition instead of one-per-component) is a later optimization for the
200
- * prototype this mirrors the existing per-component `addComponent` path.
196
+ * host-side analog of `ctx.commands.spawn`, and the same callable-bundle
197
+ * grammar as `addComponents` / `template`. `ecs.spawnBundle(Pos({x,y}),
198
+ * Vel({vx:1}), IsEnemy)` collapses the attach shapes into one; each item is
199
+ * checked against its own def's schema (`StrictBundles`). Bundles are applied
200
+ * immediately; a single combined-archetype insertion (one transition instead
201
+ * of one-per-component) is a later optimization — for now this mirrors the
202
+ * per-component `addComponent` path (unlike `addComponents`, which batches).
203
+ *
204
+ * Immediate — inside a system use the deferred `ctx.commands.spawn(...)`
205
+ * (calling this from a system body throws in DEV). Note the redirect trades
206
+ * timing: `commands.spawn` returns the id now but defers the attaches to the
207
+ * phase flush, so the entity sits in its empty/partial archetype until then —
208
+ * unlike `spawnBundle`'s immediate, fully-populated archetype.
201
209
  */
202
- spawnBundle(...items: BundleOrDef[]): EntityID;
210
+ spawnBundle<Items extends readonly BundleOrDef[]>(...items: StrictBundles<Items>): EntityID;
211
+ /** Bulk-spawn `count` entities from `template`, optionally applying one
212
+ * shared `overrides` object to every spawned row (same typed keys as
213
+ * `spawn`). Field writes are O(columns) (one `TypedArray.fill` per
214
+ * column), not O(count×columns). Returns the new ids in spawn order.
215
+ * Immediate — inside a system use `ctx.commands.spawn` per entity (calling
216
+ * this from a system body throws in DEV). */
217
+ spawnMany<Defs extends readonly ComponentDef[]>(template: Template<Defs>, count: number, overrides?: TemplateOverrides<Defs>): EntityID[];
203
218
  /** DEV-only: throw when an *immediate* host structural mutator is called
204
219
  * from inside one of THIS world's system bodies (or an observer / onAdded
205
220
  * hook — they run in the same access spans). One rule for every host
206
- * mutator, not just despawn: an immediate structural op mid-schedule can
207
- * move or swap rows a running query is walking, and it is invisible to
208
- * observers. The archetype-level `_iterDepth` guard only catches mutations
209
- * touching the archetype currently being iterated an op landing elsewhere
210
- * would silently skip observers, so the receiver rule ("inside a system,
211
- * use ctx.commands") is enforced wholesale here.
221
+ * structural mutator despawn, add/remove(Components), batchAdd/Remove,
222
+ * disable/enable, AND the spawn family (spawn/spawnBundle/spawnMany): an
223
+ * immediate structural op mid-schedule can move or swap rows a running query
224
+ * is walking or, for a spawn-append into that archetype, trip a column
225
+ * realloc under it and it is invisible to observers. The archetype-level
226
+ * `_iterDepth` guard only catches mutations touching the archetype currently
227
+ * being iterated (and the append paths skip even that), so an op landing
228
+ * elsewhere would silently skip observers; the receiver rule ("inside a
229
+ * system, use ctx.commands") is enforced wholesale here.
212
230
  *
213
231
  * `_updating` scopes the guard to THIS world: the accessCheck slot is
214
232
  * process-global, so without it a system of world A mutating world B (a
@@ -220,11 +238,11 @@ export declare class ECS implements QueryResolver {
220
238
  * `ctx.commands.despawn` (applied at the phase flush); calling this from
221
239
  * a system body throws in DEV, since an immediate destroy mid-iteration
222
240
  * can invalidate rows the running query is walking. */
223
- despawn(id: EntityID): void;
224
- /** Disable `id` (idempotent). Excluded from default queries until re-enabled. */
225
- disable(id: EntityID): this;
226
- /** Re-enable a disabled `id` (idempotent). */
227
- enable(id: EntityID): this;
241
+ despawn(entityId: EntityID): this;
242
+ /** Disable `entityId` (idempotent). Excluded from default queries until re-enabled. */
243
+ disable(entityId: EntityID): this;
244
+ /** Re-enable a disabled `entityId` (idempotent). */
245
+ enable(entityId: EntityID): this;
228
246
  /**
229
247
  * Attach a component to an entity, immediately (inside a system, use the
230
248
  * deferred `ctx.commands.add`). Three shapes: a bare def attaches a tag; a
@@ -240,13 +258,16 @@ export declare class ECS implements QueryResolver {
240
258
  addComponent(entityId: EntityID, def: ComponentDef<Record<string, never>>): this;
241
259
  addComponent<S extends ComponentSchema>(entityId: EntityID, bundle: Bundle<S>): this;
242
260
  addComponent<S extends ComponentSchema>(entityId: EntityID, def: ComponentDef<S>, values: CompleteFieldValues<S>): this;
243
- /** Batch-attach several components in one archetype transition. Each
244
- * entry's `values` is checked against its own def's schema (a misspelled
245
- * field is a compile error; tags refuse `values`)same typing as
246
- * `ECS.template` entries. Omitted fields zero-fill. */
247
- addComponents<Defs extends readonly ComponentDef[]>(entityId: EntityID, entries: TemplateEntries<Defs>): this;
261
+ /** Batch-attach several components in one archetype transition. Takes the
262
+ * same callable-bundle varargs as `spawnBundle` `world.addComponents(e,
263
+ * Pos({ x, y }), Vel({ vx }), Frozen)` — each item checked against its own
264
+ * def's schema (a misspelled or cross-component field is a compile error;
265
+ * tags refuse values). Omitted fields zero-fill. */
266
+ addComponents<Items extends readonly BundleOrDef[]>(entityId: EntityID, ...items: StrictBundles<Items>): this;
248
267
  removeComponent(entityId: EntityID, def: ComponentDef): this;
249
- removeComponents(entityId: EntityID, defs: ComponentDef[]): this;
268
+ /** Detach several components in one archetype transition — the varargs
269
+ * mirror of `addComponents` (bare defs; removing needs no values). */
270
+ removeComponents(entityId: EntityID, ...defs: ComponentDef[]): this;
250
271
  /**
251
272
  * Bulk add a component to ALL entities in the given archetype.
252
273
  * O(columns) via TypedArray.set() instead of O(N×columns).
@@ -351,7 +372,7 @@ export declare class ECS implements QueryResolver {
351
372
  * access record. Escape hatch: annotate `fn(ctx: SystemContext, dt)`
352
373
  * explicitly to keep a system permissive at compile time. */
353
374
  registerSystem<R extends DenseAccessDecl, W extends DenseAccessDecl, Sp extends SpawnsAccessDecl = readonly never[], De extends DespawnsAccessDecl = readonly never[], Tr extends TransitionsAccessDecl = readonly never[], SR extends SparseAccessDecl = readonly never[], SW extends SparseAccessDecl = readonly never[], RR extends RelationsAccessDecl = readonly never[], RW extends RelationsAccessDecl = readonly never[], QR extends ResourcesAccessDecl = readonly never[], QW extends ResourcesAccessDecl = readonly never[]>(config: TypedSystemConfig<R, W, Sp, De, Tr, SR, SW, RR, RW, QR, QW>): SystemDescriptor;
354
- removeSystem(system: SystemDescriptor): void;
375
+ removeSystem(system: SystemDescriptor): this;
355
376
  get systemCount(): number;
356
377
  /**
357
378
  * Run the startup phases, once, before the first `update()`. Prewarms
@@ -393,6 +414,23 @@ export declare class ECS implements QueryResolver {
393
414
  */
394
415
  update(dt: number): void;
395
416
  dispose(): void;
417
+ /** Register an archetype template (#462). Resolves the component set +
418
+ * default field values to a target archetype once (creating it if absent —
419
+ * fits the prewarm model), so later `spawn` / `spawnMany` calls land
420
+ * entities directly in that archetype with **zero archetype transitions**.
421
+ *
422
+ * const Bullet = ecs.template(Position({ x: 0, y: 0 }), Velocity({ vx: 0, vy: 0 }));
423
+ *
424
+ * Takes the same callable-bundle varargs as `spawnBundle` / `addComponents`
425
+ * (each item schema-checked against its own def); the resulting
426
+ * `Template<[Position, Velocity]>` keeps the typed key set that `spawn`'s
427
+ * `overrides` map over. Not a pass-through — it normalizes bundles to the
428
+ * store's entry shape, so it lives here with the other real logic, not in the
429
+ * delegation band. The big win is multi-component entities and bulk spawns; a
430
+ * single-component spawn is no faster than `spawn` + `addComponent`, which
431
+ * already bump-allocates a fresh entity into the target archetype. See
432
+ * ADR-0010. */
433
+ template<Items extends readonly BundleOrDef[]>(...items: StrictBundles<Items>): Template<DefsOf<Items>>;
396
434
  /** Resolve a consumer-declared SAB region's byte offset by `region_id`, or
397
435
  * 0 when absent. Generic, de-gamed replacement (#623) for the removed
398
436
  * game-named accessors; pair with the consumer's own region module to
@@ -430,32 +468,12 @@ export declare class ECS implements QueryResolver {
430
468
  registerTag(): ComponentDef<Record<string, never>>;
431
469
  /** Register a sparse tag (empty schema) — membership only, no data. */
432
470
  registerSparseTag(): SparseComponentDef<Record<string, never>>;
433
- /** Register an archetype template (#462). Resolves the component set +
434
- * default field values to a target archetype once (creating it if absent —
435
- * fits the prewarm model), so later `spawn` / `spawnMany` calls land
436
- * entities directly in that archetype with **zero archetype transitions**.
437
- *
438
- * const Bullet = ecs.template([
439
- * { def: Position, values: { x: 0, y: 0 } },
440
- * { def: Velocity, values: { vx: 0, vy: 0 } },
441
- * ]);
442
- *
443
- * The big win is multi-component entities and bulk spawns; a single-
444
- * component spawn is no faster than `spawn` + `addComponent`, which
445
- * already bump-allocates a fresh entity into the target archetype. See
446
- * ADR-0010. */
447
- template<Defs extends readonly ComponentDef[]>(entries: TemplateEntries<Defs>): Template<Defs>;
448
- /** Bulk-spawn `count` entities from `template`, optionally applying one
449
- * shared `overrides` object to every spawned row (same typed keys as
450
- * `spawn`). Field writes are O(columns) (one `TypedArray.fill` per
451
- * column), not O(count×columns). Returns the new ids in spawn order. */
452
- spawnMany<Defs extends readonly ComponentDef[]>(template: Template<Defs>, count: number, overrides?: TemplateOverrides<Defs>): EntityID[];
453
- isAlive(id: EntityID): boolean;
471
+ isAlive(entityId: EntityID): boolean;
454
472
  get entityCount(): number;
455
473
  hasComponent(entityId: EntityID, def: ComponentDef): boolean;
456
- /** Whether `id` is currently disabled. Toggle via `disable` / `enable`
474
+ /** Whether `entityId` is currently disabled. Toggle via `disable` / `enable`
457
475
  * (immediate, above the band — they carry the in-system dev guard). */
458
- isDisabled(id: EntityID): boolean;
476
+ isDisabled(entityId: EntityID): boolean;
459
477
  addSparse(entityId: EntityID, def: SparseComponentDef<Record<string, never>>): this;
460
478
  addSparse<S extends ComponentSchema>(entityId: EntityID, def: SparseComponentDef<S>, values: CompleteFieldValues<S>): this;
461
479
  removeSparse(entityId: EntityID, def: SparseComponentDef): this;
@@ -1 +1 @@
1
- {"version":3,"file":"ecs.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/ecs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ecs.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/ecs.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export type EntityID = Brand<number, "entity_id">;
11
11
  * underlying value is the live mutable buffer, and indexing past
12
12
  * `totalCount - 1` reads stale slots (the brand can't catch that).
13
13
  */
14
- export interface ReadonlyEntityIdArray {
14
+ export interface ReadonlyEntityIDArray {
15
15
  readonly [index: number]: EntityID;
16
16
  readonly length: number;
17
17
  }
@@ -11,7 +11,7 @@ export type EntityID = Brand<number, "entity_id">;
11
11
  * underlying value is the live mutable buffer, and indexing past
12
12
  * `totalCount - 1` reads stale slots (the brand can't catch that).
13
13
  */
14
- export interface ReadonlyEntityIdArray {
14
+ export interface ReadonlyEntityIDArray {
15
15
  readonly [index: number]: EntityID;
16
16
  readonly length: number;
17
17
  }
@@ -110,7 +110,7 @@ export declare class ECSResources {
110
110
  * @example
111
111
  * const GameTime = resourceKey<{ elapsed: number }>("GameTime");
112
112
  * ecs.resources.register(GameTime, { elapsed: 0 });
113
- * ecs.resources.get(GameTime).elapsed; // or ctx.resource(GameTime) inside a system
113
+ * ecs.resources.get(GameTime).elapsed; // or ctx.getResource(GameTime) inside a system
114
114
  */
115
115
  register<T>(key: ResourceKey<T>, value: NoInfer<T>): void;
116
116
  get<T>(key: ResourceKey<T>): T;
@@ -110,7 +110,7 @@ export declare class ECSResources {
110
110
  * @example
111
111
  * const GameTime = resourceKey<{ elapsed: number }>("GameTime");
112
112
  * ecs.resources.register(GameTime, { elapsed: 0 });
113
- * ecs.resources.get(GameTime).elapsed; // or ctx.resource(GameTime) inside a system
113
+ * ecs.resources.get(GameTime).elapsed; // or ctx.getResource(GameTime) inside a system
114
114
  */
115
115
  register<T>(key: ResourceKey<T>, value: NoInfer<T>): void;
116
116
  get<T>(key: ResourceKey<T>): T;
@@ -24,10 +24,12 @@ export type SpawnEntryFor<D extends ComponentDef> = {
24
24
  readonly values: CompleteFieldValues<SchemaOf<D>>;
25
25
  };
26
26
  /** The entries tuple for `HostCommandQueue.spawn` — each element's `values` is
27
- * checked against its own `def`'s schema. Unlike `TemplateEntries` (which
28
- * stays `Partial` — a template is a reusable default set), a host command
29
- * demands complete values: it is a reified, replayable record, so every
30
- * field is explicit even though the attach path would zero-fill (#716). */
27
+ * checked against its own `def`'s schema. Unlike the authoring-side bundle
28
+ * varargs (`StrictBundles` — `Partial`, a template/attach zero-fills omitted
29
+ * fields), a host command demands complete values: it is a reified, replayable
30
+ * record, so every field is explicit even though the attach path would
31
+ * zero-fill (#716). This is the one attach surface that stays on entry-objects
32
+ * — it is transport (record/replay, editor undo), not authoring. */
31
33
  export type SpawnEntries<Defs extends readonly ComponentDef[]> = readonly [
32
34
  ...{
33
35
  [K in keyof Defs]: SpawnEntryFor<Defs[K]>;
@@ -52,7 +54,7 @@ export type HostCommand = {
52
54
  readonly components: readonly SpawnEntry[];
53
55
  /** Fired with the new id once the spawn applies (the id only exists
54
56
  * after the deferred create) — lets a producer/editor learn it. */
55
- readonly onSpawned?: (eid: EntityID) => void;
57
+ readonly onSpawned?: (entityId: EntityID) => void;
56
58
  } | {
57
59
  readonly kind: "despawn";
58
60
  readonly eid: EntityID;
@@ -87,11 +89,11 @@ export type HostCommand = {
87
89
  * `spawn`, otherwise `undefined`.
88
90
  *
89
91
  * That immediate/deferred split is a sharp edge: a `setField` targeting a
90
- * component the entity does NOT yet have — because an `addComponent`/`spawn`
92
+ * component the entity does NOT yet have — because an `add`/`spawn`
91
93
  * enqueued in the SAME drain is still pending its flush — would otherwise fail
92
94
  * deep in `getColumn` with an opaque "component not registered". The `DEV`
93
95
  * guard below turns that into an actionable message. The fix is structural, not a
94
- * retry: pass the value in `addComponent`/`spawnEntry` (which carries complete
96
+ * retry: pass the value in `add`/`spawnEntry` (which carries complete
95
97
  * field values), or issue the `setField` on a later frame.
96
98
  */
97
99
  export declare function applyHostCommand(ctx: SystemContext, cmd: HostCommand): EntityID | undefined;
@@ -107,25 +109,33 @@ export declare class HostCommandQueue {
107
109
  /** Spawn an entity carrying `components`. `onSpawned` receives the new id
108
110
  * once the spawn applies. Each entry's `values` is checked against its own
109
111
  * `def`'s schema (`SpawnEntries`); the stored command stays schema-erased. */
110
- spawn<Defs extends readonly ComponentDef[]>(components: SpawnEntries<Defs>, onSpawned?: (eid: EntityID) => void): void;
111
- despawn(eid: EntityID): void;
112
- addComponent<S extends ComponentSchema>(eid: EntityID, def: ComponentDef<S>, values: CompleteFieldValues<S>): void;
113
- removeComponent(eid: EntityID, def: ComponentDef): void;
114
- /** Set `field` of `def` on `eid`. Applied IMMEDIATELY at the drain, unlike the
115
- * deferred structural ops so `def` must already be on `eid`. Do NOT
116
- * `addComponent`/`spawn` `def` and `setField` it in the same frame: the add is
112
+ spawn<Defs extends readonly ComponentDef[]>(components: SpawnEntries<Defs>, onSpawned?: (entityId: EntityID) => void): this;
113
+ despawn(entityId: EntityID): this;
114
+ /** Attach `def` (with complete `values`) to `entityId` (deferred to the
115
+ * drain). The namespaced-handle grammar — the queue is a commands buffer, so
116
+ * it drops the noun (`add`, not `addComponent`), matching `ctx.commands.add`
117
+ * and the queue's own bare `spawn`/`despawn`/`disable`/`enable`. Values are
118
+ * complete (transport carries explicit intent per field; see `spawnEntry`),
119
+ * unlike the authoring-side bundle sugar. */
120
+ add<S extends ComponentSchema>(entityId: EntityID, def: ComponentDef<S>, values: CompleteFieldValues<S>): this;
121
+ /** Detach `def` from `entityId` (deferred to the drain). Bare `remove`
122
+ * matching `ctx.commands.remove` — see `add`. */
123
+ remove(entityId: EntityID, def: ComponentDef): this;
124
+ /** Set `field` of `def` on `entityId`. Applied IMMEDIATELY at the drain, unlike
125
+ * the deferred structural ops — so `def` must already be on `entityId`. Do NOT
126
+ * `add`/`spawn` `def` and `setField` it in the same frame: the add is
117
127
  * still pending its flush when the immediate set runs (carry the value in
118
- * `addComponent`/`spawnEntry` instead). `applyHostCommand` throws an
128
+ * `add`/`spawnEntry` instead). `applyHostCommand` throws an
119
129
  * actionable error in `DEV` if you do. */
120
- setField<S extends ComponentSchema>(eid: EntityID, def: ComponentDef<S>, field: string & keyof S, value: number): void;
121
- disable(eid: EntityID): void;
122
- enable(eid: EntityID): void;
130
+ setField<S extends ComponentSchema>(entityId: EntityID, def: ComponentDef<S>, field: string & keyof S, value: number): this;
131
+ disable(entityId: EntityID): this;
132
+ enable(entityId: EntityID): this;
123
133
  /** Enqueue a pre-built command. The path for a SAB-ring codec, an editor's
124
134
  * reified inverse, or a replay log — all of which produce `HostCommand` data
125
135
  * directly rather than calling the typed sugar above. */
126
- push(cmd: HostCommand): void;
136
+ push(cmd: HostCommand): this;
127
137
  /** Commands buffered but not yet applied. */
128
- pending(): number;
138
+ get pending(): number;
129
139
  /** Drop every buffered command without applying it (M15) — e.g. abandoning
130
140
  * queued edits on a scene unload. Returns how many were dropped. Does not
131
141
  * touch commands already drained into the world. */
@@ -24,10 +24,12 @@ export type SpawnEntryFor<D extends ComponentDef> = {
24
24
  readonly values: CompleteFieldValues<SchemaOf<D>>;
25
25
  };
26
26
  /** The entries tuple for `HostCommandQueue.spawn` — each element's `values` is
27
- * checked against its own `def`'s schema. Unlike `TemplateEntries` (which
28
- * stays `Partial` — a template is a reusable default set), a host command
29
- * demands complete values: it is a reified, replayable record, so every
30
- * field is explicit even though the attach path would zero-fill (#716). */
27
+ * checked against its own `def`'s schema. Unlike the authoring-side bundle
28
+ * varargs (`StrictBundles` — `Partial`, a template/attach zero-fills omitted
29
+ * fields), a host command demands complete values: it is a reified, replayable
30
+ * record, so every field is explicit even though the attach path would
31
+ * zero-fill (#716). This is the one attach surface that stays on entry-objects
32
+ * — it is transport (record/replay, editor undo), not authoring. */
31
33
  export type SpawnEntries<Defs extends readonly ComponentDef[]> = readonly [
32
34
  ...{
33
35
  [K in keyof Defs]: SpawnEntryFor<Defs[K]>;
@@ -52,7 +54,7 @@ export type HostCommand = {
52
54
  readonly components: readonly SpawnEntry[];
53
55
  /** Fired with the new id once the spawn applies (the id only exists
54
56
  * after the deferred create) — lets a producer/editor learn it. */
55
- readonly onSpawned?: (eid: EntityID) => void;
57
+ readonly onSpawned?: (entityId: EntityID) => void;
56
58
  } | {
57
59
  readonly kind: "despawn";
58
60
  readonly eid: EntityID;
@@ -87,11 +89,11 @@ export type HostCommand = {
87
89
  * `spawn`, otherwise `undefined`.
88
90
  *
89
91
  * That immediate/deferred split is a sharp edge: a `setField` targeting a
90
- * component the entity does NOT yet have — because an `addComponent`/`spawn`
92
+ * component the entity does NOT yet have — because an `add`/`spawn`
91
93
  * enqueued in the SAME drain is still pending its flush — would otherwise fail
92
94
  * deep in `getColumn` with an opaque "component not registered". The `DEV`
93
95
  * guard below turns that into an actionable message. The fix is structural, not a
94
- * retry: pass the value in `addComponent`/`spawnEntry` (which carries complete
96
+ * retry: pass the value in `add`/`spawnEntry` (which carries complete
95
97
  * field values), or issue the `setField` on a later frame.
96
98
  */
97
99
  export declare function applyHostCommand(ctx: SystemContext, cmd: HostCommand): EntityID | undefined;
@@ -107,25 +109,33 @@ export declare class HostCommandQueue {
107
109
  /** Spawn an entity carrying `components`. `onSpawned` receives the new id
108
110
  * once the spawn applies. Each entry's `values` is checked against its own
109
111
  * `def`'s schema (`SpawnEntries`); the stored command stays schema-erased. */
110
- spawn<Defs extends readonly ComponentDef[]>(components: SpawnEntries<Defs>, onSpawned?: (eid: EntityID) => void): void;
111
- despawn(eid: EntityID): void;
112
- addComponent<S extends ComponentSchema>(eid: EntityID, def: ComponentDef<S>, values: CompleteFieldValues<S>): void;
113
- removeComponent(eid: EntityID, def: ComponentDef): void;
114
- /** Set `field` of `def` on `eid`. Applied IMMEDIATELY at the drain, unlike the
115
- * deferred structural ops so `def` must already be on `eid`. Do NOT
116
- * `addComponent`/`spawn` `def` and `setField` it in the same frame: the add is
112
+ spawn<Defs extends readonly ComponentDef[]>(components: SpawnEntries<Defs>, onSpawned?: (entityId: EntityID) => void): this;
113
+ despawn(entityId: EntityID): this;
114
+ /** Attach `def` (with complete `values`) to `entityId` (deferred to the
115
+ * drain). The namespaced-handle grammar — the queue is a commands buffer, so
116
+ * it drops the noun (`add`, not `addComponent`), matching `ctx.commands.add`
117
+ * and the queue's own bare `spawn`/`despawn`/`disable`/`enable`. Values are
118
+ * complete (transport carries explicit intent per field; see `spawnEntry`),
119
+ * unlike the authoring-side bundle sugar. */
120
+ add<S extends ComponentSchema>(entityId: EntityID, def: ComponentDef<S>, values: CompleteFieldValues<S>): this;
121
+ /** Detach `def` from `entityId` (deferred to the drain). Bare `remove`
122
+ * matching `ctx.commands.remove` — see `add`. */
123
+ remove(entityId: EntityID, def: ComponentDef): this;
124
+ /** Set `field` of `def` on `entityId`. Applied IMMEDIATELY at the drain, unlike
125
+ * the deferred structural ops — so `def` must already be on `entityId`. Do NOT
126
+ * `add`/`spawn` `def` and `setField` it in the same frame: the add is
117
127
  * still pending its flush when the immediate set runs (carry the value in
118
- * `addComponent`/`spawnEntry` instead). `applyHostCommand` throws an
128
+ * `add`/`spawnEntry` instead). `applyHostCommand` throws an
119
129
  * actionable error in `DEV` if you do. */
120
- setField<S extends ComponentSchema>(eid: EntityID, def: ComponentDef<S>, field: string & keyof S, value: number): void;
121
- disable(eid: EntityID): void;
122
- enable(eid: EntityID): void;
130
+ setField<S extends ComponentSchema>(entityId: EntityID, def: ComponentDef<S>, field: string & keyof S, value: number): this;
131
+ disable(entityId: EntityID): this;
132
+ enable(entityId: EntityID): this;
123
133
  /** Enqueue a pre-built command. The path for a SAB-ring codec, an editor's
124
134
  * reified inverse, or a replay log — all of which produce `HostCommand` data
125
135
  * directly rather than calling the typed sugar above. */
126
- push(cmd: HostCommand): void;
136
+ push(cmd: HostCommand): this;
127
137
  /** Commands buffered but not yet applied. */
128
- pending(): number;
138
+ get pending(): number;
129
139
  /** Drop every buffered command without applying it (M15) — e.g. abandoning
130
140
  * queued edits on a scene unload. Returns how many were dropped. Does not
131
141
  * touch commands already drained into the world. */
@@ -1 +1 @@
1
- {"version":3,"file":"host_commands.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/host_commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host_commands.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/host_commands.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export { ECS, type ECSOptions } from './ecs.cjs';
2
2
  export type { ECSRelations, ECSEvents, ECSResources, ECSSnapshots } from './facades.cjs';
3
3
  export { resolveECSMemory, DEFAULT_ECS_CAP_BYTES, BUDGET_GROWTH_HEADROOM, BUDGET_DEFAULT_BYTES_PER_ENTITY, BUDGET_DEFAULT_ARCHETYPES, type ECSMemoryOptions, type ResolvedECSMemory, type ECSMemoryCapContext, type EntityBudget, type WasmMemoryArm } from './ecs_memory.cjs';
4
- export type { Template, TemplateEntry, TemplateEntries, TemplateOverrides } from './store.cjs';
4
+ export type { Template, TemplateOverrides } from './store.cjs';
5
5
  export type { StoreLayoutListener } from './store_layout_listener.cjs';
6
6
  export type { ComputeBackend, BackendSystemHandle } from './compute_backend.cjs';
7
7
  export { SCHEDULE, type SystemEntry, type SystemOrdering, type SystemOrderingTarget, systemSet, type SystemSet, type SystemSetConfig } from './schedule.cjs';
@@ -26,12 +26,12 @@ export { Query, QueryBuilder, ChangedQuery, HIERARCHY_UNBOUNDED } from './query.
26
26
  export type { HierarchyTerm } from './query.cjs';
27
27
  export { ChunkColumns, Commands } from './query.cjs';
28
28
  export type { ArchetypeView, ArchetypeID } from './archetype.cjs';
29
- export type { EntityID, ReadonlyEntityIdArray } from './entity.cjs';
29
+ export type { EntityID, ReadonlyEntityIDArray } from './entity.cjs';
30
30
  export { getEntityIndex } from './entity.cjs';
31
31
  export { createEntityId, getEntityGeneration, MAX_INDEX, MAX_GENERATION, MAX_LIVE_GENERATION, RETIRED_GENERATION, MAX_ENTITY_ID } from './entity.cjs';
32
32
  export type { ComponentDef, ComponentHandle, ComponentRegisterOptions, ComponentSchema, SchemaOf, DeclaredQueryTerm, FieldValues, CompleteFieldValues, ValuesArg, AttachValuesArg, TagToTypedArray, ColumnsForSchema, MutableColumnsForSchema, ReadonlyColumn, ReadonlyUint32Array } from './component.cjs';
33
33
  export { bundle } from './component.cjs';
34
- export type { Bundle, BundleOrDef } from './component.cjs';
34
+ export type { Bundle, BundleOrDef, StrictBundle, StrictBundles, DefsOf } from './component.cjs';
35
35
  export type { SparseComponentDef, SparseComponentID, SparseSchemaOf } from './sparse_store.cjs';
36
36
  export { SparseRestoreError } from './sparse_store.cjs';
37
37
  export type { RelationDef, RelationID, RelationCardinality, RelationOptions, OnDeleteTarget } from './relation.cjs';
@@ -1,7 +1,7 @@
1
1
  export { ECS, type ECSOptions } from './ecs.js';
2
2
  export type { ECSRelations, ECSEvents, ECSResources, ECSSnapshots } from './facades.js';
3
3
  export { resolveECSMemory, DEFAULT_ECS_CAP_BYTES, BUDGET_GROWTH_HEADROOM, BUDGET_DEFAULT_BYTES_PER_ENTITY, BUDGET_DEFAULT_ARCHETYPES, type ECSMemoryOptions, type ResolvedECSMemory, type ECSMemoryCapContext, type EntityBudget, type WasmMemoryArm } from './ecs_memory.js';
4
- export type { Template, TemplateEntry, TemplateEntries, TemplateOverrides } from './store.js';
4
+ export type { Template, TemplateOverrides } from './store.js';
5
5
  export type { StoreLayoutListener } from './store_layout_listener.js';
6
6
  export type { ComputeBackend, BackendSystemHandle } from './compute_backend.js';
7
7
  export { SCHEDULE, type SystemEntry, type SystemOrdering, type SystemOrderingTarget, systemSet, type SystemSet, type SystemSetConfig } from './schedule.js';
@@ -26,12 +26,12 @@ export { Query, QueryBuilder, ChangedQuery, HIERARCHY_UNBOUNDED } from './query.
26
26
  export type { HierarchyTerm } from './query.js';
27
27
  export { ChunkColumns, Commands } from './query.js';
28
28
  export type { ArchetypeView, ArchetypeID } from './archetype.js';
29
- export type { EntityID, ReadonlyEntityIdArray } from './entity.js';
29
+ export type { EntityID, ReadonlyEntityIDArray } from './entity.js';
30
30
  export { getEntityIndex } from './entity.js';
31
31
  export { createEntityId, getEntityGeneration, MAX_INDEX, MAX_GENERATION, MAX_LIVE_GENERATION, RETIRED_GENERATION, MAX_ENTITY_ID } from './entity.js';
32
32
  export type { ComponentDef, ComponentHandle, ComponentRegisterOptions, ComponentSchema, SchemaOf, DeclaredQueryTerm, FieldValues, CompleteFieldValues, ValuesArg, AttachValuesArg, TagToTypedArray, ColumnsForSchema, MutableColumnsForSchema, ReadonlyColumn, ReadonlyUint32Array } from './component.js';
33
33
  export { bundle } from './component.js';
34
- export type { Bundle, BundleOrDef } from './component.js';
34
+ export type { Bundle, BundleOrDef, StrictBundle, StrictBundles, DefsOf } from './component.js';
35
35
  export type { SparseComponentDef, SparseComponentID, SparseSchemaOf } from './sparse_store.js';
36
36
  export { SparseRestoreError } from './sparse_store.js';
37
37
  export type { RelationDef, RelationID, RelationCardinality, RelationOptions, OnDeleteTarget } from './relation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/index.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export interface ObserverHost {
30
30
  }
31
31
  /** Per-entity observer callback (onAdd / onRemove / onDisable / onEnable, and
32
32
  * per-entity onSet). */
33
- export type ObserverFn = (eid: EntityID, ctx: SystemContext) => void;
33
+ export type ObserverFn = (entityId: EntityID, ctx: SystemContext) => void;
34
34
  /** Archetype-granular onSet callback — fires once per changed archetype-column;
35
35
  * the consumer iterates `arch.entityCount` rows itself. */
36
36
  export type ArchetypeObserverFn = (arch: ArchetypeView, ctx: SystemContext) => void;
@@ -30,7 +30,7 @@ export interface ObserverHost {
30
30
  }
31
31
  /** Per-entity observer callback (onAdd / onRemove / onDisable / onEnable, and
32
32
  * per-entity onSet). */
33
- export type ObserverFn = (eid: EntityID, ctx: SystemContext) => void;
33
+ export type ObserverFn = (entityId: EntityID, ctx: SystemContext) => void;
34
34
  /** Archetype-granular onSet callback — fires once per changed archetype-column;
35
35
  * the consumer iterates `arch.entityCount` rows itself. */
36
36
  export type ArchetypeObserverFn = (arch: ArchetypeView, ctx: SystemContext) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/observer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/observer.ts"],"names":[],"mappings":"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"}