@oasys/oecs 0.5.2 → 0.5.4

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 (189) hide show
  1. package/CHANGELOG.md +208 -14
  2. package/README.md +198 -145
  3. package/dist/core/ecs/access_check.d.cts +3 -3
  4. package/dist/core/ecs/access_check.d.ts +3 -3
  5. package/dist/core/ecs/archetype.d.cts +103 -43
  6. package/dist/core/ecs/archetype.d.ts +103 -43
  7. package/dist/core/ecs/archetype.d.ts.map +1 -1
  8. package/dist/core/ecs/archetype_graph.d.cts +8 -8
  9. package/dist/core/ecs/archetype_graph.d.ts +8 -8
  10. package/dist/core/ecs/archetype_graph.d.ts.map +1 -1
  11. package/dist/core/ecs/builtin_relations.d.cts +1 -1
  12. package/dist/core/ecs/builtin_relations.d.ts +1 -1
  13. package/dist/core/ecs/command_log.d.cts +4 -4
  14. package/dist/core/ecs/command_log.d.ts +4 -4
  15. package/dist/core/ecs/command_log.d.ts.map +1 -1
  16. package/dist/core/ecs/component.d.cts +4 -4
  17. package/dist/core/ecs/component.d.ts +4 -4
  18. package/dist/core/ecs/deferred_commands.d.cts +1 -1
  19. package/dist/core/ecs/deferred_commands.d.ts +1 -1
  20. package/dist/core/ecs/deferred_commands.d.ts.map +1 -1
  21. package/dist/core/ecs/ecs.d.cts +85 -43
  22. package/dist/core/ecs/ecs.d.ts +85 -43
  23. package/dist/core/ecs/ecs.d.ts.map +1 -1
  24. package/dist/core/ecs/ecs_memory.d.cts +15 -15
  25. package/dist/core/ecs/ecs_memory.d.ts +15 -15
  26. package/dist/core/ecs/ecs_memory.d.ts.map +1 -1
  27. package/dist/core/ecs/entity_allocator.d.cts +6 -6
  28. package/dist/core/ecs/entity_allocator.d.ts +6 -6
  29. package/dist/core/ecs/entity_allocator.d.ts.map +1 -1
  30. package/dist/core/ecs/event.d.cts +2 -2
  31. package/dist/core/ecs/event.d.ts +2 -2
  32. package/dist/core/ecs/event_registry.d.cts +1 -1
  33. package/dist/core/ecs/event_registry.d.ts +1 -1
  34. package/dist/core/ecs/event_registry.d.ts.map +1 -1
  35. package/dist/core/ecs/facades.d.cts +15 -15
  36. package/dist/core/ecs/facades.d.ts +15 -15
  37. package/dist/core/ecs/facades.d.ts.map +1 -1
  38. package/dist/core/ecs/frame_trace.d.cts +2 -2
  39. package/dist/core/ecs/frame_trace.d.ts +2 -2
  40. package/dist/core/ecs/host_commands.d.cts +12 -12
  41. package/dist/core/ecs/host_commands.d.ts +12 -12
  42. package/dist/core/ecs/host_commands.d.ts.map +1 -1
  43. package/dist/core/ecs/index.d.cts +1 -1
  44. package/dist/core/ecs/index.d.ts +1 -1
  45. package/dist/core/ecs/index.d.ts.map +1 -1
  46. package/dist/core/ecs/observer.d.cts +9 -9
  47. package/dist/core/ecs/observer.d.ts +9 -9
  48. package/dist/core/ecs/observer.d.ts.map +1 -1
  49. package/dist/core/ecs/query.d.cts +91 -70
  50. package/dist/core/ecs/query.d.ts +91 -70
  51. package/dist/core/ecs/query.d.ts.map +1 -1
  52. package/dist/core/ecs/ref.d.cts +53 -1
  53. package/dist/core/ecs/ref.d.ts +53 -1
  54. package/dist/core/ecs/ref.d.ts.map +1 -1
  55. package/dist/core/ecs/relation.d.cts +15 -15
  56. package/dist/core/ecs/relation.d.ts +15 -15
  57. package/dist/core/ecs/relation.d.ts.map +1 -1
  58. package/dist/core/ecs/relation_service.d.cts +14 -14
  59. package/dist/core/ecs/relation_service.d.ts +14 -14
  60. package/dist/core/ecs/relation_service.d.ts.map +1 -1
  61. package/dist/core/ecs/resource.d.cts +1 -1
  62. package/dist/core/ecs/resource.d.ts +1 -1
  63. package/dist/core/ecs/resource_registry.d.cts +2 -2
  64. package/dist/core/ecs/resource_registry.d.ts +2 -2
  65. package/dist/core/ecs/resume.d.cts +3 -3
  66. package/dist/core/ecs/resume.d.ts +3 -3
  67. package/dist/core/ecs/resume.d.ts.map +1 -1
  68. package/dist/core/ecs/schedule.d.cts +22 -9
  69. package/dist/core/ecs/schedule.d.ts +22 -9
  70. package/dist/core/ecs/schedule.d.ts.map +1 -1
  71. package/dist/core/ecs/snapshot_service.d.cts +3 -3
  72. package/dist/core/ecs/snapshot_service.d.ts +3 -3
  73. package/dist/core/ecs/sparse_store.d.cts +6 -6
  74. package/dist/core/ecs/sparse_store.d.ts +6 -6
  75. package/dist/core/ecs/sparse_store.d.ts.map +1 -1
  76. package/dist/core/ecs/store.d.cts +189 -110
  77. package/dist/core/ecs/store.d.ts +189 -110
  78. package/dist/core/ecs/store.d.ts.map +1 -1
  79. package/dist/core/ecs/store_layout_listener.d.cts +2 -2
  80. package/dist/core/ecs/store_layout_listener.d.ts +2 -2
  81. package/dist/core/ecs/system.d.cts +8 -8
  82. package/dist/core/ecs/system.d.ts +8 -8
  83. package/dist/core/ecs/system.d.ts.map +1 -1
  84. package/dist/core/ecs/utils/error.d.cts +7 -0
  85. package/dist/core/ecs/utils/error.d.ts +7 -0
  86. package/dist/core/ecs/utils/error.d.ts.map +1 -1
  87. package/dist/core/store/action_ring.d.cts +7 -8
  88. package/dist/core/store/action_ring.d.ts +7 -8
  89. package/dist/core/store/action_ring.d.ts.map +1 -1
  90. package/dist/core/store/allocator.d.cts +58 -35
  91. package/dist/core/store/allocator.d.ts +58 -35
  92. package/dist/core/store/allocator.d.ts.map +1 -1
  93. package/dist/core/store/buffer_backed_column.d.cts +5 -6
  94. package/dist/core/store/buffer_backed_column.d.ts +5 -6
  95. package/dist/core/store/buffer_backed_column.d.ts.map +1 -1
  96. package/dist/core/store/column_store.d.cts +23 -23
  97. package/dist/core/store/column_store.d.ts +23 -23
  98. package/dist/core/store/column_store.d.ts.map +1 -1
  99. package/dist/core/store/command_dispatch.d.cts +1 -1
  100. package/dist/core/store/command_dispatch.d.ts +1 -1
  101. package/dist/core/store/command_ring.d.cts +6 -7
  102. package/dist/core/store/command_ring.d.ts +6 -7
  103. package/dist/core/store/command_ring.d.ts.map +1 -1
  104. package/dist/core/store/descriptor.d.cts +2 -2
  105. package/dist/core/store/descriptor.d.ts +2 -2
  106. package/dist/core/store/entity_index.d.cts +3 -3
  107. package/dist/core/store/entity_index.d.ts +3 -3
  108. package/dist/core/store/event_ring.d.cts +7 -7
  109. package/dist/core/store/event_ring.d.ts +7 -7
  110. package/dist/core/store/extend.d.cts +2 -2
  111. package/dist/core/store/extend.d.ts +2 -2
  112. package/dist/core/store/extend.d.ts.map +1 -1
  113. package/dist/core/store/grow.d.cts +1 -1
  114. package/dist/core/store/grow.d.ts +1 -1
  115. package/dist/core/store/grow.d.ts.map +1 -1
  116. package/dist/core/store/header.d.cts +9 -9
  117. package/dist/core/store/header.d.ts +9 -9
  118. package/dist/core/store/header.d.ts.map +1 -1
  119. package/dist/core/store/layout_ops.d.cts +25 -7
  120. package/dist/core/store/layout_ops.d.ts +25 -7
  121. package/dist/core/store/layout_ops.d.ts.map +1 -1
  122. package/dist/core/store/state_hash.d.cts +3 -3
  123. package/dist/core/store/state_hash.d.ts +3 -3
  124. package/dist/extensions/editor/editor.d.cts +4 -4
  125. package/dist/extensions/editor/editor.d.ts +4 -4
  126. package/dist/extensions/editor/editor.d.ts.map +1 -1
  127. package/dist/extensions/editor/field_handle.d.cts +1 -1
  128. package/dist/extensions/editor/field_handle.d.ts +1 -1
  129. package/dist/extensions/editor/index.d.cts +2 -2
  130. package/dist/extensions/editor/index.d.ts +2 -2
  131. package/dist/extensions/editor/index.development.js +4 -4
  132. package/dist/extensions/editor/index.js +4 -4
  133. package/dist/extensions/reactive/ecs_sync.d.cts +4 -4
  134. package/dist/extensions/reactive/ecs_sync.d.ts +4 -4
  135. package/dist/extensions/reactive/index.d.cts +4 -4
  136. package/dist/extensions/reactive/index.d.ts +4 -4
  137. package/dist/extensions/reactive/index.development.js +3 -3
  138. package/dist/extensions/reactive/index.js +3 -3
  139. package/dist/extensions/solid/index.d.cts +1 -1
  140. package/dist/extensions/solid/index.d.ts +1 -1
  141. package/dist/extensions/solid/index.development.js +1 -1
  142. package/dist/extensions/solid/index.js +1 -1
  143. package/dist/extensions/solid/kernel_solid.d.cts +1 -1
  144. package/dist/extensions/solid/kernel_solid.d.ts +1 -1
  145. package/dist/extensions/solid/kernel_solid.d.ts.map +1 -1
  146. package/dist/{host_commands-BI8pEmjH.js → host_commands-BlR3oZ3x.js} +473 -393
  147. package/dist/host_commands-C2cpU3yC.cjs +1 -0
  148. package/dist/index.cjs +1 -1
  149. package/dist/index.d.cts +2 -2
  150. package/dist/index.d.ts +2 -2
  151. package/dist/index.d.ts.map +1 -1
  152. package/dist/index.development.cjs +1 -1
  153. package/dist/index.development.js +3345 -2963
  154. package/dist/index.js +1496 -1131
  155. package/dist/{internal-BMDgWZbt.js → internal-BoxWl4dG.js} +410 -330
  156. package/dist/internal-CGBEwfeB.cjs +2 -0
  157. package/dist/internal.cjs +1 -1
  158. package/dist/internal.development.cjs +1 -1
  159. package/dist/internal.development.js +1 -1
  160. package/dist/internal.js +1 -1
  161. package/dist/primitives.development.js +1 -1
  162. package/dist/primitives.js +1 -1
  163. package/dist/reactive/index.d.cts +2 -2
  164. package/dist/reactive/index.d.ts +2 -2
  165. package/dist/reactive/index.development.js +1 -1
  166. package/dist/reactive/index.js +1 -1
  167. package/dist/reactive/kernel.d.cts +5 -5
  168. package/dist/reactive/kernel.d.ts +5 -5
  169. package/dist/reactive/shallow.d.cts +1 -1
  170. package/dist/reactive/shallow.d.ts +1 -1
  171. package/dist/{shallow-DfnAm9vG.js → shallow-Bs39EPh1.js} +1 -1
  172. package/dist/{shallow-9S1pY_Iw.js → shallow-CiFC70Dz.js} +1 -1
  173. package/dist/{shared-BU1Cd40h.js → shared-B4v0L1cw.js} +41 -35
  174. package/dist/shared-DU78k0pU.cjs +1 -0
  175. package/dist/shared.cjs +1 -1
  176. package/dist/shared.d.cts +1 -1
  177. package/dist/shared.d.ts +1 -1
  178. package/dist/shared.development.cjs +1 -1
  179. package/dist/shared.development.js +1 -1
  180. package/dist/shared.js +1 -1
  181. package/dist/type_primitives/typed_arrays/typed_arrays.d.cts +2 -2
  182. package/dist/type_primitives/typed_arrays/typed_arrays.d.ts +2 -2
  183. package/dist/{typed_arrays-BcXcnzB4.js → typed_arrays-DIVwVy5_.js} +1 -1
  184. package/dist/version.d.cts +2 -2
  185. package/dist/version.d.ts +2 -2
  186. package/package.json +1 -1
  187. package/dist/host_commands-CxhpzMx9.cjs +0 -1
  188. package/dist/internal-LiTSB_tG.cjs +0 -2
  189. package/dist/shared-BymrGTyR.cjs +0 -1
@@ -12,7 +12,7 @@ export declare enum SCHEDULE {
12
12
  POST_UPDATE = "POST_UPDATE"
13
13
  }
14
14
  /**
15
- * An opaque handle for a named group of systems (#576). A set carries a shared
15
+ * An opaque handle for a named group of systems. A set carries a shared
16
16
  * run condition and shared ordering that every member inherits. Sets are
17
17
  * identified by **object identity**, not by name — create one with
18
18
  * `systemSet(name)`, hold the handle, and reuse it across `addSystems`
@@ -22,13 +22,13 @@ export declare enum SCHEDULE {
22
22
  export interface SystemSet {
23
23
  readonly name: string;
24
24
  }
25
- /** Create a `SystemSet` handle (#576). Two calls with the same name are two
25
+ /** Create a `SystemSet` handle. Two calls with the same name are two
26
26
  * distinct sets — keep the returned handle and pass it around. */
27
27
  export declare function systemSet(name: string): SystemSet;
28
28
  /** A `before`/`after` ordering target: either a concrete system or a whole set
29
29
  * (expanded to its members within the same phase at sort time). */
30
30
  export type SystemOrderingTarget = SystemDescriptor | SystemSet;
31
- /** Shared configuration applied to a `SystemSet` via `configureSet` (#576).
31
+ /** Shared configuration applied to a `SystemSet` via `configureSet`.
32
32
  * Accumulates across calls — conditions AND together, ordering targets union. */
33
33
  export interface SystemSetConfig {
34
34
  /** Condition(s) every member is gated by (ANDed with each member's own). */
@@ -46,10 +46,10 @@ export interface SystemEntry {
46
46
  system: SystemDescriptor;
47
47
  ordering?: SystemOrdering;
48
48
  /** Run condition(s) gating just this system — ANDed with any set conditions
49
- * it inherits (#576). A `false` verdict skips the body that tick. */
49
+ * it inherits. A `false` verdict skips the body that tick. */
50
50
  runIf?: RunCondition | readonly RunCondition[];
51
51
  /** Set membership — the system inherits each set's shared condition and
52
- * ordering (#576). */
52
+ * ordering. */
53
53
  set?: SystemSet | readonly SystemSet[];
54
54
  }
55
55
  export declare class Schedule {
@@ -57,6 +57,9 @@ export declare class Schedule {
57
57
  private readonly sortedCache;
58
58
  private readonly systemIndex;
59
59
  private readonly systemLastRun;
60
+ private readonly lastRunSlots;
61
+ private readonly freeLastRunSlots;
62
+ private _driveDepth;
60
63
  private readonly gatedSystems;
61
64
  private readonly setConditions;
62
65
  private readonly setOrdering;
@@ -65,17 +68,19 @@ export declare class Schedule {
65
68
  /** Dev-diagnostic sink (`ECSOptions.onWarn`); defaults to `console.warn`.
66
69
  * The only schedule diagnostic today is `warnDroppedEdge`. */
67
70
  private readonly onWarn;
71
+ /** The `FIXED_UPDATE` node list, held directly for `hasFixedSystems`. */
72
+ private readonly _fixedNodes;
68
73
  constructor(onWarn?: (message: string) => void);
69
74
  addSystems(label: SCHEDULE, ...entries: (SystemDescriptor | SystemEntry)[]): void;
70
75
  /**
71
- * Configure a `SystemSet` (#576) — its shared run condition(s) and/or
76
+ * Configure a `SystemSet` — its shared run condition(s) and/or
72
77
  * ordering, inherited by every member. Additive and order-independent w.r.t.
73
78
  * `addSystems`: conditions accumulate (ANDed), ordering targets union, and
74
79
  * a member added before or after this call picks the configuration up.
75
80
  */
76
81
  configureSet(set: SystemSet, config: SystemSetConfig): void;
77
82
  removeSystem(system: SystemDescriptor): void;
78
- /** Attach (or, with `null`, detach) the opt-in compute backend (#622). Driven
83
+ /** Attach (or, with `null`, detach) the opt-in compute backend. Driven
79
84
  * by `ECS.attachBackend`; routes any scheduled system carrying a
80
85
  * `backendHandle` to `backend.run(handle)` in place of its `fn`. */
81
86
  setBackend(backend: ComputeBackend | null): void;
@@ -85,6 +90,14 @@ export declare class Schedule {
85
90
  hasFixedSystems(): boolean;
86
91
  getAllSystems(): SystemDescriptor[];
87
92
  hasSystem(system: SystemDescriptor): boolean;
93
+ /** Hand `descriptor` its `systemLastRun` slot, keeping the array packed (no
94
+ * holes ⇒ no undefined-check on the read in `runLabel`, which is the whole
95
+ * point of it not being a `Map`). Idempotent for a descriptor already in this
96
+ * schedule — `getSorted` re-asks for every system it sorts. A descriptor that
97
+ * was removed and re-added gets a *fresh* slot starting at tick 0, which is
98
+ * what the previous `Map`-based bookkeeping did (`delete` on remove, `set(…, 0)`
99
+ * on re-add). */
100
+ private _assignLastRunSlot;
88
101
  clear(): void;
89
102
  private runLabel;
90
103
  /**
@@ -95,7 +108,7 @@ export declare class Schedule {
95
108
  * memo lives only for a single `runLabel` pass. Short-circuits on the first
96
109
  * `false`. The system's own conditions evaluate per system, in canonical order.
97
110
  *
98
- * #731 SEMANTIC NOTE: this evaluates a set's conditions once-per-set-per-phase
111
+ * SEMANTIC NOTE: this evaluates a set's conditions once-per-set-per-phase
99
112
  * rather than once-per-member. Equivalent for pure RunConditions; observably
100
113
  * different only if a set condition reads state mutated earlier in the SAME
101
114
  * phase (resources write immediately). That is intentional — the set gates as a
@@ -114,7 +127,7 @@ export declare class Schedule {
114
127
  */
115
128
  private sortSystems;
116
129
  /**
117
- * Add the topo edges for one ordering list (#576). For `"before"` the source
130
+ * Add the topo edges for one ordering list. For `"before"` the source
118
131
  * runs before each target (edge source→target); for `"after"` it runs after
119
132
  * each target (edge target→source). A `SystemSet` target expands to every
120
133
  * member within this phase (self-edges skipped, so a member ordered against
@@ -12,7 +12,7 @@ export declare enum SCHEDULE {
12
12
  POST_UPDATE = "POST_UPDATE"
13
13
  }
14
14
  /**
15
- * An opaque handle for a named group of systems (#576). A set carries a shared
15
+ * An opaque handle for a named group of systems. A set carries a shared
16
16
  * run condition and shared ordering that every member inherits. Sets are
17
17
  * identified by **object identity**, not by name — create one with
18
18
  * `systemSet(name)`, hold the handle, and reuse it across `addSystems`
@@ -22,13 +22,13 @@ export declare enum SCHEDULE {
22
22
  export interface SystemSet {
23
23
  readonly name: string;
24
24
  }
25
- /** Create a `SystemSet` handle (#576). Two calls with the same name are two
25
+ /** Create a `SystemSet` handle. Two calls with the same name are two
26
26
  * distinct sets — keep the returned handle and pass it around. */
27
27
  export declare function systemSet(name: string): SystemSet;
28
28
  /** A `before`/`after` ordering target: either a concrete system or a whole set
29
29
  * (expanded to its members within the same phase at sort time). */
30
30
  export type SystemOrderingTarget = SystemDescriptor | SystemSet;
31
- /** Shared configuration applied to a `SystemSet` via `configureSet` (#576).
31
+ /** Shared configuration applied to a `SystemSet` via `configureSet`.
32
32
  * Accumulates across calls — conditions AND together, ordering targets union. */
33
33
  export interface SystemSetConfig {
34
34
  /** Condition(s) every member is gated by (ANDed with each member's own). */
@@ -46,10 +46,10 @@ export interface SystemEntry {
46
46
  system: SystemDescriptor;
47
47
  ordering?: SystemOrdering;
48
48
  /** Run condition(s) gating just this system — ANDed with any set conditions
49
- * it inherits (#576). A `false` verdict skips the body that tick. */
49
+ * it inherits. A `false` verdict skips the body that tick. */
50
50
  runIf?: RunCondition | readonly RunCondition[];
51
51
  /** Set membership — the system inherits each set's shared condition and
52
- * ordering (#576). */
52
+ * ordering. */
53
53
  set?: SystemSet | readonly SystemSet[];
54
54
  }
55
55
  export declare class Schedule {
@@ -57,6 +57,9 @@ export declare class Schedule {
57
57
  private readonly sortedCache;
58
58
  private readonly systemIndex;
59
59
  private readonly systemLastRun;
60
+ private readonly lastRunSlots;
61
+ private readonly freeLastRunSlots;
62
+ private _driveDepth;
60
63
  private readonly gatedSystems;
61
64
  private readonly setConditions;
62
65
  private readonly setOrdering;
@@ -65,17 +68,19 @@ export declare class Schedule {
65
68
  /** Dev-diagnostic sink (`ECSOptions.onWarn`); defaults to `console.warn`.
66
69
  * The only schedule diagnostic today is `warnDroppedEdge`. */
67
70
  private readonly onWarn;
71
+ /** The `FIXED_UPDATE` node list, held directly for `hasFixedSystems`. */
72
+ private readonly _fixedNodes;
68
73
  constructor(onWarn?: (message: string) => void);
69
74
  addSystems(label: SCHEDULE, ...entries: (SystemDescriptor | SystemEntry)[]): void;
70
75
  /**
71
- * Configure a `SystemSet` (#576) — its shared run condition(s) and/or
76
+ * Configure a `SystemSet` — its shared run condition(s) and/or
72
77
  * ordering, inherited by every member. Additive and order-independent w.r.t.
73
78
  * `addSystems`: conditions accumulate (ANDed), ordering targets union, and
74
79
  * a member added before or after this call picks the configuration up.
75
80
  */
76
81
  configureSet(set: SystemSet, config: SystemSetConfig): void;
77
82
  removeSystem(system: SystemDescriptor): void;
78
- /** Attach (or, with `null`, detach) the opt-in compute backend (#622). Driven
83
+ /** Attach (or, with `null`, detach) the opt-in compute backend. Driven
79
84
  * by `ECS.attachBackend`; routes any scheduled system carrying a
80
85
  * `backendHandle` to `backend.run(handle)` in place of its `fn`. */
81
86
  setBackend(backend: ComputeBackend | null): void;
@@ -85,6 +90,14 @@ export declare class Schedule {
85
90
  hasFixedSystems(): boolean;
86
91
  getAllSystems(): SystemDescriptor[];
87
92
  hasSystem(system: SystemDescriptor): boolean;
93
+ /** Hand `descriptor` its `systemLastRun` slot, keeping the array packed (no
94
+ * holes ⇒ no undefined-check on the read in `runLabel`, which is the whole
95
+ * point of it not being a `Map`). Idempotent for a descriptor already in this
96
+ * schedule — `getSorted` re-asks for every system it sorts. A descriptor that
97
+ * was removed and re-added gets a *fresh* slot starting at tick 0, which is
98
+ * what the previous `Map`-based bookkeeping did (`delete` on remove, `set(…, 0)`
99
+ * on re-add). */
100
+ private _assignLastRunSlot;
88
101
  clear(): void;
89
102
  private runLabel;
90
103
  /**
@@ -95,7 +108,7 @@ export declare class Schedule {
95
108
  * memo lives only for a single `runLabel` pass. Short-circuits on the first
96
109
  * `false`. The system's own conditions evaluate per system, in canonical order.
97
110
  *
98
- * #731 SEMANTIC NOTE: this evaluates a set's conditions once-per-set-per-phase
111
+ * SEMANTIC NOTE: this evaluates a set's conditions once-per-set-per-phase
99
112
  * rather than once-per-member. Equivalent for pure RunConditions; observably
100
113
  * different only if a set condition reads state mutated earlier in the SAME
101
114
  * phase (resources write immediately). That is intentional — the set gates as a
@@ -114,7 +127,7 @@ export declare class Schedule {
114
127
  */
115
128
  private sortSystems;
116
129
  /**
117
- * Add the topo edges for one ordering list (#576). For `"before"` the source
130
+ * Add the topo edges for one ordering list. For `"before"` the source
118
131
  * runs before each target (edge source→target); for `"after"` it runs after
119
132
  * each target (edge target→source). A `SystemSet` target expands to every
120
133
  * member within this phase (self-edges skipped, so a member ordered against
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/schedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/schedule.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export interface SnapshotHost {
38
38
  }
39
39
  export declare class SnapshotService {
40
40
  private readonly host;
41
- /** The allocator IS its own snapshot seam (H1 step 3): free-list copy on
41
+ /** The allocator IS its own snapshot seam: free-list copy on
42
42
  * capture; `setHighWater` + `restoreHostState` on mount. */
43
43
  private readonly allocator;
44
44
  constructor(host: SnapshotHost, allocator: EntityAllocator);
@@ -49,7 +49,7 @@ export declare class SnapshotService {
49
49
  * by the relation side data (`snapshotRelations` — multi forward target
50
50
  * sets, which live outside the sparse store). Both are written in canonical
51
51
  * entity-index order, so two worlds with identical contents inserted in
52
- * different orders snapshot byte-for-byte the same (#470). The reverse index
52
+ * different orders snapshot byte-for-byte the same. The reverse index
53
53
  * is derived and never serialized — `restoreSparse` rebuilds it. */
54
54
  snapshotSparse(): Uint8Array;
55
55
  /** Repopulate the sparse stores from `snapshotSparse` bytes, replacing all
@@ -70,7 +70,7 @@ export declare class SnapshotService {
70
70
  * `(source index → target EntityID)`, which is exactly one reverse edge. */
71
71
  private rebuildRelationIndices;
72
72
  /** Capture the full live world to one self-contained byte buffer that
73
- * `restoreInto` can mount back onto a live, ticking world (#789). Three
73
+ * `restoreInto` can mount back onto a live, ticking world. Three
74
74
  * sections (see `resume.ts`): the dense SAB column bytes, the sparse +
75
75
  * relation bytes, and the host-side bookkeeping the SAB omits. */
76
76
  snapshot(): Uint8Array;
@@ -38,7 +38,7 @@ export interface SnapshotHost {
38
38
  }
39
39
  export declare class SnapshotService {
40
40
  private readonly host;
41
- /** The allocator IS its own snapshot seam (H1 step 3): free-list copy on
41
+ /** The allocator IS its own snapshot seam: free-list copy on
42
42
  * capture; `setHighWater` + `restoreHostState` on mount. */
43
43
  private readonly allocator;
44
44
  constructor(host: SnapshotHost, allocator: EntityAllocator);
@@ -49,7 +49,7 @@ export declare class SnapshotService {
49
49
  * by the relation side data (`snapshotRelations` — multi forward target
50
50
  * sets, which live outside the sparse store). Both are written in canonical
51
51
  * entity-index order, so two worlds with identical contents inserted in
52
- * different orders snapshot byte-for-byte the same (#470). The reverse index
52
+ * different orders snapshot byte-for-byte the same. The reverse index
53
53
  * is derived and never serialized — `restoreSparse` rebuilds it. */
54
54
  snapshotSparse(): Uint8Array;
55
55
  /** Repopulate the sparse stores from `snapshotSparse` bytes, replacing all
@@ -70,7 +70,7 @@ export declare class SnapshotService {
70
70
  * `(source index → target EntityID)`, which is exactly one reverse edge. */
71
71
  private rebuildRelationIndices;
72
72
  /** Capture the full live world to one self-contained byte buffer that
73
- * `restoreInto` can mount back onto a live, ticking world (#789). Three
73
+ * `restoreInto` can mount back onto a live, ticking world. Three
74
74
  * sections (see `resume.ts`): the dense SAB column bytes, the sparse +
75
75
  * relation bytes, and the host-side bookkeeping the SAB omits. */
76
76
  snapshot(): Uint8Array;
@@ -25,11 +25,11 @@ export declare class SparseComponentStore {
25
25
  get size(): number;
26
26
  /** Live entity indices that hold this component (dense, iteration order is
27
27
  * SparseMap insertion/swap order — NOT canonical). Used by the hot query
28
- * integration path (#469); for the determinism surface use
28
+ * integration path; for the determinism surface use
29
29
  * `canonicalIndices` instead. */
30
30
  get indices(): readonly number[];
31
31
  /** Live entity indices in **canonical** (ascending) order — the determinism
32
- * ordering for `stateHash` + snapshot/restore (ADR-0011, #470). The native
32
+ * ordering for `stateHash` + snapshot/restore. The native
33
33
  * `indices` getter is insertion/swap order and would make two worlds with
34
34
  * identical contents reached by different add/remove histories diverge, so
35
35
  * the cold determinism paths sort here. Allocates a sorted copy each call;
@@ -66,7 +66,7 @@ export declare class SparseRestoreError extends Error {
66
66
  * `snapshotColumnStore`). Members are emitted in canonical (ascending
67
67
  * entity-index) order so the bytes are independent of insertion / removal
68
68
  * history: two worlds with identical sparse contents reached by different
69
- * mutation orders serialize byte-for-byte the same (#470).
69
+ * mutation orders serialize byte-for-byte the same.
70
70
  *
71
71
  * Layout (all integers little-endian, to match the dense SAB snapshot and stay
72
72
  * architecture-independent):
@@ -84,7 +84,7 @@ export declare class SparseRestoreError extends Error {
84
84
  * `restoreSparseStores` can reject a snapshot whose shape doesn't match the
85
85
  * stores it's restoring into; `schemaHash` (a `schemaFingerprint` over the
86
86
  * field names + types) goes further and rejects a buffer whose shape matches
87
- * field-for-field but whose field **identity** doesn't (#494). */
87
+ * field-for-field but whose field **identity** doesn't. */
88
88
  export declare function snapshotSparseStores(stores: readonly SparseComponentStore[]): Uint8Array;
89
89
  /** Repopulate already-registered sparse stores from `snapshotSparseStores`
90
90
  * bytes, giving full-equality round-trip (membership + data). The `stores`
@@ -98,10 +98,10 @@ export declare function snapshotSparseStores(stores: readonly SparseComponentSto
98
98
  * or a truncated / over-long buffer) rather than silently corrupting state.
99
99
  * The index bound matters because the index keys a `SparseMap` whose backing
100
100
  * array grows to `index` length — an unvalidated crafted u32 (up to ~4.29e9)
101
- * would allocate multi-GB (#494). */
101
+ * would allocate multi-GB. */
102
102
  export declare function restoreSparseStores(stores: readonly SparseComponentStore[], bytes: Uint8Array): void;
103
103
  /** Read-only validation of a `snapshotSparseStores` buffer against the live
104
- * registry, WITHOUT mutating any store (#789). Mirrors `restoreSparseStores`'s
104
+ * registry, WITHOUT mutating any store. Mirrors `restoreSparseStores`'s
105
105
  * shape/field-identity/index-bounds/frame checks so `Store.restoreInto` can fail
106
106
  * closed on a sparse-registration mismatch BEFORE the dense mount overwrites live
107
107
  * column data. Throws `SparseRestoreError` on any mismatch / malformed buffer. */
@@ -25,11 +25,11 @@ export declare class SparseComponentStore {
25
25
  get size(): number;
26
26
  /** Live entity indices that hold this component (dense, iteration order is
27
27
  * SparseMap insertion/swap order — NOT canonical). Used by the hot query
28
- * integration path (#469); for the determinism surface use
28
+ * integration path; for the determinism surface use
29
29
  * `canonicalIndices` instead. */
30
30
  get indices(): readonly number[];
31
31
  /** Live entity indices in **canonical** (ascending) order — the determinism
32
- * ordering for `stateHash` + snapshot/restore (ADR-0011, #470). The native
32
+ * ordering for `stateHash` + snapshot/restore. The native
33
33
  * `indices` getter is insertion/swap order and would make two worlds with
34
34
  * identical contents reached by different add/remove histories diverge, so
35
35
  * the cold determinism paths sort here. Allocates a sorted copy each call;
@@ -66,7 +66,7 @@ export declare class SparseRestoreError extends Error {
66
66
  * `snapshotColumnStore`). Members are emitted in canonical (ascending
67
67
  * entity-index) order so the bytes are independent of insertion / removal
68
68
  * history: two worlds with identical sparse contents reached by different
69
- * mutation orders serialize byte-for-byte the same (#470).
69
+ * mutation orders serialize byte-for-byte the same.
70
70
  *
71
71
  * Layout (all integers little-endian, to match the dense SAB snapshot and stay
72
72
  * architecture-independent):
@@ -84,7 +84,7 @@ export declare class SparseRestoreError extends Error {
84
84
  * `restoreSparseStores` can reject a snapshot whose shape doesn't match the
85
85
  * stores it's restoring into; `schemaHash` (a `schemaFingerprint` over the
86
86
  * field names + types) goes further and rejects a buffer whose shape matches
87
- * field-for-field but whose field **identity** doesn't (#494). */
87
+ * field-for-field but whose field **identity** doesn't. */
88
88
  export declare function snapshotSparseStores(stores: readonly SparseComponentStore[]): Uint8Array;
89
89
  /** Repopulate already-registered sparse stores from `snapshotSparseStores`
90
90
  * bytes, giving full-equality round-trip (membership + data). The `stores`
@@ -98,10 +98,10 @@ export declare function snapshotSparseStores(stores: readonly SparseComponentSto
98
98
  * or a truncated / over-long buffer) rather than silently corrupting state.
99
99
  * The index bound matters because the index keys a `SparseMap` whose backing
100
100
  * array grows to `index` length — an unvalidated crafted u32 (up to ~4.29e9)
101
- * would allocate multi-GB (#494). */
101
+ * would allocate multi-GB. */
102
102
  export declare function restoreSparseStores(stores: readonly SparseComponentStore[], bytes: Uint8Array): void;
103
103
  /** Read-only validation of a `snapshotSparseStores` buffer against the live
104
- * registry, WITHOUT mutating any store (#789). Mirrors `restoreSparseStores`'s
104
+ * registry, WITHOUT mutating any store. Mirrors `restoreSparseStores`'s
105
105
  * shape/field-identity/index-bounds/frame checks so `Store.restoreInto` can fail
106
106
  * closed on a sparse-registration mismatch BEFORE the dense mount overwrites live
107
107
  * column data. Throws `SparseRestoreError` on any mismatch / malformed buffer. */
@@ -1 +1 @@
1
- {"version":3,"file":"sparse_store.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/sparse_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;KA0BK;AAEL,OAAO,EAAE,KAAK,EAAa,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;;2EAE2E;AAC3E,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAOrE,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAE5C,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI,iBAAiB,GAAG;IACjG,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF;uEACuE;AACvE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,SAAS,eAAe,CAAC,GAC1F,CAAC,GACD,KAAK,CAAC;AAET;;oCAEoC;AACpC,qBAAa,oBAAoB;IAChC,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,SAAgB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrC,SAAgB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5C,SAAgB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEvC,UAAU,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;IAQ7D,wDAAwD;IACxD,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;qCAGiC;IACjC,IAAW,OAAO,IAAI,SAAS,MAAM,EAAE,CAEtC;IAED;;;;;;uDAMmD;IAC5C,gBAAgB,IAAI,MAAM,EAAE;IAInC;;2EAEuE;IAChE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS;IAI3D;0DACsD;IAC/C,KAAK,IAAI,IAAI;IAIpB;;8DAE0D;IACnD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAI7C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIlC;sEACkE;IAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAUlE,wEAAwE;IACjE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrC,6EAA6E;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKpE,0EAA0E;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;CAMxE;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI3B;AAuCD;;;;;;;;;;;;;;;;;;;;;;;kEAuBkE;AAClE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,GAAG,UAAU,CAuCxF;AAED;;;;;;;;;;;;qCAYqC;AACrC,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,SAAS,oBAAoB,EAAE,EACvC,KAAK,EAAE,UAAU,GACf,IAAI,CAkEN;AAED;;;;kFAIkF;AAClF,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,SAAS,oBAAoB,EAAE,EACvC,KAAK,EAAE,UAAU,GACf,IAAI,CA4DN"}
1
+ {"version":3,"file":"sparse_store.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/sparse_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;KA0BK;AAEL,OAAO,EAAE,KAAK,EAAa,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;;2EAE2E;AAC3E,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAOrE,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAE5C,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI,iBAAiB,GAAG;IACjG,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF;uEACuE;AACvE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,SAAS,eAAe,CAAC,GAC1F,CAAC,GACD,KAAK,CAAC;AAET;;oCAEoC;AACpC,qBAAa,oBAAoB;IAChC,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,SAAgB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrC,SAAgB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5C,SAAgB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEvC,UAAU,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;IAQ7D,wDAAwD;IACxD,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;qCAGiC;IACjC,IAAW,OAAO,IAAI,SAAS,MAAM,EAAE,CAEtC;IAED;;;;;;uDAMmD;IAC5C,gBAAgB,IAAI,MAAM,EAAE;IAInC;;2EAEuE;IAChE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS;IAI3D;0DACsD;IAC/C,KAAK,IAAI,IAAI;IAIpB;;8DAE0D;IACnD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAI7C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIlC;sEACkE;IAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAUlE,wEAAwE;IACjE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrC,6EAA6E;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKpE,0EAA0E;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;CAMxE;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI3B;AAuCD;;;;;;;;;;;;;;;;;;;;;;;2DAuB2D;AAC3D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,GAAG,UAAU,CAuCxF;AAED;;;;;;;;;;;;8BAY8B;AAC9B,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,SAAS,oBAAoB,EAAE,EACvC,KAAK,EAAE,UAAU,GACf,IAAI,CAkEN;AAED;;;;kFAIkF;AAClF,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,SAAS,oBAAoB,EAAE,EACvC,KAAK,EAAE,UAAU,GACf,IAAI,CA4DN"}