@oasys/oecs 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/CHANGELOG.md +1399 -276
  2. package/README.md +327 -169
  3. package/dist/core/ecs/access_check.d.cts +31 -31
  4. package/dist/core/ecs/access_check.d.ts +31 -31
  5. package/dist/core/ecs/access_check.d.ts.map +1 -1
  6. package/dist/core/ecs/archetype.d.cts +273 -205
  7. package/dist/core/ecs/archetype.d.ts +273 -205
  8. package/dist/core/ecs/archetype.d.ts.map +1 -1
  9. package/dist/core/ecs/archetype_closure.d.cts +23 -0
  10. package/dist/core/ecs/archetype_closure.d.ts +23 -0
  11. package/dist/core/ecs/archetype_closure.d.ts.map +1 -0
  12. package/dist/core/ecs/archetype_graph.d.cts +34 -34
  13. package/dist/core/ecs/archetype_graph.d.ts +34 -34
  14. package/dist/core/ecs/archetype_graph.d.ts.map +1 -1
  15. package/dist/core/ecs/archetype_types.d.cts +55 -0
  16. package/dist/core/ecs/archetype_types.d.ts +55 -0
  17. package/dist/core/ecs/archetype_types.d.ts.map +1 -0
  18. package/dist/core/ecs/change_feed.d.cts +53 -0
  19. package/dist/core/ecs/change_feed.d.ts +53 -0
  20. package/dist/core/ecs/change_feed.d.ts.map +1 -0
  21. package/dist/core/ecs/changed_query.d.cts +36 -0
  22. package/dist/core/ecs/changed_query.d.ts +36 -0
  23. package/dist/core/ecs/changed_query.d.ts.map +1 -0
  24. package/dist/core/ecs/chunk_columns.d.cts +49 -0
  25. package/dist/core/ecs/chunk_columns.d.ts +49 -0
  26. package/dist/core/ecs/chunk_columns.d.ts.map +1 -0
  27. package/dist/core/ecs/command_log.d.cts +30 -30
  28. package/dist/core/ecs/command_log.d.ts +30 -30
  29. package/dist/core/ecs/command_log.d.ts.map +1 -1
  30. package/dist/core/ecs/component.d.cts +45 -44
  31. package/dist/core/ecs/component.d.ts +45 -44
  32. package/dist/core/ecs/component.d.ts.map +1 -1
  33. package/dist/core/ecs/component_registry.d.cts +53 -0
  34. package/dist/core/ecs/component_registry.d.ts +53 -0
  35. package/dist/core/ecs/component_registry.d.ts.map +1 -0
  36. package/dist/core/ecs/compute_backend.d.cts +18 -7
  37. package/dist/core/ecs/compute_backend.d.ts +18 -7
  38. package/dist/core/ecs/compute_backend.d.ts.map +1 -1
  39. package/dist/core/ecs/deferred_commands.d.cts +15 -14
  40. package/dist/core/ecs/deferred_commands.d.ts +15 -14
  41. package/dist/core/ecs/deferred_commands.d.ts.map +1 -1
  42. package/dist/core/ecs/dispatch_trace.d.cts +32 -31
  43. package/dist/core/ecs/dispatch_trace.d.ts +32 -31
  44. package/dist/core/ecs/dispatch_trace.d.ts.map +1 -1
  45. package/dist/core/ecs/ecs.d.cts +337 -276
  46. package/dist/core/ecs/ecs.d.ts +337 -276
  47. package/dist/core/ecs/ecs.d.ts.map +1 -1
  48. package/dist/core/ecs/ecs_memory.d.cts +134 -136
  49. package/dist/core/ecs/ecs_memory.d.ts +134 -136
  50. package/dist/core/ecs/ecs_memory.d.ts.map +1 -1
  51. package/dist/core/ecs/ecs_options.d.cts +89 -0
  52. package/dist/core/ecs/ecs_options.d.ts +89 -0
  53. package/dist/core/ecs/ecs_options.d.ts.map +1 -0
  54. package/dist/core/ecs/entity.d.cts +4 -4
  55. package/dist/core/ecs/entity.d.ts +4 -4
  56. package/dist/core/ecs/entity_allocator.d.cts +24 -22
  57. package/dist/core/ecs/entity_allocator.d.ts +24 -22
  58. package/dist/core/ecs/entity_allocator.d.ts.map +1 -1
  59. package/dist/core/ecs/event.d.cts +37 -23
  60. package/dist/core/ecs/event.d.ts +37 -23
  61. package/dist/core/ecs/event.d.ts.map +1 -1
  62. package/dist/core/ecs/facades.d.cts +12 -126
  63. package/dist/core/ecs/facades.d.ts +12 -126
  64. package/dist/core/ecs/facades.d.ts.map +1 -1
  65. package/dist/core/ecs/frame_stepper.d.cts +12 -12
  66. package/dist/core/ecs/frame_stepper.d.ts +12 -12
  67. package/dist/core/ecs/frame_stepper.d.ts.map +1 -1
  68. package/dist/core/ecs/frame_trace.d.cts +34 -34
  69. package/dist/core/ecs/frame_trace.d.ts +34 -34
  70. package/dist/core/ecs/frame_trace.d.ts.map +1 -1
  71. package/dist/core/ecs/host_commands.d.cts +107 -89
  72. package/dist/core/ecs/host_commands.d.ts +107 -89
  73. package/dist/core/ecs/host_commands.d.ts.map +1 -1
  74. package/dist/core/ecs/index.d.cts +22 -12
  75. package/dist/core/ecs/index.d.ts +22 -12
  76. package/dist/core/ecs/index.d.ts.map +1 -1
  77. package/dist/core/ecs/observer.d.cts +41 -122
  78. package/dist/core/ecs/observer.d.ts +41 -122
  79. package/dist/core/ecs/observer.d.ts.map +1 -1
  80. package/dist/core/ecs/phase.d.cts +79 -0
  81. package/dist/core/ecs/phase.d.ts +79 -0
  82. package/dist/core/ecs/phase.d.ts.map +1 -0
  83. package/dist/core/ecs/plugin.d.cts +125 -0
  84. package/dist/core/ecs/plugin.d.ts +125 -0
  85. package/dist/core/ecs/plugin.d.ts.map +1 -0
  86. package/dist/core/ecs/plugin_slots.d.cts +26 -0
  87. package/dist/core/ecs/plugin_slots.d.ts +26 -0
  88. package/dist/core/ecs/plugin_slots.d.ts.map +1 -0
  89. package/dist/core/ecs/query.d.cts +219 -568
  90. package/dist/core/ecs/query.d.ts +219 -568
  91. package/dist/core/ecs/query.d.ts.map +1 -1
  92. package/dist/core/ecs/query_cache.d.cts +130 -0
  93. package/dist/core/ecs/query_cache.d.ts +130 -0
  94. package/dist/core/ecs/query_cache.d.ts.map +1 -0
  95. package/dist/core/ecs/query_registry.d.cts +47 -0
  96. package/dist/core/ecs/query_registry.d.ts +47 -0
  97. package/dist/core/ecs/query_registry.d.ts.map +1 -0
  98. package/dist/core/ecs/query_terms.d.cts +126 -0
  99. package/dist/core/ecs/query_terms.d.ts +126 -0
  100. package/dist/core/ecs/query_terms.d.ts.map +1 -0
  101. package/dist/core/ecs/ref.d.cts +129 -16
  102. package/dist/core/ecs/ref.d.ts +129 -16
  103. package/dist/core/ecs/ref.d.ts.map +1 -1
  104. package/dist/core/ecs/relation.d.cts +105 -186
  105. package/dist/core/ecs/relation.d.ts +105 -186
  106. package/dist/core/ecs/relation.d.ts.map +1 -1
  107. package/dist/core/ecs/resource.d.cts +14 -14
  108. package/dist/core/ecs/resource.d.ts +14 -14
  109. package/dist/core/ecs/resource_registry.d.cts +6 -6
  110. package/dist/core/ecs/resource_registry.d.ts +6 -6
  111. package/dist/core/ecs/resource_registry.d.ts.map +1 -1
  112. package/dist/core/ecs/row_kinds.d.cts +24 -0
  113. package/dist/core/ecs/row_kinds.d.ts +24 -0
  114. package/dist/core/ecs/row_kinds.d.ts.map +1 -0
  115. package/dist/core/ecs/run_condition.d.cts +23 -23
  116. package/dist/core/ecs/run_condition.d.ts +23 -23
  117. package/dist/core/ecs/run_condition.d.ts.map +1 -1
  118. package/dist/core/ecs/schedule.d.cts +98 -114
  119. package/dist/core/ecs/schedule.d.ts +98 -114
  120. package/dist/core/ecs/schedule.d.ts.map +1 -1
  121. package/dist/core/ecs/schedule_plan.d.cts +33 -0
  122. package/dist/core/ecs/schedule_plan.d.ts +33 -0
  123. package/dist/core/ecs/schedule_plan.d.ts.map +1 -0
  124. package/dist/core/ecs/snapshot.d.cts +77 -0
  125. package/dist/core/ecs/snapshot.d.ts +77 -0
  126. package/dist/core/ecs/snapshot.d.ts.map +1 -0
  127. package/dist/core/ecs/snapshot_mount.d.cts +42 -0
  128. package/dist/core/ecs/snapshot_mount.d.ts +42 -0
  129. package/dist/core/ecs/snapshot_mount.d.ts.map +1 -0
  130. package/dist/core/ecs/sparse_store.d.cts +110 -53
  131. package/dist/core/ecs/sparse_store.d.ts +110 -53
  132. package/dist/core/ecs/sparse_store.d.ts.map +1 -1
  133. package/dist/core/ecs/store.d.cts +644 -511
  134. package/dist/core/ecs/store.d.ts +644 -511
  135. package/dist/core/ecs/store.d.ts.map +1 -1
  136. package/dist/core/ecs/store_layout_listener.d.cts +8 -8
  137. package/dist/core/ecs/store_layout_listener.d.ts +8 -8
  138. package/dist/core/ecs/store_types.d.cts +122 -0
  139. package/dist/core/ecs/store_types.d.ts +122 -0
  140. package/dist/core/ecs/store_types.d.ts.map +1 -0
  141. package/dist/core/ecs/system.d.cts +151 -66
  142. package/dist/core/ecs/system.d.ts +151 -66
  143. package/dist/core/ecs/system.d.ts.map +1 -1
  144. package/dist/core/ecs/system_context.d.cts +296 -0
  145. package/dist/core/ecs/system_context.d.ts +296 -0
  146. package/dist/core/ecs/system_context.d.ts.map +1 -0
  147. package/dist/core/ecs/system_set.d.cts +48 -0
  148. package/dist/core/ecs/system_set.d.ts +48 -0
  149. package/dist/core/ecs/system_set.d.ts.map +1 -0
  150. package/dist/core/ecs/utils/arrays.d.cts +15 -1
  151. package/dist/core/ecs/utils/arrays.d.ts +15 -1
  152. package/dist/core/ecs/utils/arrays.d.ts.map +1 -1
  153. package/dist/core/ecs/utils/error.d.cts +87 -4
  154. package/dist/core/ecs/utils/error.d.ts +87 -4
  155. package/dist/core/ecs/utils/error.d.ts.map +1 -1
  156. package/dist/core/ecs/utils/plugin_error.d.cts +10 -0
  157. package/dist/core/ecs/utils/plugin_error.d.ts +10 -0
  158. package/dist/core/ecs/utils/plugin_error.d.ts.map +1 -0
  159. package/dist/core/restore_errors.d.cts +30 -0
  160. package/dist/core/restore_errors.d.ts +30 -0
  161. package/dist/core/restore_errors.d.ts.map +1 -0
  162. package/dist/core/store/action_ring.d.cts +48 -49
  163. package/dist/core/store/action_ring.d.ts +48 -49
  164. package/dist/core/store/action_ring.d.ts.map +1 -1
  165. package/dist/core/store/allocator.d.cts +166 -114
  166. package/dist/core/store/allocator.d.ts +166 -114
  167. package/dist/core/store/allocator.d.ts.map +1 -1
  168. package/dist/core/store/buffer_backed_column.d.cts +21 -22
  169. package/dist/core/store/buffer_backed_column.d.ts +21 -22
  170. package/dist/core/store/buffer_backed_column.d.ts.map +1 -1
  171. package/dist/core/store/column_store.d.cts +138 -100
  172. package/dist/core/store/column_store.d.ts +138 -100
  173. package/dist/core/store/column_store.d.ts.map +1 -1
  174. package/dist/core/store/command_dispatch.d.cts +14 -15
  175. package/dist/core/store/command_dispatch.d.ts +14 -15
  176. package/dist/core/store/command_dispatch.d.ts.map +1 -1
  177. package/dist/core/store/command_ring.d.cts +41 -45
  178. package/dist/core/store/command_ring.d.ts +41 -45
  179. package/dist/core/store/command_ring.d.ts.map +1 -1
  180. package/dist/core/store/descriptor.d.cts +35 -18
  181. package/dist/core/store/descriptor.d.ts +35 -18
  182. package/dist/core/store/descriptor.d.ts.map +1 -1
  183. package/dist/core/store/entity_index.d.cts +34 -35
  184. package/dist/core/store/entity_index.d.ts +34 -35
  185. package/dist/core/store/entity_index.d.ts.map +1 -1
  186. package/dist/core/store/event_ring.d.cts +40 -42
  187. package/dist/core/store/event_ring.d.ts +40 -42
  188. package/dist/core/store/event_ring.d.ts.map +1 -1
  189. package/dist/core/store/extend.d.cts +15 -9
  190. package/dist/core/store/extend.d.ts +15 -9
  191. package/dist/core/store/extend.d.ts.map +1 -1
  192. package/dist/core/store/grow.d.cts +3 -3
  193. package/dist/core/store/grow.d.ts +3 -3
  194. package/dist/core/store/grow.d.ts.map +1 -1
  195. package/dist/core/store/header.d.cts +37 -33
  196. package/dist/core/store/header.d.ts +37 -33
  197. package/dist/core/store/header.d.ts.map +1 -1
  198. package/dist/core/store/index.d.cts +10 -10
  199. package/dist/core/store/index.d.ts +10 -10
  200. package/dist/core/store/index.d.ts.map +1 -1
  201. package/dist/core/store/layout_ops.d.cts +72 -63
  202. package/dist/core/store/layout_ops.d.ts +72 -63
  203. package/dist/core/store/layout_ops.d.ts.map +1 -1
  204. package/dist/core/store/region_table.d.cts +28 -21
  205. package/dist/core/store/region_table.d.ts +28 -21
  206. package/dist/core/store/region_table.d.ts.map +1 -1
  207. package/dist/core/store/snapshot.d.cts +31 -16
  208. package/dist/core/store/snapshot.d.ts +31 -16
  209. package/dist/core/store/snapshot.d.ts.map +1 -1
  210. package/dist/core/store/state_hash.d.cts +14 -14
  211. package/dist/core/store/state_hash.d.ts +14 -14
  212. package/dist/core/store/state_hash.d.ts.map +1 -1
  213. package/dist/core/store/store_regions.d.cts +10 -10
  214. package/dist/core/store/store_regions.d.ts +10 -10
  215. package/dist/core/store/store_regions.d.ts.map +1 -1
  216. package/dist/core/store/vendored_abi/abi.d.cts +27 -2
  217. package/dist/core/store/vendored_abi/abi.d.ts +27 -2
  218. package/dist/core/store/vendored_abi/abi.d.ts.map +1 -1
  219. package/dist/host_commands-B2KMx8O2.cjs +1 -0
  220. package/dist/host_commands-ClVPvhSa.cjs +2 -0
  221. package/dist/host_commands-CwxVQS1z.js +1524 -0
  222. package/dist/host_commands-nJvTy88E.js +1667 -0
  223. package/dist/index.cjs +1 -1
  224. package/dist/index.d.cts +16 -11
  225. package/dist/index.d.ts +16 -11
  226. package/dist/index.d.ts.map +1 -1
  227. package/dist/index.development.cjs +1 -1
  228. package/dist/index.development.js +6709 -5729
  229. package/dist/index.js +5664 -4743
  230. package/dist/internal.cjs +2 -2
  231. package/dist/internal.d.cts +5 -2
  232. package/dist/internal.d.ts +5 -2
  233. package/dist/internal.d.ts.map +1 -1
  234. package/dist/internal.development.cjs +1 -1
  235. package/dist/internal.development.js +70 -20
  236. package/dist/internal.js +138 -83
  237. package/dist/plugins/abi-D3V-QUSf.cjs +1 -0
  238. package/dist/plugins/abi-NP8pNxpd.js +42 -0
  239. package/dist/plugins/arrays-Dr_1hCjL.js +28 -0
  240. package/dist/plugins/arrays-Dt-Joc4i.cjs +1 -0
  241. package/dist/plugins/assertions-gtDVfbnQ.js +6 -0
  242. package/dist/plugins/assertions-z5GQd_bB.cjs +1 -0
  243. package/dist/{extensions → plugins}/editor/editor.d.cts +56 -56
  244. package/dist/{extensions → plugins}/editor/editor.d.ts +56 -56
  245. package/dist/plugins/editor/editor.d.ts.map +1 -0
  246. package/dist/{extensions → plugins}/editor/field_handle.d.cts +13 -13
  247. package/dist/{extensions → plugins}/editor/field_handle.d.ts +13 -13
  248. package/dist/plugins/editor/field_handle.d.ts.map +1 -0
  249. package/dist/plugins/editor/index.d.cts +22 -0
  250. package/dist/plugins/editor/index.d.ts +22 -0
  251. package/dist/plugins/editor/index.d.ts.map +1 -0
  252. package/dist/plugins/editor.cjs +1 -0
  253. package/dist/plugins/editor.d.cts +1 -0
  254. package/dist/plugins/editor.d.ts +1 -0
  255. package/dist/plugins/editor.development.cjs +1 -0
  256. package/dist/{extensions/editor/index.development.js → plugins/editor.development.js} +83 -66
  257. package/dist/{extensions/editor/index.js → plugins/editor.js} +83 -66
  258. package/dist/plugins/events/event_channel.d.cts +13 -0
  259. package/dist/plugins/events/event_channel.d.ts +13 -0
  260. package/dist/plugins/events/event_channel.d.ts.map +1 -0
  261. package/dist/plugins/events/event_registry.d.cts +22 -0
  262. package/dist/plugins/events/event_registry.d.ts +22 -0
  263. package/dist/plugins/events/event_registry.d.ts.map +1 -0
  264. package/dist/plugins/events/facade.d.cts +26 -0
  265. package/dist/plugins/events/facade.d.ts +26 -0
  266. package/dist/plugins/events/facade.d.ts.map +1 -0
  267. package/dist/plugins/events/index.d.cts +10 -0
  268. package/dist/plugins/events/index.d.ts +10 -0
  269. package/dist/plugins/events/index.d.ts.map +1 -0
  270. package/dist/plugins/events.cjs +1 -0
  271. package/dist/plugins/events.d.cts +1 -0
  272. package/dist/plugins/events.d.ts +1 -0
  273. package/dist/plugins/events.development.cjs +1 -0
  274. package/dist/plugins/events.development.js +174 -0
  275. package/dist/plugins/events.js +159 -0
  276. package/dist/plugins/observers/index.d.cts +23 -0
  277. package/dist/plugins/observers/index.d.ts +23 -0
  278. package/dist/plugins/observers/index.d.ts.map +1 -0
  279. package/dist/plugins/observers/observer_registry.d.cts +101 -0
  280. package/dist/plugins/observers/observer_registry.d.ts +101 -0
  281. package/dist/plugins/observers/observer_registry.d.ts.map +1 -0
  282. package/dist/plugins/observers.cjs +1 -0
  283. package/dist/plugins/observers.d.cts +1 -0
  284. package/dist/plugins/observers.d.ts +1 -0
  285. package/dist/plugins/observers.development.cjs +1 -0
  286. package/dist/plugins/observers.development.js +431 -0
  287. package/dist/plugins/observers.js +403 -0
  288. package/dist/plugins/relation_store-BsoegrZh.js +313 -0
  289. package/dist/plugins/relation_store-DQKSnxsm.cjs +1 -0
  290. package/dist/plugins/relation_store-RBhpcE28.cjs +1 -0
  291. package/dist/plugins/relation_store-RqW5Snx6.js +328 -0
  292. package/dist/plugins/relations/builtin_relations.d.cts +48 -0
  293. package/dist/plugins/relations/builtin_relations.d.ts +48 -0
  294. package/dist/plugins/relations/builtin_relations.d.ts.map +1 -0
  295. package/dist/plugins/relations/facade.d.cts +73 -0
  296. package/dist/plugins/relations/facade.d.ts +73 -0
  297. package/dist/plugins/relations/facade.d.ts.map +1 -0
  298. package/dist/plugins/relations/index.d.cts +11 -0
  299. package/dist/plugins/relations/index.d.ts +11 -0
  300. package/dist/plugins/relations/index.d.ts.map +1 -0
  301. package/dist/{core/ecs → plugins/relations}/relation_service.d.cts +93 -105
  302. package/dist/{core/ecs → plugins/relations}/relation_service.d.ts +93 -105
  303. package/dist/plugins/relations/relation_service.d.ts.map +1 -0
  304. package/dist/plugins/relations/relation_store.d.cts +177 -0
  305. package/dist/plugins/relations/relation_store.d.ts +177 -0
  306. package/dist/plugins/relations/relation_store.d.ts.map +1 -0
  307. package/dist/plugins/relations.cjs +1 -0
  308. package/dist/plugins/relations.d.cts +1 -0
  309. package/dist/plugins/relations.d.ts +1 -0
  310. package/dist/plugins/relations.development.cjs +1 -0
  311. package/dist/plugins/relations.development.js +603 -0
  312. package/dist/plugins/relations.js +553 -0
  313. package/dist/plugins/snapshots/index.d.cts +33 -0
  314. package/dist/plugins/snapshots/index.d.ts +33 -0
  315. package/dist/plugins/snapshots/index.d.ts.map +1 -0
  316. package/dist/plugins/snapshots/resume.d.cts +57 -0
  317. package/dist/plugins/snapshots/resume.d.ts +57 -0
  318. package/dist/plugins/snapshots/resume.d.ts.map +1 -0
  319. package/dist/plugins/snapshots/snapshot_service.d.cts +59 -0
  320. package/dist/plugins/snapshots/snapshot_service.d.ts +59 -0
  321. package/dist/plugins/snapshots/snapshot_service.d.ts.map +1 -0
  322. package/dist/plugins/snapshots.cjs +1 -0
  323. package/dist/plugins/snapshots.d.cts +1 -0
  324. package/dist/plugins/snapshots.d.ts +1 -0
  325. package/dist/plugins/snapshots.development.cjs +1 -0
  326. package/dist/plugins/snapshots.development.js +737 -0
  327. package/dist/plugins/snapshots.js +737 -0
  328. package/dist/plugins/solid/index.d.cts +8 -0
  329. package/dist/plugins/solid/index.d.ts +8 -0
  330. package/dist/plugins/solid/index.d.ts.map +1 -0
  331. package/dist/plugins/solid/solid.d.cts +97 -0
  332. package/dist/plugins/solid/solid.d.ts +97 -0
  333. package/dist/plugins/solid/solid.d.ts.map +1 -0
  334. package/dist/plugins/solid.cjs +1 -0
  335. package/dist/plugins/solid.d.cts +1 -0
  336. package/dist/plugins/solid.d.ts +1 -0
  337. package/dist/plugins/solid.development.cjs +1 -0
  338. package/dist/plugins/solid.development.js +319 -0
  339. package/dist/plugins/solid.js +319 -0
  340. package/dist/plugins/workers/index.d.cts +75 -0
  341. package/dist/plugins/workers/index.d.ts +75 -0
  342. package/dist/plugins/workers/index.d.ts.map +1 -0
  343. package/dist/plugins/workers/node_threads.d.cts +25 -0
  344. package/dist/plugins/workers/node_threads.d.ts +25 -0
  345. package/dist/plugins/workers/node_threads.d.ts.map +1 -0
  346. package/dist/plugins/workers/plan.d.cts +61 -0
  347. package/dist/plugins/workers/plan.d.ts +61 -0
  348. package/dist/plugins/workers/plan.d.ts.map +1 -0
  349. package/dist/plugins/workers/pool.d.cts +144 -0
  350. package/dist/plugins/workers/pool.d.ts +144 -0
  351. package/dist/plugins/workers/pool.d.ts.map +1 -0
  352. package/dist/plugins/workers/protocol.d.cts +112 -0
  353. package/dist/plugins/workers/protocol.d.ts +112 -0
  354. package/dist/plugins/workers/protocol.d.ts.map +1 -0
  355. package/dist/plugins/workers/worker_bind.d.cts +64 -0
  356. package/dist/plugins/workers/worker_bind.d.ts +64 -0
  357. package/dist/plugins/workers/worker_bind.d.ts.map +1 -0
  358. package/dist/plugins/workers/worker_loop.d.cts +14 -0
  359. package/dist/plugins/workers/worker_loop.d.ts +14 -0
  360. package/dist/plugins/workers/worker_loop.d.ts.map +1 -0
  361. package/dist/plugins/workers.cjs +1 -0
  362. package/dist/plugins/workers.d.cts +1 -0
  363. package/dist/plugins/workers.d.ts +1 -0
  364. package/dist/plugins/workers.development.cjs +1 -0
  365. package/dist/plugins/workers.development.js +596 -0
  366. package/dist/plugins/workers.js +474 -0
  367. package/dist/primitives.cjs +1 -1
  368. package/dist/primitives.d.cts +4 -4
  369. package/dist/primitives.d.ts +4 -4
  370. package/dist/primitives.development.cjs +1 -1
  371. package/dist/primitives.development.js +66 -22
  372. package/dist/primitives.js +66 -22
  373. package/dist/shared-BKl12xF1.js +132 -0
  374. package/dist/shared-Dk-pACZT.cjs +1 -0
  375. package/dist/shared.cjs +1 -1
  376. package/dist/shared.d.cts +7 -7
  377. package/dist/shared.d.ts +7 -7
  378. package/dist/shared.d.ts.map +1 -1
  379. package/dist/shared.development.cjs +1 -1
  380. package/dist/shared.development.js +4 -3
  381. package/dist/shared.js +4 -3
  382. package/dist/topological_sort-Cc_yXqPT.js +346 -0
  383. package/dist/topological_sort-vp1imU6D.cjs +1 -0
  384. package/dist/type_primitives/assertions.d.cts +12 -16
  385. package/dist/type_primitives/assertions.d.ts +12 -16
  386. package/dist/type_primitives/assertions.d.ts.map +1 -1
  387. package/dist/type_primitives/binary_heap/binary_heap.d.cts +2 -6
  388. package/dist/type_primitives/binary_heap/binary_heap.d.ts +2 -6
  389. package/dist/type_primitives/binary_heap/binary_heap.d.ts.map +1 -1
  390. package/dist/type_primitives/bitset/bitset.d.cts +7 -11
  391. package/dist/type_primitives/bitset/bitset.d.ts +7 -11
  392. package/dist/type_primitives/bitset/bitset.d.ts.map +1 -1
  393. package/dist/type_primitives/brand.d.cts +2 -7
  394. package/dist/type_primitives/brand.d.ts +2 -7
  395. package/dist/type_primitives/brand.d.ts.map +1 -1
  396. package/dist/type_primitives/error.d.cts +1 -2
  397. package/dist/type_primitives/error.d.ts +1 -2
  398. package/dist/type_primitives/error.d.ts.map +1 -1
  399. package/dist/type_primitives/index.d.cts +1 -1
  400. package/dist/type_primitives/index.d.ts +1 -1
  401. package/dist/type_primitives/sparse_map/sparse_map.d.cts +3 -7
  402. package/dist/type_primitives/sparse_map/sparse_map.d.ts +3 -7
  403. package/dist/type_primitives/sparse_map/sparse_map.d.ts.map +1 -1
  404. package/dist/type_primitives/sparse_set/sparse_set.d.cts +2 -6
  405. package/dist/type_primitives/sparse_set/sparse_set.d.ts +2 -6
  406. package/dist/type_primitives/sparse_set/sparse_set.d.ts.map +1 -1
  407. package/dist/type_primitives/topological_sort/topological_sort.d.cts +1 -5
  408. package/dist/type_primitives/topological_sort/topological_sort.d.ts +1 -5
  409. package/dist/type_primitives/topological_sort/topological_sort.d.ts.map +1 -1
  410. package/dist/type_primitives/typed_arrays/typed_arrays.d.cts +18 -17
  411. package/dist/type_primitives/typed_arrays/typed_arrays.d.ts +18 -17
  412. package/dist/type_primitives/typed_arrays/typed_arrays.d.ts.map +1 -1
  413. package/dist/utils/error.d.ts.map +1 -1
  414. package/dist/version.d.cts +4 -4
  415. package/dist/version.d.ts +4 -4
  416. package/dist/worker.cjs +1 -0
  417. package/dist/worker.d.cts +17 -0
  418. package/dist/worker.d.ts +17 -0
  419. package/dist/worker.d.ts.map +1 -0
  420. package/dist/worker.development.cjs +1 -0
  421. package/dist/worker.development.js +253 -0
  422. package/dist/worker.js +253 -0
  423. package/package.json +363 -191
  424. package/dist/core/ecs/builtin_relations.d.cts +0 -43
  425. package/dist/core/ecs/builtin_relations.d.ts +0 -43
  426. package/dist/core/ecs/builtin_relations.d.ts.map +0 -1
  427. package/dist/core/ecs/event_registry.d.cts +0 -22
  428. package/dist/core/ecs/event_registry.d.ts +0 -22
  429. package/dist/core/ecs/event_registry.d.ts.map +0 -1
  430. package/dist/core/ecs/relation_service.d.ts.map +0 -1
  431. package/dist/core/ecs/resume.d.cts +0 -85
  432. package/dist/core/ecs/resume.d.ts +0 -85
  433. package/dist/core/ecs/resume.d.ts.map +0 -1
  434. package/dist/core/ecs/snapshot_service.d.cts +0 -94
  435. package/dist/core/ecs/snapshot_service.d.ts +0 -94
  436. package/dist/core/ecs/snapshot_service.d.ts.map +0 -1
  437. package/dist/extensions/editor/editor.d.ts.map +0 -1
  438. package/dist/extensions/editor/field_handle.d.ts.map +0 -1
  439. package/dist/extensions/editor/index.cjs +0 -1
  440. package/dist/extensions/editor/index.d.cts +0 -21
  441. package/dist/extensions/editor/index.d.ts +0 -21
  442. package/dist/extensions/editor/index.d.ts.map +0 -1
  443. package/dist/extensions/editor/index.development.cjs +0 -1
  444. package/dist/extensions/reactive/ecs_sync.d.cts +0 -214
  445. package/dist/extensions/reactive/ecs_sync.d.ts +0 -214
  446. package/dist/extensions/reactive/ecs_sync.d.ts.map +0 -1
  447. package/dist/extensions/reactive/index.cjs +0 -1
  448. package/dist/extensions/reactive/index.d.cts +0 -23
  449. package/dist/extensions/reactive/index.d.ts +0 -23
  450. package/dist/extensions/reactive/index.d.ts.map +0 -1
  451. package/dist/extensions/reactive/index.development.cjs +0 -1
  452. package/dist/extensions/reactive/index.development.js +0 -215
  453. package/dist/extensions/reactive/index.js +0 -215
  454. package/dist/extensions/solid/index.cjs +0 -1
  455. package/dist/extensions/solid/index.d.cts +0 -6
  456. package/dist/extensions/solid/index.d.ts +0 -6
  457. package/dist/extensions/solid/index.d.ts.map +0 -1
  458. package/dist/extensions/solid/index.development.cjs +0 -1
  459. package/dist/extensions/solid/index.development.js +0 -40
  460. package/dist/extensions/solid/index.js +0 -36
  461. package/dist/extensions/solid/kernel_solid.d.cts +0 -45
  462. package/dist/extensions/solid/kernel_solid.d.ts +0 -45
  463. package/dist/extensions/solid/kernel_solid.d.ts.map +0 -1
  464. package/dist/host_commands-3jyFfWNg.js +0 -2326
  465. package/dist/host_commands-DNf0f6ko.cjs +0 -1
  466. package/dist/internal-C9jjL90H.js +0 -2485
  467. package/dist/internal-RZN14uMw.cjs +0 -2
  468. package/dist/interop-CT-REx0W.cjs +0 -1
  469. package/dist/interop-CcY6ASQc.js +0 -18
  470. package/dist/interop-DqxleBo7.js +0 -18
  471. package/dist/interop-T1HZ-Dpa.cjs +0 -1
  472. package/dist/kernel-Cz2Kxlwl.js +0 -240
  473. package/dist/kernel-DgyrLFjW.js +0 -227
  474. package/dist/kernel-sw7ScKWu.cjs +0 -1
  475. package/dist/kernel-yWV3XnAb.cjs +0 -1
  476. package/dist/reactive/array.d.cts +0 -24
  477. package/dist/reactive/array.d.ts +0 -24
  478. package/dist/reactive/array.d.ts.map +0 -1
  479. package/dist/reactive/index.cjs +0 -1
  480. package/dist/reactive/index.d.cts +0 -11
  481. package/dist/reactive/index.d.ts +0 -11
  482. package/dist/reactive/index.d.ts.map +0 -1
  483. package/dist/reactive/index.development.cjs +0 -1
  484. package/dist/reactive/index.development.js +0 -18
  485. package/dist/reactive/index.js +0 -18
  486. package/dist/reactive/interop.d.cts +0 -19
  487. package/dist/reactive/interop.d.ts +0 -19
  488. package/dist/reactive/interop.d.ts.map +0 -1
  489. package/dist/reactive/kernel.d.cts +0 -73
  490. package/dist/reactive/kernel.d.ts +0 -73
  491. package/dist/reactive/kernel.d.ts.map +0 -1
  492. package/dist/reactive/map.d.cts +0 -16
  493. package/dist/reactive/map.d.ts +0 -16
  494. package/dist/reactive/map.d.ts.map +0 -1
  495. package/dist/reactive/shallow.d.cts +0 -11
  496. package/dist/reactive/shallow.d.ts +0 -11
  497. package/dist/reactive/shallow.d.ts.map +0 -1
  498. package/dist/reactive/struct.d.cts +0 -10
  499. package/dist/reactive/struct.d.ts +0 -10
  500. package/dist/reactive/struct.d.ts.map +0 -1
  501. package/dist/shallow-9S1pY_Iw.js +0 -159
  502. package/dist/shallow-C5YmTbtb.cjs +0 -1
  503. package/dist/shallow-DQ8aG51_.cjs +0 -1
  504. package/dist/shallow-DfnAm9vG.js +0 -150
  505. package/dist/shared-BMXh9hxm.cjs +0 -1
  506. package/dist/shared-DQKK0i-E.js +0 -109
  507. package/dist/topological_sort-BDvEyb9W.cjs +0 -1
  508. package/dist/topological_sort-DK6EjpWa.js +0 -135
  509. package/dist/typed_arrays-BcXcnzB4.js +0 -258
  510. package/dist/typed_arrays-D3NmwtCG.cjs +0 -1
@@ -0,0 +1,125 @@
1
+ import { Store } from './store.cjs';
2
+ import { ChangeFeed } from './change_feed.cjs';
3
+ import { SystemContext } from './system_context.cjs';
4
+ import { ECS } from './ecs.cjs';
5
+ import { RouteDispatch } from './schedule.cjs';
6
+ import { SystemConfig, SystemDescriptor } from './system.cjs';
7
+ export type { ChangeFeed } from './change_feed.cjs';
8
+ /** How a plugin claims the body of a system, and builds what one dispatch of
9
+ * it reads.
10
+ *
11
+ * The world asks the planner about every system it registers. A planner that
12
+ * has nothing to say about one answers `undefined`, and the system keeps its
13
+ * `fn`. Cold: registration only. */
14
+ export interface SystemRoutePlanner {
15
+ /** Build what one routed dispatch reads, or `undefined` for a system this
16
+ * route does not claim. The world freezes the result onto the descriptor as
17
+ * `routePlan` and never looks inside it, so the plan's shape belongs to the
18
+ * plugin. The plugin validates its own config here, which is why a world
19
+ * without the plugin validates none. */
20
+ plan(config: SystemConfig): object | undefined;
21
+ }
22
+ /** What a route holds back from the world after it installs.
23
+ *
24
+ * One call, and the world holds one route. `null` puts every claimed system
25
+ * back on its own `fn`. Cold: an attach and a detach, never a frame. */
26
+ export interface RouteControl {
27
+ route(dispatch: RouteDispatch | null): void;
28
+ }
29
+ /** Where the world's bytes are, for a plugin that reads them directly.
30
+ *
31
+ * A worker, a compute backend and a wasm module all need the same three
32
+ * facts. The memory travels and not its current buffer, because the two grow
33
+ * differently and a reader survives both. */
34
+ export interface PluginMemory {
35
+ /** The bytes a foreign reader reaches: the `WebAssembly.Memory` on the
36
+ * wasm backing, the `SharedArrayBuffer` on the shared backing, `null` on
37
+ * any other. */
38
+ readonly backing: SharedArrayBuffer | WebAssembly.Memory | null;
39
+ /** What `memory.backing` resolved to. A refusal on a backing the reader
40
+ * cannot reach names it. */
41
+ readonly backingSource: string;
42
+ /** The byte offset of the store header inside the backing. */
43
+ readonly storeBase: number;
44
+ }
45
+ /** What one plugin may reach during `install`, and nothing wider.
46
+ *
47
+ * The world hands this record out once, at construction. A member that a bare
48
+ * store cannot answer is a method and not a field, so `storeOnlyHost` below
49
+ * can throw on the ones a store has no answer for. */
50
+ export interface PluginHost {
51
+ /** Where the subsystem seams live. A plugin builds its service from a
52
+ * host record the store hands out, and gives the service back through an
53
+ * install method. */
54
+ readonly store: Store;
55
+ /** The bare world, for a plugin that registers a system, reads a
56
+ * field, builds a cursor or reaches a resource. It carries no facade of
57
+ * any plugin, including the one installing. */
58
+ readonly world: ECS;
59
+ /** The store's change feed, typed to what a consumer of it may touch. */
60
+ readonly changes: ChangeFeed;
61
+ /** The one system context an observer callback receives, shared with the
62
+ * schedule so an observer sees the same access span a system does. */
63
+ readonly context: SystemContext;
64
+ /** Run `fn` at the tail of every `update()`, after every system of the
65
+ * frame. `run` is the change tick of the detection point, above every
66
+ * stamp the frame made. Hooks run in install order. */
67
+ onSettle(fn: (run: number) => void): void;
68
+ /** Contribute the access shapes `startup()` folds into the archetype
69
+ * closure, so a callback that spawns or transitions gets its target
70
+ * archetype planted rather than first-touched mid-tick. Read once, at
71
+ * startup. */
72
+ onPrewarm(fn: () => readonly SystemDescriptor[]): void;
73
+ /** Run `fn` when the world goes away. A plugin that holds a thread, a
74
+ * timer or a socket ends it here. Hooks run in install order. */
75
+ onDispose(fn: () => void): void;
76
+ /** Where the world's bytes are. A plugin that hands the bytes to a worker
77
+ * or to a wasm module reads the three facts here. */
78
+ readonly memory: PluginMemory;
79
+ /** Claim the body of the systems this plugin routes, and take back the one
80
+ * call that turns the route on and off. A world holds one route, so a
81
+ * second install is a fault. */
82
+ installRoute(planner: SystemRoutePlanner): RouteControl;
83
+ }
84
+ /** An optional subsystem, and the facade surface it contributes.
85
+ *
86
+ * `install` receives the host because that is where the seams live: a plugin
87
+ * builds its service from a host record the store hands out, gives the service
88
+ * back through an install method, and returns its facade.
89
+ *
90
+ * `out X` (declared covariance) is what lets a plugin list be typed
91
+ * `readonly Plugin<object>[]`: `X` appears only in `install`'s return, so
92
+ * covariance is the honest direction and a concrete plugin is usable where
93
+ * any plugin is expected. Left unannotated, the compiler measures `X` from
94
+ * the whole interface and the list bound rejects every real plugin. */
95
+ export interface Plugin<out X extends object> {
96
+ /** Names the plugin in a `PLUGIN_NOT_INSTALLED` fault. Matches the
97
+ * published subpath, so the message can name the import that fixes it. */
98
+ readonly name: string;
99
+ /** The plugins this one reads through, by name. `ECS.create` walks
100
+ * the plugin list in order, so a dependency has to come first in the list,
101
+ * and a missing one is a fault at construction. */
102
+ readonly requires?: readonly string[];
103
+ install(host: PluginHost): X;
104
+ }
105
+ /** The facade surface of one plugin, or `never` for a non-plugin. */
106
+ type SurfaceOf<E> = E extends Plugin<infer X> ? X : never;
107
+ /** Turn a union into an intersection. A plugin list is a tuple, so its element
108
+ * type is the union of the plugins in it, and a world carries all of them
109
+ * at once. The inference site is contravariant, which is what performs the
110
+ * conversion. */
111
+ type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
112
+ /** The combined facade surface of a plugin list. `ECS.create` intersects this
113
+ * with the world, so `ecs.relations` exists exactly when `relations()` is in
114
+ * the list. */
115
+ export type PluginsOf<P extends readonly unknown[]> = UnionToIntersection<SurfaceOf<P[number]>> & object;
116
+ /** A host for a bare `Store`, with no world around it.
117
+ *
118
+ * Every plugin that only needs store seams installs through this, which is
119
+ * what a test driving a raw store uses. `store` and `changes` are both the
120
+ * store, so the change feed works here. Every world-level member throws: a
121
+ * bare store has no world, no system context, no schedule tail and nowhere to
122
+ * keep an observer registry, so reaching for one is a mistake worth naming
123
+ * rather than a case to silently support. */
124
+ export declare function storeOnlyHost(store: Store): PluginHost;
125
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1,125 @@
1
+ import { Store } from './store.js';
2
+ import { ChangeFeed } from './change_feed.js';
3
+ import { SystemContext } from './system_context.js';
4
+ import { ECS } from './ecs.js';
5
+ import { RouteDispatch } from './schedule.js';
6
+ import { SystemConfig, SystemDescriptor } from './system.js';
7
+ export type { ChangeFeed } from './change_feed.js';
8
+ /** How a plugin claims the body of a system, and builds what one dispatch of
9
+ * it reads.
10
+ *
11
+ * The world asks the planner about every system it registers. A planner that
12
+ * has nothing to say about one answers `undefined`, and the system keeps its
13
+ * `fn`. Cold: registration only. */
14
+ export interface SystemRoutePlanner {
15
+ /** Build what one routed dispatch reads, or `undefined` for a system this
16
+ * route does not claim. The world freezes the result onto the descriptor as
17
+ * `routePlan` and never looks inside it, so the plan's shape belongs to the
18
+ * plugin. The plugin validates its own config here, which is why a world
19
+ * without the plugin validates none. */
20
+ plan(config: SystemConfig): object | undefined;
21
+ }
22
+ /** What a route holds back from the world after it installs.
23
+ *
24
+ * One call, and the world holds one route. `null` puts every claimed system
25
+ * back on its own `fn`. Cold: an attach and a detach, never a frame. */
26
+ export interface RouteControl {
27
+ route(dispatch: RouteDispatch | null): void;
28
+ }
29
+ /** Where the world's bytes are, for a plugin that reads them directly.
30
+ *
31
+ * A worker, a compute backend and a wasm module all need the same three
32
+ * facts. The memory travels and not its current buffer, because the two grow
33
+ * differently and a reader survives both. */
34
+ export interface PluginMemory {
35
+ /** The bytes a foreign reader reaches: the `WebAssembly.Memory` on the
36
+ * wasm backing, the `SharedArrayBuffer` on the shared backing, `null` on
37
+ * any other. */
38
+ readonly backing: SharedArrayBuffer | WebAssembly.Memory | null;
39
+ /** What `memory.backing` resolved to. A refusal on a backing the reader
40
+ * cannot reach names it. */
41
+ readonly backingSource: string;
42
+ /** The byte offset of the store header inside the backing. */
43
+ readonly storeBase: number;
44
+ }
45
+ /** What one plugin may reach during `install`, and nothing wider.
46
+ *
47
+ * The world hands this record out once, at construction. A member that a bare
48
+ * store cannot answer is a method and not a field, so `storeOnlyHost` below
49
+ * can throw on the ones a store has no answer for. */
50
+ export interface PluginHost {
51
+ /** Where the subsystem seams live. A plugin builds its service from a
52
+ * host record the store hands out, and gives the service back through an
53
+ * install method. */
54
+ readonly store: Store;
55
+ /** The bare world, for a plugin that registers a system, reads a
56
+ * field, builds a cursor or reaches a resource. It carries no facade of
57
+ * any plugin, including the one installing. */
58
+ readonly world: ECS;
59
+ /** The store's change feed, typed to what a consumer of it may touch. */
60
+ readonly changes: ChangeFeed;
61
+ /** The one system context an observer callback receives, shared with the
62
+ * schedule so an observer sees the same access span a system does. */
63
+ readonly context: SystemContext;
64
+ /** Run `fn` at the tail of every `update()`, after every system of the
65
+ * frame. `run` is the change tick of the detection point, above every
66
+ * stamp the frame made. Hooks run in install order. */
67
+ onSettle(fn: (run: number) => void): void;
68
+ /** Contribute the access shapes `startup()` folds into the archetype
69
+ * closure, so a callback that spawns or transitions gets its target
70
+ * archetype planted rather than first-touched mid-tick. Read once, at
71
+ * startup. */
72
+ onPrewarm(fn: () => readonly SystemDescriptor[]): void;
73
+ /** Run `fn` when the world goes away. A plugin that holds a thread, a
74
+ * timer or a socket ends it here. Hooks run in install order. */
75
+ onDispose(fn: () => void): void;
76
+ /** Where the world's bytes are. A plugin that hands the bytes to a worker
77
+ * or to a wasm module reads the three facts here. */
78
+ readonly memory: PluginMemory;
79
+ /** Claim the body of the systems this plugin routes, and take back the one
80
+ * call that turns the route on and off. A world holds one route, so a
81
+ * second install is a fault. */
82
+ installRoute(planner: SystemRoutePlanner): RouteControl;
83
+ }
84
+ /** An optional subsystem, and the facade surface it contributes.
85
+ *
86
+ * `install` receives the host because that is where the seams live: a plugin
87
+ * builds its service from a host record the store hands out, gives the service
88
+ * back through an install method, and returns its facade.
89
+ *
90
+ * `out X` (declared covariance) is what lets a plugin list be typed
91
+ * `readonly Plugin<object>[]`: `X` appears only in `install`'s return, so
92
+ * covariance is the honest direction and a concrete plugin is usable where
93
+ * any plugin is expected. Left unannotated, the compiler measures `X` from
94
+ * the whole interface and the list bound rejects every real plugin. */
95
+ export interface Plugin<out X extends object> {
96
+ /** Names the plugin in a `PLUGIN_NOT_INSTALLED` fault. Matches the
97
+ * published subpath, so the message can name the import that fixes it. */
98
+ readonly name: string;
99
+ /** The plugins this one reads through, by name. `ECS.create` walks
100
+ * the plugin list in order, so a dependency has to come first in the list,
101
+ * and a missing one is a fault at construction. */
102
+ readonly requires?: readonly string[];
103
+ install(host: PluginHost): X;
104
+ }
105
+ /** The facade surface of one plugin, or `never` for a non-plugin. */
106
+ type SurfaceOf<E> = E extends Plugin<infer X> ? X : never;
107
+ /** Turn a union into an intersection. A plugin list is a tuple, so its element
108
+ * type is the union of the plugins in it, and a world carries all of them
109
+ * at once. The inference site is contravariant, which is what performs the
110
+ * conversion. */
111
+ type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
112
+ /** The combined facade surface of a plugin list. `ECS.create` intersects this
113
+ * with the world, so `ecs.relations` exists exactly when `relations()` is in
114
+ * the list. */
115
+ export type PluginsOf<P extends readonly unknown[]> = UnionToIntersection<SurfaceOf<P[number]>> & object;
116
+ /** A host for a bare `Store`, with no world around it.
117
+ *
118
+ * Every plugin that only needs store seams installs through this, which is
119
+ * what a test driving a raw store uses. `store` and `changes` are both the
120
+ * store, so the change feed works here. Every world-level member throws: a
121
+ * bare store has no world, no system context, no schedule tail and nowhere to
122
+ * keep an observer registry, so reaching for one is a mistake worth naming
123
+ * rather than a case to silently support. */
124
+ export declare function storeOnlyHost(store: Store): PluginHost;
125
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /***
2
+ * The plugin slots a bare world carries, and the guard that fills them.
3
+ *
4
+ * What this file owns: the value a world puts in the member of a plugin it
5
+ * never installed, and the dev refusal of a facade member that would overwrite
6
+ * something the world already has.
7
+ *
8
+ * What it refuses: the `PluginHost` and every type that names a world. The
9
+ * surface guard takes the world as a plain object, so this module stays out of
10
+ * the type cycle that `plugin.ts` and `ecs.ts` share.
11
+ *
12
+ * Cold path. The slots are built once per process, and the guard runs once per
13
+ * plugin under a `__DEV__` build.
14
+ ***/
15
+ export declare const MISSING_RELATIONS: object;
16
+ export declare const MISSING_EVENTS: object;
17
+ export declare const MISSING_WORKERS: object;
18
+ /** The reserved `observe` slot. A function, because a caller calls it. */
19
+ export declare function missingObserve(): never;
20
+ /** Refuse a facade member that would overwrite something the world already
21
+ * carries. `Object.assign` is silent about it, and the loss is a method the
22
+ * world needs. The reserved slots are the exception: a bare world
23
+ * declares each one so it can name the missing plugin, and the
24
+ * plugin that fills the slot is meant to replace it. Dev-only. */
25
+ export declare function assertPluginSurface(world: object, plugin: string, surface: object): void;
26
+ //# sourceMappingURL=plugin_slots.d.ts.map
@@ -0,0 +1,26 @@
1
+ /***
2
+ * The plugin slots a bare world carries, and the guard that fills them.
3
+ *
4
+ * What this file owns: the value a world puts in the member of a plugin it
5
+ * never installed, and the dev refusal of a facade member that would overwrite
6
+ * something the world already has.
7
+ *
8
+ * What it refuses: the `PluginHost` and every type that names a world. The
9
+ * surface guard takes the world as a plain object, so this module stays out of
10
+ * the type cycle that `plugin.ts` and `ecs.ts` share.
11
+ *
12
+ * Cold path. The slots are built once per process, and the guard runs once per
13
+ * plugin under a `__DEV__` build.
14
+ ***/
15
+ export declare const MISSING_RELATIONS: object;
16
+ export declare const MISSING_EVENTS: object;
17
+ export declare const MISSING_WORKERS: object;
18
+ /** The reserved `observe` slot. A function, because a caller calls it. */
19
+ export declare function missingObserve(): never;
20
+ /** Refuse a facade member that would overwrite something the world already
21
+ * carries. `Object.assign` is silent about it, and the loss is a method the
22
+ * world needs. The reserved slots are the exception: a bare world
23
+ * declares each one so it can name the missing plugin, and the
24
+ * plugin that fills the slot is meant to replace it. Dev-only. */
25
+ export declare function assertPluginSurface(world: object, plugin: string, surface: object): void;
26
+ //# sourceMappingURL=plugin_slots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin_slots.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/plugin_slots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;KAaK;AAmCL,eAAO,MAAM,iBAAiB,EAAE,MAAuC,CAAC;AACxE,eAAO,MAAM,cAAc,EAAE,MAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,EAAE,MAAqC,CAAC;AAapE,0EAA0E;AAC1E,wBAAgB,cAAc,IAAI,KAAK,CAEtC;AAED;;;;kEAIkE;AAClE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAaxF"}