@ecsia/core 0.7.0 → 0.7.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 (38) hide show
  1. package/dist/component/accessor.d.ts +4 -2
  2. package/dist/component/accessor.d.ts.map +1 -1
  3. package/dist/component/accessor.js +2 -2
  4. package/dist/component/accessor.js.map +1 -1
  5. package/dist/component/sidecar.d.ts +34 -10
  6. package/dist/component/sidecar.d.ts.map +1 -1
  7. package/dist/component/sidecar.js +94 -16
  8. package/dist/component/sidecar.js.map +1 -1
  9. package/dist/entity/store.d.ts.map +1 -1
  10. package/dist/entity/store.js +5 -2
  11. package/dist/entity/store.js.map +1 -1
  12. package/dist/ids.d.ts +3 -4
  13. package/dist/ids.d.ts.map +1 -1
  14. package/dist/ids.js.map +1 -1
  15. package/dist/internal.d.ts +1 -1
  16. package/dist/internal.d.ts.map +1 -1
  17. package/dist/internal.js.map +1 -1
  18. package/dist/query/sparse-set.d.ts.map +1 -1
  19. package/dist/query/sparse-set.js +4 -2
  20. package/dist/query/sparse-set.js.map +1 -1
  21. package/dist/reactivity/observers.d.ts +7 -2
  22. package/dist/reactivity/observers.d.ts.map +1 -1
  23. package/dist/reactivity/observers.js +3 -3
  24. package/dist/reactivity/observers.js.map +1 -1
  25. package/dist/reactivity/reactivity.d.ts +21 -2
  26. package/dist/reactivity/reactivity.d.ts.map +1 -1
  27. package/dist/reactivity/reactivity.js +30 -1
  28. package/dist/reactivity/reactivity.js.map +1 -1
  29. package/dist/storage/store.d.ts.map +1 -1
  30. package/dist/storage/store.js +17 -8
  31. package/dist/storage/store.js.map +1 -1
  32. package/dist/util/stable-index.d.ts.map +1 -1
  33. package/dist/util/stable-index.js +11 -9
  34. package/dist/util/stable-index.js.map +1 -1
  35. package/dist/world.d.ts.map +1 -1
  36. package/dist/world.js +32 -7
  37. package/dist/world.js.map +1 -1
  38. package/package.json +2 -2
@@ -10,8 +10,10 @@ export interface AccessorWorld {
10
10
  };
11
11
  sidecarRead(key: SidecarKey, index: number, gen: number): unknown;
12
12
  sidecarWrite(key: SidecarKey, index: number, gen: number, value: unknown): void;
13
- /** Low generationBits of the live handle at `index` — the RF-HYGIENE stamp source. */
14
- generationOf(index: number): number;
13
+ /** The generation embedded in `handle` — the RF-HYGIENE stamp source. For a live entity this equals
14
+ * the index's live generation; for an observer-window ref bound to a DYING handle it names the dead
15
+ * tenant, so its rich reads hit the pending-clear stash and never alias a same-window re-mint. */
16
+ handleGeneration(handle: EntityHandle): number;
15
17
  }
16
18
  export interface AccessorBinding {
17
19
  readonly world: AccessorWorld;
@@ -1 +1 @@
1
- {"version":3,"file":"accessor.d.ts","sourceRoot":"","sources":["../../src/component/accessor.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EAEZ,MAAM,EACP,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAe,MAAM,oBAAoB,CAAA;AAG3D,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,cAAc,CAAA;AAIxD,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9E,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;IAOzC,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAA;IAG/C,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACjE,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/E,sFAAsF;IACtF,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACpC;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CAClC;AAID,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,YAAY,CAAA;IACnB,SAAS,EAAE,eAAe,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IACnC;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;CAC7D;AAgED,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC,GACjE,aAAa,EAAE,CAMjB;AAID,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CA2H9F;AAuCD,OAAO,EAAE,SAAS,EAAE,CAAA;AACpB,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"accessor.d.ts","sourceRoot":"","sources":["../../src/component/accessor.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EAEZ,MAAM,EACP,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAe,MAAM,oBAAoB,CAAA;AAG3D,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,cAAc,CAAA;AAIxD,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9E,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;IAOzC,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAA;IAG/C,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACjE,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/E;;sGAEkG;IAClG,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;CAC/C;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CAClC;AAID,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,YAAY,CAAA;IACnB,SAAS,EAAE,eAAe,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IACnC;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;CAC7D;AAgED,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC,GACjE,aAAa,EAAE,CAMjB;AAID,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CA2H9F;AAuCD,OAAO,EAAE,SAAS,EAAE,CAAA;AACpB,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA"}
@@ -176,14 +176,14 @@ export function makeAccessorFactory(def) {
176
176
  if (b === null)
177
177
  return undefined;
178
178
  const idx = b.world.handleIndex(this.__eid);
179
- return b.world.sidecarRead(key, idx, b.world.generationOf(idx));
179
+ return b.world.sidecarRead(key, idx, b.world.handleGeneration(this.__eid));
180
180
  },
181
181
  set(value) {
182
182
  const b = this.__binding;
183
183
  if (b === null)
184
184
  return;
185
185
  const idx = b.world.handleIndex(this.__eid);
186
- b.world.sidecarWrite(key, idx, b.world.generationOf(idx), value);
186
+ b.world.sidecarWrite(key, idx, b.world.handleGeneration(this.__eid), value);
187
187
  b.world.trackWrite(idx, componentId, fieldIndex);
188
188
  },
189
189
  });
@@ -1 +1 @@
1
- {"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../src/component/accessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../src/component/accessor.ts"],"names":[],"mappings":"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"}
@@ -30,21 +30,45 @@ export declare class SidecarStore {
30
30
  write(key: SidecarKey, index: number, gen: number, value: unknown): void;
31
31
  /**
32
32
  * Observer-window read: during an onRemove/preDespawn drain the dying entity's
33
- * generation has already been bumped, so a normal generation-guarded read would return the default.
34
- * If a pending-clear entry exists for `index`, return its stashed value regardless of generation; else
35
- * fall back to the generation-guarded read.
33
+ * index generation has already been bumped, so a normal generation-guarded read would return the
34
+ * default. A pending-clear entry whose stamped generation MATCHES the reading handle's generation
35
+ * serves the stashed value (the remove-event ref is bound to the dying handle — world wiring); any
36
+ * other generation falls through to the generation-guarded read, so a same-window re-mint at the
37
+ * index reads its own slot, never the dead tenant's stash.
36
38
  */
37
39
  readForObserver(key: SidecarKey, index: number, gen: number): unknown;
38
40
  /**
39
- * Despawn handler. When no rich-carrying held component has a
40
- * remove-observer, clear data[index] eagerly so the JS reference is released for GC. When one does,
41
- * DEFER: stash the dying values so an onRemove handler can read them during the drain (RF-REMOVE-READ),
42
- * then flush at the post-observer point (flushPending).
41
+ * The generation of the OLDEST un-superseded dying tenant stashed at `index`, or undefined. While
42
+ * the drain cursor is inside a stashed tenant's lifetime (its events, up to the Create that
43
+ * re-minted the index), this is that tenant's generation the observer dispatch binds the events'
44
+ * refs to it; supersedePending advances it when the drain passes the re-mint.
45
+ */
46
+ pendingGenerationOf(index: number): number | undefined;
47
+ /** The observer drain passed a Destroy entry for `index`: when it is the head stash's tenant's own
48
+ * (matched by despawn ordinal — stashless despawns at the index consume ordinals too), mark the
49
+ * stash so the NEXT Create at the index supersedes it. */
50
+ noteDestroyDrained(index: number): void;
51
+ /**
52
+ * Drop the oldest pending-clear entry for `index` when the observer drain encounters a Create
53
+ * entry AFTER that tenant's Destroy: the log is ordered, so every remove/destroy event of the
54
+ * tenant that died before this re-mint has already dispatched; later remove events at the index
55
+ * belong to a newer tenant. A Create drained before the Destroy (the tenant's own same-window
56
+ * mint) leaves the entry in place.
57
+ */
58
+ supersedePending(index: number): void;
59
+ /**
60
+ * Despawn handler. When no held component has a remove-observer, clear
61
+ * data[index] eagerly so the JS reference is released for GC. When one does, DEFER: stash the
62
+ * dying values (gen-only when the tenant held no rich field) so an onRemove handler can read them
63
+ * during the drain (RF-REMOVE-READ), then flush at the post-observer point (flushPending).
43
64
  *
44
- * `richKeysOnEntity` are the sidecar keys the entity actually held (its signature's rich fields); only
45
- * those are stashed/cleared. `defer` is true iff any held component has a remove-observer.
65
+ * Called for EVERY despawn (the per-index despawn ordinal must count every deferred despawn —
66
+ * noteDestroyDrained pairs drain-side Destroy entries by it). `gen` is the dying handle's
67
+ * generation (stamped into the stash so observer-window reads can be keyed to the dead tenant).
68
+ * `richKeysOnEntity` are the sidecar keys the entity actually held (its signature's rich fields);
69
+ * only those are stashed/cleared. `defer` is true iff any held component has a remove-observer.
46
70
  */
47
- onDespawn(index: number, richKeysOnEntity: readonly SidecarKey[], defer: boolean): void;
71
+ onDespawn(index: number, gen: number, richKeysOnEntity: readonly SidecarKey[], defer: boolean): void;
48
72
  /**
49
73
  * Flush the deferred-clear window. Called at the post-observerDrain serial slot,
50
74
  * mirroring where storage's deferred row reclaim is finalized — after onRemove handlers have read the
@@ -1 +1 @@
1
- {"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/component/sidecar.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,MAAM,CAAA;CAAE,CAAA;AAE1E,eAAO,MAAM,UAAU,GAAI,aAAa,MAAM,EAAE,YAAY,MAAM,KAAG,UACM,CAAA;AAE3E,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE1C,UAAU,aAAa;IACrB,+EAA+E;IAC/E,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,2FAA2F;IAC3F,GAAG,EAAE,WAAW,CAAA;IAChB,kGAAkG;IAClG,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACxB;AASD,qBAAa,YAAY;;IAKvB,iFAAiF;IACjF,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAKjE,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAgBnC,wGAAwG;IACxG,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAU1D;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAM/D,qEAAqE;IACrE,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAUxE;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAMrE;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAwBvF;;;;OAIG;IACH,YAAY,IAAI,IAAI;IAIpB,UAAU,IAAI,OAAO;IAIrB,OAAO,IAAI,gBAAgB,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;CAGzD"}
1
+ {"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/component/sidecar.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,MAAM,CAAA;CAAE,CAAA;AAE1E,eAAO,MAAM,UAAU,GAAI,aAAa,MAAM,EAAE,YAAY,MAAM,KAAG,UACM,CAAA;AAE3E,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE1C,UAAU,aAAa;IACrB,+EAA+E;IAC/E,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,2FAA2F;IAC3F,GAAG,EAAE,WAAW,CAAA;IAChB,kGAAkG;IAClG,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACxB;AAmBD,qBAAa,YAAY;;IAWvB,iFAAiF;IACjF,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAKjE,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAgBnC,wGAAwG;IACxG,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAU1D;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAM/D,qEAAqE;IACrE,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAUxE;;;;;;;OAOG;IACH,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAUrE;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAItD;;8DAE0D;IAC1D,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUvC;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUrC;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAmCpG;;;;OAIG;IACH,YAAY,IAAI,IAAI;IAMpB,UAAU,IAAI,OAAO;IAIrB,OAAO,IAAI,gBAAgB,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;CAGzD"}
@@ -7,12 +7,23 @@
7
7
  // structural, the same way changeVersion follows an entity across relocations. The generation stamp
8
8
  // closes RF-HYGIENE: a recycled index never leaks the prior tenant's value (a stale slot reads the
9
9
  // field default). Main-thread-only by construction (rich components are restrictedToMainThread).
10
+ //
11
+ // Residual boundary (the generation guard covers RICH storage only): a dead tenant's observer-window
12
+ // ref reading a NUMERIC component it never held, and a numeric read at an index re-minted within the
13
+ // same window, both resolve by INDEX through the live records — they alias the newest tenant. Closing
14
+ // either requires generation-aware numeric storage; this is a pre-existing limit, not a window bug.
10
15
  const FIELD_BITS = 8; // up to 256 fields per component; schema arity is far below.
11
16
  export const sidecarKey = (componentId, fieldIndex) => (((componentId << FIELD_BITS) | (fieldIndex & 0xff)) >>> 0);
12
17
  export class SidecarStore {
13
18
  #cols = new Map();
14
- /** index → its pending-clear entry while a remove-observer window is open (RF-REMOVE-READ). */
19
+ /** index → pending-clear entries while a remove-observer window is open (RF-REMOVE-READ). A list,
20
+ * not a single entry: an index can be despawned, re-minted, and despawned again before one drain. */
15
21
  #pending = new Map();
22
+ /** index → despawns of that index this window (ALL despawns, stashed or not — the ordinal source
23
+ * for PendingClear.despawnsBefore). Cleared with the window at flushPending. */
24
+ #despawnSeq = new Map();
25
+ /** index → Destroy entries the observer drain has passed this window (noteDestroyDrained). */
26
+ #destroysDrained = new Map();
16
27
  /** Allocate a column for a (componentId, fieldIndex) rich field (idempotent). */
17
28
  ensureColumn(key, kind, def) {
18
29
  if (this.#cols.has(key))
@@ -71,29 +82,89 @@ export class SidecarStore {
71
82
  }
72
83
  /**
73
84
  * Observer-window read: during an onRemove/preDespawn drain the dying entity's
74
- * generation has already been bumped, so a normal generation-guarded read would return the default.
75
- * If a pending-clear entry exists for `index`, return its stashed value regardless of generation; else
76
- * fall back to the generation-guarded read.
85
+ * index generation has already been bumped, so a normal generation-guarded read would return the
86
+ * default. A pending-clear entry whose stamped generation MATCHES the reading handle's generation
87
+ * serves the stashed value (the remove-event ref is bound to the dying handle — world wiring); any
88
+ * other generation falls through to the generation-guarded read, so a same-window re-mint at the
89
+ * index reads its own slot, never the dead tenant's stash.
77
90
  */
78
91
  readForObserver(key, index, gen) {
79
- const pend = this.#pending.get(index);
80
- if (pend !== undefined && pend.values.has(key))
81
- return pend.values.get(key);
92
+ const list = this.#pending.get(index);
93
+ if (list !== undefined) {
94
+ for (const pend of list) {
95
+ if (pend.gen === gen && pend.values.has(key))
96
+ return pend.values.get(key);
97
+ }
98
+ }
82
99
  return this.read(key, index, gen);
83
100
  }
84
101
  /**
85
- * Despawn handler. When no rich-carrying held component has a
86
- * remove-observer, clear data[index] eagerly so the JS reference is released for GC. When one does,
87
- * DEFER: stash the dying values so an onRemove handler can read them during the drain (RF-REMOVE-READ),
88
- * then flush at the post-observer point (flushPending).
102
+ * The generation of the OLDEST un-superseded dying tenant stashed at `index`, or undefined. While
103
+ * the drain cursor is inside a stashed tenant's lifetime (its events, up to the Create that
104
+ * re-minted the index), this is that tenant's generation the observer dispatch binds the events'
105
+ * refs to it; supersedePending advances it when the drain passes the re-mint.
106
+ */
107
+ pendingGenerationOf(index) {
108
+ return this.#pending.get(index)?.[0]?.gen;
109
+ }
110
+ /** The observer drain passed a Destroy entry for `index`: when it is the head stash's tenant's own
111
+ * (matched by despawn ordinal — stashless despawns at the index consume ordinals too), mark the
112
+ * stash so the NEXT Create at the index supersedes it. */
113
+ noteDestroyDrained(index) {
114
+ // Mutations stage during a drain, so an empty #pending stays empty for the whole window — the
115
+ // ordinal this would record could never be consulted before flushPending clears it anyway.
116
+ if (this.#pending.size === 0)
117
+ return;
118
+ const n = (this.#destroysDrained.get(index) ?? 0) + 1;
119
+ this.#destroysDrained.set(index, n);
120
+ const head = this.#pending.get(index)?.[0];
121
+ if (head !== undefined && n > head.despawnsBefore)
122
+ head.destroyDrained = true;
123
+ }
124
+ /**
125
+ * Drop the oldest pending-clear entry for `index` when the observer drain encounters a Create
126
+ * entry AFTER that tenant's Destroy: the log is ordered, so every remove/destroy event of the
127
+ * tenant that died before this re-mint has already dispatched; later remove events at the index
128
+ * belong to a newer tenant. A Create drained before the Destroy (the tenant's own same-window
129
+ * mint) leaves the entry in place.
130
+ */
131
+ supersedePending(index) {
132
+ // Same staging argument as noteDestroyDrained: empty stays empty mid-drain — skip the lookup.
133
+ if (this.#pending.size === 0)
134
+ return;
135
+ const list = this.#pending.get(index);
136
+ if (list === undefined || list.length === 0)
137
+ return;
138
+ if (!list[0].destroyDrained)
139
+ return;
140
+ list.shift();
141
+ if (list.length === 0)
142
+ this.#pending.delete(index);
143
+ }
144
+ /**
145
+ * Despawn handler. When no held component has a remove-observer, clear
146
+ * data[index] eagerly so the JS reference is released for GC. When one does, DEFER: stash the
147
+ * dying values (gen-only when the tenant held no rich field) so an onRemove handler can read them
148
+ * during the drain (RF-REMOVE-READ), then flush at the post-observer point (flushPending).
89
149
  *
90
- * `richKeysOnEntity` are the sidecar keys the entity actually held (its signature's rich fields); only
91
- * those are stashed/cleared. `defer` is true iff any held component has a remove-observer.
150
+ * Called for EVERY despawn (the per-index despawn ordinal must count every deferred despawn —
151
+ * noteDestroyDrained pairs drain-side Destroy entries by it). `gen` is the dying handle's
152
+ * generation (stamped into the stash so observer-window reads can be keyed to the dead tenant).
153
+ * `richKeysOnEntity` are the sidecar keys the entity actually held (its signature's rich fields);
154
+ * only those are stashed/cleared. `defer` is true iff any held component has a remove-observer.
92
155
  */
93
- onDespawn(index, richKeysOnEntity, defer) {
94
- if (richKeysOnEntity.length === 0)
156
+ onDespawn(index, gen, richKeysOnEntity, defer) {
157
+ // No rich columns in this world (the column set is fixed at createWorld): no stash can ever
158
+ // exist, so neither the despawn ordinal nor a pending entry would ever be consulted — skip.
159
+ if (this.#cols.size === 0)
95
160
  return;
161
+ const despawnsBefore = this.#despawnSeq.get(index) ?? 0;
162
+ this.#despawnSeq.set(index, despawnsBefore + 1);
96
163
  if (defer) {
164
+ // EVERY deferred despawn stashes — a rich-free tenant gets a gen-only entry (empty values).
165
+ // The entry's generation is what binds the tenant's drained events to its OWN dead handle
166
+ // (eventRefOf), so attribution is uniform: a rich read through a rich-free tenant's ref hits
167
+ // the generation guard and returns the default, never a same-window successor's stash.
97
168
  const values = new Map();
98
169
  for (const key of richKeysOnEntity) {
99
170
  const col = this.#cols.get(key);
@@ -102,7 +173,12 @@ export class SidecarStore {
102
173
  const v = index < col.written.length && col.written[index] === 1 ? col.data[index] : col.def;
103
174
  values.set(key, v === undefined ? col.def : v);
104
175
  }
105
- this.#pending.set(index, { index, values });
176
+ const entry = { gen, values, despawnsBefore, destroyDrained: false };
177
+ const list = this.#pending.get(index);
178
+ if (list === undefined)
179
+ this.#pending.set(index, [entry]);
180
+ else
181
+ list.push(entry);
106
182
  }
107
183
  // Whether deferred or not, the live slot is invalidated now: a recycled index must not read this
108
184
  // tenant's value. The generation guard already protects correctness; clearing releases the GC ref.
@@ -125,6 +201,8 @@ export class SidecarStore {
125
201
  */
126
202
  flushPending() {
127
203
  this.#pending.clear();
204
+ this.#despawnSeq.clear();
205
+ this.#destroysDrained.clear();
128
206
  }
129
207
  hasPending() {
130
208
  return this.#pending.size > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/component/sidecar.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,sGAAsG;AACtG,yEAAyE;AACzE,EAAE;AACF,uGAAuG;AACvG,kGAAkG;AAClG,oGAAoG;AACpG,mGAAmG;AACnG,iGAAiG;AAEjG,MAAM,UAAU,GAAG,CAAC,CAAA,CAAC,6DAA6D;AAIlF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,UAAkB,EAAc,EAAE,CAChF,CAAC,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAe,CAAA;AAsB3E,MAAM,OAAO,YAAY;IACd,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAA;IACrD,+FAA+F;IACtF,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAA;IAEnD,iFAAiF;IACjF,YAAY,CAAC,GAAe,EAAE,IAAc,EAAE,GAAY;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAM;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IACnG,CAAC;IAED,SAAS,CAAC,GAAe;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,GAAkB,EAAE,KAAa;QACrC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM;YAAE,OAAM;QAClC,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAA;QACrD,OAAO,IAAI,IAAI,KAAK;YAAE,IAAI,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACd,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QACX,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAClB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,wGAAwG;IACxG,IAAI,CAAC,GAAe,EAAE,KAAa,EAAE,GAAW;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACvC,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACrF,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAA;IAChB,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,GAAe,EAAE,KAAa,EAAE,GAAW;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACnC,OAAO,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAA;IACzF,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,GAAe,EAAE,KAAa,EAAE,GAAW,EAAE,KAAc;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAM;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtB,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAA;QACzD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;QACvB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,CAAA;QAC1B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,GAAe,EAAE,KAAa,EAAE,GAAW;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAa,EAAE,gBAAuC,EAAE,KAAc;QAC9E,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAA;YAC7C,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/B,IAAI,GAAG,KAAK,SAAS;oBAAE,SAAQ;gBAC/B,MAAM,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;gBAC5F,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,iGAAiG;QACjG,mGAAmG;QACnG,KAAK,MAAM,GAAG,IAAI,gBAAgB;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACjE,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,KAAa;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAM;QAC7B,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;QACxD,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM;YAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxD,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/component/sidecar.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,sGAAsG;AACtG,yEAAyE;AACzE,EAAE;AACF,uGAAuG;AACvG,kGAAkG;AAClG,oGAAoG;AACpG,mGAAmG;AACnG,iGAAiG;AACjG,EAAE;AACF,qGAAqG;AACrG,qGAAqG;AACrG,sGAAsG;AACtG,oGAAoG;AAEpG,MAAM,UAAU,GAAG,CAAC,CAAA,CAAC,6DAA6D;AAIlF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,UAAkB,EAAc,EAAE,CAChF,CAAC,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAe,CAAA;AAgC3E,MAAM,OAAO,YAAY;IACd,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAA;IACrD;yGACqG;IAC5F,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAA;IACrD;oFACgF;IACvE,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAChD,8FAA8F;IACrF,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAErD,iFAAiF;IACjF,YAAY,CAAC,GAAe,EAAE,IAAc,EAAE,GAAY;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAM;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IACnG,CAAC;IAED,SAAS,CAAC,GAAe;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,GAAkB,EAAE,KAAa;QACrC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM;YAAE,OAAM;QAClC,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAA;QACrD,OAAO,IAAI,IAAI,KAAK;YAAE,IAAI,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACd,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QACX,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAClB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,wGAAwG;IACxG,IAAI,CAAC,GAAe,EAAE,KAAa,EAAE,GAAW;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACvC,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACrF,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAA;IAChB,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,GAAe,EAAE,KAAa,EAAE,GAAW;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACnC,OAAO,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAA;IACzF,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,GAAe,EAAE,KAAa,EAAE,GAAW,EAAE,KAAc;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAM;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtB,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAA;QACzD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;QACvB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,CAAA;QAC1B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,GAAe,EAAE,KAAa,EAAE,GAAW;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;IAC3C,CAAC;IAED;;8DAE0D;IAC1D,kBAAkB,CAAC,KAAa;QAC9B,8FAA8F;QAC9F,2FAA2F;QAC3F,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAM;QACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;IAC/E,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAa;QAC5B,8FAA8F;QAC9F,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAM;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACnD,IAAI,CAAE,IAAI,CAAC,CAAC,CAAkB,CAAC,cAAc;YAAE,OAAM;QACrD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,gBAAuC,EAAE,KAAc;QAC3F,4FAA4F;QAC5F,4FAA4F;QAC5F,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,OAAM;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,GAAG,CAAC,CAAC,CAAA;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,4FAA4F;YAC5F,0FAA0F;YAC1F,6FAA6F;YAC7F,uFAAuF;YACvF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAA;YAC7C,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/B,IAAI,GAAG,KAAK,SAAS;oBAAE,SAAQ;gBAC/B,MAAM,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;gBAC5F,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAChD,CAAC;YACD,MAAM,KAAK,GAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;YAClF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACrC,IAAI,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;;gBACpD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,iGAAiG;QACjG,mGAAmG;QACnG,KAAK,MAAM,GAAG,IAAI,gBAAgB;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACjE,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,KAAa;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAM;QAC7B,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;QACxD,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM;YAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxD,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;IAC/B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IAC7B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/entity/store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,IAAI,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAOhD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC;AAED,qBAAa,WAAW;;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;gBAoBjB,MAAM,EAAE,iBAAiB;IAqErC,YAAY,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAIzG,KAAK,IAAI,YAAY;IAYrB,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IASnC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAItC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IASrE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY;IAU7D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG;QAAE,KAAK,EAAE,gBAAgB,CAAC;QAAC,UAAU,EAAE,gBAAgB,CAAA;KAAE;IAO7F,mFAAmF;IACnF,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrD,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED;;;;;OAKG;IACH,mBAAmB,IAAI;QAAE,WAAW,EAAE,eAAe,CAAC;QAAC,YAAY,EAAE,eAAe,CAAA;KAAE;IAOtF,mGAAmG;IACnG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAI1C,yFAAyF;IACzF,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;IAIpE,WAAW,IAAI,WAAW;CAmB3B;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/entity/store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,IAAI,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAOhD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC;AAED,qBAAa,WAAW;;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;gBAoBjB,MAAM,EAAE,iBAAiB;IA2ErC,YAAY,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAIzG,KAAK,IAAI,YAAY;IAYrB,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IASnC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAItC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IASrE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY;IAU7D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG;QAAE,KAAK,EAAE,gBAAgB,CAAC;QAAC,UAAU,EAAE,gBAAgB,CAAA;KAAE;IAO7F,mFAAmF;IACnF,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrD,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED;;;;;OAKG;IACH,mBAAmB,IAAI;QAAE,WAAW,EAAE,eAAe,CAAC;QAAC,YAAY,EAAE,eAAe,CAAA;KAAE;IAOtF,mGAAmG;IACnG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAI1C,yFAAyF;IACzF,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;IAIpE,WAAW,IAAI,WAAW;CAmB3B;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -29,8 +29,11 @@ export class EntityStore {
29
29
  this.#maxEntities = config.maxEntities;
30
30
  this.#addressable = config.maxEntities;
31
31
  // The index space is [0, maxIndex]; when threaded, maxIndex is reserved for the NO_ENTITY
32
- // sentinel so a minted+wrapped handle can never alias 0xffffffff.
33
- this.#ceiling = config.shared ? config.layout.maxIndex : config.layout.maxIndex + 1;
32
+ // sentinel so a minted+wrapped handle can never alias 0xffffffff. maxEntities also binds the
33
+ // ceiling: every fixed-size region (bitmask, query sparse sets, reactivity rings) is sized by it,
34
+ // so minting past it corrupts silently — the allocator must throw CapacityExceeded instead
35
+ // (world.md §6.2, entity-model.md §3.4).
36
+ this.#ceiling = Math.min(config.maxEntities, config.shared ? config.layout.maxIndex : config.layout.maxIndex + 1);
34
37
  const opts = { shared: config.shared, maxLength: config.layout.capacity };
35
38
  this.#regions = {
36
39
  sparse: allocU32(config.maxEntities, opts),
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/entity/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/entity/store.ts"],"names":[],"mappings":"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"}
package/dist/ids.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- /** A dense component type id. Branded so raw numbers can't be passed where a ComponentId is required. */
2
- export type ComponentId = number & {
3
- readonly __ecsiaComponentId: unique symbol;
4
- };
1
+ import type { ComponentId } from '@ecsia/schema';
2
+ /** A dense component type id. The schema-level brand — every kernel surface is typed with it. */
3
+ export type { ComponentId } from '@ecsia/schema';
5
4
  /** The reserved "no component" sentinel. Also the shape-log CREATE/DESTROY marker. */
6
5
  export declare const NO_COMPONENT: ComponentId;
7
6
  /** First id handed out to user components; everything below is reserved. */
package/dist/ids.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAIA,yGAAyG;AACzG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,kBAAkB,EAAE,OAAO,MAAM,CAAA;CAAE,CAAA;AAEjF,sFAAsF;AACtF,eAAO,MAAM,YAAY,EAAQ,WAAW,CAAA;AAE5C,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,EAAQ,WAAW,CAAA"}
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,iGAAiG;AACjG,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,sFAAsF;AACtF,eAAO,MAAM,YAAY,EAAQ,WAAW,CAAA;AAE5C,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,EAAQ,WAAW,CAAA"}
package/dist/ids.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ids.js","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,4FAA4F;AAC5F,iFAAiF;AAKjF,sFAAsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAgB,CAAA;AAE5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAgB,CAAA"}
1
+ {"version":3,"file":"ids.js","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,4FAA4F;AAC5F,iFAAiF;AAOjF,sFAAsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAgB,CAAA;AAE5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAgB,CAAA"}
@@ -3,7 +3,7 @@ export type { EntityGeneration, HandleStats, EntityLocation, EntityAccessors, }
3
3
  export { allocU32 } from './memory/index.js';
4
4
  export type { AllocU32Options, U32Region } from './memory/index.js';
5
5
  export { Buffers, probeCapabilities, selectBacking, sharedBacking, snapshotInto, rowSlice, columnKey, tokenToColumnLayout, fieldToColumnLayout, stringIndexElement, EID_NULL, } from './memory/index.js';
6
- export type { Backing, BackingStrategy, Region, RegionOpts, ViewHolder, BuffersConfig, ExportedColumnHandle, ExportedRegionHandle, } from './memory/index.js';
6
+ export type { Backing, BackingStrategy, Region, RegionKey, RegionOpts, ViewHolder, BuffersConfig, ExportedColumnHandle, ExportedRegionHandle, } from './memory/index.js';
7
7
  export { registerComponentId, UNREGISTERED, resolveDescriptor, makeAccessorFactory, bindingsFor, } from './component/index.js';
8
8
  export type { ComponentRuntime, DefKind, AccessorWorld, AccessorBinding, AccessorInstanceBase, BuildColumnSetParams, } from './component/index.js';
9
9
  export { ComponentRegistry } from './registry.js';
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEnE,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,GACT,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,OAAO,EACP,eAAe,EACf,MAAM,EACN,UAAU,EACV,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACV,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EACL,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,OAAO,EACP,MAAM,EACN,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,GACV,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACjI,YAAY,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACrF,YAAY,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,EACT,IAAI,GACL,MAAM,kBAAkB,CAAA;AAIzB,YAAY,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,eAAe,EACf,eAAe,EACf,cAAc,EACd,QAAQ,EACR,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,OAAO,GACR,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEnE,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,GACT,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,OAAO,EACP,eAAe,EACf,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACV,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EACL,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,OAAO,EACP,MAAM,EACN,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,GACV,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACjI,YAAY,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACrF,YAAY,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,EACT,IAAI,GACL,MAAM,kBAAkB,CAAA;AAIzB,YAAY,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,eAAe,EACf,eAAe,EACf,cAAc,EACd,QAAQ,EACR,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,OAAO,GACR,MAAM,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,iGAAiG;AACjG,sGAAsG;AACtG,oGAAoG;AACpG,yEAAyE;AACzE,EAAE;AACF,2FAA2F;AAC3F,oGAAoG;AACpG,qFAAqF;AAErF,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAQ1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,GACT,MAAM,mBAAmB,CAAA;AAY1B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAA;AAU7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EACL,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,OAAO,EACP,MAAM,EACN,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,GACV,MAAM,oBAAoB,CAAA;AAY3B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAG5C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AASjI,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,iGAAiG;AACjG,sGAAsG;AACtG,oGAAoG;AACpG,yEAAyE;AACzE,EAAE;AACF,2FAA2F;AAC3F,oGAAoG;AACpG,qFAAqF;AAErF,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAQ1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,GACT,MAAM,mBAAmB,CAAA;AAa1B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAA;AAU7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EACL,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,OAAO,EACP,MAAM,EACN,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,GACV,MAAM,oBAAoB,CAAA;AAY3B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAG5C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AASjI,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sparse-set.d.ts","sourceRoot":"","sources":["../../src/query/sparse-set.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAU,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAKpE,qBAAa,YAAY;;gBAUX,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAWrH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,kGAAkG;IAClG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAM3B,oFAAoF;IACpF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASxB,uDAAuD;IACvD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAU3B,KAAK,IAAI,IAAI;IAIb,sEAAsE;IACrE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;IAItC,yFAAyF;IACzF,SAAS,IAAI,WAAW;CAgBzB"}
1
+ {"version":3,"file":"sparse-set.d.ts","sourceRoot":"","sources":["../../src/query/sparse-set.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAU,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAKpE,qBAAa,YAAY;;gBAUX,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAWrH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,kGAAkG;IAClG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAM3B,oFAAoF;IACpF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASxB,uDAAuD;IACvD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAU3B,KAAK,IAAI,IAAI;IAIb,sEAAsE;IACrE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;IAItC,yFAAyF;IACzF,SAAS,IAAI,WAAW;CAqBzB"}
@@ -74,10 +74,12 @@ export class SparseSetU32 {
74
74
  if (need <= this.#capacity)
75
75
  return;
76
76
  let next = this.#capacity;
77
- while (next < need)
77
+ while (next < need && next < this.#maxEntities)
78
78
  next = Math.min(this.#maxEntities, next * GROWTH);
79
+ // Unreachable while the entity allocator enforces maxEntities as its mint ceiling; a loud throw
80
+ // beats the silent alternative (the old clamp loop span forever once next hit maxEntities).
79
81
  if (next < need)
80
- next = need;
82
+ throw new Error(`query sparse-set: entity index ${need - 1} exceeds maxEntities (${this.#maxEntities}) — the world's entity allocator should have thrown CapacityExceeded before this point`);
81
83
  // Both regions length-track on the primary path; re-publish the view for the fallback path too.
82
84
  growRegion(this.#buffers, this.#denseRegion, next);
83
85
  growRegion(this.#buffers, this.#sparseRegion, next);
@@ -1 +1 @@
1
- {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/query/sparse-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sparse-set.js","sourceRoot":"","sources":["../../src/query/sparse-set.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,13 @@ export interface ObserverDeps {
24
24
  idOf(def: ComponentDef<Schema>): ComponentId;
25
25
  /** Does `index` currently hold ALL of `componentIds`? (multi-component add satisfaction). */
26
26
  holdsAll(index: number, componentIds: readonly ComponentId[]): boolean;
27
- /** The pooled EntityRef bound to the current (index, generation) for `index`. */
28
- refOf(index: number): EntityRef;
27
+ /** The pooled EntityRef an event for `index` dispatches with — bound to the tenant whose lifetime
28
+ * the drain cursor is inside. While a rich pending-clear window covers the index that is the
29
+ * stashed DYING handle (the handler reads the dead tenant's values, not a same-window re-mint's);
30
+ * otherwise the current handle. Change events route here too: the change drain runs AFTER the
31
+ * structural drain, so a pending window still open at that point covers an index that stayed dead
32
+ * through the whole drain — its last-write events belong to the dead tenant. */
33
+ eventRefOf(index: number): EntityRef;
29
34
  /** The current frame tick. */
30
35
  tick(): number;
31
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"observers.d.ts","sourceRoot":"","sources":["../../src/reactivity/observers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,kGAAkG;AAClG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,CAAA;CACrD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAA;AAY1E,wBAAgB,KAAK,CAAC,GAAG,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAEzE;AACD,wBAAgB,QAAQ,CAAC,GAAG,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAE5E;AACD,wBAAgB,QAAQ,CAAC,GAAG,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAE5E;AAED,MAAM,WAAW,YAAY;IAC3B,sFAAsF;IACtF,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,WAAW,CAAA;IAC5C,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAA;IACtE,iFAAiF;IACjF,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,8BAA8B;IAC9B,IAAI,IAAI,MAAM,CAAA;CACf;AAED,qBAAa,gBAAgB;;gBAQf,IAAI,EAAE,YAAY;IAI9B,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,6FAA6F;IAC7F,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,uGAAuG;IACvG,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAK5D,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc;IA8BrE,yEAAyE;IACzE,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAepF,2EAA2E;IAC3E,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAYxD,sEAAsE;IACtE,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAgB5D,uFAAuF;IACvF,gBAAgB,IAAI,IAAI;CAOzB"}
1
+ {"version":3,"file":"observers.d.ts","sourceRoot":"","sources":["../../src/reactivity/observers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,kGAAkG;AAClG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,CAAA;CACrD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAA;AAY1E,wBAAgB,KAAK,CAAC,GAAG,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAEzE;AACD,wBAAgB,QAAQ,CAAC,GAAG,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAE5E;AACD,wBAAgB,QAAQ,CAAC,GAAG,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAE5E;AAED,MAAM,WAAW,YAAY;IAC3B,sFAAsF;IACtF,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,WAAW,CAAA;IAC5C,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAA;IACtE;;;;;oFAKgF;IAChF,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,8BAA8B;IAC9B,IAAI,IAAI,MAAM,CAAA;CACf;AAED,qBAAa,gBAAgB;;gBAQf,IAAI,EAAE,YAAY;IAI9B,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,6FAA6F;IAC7F,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,uGAAuG;IACvG,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAK5D,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc;IA8BrE,yEAAyE;IACzE,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAepF,2EAA2E;IAC3E,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAYxD,sEAAsE;IACtE,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAgB5D,uFAAuF;IACvF,gBAAgB,IAAI,IAAI;CAOzB"}
@@ -78,7 +78,7 @@ export class ObserverRegistry {
78
78
  if (kind === 'add' && obs.componentIds.length > 1 && !this.#deps.holdsAll(index, obs.componentIds)) {
79
79
  continue;
80
80
  }
81
- const ref = this.#deps.refOf(index);
81
+ const ref = this.#deps.eventRefOf(index);
82
82
  obs.handler(ref, { kind, component: componentId, tick });
83
83
  }
84
84
  }
@@ -92,7 +92,7 @@ export class ObserverRegistry {
92
92
  if (obs.dedup.has(index))
93
93
  continue;
94
94
  obs.dedup.add(index);
95
- const ref = this.#deps.refOf(index);
95
+ const ref = this.#deps.eventRefOf(index);
96
96
  obs.handler(ref, { kind: 'change', component: componentId, tick });
97
97
  }
98
98
  }
@@ -108,7 +108,7 @@ export class ObserverRegistry {
108
108
  if (obs.dedup.has(index))
109
109
  continue;
110
110
  obs.dedup.add(index);
111
- const ref = this.#deps.refOf(index);
111
+ const ref = this.#deps.eventRefOf(index);
112
112
  obs.handler(ref, { kind: 'change', component: componentId, tick });
113
113
  }
114
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"observers.js","sourceRoot":"","sources":["../../src/reactivity/observers.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,2FAA2F;AAC3F,mGAAmG;AACnG,iGAAiG;AAoCjG,MAAM,UAAU,KAAK,CAAC,GAAG,UAAkC;IACzD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;AACpC,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,GAAG,UAAkC;IAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AACvC,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,GAAG,UAAkC;IAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AACvC,CAAC;AAaD,MAAM,OAAO,gBAAgB;IAClB,KAAK,CAAc;IAC5B,wEAAwE;IAC/D,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAA;IAC/C,IAAI,GAAG,CAAC,CAAA;IACR,MAAM,GAAG,CAAC,CAAA;IACV,YAAY,GAAG,CAAC,CAAA;IAEhB,YAAY,IAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,6FAA6F;IAC7F,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,uGAAuG;IACvG,UAAU,CAAC,IAAkB,EAAE,WAAmB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC,CAAA;QACxD,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,CAAC,IAAkB,EAAE,OAAwB;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,MAAM,GAAG,GAAa,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;QACxF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,GAAa,EAAE,CAAA;YAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,EAAE,CAAA;gBACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC9B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA;QAClD,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAS,EAAE;gBAClB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,GAAa,EAAE,CAAA;oBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACnC,IAAI,MAAM,KAAK,SAAS;wBAAE,SAAQ;oBAClC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAC7B,IAAI,CAAC,IAAI,CAAC;wBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACjC,CAAC;gBACD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;gBAChB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAAE,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA;YACpD,CAAC;SACF,CAAA;IACH,CAAC;IAED,yEAAyE;IACzE,kBAAkB,CAAC,IAAsB,EAAE,KAAa,EAAE,WAAmB;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC,CAAA;QACxD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,+FAA+F;YAC/F,sFAAsF;YACtF,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnG,SAAQ;YACV,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAA0B,EAAE,IAAI,EAAE,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,cAAc,CAAC,KAAa,EAAE,WAAmB;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,WAAW,EAAE,CAAC,CAAA;QACvD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAClC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAA0B,EAAE,IAAI,EAAE,CAAC,CAAA;QACnF,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,2BAA2B,CAAC,OAAyB;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,SAAQ;YACxC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;YACvD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;wBAAE,SAAQ;oBAClC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBACnC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAA0B,EAAE,IAAI,EAAE,CAAC,CAAA;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,uFAAuF;IACvF,gBAAgB;QACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"observers.js","sourceRoot":"","sources":["../../src/reactivity/observers.ts"],"names":[],"mappings":"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"}