@oasys/oecs 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/CHANGELOG.md +553 -0
  2. package/README.md +42 -31
  3. package/dist/core/ecs/access_check.d.cts +77 -0
  4. package/dist/core/ecs/access_check.d.ts +8 -8
  5. package/dist/core/ecs/access_check.d.ts.map +1 -1
  6. package/dist/core/ecs/archetype.d.cts +486 -0
  7. package/dist/core/ecs/archetype.d.ts +23 -11
  8. package/dist/core/ecs/archetype.d.ts.map +1 -1
  9. package/dist/core/ecs/archetype_graph.d.cts +96 -0
  10. package/dist/core/ecs/archetype_graph.d.ts +96 -0
  11. package/dist/core/ecs/archetype_graph.d.ts.map +1 -0
  12. package/dist/core/ecs/builtin_relations.d.cts +43 -0
  13. package/dist/core/ecs/builtin_relations.d.ts +8 -8
  14. package/dist/core/ecs/builtin_relations.d.ts.map +1 -1
  15. package/dist/core/ecs/command_log.d.cts +116 -0
  16. package/dist/core/ecs/command_log.d.ts +13 -10
  17. package/dist/core/ecs/command_log.d.ts.map +1 -1
  18. package/dist/core/ecs/component.d.cts +176 -0
  19. package/dist/core/ecs/component.d.ts +75 -5
  20. package/dist/core/ecs/component.d.ts.map +1 -1
  21. package/dist/core/ecs/compute_backend.d.cts +37 -0
  22. package/dist/core/ecs/compute_backend.d.ts +2 -2
  23. package/dist/core/ecs/debug_names.d.cts +7 -0
  24. package/dist/core/ecs/debug_names.d.ts +7 -0
  25. package/dist/core/ecs/debug_names.d.ts.map +1 -0
  26. package/dist/core/ecs/deferred_commands.d.cts +55 -0
  27. package/dist/core/ecs/deferred_commands.d.ts +55 -0
  28. package/dist/core/ecs/deferred_commands.d.ts.map +1 -0
  29. package/dist/core/ecs/dispatch_trace.d.cts +93 -0
  30. package/dist/core/ecs/dispatch_trace.d.ts +3 -3
  31. package/dist/core/ecs/ecs.d.cts +562 -0
  32. package/dist/core/ecs/ecs.d.ts +314 -285
  33. package/dist/core/ecs/ecs.d.ts.map +1 -1
  34. package/dist/core/ecs/ecs_memory.d.cts +179 -0
  35. package/dist/core/ecs/ecs_memory.d.ts +1 -1
  36. package/dist/core/ecs/entity.d.cts +34 -0
  37. package/dist/core/ecs/entity.d.ts +7 -1
  38. package/dist/core/ecs/entity.d.ts.map +1 -1
  39. package/dist/core/ecs/entity_allocator.d.cts +59 -0
  40. package/dist/core/ecs/entity_allocator.d.ts +59 -0
  41. package/dist/core/ecs/entity_allocator.d.ts.map +1 -0
  42. package/dist/core/ecs/event.d.cts +79 -0
  43. package/dist/core/ecs/event.d.ts +36 -11
  44. package/dist/core/ecs/event.d.ts.map +1 -1
  45. package/dist/core/ecs/event_registry.d.cts +22 -0
  46. package/dist/core/ecs/event_registry.d.ts +22 -0
  47. package/dist/core/ecs/event_registry.d.ts.map +1 -0
  48. package/dist/core/ecs/facades.d.cts +158 -0
  49. package/dist/core/ecs/facades.d.ts +158 -0
  50. package/dist/core/ecs/facades.d.ts.map +1 -0
  51. package/dist/core/ecs/frame_stepper.d.cts +58 -0
  52. package/dist/core/ecs/frame_stepper.d.ts +58 -0
  53. package/dist/core/ecs/frame_stepper.d.ts.map +1 -0
  54. package/dist/core/ecs/frame_trace.d.cts +133 -0
  55. package/dist/core/ecs/frame_trace.d.ts +5 -5
  56. package/dist/core/ecs/frame_trace.d.ts.map +1 -1
  57. package/dist/core/ecs/host_commands.d.cts +274 -0
  58. package/dist/core/ecs/host_commands.d.ts +53 -31
  59. package/dist/core/ecs/host_commands.d.ts.map +1 -1
  60. package/dist/core/ecs/index.d.cts +46 -0
  61. package/dist/core/ecs/index.d.ts +45 -40
  62. package/dist/core/ecs/index.d.ts.map +1 -1
  63. package/dist/core/ecs/observer.d.cts +173 -0
  64. package/dist/core/ecs/observer.d.ts +43 -12
  65. package/dist/core/ecs/observer.d.ts.map +1 -1
  66. package/dist/core/ecs/query.d.cts +718 -0
  67. package/dist/core/ecs/query.d.ts +251 -90
  68. package/dist/core/ecs/query.d.ts.map +1 -1
  69. package/dist/core/ecs/ref.d.cts +31 -0
  70. package/dist/core/ecs/ref.d.ts +3 -3
  71. package/dist/core/ecs/relation.d.cts +243 -0
  72. package/dist/core/ecs/relation.d.ts +26 -14
  73. package/dist/core/ecs/relation.d.ts.map +1 -1
  74. package/dist/core/ecs/relation_service.d.cts +235 -0
  75. package/dist/core/ecs/relation_service.d.ts +235 -0
  76. package/dist/core/ecs/relation_service.d.ts.map +1 -0
  77. package/dist/core/ecs/resource.d.cts +53 -0
  78. package/dist/core/ecs/resource.d.ts +25 -5
  79. package/dist/core/ecs/resource.d.ts.map +1 -1
  80. package/dist/core/ecs/resource_registry.d.cts +20 -0
  81. package/dist/core/ecs/resource_registry.d.ts +20 -0
  82. package/dist/core/ecs/resource_registry.d.ts.map +1 -0
  83. package/dist/core/ecs/resume.d.cts +85 -0
  84. package/dist/core/ecs/resume.d.ts +6 -6
  85. package/dist/core/ecs/resume.d.ts.map +1 -1
  86. package/dist/core/ecs/run_condition.d.cts +81 -0
  87. package/dist/core/ecs/run_condition.d.ts +15 -9
  88. package/dist/core/ecs/run_condition.d.ts.map +1 -1
  89. package/dist/core/ecs/schedule.d.cts +142 -0
  90. package/dist/core/ecs/schedule.d.ts +15 -6
  91. package/dist/core/ecs/schedule.d.ts.map +1 -1
  92. package/dist/core/ecs/snapshot_service.d.cts +94 -0
  93. package/dist/core/ecs/snapshot_service.d.ts +94 -0
  94. package/dist/core/ecs/snapshot_service.d.ts.map +1 -0
  95. package/dist/core/ecs/sparse_store.d.cts +110 -0
  96. package/dist/core/ecs/sparse_store.d.ts +5 -2
  97. package/dist/core/ecs/sparse_store.d.ts.map +1 -1
  98. package/dist/core/ecs/store.d.cts +950 -0
  99. package/dist/core/ecs/store.d.ts +143 -342
  100. package/dist/core/ecs/store.d.ts.map +1 -1
  101. package/dist/core/ecs/store_layout_listener.d.cts +23 -0
  102. package/dist/core/ecs/system.d.cts +250 -0
  103. package/dist/core/ecs/system.d.ts +138 -22
  104. package/dist/core/ecs/system.d.ts.map +1 -1
  105. package/dist/{utils/arrays.d.ts → core/ecs/utils/arrays.d.cts} +1 -0
  106. package/dist/core/ecs/utils/error.d.cts +61 -0
  107. package/dist/core/ecs/utils/error.d.ts +12 -2
  108. package/dist/core/ecs/utils/error.d.ts.map +1 -1
  109. package/dist/core/store/action_ring.d.cts +136 -0
  110. package/dist/core/store/allocator.d.cts +238 -0
  111. package/dist/core/store/allocator.d.ts.map +1 -1
  112. package/dist/core/store/buffer_backed_column.d.cts +69 -0
  113. package/dist/core/store/buffer_backed_column.d.ts +2 -2
  114. package/dist/core/store/column_store.d.cts +273 -0
  115. package/dist/core/store/column_store.d.ts +18 -10
  116. package/dist/core/store/column_store.d.ts.map +1 -1
  117. package/dist/core/store/command_dispatch.d.cts +52 -0
  118. package/dist/core/store/command_ring.d.cts +107 -0
  119. package/dist/core/store/descriptor.d.cts +80 -0
  120. package/dist/core/store/descriptor.d.ts +1 -1
  121. package/dist/core/store/descriptor.d.ts.map +1 -1
  122. package/dist/core/store/entity_index.d.cts +108 -0
  123. package/dist/core/store/event_ring.d.cts +95 -0
  124. package/dist/core/store/extend.d.cts +39 -0
  125. package/dist/core/store/extend.d.ts +3 -73
  126. package/dist/core/store/extend.d.ts.map +1 -1
  127. package/dist/core/store/grow.d.cts +34 -0
  128. package/dist/core/store/grow.d.ts +4 -9
  129. package/dist/core/store/grow.d.ts.map +1 -1
  130. package/dist/core/store/header.d.cts +64 -0
  131. package/dist/core/store/header.d.ts +1 -1
  132. package/dist/core/store/header.d.ts.map +1 -1
  133. package/dist/core/store/index.d.cts +17 -0
  134. package/dist/core/store/index.d.ts +16 -15
  135. package/dist/core/store/index.d.ts.map +1 -1
  136. package/dist/core/store/layout_ops.d.cts +152 -0
  137. package/dist/core/store/layout_ops.d.ts +152 -0
  138. package/dist/core/store/layout_ops.d.ts.map +1 -0
  139. package/dist/core/store/region_table.d.cts +74 -0
  140. package/dist/core/store/region_table.d.ts +1 -1
  141. package/dist/core/store/region_table.d.ts.map +1 -1
  142. package/dist/core/store/snapshot.d.cts +43 -0
  143. package/dist/core/store/snapshot.d.ts +2 -2
  144. package/dist/core/store/state_hash.d.cts +38 -0
  145. package/dist/core/store/state_hash.d.ts +1 -1
  146. package/dist/core/store/store_regions.d.cts +38 -0
  147. package/dist/core/store/store_regions.d.ts +1 -1
  148. package/dist/core/store/vendored_abi/abi.d.ts +43 -0
  149. package/dist/core/store/{__generated__ → vendored_abi}/abi.d.ts.map +1 -1
  150. package/dist/dev_flag.d.cts +17 -0
  151. package/dist/dev_flag.d.ts +17 -0
  152. package/dist/dev_flag.d.ts.map +1 -0
  153. package/dist/extensions/editor/editor.d.cts +170 -0
  154. package/dist/extensions/editor/editor.d.ts +43 -22
  155. package/dist/extensions/editor/editor.d.ts.map +1 -1
  156. package/dist/extensions/editor/field_handle.d.cts +40 -0
  157. package/dist/extensions/editor/field_handle.d.ts +8 -3
  158. package/dist/extensions/editor/field_handle.d.ts.map +1 -1
  159. package/dist/extensions/editor/index.cjs +1 -1
  160. package/dist/extensions/editor/index.d.cts +21 -0
  161. package/dist/extensions/editor/index.d.ts +2 -2
  162. package/dist/extensions/editor/index.js +116 -88
  163. package/dist/extensions/reactive/ecs_sync.d.cts +214 -0
  164. package/dist/extensions/reactive/ecs_sync.d.ts +26 -22
  165. package/dist/extensions/reactive/ecs_sync.d.ts.map +1 -1
  166. package/dist/extensions/reactive/index.cjs +1 -1
  167. package/dist/extensions/reactive/index.d.cts +23 -0
  168. package/dist/extensions/reactive/index.d.ts +1 -1
  169. package/dist/extensions/reactive/index.js +106 -116
  170. package/dist/extensions/solid/index.cjs +1 -1
  171. package/dist/extensions/solid/index.d.cts +6 -0
  172. package/dist/extensions/solid/index.d.ts +2 -2
  173. package/dist/extensions/solid/index.js +8 -4
  174. package/dist/extensions/solid/kernel_solid.d.cts +45 -0
  175. package/dist/extensions/solid/kernel_solid.d.ts +6 -3
  176. package/dist/extensions/solid/kernel_solid.d.ts.map +1 -1
  177. package/dist/host_commands-BF8QMi3c.cjs +1 -0
  178. package/dist/host_commands-i4cAeyL5.js +2318 -0
  179. package/dist/index.cjs +1 -2
  180. package/dist/index.d.cts +66 -0
  181. package/dist/index.d.ts +50 -1
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +4469 -5933
  184. package/dist/internal.cjs +2 -0
  185. package/dist/internal.d.cts +20 -0
  186. package/dist/internal.d.ts +20 -0
  187. package/dist/internal.d.ts.map +1 -0
  188. package/dist/internal.js +141 -0
  189. package/dist/primitives.cjs +1 -1
  190. package/dist/primitives.d.cts +18 -0
  191. package/dist/primitives.d.ts +6 -6
  192. package/dist/primitives.js +24 -23
  193. package/dist/reactive/array.d.ts +24 -0
  194. package/dist/reactive/array.d.ts.map +1 -0
  195. package/dist/reactive/index.cjs +1 -0
  196. package/dist/reactive/index.d.cts +11 -0
  197. package/dist/reactive/index.d.ts +11 -0
  198. package/dist/reactive/index.d.ts.map +1 -0
  199. package/dist/reactive/index.js +18 -0
  200. package/dist/reactive/interop.d.cts +19 -0
  201. package/dist/{core/reactive → reactive}/interop.d.ts +1 -1
  202. package/dist/reactive/interop.d.ts.map +1 -0
  203. package/dist/reactive/kernel.d.cts +73 -0
  204. package/dist/{core/reactive → reactive}/kernel.d.ts +5 -3
  205. package/dist/reactive/kernel.d.ts.map +1 -0
  206. package/dist/reactive/map.d.ts +16 -0
  207. package/dist/reactive/map.d.ts.map +1 -0
  208. package/dist/reactive/shallow.d.cts +11 -0
  209. package/dist/reactive/shallow.d.ts +11 -0
  210. package/dist/reactive/shallow.d.ts.map +1 -0
  211. package/dist/reactive/struct.d.cts +10 -0
  212. package/dist/{core/reactive → reactive}/struct.d.ts +1 -1
  213. package/dist/reactive/struct.d.ts.map +1 -0
  214. package/dist/shallow-DQ8aG51_.cjs +1 -0
  215. package/dist/shallow-DfnAm9vG.js +150 -0
  216. package/dist/shared-BU1Cd40h.js +103 -0
  217. package/dist/shared-BymrGTyR.cjs +1 -0
  218. package/dist/shared.cjs +1 -1
  219. package/dist/shared.d.cts +22 -0
  220. package/dist/shared.d.ts +2 -2
  221. package/dist/shared.js +1 -1
  222. package/dist/topological_sort-BDvEyb9W.cjs +1 -0
  223. package/dist/topological_sort-DK6EjpWa.js +135 -0
  224. package/dist/type_primitives/assertions.d.cts +32 -0
  225. package/dist/type_primitives/assertions.d.ts +13 -1
  226. package/dist/type_primitives/assertions.d.ts.map +1 -1
  227. package/dist/type_primitives/binary_heap/binary_heap.d.cts +37 -0
  228. package/dist/type_primitives/bitset/bitset.d.cts +54 -0
  229. package/dist/type_primitives/brand.d.cts +23 -0
  230. package/dist/type_primitives/error.d.cts +16 -0
  231. package/dist/type_primitives/error.d.ts +4 -3
  232. package/dist/type_primitives/error.d.ts.map +1 -1
  233. package/dist/type_primitives/index.d.cts +13 -0
  234. package/dist/type_primitives/index.d.ts +9 -9
  235. package/dist/type_primitives/sparse_map/sparse_map.d.cts +30 -0
  236. package/dist/type_primitives/sparse_set/sparse_set.d.cts +28 -0
  237. package/dist/type_primitives/topological_sort/topological_sort.d.cts +29 -0
  238. package/dist/type_primitives/typed_arrays/typed_arrays.d.cts +127 -0
  239. package/dist/typed_arrays-BcXcnzB4.js +258 -0
  240. package/dist/typed_arrays-D3NmwtCG.cjs +1 -0
  241. package/dist/utils/error.d.cts +6 -0
  242. package/dist/version.d.cts +10 -0
  243. package/dist/version.d.ts +10 -0
  244. package/dist/version.d.ts.map +1 -0
  245. package/package.json +102 -19
  246. package/dist/array-CxbPyiHO.cjs +0 -1
  247. package/dist/array-uFR7Q8fU.js +0 -132
  248. package/dist/core/reactive/array.d.ts.map +0 -1
  249. package/dist/core/reactive/index.cjs +0 -1
  250. package/dist/core/reactive/index.d.ts +0 -10
  251. package/dist/core/reactive/index.d.ts.map +0 -1
  252. package/dist/core/reactive/index.js +0 -17
  253. package/dist/core/reactive/interop.d.ts.map +0 -1
  254. package/dist/core/reactive/kernel.d.ts.map +0 -1
  255. package/dist/core/reactive/map.d.ts.map +0 -1
  256. package/dist/core/reactive/struct.d.ts.map +0 -1
  257. package/dist/log/console_sink.d.ts +0 -4
  258. package/dist/log/console_sink.d.ts.map +0 -1
  259. package/dist/log/index.d.ts +0 -3
  260. package/dist/log/index.d.ts.map +0 -1
  261. package/dist/log/logger.d.ts +0 -27
  262. package/dist/log/logger.d.ts.map +0 -1
  263. package/dist/shared-BXSZnxx4.cjs +0 -1
  264. package/dist/shared-C678TAPY.js +0 -99
  265. package/dist/topological_sort-DlRpSrxu.js +0 -391
  266. package/dist/topological_sort-WAT-VHb-.cjs +0 -1
  267. package/dist/utils/arrays.d.ts.map +0 -1
  268. package/dist/utils/constants.d.ts.map +0 -1
  269. /package/dist/{utils/constants.d.ts → core/ecs/utils/constants.d.cts} +0 -0
  270. /package/dist/core/store/{__generated__/abi.d.ts → vendored_abi/abi.d.cts} +0 -0
  271. /package/dist/{core/reactive/array.d.ts → reactive/array.d.cts} +0 -0
  272. /package/dist/{core/reactive/map.d.ts → reactive/map.d.cts} +0 -0
@@ -1,391 +0,0 @@
1
- const y = 5, b = 31;
2
- class f {
3
- _words;
4
- constructor(s) {
5
- this._words = s ?? new Array(4).fill(0);
6
- }
7
- has(s) {
8
- const t = s >>> 5;
9
- return t >= this._words.length ? !1 : (this._words[t] & 1 << (s & 31)) !== 0;
10
- }
11
- set(s) {
12
- const t = s >>> 5;
13
- t >= this._words.length && this.grow(t + 1), this._words[t] |= 1 << (s & 31);
14
- }
15
- clear(s) {
16
- const t = s >>> 5;
17
- t >= this._words.length || (this._words[t] &= ~(1 << (s & 31)));
18
- }
19
- /** True if no bit is set. */
20
- isEmpty() {
21
- const s = this._words;
22
- for (let t = 0; t < s.length; t++)
23
- if (s[t] !== 0) return !1;
24
- return !0;
25
- }
26
- /** True if any bit is set in both this and other (non-empty intersection). */
27
- overlaps(s) {
28
- const t = this._words, e = s._words, r = t.length < e.length ? t.length : e.length;
29
- for (let n = 0; n < r; n++)
30
- if ((t[n] & e[n]) !== 0) return !0;
31
- return !1;
32
- }
33
- /** True if this is a superset of other (all bits in other are set in this). */
34
- contains(s) {
35
- const t = s._words, e = this._words, r = e.length;
36
- for (let n = 0; n < t.length; n++) {
37
- const o = t[n];
38
- if (o !== 0 && (n >= r || (e[n] & o) !== o))
39
- return !1;
40
- }
41
- return !0;
42
- }
43
- equals(s) {
44
- const t = this._words, e = s._words, r = t.length > e.length ? t.length : e.length;
45
- for (let n = 0; n < r; n++) {
46
- const o = n < t.length ? t[n] : 0, l = n < e.length ? e[n] : 0;
47
- if (o !== l) return !1;
48
- }
49
- return !0;
50
- }
51
- copy() {
52
- return new f(this._words.slice());
53
- }
54
- /** Mutate `target` so it has the same set bits as `this`. Reuses
55
- * `target._words` storage when capacity allows (no allocation) and
56
- * grows it only when `this` is wider. Designed for hot-path scratch
57
- * BitSets where callers want `.copy()` semantics without the
58
- * per-call allocation. Returns `target` for chaining. */
59
- copyInto(s) {
60
- const t = this._words, e = s._words, r = t.length, n = e.length;
61
- if (n >= r) {
62
- for (let o = 0; o < r; o++) e[o] = t[o];
63
- for (let o = r; o < n; o++) e[o] = 0;
64
- } else {
65
- let o = n > 0 ? n : 1;
66
- for (; o < r; ) o *= 2;
67
- const l = new Array(o).fill(0);
68
- for (let i = 0; i < r; i++) l[i] = t[i];
69
- s._words = l;
70
- }
71
- return s;
72
- }
73
- copyWithSet(s) {
74
- const t = s >>> 5, e = t + 1, r = this._words.length > e ? this._words.length : e, n = new Array(r).fill(0);
75
- for (let o = 0; o < this._words.length; o++) n[o] = this._words[o];
76
- return n[t] |= 1 << (s & 31), new f(n);
77
- }
78
- copyWithClear(s) {
79
- const t = this._words.slice(), e = s >>> 5;
80
- return e < t.length && (t[e] &= ~(1 << (s & 31))), new f(t);
81
- }
82
- /** FNV-1a hash. Skips trailing zero words so differently-sized arrays with the same bits hash equally. */
83
- hash() {
84
- let s = 2166136261;
85
- const t = this._words;
86
- let e = t.length - 1;
87
- for (; e >= 0 && t[e] === 0; ) e--;
88
- for (let r = 0; r <= e; r++)
89
- s ^= t[r], s = Math.imul(s, 16777619);
90
- return s;
91
- }
92
- /** Iterate all set bits via lowest-set-bit extraction. */
93
- forEach(s) {
94
- const t = this._words;
95
- for (let e = 0; e < t.length; e++) {
96
- let r = t[e];
97
- if (r === 0) continue;
98
- const n = e << 5;
99
- for (; r !== 0; ) {
100
- const o = r & -r >>> 0, l = 31 - Math.clz32(o);
101
- s(n + l), r ^= o;
102
- }
103
- }
104
- }
105
- grow(s) {
106
- let t = this._words.length;
107
- for (; t < s; ) t *= 2;
108
- const e = new Array(t).fill(0);
109
- for (let r = 0; r < this._words.length; r++) e[r] = this._words[r];
110
- this._words = e;
111
- }
112
- }
113
- class I {
114
- _denseKeys = [];
115
- _denseVals = [];
116
- _sparse = [];
117
- get size() {
118
- return this._denseKeys.length;
119
- }
120
- get keys() {
121
- return this._denseKeys;
122
- }
123
- has(s) {
124
- return this._denseKeys[this._sparse[s]] === s;
125
- }
126
- get(s) {
127
- return this.has(s) ? this._denseVals[this._sparse[s]] : void 0;
128
- }
129
- set(s, t) {
130
- if (this.has(s)) {
131
- this._denseVals[this._sparse[s]] = t;
132
- return;
133
- }
134
- this._sparse[s] = this._denseKeys.length, this._denseKeys.push(s), this._denseVals.push(t);
135
- }
136
- delete(s) {
137
- if (!this.has(s)) return !1;
138
- const t = this._sparse[s], e = this._denseKeys[this._denseKeys.length - 1];
139
- return this._denseKeys[t] = e, this._denseVals[t] = this._denseVals[this._denseVals.length - 1], this._sparse[e] = t, this._denseKeys.pop(), this._denseVals.pop(), !0;
140
- }
141
- clear() {
142
- this._denseKeys.length = 0, this._denseVals.length = 0, this._sparse.length = 0;
143
- }
144
- forEach(s) {
145
- for (let t = 0; t < this._denseKeys.length; t++)
146
- s(this._denseKeys[t], this._denseVals[t]);
147
- }
148
- [Symbol.iterator]() {
149
- let s = 0;
150
- const t = this._denseKeys, e = this._denseVals;
151
- return {
152
- next() {
153
- return s < t.length ? { value: [t[s], e[s++]], done: !1 } : { value: void 0, done: !0 };
154
- }
155
- };
156
- }
157
- }
158
- const c = 16, p = 2;
159
- class u {
160
- constructor(s, t = 16) {
161
- this._ctor = s, this._buf = new s(t);
162
- }
163
- _buf;
164
- _len = 0;
165
- get length() {
166
- return this._len;
167
- }
168
- push(s) {
169
- this._len >= this._buf.length && this._grow(), this._buf[this._len++] = s;
170
- }
171
- pop() {
172
- return this._buf[--this._len];
173
- }
174
- get(s) {
175
- return this._buf[s];
176
- }
177
- setAt(s, t) {
178
- this._buf[s] = t;
179
- }
180
- /**
181
- * Move the last element into slot i, decrement length.
182
- * Returns the value that was removed from slot i.
183
- */
184
- swapRemove(s) {
185
- const t = this._buf[s];
186
- return this._buf[s] = this._buf[--this._len], t;
187
- }
188
- clear() {
189
- this._len = 0;
190
- }
191
- /** Set the logical length directly (snapshot-mount reconstruction, #789). The
192
- * caller guarantees `[0, len)` already holds valid data. Grows the backing if
193
- * needed so the length is always representable. */
194
- setLength(s) {
195
- this.ensureCapacity(s), this._len = s;
196
- }
197
- /**
198
- * Raw backing buffer. Valid data: indices 0..length-1.
199
- * This reference is stable until the next push() that triggers a grow —
200
- * do not cache across entity additions.
201
- */
202
- get buf() {
203
- return this._buf;
204
- }
205
- /**
206
- * Zero-copy subarray view of valid data (0..length-1).
207
- * Shares the backing buffer — invalidated if a subsequent push() grows.
208
- */
209
- view() {
210
- return this._buf.subarray(0, this._len);
211
- }
212
- [Symbol.iterator]() {
213
- let s = 0;
214
- const t = this._buf, e = this._len;
215
- return {
216
- next() {
217
- return s < e ? { value: t[s++], done: !1 } : { value: 0, done: !0 };
218
- }
219
- };
220
- }
221
- /** Ensure the backing buffer can hold at least `capacity` elements without growing. */
222
- ensureCapacity(s) {
223
- if (s <= this._buf.length) return;
224
- let t = this._buf.length || 1;
225
- for (; t < s; ) t *= p;
226
- const e = new this._ctor(t);
227
- e.set(this._buf.subarray(0, this._len)), this._buf = e;
228
- }
229
- /**
230
- * Append `count` elements from `src` starting at `srcOffset`.
231
- * Grows if needed. Equivalent to push() in a loop but uses TypedArray.set().
232
- */
233
- bulkAppend(s, t, e) {
234
- this.ensureCapacity(this._len + e), this._buf.set(s.subarray(t, t + e), this._len), this._len += e;
235
- }
236
- /** Append `count` zeroes. Grows if needed. */
237
- bulkAppendZeroes(s) {
238
- this.ensureCapacity(this._len + s), this._buf.fill(0, this._len, this._len + s), this._len += s;
239
- }
240
- /** Append `count` copies of `value`. Grows if needed. Single-pass
241
- * analogue of `bulkAppendZeroes` for a non-zero default. */
242
- bulkAppendValue(s, t) {
243
- this.ensureCapacity(this._len + t), this._buf.fill(s, this._len, this._len + t), this._len += t;
244
- }
245
- _grow() {
246
- const s = new this._ctor(this._buf.length * p);
247
- s.set(this._buf), this._buf = s;
248
- }
249
- }
250
- class A extends u {
251
- constructor(s = c) {
252
- super(Float32Array, s);
253
- }
254
- }
255
- class S extends u {
256
- constructor(s = c) {
257
- super(Float64Array, s);
258
- }
259
- }
260
- class R extends u {
261
- constructor(s = c) {
262
- super(Int8Array, s);
263
- }
264
- }
265
- class T extends u {
266
- constructor(s = c) {
267
- super(Int16Array, s);
268
- }
269
- }
270
- class E extends u {
271
- constructor(s = c) {
272
- super(Int32Array, s);
273
- }
274
- }
275
- class K extends u {
276
- constructor(s = c) {
277
- super(Uint8Array, s);
278
- }
279
- }
280
- class F extends u {
281
- constructor(s = c) {
282
- super(Uint16Array, s);
283
- }
284
- }
285
- class O extends u {
286
- constructor(s = c) {
287
- super(Uint32Array, s);
288
- }
289
- }
290
- class g {
291
- _compare;
292
- _data = [];
293
- constructor(s) {
294
- this._compare = s;
295
- }
296
- get size() {
297
- return this._data.length;
298
- }
299
- /** Returns the highest-priority element without removing it, or undefined if empty. */
300
- peek() {
301
- return this._data[0];
302
- }
303
- /** Inserts a value and restores heap order by sifting up. O(log n). */
304
- push(s) {
305
- this._data.push(s), this._siftUp(this._data.length - 1);
306
- }
307
- /** Removes and returns the highest-priority element, or undefined if empty. O(log n). */
308
- pop() {
309
- const s = this._data;
310
- if (s.length === 0) return;
311
- const e = s[0], r = s.pop();
312
- return s.length > 0 && (s[0] = r, this._siftDown(0)), e;
313
- }
314
- /** Removes all elements. O(1). */
315
- clear() {
316
- this._data.length = 0;
317
- }
318
- /** Moves a node up toward the root until heap order is restored. */
319
- _siftUp(s) {
320
- const t = this._data, e = this._compare, r = t[s];
321
- for (; s > 0; ) {
322
- const n = s - 1 >> 1;
323
- if (e(r, t[n]) >= 0) break;
324
- t[s] = t[n], s = n;
325
- }
326
- t[s] = r;
327
- }
328
- /** Moves a node down away from the root until heap order is restored. */
329
- _siftDown(s) {
330
- const t = this._data, e = this._compare, r = t.length, n = r >> 1, o = t[s];
331
- for (; s < n; ) {
332
- let l = (s << 1) + 1;
333
- const i = l + 1;
334
- if (i < r && e(t[i], t[l]) < 0 && (l = i), e(t[l], o) >= 0) break;
335
- t[s] = t[l], s = l;
336
- }
337
- t[s] = o;
338
- }
339
- }
340
- function W(h, s, t, e) {
341
- const r = e ?? ((i) => String(i)), n = /* @__PURE__ */ new Map();
342
- for (let i = 0; i < h.length; i++)
343
- n.set(h[i], 0);
344
- for (const [, i] of s)
345
- for (let a = 0; a < i.length; a++) {
346
- const _ = i[a];
347
- n.has(_) && n.set(_, n.get(_) + 1);
348
- }
349
- const o = new g(t);
350
- for (let i = 0; i < h.length; i++)
351
- n.get(h[i]) === 0 && o.push(h[i]);
352
- const l = [];
353
- for (; o.size > 0; ) {
354
- const i = o.pop();
355
- l.push(i);
356
- const a = s.get(i);
357
- if (a !== void 0)
358
- for (let _ = 0; _ < a.length; _++) {
359
- const d = a[_];
360
- if (!n.has(d)) continue;
361
- const w = n.get(d) - 1;
362
- n.set(d, w), w === 0 && o.push(d);
363
- }
364
- }
365
- if (l.length !== h.length) {
366
- const i = [];
367
- for (const [a, _] of n)
368
- _ > 0 && i.push(r(a));
369
- throw new globalThis.TypeError(
370
- `Cycle detected in topological sort. Nodes still pending: ${i.join(", ")}`
371
- );
372
- }
373
- return l;
374
- }
375
- export {
376
- f as B,
377
- u as G,
378
- I as S,
379
- A as a,
380
- S as b,
381
- R as c,
382
- T as d,
383
- E as e,
384
- K as f,
385
- F as g,
386
- O as h,
387
- g as i,
388
- b as j,
389
- y as k,
390
- W as t
391
- };
@@ -1 +0,0 @@
1
- "use strict";class d{_words;constructor(t){this._words=t??new Array(4).fill(0)}has(t){const s=t>>>5;return s>=this._words.length?!1:(this._words[s]&1<<(t&31))!==0}set(t){const s=t>>>5;s>=this._words.length&&this.grow(s+1),this._words[s]|=1<<(t&31)}clear(t){const s=t>>>5;s>=this._words.length||(this._words[s]&=~(1<<(t&31)))}isEmpty(){const t=this._words;for(let s=0;s<t.length;s++)if(t[s]!==0)return!1;return!0}overlaps(t){const s=this._words,e=t._words,n=s.length<e.length?s.length:e.length;for(let r=0;r<n;r++)if((s[r]&e[r])!==0)return!0;return!1}contains(t){const s=t._words,e=this._words,n=e.length;for(let r=0;r<s.length;r++){const o=s[r];if(o!==0&&(r>=n||(e[r]&o)!==o))return!1}return!0}equals(t){const s=this._words,e=t._words,n=s.length>e.length?s.length:e.length;for(let r=0;r<n;r++){const o=r<s.length?s[r]:0,h=r<e.length?e[r]:0;if(o!==h)return!1}return!0}copy(){return new d(this._words.slice())}copyInto(t){const s=this._words,e=t._words,n=s.length,r=e.length;if(r>=n){for(let o=0;o<n;o++)e[o]=s[o];for(let o=n;o<r;o++)e[o]=0}else{let o=r>0?r:1;for(;o<n;)o*=2;const h=new Array(o).fill(0);for(let i=0;i<n;i++)h[i]=s[i];t._words=h}return t}copyWithSet(t){const s=t>>>5,e=s+1,n=this._words.length>e?this._words.length:e,r=new Array(n).fill(0);for(let o=0;o<this._words.length;o++)r[o]=this._words[o];return r[s]|=1<<(t&31),new d(r)}copyWithClear(t){const s=this._words.slice(),e=t>>>5;return e<s.length&&(s[e]&=~(1<<(t&31))),new d(s)}hash(){let t=2166136261;const s=this._words;let e=s.length-1;for(;e>=0&&s[e]===0;)e--;for(let n=0;n<=e;n++)t^=s[n],t=Math.imul(t,16777619);return t}forEach(t){const s=this._words;for(let e=0;e<s.length;e++){let n=s[e];if(n===0)continue;const r=e<<5;for(;n!==0;){const o=n&-n>>>0,h=31-Math.clz32(o);t(r+h),n^=o}}}grow(t){let s=this._words.length;for(;s<t;)s*=2;const e=new Array(s).fill(0);for(let n=0;n<this._words.length;n++)e[n]=this._words[n];this._words=e}}class y{_denseKeys=[];_denseVals=[];_sparse=[];get size(){return this._denseKeys.length}get keys(){return this._denseKeys}has(t){return this._denseKeys[this._sparse[t]]===t}get(t){return this.has(t)?this._denseVals[this._sparse[t]]:void 0}set(t,s){if(this.has(t)){this._denseVals[this._sparse[t]]=s;return}this._sparse[t]=this._denseKeys.length,this._denseKeys.push(t),this._denseVals.push(s)}delete(t){if(!this.has(t))return!1;const s=this._sparse[t],e=this._denseKeys[this._denseKeys.length-1];return this._denseKeys[s]=e,this._denseVals[s]=this._denseVals[this._denseVals.length-1],this._sparse[e]=s,this._denseKeys.pop(),this._denseVals.pop(),!0}clear(){this._denseKeys.length=0,this._denseVals.length=0,this._sparse.length=0}forEach(t){for(let s=0;s<this._denseKeys.length;s++)t(this._denseKeys[s],this._denseVals[s])}[Symbol.iterator](){let t=0;const s=this._denseKeys,e=this._denseVals;return{next(){return t<s.length?{value:[s[t],e[t++]],done:!1}:{value:void 0,done:!0}}}}}const u=16,p=2;class c{constructor(t,s=16){this._ctor=t,this._buf=new t(s)}_buf;_len=0;get length(){return this._len}push(t){this._len>=this._buf.length&&this._grow(),this._buf[this._len++]=t}pop(){return this._buf[--this._len]}get(t){return this._buf[t]}setAt(t,s){this._buf[t]=s}swapRemove(t){const s=this._buf[t];return this._buf[t]=this._buf[--this._len],s}clear(){this._len=0}setLength(t){this.ensureCapacity(t),this._len=t}get buf(){return this._buf}view(){return this._buf.subarray(0,this._len)}[Symbol.iterator](){let t=0;const s=this._buf,e=this._len;return{next(){return t<e?{value:s[t++],done:!1}:{value:0,done:!0}}}}ensureCapacity(t){if(t<=this._buf.length)return;let s=this._buf.length||1;for(;s<t;)s*=p;const e=new this._ctor(s);e.set(this._buf.subarray(0,this._len)),this._buf=e}bulkAppend(t,s,e){this.ensureCapacity(this._len+e),this._buf.set(t.subarray(s,s+e),this._len),this._len+=e}bulkAppendZeroes(t){this.ensureCapacity(this._len+t),this._buf.fill(0,this._len,this._len+t),this._len+=t}bulkAppendValue(t,s){this.ensureCapacity(this._len+s),this._buf.fill(t,this._len,this._len+s),this._len+=s}_grow(){const t=new this._ctor(this._buf.length*p);t.set(this._buf),this._buf=t}}class I extends c{constructor(t=u){super(Float32Array,t)}}class b extends c{constructor(t=u){super(Float64Array,t)}}class A extends c{constructor(t=u){super(Int8Array,t)}}class S extends c{constructor(t=u){super(Int16Array,t)}}class R extends c{constructor(t=u){super(Int32Array,t)}}class T extends c{constructor(t=u){super(Uint8Array,t)}}class E extends c{constructor(t=u){super(Uint16Array,t)}}class F extends c{constructor(t=u){super(Uint32Array,t)}}class g{_compare;_data=[];constructor(t){this._compare=t}get size(){return this._data.length}peek(){return this._data[0]}push(t){this._data.push(t),this._siftUp(this._data.length-1)}pop(){const t=this._data;if(t.length===0)return;const e=t[0],n=t.pop();return t.length>0&&(t[0]=n,this._siftDown(0)),e}clear(){this._data.length=0}_siftUp(t){const s=this._data,e=this._compare,n=s[t];for(;t>0;){const r=t-1>>1;if(e(n,s[r])>=0)break;s[t]=s[r],t=r}s[t]=n}_siftDown(t){const s=this._data,e=this._compare,n=s.length,r=n>>1,o=s[t];for(;t<r;){let h=(t<<1)+1;const i=h+1;if(i<n&&e(s[i],s[h])<0&&(h=i),e(s[h],o)>=0)break;s[t]=s[h],t=h}s[t]=o}}function O(l,t,s,e){const n=e??(i=>String(i)),r=new Map;for(let i=0;i<l.length;i++)r.set(l[i],0);for(const[,i]of t)for(let a=0;a<i.length;a++){const _=i[a];r.has(_)&&r.set(_,r.get(_)+1)}const o=new g(s);for(let i=0;i<l.length;i++)r.get(l[i])===0&&o.push(l[i]);const h=[];for(;o.size>0;){const i=o.pop();h.push(i);const a=t.get(i);if(a!==void 0)for(let _=0;_<a.length;_++){const f=a[_];if(!r.has(f))continue;const w=r.get(f)-1;r.set(f,w),w===0&&o.push(f)}}if(h.length!==l.length){const i=[];for(const[a,_]of r)_>0&&i.push(n(a));throw new globalThis.TypeError(`Cycle detected in topological sort. Nodes still pending: ${i.join(", ")}`)}return h}exports.BITS_PER_WORD_MASK=31;exports.BITS_PER_WORD_SHIFT=5;exports.BinaryHeap=g;exports.BitSet=d;exports.GrowableFloat32Array=I;exports.GrowableFloat64Array=b;exports.GrowableInt16Array=S;exports.GrowableInt32Array=R;exports.GrowableInt8Array=A;exports.GrowableTypedArray=c;exports.GrowableUint16Array=E;exports.GrowableUint32Array=F;exports.GrowableUint8Array=T;exports.SparseMap=y;exports.topologicalSort=O;
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../src/utils/arrays.ts"],"names":[],"mappings":"AAAA;;KAEK;AAEL,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAOhF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,OAAO,KAAK,CAAC;AAC1B,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAsC,CAAC;AAGvF,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAG/C,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAG5C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAGpC,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAGzC,eAAO,MAAM,kBAAkB,IAAI,CAAC"}