@vworlds/vecs 1.0.20 → 1.0.22

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 (155) hide show
  1. package/README.md +84 -99
  2. package/dist/component.d.ts +5 -2
  3. package/dist/component.js +4 -57
  4. package/dist/component.js.map +1 -1
  5. package/dist/component_meta.d.ts +15 -8
  6. package/dist/component_meta.js +6 -4
  7. package/dist/component_meta.js.map +1 -1
  8. package/dist/dsl.d.ts +56 -11
  9. package/dist/dsl.js +55 -38
  10. package/dist/dsl.js.map +1 -1
  11. package/dist/entity/entity.base.d.ts +4 -3
  12. package/dist/entity/entity.base.js +4 -4
  13. package/dist/entity/entity.base.js.map +1 -1
  14. package/dist/entity/entity.components.d.ts +16 -7
  15. package/dist/entity/entity.components.js +48 -23
  16. package/dist/entity/entity.components.js.map +1 -1
  17. package/dist/entity/entity.d.ts +5 -1
  18. package/dist/entity/entity.js +5 -0
  19. package/dist/entity/entity.js.map +1 -1
  20. package/dist/entity/entity.lifecycle.js +25 -25
  21. package/dist/entity/entity.lifecycle.js.map +1 -1
  22. package/dist/entity/entity.queries.js +0 -6
  23. package/dist/entity/entity.queries.js.map +1 -1
  24. package/dist/entity/entity.relationships.d.ts +1 -1
  25. package/dist/entity/entity.relationships.js +7 -5
  26. package/dist/entity/entity.relationships.js.map +1 -1
  27. package/dist/entity/index.d.ts +1 -1
  28. package/dist/entity/index.js.map +1 -1
  29. package/dist/filter.d.ts +6 -6
  30. package/dist/filter.js +2 -1
  31. package/dist/filter.js.map +1 -1
  32. package/dist/index.d.ts +10 -6
  33. package/dist/index.js +6 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/inject.d.ts +18 -17
  36. package/dist/inject.js +34 -34
  37. package/dist/inject.js.map +1 -1
  38. package/dist/module.d.ts +4 -4
  39. package/dist/module.js +0 -3
  40. package/dist/module.js.map +1 -1
  41. package/dist/modules/pipeline.d.ts +20 -0
  42. package/dist/modules/pipeline.js +57 -0
  43. package/dist/modules/pipeline.js.map +1 -0
  44. package/dist/modules/relationship_types.d.ts +37 -0
  45. package/dist/modules/relationship_types.js +39 -0
  46. package/dist/modules/relationship_types.js.map +1 -0
  47. package/dist/modules/relationships.d.ts +24 -0
  48. package/dist/modules/relationships.js +82 -0
  49. package/dist/modules/relationships.js.map +1 -0
  50. package/dist/modules/singleton.js +1 -2
  51. package/dist/modules/singleton.js.map +1 -1
  52. package/dist/package.json +2 -2
  53. package/dist/query/callbacks.d.ts +17 -0
  54. package/dist/query/callbacks.js +113 -0
  55. package/dist/query/callbacks.js.map +1 -0
  56. package/dist/query/constants.d.ts +1 -0
  57. package/dist/query/constants.js +2 -0
  58. package/dist/query/constants.js.map +1 -0
  59. package/dist/query/{query.03.tracking.d.ts → group.d.ts} +11 -9
  60. package/dist/query/group.js +31 -0
  61. package/dist/query/group.js.map +1 -0
  62. package/dist/query/grouped_query.d.ts +26 -0
  63. package/dist/query/grouped_query.js +121 -0
  64. package/dist/query/grouped_query.js.map +1 -0
  65. package/dist/query/grouped_query_registry.d.ts +4 -0
  66. package/dist/query/grouped_query_registry.js +11 -0
  67. package/dist/query/grouped_query_registry.js.map +1 -0
  68. package/dist/query/grouping.d.ts +24 -0
  69. package/dist/query/{query.07.groups.js → grouping.js} +29 -60
  70. package/dist/query/grouping.js.map +1 -0
  71. package/dist/query/index.d.ts +6 -6
  72. package/dist/query/index.js +6 -4
  73. package/dist/query/index.js.map +1 -1
  74. package/dist/query/query.d.ts +58 -28
  75. package/dist/query/query.js +334 -88
  76. package/dist/query/query.js.map +1 -1
  77. package/dist/system.d.ts +24 -54
  78. package/dist/system.js +47 -81
  79. package/dist/system.js.map +1 -1
  80. package/dist/terms/all_term.d.ts +2 -6
  81. package/dist/terms/all_term.js +2 -7
  82. package/dist/terms/all_term.js.map +1 -1
  83. package/dist/terms/any_term.d.ts +2 -6
  84. package/dist/terms/any_term.js +2 -7
  85. package/dist/terms/any_term.js.map +1 -1
  86. package/dist/terms/build.d.ts +9 -6
  87. package/dist/terms/build.js +17 -14
  88. package/dist/terms/build.js.map +1 -1
  89. package/dist/terms/component_term.d.ts +3 -3
  90. package/dist/terms/component_term.js.map +1 -1
  91. package/dist/terms/composite_build.d.ts +32 -0
  92. package/dist/terms/composite_build.js +28 -0
  93. package/dist/terms/composite_build.js.map +1 -0
  94. package/dist/terms/only_term.d.ts +3 -3
  95. package/dist/terms/only_term.js.map +1 -1
  96. package/dist/terms/predicate_term.d.ts +3 -3
  97. package/dist/terms/predicate_term.js +3 -3
  98. package/dist/terms/predicate_term.js.map +1 -1
  99. package/dist/terms/target_term.d.ts +3 -2
  100. package/dist/terms/target_term.js +11 -17
  101. package/dist/terms/target_term.js.map +1 -1
  102. package/dist/util/dense_set.js +1 -1
  103. package/dist/util/id_pool.d.ts +2 -0
  104. package/dist/util/id_pool.js +10 -0
  105. package/dist/util/id_pool.js.map +1 -1
  106. package/dist/util/ordered_set.js +15 -10
  107. package/dist/util/ordered_set.js.map +1 -1
  108. package/dist/world/world.components.d.ts +5 -9
  109. package/dist/world/world.components.js +16 -28
  110. package/dist/world/world.components.js.map +1 -1
  111. package/dist/world/world.d.ts +3 -6
  112. package/dist/world/world.entities.d.ts +2 -2
  113. package/dist/world/world.entities.js.map +1 -1
  114. package/dist/world/world.js +10 -10
  115. package/dist/world/world.js.map +1 -1
  116. package/dist/world/world.modules.d.ts +4 -7
  117. package/dist/world/world.modules.js +13 -10
  118. package/dist/world/world.modules.js.map +1 -1
  119. package/dist/world/world.pipeline.d.ts +5 -8
  120. package/dist/world/world.pipeline.js +24 -53
  121. package/dist/world/world.pipeline.js.map +1 -1
  122. package/dist/world/world.pools.d.ts +2 -1
  123. package/dist/world/world.pools.js.map +1 -1
  124. package/dist/world/world.queries.d.ts +3 -5
  125. package/dist/world/world.queries.js +11 -8
  126. package/dist/world/world.queries.js.map +1 -1
  127. package/package.json +2 -2
  128. package/dist/phase.d.ts +0 -29
  129. package/dist/phase.js +0 -24
  130. package/dist/phase.js.map +0 -1
  131. package/dist/query/query.00.base.d.ts +0 -23
  132. package/dist/query/query.00.base.js +0 -77
  133. package/dist/query/query.00.base.js.map +0 -1
  134. package/dist/query/query.01.reactive.d.ts +0 -7
  135. package/dist/query/query.01.reactive.js +0 -58
  136. package/dist/query/query.01.reactive.js.map +0 -1
  137. package/dist/query/query.02.lifecycle.d.ts +0 -6
  138. package/dist/query/query.02.lifecycle.js +0 -63
  139. package/dist/query/query.02.lifecycle.js.map +0 -1
  140. package/dist/query/query.03.tracking.js +0 -31
  141. package/dist/query/query.03.tracking.js.map +0 -1
  142. package/dist/query/query.04.callbacks.d.ts +0 -14
  143. package/dist/query/query.04.callbacks.js +0 -65
  144. package/dist/query/query.04.callbacks.js.map +0 -1
  145. package/dist/query/query.05.updates.d.ts +0 -14
  146. package/dist/query/query.05.updates.js +0 -81
  147. package/dist/query/query.05.updates.js.map +0 -1
  148. package/dist/query/query.06.predicate.d.ts +0 -13
  149. package/dist/query/query.06.predicate.js +0 -40
  150. package/dist/query/query.06.predicate.js.map +0 -1
  151. package/dist/query/query.07.groups.d.ts +0 -41
  152. package/dist/query/query.07.groups.js.map +0 -1
  153. package/dist/relationship.d.ts +0 -19
  154. package/dist/relationship.js +0 -18
  155. package/dist/relationship.js.map +0 -1
@@ -41,7 +41,9 @@ export function getTerm(world, dsl) {
41
41
  /**
42
42
  * Return the cached term for `dsl` without creating one if absent.
43
43
  *
44
- * Useful for introspection and testing; does not simplify the DSL.
44
+ * Useful for introspection and testing. It canonicalizes `dsl` (via the same
45
+ * simplify + cache-key path as {@link getTerm}) to look the term up, but never
46
+ * creates one.
45
47
  *
46
48
  * @param world - Owning world.
47
49
  * @param dsl - Query DSL expression to look up.
@@ -83,7 +85,8 @@ export function notifyComponentRemoved(world, componentEid, entity) {
83
85
  * Notify the term graph that a new entity was created.
84
86
  *
85
87
  * The world term evaluates the entity immediately and emits an enter event if
86
- * it qualifies (i.e. it is not a `Component` instance).
88
+ * it qualifies (any live, non-destroyed entity component-definition entities
89
+ * included, so they are picked up reactively like ordinary entities).
87
90
  */
88
91
  export function notifyEntityCreated(world, entity) {
89
92
  world._worldTerm?.entityCreated(entity);
@@ -148,14 +151,14 @@ function _dispatch(world, dsl, key) {
148
151
  // World-singleton leaf getters
149
152
  // ---------------------------------------------------------------------------
150
153
  /**
151
- * Return the world's singleton `ComponentTerm` for `eid`, creating it if
154
+ * Return the world's singleton `ComponentTerm` for `ceid`, creating it if
152
155
  * absent.
153
156
  */
154
- function getComponentTerm(world, eid, key) {
155
- let term = world._componentTerms.get(eid);
157
+ function getComponentTerm(world, ceid, key) {
158
+ let term = world._componentTerms.get(ceid);
156
159
  if (!term) {
157
- term = new ComponentTerm(world, key, eid, (t) => destroyTerm(world, t));
158
- world._componentTerms.set(eid, term);
160
+ term = new ComponentTerm(world, key, ceid, (t) => destroyTerm(world, t));
161
+ world._componentTerms.set(ceid, term);
159
162
  }
160
163
  return term;
161
164
  }
@@ -246,9 +249,9 @@ function _analyzeDSL(dsl) {
246
249
  }
247
250
  if ("only" in dsl) {
248
251
  const components = dsl.only instanceof Array ? dsl.only : [dsl.only];
249
- const childAnalyses = components.map((eid) => ({
250
- leafKeys: new Set([`C:${eid}`]),
251
- componentEids: new Set([eid]),
252
+ const childAnalyses = components.map((ceid) => ({
253
+ leafKeys: new Set([`C:${ceid}`]),
254
+ componentEids: new Set([ceid]),
252
255
  dependsOnWorld: false,
253
256
  containsOnly: false,
254
257
  containsTarget: false,
@@ -274,9 +277,9 @@ function _analyzeDSL(dsl) {
274
277
  containsOnly: false,
275
278
  containsTarget: false,
276
279
  },
277
- ...watch.map((eid) => ({
278
- leafKeys: new Set([`C:${eid}`]),
279
- componentEids: new Set([eid]),
280
+ ...watch.map((ceid) => ({
281
+ leafKeys: new Set([`C:${ceid}`]),
282
+ componentEids: new Set([ceid]),
280
283
  dependsOnWorld: false,
281
284
  containsOnly: false,
282
285
  containsTarget: false,
@@ -321,7 +324,7 @@ function _mergeAnalyses(analyses) {
321
324
  };
322
325
  for (const a of analyses) {
323
326
  a.leafKeys.forEach((k) => merged.leafKeys.add(k));
324
- a.componentEids.forEach((eid) => merged.componentEids.add(eid));
327
+ a.componentEids.forEach((ceid) => merged.componentEids.add(ceid));
325
328
  merged.dependsOnWorld || (merged.dependsOnWorld = a.dependsOnWorld);
326
329
  merged.containsOnly || (merged.containsOnly = a.containsOnly);
327
330
  merged.containsTarget || (merged.containsTarget = a.containsTarget);
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/terms/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/terms/build.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Entity } from "../entity/index.js";
1
+ import type { EID, Entity } from "../entity/index.js";
2
2
  import type { World } from "../world/index.js";
3
3
  import { Term } from "./term.js";
4
4
  /**
@@ -19,8 +19,8 @@ import { Term } from "./term.js";
19
19
  * about component values.
20
20
  */
21
21
  export declare class ComponentTerm extends Term {
22
- readonly componentEid: number;
23
- constructor(world: World, key: string, componentEid: number, onDestroy: (term: Term) => void);
22
+ readonly componentEid: EID;
23
+ constructor(world: World, key: string, componentEid: EID, onDestroy: (term: Term) => void);
24
24
  /** Called by `build.ts` when the component is added to `entity`. */
25
25
  componentAdded(entity: Entity): void;
26
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"component_term.js","sourceRoot":"","sources":["../../src/terms/component_term.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,aAAc,SAAQ,IAAI;IACrC,YACE,KAAY,EACZ,GAAW,EACK,YAAoB,EACpC,SAA+B;QAE/B,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAHhC,iBAAY,GAAZ,YAAY,CAAQ;QAIpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,oEAAoE;IAC7D,cAAc,CAAC,MAAc;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;;OAOG;IACI,gBAAgB,CAAC,MAAc;QACpC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,wEAAwE;IACjE,gBAAgB,CAAC,MAAc;QACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,gBAAgB;IACN,QAAQ,CAAC,MAAc;QAC/B,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC;IAC5E,CAAC;CACF"}
1
+ {"version":3,"file":"component_term.js","sourceRoot":"","sources":["../../src/terms/component_term.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,aAAc,SAAQ,IAAI;IACrC,YACE,KAAY,EACZ,GAAW,EACK,YAAiB,EACjC,SAA+B;QAE/B,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAHhC,iBAAY,GAAZ,YAAY,CAAK;QAIjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,oEAAoE;IAC7D,cAAc,CAAC,MAAc;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;;OAOG;IACI,gBAAgB,CAAC,MAAc;QACpC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,wEAAwE;IACjE,gBAAgB,CAAC,MAAc;QACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,gBAAgB;IACN,QAAQ,CAAC,MAAc;QAC/B,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC;IAC5E,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import type { QueryDSL } from "../dsl.js";
2
+ import type { World } from "../world/index.js";
3
+ import { Term } from "./term.js";
4
+ import { type MergedInfo } from "./predicate_term.js";
5
+ import type { getTerm as GetTermFn } from "./build.js";
6
+ /** Diamond analysis callback injected into composite builds to avoid circular imports. */
7
+ export type CompositePrecheck = (terms: readonly QueryDSL[]) => {
8
+ hasDiamond: boolean;
9
+ containsTarget: boolean;
10
+ info: MergedInfo;
11
+ };
12
+ /** Constructor shape shared by {@link AllTerm} and {@link AnyTerm}. */
13
+ export type CompositeTermCtor = new (world: World, key: string, children: readonly Term[], onDestroy: (term: Term) => void) => Term;
14
+ /**
15
+ * Shared build logic for the `all` / `any` composite terms.
16
+ *
17
+ * Runs the diamond pre-check and either short-circuits to a merged
18
+ * `PredicateTerm` (when a leaf diamond is detected and no target term is
19
+ * involved) or constructs the requested composite node from its child terms.
20
+ * `AllTerm` and `AnyTerm` differ only in which constructor they pass.
21
+ *
22
+ * @param Ctor - The composite term constructor (`AllTerm` or `AnyTerm`).
23
+ * @param world - Owning world.
24
+ * @param terms - Direct child DSL nodes.
25
+ * @param key - Canonical cache key.
26
+ * @param originalDSL - The full DSL node (used when collapsing to a merged term).
27
+ * @param getTerm - Term canonicalizer / cache accessor.
28
+ * @param precheck - Diamond analysis callback.
29
+ * @param onDestroy - Called when the last consumer unsubscribes.
30
+ * @returns The composite term or, on diamond, a merged `PredicateTerm`.
31
+ */
32
+ export declare function buildCompositeTerm(Ctor: CompositeTermCtor, world: World, terms: readonly QueryDSL[], key: string, originalDSL: QueryDSL, getTerm: typeof GetTermFn, precheck: CompositePrecheck, onDestroy: (term: Term) => void): Term;
@@ -0,0 +1,28 @@
1
+ import { PredicateTerm } from "./predicate_term.js";
2
+ /**
3
+ * Shared build logic for the `all` / `any` composite terms.
4
+ *
5
+ * Runs the diamond pre-check and either short-circuits to a merged
6
+ * `PredicateTerm` (when a leaf diamond is detected and no target term is
7
+ * involved) or constructs the requested composite node from its child terms.
8
+ * `AllTerm` and `AnyTerm` differ only in which constructor they pass.
9
+ *
10
+ * @param Ctor - The composite term constructor (`AllTerm` or `AnyTerm`).
11
+ * @param world - Owning world.
12
+ * @param terms - Direct child DSL nodes.
13
+ * @param key - Canonical cache key.
14
+ * @param originalDSL - The full DSL node (used when collapsing to a merged term).
15
+ * @param getTerm - Term canonicalizer / cache accessor.
16
+ * @param precheck - Diamond analysis callback.
17
+ * @param onDestroy - Called when the last consumer unsubscribes.
18
+ * @returns The composite term or, on diamond, a merged `PredicateTerm`.
19
+ */
20
+ export function buildCompositeTerm(Ctor, world, terms, key, originalDSL, getTerm, precheck, onDestroy) {
21
+ const checked = precheck(terms);
22
+ if (checked.hasDiamond && !checked.containsTarget) {
23
+ return PredicateTerm.buildMerged(world, originalDSL, key, checked.info, getTerm, onDestroy);
24
+ }
25
+ const children = terms.map((dsl) => getTerm(world, dsl));
26
+ return new Ctor(world, key, children, onDestroy);
27
+ }
28
+ //# sourceMappingURL=composite_build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite_build.js","sourceRoot":"","sources":["../../src/terms/composite_build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AAkBrE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAuB,EACvB,KAAY,EACZ,KAA0B,EAC1B,GAAW,EACX,WAAqB,EACrB,OAAyB,EACzB,QAA2B,EAC3B,SAA+B;IAE/B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACzD,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Entity } from "../entity/index.js";
1
+ import type { EID, Entity } from "../entity/index.js";
2
2
  import type { World } from "../world/index.js";
3
3
  import { Term } from "./term.js";
4
4
  import type { getTerm as GetTermFn } from "./build.js";
@@ -21,7 +21,7 @@ import type { getTerm as GetTermFn } from "./build.js";
21
21
  */
22
22
  export declare class OnlyTerm extends Term {
23
23
  private readonly _componentEids;
24
- constructor(world: World, key: string, allTerm: Term, worldTerm: Term, _componentEids: readonly number[], onDestroy: (term: Term) => void);
24
+ constructor(world: World, key: string, allTerm: Term, worldTerm: Term, _componentEids: readonly EID[], onDestroy: (term: Term) => void);
25
25
  /**
26
26
  * Build an `OnlyTerm` for the given component eid list.
27
27
  *
@@ -32,7 +32,7 @@ export declare class OnlyTerm extends Term {
32
32
  * @param getTerm - Term canonicalizer / cache accessor.
33
33
  * @param onDestroy - Called when the last consumer unsubscribes.
34
34
  */
35
- static build(world: World, componentEids: readonly number[], key: string, getTerm: typeof GetTermFn, onDestroy: (term: Term) => void): OnlyTerm;
35
+ static build(world: World, componentEids: readonly EID[], key: string, getTerm: typeof GetTermFn, onDestroy: (term: Term) => void): OnlyTerm;
36
36
  /**
37
37
  * Shape-channel entry point: called directly by `WorldTerm` when the entity's
38
38
  * component set changes.
@@ -1 +1 @@
1
- {"version":3,"file":"only_term.js","sourceRoot":"","sources":["../../src/terms/only_term.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,QAAS,SAAQ,IAAI;IAChC,YACE,KAAY,EACZ,GAAW,EACX,OAAa,EACb,SAAe,EACE,cAAiC,EAClD,SAA+B;QAE/B,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAH3B,mBAAc,GAAd,cAAc,CAAmB;QAIlD,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACxC,IAAI,SAAS,YAAY,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,KAAK,CACjB,KAAY,EACZ,aAAgC,EAChC,GAAW,EACX,OAAyB,EACzB,SAA+B;QAE/B,uEAAuE;QACvE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,aAAyB,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;OASG;IACa,aAAa,CAAC,MAAc;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACgB,eAAe,CAAC,MAAc,EAAE,KAAW;QAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,gBAAgB;IACN,QAAQ,CAAC,MAAc;QAC/B,OAAO,CACL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC7B,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CACtD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"only_term.js","sourceRoot":"","sources":["../../src/terms/only_term.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,QAAS,SAAQ,IAAI;IAChC,YACE,KAAY,EACZ,GAAW,EACX,OAAa,EACb,SAAe,EACE,cAA8B,EAC/C,SAA+B;QAE/B,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAH3B,mBAAc,GAAd,cAAc,CAAgB;QAI/C,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACxC,IAAI,SAAS,YAAY,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,KAAK,CACjB,KAAY,EACZ,aAA6B,EAC7B,GAAW,EACX,OAAyB,EACzB,SAA+B;QAE/B,uEAAuE;QACvE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,aAAsB,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;OASG;IACa,aAAa,CAAC,MAAc;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACgB,eAAe,CAAC,MAAc,EAAE,KAAW;QAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,gBAAgB;IACN,QAAQ,CAAC,MAAc;QAC/B,OAAO,CACL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC7B,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CACtD,CAAC;IACJ,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { type EntityTestFunc, type QueryDSL } from "../dsl.js";
2
- import type { Entity } from "../entity/index.js";
2
+ import type { EID, Entity } from "../entity/index.js";
3
3
  import type { World } from "../world/index.js";
4
4
  import { Term } from "./term.js";
5
5
  import type { getTerm as GetTermFn } from "./build.js";
@@ -11,7 +11,7 @@ import type { getTerm as GetTermFn } from "./build.js";
11
11
  * first building — and then having to tear down — the composite child terms.
12
12
  */
13
13
  export type MergedInfo = {
14
- componentEids: ReadonlySet<number>;
14
+ componentEids: ReadonlySet<EID>;
15
15
  dependsOnWorld: boolean;
16
16
  containsOnly: boolean;
17
17
  };
@@ -21,7 +21,7 @@ export type MergedInfo = {
21
21
  * - **Plain predicate** (`kind === "predicate"`): wraps a user-supplied
22
22
  * `{ test, watch }` DSL node. The predicate is evaluated whenever a watched
23
23
  * component changes; membership requires the world leaf to include the entity
24
- * (i.e. it is not destroyed and not a `Component` instance).
24
+ * (i.e. it has not been destroyed).
25
25
  *
26
26
  * - **Merged / diamond-collapsed** (`kind === "merged"`): wraps a compiled
27
27
  * predicate for an `all`/`any` subtree that was detected to contain a
@@ -7,7 +7,7 @@ import { WorldTerm } from "./world_term.js";
7
7
  * - **Plain predicate** (`kind === "predicate"`): wraps a user-supplied
8
8
  * `{ test, watch }` DSL node. The predicate is evaluated whenever a watched
9
9
  * component changes; membership requires the world leaf to include the entity
10
- * (i.e. it is not destroyed and not a `Component` instance).
10
+ * (i.e. it has not been destroyed).
11
11
  *
12
12
  * - **Merged / diamond-collapsed** (`kind === "merged"`): wraps a compiled
13
13
  * predicate for an `all`/`any` subtree that was detected to contain a
@@ -49,7 +49,7 @@ export class PredicateTerm extends Term {
49
49
  static buildPredicate(world, dsl, key, getTerm, onDestroy) {
50
50
  const watch = normalizeWatch(dsl.watch);
51
51
  const worldTerm = getTerm(world, true);
52
- const watchedTerms = watch.map((eid) => getTerm(world, eid));
52
+ const watchedTerms = watch.map((ceid) => getTerm(world, ceid));
53
53
  return new PredicateTerm(world, key, "predicate", dsl.test, worldTerm, watchedTerms, false, onDestroy);
54
54
  }
55
55
  /**
@@ -72,7 +72,7 @@ export class PredicateTerm extends Term {
72
72
  static buildMerged(world, dsl, key, info, getTerm, onDestroy) {
73
73
  const predicate = _compile(world, dsl);
74
74
  const worldTerm = info.dependsOnWorld ? getTerm(world, true) : undefined;
75
- const watchedTerms = [...info.componentEids].map((eid) => getTerm(world, eid));
75
+ const watchedTerms = [...info.componentEids].map((ceid) => getTerm(world, ceid));
76
76
  return new PredicateTerm(world, key, "merged", predicate, worldTerm, watchedTerms, info.containsOnly, onDestroy);
77
77
  }
78
78
  /** Direct shape-channel invalidation from `WorldTerm.subscribeShape`. */
@@ -1 +1 @@
1
- {"version":3,"file":"predicate_term.js","sourceRoot":"","sources":["../../src/terms/predicate_term.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"predicate_term.js","sourceRoot":"","sources":["../../src/terms/predicate_term.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsC,MAAM,WAAW,CAAC;AAGzE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgB5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,aAAc,SAAQ,IAAI;IAKrC,YACE,KAAY,EACZ,GAAW,EACX,IAA4B,EAC5B,SAAyB,EACzB,SAA2B,EAC3B,YAA6B,EAC7B,gBAAyB,EACzB,SAA+B;QAE/B,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,gBAAgB,IAAI,SAAS,YAAY,SAAS,EAAE,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,cAAc,CAC1B,KAAY,EACZ,GAA8C,EAC9C,GAAW,EACX,OAAyB,EACzB,SAA+B;QAE/B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,aAAa,CACtB,KAAK,EACL,GAAG,EACH,WAAW,EACX,GAAG,CAAC,IAAI,EACR,SAAS,EACT,YAAY,EACZ,KAAK,EACL,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CAAC,WAAW,CACvB,KAAY,EACZ,GAAa,EACb,GAAW,EACX,IAAgB,EAChB,OAAyB,EACzB,SAA+B;QAE/B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACjF,OAAO,IAAI,aAAa,CACtB,KAAK,EACL,GAAG,EACH,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,IAAI,CAAC,YAAY,EACjB,SAAS,CACV,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzD,aAAa,CAAC,MAAc;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;;OASG;IACgB,eAAe,CAAC,MAAc,EAAE,KAAW;QAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;YACrF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,gBAAgB;IACN,QAAQ,CAAC,MAAc;QAC/B,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjG,CAAC;CACF;AAED,uEAAuE;AACvE,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjG,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { QueryDSL } from "../dsl.js";
2
+ import type { EID } from "../entity/index.js";
2
3
  import type { World } from "../world/index.js";
3
4
  import { Term } from "./term.js";
4
5
  import type { getTerm as GetTermFn } from "./build.js";
@@ -28,7 +29,7 @@ import type { getTerm as GetTermFn } from "./build.js";
28
29
  export declare class TargetTerm extends Term {
29
30
  private readonly _relationshipEid;
30
31
  private readonly _innerTerm;
31
- constructor(world: World, key: string, _relationshipEid: number, relationshipTerm: Term, _innerTerm: Term, onDestroy: (term: Term) => void);
32
+ constructor(world: World, key: string, _relationshipEid: EID, relationshipTerm: Term, _innerTerm: Term, onDestroy: (term: Term) => void);
32
33
  /**
33
34
  * Build a `TargetTerm` for the given relationship eid and inner DSL.
34
35
  *
@@ -39,5 +40,5 @@ export declare class TargetTerm extends Term {
39
40
  * @param getTerm - Term canonicalizer / cache accessor.
40
41
  * @param onDestroy - Called when the last consumer unsubscribes.
41
42
  */
42
- static build(world: World, relationshipEid: number, innerDSL: QueryDSL, key: string, getTerm: typeof GetTermFn, onDestroy: (term: Term) => void): TargetTerm;
43
+ static build(world: World, relationshipEid: EID, innerDSL: QueryDSL, key: string, getTerm: typeof GetTermFn, onDestroy: (term: Term) => void): TargetTerm;
43
44
  }
@@ -45,8 +45,16 @@ export class TargetTerm extends Term {
45
45
  const innerTerm = getTerm(world, innerDSL);
46
46
  return new TargetTerm(world, key, relationshipEid, relationshipTerm, innerTerm, onDestroy);
47
47
  }
48
+ /** @internal Fan-out child membership event handler. See {@link _fanOut}. */
49
+ _onChildEvent(_kind, entity, child) {
50
+ this._fanOut(entity, child);
51
+ }
52
+ /** @internal Fan-out child refresh handler. See {@link _fanOut}. */
53
+ _onChildRefresh(entity, child) {
54
+ this._fanOut(entity, child);
55
+ }
48
56
  /**
49
- * @internal Fan-out child membership event handler.
57
+ * @internal Shared fan-out logic for child membership and refresh events.
50
58
  *
51
59
  * When the relationship component is added/removed from `entity`
52
60
  * (`child === children[0]`), re-evaluate that entity directly. When the
@@ -54,26 +62,12 @@ export class TargetTerm extends Term {
54
62
  * every source entity that points at that target via the relationship and
55
63
  * re-evaluate each one.
56
64
  */
57
- _onChildEvent(_kind, entity, child) {
58
- if (child === this._children[0]) {
59
- this._sync(entity);
60
- return;
61
- }
62
- entity.children(this._relationshipEid).forEach((source) => this._sync(source));
63
- }
64
- /**
65
- * @internal Fan-out child refresh handler.
66
- *
67
- * Mirrors `_onChildEvent`: a data/shape change on the relationship component
68
- * or the inner term may alter whether a source entity matches, so the same
69
- * fan-out logic applies.
70
- */
71
- _onChildRefresh(entity, child) {
65
+ _fanOut(entity, child) {
72
66
  if (child === this._children[0]) {
73
67
  this._sync(entity);
74
68
  return;
75
69
  }
76
- entity.children(this._relationshipEid).forEach((source) => this._sync(source));
70
+ entity._childrenByEid(this._relationshipEid)?.forEach((source) => this._sync(source));
77
71
  }
78
72
  /** @internal */
79
73
  _matches(entity) {
@@ -1 +1 @@
1
- {"version":3,"file":"target_term.js","sourceRoot":"","sources":["../../src/terms/target_term.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAW,SAAQ,IAAI;IAClC,YACE,KAAY,EACZ,GAAW,EACM,gBAAwB,EACzC,gBAAsB,EACL,UAAgB,EACjC,SAA+B;QAE/B,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAL7B,qBAAgB,GAAhB,gBAAgB,CAAQ;QAExB,eAAU,GAAV,UAAU,CAAM;QAIjC,IAAI,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,KAAK,CACjB,KAAY,EACZ,eAAuB,EACvB,QAAkB,EAClB,GAAW,EACX,OAAyB,EACzB,SAA+B;QAE/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;;OAQG;IACgB,aAAa,CAAC,KAAoB,EAAE,MAAc,EAAE,KAAW;QAChF,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;OAMG;IACgB,eAAe,CAAC,MAAc,EAAE,KAAW;QAC5D,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,gBAAgB;IACN,QAAQ,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAA8B,EAAE,MAAM,CAAC;QACxF,OAAO,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;CACF"}
1
+ {"version":3,"file":"target_term.js","sourceRoot":"","sources":["../../src/terms/target_term.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAW,SAAQ,IAAI;IAClC,YACE,KAAY,EACZ,GAAW,EACM,gBAAqB,EACtC,gBAAsB,EACL,UAAgB,EACjC,SAA+B;QAE/B,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAL7B,qBAAgB,GAAhB,gBAAgB,CAAK;QAErB,eAAU,GAAV,UAAU,CAAM;QAIjC,IAAI,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,KAAK,CACjB,KAAY,EACZ,eAAoB,EACpB,QAAkB,EAClB,GAAW,EACX,OAAyB,EACzB,SAA+B;QAE/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7F,CAAC;IAED,6EAA6E;IAC1D,aAAa,CAAC,KAAoB,EAAE,MAAc,EAAE,KAAW;QAChF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,oEAAoE;IACjD,eAAe,CAAC,MAAc,EAAE,KAAW;QAC5D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;OAQG;IACK,OAAO,CAAC,MAAc,EAAE,KAAW;QACzC,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,gBAAgB;IACN,QAAQ,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAA8B,EAAE,MAAM,CAAC;QACxF,OAAO,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -7,7 +7,7 @@
7
7
  * slot and pops — both O(1) and without the tombstone slots a churned native
8
8
  * `Set` accumulates. The swap means iteration order is **not** insertion order
9
9
  * after a deletion; that is fine for query membership, whose order is
10
- * unspecified unless `Query.sort` is used (which keeps an {@link OrderedSet}
10
+ * unspecified unless `Query.orderBy` is used (which keeps an {@link OrderedSet}
11
11
  * instead).
12
12
  *
13
13
  * @internal Used only inside the package.
@@ -15,6 +15,7 @@ export declare class IdPool {
15
15
  private _lowest;
16
16
  private _minFreeWord;
17
17
  private _next;
18
+ private _allocatedCount;
18
19
  private readonly _waitBuckets;
19
20
  private _waitCursor;
20
21
  constructor(name: string, min: number, max: number | undefined, reuseWaitFrames?: number);
@@ -22,6 +23,7 @@ export declare class IdPool {
22
23
  alloc(): number;
23
24
  free(id: number): void;
24
25
  owns(id: number): boolean;
26
+ get allocated(): number;
25
27
  peek(): number;
26
28
  reserve(id: number): void;
27
29
  private _growBits;
@@ -20,6 +20,8 @@ export class IdPool {
20
20
  // bit below `_next`. Pure hint - alloc walks forward from here. Bumped
21
21
  // up when alloc fills a word to all-ones and pulled back down by free.
22
22
  this._minFreeWord = 0;
23
+ // Running count of currently allocated ids (includes ids in wait buckets).
24
+ this._allocatedCount = 0;
23
25
  this._waitCursor = 0;
24
26
  if (!Number.isSafeInteger(reuseWaitFrames) || reuseWaitFrames < 0) {
25
27
  throw new Error(`Id pool '${name}' reuseWaitFrames must be a non-negative integer`);
@@ -46,6 +48,7 @@ export class IdPool {
46
48
  const word = offset >>> 5;
47
49
  this._bits[word] = this._bits[word] | (1 << offset);
48
50
  this._freeBelowNext--;
51
+ this._allocatedCount++;
49
52
  return cached;
50
53
  }
51
54
  if (this._freeBelowNext > 0) {
@@ -60,6 +63,7 @@ export class IdPool {
60
63
  bits[word] = nw;
61
64
  this._minFreeWord = nw === -1 ? word + 1 : word;
62
65
  this._freeBelowNext--;
66
+ this._allocatedCount++;
63
67
  return this.min + word * 32 + bit;
64
68
  }
65
69
  const max = this.max;
@@ -73,6 +77,7 @@ export class IdPool {
73
77
  if ((cur & mask) === 0) {
74
78
  this._bits[word] = cur | mask;
75
79
  this._next = id + 1;
80
+ this._allocatedCount++;
76
81
  return id;
77
82
  }
78
83
  id++;
@@ -92,6 +97,9 @@ export class IdPool {
92
97
  owns(id) {
93
98
  return id >= this.min && (this.max === undefined || id <= this.max);
94
99
  }
100
+ get allocated() {
101
+ return this._allocatedCount;
102
+ }
95
103
  peek() {
96
104
  if (this._lowest !== -1) {
97
105
  return this._lowest;
@@ -130,6 +138,7 @@ export class IdPool {
130
138
  throw new Error(`Id ${id} is already reserved`);
131
139
  }
132
140
  this._bits[word] = cur | mask;
141
+ this._allocatedCount++;
133
142
  if (id < this._next) {
134
143
  this._freeBelowNext--;
135
144
  }
@@ -155,6 +164,7 @@ export class IdPool {
155
164
  return;
156
165
  }
157
166
  this._bits[word] = cur & ~mask;
167
+ this._allocatedCount--;
158
168
  if (id < this._next) {
159
169
  this._freeBelowNext++;
160
170
  if (word < this._minFreeWord) {
@@ -1 +1 @@
1
- {"version":3,"file":"id_pool.js","sourceRoot":"","sources":["../../src/util/id_pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"id_pool.js","sourceRoot":"","sources":["../../src/util/id_pool.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,10 @@
3
3
  * insertion order.
4
4
  *
5
5
  * Backed by a sorted array. Insertions and lookups are `O(log n)` (binary
6
- * search) plus the cost of an array splice on `add` / `delete`.
6
+ * search) plus the cost of an array splice on `add`. Removal uses identity
7
+ * lookup because sorted values may be mutable.
7
8
  *
8
- * Used by `Query.sort` to keep matched entities in a user-defined order so
9
+ * Used by `Query.orderBy` to keep matched entities in a user-defined order so
9
10
  * iteration in `forEach` and `each` walks them sorted.
10
11
  *
11
12
  * @internal Used only inside the package.
@@ -57,6 +58,15 @@ export class OrderedSet {
57
58
  this._items.splice(i, 0, value);
58
59
  return this;
59
60
  }
61
+ /** Remove `value` by identity, then insert it at its current sort position. */
62
+ reSort(value) {
63
+ const i = this._items.indexOf(value);
64
+ if (i === -1) {
65
+ return this;
66
+ }
67
+ this._items.splice(i, 1);
68
+ return this.add(value);
69
+ }
60
70
  /**
61
71
  * Return `true` when an element comparing equal to `value` is in the set.
62
72
  *
@@ -66,15 +76,10 @@ export class OrderedSet {
66
76
  const i = this._bisect(value);
67
77
  return i < this._items.length && this._compare(this._items[i], value) === 0;
68
78
  }
69
- /**
70
- * Remove the element comparing equal to `value`. Returns `true` if an
71
- * element was removed.
72
- *
73
- * @param value - Element to remove.
74
- */
79
+ /** Remove `value` by identity. Returns `true` if an element was removed. */
75
80
  delete(value) {
76
- const i = this._bisect(value);
77
- if (i < this._items.length && this._compare(this._items[i], value) === 0) {
81
+ const i = this._items.indexOf(value);
82
+ if (i !== -1) {
78
83
  this._items.splice(i, 1);
79
84
  return true;
80
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ordered_set.js","sourceRoot":"","sources":["../../src/util/ordered_set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ordered_set.js","sourceRoot":"","sources":["../../src/util/ordered_set.ts"],"names":[],"mappings":"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"}