@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
@@ -2,19 +2,19 @@ import { Brand } from '../../type_primitives/index.js';
2
2
  import { StoreLayoutListener } from './store_layout_listener.js';
3
3
  /**
4
4
  * An opaque token identifying one of a backend's entry points (one
5
- * "backend-system"). The engine **never interprets** it the backend mints it
5
+ * "backend-system"). The engine **never interprets** it, the backend mints it
6
6
  * and is the only thing that maps it back to a concrete computation. Carried on
7
7
  * `SystemConfig.backendHandle` and handed verbatim to `ComputeBackend.run`.
8
8
  *
9
- * Branded so a stray `number` can't be mistaken for a handle; consumers mint
9
+ * Branded so a stray `number` can't be mistaken for a handle. Consumers mint
10
10
  * one by casting (the backend owns the id space, like flecs's `run` function
11
11
  * pointer or a small index into the backend's entry table).
12
12
  */
13
13
  export type BackendSystemHandle = Brand<number, "backend_system_handle">;
14
14
  /**
15
15
  * The engine-side contract a compute backend implements. Composes
16
- * `StoreLayoutListener` (the already-clean SAB handshake `setLayout` is called
17
- * once on attach to seed the layout and again after every SAB grow/extend) with
16
+ * `StoreLayoutListener` (the already-clean SAB handshake, `setLayout` is called
17
+ * once on attach to seed the layout and again after every SAB grow and extend) with
18
18
  * a single generic `run` entry point.
19
19
  *
20
20
  * A backend is attached opt-in via `ECS.attachBackend(backend)`, which also
@@ -25,13 +25,24 @@ export interface ComputeBackend extends StoreLayoutListener {
25
25
  /**
26
26
  * Execute the backend-system identified by `handle`. Called by the
27
27
  * `Schedule` in place of the system's `fn` closure, inside the same
28
- * `accessCheck` span so the system's declared `writes` authorise whatever
28
+ * `accessCheck` span, so the system's declared `writes` authorise whatever
29
29
  * shared-memory columns the backend mutates, exactly as a TS body that calls
30
30
  * out to the backend would be authorised today.
31
31
  *
32
- * `handle` is opaque to the engine; it is one the backend minted and the
32
+ * `handle` is opaque to the engine. It is one the backend minted and the
33
33
  * engine merely round-trips from `SystemConfig.backendHandle`.
34
+ *
35
+ * `deltaTime` is the seconds the phase runs with, the same value a TS body
36
+ * receives. A module body needs it, and it is not in the store bytes, so it
37
+ * travels as a call argument. `tick` is the world's frame tick, the count of
38
+ * `update()` calls so far, and it is not in the bytes either. A backend that
39
+ * stamps its own frame state reads it here rather than counting calls, which
40
+ * would drift on a frame that runs the phase more than once.
41
+ *
42
+ * The engine publishes the descriptor row counts before this call when a
43
+ * mutation left them stale, so a module that walks the descriptors sees the
44
+ * live row count of every archetype.
34
45
  */
35
- run(handle: BackendSystemHandle): void;
46
+ run(handle: BackendSystemHandle, deltaTime: number, tick: number): void;
36
47
  }
37
48
  //# sourceMappingURL=compute_backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compute_backend.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/compute_backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEzE;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IAC1D;;;;;;;;;OASG;IACH,GAAG,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACvC"}
1
+ {"version":3,"file":"compute_backend.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/compute_backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEzE;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IAC1D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACxE"}
@@ -1,23 +1,24 @@
1
1
  import { ComponentDef } from './component.cjs';
2
2
  import { EntityID } from './entity.cjs';
3
- import { StructuralObserverEvents } from './store.cjs';
4
- /** What the drain policy needs from `Store` closure-injected (the
3
+ import { StructuralObserverEvents } from './store_types.cjs';
4
+ /** What the drain policy needs from `Store`, closure-injected (the
5
5
  * `RelationServiceHost` style) so nothing new goes public on `Store`. All
6
6
  * calls are flush-granularity, never per-entity. */
7
7
  export interface DeferredCommandHost {
8
8
  /** Drain + apply the pending component additions. Each applier fully
9
- * drains its buffer(s) and owns its dirty/0-crossing bookkeeping. */
9
+ * drains its buffer(s) and owns its dirty and 0-crossing bookkeeping. */
10
10
  readonly applyAdds: () => void;
11
11
  readonly applyRemoves: () => void;
12
12
  readonly applyDestroys: () => void;
13
13
  readonly applyToggles: () => void;
14
- /** Hot-path gates live counts of observed components.
14
+ /** Hot-path gates, live counts of observed components.
15
15
  * While both are 0 the flush takes the byte-for-byte fast path. */
16
16
  readonly structuralObserverCount: () => number;
17
17
  readonly toggleObserverCount: () => number;
18
- /** The observer-registry dispatch hook, or null (ECS installs it after
19
- * construction, so it is re-read per flush). */
20
- readonly structuralObserverHook: () => ((ev: StructuralObserverEvents) => void) | null;
18
+ /** The consumers of the structural event batches, in install order, empty
19
+ * until one arrives (a plugin installs after construction, so the list
20
+ * is re-read per flush). */
21
+ readonly structuralHooks: () => readonly ((ev: StructuralObserverEvents) => void)[];
21
22
  }
22
23
  export declare class DeferredCommandBuffer {
23
24
  readonly destroyIds: EntityID[];
@@ -29,27 +30,27 @@ export declare class DeferredCommandBuffer {
29
30
  readonly toggleIds: EntityID[];
30
31
  readonly toggleDisable: boolean[];
31
32
  /** Re-entrancy guard for the observed fixed-point loop. An observer
32
- * callback must enqueue and let the loop settle it a nested
33
- * `ctx.flush()` becomes a no-op; the outer loop drains whatever the
33
+ * callback must enqueue and let the loop settle it, a nested
34
+ * `ctx.flush()` becomes a no-op. The outer loop drains whatever the
34
35
  * callback queued. */
35
36
  private _flushing;
36
- private readonly host;
37
+ private readonly _host;
37
38
  /** Shared effective-event scratch, reset per observed round and handed to
38
39
  * the dispatch hook. Owned by `Store` (its appliers collect into it). */
39
- private readonly obsEvents;
40
+ private readonly _observerEvents;
40
41
  constructor(host: DeferredCommandHost, obsEvents: StructuralObserverEvents);
41
42
  queueDestroy(id: EntityID): void;
42
43
  queueAdd(id: EntityID, def: ComponentDef, values: Record<string, number>): void;
43
44
  queueRemove(id: EntityID, def: ComponentDef): void;
44
45
  queueToggle(id: EntityID, disable: boolean): void;
45
46
  get destroyCount(): number;
46
- get structuralCount(): number;
47
+ get addRemoveCount(): number;
47
48
  get toggleCount(): number;
48
49
  /** Drain buffered destroys outside the structural flush. No-ops while the
49
- * observed fixed point owns the flush the loop drains destroys itself,
50
+ * observed fixed point owns the flush, the loop drains destroys itself,
50
51
  * and a re-entrant call would collect into the shared event scratch
51
52
  * mid-dispatch and corrupt it (mirrors the `flushStructural` guard). */
52
- flushDestroyed(): void;
53
+ flushDestroys(): void;
53
54
  flushStructural(): void;
54
55
  }
55
56
  //# sourceMappingURL=deferred_commands.d.ts.map
@@ -1,23 +1,24 @@
1
1
  import { ComponentDef } from './component.js';
2
2
  import { EntityID } from './entity.js';
3
- import { StructuralObserverEvents } from './store.js';
4
- /** What the drain policy needs from `Store` closure-injected (the
3
+ import { StructuralObserverEvents } from './store_types.js';
4
+ /** What the drain policy needs from `Store`, closure-injected (the
5
5
  * `RelationServiceHost` style) so nothing new goes public on `Store`. All
6
6
  * calls are flush-granularity, never per-entity. */
7
7
  export interface DeferredCommandHost {
8
8
  /** Drain + apply the pending component additions. Each applier fully
9
- * drains its buffer(s) and owns its dirty/0-crossing bookkeeping. */
9
+ * drains its buffer(s) and owns its dirty and 0-crossing bookkeeping. */
10
10
  readonly applyAdds: () => void;
11
11
  readonly applyRemoves: () => void;
12
12
  readonly applyDestroys: () => void;
13
13
  readonly applyToggles: () => void;
14
- /** Hot-path gates live counts of observed components.
14
+ /** Hot-path gates, live counts of observed components.
15
15
  * While both are 0 the flush takes the byte-for-byte fast path. */
16
16
  readonly structuralObserverCount: () => number;
17
17
  readonly toggleObserverCount: () => number;
18
- /** The observer-registry dispatch hook, or null (ECS installs it after
19
- * construction, so it is re-read per flush). */
20
- readonly structuralObserverHook: () => ((ev: StructuralObserverEvents) => void) | null;
18
+ /** The consumers of the structural event batches, in install order, empty
19
+ * until one arrives (a plugin installs after construction, so the list
20
+ * is re-read per flush). */
21
+ readonly structuralHooks: () => readonly ((ev: StructuralObserverEvents) => void)[];
21
22
  }
22
23
  export declare class DeferredCommandBuffer {
23
24
  readonly destroyIds: EntityID[];
@@ -29,27 +30,27 @@ export declare class DeferredCommandBuffer {
29
30
  readonly toggleIds: EntityID[];
30
31
  readonly toggleDisable: boolean[];
31
32
  /** Re-entrancy guard for the observed fixed-point loop. An observer
32
- * callback must enqueue and let the loop settle it a nested
33
- * `ctx.flush()` becomes a no-op; the outer loop drains whatever the
33
+ * callback must enqueue and let the loop settle it, a nested
34
+ * `ctx.flush()` becomes a no-op. The outer loop drains whatever the
34
35
  * callback queued. */
35
36
  private _flushing;
36
- private readonly host;
37
+ private readonly _host;
37
38
  /** Shared effective-event scratch, reset per observed round and handed to
38
39
  * the dispatch hook. Owned by `Store` (its appliers collect into it). */
39
- private readonly obsEvents;
40
+ private readonly _observerEvents;
40
41
  constructor(host: DeferredCommandHost, obsEvents: StructuralObserverEvents);
41
42
  queueDestroy(id: EntityID): void;
42
43
  queueAdd(id: EntityID, def: ComponentDef, values: Record<string, number>): void;
43
44
  queueRemove(id: EntityID, def: ComponentDef): void;
44
45
  queueToggle(id: EntityID, disable: boolean): void;
45
46
  get destroyCount(): number;
46
- get structuralCount(): number;
47
+ get addRemoveCount(): number;
47
48
  get toggleCount(): number;
48
49
  /** Drain buffered destroys outside the structural flush. No-ops while the
49
- * observed fixed point owns the flush the loop drains destroys itself,
50
+ * observed fixed point owns the flush, the loop drains destroys itself,
50
51
  * and a re-entrant call would collect into the shared event scratch
51
52
  * mid-dispatch and corrupt it (mirrors the `flushStructural` guard). */
52
- flushDestroyed(): void;
53
+ flushDestroys(): void;
53
54
  flushStructural(): void;
54
55
  }
55
56
  //# sourceMappingURL=deferred_commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deferred_commands.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/deferred_commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AASxD;;oDAEoD;AACpD,MAAM,WAAW,mBAAmB;IACnC;yEACqE;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC;uEACmE;IACnE,QAAQ,CAAC,uBAAuB,EAAE,MAAM,MAAM,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,MAAM,CAAC;IAC3C;oDACgD;IAChD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,wBAAwB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACvF;AAED,qBAAa,qBAAqB;IAMjC,SAAgB,UAAU,EAAE,QAAQ,EAAE,CAAM;IAC5C,SAAgB,MAAM,EAAE,QAAQ,EAAE,CAAM;IACxC,SAAgB,OAAO,EAAE,YAAY,EAAE,CAAM;IAC7C,SAAgB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IACzD,SAAgB,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3C,SAAgB,UAAU,EAAE,YAAY,EAAE,CAAM;IAIhD,SAAgB,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3C,SAAgB,aAAa,EAAE,OAAO,EAAE,CAAM;IAE9C;;;0BAGsB;IACtB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C;6EACyE;IACzE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;gBAEzC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,wBAAwB;IAKnE,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAIhC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAM/E,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI;IAKlD,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAKxD,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;;4EAGwE;IACjE,cAAc,IAAI,IAAI;IAKtB,eAAe,IAAI,IAAI;CAyF9B"}
1
+ {"version":3,"file":"deferred_commands.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/deferred_commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAS9D;;oDAEoD;AACpD,MAAM,WAAW,mBAAmB;IACnC;6EACyE;IACzE,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC;uEACmE;IACnE,QAAQ,CAAC,uBAAuB,EAAE,MAAM,MAAM,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,MAAM,CAAC;IAC3C;;gCAE4B;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,SAAS,CAAC,CAAC,EAAE,EAAE,wBAAwB,KAAK,IAAI,CAAC,EAAE,CAAC;CACpF;AAED,qBAAa,qBAAqB;IAMjC,SAAgB,UAAU,EAAE,QAAQ,EAAE,CAAM;IAC5C,SAAgB,MAAM,EAAE,QAAQ,EAAE,CAAM;IACxC,SAAgB,OAAO,EAAE,YAAY,EAAE,CAAM;IAC7C,SAAgB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IACzD,SAAgB,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3C,SAAgB,UAAU,EAAE,YAAY,EAAE,CAAM;IAIhD,SAAgB,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3C,SAAgB,aAAa,EAAE,OAAO,EAAE,CAAM;IAE9C;;;0BAGsB;IACtB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C;6EACyE;IACzE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;gBAE/C,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,wBAAwB;IAKnE,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAIhC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAM/E,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI;IAKlD,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAKxD,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;;4EAGwE;IACjE,aAAa,IAAI,IAAI;IAKrB,eAAe,IAAI,IAAI;CA2F9B"}
@@ -1,47 +1,48 @@
1
1
  /**
2
2
  * Dev-mode dispatch tracer.
3
3
  *
4
- * Singleton buffer that captures `(callsite, channel, op, key)` per ECS /
5
- * action dispatch when `VISUAL_INTEL_TRACE=1` is set in the environment.
6
- * Compile-time gated by `DEV`, so production builds dead-code-eliminate
7
- * every record() call. Output is a deterministic JSON snapshot the
8
- * `visual-intel` service can ingest as a third channel of evidence
9
- * alongside the existing static + symbol-propagation scans.
4
+ * Singleton buffer that captures `(callsite, channel, op, key)` for each ECS
5
+ * dispatch and each action dispatch, while the environment sets
6
+ * `VISUAL_INTEL_TRACE` to `1` or to `true`. Compile-time gated by `DEV`, so a
7
+ * production build dead-code-eliminates every `record()` call. The output is a
8
+ * deterministic JSON snapshot. An analysis tool outside this repository ingests
9
+ * it as a runtime channel of evidence, beside a static scan of the same code.
10
10
  *
11
11
  * Identity model. The engine has no access to source-level binding names
12
- * (`ContactEvent`, `ConfigRes`) at runtime `eventKey("Contact")` returns
12
+ * (`ContactEvent`, `ConfigRes`) at runtime, `eventKey("Contact")` returns
13
13
  * `Symbol("Contact")` and the variable name is erased. The tracer records the
14
14
  * runtime-available identifier:
15
15
  *
16
- * - ECS events / resources → the Symbol description (`label`).
16
+ * - ECS events and resources → the Symbol description (`label`).
17
17
  * - Actions → the numeric `def.id`.
18
18
  *
19
- * Resolution back to bindings happens in `visual-intel`, which already
20
- * extracts `{ binding, label }` declarations for events / resources and
21
- * `{ binding, id_expr }` for actions; the matching there is unambiguous.
19
+ * Resolution back to bindings happens in that outside tool, which already
20
+ * extracts `{ binding, label }` declarations for events and resources, and
21
+ * `{ binding, id_expr }` for actions. The matching there is unambiguous.
22
22
  *
23
23
  * Callsite resolution. `new Error().stack` inside `record()`, walk the
24
- * frames, drop everything inside `packages/engine/src/core/ecs/` (this
25
- * file + the dispatcher seam), return the first repo-relative path. Stack-
24
+ * frames, drop every frame inside the engine itself (any path that matches
25
+ * `ENGINE_FRAME_MARKERS`), return the first repo-relative path. Stack-
26
26
  * line strings are cached so repeat dispatches from the same site are
27
27
  * O(1) after the first hit. The walk itself lives in the pure
28
28
  * `resolveCallsiteFromStack()` helper so it can be driven by a synthetic
29
29
  * stack in tests.
30
30
  *
31
- * Activation. `record()` is *unconditional* it records on every call. The
32
- * `isActive()` env-var gate is applied by the *callers* (`ecs.ts` /
33
- * `query.ts`, all `if (DEV && dispatchTrace.isActive())`), not inside
34
- * `record()`. This keeps the gate in one place — the dispatch hot path —
35
- * where `DEV === false` dead-code-eliminates the whole branch in prod.
31
+ * Activation. `record()` is *unconditional*. It records on every call. Each
32
+ * caller applies the `isActive()` env-var gate itself (`system_context.ts`,
33
+ * `facades.ts` and the events plugin facade, all
34
+ * `if (DEV && dispatchTrace.isActive())`), and `record()` does not. This keeps
35
+ * the gate in one place, the dispatch hot path, where `DEV === false`
36
+ * dead-code-eliminates the whole branch in prod.
36
37
  */
37
38
  export type DispatchChannel = "ecs-events" | "actions" | "resources";
38
39
  export type EcsEventOp = "emit" | "read";
39
40
  export type ActionOp = "send_action" | "handle_action";
40
41
  export type ResourceOp = "read" | "write" | "register" | "remove";
41
42
  export interface DispatchTraceEntry {
42
- /** Symbol description (events / resources) or numeric `def.id` (actions). */
43
+ /** Symbol description (events and resources) or numeric `def.id` (actions). */
43
44
  readonly key: string | number;
44
- /** Repo-relative POSIX path of the calling file. */
45
+ /** Repo-relative posix path of the calling file. */
45
46
  readonly file: string;
46
47
  readonly count: number;
47
48
  }
@@ -55,16 +56,16 @@ export interface DispatchTraceSnapshot {
55
56
  };
56
57
  }
57
58
  declare class DispatchTrace {
58
- private activeCache;
59
- private repoRootCache;
60
- private buf;
61
- private callsiteCache;
59
+ private _activeCache;
60
+ private _repoRootCache;
61
+ private _counts;
62
+ private _callsiteCache;
62
63
  isActive(): boolean;
63
- private repoRoot;
64
- private resolveCallsite;
65
- private record;
66
- recordEmit(label: string): void;
67
- recordRead(label: string): void;
64
+ private _repoRoot;
65
+ private _resolveCallsite;
66
+ private _record;
67
+ recordEventEmit(label: string): void;
68
+ recordEventRead(label: string): void;
68
69
  recordResourceRead(label: string): void;
69
70
  recordResourceWrite(label: string): void;
70
71
  recordResourceRegister(label: string): void;
@@ -77,9 +78,9 @@ declare class DispatchTrace {
77
78
  declare function parseFrameFile(line: string): string | null;
78
79
  /**
79
80
  * Walk a stack string, drop frames inside the engine ECS package, and return
80
- * the first non-engine frame as a repo-relative POSIX path (or `null` if the
81
+ * the first non-engine frame as a repo-relative posix path (or `null` if the
81
82
  * stack has no attributable frame). Pure so tests can drive it with a
82
- * synthetic stack; the optional `cache` memoises per-line results for the hot
83
+ * synthetic stack. The optional `cache` memoises per-line results for the hot
83
84
  * dispatch path. Mutates `cache` when supplied.
84
85
  */
85
86
  declare function resolveCallsiteFromStack(stack: string | null, repoRoot: string, cache?: Map<string, string | null>): string | null;
@@ -1,47 +1,48 @@
1
1
  /**
2
2
  * Dev-mode dispatch tracer.
3
3
  *
4
- * Singleton buffer that captures `(callsite, channel, op, key)` per ECS /
5
- * action dispatch when `VISUAL_INTEL_TRACE=1` is set in the environment.
6
- * Compile-time gated by `DEV`, so production builds dead-code-eliminate
7
- * every record() call. Output is a deterministic JSON snapshot the
8
- * `visual-intel` service can ingest as a third channel of evidence
9
- * alongside the existing static + symbol-propagation scans.
4
+ * Singleton buffer that captures `(callsite, channel, op, key)` for each ECS
5
+ * dispatch and each action dispatch, while the environment sets
6
+ * `VISUAL_INTEL_TRACE` to `1` or to `true`. Compile-time gated by `DEV`, so a
7
+ * production build dead-code-eliminates every `record()` call. The output is a
8
+ * deterministic JSON snapshot. An analysis tool outside this repository ingests
9
+ * it as a runtime channel of evidence, beside a static scan of the same code.
10
10
  *
11
11
  * Identity model. The engine has no access to source-level binding names
12
- * (`ContactEvent`, `ConfigRes`) at runtime `eventKey("Contact")` returns
12
+ * (`ContactEvent`, `ConfigRes`) at runtime, `eventKey("Contact")` returns
13
13
  * `Symbol("Contact")` and the variable name is erased. The tracer records the
14
14
  * runtime-available identifier:
15
15
  *
16
- * - ECS events / resources → the Symbol description (`label`).
16
+ * - ECS events and resources → the Symbol description (`label`).
17
17
  * - Actions → the numeric `def.id`.
18
18
  *
19
- * Resolution back to bindings happens in `visual-intel`, which already
20
- * extracts `{ binding, label }` declarations for events / resources and
21
- * `{ binding, id_expr }` for actions; the matching there is unambiguous.
19
+ * Resolution back to bindings happens in that outside tool, which already
20
+ * extracts `{ binding, label }` declarations for events and resources, and
21
+ * `{ binding, id_expr }` for actions. The matching there is unambiguous.
22
22
  *
23
23
  * Callsite resolution. `new Error().stack` inside `record()`, walk the
24
- * frames, drop everything inside `packages/engine/src/core/ecs/` (this
25
- * file + the dispatcher seam), return the first repo-relative path. Stack-
24
+ * frames, drop every frame inside the engine itself (any path that matches
25
+ * `ENGINE_FRAME_MARKERS`), return the first repo-relative path. Stack-
26
26
  * line strings are cached so repeat dispatches from the same site are
27
27
  * O(1) after the first hit. The walk itself lives in the pure
28
28
  * `resolveCallsiteFromStack()` helper so it can be driven by a synthetic
29
29
  * stack in tests.
30
30
  *
31
- * Activation. `record()` is *unconditional* it records on every call. The
32
- * `isActive()` env-var gate is applied by the *callers* (`ecs.ts` /
33
- * `query.ts`, all `if (DEV && dispatchTrace.isActive())`), not inside
34
- * `record()`. This keeps the gate in one place — the dispatch hot path —
35
- * where `DEV === false` dead-code-eliminates the whole branch in prod.
31
+ * Activation. `record()` is *unconditional*. It records on every call. Each
32
+ * caller applies the `isActive()` env-var gate itself (`system_context.ts`,
33
+ * `facades.ts` and the events plugin facade, all
34
+ * `if (DEV && dispatchTrace.isActive())`), and `record()` does not. This keeps
35
+ * the gate in one place, the dispatch hot path, where `DEV === false`
36
+ * dead-code-eliminates the whole branch in prod.
36
37
  */
37
38
  export type DispatchChannel = "ecs-events" | "actions" | "resources";
38
39
  export type EcsEventOp = "emit" | "read";
39
40
  export type ActionOp = "send_action" | "handle_action";
40
41
  export type ResourceOp = "read" | "write" | "register" | "remove";
41
42
  export interface DispatchTraceEntry {
42
- /** Symbol description (events / resources) or numeric `def.id` (actions). */
43
+ /** Symbol description (events and resources) or numeric `def.id` (actions). */
43
44
  readonly key: string | number;
44
- /** Repo-relative POSIX path of the calling file. */
45
+ /** Repo-relative posix path of the calling file. */
45
46
  readonly file: string;
46
47
  readonly count: number;
47
48
  }
@@ -55,16 +56,16 @@ export interface DispatchTraceSnapshot {
55
56
  };
56
57
  }
57
58
  declare class DispatchTrace {
58
- private activeCache;
59
- private repoRootCache;
60
- private buf;
61
- private callsiteCache;
59
+ private _activeCache;
60
+ private _repoRootCache;
61
+ private _counts;
62
+ private _callsiteCache;
62
63
  isActive(): boolean;
63
- private repoRoot;
64
- private resolveCallsite;
65
- private record;
66
- recordEmit(label: string): void;
67
- recordRead(label: string): void;
64
+ private _repoRoot;
65
+ private _resolveCallsite;
66
+ private _record;
67
+ recordEventEmit(label: string): void;
68
+ recordEventRead(label: string): void;
68
69
  recordResourceRead(label: string): void;
69
70
  recordResourceWrite(label: string): void;
70
71
  recordResourceRegister(label: string): void;
@@ -77,9 +78,9 @@ declare class DispatchTrace {
77
78
  declare function parseFrameFile(line: string): string | null;
78
79
  /**
79
80
  * Walk a stack string, drop frames inside the engine ECS package, and return
80
- * the first non-engine frame as a repo-relative POSIX path (or `null` if the
81
+ * the first non-engine frame as a repo-relative posix path (or `null` if the
81
82
  * stack has no attributable frame). Pure so tests can drive it with a
82
- * synthetic stack; the optional `cache` memoises per-line results for the hot
83
+ * synthetic stack. The optional `cache` memoises per-line results for the hot
83
84
  * dispatch path. Mutates `cache` when supplied.
84
85
  */
85
86
  declare function resolveCallsiteFromStack(stack: string | null, repoRoot: string, cache?: Map<string, string | null>): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch_trace.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/dispatch_trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAOH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;AACrE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,kBAAkB;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE;QAClB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;KAC7D,CAAC;CACF;AAID,cAAM,aAAa;IAClB,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,aAAa,CAAoC;IAEzD,QAAQ,IAAI,OAAO;IAWnB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,MAAM;IAOd,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAG/B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAG/B,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGvC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGxC,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAG3C,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGzC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGrC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,QAAQ,IAAI,qBAAqB;IAmCjC,KAAK,IAAI,IAAI;CAMb;AAMD,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOnD;AAED;;;;;;GAMG;AACH,iBAAS,wBAAwB,CAChC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAChC,MAAM,GAAG,IAAI,CA0Bf;AAeD,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAIhE,eAAO,MAAM,uBAAuB;;;;CAInC,CAAC"}
1
+ {"version":3,"file":"dispatch_trace.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/dispatch_trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAOH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;AACrE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,kBAAkB;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE;QAClB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;KAC7D,CAAC;CACF;AAcD,cAAM,aAAa;IAClB,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,cAAc,CAAoC;IAE1D,QAAQ,IAAI,OAAO;IAWnB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,OAAO;IAOf,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGpC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGpC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGvC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGxC,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAG3C,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGzC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGrC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,QAAQ,IAAI,qBAAqB;IAmCjC,KAAK,IAAI,IAAI;CAMb;AAMD,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOnD;AAED;;;;;;GAMG;AACH,iBAAS,wBAAwB,CAChC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAChC,MAAM,GAAG,IAAI,CA0Bf;AAeD,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAIhE,eAAO,MAAM,uBAAuB;;;;CAInC,CAAC"}