@ecsia/core 0.3.0 → 0.5.0

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/dist/world.d.ts CHANGED
@@ -10,6 +10,8 @@ import type { ObserverHandle, ObserverHandler, ObserverTerm } from './reactivity
10
10
  import type { WorldQuery } from '@ecsia/schema';
11
11
  import type { SerializationSurface, SerializeRelationProvider } from './serialize-surface.js';
12
12
  import type { InspectSurface } from './inspect-surface.js';
13
+ import { Topics } from './topics/index.js';
14
+ import type { TopicDef, TopicEventInit } from './topics/index.js';
13
15
  /**: 'serial' during the serial slot (and always, single-threaded); 'wave' only while the scheduler dispatches worker waves. */
14
16
  export type WorldPhase = 'serial' | 'wave';
15
17
  /**
@@ -52,12 +54,51 @@ export interface RelationsHost {
52
54
  set: ColumnSet;
53
55
  row: number;
54
56
  } | null;
57
+ /**
58
+ * Like columnSetFor, but COLD-capable: a cold resident resolves to its per-type overflow block +
59
+ * cold row (the same resolution storage's migrate path uses). Null only for dead handles, tags,
60
+ * or components the entity does not hold. The prefab copy path reads/writes through this so
61
+ * templates and instances parked in cold archetypes copy correctly.
62
+ */
63
+ fieldLocationFor(handle: EntityHandle, def: ComponentDef<Schema>): {
64
+ set: ColumnSet;
65
+ row: number;
66
+ } | null;
55
67
  /** Entity-layer helpers. */
56
68
  isAlive(handle: EntityHandle): boolean;
57
69
  handleIndex(handle: EntityHandle): number;
58
70
  handleOfIndex(index: number): EntityHandle;
59
71
  /** Re-enter the despawn protocol for a cascaded victim. */
60
72
  despawn(handle: EntityHandle): void;
73
+ /**
74
+ * The auto-registered `Prefab` tag def when the world was created with `prefabs: true`; null
75
+ * otherwise. The relations runtime keys the prefab API (definePrefab / spawnFrom / IsA) off it.
76
+ */
77
+ readonly prefabDef: ComponentDef<Schema> | null;
78
+ /** The component ids in `handle`'s current archetype signature (a copy); [] for a dead handle. */
79
+ componentIdsOf(handle: EntityHandle): readonly number[];
80
+ /** Mint a live handle in the EMPTY archetype — the spawn step of definePrefab / spawnFrom. */
81
+ spawnEmpty(): EntityHandle;
82
+ /**
83
+ * Copy `componentId`'s rich (sidecar) fields from src's slot to dst's. Only PRESENT (written)
84
+ * slots copy, so a never-touched field stays defaulted on dst. object<T> fields copy the
85
+ * REFERENCE — sidecar assignment semantics, same as a plain write.
86
+ */
87
+ copyRichFields(src: EntityHandle, dst: EntityHandle, componentId: ComponentId): void;
88
+ /**
89
+ * Template-spawn deferral seam (definePrefab / spawnFrom): while an observer drain is running,
90
+ * reserve a live handle NOW (so the handler gets a usable handle back — the spawnWith staging
91
+ * model) and stage `build` to run against it at the next serial flush, after placement into the
92
+ * EMPTY archetype. Returns null when no drain is in flight — the caller spawns and builds
93
+ * directly.
94
+ */
95
+ deferTemplateSpawn(build: (handle: EntityHandle) => void): EntityHandle | null;
96
+ /**
97
+ * True while an observer drain is deferring OR staged ops await the next serial flush. Lets the
98
+ * relations dev errors distinguish a reserved (staged, not-yet-materialized) template handle —
99
+ * alive but with an empty signature — from a genuinely untagged entity.
100
+ */
101
+ hasPendingDeferred(): boolean;
61
102
  /**
62
103
  * deferral seam: while an observer drain is running, structural relation
63
104
  * ops issued by a handler must STAGE to the world's deferred command buffer rather than mutate the
@@ -156,6 +197,13 @@ export interface World {
156
197
  * deterministically. Serial-phase only; called ONLY by the scheduler. Not for user code.
157
198
  */
158
199
  __mergeWorkerWrites(pairs: Int32Array | Uint32Array, count: number): void;
200
+ /**
201
+ * Topic store seam. The scheduler registers `publish:`/`consume:`-declared topics, stages
202
+ * `ctx.publish` events, drives the per-wave canonical merge, and routes OP_PUBLISH records here.
203
+ * Serial / main-thread; not for user code — the public surfaces are `world.publish` and the
204
+ * system context's `publish`/`consume`.
205
+ */
206
+ readonly __topics: Topics;
159
207
  /** Current frame tick. Advanced by reactivity at frame reset. */
160
208
  readonly tick: number;
161
209
  /** Alias for `tick`. */
@@ -223,6 +271,14 @@ export interface World {
223
271
  * command buffer and apply at the next serial flush ( re-entrancy safety).
224
272
  */
225
273
  observe(term: ObserverTerm, handler: ObserverHandler): ObserverHandle;
274
+ /**
275
+ * Publish one event from OUTSIDE systems (input handlers, network code) — main thread, serial
276
+ * phase, between frames. The event orders ahead of wave 0 of the next frame, in call order, and
277
+ * every system sees it next update. Inside a system body use the context's `publish` instead, so
278
+ * the event enters the canonical (frame, wave, SystemId, FIFO) order; calling this mid-update
279
+ * throws. Values are copied at call time; missing fields take their schema defaults.
280
+ */
281
+ publish<S extends Schema>(topic: TopicDef<S>, init?: TopicEventInit<S>): void;
226
282
  /**
227
283
  * Did any component on `handle` change strictly after tick `since`?. Driven by
228
284
  * the per-row changeVersion stamps, NOT the write log. Lazily enabled the first time a
@@ -1 +1 @@
1
- {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
package/dist/world.js CHANGED
@@ -1,16 +1,17 @@
1
1
  // The World keystone: option resolution, the phase/tick contracts, and the module-wiring seam.
2
2
  // The seven owning modules attach in the fixed order
3
3
  // registry → buffers → storage → reactivity → queries → scheduler → serialization.
4
- import { resolveOptions } from './config.js';
4
+ import { ConfigError, resolveOptions } from './config.js';
5
5
  import { EntityStore, handleIndex, makeHandleLayout, reserveEntityBlock, returnReservedIds, } from './entity/index.js';
6
6
  import { Buffers, probeCapabilities } from './memory/index.js';
7
7
  import { ComponentRegistry } from './registry.js';
8
- import { SidecarStore, sidecarKey } from './component/index.js';
8
+ import { SidecarStore, defineTag, sidecarKey } from './component/index.js';
9
9
  import { Bitmask } from './bitmask/index.js';
10
10
  import { Storage } from './storage/index.js';
11
11
  import { QueryEngine } from './query/index.js';
12
12
  import { ShapeKind } from './reactivity/index.js';
13
13
  import { Reactivity, ObserverCommandBuffer, onAdd, onRemove, onChange } from './reactivity/index.js';
14
+ import { Topics } from './topics/index.js';
14
15
  import { IS_DEV } from './env.js';
15
16
  import { isSharedBacking } from './memory/buffers.js';
16
17
  /**
@@ -67,11 +68,28 @@ export function createWorld(options = {}) {
67
68
  generationOf: (index) => entities.decodeHandle(entities.handleOfIndex(index)).generation,
68
69
  };
69
70
  // --- registry: mint dense user ids, wire accessor factories ---
71
+ // prefabs: true auto-appends the per-world `Prefab` tag AFTER user components (an ordinary
72
+ // registered tag, no reserved-id churn). Its stable name "ecsia:Prefab" rides the serialization
73
+ // registry + schemaHash like any user component, so both sides of a snapshot must agree on the
74
+ // flag. Per-world because registerComponentId binds a def to one world.
75
+ const prefabDef = resolved.prefabs ? defineTag('ecsia:Prefab') : null;
76
+ if (IS_DEV) {
77
+ // "ecsia:" is the built-ins' stable serialization namespace ("ecsia:Prefab", "ecsia:IsA");
78
+ // a user component squatting on it would collide in the name-keyed snapshot registry.
79
+ for (const def of resolved.components) {
80
+ if (def.name.startsWith('ecsia:')) {
81
+ throw new ConfigError(`component name '${def.name}' uses the reserved "ecsia:" prefix (ecsia built-in serialization names)`);
82
+ }
83
+ }
84
+ }
85
+ const userComponents = prefabDef !== null
86
+ ? [...resolved.components, prefabDef]
87
+ : resolved.components;
70
88
  const registry = new ComponentRegistry();
71
- registry.register(resolved.components);
89
+ registry.register(userComponents);
72
90
  // Declare a sidecar column per rich field of every registered component. This
73
91
  // is the single place the sidecar learns about a rich column; ensureColumn is idempotent.
74
- for (const def of resolved.components) {
92
+ for (const def of userComponents) {
75
93
  const id = registry.idOf(def);
76
94
  if (id === undefined)
77
95
  continue;
@@ -82,6 +100,18 @@ export function createWorld(options = {}) {
82
100
  fieldIndex += 1;
83
101
  }
84
102
  }
103
+ // --- topics: typed event queues. Zero cost until a topic is registered (no rings, no merge
104
+ // work); topic ids are synthetic ComponentIds minted past the fixed stride, like relation pairs.
105
+ const topics = new Topics({
106
+ buffers,
107
+ allocId: () => registry.allocSyntheticId(),
108
+ phase: () => state.phase,
109
+ dev: IS_DEV,
110
+ warn: (message) => {
111
+ if (typeof console !== 'undefined')
112
+ console.warn(`[ecsia] ${message}`);
113
+ },
114
+ });
85
115
  // --- bitmask + storage: the per-entity membership index and the
86
116
  // archetype tables. The bitmask stride = ceil(nextComponentId/32); both derive from the SAME
87
117
  // registered-component count so sigWords and bitmask layouts align. Structural mutation is
@@ -142,6 +172,7 @@ export function createWorld(options = {}) {
142
172
  return { componentId: 0, unsatisfiable: true };
143
173
  return pairResolver(relationId, target);
144
174
  },
175
+ ...(prefabDef !== null ? { prefabId: registry.idOf(prefabDef) } : {}),
145
176
  },
146
177
  resolveLocation: (index) => entities.locationOfIndex(index),
147
178
  handleOf: (index) => entities.handleOfIndex(index),
@@ -268,10 +299,10 @@ export function createWorld(options = {}) {
268
299
  };
269
300
  // --- serialization surface -------------------------
270
301
  // Reads archetype columns/signatures + the registry + the relation provider; drives deserialize-side
271
- // spawn/migrate. The user-component metadata is the registered defs in dense-id order. Synthetic ids
272
- // (pair/presence/overflow) are intentionally excluded from `components()` — they are reconstructed by
273
- // re-minting on the receiver, never shipped as schema.
274
- const userComponents = resolved.components;
302
+ // spawn/migrate. The user-component metadata is the registered defs in dense-id order (the
303
+ // auto-registered Prefab tag included). Synthetic ids (pair/presence/overflow) are intentionally
304
+ // excluded from `components()` — they are reconstructed by re-minting on the receiver, never
305
+ // shipped as schema.
275
306
  const componentIdByName = new Map();
276
307
  for (const def of userComponents) {
277
308
  const id = registry.idOf(def);
@@ -317,6 +348,10 @@ export function createWorld(options = {}) {
317
348
  fnv('!persist');
318
349
  }
319
350
  }
351
+ // The prefabs flag is part of the wire contract (built-ins + default query exclusion must
352
+ // agree on both sides), beyond the "ecsia:Prefab" name the component loop already folds.
353
+ if (resolved.prefabs)
354
+ fnv('!prefabs');
320
355
  const prov = serializationProvider;
321
356
  if (prov !== null)
322
357
  for (const r of prov.relations())
@@ -584,10 +619,76 @@ export function createWorld(options = {}) {
584
619
  return null;
585
620
  return { set, row: records.rowOf(index) };
586
621
  },
622
+ fieldLocationFor: (handle, def) => {
623
+ if (!entities.isAlive(handle))
624
+ return null;
625
+ const index = handleIndexOf(handle);
626
+ const archId = records.archetypeIdOf(index);
627
+ const arch = storage.archetypes.byId[archId];
628
+ if (arch === undefined)
629
+ return null;
630
+ const id = registry.idOf(def);
631
+ if (id === undefined)
632
+ return null;
633
+ if (arch.cold) {
634
+ const set = storage.coldColumnSet(id);
635
+ if (set === undefined)
636
+ return null;
637
+ const row = storage.coldRowOf(index, id);
638
+ if (row < 0)
639
+ return null;
640
+ return { set, row };
641
+ }
642
+ const set = arch.columnSets.get(id);
643
+ if (set === undefined)
644
+ return null;
645
+ return { set, row: records.rowOf(index) };
646
+ },
587
647
  isAlive: (handle) => entities.isAlive(handle),
588
648
  handleIndex: (handle) => handleIndexOf(handle),
589
649
  handleOfIndex: (index) => entities.handleOfIndex(index),
590
650
  despawn: (handle) => entities.despawn(handle),
651
+ prefabDef,
652
+ componentIdsOf: (handle) => {
653
+ if (!entities.isAlive(handle))
654
+ return [];
655
+ const index = handleIndexOf(handle);
656
+ const archId = records.archetypeIdOf(index);
657
+ const arch = storage.archetypes.byId[archId];
658
+ if (arch === undefined)
659
+ return [];
660
+ return Array.from(arch.signature);
661
+ },
662
+ spawnEmpty: () => entities.spawn(),
663
+ copyRichFields: (src, dst, componentId) => {
664
+ const def = registry.defOf(componentId);
665
+ if (def === undefined || !def.hasRichFields)
666
+ return;
667
+ const srcIndex = handleIndexOf(src);
668
+ const dstIndex = handleIndexOf(dst);
669
+ const srcGen = entities.decodeHandle(entities.handleOfIndex(srcIndex)).generation;
670
+ const dstGen = entities.decodeHandle(entities.handleOfIndex(dstIndex)).generation;
671
+ let fieldIndex = 0;
672
+ for (const f of def.fields) {
673
+ if (f.rich !== undefined) {
674
+ const key = sidecarKey(componentId, fieldIndex);
675
+ // Only PRESENT (written) slots copy, so a never-touched field stays absent on dst —
676
+ // snapshot presence semantics survive the copy.
677
+ if (sidecar.hasColumn(key) && sidecar.isPresent(key, srcIndex, srcGen)) {
678
+ sidecar.write(key, dstIndex, dstGen, sidecar.read(key, srcIndex, srcGen));
679
+ }
680
+ }
681
+ fieldIndex += 1;
682
+ }
683
+ },
684
+ deferTemplateSpawn: (build) => {
685
+ if (!observerCommands.deferring)
686
+ return null;
687
+ const handle = reserveEntityBlock(entities.index, -1, 1).handles[0];
688
+ observerCommands.stageBuildReserved(handle, build);
689
+ return handle;
690
+ },
691
+ hasPendingDeferred: () => observerCommands.deferring || observerCommands.pendingCount > 0,
591
692
  deferRelationOp: (op, subject, relation, target, payload) => {
592
693
  if (!observerCommands.deferring)
593
694
  return false;
@@ -649,6 +750,7 @@ export function createWorld(options = {}) {
649
750
  ;
650
751
  reactivity.mergeWorkerWrites(pairs, count);
651
752
  },
753
+ __topics: topics,
652
754
  get tick() {
653
755
  return state.tick;
654
756
  },
@@ -753,6 +855,12 @@ export function createWorld(options = {}) {
753
855
  observe(term, handler) {
754
856
  return reactivity.observe(term, handler);
755
857
  },
858
+ publish(topic, init) {
859
+ if (state.phase !== 'serial') {
860
+ throw new Error(`world.publish('${topic.name}') requires world.phase === 'serial' (got '${state.phase}')`);
861
+ }
862
+ topics.publishOutside(topic, init);
863
+ },
756
864
  changedSince(handle, since) {
757
865
  ;
758
866
  reactivity.enableChangeVersion();
@@ -817,10 +925,12 @@ export function createWorld(options = {}) {
817
925
  }),
818
926
  frameReset() {
819
927
  // Reactivity.frameReset advances the world tick + recycles the rings; then the query
820
- // engine clears its per-frame added/removed delta lists.
928
+ // engine clears its per-frame added/removed delta lists; then topics drop two-frame-old
929
+ // events and fold any spill back into their rings (no-op when no topics are registered).
821
930
  ;
822
931
  reactivity.frameReset();
823
932
  engine.frameReset();
933
+ topics.frameReset();
824
934
  },
825
935
  };
826
936
  return Object.freeze(world);
package/dist/world.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"world.js","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world.js","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecsia/core",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "The ecsia core: archetype storage, typed component accessors, queries, and change tracking. Works standalone on a single thread.",
5
5
  "keywords": [
6
6
  "ecs",
@@ -44,7 +44,7 @@
44
44
  "access": "public"
45
45
  },
46
46
  "dependencies": {
47
- "@ecsia/schema": "0.3.0"
47
+ "@ecsia/schema": "0.5.0"
48
48
  },
49
49
  "scripts": {
50
50
  "build": "tsc -b"