@oasys/oecs 0.5.4 → 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 +1223 -266
  2. package/README.md +217 -112
  3. package/dist/core/ecs/access_check.d.cts +29 -29
  4. package/dist/core/ecs/access_check.d.ts +29 -29
  5. package/dist/core/ecs/access_check.d.ts.map +1 -1
  6. package/dist/core/ecs/archetype.d.cts +217 -209
  7. package/dist/core/ecs/archetype.d.ts +217 -209
  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 +33 -33
  13. package/dist/core/ecs/archetype_graph.d.ts +33 -33
  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 +26 -26
  28. package/dist/core/ecs/command_log.d.ts +26 -26
  29. package/dist/core/ecs/command_log.d.ts.map +1 -1
  30. package/dist/core/ecs/component.d.cts +43 -42
  31. package/dist/core/ecs/component.d.ts +43 -42
  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 +289 -270
  46. package/dist/core/ecs/ecs.d.ts +289 -270
  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 +20 -18
  57. package/dist/core/ecs/entity_allocator.d.ts +20 -18
  58. package/dist/core/ecs/entity_allocator.d.ts.map +1 -1
  59. package/dist/core/ecs/event.d.cts +36 -22
  60. package/dist/core/ecs/event.d.ts +36 -22
  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 +32 -32
  69. package/dist/core/ecs/frame_trace.d.ts +32 -32
  70. package/dist/core/ecs/frame_trace.d.ts.map +1 -1
  71. package/dist/core/ecs/host_commands.d.cts +103 -85
  72. package/dist/core/ecs/host_commands.d.ts +103 -85
  73. package/dist/core/ecs/host_commands.d.ts.map +1 -1
  74. package/dist/core/ecs/index.d.cts +21 -11
  75. package/dist/core/ecs/index.d.ts +21 -11
  76. package/dist/core/ecs/index.d.ts.map +1 -1
  77. package/dist/core/ecs/observer.d.cts +39 -120
  78. package/dist/core/ecs/observer.d.ts +39 -120
  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 +208 -578
  90. package/dist/core/ecs/query.d.ts +208 -578
  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 +100 -39
  102. package/dist/core/ecs/ref.d.ts +100 -39
  103. package/dist/core/ecs/ref.d.ts.map +1 -1
  104. package/dist/core/ecs/relation.d.cts +101 -182
  105. package/dist/core/ecs/relation.d.ts +101 -182
  106. package/dist/core/ecs/relation.d.ts.map +1 -1
  107. package/dist/core/ecs/resource.d.cts +13 -13
  108. package/dist/core/ecs/resource.d.ts +13 -13
  109. package/dist/core/ecs/resource_registry.d.cts +5 -5
  110. package/dist/core/ecs/resource_registry.d.ts +5 -5
  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 +91 -120
  119. package/dist/core/ecs/schedule.d.ts +91 -120
  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 +108 -51
  131. package/dist/core/ecs/sparse_store.d.ts +108 -51
  132. package/dist/core/ecs/sparse_store.d.ts.map +1 -1
  133. package/dist/core/ecs/store.d.cts +527 -473
  134. package/dist/core/ecs/store.d.ts +527 -473
  135. package/dist/core/ecs/store.d.ts.map +1 -1
  136. package/dist/core/ecs/store_layout_listener.d.cts +6 -6
  137. package/dist/core/ecs/store_layout_listener.d.ts +6 -6
  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 +146 -61
  142. package/dist/core/ecs/system.d.ts +146 -61
  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 +82 -6
  154. package/dist/core/ecs/utils/error.d.ts +82 -6
  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 +44 -44
  163. package/dist/core/store/action_ring.d.ts +44 -44
  164. package/dist/core/store/action_ring.d.ts.map +1 -1
  165. package/dist/core/store/allocator.d.cts +149 -95
  166. package/dist/core/store/allocator.d.ts +149 -95
  167. package/dist/core/store/allocator.d.ts.map +1 -1
  168. package/dist/core/store/buffer_backed_column.d.cts +17 -17
  169. package/dist/core/store/buffer_backed_column.d.ts +17 -17
  170. package/dist/core/store/buffer_backed_column.d.ts.map +1 -1
  171. package/dist/core/store/column_store.d.cts +124 -86
  172. package/dist/core/store/column_store.d.ts +124 -86
  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 +36 -39
  178. package/dist/core/store/command_ring.d.ts +36 -39
  179. package/dist/core/store/command_ring.d.ts.map +1 -1
  180. package/dist/core/store/descriptor.d.cts +34 -17
  181. package/dist/core/store/descriptor.d.ts +34 -17
  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 +36 -38
  187. package/dist/core/store/event_ring.d.ts +36 -38
  188. package/dist/core/store/event_ring.d.ts.map +1 -1
  189. package/dist/core/store/extend.d.cts +13 -7
  190. package/dist/core/store/extend.d.ts +13 -7
  191. package/dist/core/store/extend.d.ts.map +1 -1
  192. package/dist/core/store/grow.d.cts +2 -2
  193. package/dist/core/store/grow.d.ts +2 -2
  194. package/dist/core/store/grow.d.ts.map +1 -1
  195. package/dist/core/store/header.d.cts +31 -27
  196. package/dist/core/store/header.d.ts +31 -27
  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 +71 -62
  202. package/dist/core/store/layout_ops.d.ts +71 -62
  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 +12 -12
  211. package/dist/core/store/state_hash.d.ts +12 -12
  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 +15 -10
  225. package/dist/index.d.ts +15 -10
  226. package/dist/index.d.ts.map +1 -1
  227. package/dist/index.development.cjs +1 -1
  228. package/dist/index.development.js +5804 -5203
  229. package/dist/index.js +5323 -4764
  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 +54 -54
  244. package/dist/{extensions → plugins}/editor/editor.d.ts +54 -54
  245. package/dist/plugins/editor/editor.d.ts.map +1 -0
  246. package/dist/{extensions → plugins}/editor/field_handle.d.cts +12 -12
  247. package/dist/{extensions → plugins}/editor/field_handle.d.ts +12 -12
  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} +81 -64
  257. package/dist/{extensions/editor/index.js → plugins/editor.js} +81 -64
  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 +85 -97
  302. package/dist/{core/ecs → plugins/relations}/relation_service.d.ts +85 -97
  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 +16 -15
  411. package/dist/type_primitives/typed_arrays/typed_arrays.d.ts +16 -15
  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 +3 -3
  415. package/dist/version.d.ts +3 -3
  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-BlR3oZ3x.js +0 -2406
  465. package/dist/host_commands-C2cpU3yC.cjs +0 -1
  466. package/dist/internal-BoxWl4dG.js +0 -2565
  467. package/dist/internal-CGBEwfeB.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-Bs39EPh1.js +0 -150
  502. package/dist/shallow-C5YmTbtb.cjs +0 -1
  503. package/dist/shallow-CiFC70Dz.js +0 -159
  504. package/dist/shallow-DQ8aG51_.cjs +0 -1
  505. package/dist/shared-B4v0L1cw.js +0 -109
  506. package/dist/shared-DU78k0pU.cjs +0 -1
  507. package/dist/topological_sort-BDvEyb9W.cjs +0 -1
  508. package/dist/topological_sort-DK6EjpWa.js +0 -135
  509. package/dist/typed_arrays-D3NmwtCG.cjs +0 -1
  510. package/dist/typed_arrays-DIVwVy5_.js +0 -258
@@ -0,0 +1,48 @@
1
+ import { RunCondition } from './run_condition.cjs';
2
+ import { SystemDescriptor } from './system.cjs';
3
+ /**
4
+ * An opaque handle for a named group of systems. A set carries a shared
5
+ * run condition and shared ordering that every member inherits. Sets are
6
+ * identified by **object identity**, not by name, create one with
7
+ * `systemSet(name)`, hold the handle, and reuse it across `addSystems`
8
+ * (`SystemEntry.set`) and `Schedule.configureSet`. The `name` is for
9
+ * diagnostics only.
10
+ */
11
+ export interface SystemSet {
12
+ readonly name: string;
13
+ }
14
+ /** Create a `SystemSet` handle. Two calls with the same name are two
15
+ * distinct sets, keep the returned handle and pass it around. */
16
+ export declare function systemSet(name: string): SystemSet;
17
+ /** A `before` and `after` ordering target: either a concrete system or a whole set
18
+ * (expanded to its members within the same phase at sort time). */
19
+ export type SystemOrderingTarget = SystemDescriptor | SystemSet;
20
+ /** Shared configuration applied to a `SystemSet` via `configureSet`.
21
+ * It accumulates across calls. Conditions combine with and, and ordering
22
+ * targets union. */
23
+ export interface SystemSetConfig {
24
+ /** Condition(s) every member is gated by (ANDed with each member's own). */
25
+ runIf?: RunCondition | readonly RunCondition[];
26
+ /** Every member runs before each of these targets. */
27
+ before?: readonly SystemOrderingTarget[];
28
+ /** Every member runs after each of these targets. */
29
+ after?: readonly SystemOrderingTarget[];
30
+ }
31
+ export interface SystemOrdering {
32
+ before?: readonly SystemOrderingTarget[];
33
+ after?: readonly SystemOrderingTarget[];
34
+ }
35
+ export interface SystemEntry {
36
+ system: SystemDescriptor;
37
+ ordering?: SystemOrdering;
38
+ /** Run condition(s) gating only this system. ANDed with any set conditions
39
+ * it inherits. A `false` verdict skips the body that tick. */
40
+ runIf?: RunCondition | readonly RunCondition[];
41
+ /** Set membership, the system inherits each set's shared condition and
42
+ * ordering. */
43
+ set?: SystemSet | readonly SystemSet[];
44
+ }
45
+ /** A `SystemOrderingTarget` is a set iff it is not a system descriptor. A
46
+ * descriptor always carries `fn` (its update function), a set never does. */
47
+ export declare function isSystemSet(target: SystemOrderingTarget): target is SystemSet;
48
+ //# sourceMappingURL=system_set.d.ts.map
@@ -0,0 +1,48 @@
1
+ import { RunCondition } from './run_condition.js';
2
+ import { SystemDescriptor } from './system.js';
3
+ /**
4
+ * An opaque handle for a named group of systems. A set carries a shared
5
+ * run condition and shared ordering that every member inherits. Sets are
6
+ * identified by **object identity**, not by name, create one with
7
+ * `systemSet(name)`, hold the handle, and reuse it across `addSystems`
8
+ * (`SystemEntry.set`) and `Schedule.configureSet`. The `name` is for
9
+ * diagnostics only.
10
+ */
11
+ export interface SystemSet {
12
+ readonly name: string;
13
+ }
14
+ /** Create a `SystemSet` handle. Two calls with the same name are two
15
+ * distinct sets, keep the returned handle and pass it around. */
16
+ export declare function systemSet(name: string): SystemSet;
17
+ /** A `before` and `after` ordering target: either a concrete system or a whole set
18
+ * (expanded to its members within the same phase at sort time). */
19
+ export type SystemOrderingTarget = SystemDescriptor | SystemSet;
20
+ /** Shared configuration applied to a `SystemSet` via `configureSet`.
21
+ * It accumulates across calls. Conditions combine with and, and ordering
22
+ * targets union. */
23
+ export interface SystemSetConfig {
24
+ /** Condition(s) every member is gated by (ANDed with each member's own). */
25
+ runIf?: RunCondition | readonly RunCondition[];
26
+ /** Every member runs before each of these targets. */
27
+ before?: readonly SystemOrderingTarget[];
28
+ /** Every member runs after each of these targets. */
29
+ after?: readonly SystemOrderingTarget[];
30
+ }
31
+ export interface SystemOrdering {
32
+ before?: readonly SystemOrderingTarget[];
33
+ after?: readonly SystemOrderingTarget[];
34
+ }
35
+ export interface SystemEntry {
36
+ system: SystemDescriptor;
37
+ ordering?: SystemOrdering;
38
+ /** Run condition(s) gating only this system. ANDed with any set conditions
39
+ * it inherits. A `false` verdict skips the body that tick. */
40
+ runIf?: RunCondition | readonly RunCondition[];
41
+ /** Set membership, the system inherits each set's shared condition and
42
+ * ordering. */
43
+ set?: SystemSet | readonly SystemSet[];
44
+ }
45
+ /** A `SystemOrderingTarget` is a set iff it is not a system descriptor. A
46
+ * descriptor always carries `fn` (its update function), a set never does. */
47
+ export declare function isSystemSet(target: SystemOrderingTarget): target is SystemSet;
48
+ //# sourceMappingURL=system_set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system_set.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/system_set.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;KAcK;AAEL,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED;iEACiE;AACjE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAEjD;AAED;mEACmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAEhE;;oBAEoB;AACpB,MAAM,WAAW,eAAe;IAC/B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,YAAY,EAAE,CAAC;IAC/C,sDAAsD;IACtD,MAAM,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC,qDAAqD;IACrD,KAAK,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC,KAAK,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;kEAC8D;IAC9D,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,YAAY,EAAE,CAAC;IAC/C;mBACe;IACf,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,SAAS,EAAE,CAAC;CACvC;AAED;6EAC6E;AAC7E,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,IAAI,SAAS,CAE7E"}
@@ -1,7 +1,21 @@
1
1
  /***
2
- * Array utilities helpers for hash-bucketed maps.
2
+ * Array utilities. Hash-bucket push, and the canonical entity-id order.
3
3
  *
4
+ * `radixSortByIndex` lives here and not beside one caller, because two plugins
5
+ * want it and neither may import the other. The observers plugin sorts an
6
+ * entity-grain drain with it. The relations plugin sorts a hierarchy pass with
7
+ * it. A core home is what keeps the relation code free of the observer code.
4
8
  ***/
5
9
  /** Push a value into a hash-bucket map, creating the bucket array if absent. */
6
10
  export declare function bucketPush<T>(map: Map<number, T[]>, key: number, value: T): void;
11
+ /**
12
+ * O(K) LSD radix sort of entity ids by their 20-bit dense index (two 10-bit
13
+ * passes), in place. This is the canonical within-observer order, *never* a
14
+ * comparator `Array.sort`, which is far slower than the entire flush.
15
+ * Distinct live entities have distinct indices,
16
+ * so index order is a total canonical order. `out` is typed scratch, and the
17
+ * return value is the scratch to keep: the same buffer, or a larger one when
18
+ * `K` outgrew it. `c0` and `c1` are 1024-entry histograms, and both are reused.
19
+ */
20
+ export declare function radixSortByIndex(eids: number[], out: Uint32Array, c0: Int32Array, c1: Int32Array): Uint32Array;
7
21
  //# sourceMappingURL=arrays.d.ts.map
@@ -1,7 +1,21 @@
1
1
  /***
2
- * Array utilities helpers for hash-bucketed maps.
2
+ * Array utilities. Hash-bucket push, and the canonical entity-id order.
3
3
  *
4
+ * `radixSortByIndex` lives here and not beside one caller, because two plugins
5
+ * want it and neither may import the other. The observers plugin sorts an
6
+ * entity-grain drain with it. The relations plugin sorts a hierarchy pass with
7
+ * it. A core home is what keeps the relation code free of the observer code.
4
8
  ***/
5
9
  /** Push a value into a hash-bucket map, creating the bucket array if absent. */
6
10
  export declare function bucketPush<T>(map: Map<number, T[]>, key: number, value: T): void;
11
+ /**
12
+ * O(K) LSD radix sort of entity ids by their 20-bit dense index (two 10-bit
13
+ * passes), in place. This is the canonical within-observer order, *never* a
14
+ * comparator `Array.sort`, which is far slower than the entire flush.
15
+ * Distinct live entities have distinct indices,
16
+ * so index order is a total canonical order. `out` is typed scratch, and the
17
+ * return value is the scratch to keep: the same buffer, or a larger one when
18
+ * `K` outgrew it. `c0` and `c1` are 1024-entry histograms, and both are reused.
19
+ */
20
+ export declare function radixSortByIndex(eids: number[], out: Uint32Array, c0: Int32Array, c1: Int32Array): Uint32Array;
7
21
  //# sourceMappingURL=arrays.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../../../src/core/ecs/utils/arrays.ts"],"names":[],"mappings":"AAAA;;;KAGK;AAEL,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAOhF"}
1
+ {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../../../src/core/ecs/utils/arrays.ts"],"names":[],"mappings":"AAAA;;;;;;;KAOK;AAOL,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAOhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,GACZ,WAAW,CA4Bb"}
@@ -7,11 +7,19 @@ export declare enum ECS_ERROR {
7
7
  ENTITY_NOT_ALIVE = "ENTITY_NOT_ALIVE",
8
8
  CIRCULAR_SYSTEM_DEPENDENCY = "CIRCULAR_SYSTEM_DEPENDENCY",
9
9
  DUPLICATE_SYSTEM = "DUPLICATE_SYSTEM",
10
+ /** A phase handed to `addSystems` or to `addPhase` is not a phase of this
11
+ * schedule: a name no built-in spells, or a handle another world made. */
12
+ UNKNOWN_PHASE = "UNKNOWN_PHASE",
13
+ /** The phase ordering of one loop has a cycle, so no run order exists. */
14
+ CIRCULAR_PHASE_DEPENDENCY = "CIRCULAR_PHASE_DEPENDENCY",
10
15
  ARCHETYPE_NOT_FOUND = "ARCHETYPE_NOT_FOUND",
11
16
  RESOURCE_NOT_REGISTERED = "RESOURCE_NOT_REGISTERED",
12
17
  RESOURCE_ALREADY_REGISTERED = "RESOURCE_ALREADY_REGISTERED",
13
18
  EVENT_ALREADY_REGISTERED = "EVENT_ALREADY_REGISTERED",
14
19
  EVENT_NOT_REGISTERED = "EVENT_NOT_REGISTERED",
20
+ /** An event id is not an integer >= 0. The events plugin mints ids from a
21
+ * counter, so only a forged id reaches this. Dev-only. */
22
+ INVALID_EVENT_ID = "INVALID_EVENT_ID",
15
23
  FIELD_NOT_REGISTERED = "FIELD_NOT_REGISTERED",
16
24
  RELATION_NOT_REGISTERED = "RELATION_NOT_REGISTERED",
17
25
  RELATION_MODE_INVALID = "RELATION_MODE_INVALID",
@@ -19,11 +27,16 @@ export declare enum ECS_ERROR {
19
27
  RELATION_CYCLE = "RELATION_CYCLE",
20
28
  SPARSE_CACHE_KEY_OVERFLOW = "SPARSE_CACHE_KEY_OVERFLOW",
21
29
  SPARSE_QUERY_DENSE_PATH = "SPARSE_QUERY_DENSE_PATH",
30
+ /** A reader that answers from the unfiltered dense archetype list ran on a
31
+ * query that carries an archetype term. The term narrows the list, so the
32
+ * reader would answer wider than the query matches. */
33
+ QUERY_TERM_DENSE_PATH = "QUERY_TERM_DENSE_PATH",
22
34
  HIERARCHY_ALREADY_SET = "HIERARCHY_ALREADY_SET",
23
35
  HIERARCHY_INVALID_MAX_DEPTH = "HIERARCHY_INVALID_MAX_DEPTH",
24
36
  OBSERVER_NON_CONVERGENT = "OBSERVER_NON_CONVERGENT",
25
37
  OBSERVER_INVALID_CONFIG = "OBSERVER_INVALID_CONFIG",
26
38
  OBSERVER_ONSET_EMIT = "OBSERVER_ONSET_EMIT",
39
+ ROW_TICKS_NOT_TRACKED = "ROW_TICKS_NOT_TRACKED",
27
40
  INVALID_FIXED_TIMESTEP = "INVALID_FIXED_TIMESTEP",
28
41
  INVALID_MAX_FIXED_STEPS = "INVALID_MAX_FIXED_STEPS",
29
42
  INVALID_RECORDER_SCHEDULE = "INVALID_RECORDER_SCHEDULE",
@@ -32,14 +45,14 @@ export declare enum ECS_ERROR {
32
45
  /** An Archetype's row bookkeeping is inconsistent with its backing columns:
33
46
  * a reserve that did not deliver the capacity it was asked for, a restore
34
47
  * handed an out-of-range partition boundary, or a cached row plane
35
- * (`_bufs`/`_eids`) left pointing at a stale buffer. Dev-only, and an
36
- * internal-invariant failure rather than a caller error distinct from
48
+ * (`_bufs` and `_eids`) left pointing at a stale buffer. Dev-only, and an
49
+ * internal-invariant failure rather than a caller error, distinct from
37
50
  * `STORE_CAP_EXCEEDED`, which is the allocator refusing a legitimate grow. */
38
51
  ARCHETYPE_ROW_INVARIANT = "ARCHETYPE_ROW_INVARIANT",
39
52
  OPTIONAL_TERM_NOT_DECLARED = "OPTIONAL_TERM_NOT_DECLARED",
40
53
  QUERY_ACCESS_UNDECLARED = "QUERY_ACCESS_UNDECLARED",
41
- /** A system touched a component/sparse/relation/resource it didn't declare
42
- * in its access surface distinct from *_NOT_REGISTERED (which means the
54
+ /** A system touched a component, sparse, relation or resource it did not declare
55
+ * in its access surface, distinct from *_NOT_REGISTERED (which means the
43
56
  * thing was never registered with the world at all). */
44
57
  ACCESS_UNDECLARED = "ACCESS_UNDECLARED",
45
58
  /** `Query.singleEntity` found 0 or >1 matches (dev-only assertion). */
@@ -47,22 +60,85 @@ export declare enum ECS_ERROR {
47
60
  /** A run-condition factory was given invalid arguments (dev-only). */
48
61
  INVALID_RUN_CONDITION = "INVALID_RUN_CONDITION",
49
62
  SYSTEM_FN_ARITY = "SYSTEM_FN_ARITY",
63
+ /** A system id is not an integer >= 0. The schedule and the observers plugin
64
+ * mint ids from a counter, so this catches a forged id. Dev-only. */
65
+ INVALID_SYSTEM_ID = "INVALID_SYSTEM_ID",
50
66
  PARTITION_APPEND_NEEDS_ENTITY_ROW = "PARTITION_APPEND_NEEDS_ENTITY_ROW",
51
67
  PARTITION_BULK_INTO_DISABLED = "PARTITION_BULK_INTO_DISABLED",
52
- ENTITY_NOT_DISABLED = "ENTITY_NOT_DISABLED",
53
68
  STRUCTURAL_DURING_ITERATION = "STRUCTURAL_DURING_ITERATION",
54
69
  BACKEND_ALREADY_ATTACHED = "BACKEND_ALREADY_ATTACHED",
55
70
  DETERMINISM_DISABLED = "DETERMINISM_DISABLED",
71
+ /** `ecs.snapshots.restore` refused a frame: too short, the wrong magic or
72
+ * version, a section that runs past the buffer, or a world whose archetype
73
+ * and component registration differs from the capture. The live world is
74
+ * unchanged. In each build. */
75
+ SNAPSHOT_RESTORE_FAILED = "SNAPSHOT_RESTORE_FAILED",
56
76
  NON_DETERMINISTIC_COLUMN_TYPE = "NON_DETERMINISTIC_COLUMN_TYPE",
57
77
  INVALID_MEMORY_OPTIONS = "INVALID_MEMORY_OPTIONS",
58
78
  STORE_CAP_EXCEEDED = "STORE_CAP_EXCEEDED",
59
79
  REGION_NOT_DECLARED = "REGION_NOT_DECLARED",
60
80
  COMMAND_LOG_TAG_COLLISION = "COMMAND_LOG_TAG_COLLISION",
61
- INVALID_FRAME_STEP = "INVALID_FRAME_STEP"
81
+ INVALID_FRAME_STEP = "INVALID_FRAME_STEP",
82
+ /** `spawn` or `spawnMany` got a value that is not a template. A component
83
+ * definition and a bundle are the two usual mistakes. Dev-only. Without this
84
+ * check, the value goes to the store. Then the store fails with a `TypeError`
85
+ * about an internal field. That error names the wrong place. */
86
+ INVALID_TEMPLATE = "INVALID_TEMPLATE",
87
+ /** An optional subsystem was used on a world that never installed it.
88
+ * Distinct from `*_NOT_REGISTERED`, which means the world has the
89
+ * subsystem but not that particular component, event or relation. */
90
+ PLUGIN_NOT_INSTALLED = "PLUGIN_NOT_INSTALLED",
91
+ /** One plugin reached an install seam twice. The second service would
92
+ * replace the first, and every handle the caller took from the first would
93
+ * then address state the world no longer reads. */
94
+ PLUGIN_ALREADY_INSTALLED = "PLUGIN_ALREADY_INSTALLED",
95
+ /** A plugin's facade names a member the world already carries.
96
+ * `Object.assign` would overwrite it without a word, and the world would
97
+ * lose a method it needs. Dev-only. */
98
+ PLUGIN_SURFACE_COLLISION = "PLUGIN_SURFACE_COLLISION",
99
+ /** `workers.attach` ran on a world that already holds a pool. One pool per
100
+ * world, because one control buffer carries one barrier. */
101
+ WORKERS_ATTACHED = "WORKERS_ATTACHED",
102
+ /** `workers.attach` ran on a world whose bytes a worker cannot reach. A
103
+ * worker needs a `SharedArrayBuffer` or a shared `WebAssembly.Memory`. */
104
+ WORKERS_NEED_SHARED_BACKING = "WORKERS_NEED_SHARED_BACKING",
105
+ /** The host cannot block on `Atomics.wait`, so it cannot park while the
106
+ * workers run. A browser main thread is the case. */
107
+ WORKERS_HOST_CANNOT_PARK = "WORKERS_HOST_CANNOT_PARK",
108
+ /** `workers.attach` was given a number outside its range. The worker count,
109
+ * the join timeout and the kernel stack size are the three, and the message
110
+ * names which. */
111
+ WORKERS_COUNT_INVALID = "WORKERS_COUNT_INVALID",
112
+ /** A worker's script did not load, so the worker answered nothing. A
113
+ * `workerUrl` that points at no file is the case, and a bundled app that
114
+ * kept the default is where that happens. */
115
+ WORKERS_ENTRY_UNREACHABLE = "WORKERS_ENTRY_UNREACHABLE",
116
+ /** A parallel system declares access a worker cannot serve, or a query a
117
+ * worker cannot resolve from the archetype masks. Dev-only, at
118
+ * registration. */
119
+ PARALLEL_ACCESS = "PARALLEL_ACCESS",
120
+ /** A parallel system names a `wasm` kernel whose module the pool cannot
121
+ * serve: an import the workers do not supply, a missing memory import, or an
122
+ * export that is missing or is not a function. Dev-only, at registration. */
123
+ PARALLEL_KERNEL_MODULE = "PARALLEL_KERNEL_MODULE",
124
+ /** A kernel would not load, it threw inside a pass, or a worker missed the
125
+ * join inside `joinTimeoutMs`. The message names the kernel export, and the
126
+ * worker index when a worker reported the fault itself. A module that cannot
127
+ * be given one stack region for each worker fails to load here. */
128
+ PARALLEL_KERNEL_FAILED = "PARALLEL_KERNEL_FAILED"
62
129
  }
63
130
  export declare class ECSError extends AppError {
64
131
  readonly category: ECS_ERROR;
65
132
  constructor(category: ECS_ERROR, message?: string, context?: Record<string, unknown>);
66
133
  }
67
134
  export declare function isEcsError(error: unknown): error is ECSError;
135
+ /** Thrown by `ecs.snapshots.restore` and its helpers when a combined snapshot
136
+ * is malformed, carries the wrong magic or version, or targets a world whose
137
+ * archetype and component registration does not match the capture. An
138
+ * `ECSError` with category `SNAPSHOT_RESTORE_FAILED`, so `isEcsError` answers
139
+ * true, and its own class beside `StoreRestoreError` and `SparseRestoreError`
140
+ * so a caller catches one class per restore layer. */
141
+ export declare class ECSRestoreError extends ECSError {
142
+ constructor(message: string);
143
+ }
68
144
  //# sourceMappingURL=error.d.ts.map
@@ -7,11 +7,19 @@ export declare enum ECS_ERROR {
7
7
  ENTITY_NOT_ALIVE = "ENTITY_NOT_ALIVE",
8
8
  CIRCULAR_SYSTEM_DEPENDENCY = "CIRCULAR_SYSTEM_DEPENDENCY",
9
9
  DUPLICATE_SYSTEM = "DUPLICATE_SYSTEM",
10
+ /** A phase handed to `addSystems` or to `addPhase` is not a phase of this
11
+ * schedule: a name no built-in spells, or a handle another world made. */
12
+ UNKNOWN_PHASE = "UNKNOWN_PHASE",
13
+ /** The phase ordering of one loop has a cycle, so no run order exists. */
14
+ CIRCULAR_PHASE_DEPENDENCY = "CIRCULAR_PHASE_DEPENDENCY",
10
15
  ARCHETYPE_NOT_FOUND = "ARCHETYPE_NOT_FOUND",
11
16
  RESOURCE_NOT_REGISTERED = "RESOURCE_NOT_REGISTERED",
12
17
  RESOURCE_ALREADY_REGISTERED = "RESOURCE_ALREADY_REGISTERED",
13
18
  EVENT_ALREADY_REGISTERED = "EVENT_ALREADY_REGISTERED",
14
19
  EVENT_NOT_REGISTERED = "EVENT_NOT_REGISTERED",
20
+ /** An event id is not an integer >= 0. The events plugin mints ids from a
21
+ * counter, so only a forged id reaches this. Dev-only. */
22
+ INVALID_EVENT_ID = "INVALID_EVENT_ID",
15
23
  FIELD_NOT_REGISTERED = "FIELD_NOT_REGISTERED",
16
24
  RELATION_NOT_REGISTERED = "RELATION_NOT_REGISTERED",
17
25
  RELATION_MODE_INVALID = "RELATION_MODE_INVALID",
@@ -19,11 +27,16 @@ export declare enum ECS_ERROR {
19
27
  RELATION_CYCLE = "RELATION_CYCLE",
20
28
  SPARSE_CACHE_KEY_OVERFLOW = "SPARSE_CACHE_KEY_OVERFLOW",
21
29
  SPARSE_QUERY_DENSE_PATH = "SPARSE_QUERY_DENSE_PATH",
30
+ /** A reader that answers from the unfiltered dense archetype list ran on a
31
+ * query that carries an archetype term. The term narrows the list, so the
32
+ * reader would answer wider than the query matches. */
33
+ QUERY_TERM_DENSE_PATH = "QUERY_TERM_DENSE_PATH",
22
34
  HIERARCHY_ALREADY_SET = "HIERARCHY_ALREADY_SET",
23
35
  HIERARCHY_INVALID_MAX_DEPTH = "HIERARCHY_INVALID_MAX_DEPTH",
24
36
  OBSERVER_NON_CONVERGENT = "OBSERVER_NON_CONVERGENT",
25
37
  OBSERVER_INVALID_CONFIG = "OBSERVER_INVALID_CONFIG",
26
38
  OBSERVER_ONSET_EMIT = "OBSERVER_ONSET_EMIT",
39
+ ROW_TICKS_NOT_TRACKED = "ROW_TICKS_NOT_TRACKED",
27
40
  INVALID_FIXED_TIMESTEP = "INVALID_FIXED_TIMESTEP",
28
41
  INVALID_MAX_FIXED_STEPS = "INVALID_MAX_FIXED_STEPS",
29
42
  INVALID_RECORDER_SCHEDULE = "INVALID_RECORDER_SCHEDULE",
@@ -32,14 +45,14 @@ export declare enum ECS_ERROR {
32
45
  /** An Archetype's row bookkeeping is inconsistent with its backing columns:
33
46
  * a reserve that did not deliver the capacity it was asked for, a restore
34
47
  * handed an out-of-range partition boundary, or a cached row plane
35
- * (`_bufs`/`_eids`) left pointing at a stale buffer. Dev-only, and an
36
- * internal-invariant failure rather than a caller error distinct from
48
+ * (`_bufs` and `_eids`) left pointing at a stale buffer. Dev-only, and an
49
+ * internal-invariant failure rather than a caller error, distinct from
37
50
  * `STORE_CAP_EXCEEDED`, which is the allocator refusing a legitimate grow. */
38
51
  ARCHETYPE_ROW_INVARIANT = "ARCHETYPE_ROW_INVARIANT",
39
52
  OPTIONAL_TERM_NOT_DECLARED = "OPTIONAL_TERM_NOT_DECLARED",
40
53
  QUERY_ACCESS_UNDECLARED = "QUERY_ACCESS_UNDECLARED",
41
- /** A system touched a component/sparse/relation/resource it didn't declare
42
- * in its access surface distinct from *_NOT_REGISTERED (which means the
54
+ /** A system touched a component, sparse, relation or resource it did not declare
55
+ * in its access surface, distinct from *_NOT_REGISTERED (which means the
43
56
  * thing was never registered with the world at all). */
44
57
  ACCESS_UNDECLARED = "ACCESS_UNDECLARED",
45
58
  /** `Query.singleEntity` found 0 or >1 matches (dev-only assertion). */
@@ -47,22 +60,85 @@ export declare enum ECS_ERROR {
47
60
  /** A run-condition factory was given invalid arguments (dev-only). */
48
61
  INVALID_RUN_CONDITION = "INVALID_RUN_CONDITION",
49
62
  SYSTEM_FN_ARITY = "SYSTEM_FN_ARITY",
63
+ /** A system id is not an integer >= 0. The schedule and the observers plugin
64
+ * mint ids from a counter, so this catches a forged id. Dev-only. */
65
+ INVALID_SYSTEM_ID = "INVALID_SYSTEM_ID",
50
66
  PARTITION_APPEND_NEEDS_ENTITY_ROW = "PARTITION_APPEND_NEEDS_ENTITY_ROW",
51
67
  PARTITION_BULK_INTO_DISABLED = "PARTITION_BULK_INTO_DISABLED",
52
- ENTITY_NOT_DISABLED = "ENTITY_NOT_DISABLED",
53
68
  STRUCTURAL_DURING_ITERATION = "STRUCTURAL_DURING_ITERATION",
54
69
  BACKEND_ALREADY_ATTACHED = "BACKEND_ALREADY_ATTACHED",
55
70
  DETERMINISM_DISABLED = "DETERMINISM_DISABLED",
71
+ /** `ecs.snapshots.restore` refused a frame: too short, the wrong magic or
72
+ * version, a section that runs past the buffer, or a world whose archetype
73
+ * and component registration differs from the capture. The live world is
74
+ * unchanged. In each build. */
75
+ SNAPSHOT_RESTORE_FAILED = "SNAPSHOT_RESTORE_FAILED",
56
76
  NON_DETERMINISTIC_COLUMN_TYPE = "NON_DETERMINISTIC_COLUMN_TYPE",
57
77
  INVALID_MEMORY_OPTIONS = "INVALID_MEMORY_OPTIONS",
58
78
  STORE_CAP_EXCEEDED = "STORE_CAP_EXCEEDED",
59
79
  REGION_NOT_DECLARED = "REGION_NOT_DECLARED",
60
80
  COMMAND_LOG_TAG_COLLISION = "COMMAND_LOG_TAG_COLLISION",
61
- INVALID_FRAME_STEP = "INVALID_FRAME_STEP"
81
+ INVALID_FRAME_STEP = "INVALID_FRAME_STEP",
82
+ /** `spawn` or `spawnMany` got a value that is not a template. A component
83
+ * definition and a bundle are the two usual mistakes. Dev-only. Without this
84
+ * check, the value goes to the store. Then the store fails with a `TypeError`
85
+ * about an internal field. That error names the wrong place. */
86
+ INVALID_TEMPLATE = "INVALID_TEMPLATE",
87
+ /** An optional subsystem was used on a world that never installed it.
88
+ * Distinct from `*_NOT_REGISTERED`, which means the world has the
89
+ * subsystem but not that particular component, event or relation. */
90
+ PLUGIN_NOT_INSTALLED = "PLUGIN_NOT_INSTALLED",
91
+ /** One plugin reached an install seam twice. The second service would
92
+ * replace the first, and every handle the caller took from the first would
93
+ * then address state the world no longer reads. */
94
+ PLUGIN_ALREADY_INSTALLED = "PLUGIN_ALREADY_INSTALLED",
95
+ /** A plugin's facade names a member the world already carries.
96
+ * `Object.assign` would overwrite it without a word, and the world would
97
+ * lose a method it needs. Dev-only. */
98
+ PLUGIN_SURFACE_COLLISION = "PLUGIN_SURFACE_COLLISION",
99
+ /** `workers.attach` ran on a world that already holds a pool. One pool per
100
+ * world, because one control buffer carries one barrier. */
101
+ WORKERS_ATTACHED = "WORKERS_ATTACHED",
102
+ /** `workers.attach` ran on a world whose bytes a worker cannot reach. A
103
+ * worker needs a `SharedArrayBuffer` or a shared `WebAssembly.Memory`. */
104
+ WORKERS_NEED_SHARED_BACKING = "WORKERS_NEED_SHARED_BACKING",
105
+ /** The host cannot block on `Atomics.wait`, so it cannot park while the
106
+ * workers run. A browser main thread is the case. */
107
+ WORKERS_HOST_CANNOT_PARK = "WORKERS_HOST_CANNOT_PARK",
108
+ /** `workers.attach` was given a number outside its range. The worker count,
109
+ * the join timeout and the kernel stack size are the three, and the message
110
+ * names which. */
111
+ WORKERS_COUNT_INVALID = "WORKERS_COUNT_INVALID",
112
+ /** A worker's script did not load, so the worker answered nothing. A
113
+ * `workerUrl` that points at no file is the case, and a bundled app that
114
+ * kept the default is where that happens. */
115
+ WORKERS_ENTRY_UNREACHABLE = "WORKERS_ENTRY_UNREACHABLE",
116
+ /** A parallel system declares access a worker cannot serve, or a query a
117
+ * worker cannot resolve from the archetype masks. Dev-only, at
118
+ * registration. */
119
+ PARALLEL_ACCESS = "PARALLEL_ACCESS",
120
+ /** A parallel system names a `wasm` kernel whose module the pool cannot
121
+ * serve: an import the workers do not supply, a missing memory import, or an
122
+ * export that is missing or is not a function. Dev-only, at registration. */
123
+ PARALLEL_KERNEL_MODULE = "PARALLEL_KERNEL_MODULE",
124
+ /** A kernel would not load, it threw inside a pass, or a worker missed the
125
+ * join inside `joinTimeoutMs`. The message names the kernel export, and the
126
+ * worker index when a worker reported the fault itself. A module that cannot
127
+ * be given one stack region for each worker fails to load here. */
128
+ PARALLEL_KERNEL_FAILED = "PARALLEL_KERNEL_FAILED"
62
129
  }
63
130
  export declare class ECSError extends AppError {
64
131
  readonly category: ECS_ERROR;
65
132
  constructor(category: ECS_ERROR, message?: string, context?: Record<string, unknown>);
66
133
  }
67
134
  export declare function isEcsError(error: unknown): error is ECSError;
135
+ /** Thrown by `ecs.snapshots.restore` and its helpers when a combined snapshot
136
+ * is malformed, carries the wrong magic or version, or targets a world whose
137
+ * archetype and component registration does not match the capture. An
138
+ * `ECSError` with category `SNAPSHOT_RESTORE_FAILED`, so `isEcsError` answers
139
+ * true, and its own class beside `StoreRestoreError` and `SparseRestoreError`
140
+ * so a caller catches one class per restore layer. */
141
+ export declare class ECSRestoreError extends ECSError {
142
+ constructor(message: string);
143
+ }
68
144
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/core/ecs/utils/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,oBAAY,SAAS;IACpB,sBAAsB,2BAA2B;IACjD,oBAAoB,yBAAyB;IAC7C,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;IACrC,0BAA0B,+BAA+B;IACzD,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,uBAAuB,4BAA4B;IACnD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,cAAc,mBAAmB;IACjC,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;IAC/C,2BAA2B,gCAAgC;IAC3D,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,yBAAyB,8BAA8B;IACvD;;;;;kFAK8E;IAC9E,uBAAuB,4BAA4B;IACnD,0BAA0B,+BAA+B;IACzD,uBAAuB,4BAA4B;IACnD;;4DAEwD;IACxD,iBAAiB,sBAAsB;IACvC,uEAAuE;IACvE,mBAAmB,wBAAwB;IAC3C,sEAAsE;IACtE,qBAAqB,0BAA0B;IAC/C,eAAe,oBAAoB;IACnC,iCAAiC,sCAAsC;IACvE,4BAA4B,iCAAiC;IAC7D,mBAAmB,wBAAwB;IAC3C,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,oBAAoB,yBAAyB;IAC7C,6BAA6B,kCAAkC;IAC/D,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IACvD,kBAAkB,uBAAuB;CACzC;AAED,qBAAa,QAAS,SAAQ,QAAQ;aAEpB,QAAQ,EAAE,SAAS;gBAAnB,QAAQ,EAAE,SAAS,EACnC,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAIlC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/core/ecs/utils/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,oBAAY,SAAS;IACpB,sBAAsB,2BAA2B;IACjD,oBAAoB,yBAAyB;IAC7C,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;IACrC,0BAA0B,+BAA+B;IACzD,gBAAgB,qBAAqB;IACrC;8EAC0E;IAC1E,aAAa,kBAAkB;IAC/B,0EAA0E;IAC1E,yBAAyB,8BAA8B;IACvD,mBAAmB,wBAAwB;IAC3C,uBAAuB,4BAA4B;IACnD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,oBAAoB,yBAAyB;IAC7C;8DAC0D;IAC1D,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,cAAc,mBAAmB;IACjC,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IACnD;;2DAEuD;IACvD,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,2BAA2B,gCAAgC;IAC3D,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,yBAAyB,8BAA8B;IACvD;;;;;kFAK8E;IAC9E,uBAAuB,4BAA4B;IACnD,0BAA0B,+BAA+B;IACzD,uBAAuB,4BAA4B;IACnD;;4DAEwD;IACxD,iBAAiB,sBAAsB;IACvC,uEAAuE;IACvE,mBAAmB,wBAAwB;IAC3C,sEAAsE;IACtE,qBAAqB,0BAA0B;IAC/C,eAAe,oBAAoB;IACnC;yEACqE;IACrE,iBAAiB,sBAAsB;IACvC,iCAAiC,sCAAsC;IACvE,4BAA4B,iCAAiC;IAC7D,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,oBAAoB,yBAAyB;IAC7C;;;mCAG+B;IAC/B,uBAAuB,4BAA4B;IACnD,6BAA6B,kCAAkC;IAC/D,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IACvD,kBAAkB,uBAAuB;IACzC;;;oEAGgE;IAChE,gBAAgB,qBAAqB;IACrC;;yEAEqE;IACrE,oBAAoB,yBAAyB;IAC7C;;uDAEmD;IACnD,wBAAwB,6BAA6B;IACrD;;2CAEuC;IACvC,wBAAwB,6BAA6B;IACrD;gEAC4D;IAC5D,gBAAgB,qBAAqB;IACrC;8EAC0E;IAC1E,2BAA2B,gCAAgC;IAC3D;yDACqD;IACrD,wBAAwB,6BAA6B;IACrD;;sBAEkB;IAClB,qBAAqB,0BAA0B;IAC/C;;iDAE6C;IAC7C,yBAAyB,8BAA8B;IACvD;;uBAEmB;IACnB,eAAe,oBAAoB;IACnC;;iFAE6E;IAC7E,sBAAsB,2BAA2B;IACjD;;;uEAGmE;IACnE,sBAAsB,2BAA2B;CACjD;AAED,qBAAa,QAAS,SAAQ,QAAQ;aAEpB,QAAQ,EAAE,SAAS;gBAAnB,QAAQ,EAAE,SAAS,EACnC,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAKlC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;;;;sDAKsD;AACtD,qBAAa,eAAgB,SAAQ,QAAQ;gBAChC,OAAO,EAAE,MAAM;CAI3B"}
@@ -0,0 +1,10 @@
1
+ import { ECSError } from './error.cjs';
2
+ /** The fault a world raises when a caller uses a subsystem it never installed.
3
+ * Names the plugin and the import that supplies it, because the remedy is
4
+ * a construction-site edit and not a call-site one. */
5
+ export declare function pluginMissingError(plugin: string, api: string): ECSError;
6
+ /** The fault a world raises when a plugin reaches its install seam twice.
7
+ * The install replaces the service, so the second one silently strands every
8
+ * definition and handle the first one minted. */
9
+ export declare function pluginInstalledTwiceError(plugin: string): ECSError;
10
+ //# sourceMappingURL=plugin_error.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { ECSError } from './error.js';
2
+ /** The fault a world raises when a caller uses a subsystem it never installed.
3
+ * Names the plugin and the import that supplies it, because the remedy is
4
+ * a construction-site edit and not a call-site one. */
5
+ export declare function pluginMissingError(plugin: string, api: string): ECSError;
6
+ /** The fault a world raises when a plugin reaches its install seam twice.
7
+ * The install replaces the service, so the second one silently strands every
8
+ * definition and handle the first one minted. */
9
+ export declare function pluginInstalledTwiceError(plugin: string): ECSError;
10
+ //# sourceMappingURL=plugin_error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin_error.d.ts","sourceRoot":"","sources":["../../../../src/core/ecs/utils/plugin_error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;KAYK;AAEL,OAAO,EAAE,QAAQ,EAAa,MAAM,SAAS,CAAC;AAE9C;;uDAEuD;AACvD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAQxE;AAED;;iDAEiD;AACjD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAMlE"}
@@ -0,0 +1,30 @@
1
+ /***
2
+ * The restore error classes, in one module both core layers import.
3
+ *
4
+ * A caller catches a restore failure by class, so there must be exactly one
5
+ * `StoreRestoreError` and one `SparseRestoreError` in a program. The dense
6
+ * half throws from `core/store`, the sparse half throws from `core/ecs`, and
7
+ * the snapshot plugin ships in its own rollup graph. A class declared
8
+ * beside either thrower would be copied into that graph. `err instanceof
9
+ * StoreRestoreError` would then answer `false` against the class the package
10
+ * root exports.
11
+ *
12
+ * One module holding both is what the plugin build marks external and
13
+ * resolves to the core artifact. Keep it free of imports, so the mapping stays
14
+ * a leaf and the module carries no state beyond the two classes.
15
+ *
16
+ * Cold path. A restore failure ends the call.
17
+ ***/
18
+ /** Thrown when the dense half of a snapshot is malformed: too short for the
19
+ * header, the wrong magic, an incompatible ABI version, or a layout region
20
+ * that runs past the buffer. */
21
+ export declare class StoreRestoreError extends Error {
22
+ constructor(message: string);
23
+ }
24
+ /** Thrown when the sparse half of a snapshot does not match the live world:
25
+ * truncated bytes, a different store count, or a field schema that differs
26
+ * from the one the bytes were written against. */
27
+ export declare class SparseRestoreError extends Error {
28
+ constructor(message: string);
29
+ }
30
+ //# sourceMappingURL=restore_errors.d.ts.map
@@ -0,0 +1,30 @@
1
+ /***
2
+ * The restore error classes, in one module both core layers import.
3
+ *
4
+ * A caller catches a restore failure by class, so there must be exactly one
5
+ * `StoreRestoreError` and one `SparseRestoreError` in a program. The dense
6
+ * half throws from `core/store`, the sparse half throws from `core/ecs`, and
7
+ * the snapshot plugin ships in its own rollup graph. A class declared
8
+ * beside either thrower would be copied into that graph. `err instanceof
9
+ * StoreRestoreError` would then answer `false` against the class the package
10
+ * root exports.
11
+ *
12
+ * One module holding both is what the plugin build marks external and
13
+ * resolves to the core artifact. Keep it free of imports, so the mapping stays
14
+ * a leaf and the module carries no state beyond the two classes.
15
+ *
16
+ * Cold path. A restore failure ends the call.
17
+ ***/
18
+ /** Thrown when the dense half of a snapshot is malformed: too short for the
19
+ * header, the wrong magic, an incompatible ABI version, or a layout region
20
+ * that runs past the buffer. */
21
+ export declare class StoreRestoreError extends Error {
22
+ constructor(message: string);
23
+ }
24
+ /** Thrown when the sparse half of a snapshot does not match the live world:
25
+ * truncated bytes, a different store count, or a field schema that differs
26
+ * from the one the bytes were written against. */
27
+ export declare class SparseRestoreError extends Error {
28
+ constructor(message: string);
29
+ }
30
+ //# sourceMappingURL=restore_errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore_errors.d.ts","sourceRoot":"","sources":["../../src/core/restore_errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;KAgBK;AAEL;;gCAEgC;AAChC,qBAAa,iBAAkB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI3B;AAED;;kDAEkD;AAClD,qBAAa,kBAAmB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI3B"}