@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
@@ -6,8 +6,7 @@ export declare enum TYPE_ERROR {
6
6
  ASSERTION_FAIL_UNREACHABLE = "ASSERTION_FAIL_UNREACHABLE"
7
7
  }
8
8
  /**
9
- * Error class thrown by std's runtime assertions. Non-operational.
10
- *
9
+ * Error class thrown by the type-primitive assertions. Non-operational.
11
10
  */
12
11
  export declare class AssertionError extends AppError {
13
12
  readonly category: TYPE_ERROR;
@@ -6,8 +6,7 @@ export declare enum TYPE_ERROR {
6
6
  ASSERTION_FAIL_UNREACHABLE = "ASSERTION_FAIL_UNREACHABLE"
7
7
  }
8
8
  /**
9
- * Error class thrown by std's runtime assertions. Non-operational.
10
- *
9
+ * Error class thrown by the type-primitive assertions. Non-operational.
11
10
  */
12
11
  export declare class AssertionError extends AppError {
13
12
  readonly category: TYPE_ERROR;
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/type_primitives/error.ts"],"names":[],"mappings":"AAAA;;;;;;KAMK;AAEL,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,oBAAY,UAAU;IACrB,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,0BAA0B,+BAA+B;CACzD;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,QAAQ;aAE1B,QAAQ,EAAE,UAAU;gBAApB,QAAQ,EAAE,UAAU,EACpC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAIlC"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/type_primitives/error.ts"],"names":[],"mappings":"AAAA;;;;;;KAMK;AAEL,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,oBAAY,UAAU;IACrB,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,0BAA0B,+BAA+B;CACzD;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;aAE1B,QAAQ,EAAE,UAAU;gBAApB,QAAQ,EAAE,UAAU,EACpC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAKlC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Type-primitives barrel assertions, brands, errors, plus data-structure primitives.
2
+ * Type-primitives barrel, assertions, brands, errors, plus data-structure primitives.
3
3
  */
4
4
  export * from './assertions.cjs';
5
5
  export * from './brand.cjs';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Type-primitives barrel assertions, brands, errors, plus data-structure primitives.
2
+ * Type-primitives barrel, assertions, brands, errors, plus data-structure primitives.
3
3
  */
4
4
  export * from './assertions.js';
5
5
  export * from './brand.js';
@@ -1,18 +1,14 @@
1
1
  /***
2
- * SparseMap O(1) integer-keyed map with cache-friendly dense iteration.
2
+ * SparseMap. O(1) integer-keyed map with cache-friendly dense iteration.
3
3
  *
4
4
  * Keys are non-negative integers. Two parallel dense arrays (keys + values)
5
- * enable linear iteration. A sparse number[] maps key → dense index for
6
- * O(1) get/set/delete.
5
+ * enable linear iteration. A sparse number[] maps key → dense index, so get,
6
+ * set and delete are each O(1).
7
7
  *
8
8
  * Membership is verified by cross-referencing dense_keys[sparse[key]] === key,
9
9
  * so stale sparse entries are harmless. Deletion uses swap-and-pop.
10
10
  *
11
11
  ***/
12
- /**
13
- * O(1) integer-keyed map with cache-friendly dense iteration.
14
- *
15
- */
16
12
  export declare class SparseMap<V> {
17
13
  private _denseKeys;
18
14
  private _denseVals;
@@ -1,18 +1,14 @@
1
1
  /***
2
- * SparseMap O(1) integer-keyed map with cache-friendly dense iteration.
2
+ * SparseMap. O(1) integer-keyed map with cache-friendly dense iteration.
3
3
  *
4
4
  * Keys are non-negative integers. Two parallel dense arrays (keys + values)
5
- * enable linear iteration. A sparse number[] maps key → dense index for
6
- * O(1) get/set/delete.
5
+ * enable linear iteration. A sparse number[] maps key → dense index, so get,
6
+ * set and delete are each O(1).
7
7
  *
8
8
  * Membership is verified by cross-referencing dense_keys[sparse[key]] === key,
9
9
  * so stale sparse entries are harmless. Deletion uses swap-and-pop.
10
10
  *
11
11
  ***/
12
- /**
13
- * O(1) integer-keyed map with cache-friendly dense iteration.
14
- *
15
- */
16
12
  export declare class SparseMap<V> {
17
13
  private _denseKeys;
18
14
  private _denseVals;
@@ -1 +1 @@
1
- {"version":3,"file":"sparse_map.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/sparse_map/sparse_map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;KAUK;AAEL;;;GAGG;AACH,qBAAa,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,OAAO,CAAgB;IAE/B,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,IAAI,SAAS,MAAM,EAAE,CAEnC;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAUhC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAa5B,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAMzD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAe1C"}
1
+ {"version":3,"file":"sparse_map.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/sparse_map/sparse_map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;KAUK;AAEL,qBAAa,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,OAAO,CAAgB;IAE/B,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,IAAI,SAAS,MAAM,EAAE,CAEnC;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAUhC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAa5B,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAMzD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAe1C"}
@@ -1,19 +1,15 @@
1
1
  /***
2
- * SparseSet O(1) integer-key set with cache-friendly dense iteration.
2
+ * SparseSet. O(1) integer-key set with cache-friendly dense iteration.
3
3
  *
4
4
  * Keys are non-negative integers. A dense number[] holds members packed
5
5
  * at 0..size-1 for linear iteration. A sparse number[] maps
6
- * key → dense index for O(1) has/add/delete.
6
+ * key → dense index, so has, add and delete are each O(1).
7
7
  *
8
8
  * Membership is verified by cross-referencing dense[sparse[key]] === key,
9
9
  * so stale sparse entries are harmless (no clearing needed on delete).
10
10
  * Deletion uses swap-and-pop to keep data contiguous.
11
11
  *
12
12
  ***/
13
- /**
14
- * O(1) integer-key set with cache-friendly dense iteration.
15
- *
16
- */
17
13
  export declare class SparseSet {
18
14
  private _dense;
19
15
  private _sparse;
@@ -1,19 +1,15 @@
1
1
  /***
2
- * SparseSet O(1) integer-key set with cache-friendly dense iteration.
2
+ * SparseSet. O(1) integer-key set with cache-friendly dense iteration.
3
3
  *
4
4
  * Keys are non-negative integers. A dense number[] holds members packed
5
5
  * at 0..size-1 for linear iteration. A sparse number[] maps
6
- * key → dense index for O(1) has/add/delete.
6
+ * key → dense index, so has, add and delete are each O(1).
7
7
  *
8
8
  * Membership is verified by cross-referencing dense[sparse[key]] === key,
9
9
  * so stale sparse entries are harmless (no clearing needed on delete).
10
10
  * Deletion uses swap-and-pop to keep data contiguous.
11
11
  *
12
12
  ***/
13
- /**
14
- * O(1) integer-key set with cache-friendly dense iteration.
15
- *
16
- */
17
13
  export declare class SparseSet {
18
14
  private _dense;
19
15
  private _sparse;
@@ -1 +1 @@
1
- {"version":3,"file":"sparse_set.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/sparse_set/sparse_set.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAEL;;;GAGG;AACH,qBAAa,SAAS;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAE/B,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,MAAM,IAAI,SAAS,MAAM,EAAE,CAErC;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMtB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAW5B,KAAK,IAAI,IAAI;IAKpB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;CAGrC"}
1
+ {"version":3,"file":"sparse_set.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/sparse_set/sparse_set.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAEL,qBAAa,SAAS;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAE/B,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,MAAM,IAAI,SAAS,MAAM,EAAE,CAErC;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMtB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAW5B,KAAK,IAAI,IAAI;IAKpB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;CAGrC"}
@@ -1,5 +1,5 @@
1
1
  /***
2
- * topologicalSort Kahn's algorithm with a BinaryHeap ready queue.
2
+ * topologicalSort. Kahn's algorithm with a BinaryHeap ready queue.
3
3
  *
4
4
  * Accepts an arbitrary node set, a dependency edge map, and a tiebreaker
5
5
  * comparator used to order nodes that are simultaneously ready (zero in-degree).
@@ -21,9 +21,5 @@
21
21
  * @returns Sorted array in topological order.
22
22
  * @throws {TypeError} If a cycle is detected among the nodes.
23
23
  */
24
- /**
25
- * Topologically sorts `nodes` respecting dependency edges, breaking ties with the comparator.
26
- *
27
- */
28
24
  export declare function topologicalSort<T>(nodes: readonly T[], edges: Map<T, T[]>, tiebreaker: (a: T, b: T) => number, nodeName?: (node: T) => string): T[];
29
25
  //# sourceMappingURL=topological_sort.d.ts.map
@@ -1,5 +1,5 @@
1
1
  /***
2
- * topologicalSort Kahn's algorithm with a BinaryHeap ready queue.
2
+ * topologicalSort. Kahn's algorithm with a BinaryHeap ready queue.
3
3
  *
4
4
  * Accepts an arbitrary node set, a dependency edge map, and a tiebreaker
5
5
  * comparator used to order nodes that are simultaneously ready (zero in-degree).
@@ -21,9 +21,5 @@
21
21
  * @returns Sorted array in topological order.
22
22
  * @throws {TypeError} If a cycle is detected among the nodes.
23
23
  */
24
- /**
25
- * Topologically sorts `nodes` respecting dependency edges, breaking ties with the comparator.
26
- *
27
- */
28
24
  export declare function topologicalSort<T>(nodes: readonly T[], edges: Map<T, T[]>, tiebreaker: (a: T, b: T) => number, nodeName?: (node: T) => string): T[];
29
25
  //# sourceMappingURL=topological_sort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"topological_sort.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/topological_sort/topological_sort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAIL;;;;;;;;;;GAUG;AACH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAChC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAClB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,EAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,CAAC,EAAE,CA8DL"}
1
+ {"version":3,"file":"topological_sort.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/topological_sort/topological_sort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAIL;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAChC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAClB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,EAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,CAAC,EAAE,CA8DL"}
@@ -1,7 +1,7 @@
1
1
  /***
2
- * GrowableTypedArray TypedArray wrapper with amortised O(1) append.
2
+ * GrowableTypedArray. TypedArray wrapper with amortised O(1) append.
3
3
  *
4
- * TypedArrays have fixed length resizing requires allocating a new
4
+ * TypedArrays have fixed length, resizing requires allocating a new
5
5
  * buffer and copying. GrowableTypedArray wraps one with a separate
6
6
  * logical length and doubles the backing buffer on overflow.
7
7
  *
@@ -16,8 +16,8 @@ export type TypedArrayTag = "f32" | "f64" | "i8" | "i16" | "i32" | "u8" | "u16"
16
16
  export type AnyTypedArray = Float32Array | Float64Array | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array;
17
17
  /**
18
18
  * Common surface of a row-addressable column buffer. `GrowableTypedArray<T>`
19
- * implements it over a heap-allocated TypedArray; SAB-backed columns (see
20
- * `packages/engine/src/core/sab/sab_backed_column.ts`) implement it over a
19
+ * implements it over a heap-allocated TypedArray. SAB-backed columns (see
20
+ * `@oasys/oecs/shared`) implement it over a
21
21
  * `SharedArrayBuffer` view at a known offset. Archetype column storage
22
22
  * targets this interface so a single code path serves both backings.
23
23
  */
@@ -29,21 +29,21 @@ export interface ColumnBacking<T extends AnyTypedArray> {
29
29
  swapRemove(i: number): number;
30
30
  clear(): void;
31
31
  view(): T;
32
- ensureCapacity(capacity: number): void;
32
+ /** Guarantee room for `capacity` elements, or throw. An implementation that
33
+ * owns its buffer grows to fit. One that views a buffer it does not own
34
+ * cannot grow, so it throws when `capacity` passes the view. Neither name
35
+ * promises growth, thus a caller plans for the throw. */
36
+ reserve(capacity: number): void;
33
37
  bulkAppend(src: T, srcOffset: number, count: number): void;
34
38
  bulkAppendZeroes(count: number): void;
35
39
  bulkAppendValue(value: number, count: number): void;
36
40
  /** Set the logical length directly, declaring that `[0, len)` already holds
37
- * valid data. The snapshot-mount path (`Archetype.restoreHostRows`, #789)
41
+ * valid data. The snapshot-mount path (`Archetype.restoreHostRows`)
38
42
  * uses this: a restored SAB carries the column bytes, but the column's logical
39
43
  * length is host state that must be re-synced with `Archetype.length`. Throws
40
- * if `len` exceeds capacity. NOT a hot-path method push/pop track length. */
44
+ * if `len` exceeds capacity. Not a hot-path method, push and pop track length. */
41
45
  setLength(len: number): void;
42
46
  }
43
- /**
44
- * TypedArray wrapper with amortised O(1) append. Doubles the backing buffer on overflow.
45
- *
46
- */
47
47
  export declare class GrowableTypedArray<T extends AnyTypedArray> implements ColumnBacking<T> {
48
48
  private readonly _ctor;
49
49
  private _buf;
@@ -52,7 +52,7 @@ export declare class GrowableTypedArray<T extends AnyTypedArray> implements Colu
52
52
  get length(): number;
53
53
  push(value: number): void;
54
54
  pop(): number;
55
- get(i: number): number;
55
+ getAt(i: number): number;
56
56
  setAt(i: number, value: number): void;
57
57
  /**
58
58
  * Move the last element into slot i, decrement length.
@@ -60,24 +60,25 @@ export declare class GrowableTypedArray<T extends AnyTypedArray> implements Colu
60
60
  */
61
61
  swapRemove(i: number): number;
62
62
  clear(): void;
63
- /** Set the logical length directly (snapshot-mount reconstruction, #789). The
63
+ /** Set the logical length directly (snapshot-mount reconstruction). The
64
64
  * caller guarantees `[0, len)` already holds valid data. Grows the backing if
65
65
  * needed so the length is always representable. */
66
66
  setLength(len: number): void;
67
67
  /**
68
68
  * Raw backing buffer. Valid data: indices 0..length-1.
69
- * This reference is stable until the next push() that triggers a grow
69
+ * This reference is stable until the next push() that triggers a grow,
70
70
  * do not cache across entity additions.
71
71
  */
72
72
  get buf(): T;
73
73
  /**
74
74
  * Zero-copy subarray view of valid data (0..length-1).
75
- * Shares the backing buffer invalidated if a subsequent push() grows.
75
+ * Shares the backing buffer, invalidated if a subsequent push() grows.
76
76
  */
77
77
  view(): T;
78
78
  [Symbol.iterator](): Iterator<number>;
79
- /** Ensure the backing buffer can hold at least `capacity` elements without growing. */
80
- ensureCapacity(capacity: number): void;
79
+ /** Grow the backing buffer to hold `capacity` elements. Reallocates and
80
+ * copies when the current buffer is short, so `buf` and `view()` go stale. */
81
+ reserve(capacity: number): void;
81
82
  /**
82
83
  * Append `count` elements from `src` starting at `srcOffset`.
83
84
  * Grows if needed. Equivalent to push() in a loop but uses TypedArray.set().
@@ -1,7 +1,7 @@
1
1
  /***
2
- * GrowableTypedArray TypedArray wrapper with amortised O(1) append.
2
+ * GrowableTypedArray. TypedArray wrapper with amortised O(1) append.
3
3
  *
4
- * TypedArrays have fixed length resizing requires allocating a new
4
+ * TypedArrays have fixed length, resizing requires allocating a new
5
5
  * buffer and copying. GrowableTypedArray wraps one with a separate
6
6
  * logical length and doubles the backing buffer on overflow.
7
7
  *
@@ -16,8 +16,8 @@ export type TypedArrayTag = "f32" | "f64" | "i8" | "i16" | "i32" | "u8" | "u16"
16
16
  export type AnyTypedArray = Float32Array | Float64Array | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array;
17
17
  /**
18
18
  * Common surface of a row-addressable column buffer. `GrowableTypedArray<T>`
19
- * implements it over a heap-allocated TypedArray; SAB-backed columns (see
20
- * `packages/engine/src/core/sab/sab_backed_column.ts`) implement it over a
19
+ * implements it over a heap-allocated TypedArray. SAB-backed columns (see
20
+ * `@oasys/oecs/shared`) implement it over a
21
21
  * `SharedArrayBuffer` view at a known offset. Archetype column storage
22
22
  * targets this interface so a single code path serves both backings.
23
23
  */
@@ -29,21 +29,21 @@ export interface ColumnBacking<T extends AnyTypedArray> {
29
29
  swapRemove(i: number): number;
30
30
  clear(): void;
31
31
  view(): T;
32
- ensureCapacity(capacity: number): void;
32
+ /** Guarantee room for `capacity` elements, or throw. An implementation that
33
+ * owns its buffer grows to fit. One that views a buffer it does not own
34
+ * cannot grow, so it throws when `capacity` passes the view. Neither name
35
+ * promises growth, thus a caller plans for the throw. */
36
+ reserve(capacity: number): void;
33
37
  bulkAppend(src: T, srcOffset: number, count: number): void;
34
38
  bulkAppendZeroes(count: number): void;
35
39
  bulkAppendValue(value: number, count: number): void;
36
40
  /** Set the logical length directly, declaring that `[0, len)` already holds
37
- * valid data. The snapshot-mount path (`Archetype.restoreHostRows`, #789)
41
+ * valid data. The snapshot-mount path (`Archetype.restoreHostRows`)
38
42
  * uses this: a restored SAB carries the column bytes, but the column's logical
39
43
  * length is host state that must be re-synced with `Archetype.length`. Throws
40
- * if `len` exceeds capacity. NOT a hot-path method push/pop track length. */
44
+ * if `len` exceeds capacity. Not a hot-path method, push and pop track length. */
41
45
  setLength(len: number): void;
42
46
  }
43
- /**
44
- * TypedArray wrapper with amortised O(1) append. Doubles the backing buffer on overflow.
45
- *
46
- */
47
47
  export declare class GrowableTypedArray<T extends AnyTypedArray> implements ColumnBacking<T> {
48
48
  private readonly _ctor;
49
49
  private _buf;
@@ -52,7 +52,7 @@ export declare class GrowableTypedArray<T extends AnyTypedArray> implements Colu
52
52
  get length(): number;
53
53
  push(value: number): void;
54
54
  pop(): number;
55
- get(i: number): number;
55
+ getAt(i: number): number;
56
56
  setAt(i: number, value: number): void;
57
57
  /**
58
58
  * Move the last element into slot i, decrement length.
@@ -60,24 +60,25 @@ export declare class GrowableTypedArray<T extends AnyTypedArray> implements Colu
60
60
  */
61
61
  swapRemove(i: number): number;
62
62
  clear(): void;
63
- /** Set the logical length directly (snapshot-mount reconstruction, #789). The
63
+ /** Set the logical length directly (snapshot-mount reconstruction). The
64
64
  * caller guarantees `[0, len)` already holds valid data. Grows the backing if
65
65
  * needed so the length is always representable. */
66
66
  setLength(len: number): void;
67
67
  /**
68
68
  * Raw backing buffer. Valid data: indices 0..length-1.
69
- * This reference is stable until the next push() that triggers a grow
69
+ * This reference is stable until the next push() that triggers a grow,
70
70
  * do not cache across entity additions.
71
71
  */
72
72
  get buf(): T;
73
73
  /**
74
74
  * Zero-copy subarray view of valid data (0..length-1).
75
- * Shares the backing buffer invalidated if a subsequent push() grows.
75
+ * Shares the backing buffer, invalidated if a subsequent push() grows.
76
76
  */
77
77
  view(): T;
78
78
  [Symbol.iterator](): Iterator<number>;
79
- /** Ensure the backing buffer can hold at least `capacity` elements without growing. */
80
- ensureCapacity(capacity: number): void;
79
+ /** Grow the backing buffer to hold `capacity` elements. Reallocates and
80
+ * copies when the current buffer is short, so `buf` and `view()` go stale. */
81
+ reserve(capacity: number): void;
81
82
  /**
82
83
  * Append `count` elements from `src` starting at `srcOffset`.
83
84
  * Grows if needed. Equivalent to push() in a loop but uses TypedArray.set().
@@ -1 +1 @@
1
- {"version":3,"file":"typed_arrays.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/typed_arrays/typed_arrays.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed_arrays.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/typed_arrays/typed_arrays.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAGA,8BAAsB,QAAS,SAAQ,KAAK;aAGxB,aAAa,EAAE,OAAO;aACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjD,OAAO,EAAE,MAAM,EACC,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAMpD"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAGA,8BAAsB,QAAS,SAAQ,KAAK;aAG1B,aAAa,EAAE,OAAO;aACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjD,OAAO,EAAE,MAAM,EACC,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAYlD"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * The package version, readable at runtime (POLISH_AUDIT M21).
2
+ * The package version, readable at runtime.
3
3
  *
4
4
  * A literal, not a build-time injection, so raw-source (JSR) consumers get the
5
- * same value as the npm bundle. Kept in lock-step with `package.json` /
6
- * `jsr.json` by `src/__tests__/version_sync.test.ts` bump all three
5
+ * same value as the npm bundle. Kept in lock-step with `package.json` and
6
+ * `jsr.json` by `src/__tests__/version_sync.test.ts`, bump all three
7
7
  * together.
8
8
  */
9
- export declare const VERSION = "0.5.3";
9
+ export declare const VERSION = "0.6.0";
10
10
  //# sourceMappingURL=version.d.ts.map
package/dist/version.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * The package version, readable at runtime (POLISH_AUDIT M21).
2
+ * The package version, readable at runtime.
3
3
  *
4
4
  * A literal, not a build-time injection, so raw-source (JSR) consumers get the
5
- * same value as the npm bundle. Kept in lock-step with `package.json` /
6
- * `jsr.json` by `src/__tests__/version_sync.test.ts` bump all three
5
+ * same value as the npm bundle. Kept in lock-step with `package.json` and
6
+ * `jsr.json` by `src/__tests__/version_sync.test.ts`, bump all three
7
7
  * together.
8
8
  */
9
- export declare const VERSION = "0.5.3";
9
+ export declare const VERSION = "0.6.0";
10
10
  //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ "use strict";async function X(){const e=globalThis.process,o=e?.getBuiltinModule;return typeof o=="function"?o.call(e,"node:worker_threads"):await import(["node","worker_threads"].join(":"))}const m=4,N={view_stamp:8,archetype_count:16,layout_descriptor_off:20},F=16,O={component_id:0,field_id:2,type_tag:4,byte_off:8},P=40,U={component_mask:4,row_capacity:24,column_count:28,enabled_count:32},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=[Uint8Array,Int8Array,Uint16Array,Int16Array,Uint32Array,Int32Array,Float32Array,Float64Array];function oe(e,o){return new DataView(e).getUint32(o+N.view_stamp,!0)}function re(e,o){return new DataView(e).getUint32(o+U.enabled_count,!0)}function se(e,o,r,d,f,p){const l=new DataView(e),y=l.getUint32(o+N.archetype_count,!0);let s=o+l.getUint32(o+N.layout_descriptor_off,!0);const h=r.length>>1,_=[];for(let E=0;E<y;E++){const b=l.getUint32(s+U.column_count,!0),A=s+P+b*F;if(b===0){s=A;continue}let T=!0;for(let n=0;n<m;n++){const a=l.getUint32(s+U.component_mask+n*4,!0);if((a&d[n])!==d[n]){T=!1;break}if(f!==null&&(a&f[n])!==0){T=!1;break}}if(!T){s=A;continue}const $=l.getUint32(s+U.row_capacity,!0),x=s+P,g=p?new Array(h):[],S=p?[]:new Array(h);let t=0;for(let n=0;n<b&&t<h;n++){const a=x+n*F,c=l.getUint16(a+O.component_id,!0),u=l.getUint16(a+O.field_id,!0);for(let i=0;i<h;i++){if(r[i*2]!==c||r[i*2+1]!==u)continue;const w=o+l.getUint32(a+O.byte_off,!0);if(p){const k=ne[l.getUint8(a+O.type_tag)];g[i]=new k(e,w,$)}else S[i]=w;t++}}t===h&&_.push({descriptorOff:s,views:g,offsets:S}),s=A}return _}function G(e){return typeof e=="object"&&e!==null&&"value"in e?e:null}function ae(e){const o=G(e),r=o===null?e:o.value;return typeof r=="number"&&Number.isFinite(r)?r:null}function ce(e,o,r,d,f,p){const l=G(e.exports.__stack_pointer);if(l===null||f===1)return;const y=ae(e.exports.__heap_base);if(y===null)throw new Error(`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.`);const s=Math.ceil(y/R)*R,h=r-s,_=p>0?p:Math.floor(h/f/R)*R;if(_<j)throw new Error(`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.`);if(f*_>h)throw new Error(`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.`);try{l.value=r-d*_}catch{throw new Error(`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.`)}}function V(e,o){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);function A(){return r!==null?r.buffer:d}function T(t){const n=t.specs,a=(u,i)=>{_[t.slot]={call:u,exportName:t.exportName,specs:n,wantViews:i,args:new Array((n.length>>1)+3),buffer:null,stamp:-1,masks:new Uint32Array(m*2),hasExclude:!1,bound:[]},o({type:"kernel",slot:t.slot})},c=u=>{o({type:"kernel",slot:t.slot,error:u instanceof Error?u.message:String(u)})};try{if(t.wasm!==void 0){if(r===null)throw new Error("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");const u=new WebAssembly.Instance(t.wasm,{env:{memory:r}}),i=u.exports[t.exportName];if(typeof i!="function")throw new Error(`the wasm kernel exports no function named ${t.exportName}`);const w=(n.length>>1)+3;if(i.length!==w)throw new Error(`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.`);ce(u,t.exportName,f,p,l,y),a(i,!1);return}import(t.js).then(u=>{const i=u[t.exportName];if(typeof i!="function"){c(new Error(`the js kernel exports no function named ${t.exportName}`));return}a(i,!0)},c)}catch(u){c(u)}}function $(t){const n=s[Y]===1;let a=n!==t.hasExclude;for(let c=0;c<m;c++)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);return a&&(t.masks.set(E,0),t.masks.set(b,m),t.hasExclude=n),a}function x(t){const n=_[t];if(n===void 0)throw new Error(`no kernel is registered in slot ${t}`);const a=A(),c=oe(a,f);($(n)||n.buffer!==a||n.stamp!==c)&&(n.bound=se(a,f,n.specs,E,n.hasExclude?b:null,n.wantViews),n.buffer=a,n.stamp=c);const i=h[Z],w=n.bound,k=n.args,v=n.specs.length>>1;for(let C=0;C<w.length;C++){const D=re(a,w[C].descriptorOff),I=Math.floor(D*p/l),B=Math.floor(D*(p+1)/l);if(B<=I)continue;const J=n.wantViews?w[C].views:w[C].offsets;for(let L=0;L<v;L++)k[L]=J[L];k[v]=I,k[v+1]=B,k[v+2]=i,n.call.apply(void 0,k)}}let g=0;function S(){for(;;){for(;Atomics.load(s,M)===g;)Atomics.wait(s,M,g);g=Atomics.load(s,M);const t=Atomics.load(s,q);if(t===te)return!1;if(t===ee)return!0;try{x(t)}catch{Atomics.compareExchange(s,z,0,p+1)}Atomics.add(s,K,1)===l-1&&Atomics.notify(s,K)}}return{onMessage(t){if(t.type==="kernel"){T(t);return}S()&&o({type:"yielded"})}}}function ie(){const e=globalThis;let o=null;e.addEventListener("message",r=>{if(o===null){o=V(r.data,d=>e.postMessage(d)),e.postMessage({type:"ready"});return}o.onMessage(r.data)})}function le(){X().then(e=>{const o=e.parentPort;if(o===null)return;const r=V(e.workerData,d=>o.postMessage(d));o.on("message",d=>r.onMessage(d)),o.postMessage({type:"ready"})})}typeof globalThis.WorkerGlobalScope<"u"?ie():le();
@@ -0,0 +1,17 @@
1
+ /***
2
+ * The engine's worker entry, `@oasys/oecs/worker`.
3
+ *
4
+ * `world.workers.attach` starts this file. It picks the runtime, builds the worker
5
+ * body, and hands every message to it. It exports nothing, because a worker is
6
+ * started and not imported.
7
+ *
8
+ * Node and the node-compatible runtimes take their start payload from
9
+ * `workerData`, which is there before the first message. A browser worker takes
10
+ * it from the first message instead.
11
+ *
12
+ * Every import below names the file with its extension. This entry ships as its
13
+ * own bundle, and the tests load the source through plain node, which resolves
14
+ * a relative specifier by its extension.
15
+ ***/
16
+ export {};
17
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1,17 @@
1
+ /***
2
+ * The engine's worker entry, `@oasys/oecs/worker`.
3
+ *
4
+ * `world.workers.attach` starts this file. It picks the runtime, builds the worker
5
+ * body, and hands every message to it. It exports nothing, because a worker is
6
+ * started and not imported.
7
+ *
8
+ * Node and the node-compatible runtimes take their start payload from
9
+ * `workerData`, which is there before the first message. A browser worker takes
10
+ * it from the first message instead.
11
+ *
12
+ * Every import below names the file with its extension. This entry ships as its
13
+ * own bundle, and the tests load the source through plain node, which resolves
14
+ * a relative specifier by its extension.
15
+ ***/
16
+ export {};
17
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;KAcK"}
@@ -0,0 +1 @@
1
+ "use strict";async function X(){const e=globalThis.process,o=e?.getBuiltinModule;return typeof o=="function"?o.call(e,"node:worker_threads"):await import(["node","worker_threads"].join(":"))}const m=4,N={view_stamp:8,archetype_count:16,layout_descriptor_off:20},F=16,O={component_id:0,field_id:2,type_tag:4,byte_off:8},P=40,U={component_mask:4,row_capacity:24,column_count:28,enabled_count:32},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=[Uint8Array,Int8Array,Uint16Array,Int16Array,Uint32Array,Int32Array,Float32Array,Float64Array];function oe(e,o){return new DataView(e).getUint32(o+N.view_stamp,!0)}function re(e,o){return new DataView(e).getUint32(o+U.enabled_count,!0)}function se(e,o,r,d,f,p){const l=new DataView(e),y=l.getUint32(o+N.archetype_count,!0);let s=o+l.getUint32(o+N.layout_descriptor_off,!0);const h=r.length>>1,_=[];for(let E=0;E<y;E++){const b=l.getUint32(s+U.column_count,!0),A=s+P+b*F;if(b===0){s=A;continue}let T=!0;for(let n=0;n<m;n++){const a=l.getUint32(s+U.component_mask+n*4,!0);if((a&d[n])!==d[n]){T=!1;break}if(f!==null&&(a&f[n])!==0){T=!1;break}}if(!T){s=A;continue}const $=l.getUint32(s+U.row_capacity,!0),x=s+P,g=p?new Array(h):[],S=p?[]:new Array(h);let t=0;for(let n=0;n<b&&t<h;n++){const a=x+n*F,c=l.getUint16(a+O.component_id,!0),u=l.getUint16(a+O.field_id,!0);for(let i=0;i<h;i++){if(r[i*2]!==c||r[i*2+1]!==u)continue;const w=o+l.getUint32(a+O.byte_off,!0);if(p){const k=ne[l.getUint8(a+O.type_tag)];g[i]=new k(e,w,$)}else S[i]=w;t++}}t===h&&_.push({descriptorOff:s,views:g,offsets:S}),s=A}return _}function G(e){return typeof e=="object"&&e!==null&&"value"in e?e:null}function ae(e){const o=G(e),r=o===null?e:o.value;return typeof r=="number"&&Number.isFinite(r)?r:null}function ce(e,o,r,d,f,p){const l=G(e.exports.__stack_pointer);if(l===null||f===1)return;const y=ae(e.exports.__heap_base);if(y===null)throw new Error(`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.`);const s=Math.ceil(y/R)*R,h=r-s,_=p>0?p:Math.floor(h/f/R)*R;if(_<j)throw new Error(`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.`);if(f*_>h)throw new Error(`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.`);try{l.value=r-d*_}catch{throw new Error(`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.`)}}function V(e,o){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);function A(){return r!==null?r.buffer:d}function T(t){const n=t.specs,a=(u,i)=>{_[t.slot]={call:u,exportName:t.exportName,specs:n,wantViews:i,args:new Array((n.length>>1)+3),buffer:null,stamp:-1,masks:new Uint32Array(m*2),hasExclude:!1,bound:[]},o({type:"kernel",slot:t.slot})},c=u=>{o({type:"kernel",slot:t.slot,error:u instanceof Error?u.message:String(u)})};try{if(t.wasm!==void 0){if(r===null)throw new Error("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");const u=new WebAssembly.Instance(t.wasm,{env:{memory:r}}),i=u.exports[t.exportName];if(typeof i!="function")throw new Error(`the wasm kernel exports no function named ${t.exportName}`);const w=(n.length>>1)+3;if(i.length!==w)throw new Error(`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.`);ce(u,t.exportName,f,p,l,y),a(i,!1);return}import(t.js).then(u=>{const i=u[t.exportName];if(typeof i!="function"){c(new Error(`the js kernel exports no function named ${t.exportName}`));return}a(i,!0)},c)}catch(u){c(u)}}function $(t){const n=s[Y]===1;let a=n!==t.hasExclude;for(let c=0;c<m;c++)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);return a&&(t.masks.set(E,0),t.masks.set(b,m),t.hasExclude=n),a}function x(t){const n=_[t];if(n===void 0)throw new Error(`no kernel is registered in slot ${t}`);const a=A(),c=oe(a,f);($(n)||n.buffer!==a||n.stamp!==c)&&(n.bound=se(a,f,n.specs,E,n.hasExclude?b:null,n.wantViews),n.buffer=a,n.stamp=c);const i=h[Z],w=n.bound,k=n.args,v=n.specs.length>>1;for(let C=0;C<w.length;C++){const D=re(a,w[C].descriptorOff),I=Math.floor(D*p/l),B=Math.floor(D*(p+1)/l);if(B<=I)continue;const J=n.wantViews?w[C].views:w[C].offsets;for(let L=0;L<v;L++)k[L]=J[L];k[v]=I,k[v+1]=B,k[v+2]=i,n.call.apply(void 0,k)}}let g=0;function S(){for(;;){for(;Atomics.load(s,M)===g;)Atomics.wait(s,M,g);g=Atomics.load(s,M);const t=Atomics.load(s,q);if(t===te)return!1;if(t===ee)return!0;try{x(t)}catch{Atomics.compareExchange(s,z,0,p+1)}Atomics.add(s,K,1)===l-1&&Atomics.notify(s,K)}}return{onMessage(t){if(t.type==="kernel"){T(t);return}S()&&o({type:"yielded"})}}}function ie(){const e=globalThis;let o=null;e.addEventListener("message",r=>{if(o===null){o=V(r.data,d=>e.postMessage(d)),e.postMessage({type:"ready"});return}o.onMessage(r.data)})}function le(){X().then(e=>{const o=e.parentPort;if(o===null)return;const r=V(e.workerData,d=>o.postMessage(d));o.on("message",d=>r.onMessage(d)),o.postMessage({type:"ready"})})}typeof globalThis.WorkerGlobalScope<"u"?ie():le();