@oasys/oecs 0.5.3 → 0.6.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 (510) hide show
  1. package/CHANGELOG.md +1399 -276
  2. package/README.md +327 -169
  3. package/dist/core/ecs/access_check.d.cts +31 -31
  4. package/dist/core/ecs/access_check.d.ts +31 -31
  5. package/dist/core/ecs/access_check.d.ts.map +1 -1
  6. package/dist/core/ecs/archetype.d.cts +273 -205
  7. package/dist/core/ecs/archetype.d.ts +273 -205
  8. package/dist/core/ecs/archetype.d.ts.map +1 -1
  9. package/dist/core/ecs/archetype_closure.d.cts +23 -0
  10. package/dist/core/ecs/archetype_closure.d.ts +23 -0
  11. package/dist/core/ecs/archetype_closure.d.ts.map +1 -0
  12. package/dist/core/ecs/archetype_graph.d.cts +34 -34
  13. package/dist/core/ecs/archetype_graph.d.ts +34 -34
  14. package/dist/core/ecs/archetype_graph.d.ts.map +1 -1
  15. package/dist/core/ecs/archetype_types.d.cts +55 -0
  16. package/dist/core/ecs/archetype_types.d.ts +55 -0
  17. package/dist/core/ecs/archetype_types.d.ts.map +1 -0
  18. package/dist/core/ecs/change_feed.d.cts +53 -0
  19. package/dist/core/ecs/change_feed.d.ts +53 -0
  20. package/dist/core/ecs/change_feed.d.ts.map +1 -0
  21. package/dist/core/ecs/changed_query.d.cts +36 -0
  22. package/dist/core/ecs/changed_query.d.ts +36 -0
  23. package/dist/core/ecs/changed_query.d.ts.map +1 -0
  24. package/dist/core/ecs/chunk_columns.d.cts +49 -0
  25. package/dist/core/ecs/chunk_columns.d.ts +49 -0
  26. package/dist/core/ecs/chunk_columns.d.ts.map +1 -0
  27. package/dist/core/ecs/command_log.d.cts +30 -30
  28. package/dist/core/ecs/command_log.d.ts +30 -30
  29. package/dist/core/ecs/command_log.d.ts.map +1 -1
  30. package/dist/core/ecs/component.d.cts +45 -44
  31. package/dist/core/ecs/component.d.ts +45 -44
  32. package/dist/core/ecs/component.d.ts.map +1 -1
  33. package/dist/core/ecs/component_registry.d.cts +53 -0
  34. package/dist/core/ecs/component_registry.d.ts +53 -0
  35. package/dist/core/ecs/component_registry.d.ts.map +1 -0
  36. package/dist/core/ecs/compute_backend.d.cts +18 -7
  37. package/dist/core/ecs/compute_backend.d.ts +18 -7
  38. package/dist/core/ecs/compute_backend.d.ts.map +1 -1
  39. package/dist/core/ecs/deferred_commands.d.cts +15 -14
  40. package/dist/core/ecs/deferred_commands.d.ts +15 -14
  41. package/dist/core/ecs/deferred_commands.d.ts.map +1 -1
  42. package/dist/core/ecs/dispatch_trace.d.cts +32 -31
  43. package/dist/core/ecs/dispatch_trace.d.ts +32 -31
  44. package/dist/core/ecs/dispatch_trace.d.ts.map +1 -1
  45. package/dist/core/ecs/ecs.d.cts +337 -276
  46. package/dist/core/ecs/ecs.d.ts +337 -276
  47. package/dist/core/ecs/ecs.d.ts.map +1 -1
  48. package/dist/core/ecs/ecs_memory.d.cts +134 -136
  49. package/dist/core/ecs/ecs_memory.d.ts +134 -136
  50. package/dist/core/ecs/ecs_memory.d.ts.map +1 -1
  51. package/dist/core/ecs/ecs_options.d.cts +89 -0
  52. package/dist/core/ecs/ecs_options.d.ts +89 -0
  53. package/dist/core/ecs/ecs_options.d.ts.map +1 -0
  54. package/dist/core/ecs/entity.d.cts +4 -4
  55. package/dist/core/ecs/entity.d.ts +4 -4
  56. package/dist/core/ecs/entity_allocator.d.cts +24 -22
  57. package/dist/core/ecs/entity_allocator.d.ts +24 -22
  58. package/dist/core/ecs/entity_allocator.d.ts.map +1 -1
  59. package/dist/core/ecs/event.d.cts +37 -23
  60. package/dist/core/ecs/event.d.ts +37 -23
  61. package/dist/core/ecs/event.d.ts.map +1 -1
  62. package/dist/core/ecs/facades.d.cts +12 -126
  63. package/dist/core/ecs/facades.d.ts +12 -126
  64. package/dist/core/ecs/facades.d.ts.map +1 -1
  65. package/dist/core/ecs/frame_stepper.d.cts +12 -12
  66. package/dist/core/ecs/frame_stepper.d.ts +12 -12
  67. package/dist/core/ecs/frame_stepper.d.ts.map +1 -1
  68. package/dist/core/ecs/frame_trace.d.cts +34 -34
  69. package/dist/core/ecs/frame_trace.d.ts +34 -34
  70. package/dist/core/ecs/frame_trace.d.ts.map +1 -1
  71. package/dist/core/ecs/host_commands.d.cts +107 -89
  72. package/dist/core/ecs/host_commands.d.ts +107 -89
  73. package/dist/core/ecs/host_commands.d.ts.map +1 -1
  74. package/dist/core/ecs/index.d.cts +22 -12
  75. package/dist/core/ecs/index.d.ts +22 -12
  76. package/dist/core/ecs/index.d.ts.map +1 -1
  77. package/dist/core/ecs/observer.d.cts +41 -122
  78. package/dist/core/ecs/observer.d.ts +41 -122
  79. package/dist/core/ecs/observer.d.ts.map +1 -1
  80. package/dist/core/ecs/phase.d.cts +79 -0
  81. package/dist/core/ecs/phase.d.ts +79 -0
  82. package/dist/core/ecs/phase.d.ts.map +1 -0
  83. package/dist/core/ecs/plugin.d.cts +125 -0
  84. package/dist/core/ecs/plugin.d.ts +125 -0
  85. package/dist/core/ecs/plugin.d.ts.map +1 -0
  86. package/dist/core/ecs/plugin_slots.d.cts +26 -0
  87. package/dist/core/ecs/plugin_slots.d.ts +26 -0
  88. package/dist/core/ecs/plugin_slots.d.ts.map +1 -0
  89. package/dist/core/ecs/query.d.cts +219 -568
  90. package/dist/core/ecs/query.d.ts +219 -568
  91. package/dist/core/ecs/query.d.ts.map +1 -1
  92. package/dist/core/ecs/query_cache.d.cts +130 -0
  93. package/dist/core/ecs/query_cache.d.ts +130 -0
  94. package/dist/core/ecs/query_cache.d.ts.map +1 -0
  95. package/dist/core/ecs/query_registry.d.cts +47 -0
  96. package/dist/core/ecs/query_registry.d.ts +47 -0
  97. package/dist/core/ecs/query_registry.d.ts.map +1 -0
  98. package/dist/core/ecs/query_terms.d.cts +126 -0
  99. package/dist/core/ecs/query_terms.d.ts +126 -0
  100. package/dist/core/ecs/query_terms.d.ts.map +1 -0
  101. package/dist/core/ecs/ref.d.cts +129 -16
  102. package/dist/core/ecs/ref.d.ts +129 -16
  103. package/dist/core/ecs/ref.d.ts.map +1 -1
  104. package/dist/core/ecs/relation.d.cts +105 -186
  105. package/dist/core/ecs/relation.d.ts +105 -186
  106. package/dist/core/ecs/relation.d.ts.map +1 -1
  107. package/dist/core/ecs/resource.d.cts +14 -14
  108. package/dist/core/ecs/resource.d.ts +14 -14
  109. package/dist/core/ecs/resource_registry.d.cts +6 -6
  110. package/dist/core/ecs/resource_registry.d.ts +6 -6
  111. package/dist/core/ecs/resource_registry.d.ts.map +1 -1
  112. package/dist/core/ecs/row_kinds.d.cts +24 -0
  113. package/dist/core/ecs/row_kinds.d.ts +24 -0
  114. package/dist/core/ecs/row_kinds.d.ts.map +1 -0
  115. package/dist/core/ecs/run_condition.d.cts +23 -23
  116. package/dist/core/ecs/run_condition.d.ts +23 -23
  117. package/dist/core/ecs/run_condition.d.ts.map +1 -1
  118. package/dist/core/ecs/schedule.d.cts +98 -114
  119. package/dist/core/ecs/schedule.d.ts +98 -114
  120. package/dist/core/ecs/schedule.d.ts.map +1 -1
  121. package/dist/core/ecs/schedule_plan.d.cts +33 -0
  122. package/dist/core/ecs/schedule_plan.d.ts +33 -0
  123. package/dist/core/ecs/schedule_plan.d.ts.map +1 -0
  124. package/dist/core/ecs/snapshot.d.cts +77 -0
  125. package/dist/core/ecs/snapshot.d.ts +77 -0
  126. package/dist/core/ecs/snapshot.d.ts.map +1 -0
  127. package/dist/core/ecs/snapshot_mount.d.cts +42 -0
  128. package/dist/core/ecs/snapshot_mount.d.ts +42 -0
  129. package/dist/core/ecs/snapshot_mount.d.ts.map +1 -0
  130. package/dist/core/ecs/sparse_store.d.cts +110 -53
  131. package/dist/core/ecs/sparse_store.d.ts +110 -53
  132. package/dist/core/ecs/sparse_store.d.ts.map +1 -1
  133. package/dist/core/ecs/store.d.cts +644 -511
  134. package/dist/core/ecs/store.d.ts +644 -511
  135. package/dist/core/ecs/store.d.ts.map +1 -1
  136. package/dist/core/ecs/store_layout_listener.d.cts +8 -8
  137. package/dist/core/ecs/store_layout_listener.d.ts +8 -8
  138. package/dist/core/ecs/store_types.d.cts +122 -0
  139. package/dist/core/ecs/store_types.d.ts +122 -0
  140. package/dist/core/ecs/store_types.d.ts.map +1 -0
  141. package/dist/core/ecs/system.d.cts +151 -66
  142. package/dist/core/ecs/system.d.ts +151 -66
  143. package/dist/core/ecs/system.d.ts.map +1 -1
  144. package/dist/core/ecs/system_context.d.cts +296 -0
  145. package/dist/core/ecs/system_context.d.ts +296 -0
  146. package/dist/core/ecs/system_context.d.ts.map +1 -0
  147. package/dist/core/ecs/system_set.d.cts +48 -0
  148. package/dist/core/ecs/system_set.d.ts +48 -0
  149. package/dist/core/ecs/system_set.d.ts.map +1 -0
  150. package/dist/core/ecs/utils/arrays.d.cts +15 -1
  151. package/dist/core/ecs/utils/arrays.d.ts +15 -1
  152. package/dist/core/ecs/utils/arrays.d.ts.map +1 -1
  153. package/dist/core/ecs/utils/error.d.cts +87 -4
  154. package/dist/core/ecs/utils/error.d.ts +87 -4
  155. package/dist/core/ecs/utils/error.d.ts.map +1 -1
  156. package/dist/core/ecs/utils/plugin_error.d.cts +10 -0
  157. package/dist/core/ecs/utils/plugin_error.d.ts +10 -0
  158. package/dist/core/ecs/utils/plugin_error.d.ts.map +1 -0
  159. package/dist/core/restore_errors.d.cts +30 -0
  160. package/dist/core/restore_errors.d.ts +30 -0
  161. package/dist/core/restore_errors.d.ts.map +1 -0
  162. package/dist/core/store/action_ring.d.cts +48 -49
  163. package/dist/core/store/action_ring.d.ts +48 -49
  164. package/dist/core/store/action_ring.d.ts.map +1 -1
  165. package/dist/core/store/allocator.d.cts +166 -114
  166. package/dist/core/store/allocator.d.ts +166 -114
  167. package/dist/core/store/allocator.d.ts.map +1 -1
  168. package/dist/core/store/buffer_backed_column.d.cts +21 -22
  169. package/dist/core/store/buffer_backed_column.d.ts +21 -22
  170. package/dist/core/store/buffer_backed_column.d.ts.map +1 -1
  171. package/dist/core/store/column_store.d.cts +138 -100
  172. package/dist/core/store/column_store.d.ts +138 -100
  173. package/dist/core/store/column_store.d.ts.map +1 -1
  174. package/dist/core/store/command_dispatch.d.cts +14 -15
  175. package/dist/core/store/command_dispatch.d.ts +14 -15
  176. package/dist/core/store/command_dispatch.d.ts.map +1 -1
  177. package/dist/core/store/command_ring.d.cts +41 -45
  178. package/dist/core/store/command_ring.d.ts +41 -45
  179. package/dist/core/store/command_ring.d.ts.map +1 -1
  180. package/dist/core/store/descriptor.d.cts +35 -18
  181. package/dist/core/store/descriptor.d.ts +35 -18
  182. package/dist/core/store/descriptor.d.ts.map +1 -1
  183. package/dist/core/store/entity_index.d.cts +34 -35
  184. package/dist/core/store/entity_index.d.ts +34 -35
  185. package/dist/core/store/entity_index.d.ts.map +1 -1
  186. package/dist/core/store/event_ring.d.cts +40 -42
  187. package/dist/core/store/event_ring.d.ts +40 -42
  188. package/dist/core/store/event_ring.d.ts.map +1 -1
  189. package/dist/core/store/extend.d.cts +15 -9
  190. package/dist/core/store/extend.d.ts +15 -9
  191. package/dist/core/store/extend.d.ts.map +1 -1
  192. package/dist/core/store/grow.d.cts +3 -3
  193. package/dist/core/store/grow.d.ts +3 -3
  194. package/dist/core/store/grow.d.ts.map +1 -1
  195. package/dist/core/store/header.d.cts +37 -33
  196. package/dist/core/store/header.d.ts +37 -33
  197. package/dist/core/store/header.d.ts.map +1 -1
  198. package/dist/core/store/index.d.cts +10 -10
  199. package/dist/core/store/index.d.ts +10 -10
  200. package/dist/core/store/index.d.ts.map +1 -1
  201. package/dist/core/store/layout_ops.d.cts +72 -63
  202. package/dist/core/store/layout_ops.d.ts +72 -63
  203. package/dist/core/store/layout_ops.d.ts.map +1 -1
  204. package/dist/core/store/region_table.d.cts +28 -21
  205. package/dist/core/store/region_table.d.ts +28 -21
  206. package/dist/core/store/region_table.d.ts.map +1 -1
  207. package/dist/core/store/snapshot.d.cts +31 -16
  208. package/dist/core/store/snapshot.d.ts +31 -16
  209. package/dist/core/store/snapshot.d.ts.map +1 -1
  210. package/dist/core/store/state_hash.d.cts +14 -14
  211. package/dist/core/store/state_hash.d.ts +14 -14
  212. package/dist/core/store/state_hash.d.ts.map +1 -1
  213. package/dist/core/store/store_regions.d.cts +10 -10
  214. package/dist/core/store/store_regions.d.ts +10 -10
  215. package/dist/core/store/store_regions.d.ts.map +1 -1
  216. package/dist/core/store/vendored_abi/abi.d.cts +27 -2
  217. package/dist/core/store/vendored_abi/abi.d.ts +27 -2
  218. package/dist/core/store/vendored_abi/abi.d.ts.map +1 -1
  219. package/dist/host_commands-B2KMx8O2.cjs +1 -0
  220. package/dist/host_commands-ClVPvhSa.cjs +2 -0
  221. package/dist/host_commands-CwxVQS1z.js +1524 -0
  222. package/dist/host_commands-nJvTy88E.js +1667 -0
  223. package/dist/index.cjs +1 -1
  224. package/dist/index.d.cts +16 -11
  225. package/dist/index.d.ts +16 -11
  226. package/dist/index.d.ts.map +1 -1
  227. package/dist/index.development.cjs +1 -1
  228. package/dist/index.development.js +6709 -5729
  229. package/dist/index.js +5664 -4743
  230. package/dist/internal.cjs +2 -2
  231. package/dist/internal.d.cts +5 -2
  232. package/dist/internal.d.ts +5 -2
  233. package/dist/internal.d.ts.map +1 -1
  234. package/dist/internal.development.cjs +1 -1
  235. package/dist/internal.development.js +70 -20
  236. package/dist/internal.js +138 -83
  237. package/dist/plugins/abi-D3V-QUSf.cjs +1 -0
  238. package/dist/plugins/abi-NP8pNxpd.js +42 -0
  239. package/dist/plugins/arrays-Dr_1hCjL.js +28 -0
  240. package/dist/plugins/arrays-Dt-Joc4i.cjs +1 -0
  241. package/dist/plugins/assertions-gtDVfbnQ.js +6 -0
  242. package/dist/plugins/assertions-z5GQd_bB.cjs +1 -0
  243. package/dist/{extensions → plugins}/editor/editor.d.cts +56 -56
  244. package/dist/{extensions → plugins}/editor/editor.d.ts +56 -56
  245. package/dist/plugins/editor/editor.d.ts.map +1 -0
  246. package/dist/{extensions → plugins}/editor/field_handle.d.cts +13 -13
  247. package/dist/{extensions → plugins}/editor/field_handle.d.ts +13 -13
  248. package/dist/plugins/editor/field_handle.d.ts.map +1 -0
  249. package/dist/plugins/editor/index.d.cts +22 -0
  250. package/dist/plugins/editor/index.d.ts +22 -0
  251. package/dist/plugins/editor/index.d.ts.map +1 -0
  252. package/dist/plugins/editor.cjs +1 -0
  253. package/dist/plugins/editor.d.cts +1 -0
  254. package/dist/plugins/editor.d.ts +1 -0
  255. package/dist/plugins/editor.development.cjs +1 -0
  256. package/dist/{extensions/editor/index.development.js → plugins/editor.development.js} +83 -66
  257. package/dist/{extensions/editor/index.js → plugins/editor.js} +83 -66
  258. package/dist/plugins/events/event_channel.d.cts +13 -0
  259. package/dist/plugins/events/event_channel.d.ts +13 -0
  260. package/dist/plugins/events/event_channel.d.ts.map +1 -0
  261. package/dist/plugins/events/event_registry.d.cts +22 -0
  262. package/dist/plugins/events/event_registry.d.ts +22 -0
  263. package/dist/plugins/events/event_registry.d.ts.map +1 -0
  264. package/dist/plugins/events/facade.d.cts +26 -0
  265. package/dist/plugins/events/facade.d.ts +26 -0
  266. package/dist/plugins/events/facade.d.ts.map +1 -0
  267. package/dist/plugins/events/index.d.cts +10 -0
  268. package/dist/plugins/events/index.d.ts +10 -0
  269. package/dist/plugins/events/index.d.ts.map +1 -0
  270. package/dist/plugins/events.cjs +1 -0
  271. package/dist/plugins/events.d.cts +1 -0
  272. package/dist/plugins/events.d.ts +1 -0
  273. package/dist/plugins/events.development.cjs +1 -0
  274. package/dist/plugins/events.development.js +174 -0
  275. package/dist/plugins/events.js +159 -0
  276. package/dist/plugins/observers/index.d.cts +23 -0
  277. package/dist/plugins/observers/index.d.ts +23 -0
  278. package/dist/plugins/observers/index.d.ts.map +1 -0
  279. package/dist/plugins/observers/observer_registry.d.cts +101 -0
  280. package/dist/plugins/observers/observer_registry.d.ts +101 -0
  281. package/dist/plugins/observers/observer_registry.d.ts.map +1 -0
  282. package/dist/plugins/observers.cjs +1 -0
  283. package/dist/plugins/observers.d.cts +1 -0
  284. package/dist/plugins/observers.d.ts +1 -0
  285. package/dist/plugins/observers.development.cjs +1 -0
  286. package/dist/plugins/observers.development.js +431 -0
  287. package/dist/plugins/observers.js +403 -0
  288. package/dist/plugins/relation_store-BsoegrZh.js +313 -0
  289. package/dist/plugins/relation_store-DQKSnxsm.cjs +1 -0
  290. package/dist/plugins/relation_store-RBhpcE28.cjs +1 -0
  291. package/dist/plugins/relation_store-RqW5Snx6.js +328 -0
  292. package/dist/plugins/relations/builtin_relations.d.cts +48 -0
  293. package/dist/plugins/relations/builtin_relations.d.ts +48 -0
  294. package/dist/plugins/relations/builtin_relations.d.ts.map +1 -0
  295. package/dist/plugins/relations/facade.d.cts +73 -0
  296. package/dist/plugins/relations/facade.d.ts +73 -0
  297. package/dist/plugins/relations/facade.d.ts.map +1 -0
  298. package/dist/plugins/relations/index.d.cts +11 -0
  299. package/dist/plugins/relations/index.d.ts +11 -0
  300. package/dist/plugins/relations/index.d.ts.map +1 -0
  301. package/dist/{core/ecs → plugins/relations}/relation_service.d.cts +93 -105
  302. package/dist/{core/ecs → plugins/relations}/relation_service.d.ts +93 -105
  303. package/dist/plugins/relations/relation_service.d.ts.map +1 -0
  304. package/dist/plugins/relations/relation_store.d.cts +177 -0
  305. package/dist/plugins/relations/relation_store.d.ts +177 -0
  306. package/dist/plugins/relations/relation_store.d.ts.map +1 -0
  307. package/dist/plugins/relations.cjs +1 -0
  308. package/dist/plugins/relations.d.cts +1 -0
  309. package/dist/plugins/relations.d.ts +1 -0
  310. package/dist/plugins/relations.development.cjs +1 -0
  311. package/dist/plugins/relations.development.js +603 -0
  312. package/dist/plugins/relations.js +553 -0
  313. package/dist/plugins/snapshots/index.d.cts +33 -0
  314. package/dist/plugins/snapshots/index.d.ts +33 -0
  315. package/dist/plugins/snapshots/index.d.ts.map +1 -0
  316. package/dist/plugins/snapshots/resume.d.cts +57 -0
  317. package/dist/plugins/snapshots/resume.d.ts +57 -0
  318. package/dist/plugins/snapshots/resume.d.ts.map +1 -0
  319. package/dist/plugins/snapshots/snapshot_service.d.cts +59 -0
  320. package/dist/plugins/snapshots/snapshot_service.d.ts +59 -0
  321. package/dist/plugins/snapshots/snapshot_service.d.ts.map +1 -0
  322. package/dist/plugins/snapshots.cjs +1 -0
  323. package/dist/plugins/snapshots.d.cts +1 -0
  324. package/dist/plugins/snapshots.d.ts +1 -0
  325. package/dist/plugins/snapshots.development.cjs +1 -0
  326. package/dist/plugins/snapshots.development.js +737 -0
  327. package/dist/plugins/snapshots.js +737 -0
  328. package/dist/plugins/solid/index.d.cts +8 -0
  329. package/dist/plugins/solid/index.d.ts +8 -0
  330. package/dist/plugins/solid/index.d.ts.map +1 -0
  331. package/dist/plugins/solid/solid.d.cts +97 -0
  332. package/dist/plugins/solid/solid.d.ts +97 -0
  333. package/dist/plugins/solid/solid.d.ts.map +1 -0
  334. package/dist/plugins/solid.cjs +1 -0
  335. package/dist/plugins/solid.d.cts +1 -0
  336. package/dist/plugins/solid.d.ts +1 -0
  337. package/dist/plugins/solid.development.cjs +1 -0
  338. package/dist/plugins/solid.development.js +319 -0
  339. package/dist/plugins/solid.js +319 -0
  340. package/dist/plugins/workers/index.d.cts +75 -0
  341. package/dist/plugins/workers/index.d.ts +75 -0
  342. package/dist/plugins/workers/index.d.ts.map +1 -0
  343. package/dist/plugins/workers/node_threads.d.cts +25 -0
  344. package/dist/plugins/workers/node_threads.d.ts +25 -0
  345. package/dist/plugins/workers/node_threads.d.ts.map +1 -0
  346. package/dist/plugins/workers/plan.d.cts +61 -0
  347. package/dist/plugins/workers/plan.d.ts +61 -0
  348. package/dist/plugins/workers/plan.d.ts.map +1 -0
  349. package/dist/plugins/workers/pool.d.cts +144 -0
  350. package/dist/plugins/workers/pool.d.ts +144 -0
  351. package/dist/plugins/workers/pool.d.ts.map +1 -0
  352. package/dist/plugins/workers/protocol.d.cts +112 -0
  353. package/dist/plugins/workers/protocol.d.ts +112 -0
  354. package/dist/plugins/workers/protocol.d.ts.map +1 -0
  355. package/dist/plugins/workers/worker_bind.d.cts +64 -0
  356. package/dist/plugins/workers/worker_bind.d.ts +64 -0
  357. package/dist/plugins/workers/worker_bind.d.ts.map +1 -0
  358. package/dist/plugins/workers/worker_loop.d.cts +14 -0
  359. package/dist/plugins/workers/worker_loop.d.ts +14 -0
  360. package/dist/plugins/workers/worker_loop.d.ts.map +1 -0
  361. package/dist/plugins/workers.cjs +1 -0
  362. package/dist/plugins/workers.d.cts +1 -0
  363. package/dist/plugins/workers.d.ts +1 -0
  364. package/dist/plugins/workers.development.cjs +1 -0
  365. package/dist/plugins/workers.development.js +596 -0
  366. package/dist/plugins/workers.js +474 -0
  367. package/dist/primitives.cjs +1 -1
  368. package/dist/primitives.d.cts +4 -4
  369. package/dist/primitives.d.ts +4 -4
  370. package/dist/primitives.development.cjs +1 -1
  371. package/dist/primitives.development.js +66 -22
  372. package/dist/primitives.js +66 -22
  373. package/dist/shared-BKl12xF1.js +132 -0
  374. package/dist/shared-Dk-pACZT.cjs +1 -0
  375. package/dist/shared.cjs +1 -1
  376. package/dist/shared.d.cts +7 -7
  377. package/dist/shared.d.ts +7 -7
  378. package/dist/shared.d.ts.map +1 -1
  379. package/dist/shared.development.cjs +1 -1
  380. package/dist/shared.development.js +4 -3
  381. package/dist/shared.js +4 -3
  382. package/dist/topological_sort-Cc_yXqPT.js +346 -0
  383. package/dist/topological_sort-vp1imU6D.cjs +1 -0
  384. package/dist/type_primitives/assertions.d.cts +12 -16
  385. package/dist/type_primitives/assertions.d.ts +12 -16
  386. package/dist/type_primitives/assertions.d.ts.map +1 -1
  387. package/dist/type_primitives/binary_heap/binary_heap.d.cts +2 -6
  388. package/dist/type_primitives/binary_heap/binary_heap.d.ts +2 -6
  389. package/dist/type_primitives/binary_heap/binary_heap.d.ts.map +1 -1
  390. package/dist/type_primitives/bitset/bitset.d.cts +7 -11
  391. package/dist/type_primitives/bitset/bitset.d.ts +7 -11
  392. package/dist/type_primitives/bitset/bitset.d.ts.map +1 -1
  393. package/dist/type_primitives/brand.d.cts +2 -7
  394. package/dist/type_primitives/brand.d.ts +2 -7
  395. package/dist/type_primitives/brand.d.ts.map +1 -1
  396. package/dist/type_primitives/error.d.cts +1 -2
  397. package/dist/type_primitives/error.d.ts +1 -2
  398. package/dist/type_primitives/error.d.ts.map +1 -1
  399. package/dist/type_primitives/index.d.cts +1 -1
  400. package/dist/type_primitives/index.d.ts +1 -1
  401. package/dist/type_primitives/sparse_map/sparse_map.d.cts +3 -7
  402. package/dist/type_primitives/sparse_map/sparse_map.d.ts +3 -7
  403. package/dist/type_primitives/sparse_map/sparse_map.d.ts.map +1 -1
  404. package/dist/type_primitives/sparse_set/sparse_set.d.cts +2 -6
  405. package/dist/type_primitives/sparse_set/sparse_set.d.ts +2 -6
  406. package/dist/type_primitives/sparse_set/sparse_set.d.ts.map +1 -1
  407. package/dist/type_primitives/topological_sort/topological_sort.d.cts +1 -5
  408. package/dist/type_primitives/topological_sort/topological_sort.d.ts +1 -5
  409. package/dist/type_primitives/topological_sort/topological_sort.d.ts.map +1 -1
  410. package/dist/type_primitives/typed_arrays/typed_arrays.d.cts +18 -17
  411. package/dist/type_primitives/typed_arrays/typed_arrays.d.ts +18 -17
  412. package/dist/type_primitives/typed_arrays/typed_arrays.d.ts.map +1 -1
  413. package/dist/utils/error.d.ts.map +1 -1
  414. package/dist/version.d.cts +4 -4
  415. package/dist/version.d.ts +4 -4
  416. package/dist/worker.cjs +1 -0
  417. package/dist/worker.d.cts +17 -0
  418. package/dist/worker.d.ts +17 -0
  419. package/dist/worker.d.ts.map +1 -0
  420. package/dist/worker.development.cjs +1 -0
  421. package/dist/worker.development.js +253 -0
  422. package/dist/worker.js +253 -0
  423. package/package.json +363 -191
  424. package/dist/core/ecs/builtin_relations.d.cts +0 -43
  425. package/dist/core/ecs/builtin_relations.d.ts +0 -43
  426. package/dist/core/ecs/builtin_relations.d.ts.map +0 -1
  427. package/dist/core/ecs/event_registry.d.cts +0 -22
  428. package/dist/core/ecs/event_registry.d.ts +0 -22
  429. package/dist/core/ecs/event_registry.d.ts.map +0 -1
  430. package/dist/core/ecs/relation_service.d.ts.map +0 -1
  431. package/dist/core/ecs/resume.d.cts +0 -85
  432. package/dist/core/ecs/resume.d.ts +0 -85
  433. package/dist/core/ecs/resume.d.ts.map +0 -1
  434. package/dist/core/ecs/snapshot_service.d.cts +0 -94
  435. package/dist/core/ecs/snapshot_service.d.ts +0 -94
  436. package/dist/core/ecs/snapshot_service.d.ts.map +0 -1
  437. package/dist/extensions/editor/editor.d.ts.map +0 -1
  438. package/dist/extensions/editor/field_handle.d.ts.map +0 -1
  439. package/dist/extensions/editor/index.cjs +0 -1
  440. package/dist/extensions/editor/index.d.cts +0 -21
  441. package/dist/extensions/editor/index.d.ts +0 -21
  442. package/dist/extensions/editor/index.d.ts.map +0 -1
  443. package/dist/extensions/editor/index.development.cjs +0 -1
  444. package/dist/extensions/reactive/ecs_sync.d.cts +0 -214
  445. package/dist/extensions/reactive/ecs_sync.d.ts +0 -214
  446. package/dist/extensions/reactive/ecs_sync.d.ts.map +0 -1
  447. package/dist/extensions/reactive/index.cjs +0 -1
  448. package/dist/extensions/reactive/index.d.cts +0 -23
  449. package/dist/extensions/reactive/index.d.ts +0 -23
  450. package/dist/extensions/reactive/index.d.ts.map +0 -1
  451. package/dist/extensions/reactive/index.development.cjs +0 -1
  452. package/dist/extensions/reactive/index.development.js +0 -215
  453. package/dist/extensions/reactive/index.js +0 -215
  454. package/dist/extensions/solid/index.cjs +0 -1
  455. package/dist/extensions/solid/index.d.cts +0 -6
  456. package/dist/extensions/solid/index.d.ts +0 -6
  457. package/dist/extensions/solid/index.d.ts.map +0 -1
  458. package/dist/extensions/solid/index.development.cjs +0 -1
  459. package/dist/extensions/solid/index.development.js +0 -40
  460. package/dist/extensions/solid/index.js +0 -36
  461. package/dist/extensions/solid/kernel_solid.d.cts +0 -45
  462. package/dist/extensions/solid/kernel_solid.d.ts +0 -45
  463. package/dist/extensions/solid/kernel_solid.d.ts.map +0 -1
  464. package/dist/host_commands-3jyFfWNg.js +0 -2326
  465. package/dist/host_commands-DNf0f6ko.cjs +0 -1
  466. package/dist/internal-C9jjL90H.js +0 -2485
  467. package/dist/internal-RZN14uMw.cjs +0 -2
  468. package/dist/interop-CT-REx0W.cjs +0 -1
  469. package/dist/interop-CcY6ASQc.js +0 -18
  470. package/dist/interop-DqxleBo7.js +0 -18
  471. package/dist/interop-T1HZ-Dpa.cjs +0 -1
  472. package/dist/kernel-Cz2Kxlwl.js +0 -240
  473. package/dist/kernel-DgyrLFjW.js +0 -227
  474. package/dist/kernel-sw7ScKWu.cjs +0 -1
  475. package/dist/kernel-yWV3XnAb.cjs +0 -1
  476. package/dist/reactive/array.d.cts +0 -24
  477. package/dist/reactive/array.d.ts +0 -24
  478. package/dist/reactive/array.d.ts.map +0 -1
  479. package/dist/reactive/index.cjs +0 -1
  480. package/dist/reactive/index.d.cts +0 -11
  481. package/dist/reactive/index.d.ts +0 -11
  482. package/dist/reactive/index.d.ts.map +0 -1
  483. package/dist/reactive/index.development.cjs +0 -1
  484. package/dist/reactive/index.development.js +0 -18
  485. package/dist/reactive/index.js +0 -18
  486. package/dist/reactive/interop.d.cts +0 -19
  487. package/dist/reactive/interop.d.ts +0 -19
  488. package/dist/reactive/interop.d.ts.map +0 -1
  489. package/dist/reactive/kernel.d.cts +0 -73
  490. package/dist/reactive/kernel.d.ts +0 -73
  491. package/dist/reactive/kernel.d.ts.map +0 -1
  492. package/dist/reactive/map.d.cts +0 -16
  493. package/dist/reactive/map.d.ts +0 -16
  494. package/dist/reactive/map.d.ts.map +0 -1
  495. package/dist/reactive/shallow.d.cts +0 -11
  496. package/dist/reactive/shallow.d.ts +0 -11
  497. package/dist/reactive/shallow.d.ts.map +0 -1
  498. package/dist/reactive/struct.d.cts +0 -10
  499. package/dist/reactive/struct.d.ts +0 -10
  500. package/dist/reactive/struct.d.ts.map +0 -1
  501. package/dist/shallow-9S1pY_Iw.js +0 -159
  502. package/dist/shallow-C5YmTbtb.cjs +0 -1
  503. package/dist/shallow-DQ8aG51_.cjs +0 -1
  504. package/dist/shallow-DfnAm9vG.js +0 -150
  505. package/dist/shared-BMXh9hxm.cjs +0 -1
  506. package/dist/shared-DQKK0i-E.js +0 -109
  507. package/dist/topological_sort-BDvEyb9W.cjs +0 -1
  508. package/dist/topological_sort-DK6EjpWa.js +0 -135
  509. package/dist/typed_arrays-BcXcnzB4.js +0 -258
  510. package/dist/typed_arrays-D3NmwtCG.cjs +0 -1
@@ -0,0 +1,253 @@
1
+ async function X() {
2
+ const e = globalThis.process, o = e?.getBuiltinModule;
3
+ return typeof o == "function" ? o.call(e, "node:worker_threads") : await import(["node", "worker_threads"].join(":"));
4
+ }
5
+ const m = 4, N = {
6
+ view_stamp: 8,
7
+ archetype_count: 16,
8
+ layout_descriptor_off: 20
9
+ }, F = 16, O = {
10
+ component_id: 0,
11
+ field_id: 2,
12
+ type_tag: 4,
13
+ byte_off: 8
14
+ }, P = 40, U = {
15
+ component_mask: 4,
16
+ row_capacity: 24,
17
+ column_count: 28,
18
+ enabled_count: 32
19
+ }, M = 0, K = 1, q = 2, z = 3, H = 4, W = H + m, Y = W + m, Q = Y + 1, Z = Q + 1 >> 1, ee = -1, te = -2, R = 16, j = 65536, ne = [
20
+ Uint8Array,
21
+ Int8Array,
22
+ Uint16Array,
23
+ Int16Array,
24
+ Uint32Array,
25
+ Int32Array,
26
+ Float32Array,
27
+ Float64Array
28
+ ];
29
+ function oe(e, o) {
30
+ return new DataView(e).getUint32(o + N.view_stamp, !0);
31
+ }
32
+ function re(e, o) {
33
+ return new DataView(e).getUint32(
34
+ o + U.enabled_count,
35
+ !0
36
+ );
37
+ }
38
+ function se(e, o, r, d, f, p) {
39
+ const l = new DataView(e), y = l.getUint32(o + N.archetype_count, !0);
40
+ let s = o + l.getUint32(o + N.layout_descriptor_off, !0);
41
+ const h = r.length >> 1, _ = [];
42
+ for (let E = 0; E < y; E++) {
43
+ const b = l.getUint32(s + U.column_count, !0), A = s + P + b * F;
44
+ if (b === 0) {
45
+ s = A;
46
+ continue;
47
+ }
48
+ let T = !0;
49
+ for (let n = 0; n < m; n++) {
50
+ const a = l.getUint32(s + U.component_mask + n * 4, !0);
51
+ if ((a & d[n]) !== d[n]) {
52
+ T = !1;
53
+ break;
54
+ }
55
+ if (f !== null && (a & f[n]) !== 0) {
56
+ T = !1;
57
+ break;
58
+ }
59
+ }
60
+ if (!T) {
61
+ s = A;
62
+ continue;
63
+ }
64
+ const $ = l.getUint32(s + U.row_capacity, !0), x = s + P, g = p ? new Array(h) : [], S = p ? [] : new Array(h);
65
+ let t = 0;
66
+ for (let n = 0; n < b && t < h; n++) {
67
+ const a = x + n * F, c = l.getUint16(a + O.component_id, !0), u = l.getUint16(a + O.field_id, !0);
68
+ for (let i = 0; i < h; i++) {
69
+ if (r[i * 2] !== c || r[i * 2 + 1] !== u) continue;
70
+ const w = o + l.getUint32(a + O.byte_off, !0);
71
+ if (p) {
72
+ const k = ne[l.getUint8(a + O.type_tag)];
73
+ g[i] = new k(e, w, $);
74
+ } else
75
+ S[i] = w;
76
+ t++;
77
+ }
78
+ }
79
+ t === h && _.push({ descriptorOff: s, views: g, offsets: S }), s = A;
80
+ }
81
+ return _;
82
+ }
83
+ function G(e) {
84
+ return typeof e == "object" && e !== null && "value" in e ? e : null;
85
+ }
86
+ function ae(e) {
87
+ const o = G(e), r = o === null ? e : o.value;
88
+ return typeof r == "number" && Number.isFinite(r) ? r : null;
89
+ }
90
+ function ce(e, o, r, d, f, p) {
91
+ const l = G(e.exports.__stack_pointer);
92
+ if (l === null || f === 1) return;
93
+ const y = ae(e.exports.__heap_base);
94
+ if (y === null)
95
+ throw new Error(
96
+ `the kernel export '${o}' comes from a module with a '__stack_pointer' and no numeric '__heap_base', so the worker cannot find the span its stack may use. Link with --export=__heap_base.`
97
+ );
98
+ const s = Math.ceil(y / R) * R, h = r - s, _ = p > 0 ? p : Math.floor(h / f / R) * R;
99
+ if (_ < j)
100
+ throw new Error(
101
+ `the kernel export '${o}' needs one stack region for each of ${f} workers, and the ${h} bytes between __heap_base ${y} and the store base ${r} leave ${_} for each. Raise memory.storeBase to reserve at least ${f * j} bytes above the module's heap.`
102
+ );
103
+ if (f * _ > h)
104
+ throw new Error(
105
+ `the kernel export '${o}' needs one stack region of ${_} bytes for each of ${f} workers, and the ${h} bytes between __heap_base ${y} and the store base ${r} hold fewer. Raise memory.storeBase, or lower stackBytes on workers.attach.`
106
+ );
107
+ try {
108
+ l.value = r - d * _;
109
+ } catch {
110
+ throw new Error(
111
+ `the kernel export '${o}' comes from a module whose '__stack_pointer' is immutable, so every worker would share one stack. Build with mutable globals, or give the kernel a body that uses no stack.`
112
+ );
113
+ }
114
+ }
115
+ function V(e, o) {
116
+ const r = e.store instanceof SharedArrayBuffer ? null : e.store, d = r === null ? e.store : null, f = e.storeBase, p = e.index, l = e.count, y = e.stackBytes ?? 0, s = new Int32Array(e.control), h = new Float64Array(e.control), _ = [], E = new Uint32Array(m), b = new Uint32Array(m);
117
+ function A() {
118
+ return r !== null ? r.buffer : d;
119
+ }
120
+ function T(t) {
121
+ const n = t.specs, a = (u, i) => {
122
+ _[t.slot] = {
123
+ call: u,
124
+ exportName: t.exportName,
125
+ specs: n,
126
+ wantViews: i,
127
+ args: new Array((n.length >> 1) + 3),
128
+ buffer: null,
129
+ stamp: -1,
130
+ masks: new Uint32Array(m * 2),
131
+ hasExclude: !1,
132
+ bound: []
133
+ }, o({ type: "kernel", slot: t.slot });
134
+ }, c = (u) => {
135
+ o({
136
+ type: "kernel",
137
+ slot: t.slot,
138
+ error: u instanceof Error ? u.message : String(u)
139
+ });
140
+ };
141
+ try {
142
+ if (t.wasm !== void 0) {
143
+ if (r === null)
144
+ throw new Error(
145
+ "a wasm kernel imports the world's memory, and this world is not backed by a WebAssembly.Memory. Build the world with the wasm backing, or give the system a js kernel"
146
+ );
147
+ const u = new WebAssembly.Instance(t.wasm, { env: { memory: r } }), i = u.exports[t.exportName];
148
+ if (typeof i != "function")
149
+ throw new Error(`the wasm kernel exports no function named ${t.exportName}`);
150
+ const w = (n.length >> 1) + 3;
151
+ if (i.length !== w)
152
+ throw new Error(
153
+ `the wasm kernel export '${t.exportName}' takes ${i.length} parameters and the system declares ${n.length >> 1} columns, which needs ${w}. Give the kernel one parameter for each column, then begin, end and dt.`
154
+ );
155
+ ce(u, t.exportName, f, p, l, y), a(i, !1);
156
+ return;
157
+ }
158
+ import(
159
+ /* @vite-ignore */
160
+ t.js
161
+ ).then(
162
+ (u) => {
163
+ const i = u[t.exportName];
164
+ if (typeof i != "function") {
165
+ c(new Error(`the js kernel exports no function named ${t.exportName}`));
166
+ return;
167
+ }
168
+ a(i, !0);
169
+ },
170
+ c
171
+ );
172
+ } catch (u) {
173
+ c(u);
174
+ }
175
+ }
176
+ function $(t) {
177
+ const n = s[Y] === 1;
178
+ let a = n !== t.hasExclude;
179
+ for (let c = 0; c < m; c++)
180
+ E[c] = s[H + c] >>> 0, b[c] = s[W + c] >>> 0, (t.masks[c] !== E[c] || t.masks[m + c] !== b[c]) && (a = !0);
181
+ return a && (t.masks.set(E, 0), t.masks.set(b, m), t.hasExclude = n), a;
182
+ }
183
+ function x(t) {
184
+ const n = _[t];
185
+ if (n === void 0) throw new Error(`no kernel is registered in slot ${t}`);
186
+ const a = A(), c = oe(a, f);
187
+ ($(n) || n.buffer !== a || n.stamp !== c) && (n.bound = se(
188
+ a,
189
+ f,
190
+ n.specs,
191
+ E,
192
+ n.hasExclude ? b : null,
193
+ n.wantViews
194
+ ), n.buffer = a, n.stamp = c);
195
+ const i = h[Z], w = n.bound, k = n.args, v = n.specs.length >> 1;
196
+ for (let C = 0; C < w.length; C++) {
197
+ const D = re(a, w[C].descriptorOff), I = Math.floor(D * p / l), B = Math.floor(D * (p + 1) / l);
198
+ if (B <= I) continue;
199
+ const J = n.wantViews ? w[C].views : w[C].offsets;
200
+ for (let L = 0; L < v; L++) k[L] = J[L];
201
+ k[v] = I, k[v + 1] = B, k[v + 2] = i, n.call.apply(void 0, k);
202
+ }
203
+ }
204
+ let g = 0;
205
+ function S() {
206
+ for (; ; ) {
207
+ for (; Atomics.load(s, M) === g; )
208
+ Atomics.wait(s, M, g);
209
+ g = Atomics.load(s, M);
210
+ const t = Atomics.load(s, q);
211
+ if (t === te) return !1;
212
+ if (t === ee) return !0;
213
+ try {
214
+ x(t);
215
+ } catch {
216
+ Atomics.compareExchange(s, z, 0, p + 1);
217
+ }
218
+ Atomics.add(s, K, 1) === l - 1 && Atomics.notify(s, K);
219
+ }
220
+ }
221
+ return {
222
+ onMessage(t) {
223
+ if (t.type === "kernel") {
224
+ T(t);
225
+ return;
226
+ }
227
+ S() && o({ type: "yielded" });
228
+ }
229
+ };
230
+ }
231
+ function ie() {
232
+ const e = globalThis;
233
+ let o = null;
234
+ e.addEventListener("message", (r) => {
235
+ if (o === null) {
236
+ o = V(r.data, (d) => e.postMessage(d)), e.postMessage({ type: "ready" });
237
+ return;
238
+ }
239
+ o.onMessage(r.data);
240
+ });
241
+ }
242
+ function le() {
243
+ X().then((e) => {
244
+ const o = e.parentPort;
245
+ if (o === null) return;
246
+ const r = V(
247
+ e.workerData,
248
+ (d) => o.postMessage(d)
249
+ );
250
+ o.on("message", (d) => r.onMessage(d)), o.postMessage({ type: "ready" });
251
+ });
252
+ }
253
+ typeof globalThis.WorkerGlobalScope < "u" ? ie() : le();
package/dist/worker.js ADDED
@@ -0,0 +1,253 @@
1
+ async function X() {
2
+ const e = globalThis.process, o = e?.getBuiltinModule;
3
+ return typeof o == "function" ? o.call(e, "node:worker_threads") : await import(["node", "worker_threads"].join(":"));
4
+ }
5
+ const m = 4, N = {
6
+ view_stamp: 8,
7
+ archetype_count: 16,
8
+ layout_descriptor_off: 20
9
+ }, F = 16, O = {
10
+ component_id: 0,
11
+ field_id: 2,
12
+ type_tag: 4,
13
+ byte_off: 8
14
+ }, P = 40, U = {
15
+ component_mask: 4,
16
+ row_capacity: 24,
17
+ column_count: 28,
18
+ enabled_count: 32
19
+ }, M = 0, K = 1, q = 2, z = 3, H = 4, W = H + m, Y = W + m, Q = Y + 1, Z = Q + 1 >> 1, ee = -1, te = -2, R = 16, j = 65536, ne = [
20
+ Uint8Array,
21
+ Int8Array,
22
+ Uint16Array,
23
+ Int16Array,
24
+ Uint32Array,
25
+ Int32Array,
26
+ Float32Array,
27
+ Float64Array
28
+ ];
29
+ function oe(e, o) {
30
+ return new DataView(e).getUint32(o + N.view_stamp, !0);
31
+ }
32
+ function re(e, o) {
33
+ return new DataView(e).getUint32(
34
+ o + U.enabled_count,
35
+ !0
36
+ );
37
+ }
38
+ function se(e, o, r, d, f, p) {
39
+ const l = new DataView(e), y = l.getUint32(o + N.archetype_count, !0);
40
+ let s = o + l.getUint32(o + N.layout_descriptor_off, !0);
41
+ const h = r.length >> 1, _ = [];
42
+ for (let E = 0; E < y; E++) {
43
+ const b = l.getUint32(s + U.column_count, !0), A = s + P + b * F;
44
+ if (b === 0) {
45
+ s = A;
46
+ continue;
47
+ }
48
+ let T = !0;
49
+ for (let n = 0; n < m; n++) {
50
+ const a = l.getUint32(s + U.component_mask + n * 4, !0);
51
+ if ((a & d[n]) !== d[n]) {
52
+ T = !1;
53
+ break;
54
+ }
55
+ if (f !== null && (a & f[n]) !== 0) {
56
+ T = !1;
57
+ break;
58
+ }
59
+ }
60
+ if (!T) {
61
+ s = A;
62
+ continue;
63
+ }
64
+ const $ = l.getUint32(s + U.row_capacity, !0), x = s + P, g = p ? new Array(h) : [], S = p ? [] : new Array(h);
65
+ let t = 0;
66
+ for (let n = 0; n < b && t < h; n++) {
67
+ const a = x + n * F, c = l.getUint16(a + O.component_id, !0), u = l.getUint16(a + O.field_id, !0);
68
+ for (let i = 0; i < h; i++) {
69
+ if (r[i * 2] !== c || r[i * 2 + 1] !== u) continue;
70
+ const w = o + l.getUint32(a + O.byte_off, !0);
71
+ if (p) {
72
+ const k = ne[l.getUint8(a + O.type_tag)];
73
+ g[i] = new k(e, w, $);
74
+ } else
75
+ S[i] = w;
76
+ t++;
77
+ }
78
+ }
79
+ t === h && _.push({ descriptorOff: s, views: g, offsets: S }), s = A;
80
+ }
81
+ return _;
82
+ }
83
+ function G(e) {
84
+ return typeof e == "object" && e !== null && "value" in e ? e : null;
85
+ }
86
+ function ae(e) {
87
+ const o = G(e), r = o === null ? e : o.value;
88
+ return typeof r == "number" && Number.isFinite(r) ? r : null;
89
+ }
90
+ function ce(e, o, r, d, f, p) {
91
+ const l = G(e.exports.__stack_pointer);
92
+ if (l === null || f === 1) return;
93
+ const y = ae(e.exports.__heap_base);
94
+ if (y === null)
95
+ throw new Error(
96
+ `the kernel export '${o}' comes from a module with a '__stack_pointer' and no numeric '__heap_base', so the worker cannot find the span its stack may use. Link with --export=__heap_base.`
97
+ );
98
+ const s = Math.ceil(y / R) * R, h = r - s, _ = p > 0 ? p : Math.floor(h / f / R) * R;
99
+ if (_ < j)
100
+ throw new Error(
101
+ `the kernel export '${o}' needs one stack region for each of ${f} workers, and the ${h} bytes between __heap_base ${y} and the store base ${r} leave ${_} for each. Raise memory.storeBase to reserve at least ${f * j} bytes above the module's heap.`
102
+ );
103
+ if (f * _ > h)
104
+ throw new Error(
105
+ `the kernel export '${o}' needs one stack region of ${_} bytes for each of ${f} workers, and the ${h} bytes between __heap_base ${y} and the store base ${r} hold fewer. Raise memory.storeBase, or lower stackBytes on workers.attach.`
106
+ );
107
+ try {
108
+ l.value = r - d * _;
109
+ } catch {
110
+ throw new Error(
111
+ `the kernel export '${o}' comes from a module whose '__stack_pointer' is immutable, so every worker would share one stack. Build with mutable globals, or give the kernel a body that uses no stack.`
112
+ );
113
+ }
114
+ }
115
+ function V(e, o) {
116
+ const r = e.store instanceof SharedArrayBuffer ? null : e.store, d = r === null ? e.store : null, f = e.storeBase, p = e.index, l = e.count, y = e.stackBytes ?? 0, s = new Int32Array(e.control), h = new Float64Array(e.control), _ = [], E = new Uint32Array(m), b = new Uint32Array(m);
117
+ function A() {
118
+ return r !== null ? r.buffer : d;
119
+ }
120
+ function T(t) {
121
+ const n = t.specs, a = (u, i) => {
122
+ _[t.slot] = {
123
+ call: u,
124
+ exportName: t.exportName,
125
+ specs: n,
126
+ wantViews: i,
127
+ args: new Array((n.length >> 1) + 3),
128
+ buffer: null,
129
+ stamp: -1,
130
+ masks: new Uint32Array(m * 2),
131
+ hasExclude: !1,
132
+ bound: []
133
+ }, o({ type: "kernel", slot: t.slot });
134
+ }, c = (u) => {
135
+ o({
136
+ type: "kernel",
137
+ slot: t.slot,
138
+ error: u instanceof Error ? u.message : String(u)
139
+ });
140
+ };
141
+ try {
142
+ if (t.wasm !== void 0) {
143
+ if (r === null)
144
+ throw new Error(
145
+ "a wasm kernel imports the world's memory, and this world is not backed by a WebAssembly.Memory. Build the world with the wasm backing, or give the system a js kernel"
146
+ );
147
+ const u = new WebAssembly.Instance(t.wasm, { env: { memory: r } }), i = u.exports[t.exportName];
148
+ if (typeof i != "function")
149
+ throw new Error(`the wasm kernel exports no function named ${t.exportName}`);
150
+ const w = (n.length >> 1) + 3;
151
+ if (i.length !== w)
152
+ throw new Error(
153
+ `the wasm kernel export '${t.exportName}' takes ${i.length} parameters and the system declares ${n.length >> 1} columns, which needs ${w}. Give the kernel one parameter for each column, then begin, end and dt.`
154
+ );
155
+ ce(u, t.exportName, f, p, l, y), a(i, !1);
156
+ return;
157
+ }
158
+ import(
159
+ /* @vite-ignore */
160
+ t.js
161
+ ).then(
162
+ (u) => {
163
+ const i = u[t.exportName];
164
+ if (typeof i != "function") {
165
+ c(new Error(`the js kernel exports no function named ${t.exportName}`));
166
+ return;
167
+ }
168
+ a(i, !0);
169
+ },
170
+ c
171
+ );
172
+ } catch (u) {
173
+ c(u);
174
+ }
175
+ }
176
+ function $(t) {
177
+ const n = s[Y] === 1;
178
+ let a = n !== t.hasExclude;
179
+ for (let c = 0; c < m; c++)
180
+ E[c] = s[H + c] >>> 0, b[c] = s[W + c] >>> 0, (t.masks[c] !== E[c] || t.masks[m + c] !== b[c]) && (a = !0);
181
+ return a && (t.masks.set(E, 0), t.masks.set(b, m), t.hasExclude = n), a;
182
+ }
183
+ function x(t) {
184
+ const n = _[t];
185
+ if (n === void 0) throw new Error(`no kernel is registered in slot ${t}`);
186
+ const a = A(), c = oe(a, f);
187
+ ($(n) || n.buffer !== a || n.stamp !== c) && (n.bound = se(
188
+ a,
189
+ f,
190
+ n.specs,
191
+ E,
192
+ n.hasExclude ? b : null,
193
+ n.wantViews
194
+ ), n.buffer = a, n.stamp = c);
195
+ const i = h[Z], w = n.bound, k = n.args, v = n.specs.length >> 1;
196
+ for (let C = 0; C < w.length; C++) {
197
+ const D = re(a, w[C].descriptorOff), I = Math.floor(D * p / l), B = Math.floor(D * (p + 1) / l);
198
+ if (B <= I) continue;
199
+ const J = n.wantViews ? w[C].views : w[C].offsets;
200
+ for (let L = 0; L < v; L++) k[L] = J[L];
201
+ k[v] = I, k[v + 1] = B, k[v + 2] = i, n.call.apply(void 0, k);
202
+ }
203
+ }
204
+ let g = 0;
205
+ function S() {
206
+ for (; ; ) {
207
+ for (; Atomics.load(s, M) === g; )
208
+ Atomics.wait(s, M, g);
209
+ g = Atomics.load(s, M);
210
+ const t = Atomics.load(s, q);
211
+ if (t === te) return !1;
212
+ if (t === ee) return !0;
213
+ try {
214
+ x(t);
215
+ } catch {
216
+ Atomics.compareExchange(s, z, 0, p + 1);
217
+ }
218
+ Atomics.add(s, K, 1) === l - 1 && Atomics.notify(s, K);
219
+ }
220
+ }
221
+ return {
222
+ onMessage(t) {
223
+ if (t.type === "kernel") {
224
+ T(t);
225
+ return;
226
+ }
227
+ S() && o({ type: "yielded" });
228
+ }
229
+ };
230
+ }
231
+ function ie() {
232
+ const e = globalThis;
233
+ let o = null;
234
+ e.addEventListener("message", (r) => {
235
+ if (o === null) {
236
+ o = V(r.data, (d) => e.postMessage(d)), e.postMessage({ type: "ready" });
237
+ return;
238
+ }
239
+ o.onMessage(r.data);
240
+ });
241
+ }
242
+ function le() {
243
+ X().then((e) => {
244
+ const o = e.parentPort;
245
+ if (o === null) return;
246
+ const r = V(
247
+ e.workerData,
248
+ (d) => o.postMessage(d)
249
+ );
250
+ o.on("message", (d) => r.onMessage(d)), o.postMessage({ type: "ready" });
251
+ });
252
+ }
253
+ typeof globalThis.WorkerGlobalScope < "u" ? ie() : le();