@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
@@ -1,24 +0,0 @@
1
- export interface ReactiveArray<T> {
2
- /** Read slot `i`, subscribing to that slot (or to structure if out of range). */
3
- get(i: number): T | undefined;
4
- /** Element count, tracking structure (length changes only, not value updates). */
5
- length(): number;
6
- /**
7
- * Whole-array snapshot. Tracks structure AND every slot value — the COARSE read
8
- * (any slot change wakes it). Use `length()` + `get(i)` for the fine-grained path;
9
- * `snapshot()` is for feeding a positional array to a Solid `<Index each>`.
10
- */
11
- snapshot(): readonly T[];
12
- /** Fine-grained slot write. Updating an in-range slot wakes only that slot's readers. */
13
- set(i: number, value: T): void;
14
- /** Append one element; bumps structure. */
15
- push(value: T): void;
16
- /** Remove + return the last element; bumps structure. */
17
- pop(): T | undefined;
18
- /** Array-semantics splice; positionally reconciles so only shifted slots wake. */
19
- splice(start: number, deleteCount?: number, ...items: T[]): T[];
20
- /** Structural-sharing bulk replace: diff vs current, write only changed slots. */
21
- reconcile(next: readonly T[]): void;
22
- }
23
- export declare function reactiveArray<T>(initial?: readonly T[], eq?: (a: T, b: T) => boolean): ReactiveArray<T>;
24
- //# sourceMappingURL=array.d.ts.map
@@ -1,24 +0,0 @@
1
- export interface ReactiveArray<T> {
2
- /** Read slot `i`, subscribing to that slot (or to structure if out of range). */
3
- get(i: number): T | undefined;
4
- /** Element count, tracking structure (length changes only, not value updates). */
5
- length(): number;
6
- /**
7
- * Whole-array snapshot. Tracks structure AND every slot value — the COARSE read
8
- * (any slot change wakes it). Use `length()` + `get(i)` for the fine-grained path;
9
- * `snapshot()` is for feeding a positional array to a Solid `<Index each>`.
10
- */
11
- snapshot(): readonly T[];
12
- /** Fine-grained slot write. Updating an in-range slot wakes only that slot's readers. */
13
- set(i: number, value: T): void;
14
- /** Append one element; bumps structure. */
15
- push(value: T): void;
16
- /** Remove + return the last element; bumps structure. */
17
- pop(): T | undefined;
18
- /** Array-semantics splice; positionally reconciles so only shifted slots wake. */
19
- splice(start: number, deleteCount?: number, ...items: T[]): T[];
20
- /** Structural-sharing bulk replace: diff vs current, write only changed slots. */
21
- reconcile(next: readonly T[]): void;
22
- }
23
- export declare function reactiveArray<T>(initial?: readonly T[], eq?: (a: T, b: T) => boolean): ReactiveArray<T>;
24
- //# sourceMappingURL=array.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/reactive/array.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,iFAAiF;IACjF,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAC9B,kFAAkF;IAClF,MAAM,IAAI,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,IAAI,SAAS,CAAC,EAAE,CAAC;IACzB,yFAAyF;IACzF,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC/B,2CAA2C;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB,yDAAyD;IACzD,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACrB,kFAAkF;IAClF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAChE,kFAAkF;IAClF,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC9B,OAAO,GAAE,SAAS,CAAC,EAAO,EAC1B,EAAE,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAmB,GACrC,aAAa,CAAC,CAAC,CAAC,CAmGlB"}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../kernel-yWV3XnAb.cjs"),t=require("../shallow-DQ8aG51_.cjs"),r=require("../interop-CT-REx0W.cjs");exports.batch=e.batch;exports.computed=e.computed;exports.effect=e.effect;exports.onCleanup=e.onCleanup;exports.root=e.root;exports.signal=e.signal;exports.untrack=e.untrack;exports.reactiveArray=t.reactiveArray;exports.reactiveMap=t.reactiveMap;exports.reactiveStruct=t.reactiveStruct;exports.shallow=t.shallow;exports.subscribe=r.subscribe;exports.toExternalStore=r.toExternalStore;
@@ -1,11 +0,0 @@
1
- /**
2
- * Reactive kernel — the engine UI seam's fine-grained, glitch-free reactive core
3
- * (ADR-0021). Zero dependencies; consumer owns rendering. See docs/api/reactive.md.
4
- */
5
- export { signal, computed, effect, batch, untrack, root, onCleanup, type Accessor, type Setter, type Eq } from './kernel.cjs';
6
- export { reactiveMap, type ReactiveMap } from './map.cjs';
7
- export { reactiveStruct, type StructSetters, type StructEq } from './struct.cjs';
8
- export { reactiveArray, type ReactiveArray } from './array.cjs';
9
- export { subscribe, toExternalStore, type ExternalStore } from './interop.cjs';
10
- export { shallow } from './shallow.cjs';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1,11 +0,0 @@
1
- /**
2
- * Reactive kernel — the engine UI seam's fine-grained, glitch-free reactive core
3
- * (ADR-0021). Zero dependencies; consumer owns rendering. See docs/api/reactive.md.
4
- */
5
- export { signal, computed, effect, batch, untrack, root, onCleanup, type Accessor, type Setter, type Eq } from './kernel.js';
6
- export { reactiveMap, type ReactiveMap } from './map.js';
7
- export { reactiveStruct, type StructSetters, type StructEq } from './struct.js';
8
- export { reactiveArray, type ReactiveArray } from './array.js';
9
- export { subscribe, toExternalStore, type ExternalStore } from './interop.js';
10
- export { shallow } from './shallow.js';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reactive/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,IAAI,EACJ,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,EAAE,EACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../kernel-sw7ScKWu.cjs"),t=require("../shallow-C5YmTbtb.cjs"),r=require("../interop-T1HZ-Dpa.cjs");exports.batch=e.batch;exports.computed=e.computed;exports.effect=e.effect;exports.onCleanup=e.onCleanup;exports.root=e.root;exports.signal=e.signal;exports.untrack=e.untrack;exports.reactiveArray=t.reactiveArray;exports.reactiveMap=t.reactiveMap;exports.reactiveStruct=t.reactiveStruct;exports.shallow=t.shallow;exports.subscribe=r.subscribe;exports.toExternalStore=r.toExternalStore;
@@ -1,18 +0,0 @@
1
- import { b as r, c as e, e as t, o, r as c, s as p, u } from "../kernel-Cz2Kxlwl.js";
2
- import { b as f, r as i, a as l, s as n } from "../shallow-9S1pY_Iw.js";
3
- import { s as x, t as v } from "../interop-DqxleBo7.js";
4
- export {
5
- r as batch,
6
- e as computed,
7
- t as effect,
8
- o as onCleanup,
9
- f as reactiveArray,
10
- i as reactiveMap,
11
- l as reactiveStruct,
12
- c as root,
13
- n as shallow,
14
- p as signal,
15
- x as subscribe,
16
- v as toExternalStore,
17
- u as untrack
18
- };
@@ -1,18 +0,0 @@
1
- import { b as r, c as e, e as t, o, r as c, s as p, u } from "../kernel-DgyrLFjW.js";
2
- import { b as f, r as i, a as l, s as n } from "../shallow-DfnAm9vG.js";
3
- import { s as x, t as v } from "../interop-CcY6ASQc.js";
4
- export {
5
- r as batch,
6
- e as computed,
7
- t as effect,
8
- o as onCleanup,
9
- f as reactiveArray,
10
- i as reactiveMap,
11
- l as reactiveStruct,
12
- c as root,
13
- n as shallow,
14
- p as signal,
15
- x as subscribe,
16
- v as toExternalStore,
17
- u as untrack
18
- };
@@ -1,19 +0,0 @@
1
- import { Accessor } from './kernel.cjs';
2
- /**
3
- * Vanilla subscription: invoke `onChange(value)` once per coalesced change to
4
- * whatever `accessor` reads. Does NOT fire on subscribe (the consumer reads the
5
- * initial value itself); returns a disposer. This is the universal adapter base.
6
- */
7
- export declare function subscribe<T>(accessor: Accessor<T>, onChange: (value: T) => void): () => void;
8
- /**
9
- * The framework-agnostic external-store contract (React's useSyncExternalStore
10
- * shape, but useful everywhere). `subscribe` takes a zero-arg "something changed"
11
- * callback; `getSnapshot` reads the current, referentially-stable value.
12
- */
13
- export interface ExternalStore<T> {
14
- subscribe(onStoreChange: () => void): () => void;
15
- getSnapshot(): T;
16
- }
17
- /** Wrap an accessor as an ExternalStore. Snapshot stability comes from the kernel. */
18
- export declare function toExternalStore<T>(accessor: Accessor<T>): ExternalStore<T>;
19
- //# sourceMappingURL=interop.d.ts.map
@@ -1,19 +0,0 @@
1
- import { Accessor } from './kernel.js';
2
- /**
3
- * Vanilla subscription: invoke `onChange(value)` once per coalesced change to
4
- * whatever `accessor` reads. Does NOT fire on subscribe (the consumer reads the
5
- * initial value itself); returns a disposer. This is the universal adapter base.
6
- */
7
- export declare function subscribe<T>(accessor: Accessor<T>, onChange: (value: T) => void): () => void;
8
- /**
9
- * The framework-agnostic external-store contract (React's useSyncExternalStore
10
- * shape, but useful everywhere). `subscribe` takes a zero-arg "something changed"
11
- * callback; `getSnapshot` reads the current, referentially-stable value.
12
- */
13
- export interface ExternalStore<T> {
14
- subscribe(onStoreChange: () => void): () => void;
15
- getSnapshot(): T;
16
- }
17
- /** Wrap an accessor as an ExternalStore. Snapshot stability comes from the kernel. */
18
- export declare function toExternalStore<T>(accessor: Accessor<T>): ExternalStore<T>;
19
- //# sourceMappingURL=interop.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interop.d.ts","sourceRoot":"","sources":["../../src/reactive/interop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAW5F;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACjD,WAAW,IAAI,CAAC,CAAC;CACjB;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAK1E"}
@@ -1,73 +0,0 @@
1
- /**
2
- * In-house fine-grained reactive kernel — signal / computed / effect / batch,
3
- * plus ownership scopes (`root` / `onCleanup`). Zero dependencies (ADR-0021).
4
- *
5
- * This is the engine UI seam's propagation core. It is the same class of machine
6
- * as the ECS observer system (ADR-0013) — fine-grained, glitch-free, cascades to
7
- * a fixed point — at a different granularity, which is exactly why #646 chose to
8
- * own it rather than adopt solid-js / @preact/signals-core / alien-signals.
9
- *
10
- * The dependency graph is an intrusive doubly-linked structure. One pooled `Link`
11
- * per edge is threaded into BOTH the source's subscriber list and the target's
12
- * dependency list at once, so link/unlink is O(1) pointer surgery with no hashing,
13
- * and a stable-dependency re-run reuses its edges via a tail cursor (zero graph
14
- * mutation). That is the entire performance story: it ties the throughput leaders
15
- * on the hot paths and avoids the Set-based prototype's fan-in collapse.
16
- *
17
- * Computed is lazy and glitch-free via a version-cutoff pull (the model
18
- * alien-signals / preact use):
19
- *
20
- * - Every source carries a `version` that bumps only when its value actually
21
- * changes. Each edge (`Link`) remembers the source version it last saw.
22
- * - A write does NOT eagerly recompute anything. It propagates a "maybe-dirty"
23
- * mark (`OUTDATED`) down through computeds to effects, and queues the effects.
24
- * Computeds stay lazy.
25
- * - Work happens on the pull: when an effect flushes (or a computed is read),
26
- * `needsRecompute` walks its deps, refreshes each, and recomputes only if a
27
- * dep's version actually advanced. A recompute that produces an equal value
28
- * does NOT bump the node's own version, so its subscribers are skipped.
29
- *
30
- * That gives glitch-freedom (a diamond resolves with one consistent recompute of
31
- * the join) and minimal work (unchanged values cut propagation) at once.
32
- *
33
- * Known, deliberate scope (refinements, not correctness gaps): computeds ALWAYS
34
- * track their sources (no auto-unsubscribe of unobserved computeds — the TRACKING
35
- * optimization) and there is no global-version fast path. The two help only a
36
- * workload heavy in *unobserved* computeds and are low-value without each other;
37
- * see ADR-0021. Cycle reads return the stale value rather than throwing.
38
- */
39
- export type Eq<T> = (a: T, b: T) => boolean;
40
- /** A read accessor; calling it inside an effect/computed subscribes to the source. */
41
- export type Accessor<T> = () => T;
42
- /** A write setter; a same-value write (per `eq`) is a no-op and wakes nobody. */
43
- export type Setter<T> = (v: T) => void;
44
- /** Create a writable signal. Returns `[read, write]`; `eq` defaults to `Object.is`.
45
- * The zero-arg form (Solid parity) starts at `undefined` for late-initialized
46
- * values: `const [user, setUser] = signal<User>();` reads `User | undefined`. */
47
- export declare function signal<T>(): readonly [Accessor<T | undefined>, Setter<T | undefined>];
48
- export declare function signal<T>(initial: T, eq?: Eq<T>): readonly [Accessor<T>, Setter<T>];
49
- /** Create a lazy, glitch-free derived value. Recomputes on pull only when a dep changed. */
50
- export declare function computed<T>(fn: () => T, eq?: Eq<T>): Accessor<T>;
51
- /** Run `fn` now and re-run it whenever a tracked dep changes. Returns a disposer. */
52
- export declare function effect(fn: () => void): () => void;
53
- /** Coalesce all writes inside `fn` into a single flush at the outermost boundary. */
54
- export declare function batch(fn: () => void): void;
55
- /**
56
- * Read inside `fn` without subscribing the enclosing effect/computed to anything it
57
- * touches (Solid's `untrack`). Use it when a callback that runs during a tracked run
58
- * must NOT become a dependency — e.g. an interop subscriber whose `onChange` reads
59
- * other accessors. Returns `fn`'s result.
60
- */
61
- export declare function untrack<T>(fn: () => T): T;
62
- /**
63
- * Create an ownership scope. `fn` receives a disposer that tears down every
64
- * effect/computed (and their onCleanups) created under the scope. Detached from
65
- * any enclosing owner — you hold the disposer (Solid's `createRoot` contract).
66
- */
67
- export declare function root<T>(fn: (dispose: () => void) => T): T;
68
- /**
69
- * Register a cleanup with the owner in scope. Inside an effect/computed it runs
70
- * before each re-run and on dispose; inside a `root` it runs on root disposal.
71
- */
72
- export declare function onCleanup(fn: () => void): void;
73
- //# sourceMappingURL=kernel.d.ts.map
@@ -1,73 +0,0 @@
1
- /**
2
- * In-house fine-grained reactive kernel — signal / computed / effect / batch,
3
- * plus ownership scopes (`root` / `onCleanup`). Zero dependencies (ADR-0021).
4
- *
5
- * This is the engine UI seam's propagation core. It is the same class of machine
6
- * as the ECS observer system (ADR-0013) — fine-grained, glitch-free, cascades to
7
- * a fixed point — at a different granularity, which is exactly why #646 chose to
8
- * own it rather than adopt solid-js / @preact/signals-core / alien-signals.
9
- *
10
- * The dependency graph is an intrusive doubly-linked structure. One pooled `Link`
11
- * per edge is threaded into BOTH the source's subscriber list and the target's
12
- * dependency list at once, so link/unlink is O(1) pointer surgery with no hashing,
13
- * and a stable-dependency re-run reuses its edges via a tail cursor (zero graph
14
- * mutation). That is the entire performance story: it ties the throughput leaders
15
- * on the hot paths and avoids the Set-based prototype's fan-in collapse.
16
- *
17
- * Computed is lazy and glitch-free via a version-cutoff pull (the model
18
- * alien-signals / preact use):
19
- *
20
- * - Every source carries a `version` that bumps only when its value actually
21
- * changes. Each edge (`Link`) remembers the source version it last saw.
22
- * - A write does NOT eagerly recompute anything. It propagates a "maybe-dirty"
23
- * mark (`OUTDATED`) down through computeds to effects, and queues the effects.
24
- * Computeds stay lazy.
25
- * - Work happens on the pull: when an effect flushes (or a computed is read),
26
- * `needsRecompute` walks its deps, refreshes each, and recomputes only if a
27
- * dep's version actually advanced. A recompute that produces an equal value
28
- * does NOT bump the node's own version, so its subscribers are skipped.
29
- *
30
- * That gives glitch-freedom (a diamond resolves with one consistent recompute of
31
- * the join) and minimal work (unchanged values cut propagation) at once.
32
- *
33
- * Known, deliberate scope (refinements, not correctness gaps): computeds ALWAYS
34
- * track their sources (no auto-unsubscribe of unobserved computeds — the TRACKING
35
- * optimization) and there is no global-version fast path. The two help only a
36
- * workload heavy in *unobserved* computeds and are low-value without each other;
37
- * see ADR-0021. Cycle reads return the stale value rather than throwing.
38
- */
39
- export type Eq<T> = (a: T, b: T) => boolean;
40
- /** A read accessor; calling it inside an effect/computed subscribes to the source. */
41
- export type Accessor<T> = () => T;
42
- /** A write setter; a same-value write (per `eq`) is a no-op and wakes nobody. */
43
- export type Setter<T> = (v: T) => void;
44
- /** Create a writable signal. Returns `[read, write]`; `eq` defaults to `Object.is`.
45
- * The zero-arg form (Solid parity) starts at `undefined` for late-initialized
46
- * values: `const [user, setUser] = signal<User>();` reads `User | undefined`. */
47
- export declare function signal<T>(): readonly [Accessor<T | undefined>, Setter<T | undefined>];
48
- export declare function signal<T>(initial: T, eq?: Eq<T>): readonly [Accessor<T>, Setter<T>];
49
- /** Create a lazy, glitch-free derived value. Recomputes on pull only when a dep changed. */
50
- export declare function computed<T>(fn: () => T, eq?: Eq<T>): Accessor<T>;
51
- /** Run `fn` now and re-run it whenever a tracked dep changes. Returns a disposer. */
52
- export declare function effect(fn: () => void): () => void;
53
- /** Coalesce all writes inside `fn` into a single flush at the outermost boundary. */
54
- export declare function batch(fn: () => void): void;
55
- /**
56
- * Read inside `fn` without subscribing the enclosing effect/computed to anything it
57
- * touches (Solid's `untrack`). Use it when a callback that runs during a tracked run
58
- * must NOT become a dependency — e.g. an interop subscriber whose `onChange` reads
59
- * other accessors. Returns `fn`'s result.
60
- */
61
- export declare function untrack<T>(fn: () => T): T;
62
- /**
63
- * Create an ownership scope. `fn` receives a disposer that tears down every
64
- * effect/computed (and their onCleanups) created under the scope. Detached from
65
- * any enclosing owner — you hold the disposer (Solid's `createRoot` contract).
66
- */
67
- export declare function root<T>(fn: (dispose: () => void) => T): T;
68
- /**
69
- * Register a cleanup with the owner in scope. Inside an effect/computed it runs
70
- * before each re-run and on dispose; inside a `root` it runs on root disposal.
71
- */
72
- export declare function onCleanup(fn: () => void): void;
73
- //# sourceMappingURL=kernel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/reactive/kernel.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;AA0W5C,sFAAsF;AACtF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAClC,iFAAiF;AACjF,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AAEvC;;iFAEiF;AACjF,wBAAgB,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AACvF,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AASrF,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,GAAE,EAAE,CAAC,CAAC,CAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAS3E;AAED,qFAAqF;AACrF,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKjD;AAED,qFAAqF;AACrF,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAO1C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQzC;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CASzD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAW9C"}
@@ -1,16 +0,0 @@
1
- export interface ReactiveMap<K, V> {
2
- /** Read a key's value, subscribing the caller to that key (or to structure if absent). */
3
- get(key: K): V | undefined;
4
- /** Insert or update a key. Updating an existing key wakes only that key's readers. */
5
- set(key: K, value: V): void;
6
- /** Remove a key. Wakes that key's readers (now absent) and structure readers. */
7
- delete(key: K): boolean;
8
- /** Membership test, tracking the key set. */
9
- has(key: K): boolean;
10
- /** Entry count, tracking the key set. */
11
- size(): number;
12
- /** Snapshot of keys, tracking the key set. */
13
- keys(): K[];
14
- }
15
- export declare function reactiveMap<K, V>(eq?: (a: V, b: V) => boolean): ReactiveMap<K, V>;
16
- //# sourceMappingURL=map.d.ts.map
@@ -1,16 +0,0 @@
1
- export interface ReactiveMap<K, V> {
2
- /** Read a key's value, subscribing the caller to that key (or to structure if absent). */
3
- get(key: K): V | undefined;
4
- /** Insert or update a key. Updating an existing key wakes only that key's readers. */
5
- set(key: K, value: V): void;
6
- /** Remove a key. Wakes that key's readers (now absent) and structure readers. */
7
- delete(key: K): boolean;
8
- /** Membership test, tracking the key set. */
9
- has(key: K): boolean;
10
- /** Entry count, tracking the key set. */
11
- size(): number;
12
- /** Snapshot of keys, tracking the key set. */
13
- keys(): K[];
14
- }
15
- export declare function reactiveMap<K, V>(eq?: (a: V, b: V) => boolean): ReactiveMap<K, V>;
16
- //# sourceMappingURL=map.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/reactive/map.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC;IAChC,0FAA0F;IAC1F,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC3B,sFAAsF;IACtF,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5B,iFAAiF;IACjF,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;IACxB,6CAA6C;IAC7C,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;IACrB,yCAAyC;IACzC,IAAI,IAAI,MAAM,CAAC;IACf,8CAA8C;IAC9C,IAAI,IAAI,CAAC,EAAE,CAAC;CACZ;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAmB,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAiE5F"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Shallow (one-level) value equality — the recommended `eq` for object-valued
3
- * projections. Mirrors zustand `useShallow` / MobX `comparer.shallow`: two objects
4
- * are equal iff they have the same own keys with `Object.is`-equal values. Restores
5
- * "equal write wakes nobody" for projections that build a fresh object each tick.
6
- *
7
- * Lives in the kernel entry (`/reactive`) — it has zero ECS dependency
8
- * (POLISH_AUDIT M12); `/reactive-sync` re-exports it for compatibility.
9
- */
10
- export declare function shallow(a: object, b: object): boolean;
11
- //# sourceMappingURL=shallow.d.ts.map
@@ -1,11 +0,0 @@
1
- /**
2
- * Shallow (one-level) value equality — the recommended `eq` for object-valued
3
- * projections. Mirrors zustand `useShallow` / MobX `comparer.shallow`: two objects
4
- * are equal iff they have the same own keys with `Object.is`-equal values. Restores
5
- * "equal write wakes nobody" for projections that build a fresh object each tick.
6
- *
7
- * Lives in the kernel entry (`/reactive`) — it has zero ECS dependency
8
- * (POLISH_AUDIT M12); `/reactive-sync` re-exports it for compatibility.
9
- */
10
- export declare function shallow(a: object, b: object): boolean;
11
- //# sourceMappingURL=shallow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shallow.d.ts","sourceRoot":"","sources":["../../src/reactive/shallow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAWrD"}
@@ -1,10 +0,0 @@
1
- /** Per-field setters: `set.field(value)`. */
2
- export type StructSetters<T> = {
3
- readonly [K in keyof T]: (v: T[K]) => void;
4
- };
5
- /** Optional per-field equality overrides. */
6
- export type StructEq<T> = {
7
- readonly [K in keyof T]?: (a: T[K], b: T[K]) => boolean;
8
- };
9
- export declare function reactiveStruct<T extends object>(initial: T, eq?: StructEq<T>): readonly [proxy: Readonly<T>, set: StructSetters<T>];
10
- //# sourceMappingURL=struct.d.ts.map
@@ -1,10 +0,0 @@
1
- /** Per-field setters: `set.field(value)`. */
2
- export type StructSetters<T> = {
3
- readonly [K in keyof T]: (v: T[K]) => void;
4
- };
5
- /** Optional per-field equality overrides. */
6
- export type StructEq<T> = {
7
- readonly [K in keyof T]?: (a: T[K], b: T[K]) => boolean;
8
- };
9
- export declare function reactiveStruct<T extends object>(initial: T, eq?: StructEq<T>): readonly [proxy: Readonly<T>, set: StructSetters<T>];
10
- //# sourceMappingURL=struct.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../src/reactive/struct.ts"],"names":[],"mappings":"AA6BA,6CAA6C;AAC7C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;CAAE,CAAC;AAC9E,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO;CAAE,CAAC;AAEtF,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC9C,OAAO,EAAE,CAAC,EACV,EAAE,GAAE,QAAQ,CAAC,CAAC,CAAM,GAClB,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAyDtD"}
@@ -1,159 +0,0 @@
1
- import { s as y, b as w, u as O } from "./kernel-Cz2Kxlwl.js";
2
- function j(p = Object.is) {
3
- const i = /* @__PURE__ */ new Map(), [t, h] = y(0);
4
- let l = 0;
5
- const a = (s, n) => s !== void 0 && n !== void 0 ? p(s, n) : s === n;
6
- return {
7
- get(s) {
8
- const n = i.get(s);
9
- if (n !== void 0) return n[0]();
10
- t();
11
- },
12
- set(s, n) {
13
- n === void 0 && console.warn(
14
- "reactiveMap.set(key, undefined): undefined is the absent sentinel — get(key) cannot distinguish it from an unset key; use delete(key) to remove."
15
- );
16
- const o = i.get(s);
17
- o !== void 0 ? o[1](n) : (i.set(s, y(n, a)), h(++l));
18
- },
19
- delete(s) {
20
- const n = i.get(s);
21
- return n === void 0 ? !1 : (i.delete(s), w(() => {
22
- n[1](void 0), h(++l);
23
- }), !0);
24
- },
25
- has(s) {
26
- return t(), i.has(s);
27
- },
28
- size() {
29
- return t(), i.size;
30
- },
31
- keys() {
32
- return t(), [...i.keys()];
33
- }
34
- };
35
- }
36
- function x(p, i = {}) {
37
- const t = {}, h = {}, l = Object.keys(p), a = new Set(l);
38
- for (const n of l) {
39
- const [o, m] = y(
40
- p[n],
41
- i[n]
42
- );
43
- t[n] = o, h[n] = m;
44
- }
45
- return [new Proxy({}, {
46
- // A field read subscribes; a NON-field key must not throw. `JSON.stringify`
47
- // (`toJSON`), `await proxy` (`then`), `String(proxy)` (`Symbol.toPrimitive`)
48
- // and `for..of` (`Symbol.iterator`) all probe keys that aren't fields — fall
49
- // through to the (empty) target so they see the ordinary undefined/inherited
50
- // value instead of calling `undefined()`. `fieldSet` (not `k in reads`) so
51
- // inherited `toString`/`constructor` aren't mistaken for fields.
52
- get: (n, o) => a.has(o) ? t[o]() : Reflect.get(n, o),
53
- has: (n, o) => a.has(o),
54
- // Enumerable without subscribing: enumeration calls `ownKeys` +
55
- // `getOwnPropertyDescriptor`, never `get`, so `Object.keys(proxy)` returns
56
- // the field set and tracks nothing. The descriptor is an ACCESSOR whose `get`
57
- // reads the live signal, so `{...proxy}` / `Object.values(proxy)` /
58
- // `Object.getOwnPropertyDescriptor(proxy, f).value` see the current value
59
- // (a value-less descriptor would normalize to `value: undefined`). Non-field
60
- // keys report no own descriptor. The target is the empty (extensible) object,
61
- // so these configurable own keys satisfy the Proxy invariants.
62
- ownKeys: () => l,
63
- getOwnPropertyDescriptor: (n, o) => a.has(o) ? { get: () => t[o](), enumerable: !0, configurable: !0 } : void 0,
64
- // Writes go through `set.field(v)` — the proxy is a READ surface, and its
65
- // public type says so (`Readonly<T>`, POLISH_AUDIT #8). The trap backs the
66
- // type for JS callers / policed casts: without it, a field assignment threw
67
- // an opaque "Cannot redefine property" (the accessor descriptor above has no
68
- // setter) and a TYPO'D field silently stuck on the hidden target as a
69
- // non-reactive value.
70
- set: (n, o) => {
71
- throw new TypeError(
72
- `reactiveStruct proxy is read-only: use set.${String(o)}(value) — the setters tuple returned alongside the proxy`
73
- );
74
- }
75
- }), h];
76
- }
77
- const v = Symbol("reactiveArray.absent");
78
- function M(p = [], i = Object.is) {
79
- const t = [], [h, l] = y(0);
80
- let a = 0;
81
- const s = (e, r) => e !== v && r !== v ? i(e, r) : e === r, n = (e) => y(e, s), o = (e) => O(t[e][0]);
82
- for (const e of p) t.push(n(e));
83
- function m(e) {
84
- w(() => {
85
- const r = t.length, f = e.length, g = f < r ? f : r;
86
- for (let c = 0; c < g; c++) t[c][1](e[c]);
87
- if (f > r) {
88
- for (let c = r; c < f; c++) t.push(n(e[c]));
89
- l(++a);
90
- } else if (f < r) {
91
- const c = t.splice(f);
92
- for (let d = 0; d < c.length; d++) c[d][1](v);
93
- l(++a);
94
- }
95
- });
96
- }
97
- return {
98
- get(e) {
99
- if (e >= 0 && e < t.length) {
100
- const r = t[e][0]();
101
- if (r !== v) return r;
102
- }
103
- h();
104
- },
105
- length() {
106
- return h(), t.length;
107
- },
108
- snapshot() {
109
- h();
110
- const e = new Array(t.length);
111
- for (let r = 0; r < t.length; r++) e[r] = t[r][0]();
112
- return e;
113
- },
114
- set(e, r) {
115
- e >= 0 && e < t.length ? t[e][1](r) : console.warn(
116
- `reactiveArray.set(${e}): index out of range [0, ${t.length}); ignored. Use push / splice / reconcile to change length.`
117
- );
118
- },
119
- push(e) {
120
- t.push(n(e)), l(++a);
121
- },
122
- pop() {
123
- const e = t.length;
124
- if (e === 0) return;
125
- const r = o(e - 1), [f] = t.splice(e - 1);
126
- return w(() => {
127
- f[1](v), l(++a);
128
- }), r;
129
- },
130
- splice(e, r, ...f) {
131
- const g = t.length, c = e < 0 ? Math.max(g + e, 0) : Math.min(e, g), d = r === void 0 ? g - c : Math.max(0, Math.min(r, g - c)), k = [];
132
- for (let u = 0; u < d; u++) k.push(o(c + u));
133
- const b = [];
134
- for (let u = 0; u < c; u++) b.push(o(u));
135
- for (let u = 0; u < f.length; u++) b.push(f[u]);
136
- for (let u = c + d; u < g; u++) b.push(o(u));
137
- return m(b), k;
138
- },
139
- reconcile(e) {
140
- m(e);
141
- }
142
- };
143
- }
144
- function A(p, i) {
145
- if (Object.is(p, i)) return !0;
146
- const t = p, h = i, l = Object.keys(t);
147
- if (l.length !== Object.keys(h).length) return !1;
148
- for (let a = 0; a < l.length; a++) {
149
- const s = l[a];
150
- if (!Object.prototype.hasOwnProperty.call(h, s) || !Object.is(t[s], h[s])) return !1;
151
- }
152
- return !0;
153
- }
154
- export {
155
- x as a,
156
- M as b,
157
- j as r,
158
- A as s
159
- };
@@ -1 +0,0 @@
1
- "use strict";const p=require("./kernel-sw7ScKWu.cjs");function k(g=Object.is){const i=new Map,[t,h]=p.signal(0);let l=0;const a=(s,n)=>s!==void 0&&n!==void 0?g(s,n):s===n;return{get(s){const n=i.get(s);if(n!==void 0)return n[0]();t()},set(s,n){n===void 0&&console.warn("reactiveMap.set(key, undefined): undefined is the absent sentinel — get(key) cannot distinguish it from an unset key; use delete(key) to remove.");const o=i.get(s);o!==void 0?o[1](n):(i.set(s,p.signal(n,a)),h(++l))},delete(s){const n=i.get(s);return n===void 0?!1:(i.delete(s),p.batch(()=>{n[1](void 0),h(++l)}),!0)},has(s){return t(),i.has(s)},size(){return t(),i.size},keys(){return t(),[...i.keys()]}}}function O(g,i={}){const t={},h={},l=Object.keys(g),a=new Set(l);for(const n of l){const[o,b]=p.signal(g[n],i[n]);t[n]=o,h[n]=b}return[new Proxy({},{get:(n,o)=>a.has(o)?t[o]():Reflect.get(n,o),has:(n,o)=>a.has(o),ownKeys:()=>l,getOwnPropertyDescriptor:(n,o)=>a.has(o)?{get:()=>t[o](),enumerable:!0,configurable:!0}:void 0,set:(n,o)=>{throw new TypeError(`reactiveStruct proxy is read-only: use set.${String(o)}(value) — the setters tuple returned alongside the proxy`)}}),h]}const y=Symbol("reactiveArray.absent");function S(g=[],i=Object.is){const t=[],[h,l]=p.signal(0);let a=0;const s=(e,r)=>e!==y&&r!==y?i(e,r):e===r,n=e=>p.signal(e,s),o=e=>p.untrack(t[e][0]);for(const e of g)t.push(n(e));function b(e){p.batch(()=>{const r=t.length,f=e.length,d=f<r?f:r;for(let c=0;c<d;c++)t[c][1](e[c]);if(f>r){for(let c=r;c<f;c++)t.push(n(e[c]));l(++a)}else if(f<r){const c=t.splice(f);for(let v=0;v<c.length;v++)c[v][1](y);l(++a)}})}return{get(e){if(e>=0&&e<t.length){const r=t[e][0]();if(r!==y)return r}h()},length(){return h(),t.length},snapshot(){h();const e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=t[r][0]();return e},set(e,r){e>=0&&e<t.length?t[e][1](r):console.warn(`reactiveArray.set(${e}): index out of range [0, ${t.length}); ignored. Use push / splice / reconcile to change length.`)},push(e){t.push(n(e)),l(++a)},pop(){const e=t.length;if(e===0)return;const r=o(e-1),[f]=t.splice(e-1);return p.batch(()=>{f[1](y),l(++a)}),r},splice(e,r,...f){const d=t.length,c=e<0?Math.max(d+e,0):Math.min(e,d),v=r===void 0?d-c:Math.max(0,Math.min(r,d-c)),w=[];for(let u=0;u<v;u++)w.push(o(c+u));const m=[];for(let u=0;u<c;u++)m.push(o(u));for(let u=0;u<f.length;u++)m.push(f[u]);for(let u=c+v;u<d;u++)m.push(o(u));return b(m),w},reconcile(e){b(e)}}}function j(g,i){if(Object.is(g,i))return!0;const t=g,h=i,l=Object.keys(t);if(l.length!==Object.keys(h).length)return!1;for(let a=0;a<l.length;a++){const s=l[a];if(!Object.prototype.hasOwnProperty.call(h,s)||!Object.is(t[s],h[s]))return!1}return!0}exports.reactiveArray=S;exports.reactiveMap=k;exports.reactiveStruct=O;exports.shallow=j;
@@ -1 +0,0 @@
1
- "use strict";const p=require("./kernel-yWV3XnAb.cjs");function O(g=Object.is){const l=new Map,[t,h]=p.signal(0);let i=0;const a=(s,r)=>s!==void 0&&r!==void 0?g(s,r):s===r;return{get(s){const r=l.get(s);if(r!==void 0)return r[0]();t()},set(s,r){const o=l.get(s);o!==void 0?o[1](r):(l.set(s,p.signal(r,a)),h(++i))},delete(s){const r=l.get(s);return r===void 0?!1:(l.delete(s),p.batch(()=>{r[1](void 0),h(++i)}),!0)},has(s){return t(),l.has(s)},size(){return t(),l.size},keys(){return t(),[...l.keys()]}}}function k(g,l={}){const t={},h={},i=Object.keys(g),a=new Set(i);for(const r of i){const[o,b]=p.signal(g[r],l[r]);t[r]=o,h[r]=b}return[new Proxy({},{get:(r,o)=>a.has(o)?t[o]():Reflect.get(r,o),has:(r,o)=>a.has(o),ownKeys:()=>i,getOwnPropertyDescriptor:(r,o)=>a.has(o)?{get:()=>t[o](),enumerable:!0,configurable:!0}:void 0,set:(r,o)=>!1}),h]}const y=Symbol("reactiveArray.absent");function j(g=[],l=Object.is){const t=[],[h,i]=p.signal(0);let a=0;const s=(e,n)=>e!==y&&n!==y?l(e,n):e===n,r=e=>p.signal(e,s),o=e=>p.untrack(t[e][0]);for(const e of g)t.push(r(e));function b(e){p.batch(()=>{const n=t.length,f=e.length,v=f<n?f:n;for(let c=0;c<v;c++)t[c][1](e[c]);if(f>n){for(let c=n;c<f;c++)t.push(r(e[c]));i(++a)}else if(f<n){const c=t.splice(f);for(let d=0;d<c.length;d++)c[d][1](y);i(++a)}})}return{get(e){if(e>=0&&e<t.length){const n=t[e][0]();if(n!==y)return n}h()},length(){return h(),t.length},snapshot(){h();const e=new Array(t.length);for(let n=0;n<t.length;n++)e[n]=t[n][0]();return e},set(e,n){e>=0&&e<t.length&&t[e][1](n)},push(e){t.push(r(e)),i(++a)},pop(){const e=t.length;if(e===0)return;const n=o(e-1),[f]=t.splice(e-1);return p.batch(()=>{f[1](y),i(++a)}),n},splice(e,n,...f){const v=t.length,c=e<0?Math.max(v+e,0):Math.min(e,v),d=n===void 0?v-c:Math.max(0,Math.min(n,v-c)),w=[];for(let u=0;u<d;u++)w.push(o(c+u));const m=[];for(let u=0;u<c;u++)m.push(o(u));for(let u=0;u<f.length;u++)m.push(f[u]);for(let u=c+d;u<v;u++)m.push(o(u));return b(m),w},reconcile(e){b(e)}}}function S(g,l){if(Object.is(g,l))return!0;const t=g,h=l,i=Object.keys(t);if(i.length!==Object.keys(h).length)return!1;for(let a=0;a<i.length;a++){const s=i[a];if(!Object.prototype.hasOwnProperty.call(h,s)||!Object.is(t[s],h[s]))return!1}return!0}exports.reactiveArray=j;exports.reactiveMap=O;exports.reactiveStruct=k;exports.shallow=S;