@adobe/data 0.9.4 → 0.9.6

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 (1056) hide show
  1. package/LICENSE +1 -1
  2. package/assembly/index.wasm.map +1 -1
  3. package/assembly-test/assembly.test.js +1 -21
  4. package/assembly-test/assembly.test.js.map +1 -1
  5. package/blob/blob-handle.js +1 -21
  6. package/blob/blob-handle.js.map +1 -1
  7. package/blob/blob-meta.js.map +1 -1
  8. package/blob/index.js +1 -21
  9. package/blob/index.js.map +1 -1
  10. package/cache/async-cache.js +1 -21
  11. package/cache/async-cache.js.map +1 -1
  12. package/cache/blob-store.js +1 -21
  13. package/cache/blob-store.js.map +1 -1
  14. package/cache/blob-store.test.js +1 -21
  15. package/cache/blob-store.test.js.map +1 -1
  16. package/cache/data-cache.js.map +1 -1
  17. package/cache/data-cache.test.js +1 -21
  18. package/cache/data-cache.test.js.map +1 -1
  19. package/cache/expiring-data-cache.js +1 -21
  20. package/cache/expiring-data-cache.js.map +1 -1
  21. package/cache/expiring-data-cache.test.js +1 -21
  22. package/cache/expiring-data-cache.test.js.map +1 -1
  23. package/cache/fallback-async-cache.js.map +1 -1
  24. package/cache/functions/async-data-function.js +1 -21
  25. package/cache/functions/async-data-function.js.map +1 -1
  26. package/cache/functions/functions.test.js +1 -21
  27. package/cache/functions/functions.test.js.map +1 -1
  28. package/cache/functions/get-cached.js +1 -21
  29. package/cache/functions/get-cached.js.map +1 -1
  30. package/cache/functions/get-cached.test.js +1 -21
  31. package/cache/functions/get-cached.test.js.map +1 -1
  32. package/cache/functions/hashing/array-buffer-to-hex.js +1 -21
  33. package/cache/functions/hashing/array-buffer-to-hex.js.map +1 -1
  34. package/cache/functions/hashing/blob-to-hash.js +1 -21
  35. package/cache/functions/hashing/blob-to-hash.js.map +1 -1
  36. package/cache/functions/hashing/buffer-to-hash.js +1 -21
  37. package/cache/functions/hashing/buffer-to-hash.js.map +1 -1
  38. package/cache/functions/hashing/hashing.test.js +1 -21
  39. package/cache/functions/hashing/hashing.test.js.map +1 -1
  40. package/cache/functions/hashing/index.js +1 -21
  41. package/cache/functions/hashing/index.js.map +1 -1
  42. package/cache/functions/hashing/json-to-hash.js +1 -21
  43. package/cache/functions/hashing/json-to-hash.js.map +1 -1
  44. package/cache/functions/hashing/string-to-hash.js +1 -21
  45. package/cache/functions/hashing/string-to-hash.js.map +1 -1
  46. package/cache/functions/index.js +1 -21
  47. package/cache/functions/index.js.map +1 -1
  48. package/cache/functions/memoize.js +1 -21
  49. package/cache/functions/memoize.js.map +1 -1
  50. package/cache/functions/prevent-parallel-execution.js.map +1 -1
  51. package/cache/get-persistent-cache.js.map +1 -1
  52. package/cache/index.js +1 -21
  53. package/cache/index.js.map +1 -1
  54. package/cache/managed-array.js.map +1 -1
  55. package/cache/managed-async-cache.browser.test.js +1 -21
  56. package/cache/managed-async-cache.browser.test.js.map +1 -1
  57. package/cache/managed-async-cache.js.map +1 -1
  58. package/cache/memory-allocator.js +1 -21
  59. package/cache/memory-allocator.js.map +1 -1
  60. package/cache/memory-async-cache.js.map +1 -1
  61. package/data.js +1 -21
  62. package/data.js.map +1 -1
  63. package/ecs/archetype/archetype.js.map +1 -1
  64. package/ecs/archetype/create-archetype.js +1 -21
  65. package/ecs/archetype/create-archetype.js.map +1 -1
  66. package/ecs/archetype/create-archetype.test.js +1 -21
  67. package/ecs/archetype/create-archetype.test.js.map +1 -1
  68. package/ecs/archetype/delete-row.js +1 -21
  69. package/ecs/archetype/delete-row.js.map +1 -1
  70. package/ecs/archetype/delete-row.test.js +1 -21
  71. package/ecs/archetype/delete-row.test.js.map +1 -1
  72. package/ecs/archetype/index.js +1 -21
  73. package/ecs/archetype/index.js.map +1 -1
  74. package/ecs/database/calculate-system-order.js +1 -21
  75. package/ecs/database/calculate-system-order.js.map +1 -1
  76. package/ecs/database/calculate-system-order.test.js +1 -21
  77. package/ecs/database/calculate-system-order.test.js.map +1 -1
  78. package/ecs/database/combine-plugins-test.d.ts +39 -0
  79. package/ecs/database/combine-plugins-test.js +3 -0
  80. package/ecs/database/combine-plugins-test.js.map +1 -0
  81. package/ecs/database/combine-plugins.d.ts +11 -8
  82. package/ecs/database/combine-plugins.js +3 -23
  83. package/ecs/database/combine-plugins.js.map +1 -1
  84. package/ecs/database/create-plugin-cryos-pattern.test.d.ts +3 -0
  85. package/ecs/database/create-plugin-cryos-pattern.test.js +83 -0
  86. package/ecs/database/create-plugin-cryos-pattern.test.js.map +1 -0
  87. package/ecs/database/create-plugin-graphics.test.d.ts +93 -0
  88. package/ecs/database/create-plugin-graphics.test.js +135 -0
  89. package/ecs/database/create-plugin-graphics.test.js.map +1 -0
  90. package/ecs/database/create-plugin-type.type-test.js +563 -0
  91. package/ecs/database/create-plugin-type.type-test.js.map +1 -0
  92. package/ecs/database/create-plugin-type.type.test.js +563 -0
  93. package/ecs/database/create-plugin-type.type.test.js.map +1 -0
  94. package/ecs/database/create-plugin.d.ts +34 -2
  95. package/ecs/database/create-plugin.js +54 -23
  96. package/ecs/database/create-plugin.js.map +1 -1
  97. package/ecs/database/create-plugin.test.js +64 -39
  98. package/ecs/database/create-plugin.test.js.map +1 -1
  99. package/ecs/database/create-plugin.type-test.js +27 -31
  100. package/ecs/database/create-plugin.type-test.js.map +1 -1
  101. package/ecs/database/database-schema/create-database-schema-test.js +1 -21
  102. package/ecs/database/database-schema/create-database-schema-test.js.map +1 -1
  103. package/ecs/database/database-schema/create-database-schema.js +1 -21
  104. package/ecs/database/database-schema/create-database-schema.js.map +1 -1
  105. package/ecs/database/database-schema/database-schema.js +1 -21
  106. package/ecs/database/database-schema/database-schema.js.map +1 -1
  107. package/ecs/database/database-schema/index.js +1 -21
  108. package/ecs/database/database-schema/index.js.map +1 -1
  109. package/ecs/database/database.d.ts +11 -6
  110. package/ecs/database/database.js +4 -21
  111. package/ecs/database/database.js.map +1 -1
  112. package/ecs/database/database.test.js +6 -27
  113. package/ecs/database/database.test.js.map +1 -1
  114. package/ecs/database/experimental-action-types.js +275 -0
  115. package/ecs/database/experimental-action-types.js.map +1 -0
  116. package/ecs/database/from-plugin.type-test.js +180 -0
  117. package/ecs/database/from-plugin.type-test.js.map +1 -0
  118. package/ecs/database/index.js +1 -21
  119. package/ecs/database/index.js.map +1 -1
  120. package/ecs/database/observe-dependent-value.js +1 -21
  121. package/ecs/database/observe-dependent-value.js.map +1 -1
  122. package/ecs/database/observe-dependent-value.test.js +1 -21
  123. package/ecs/database/observe-dependent-value.test.js.map +1 -1
  124. package/ecs/database/observe-select-entities.js +1 -21
  125. package/ecs/database/observe-select-entities.js.map +1 -1
  126. package/ecs/database/observe-select-entities.performance.test.js +1 -21
  127. package/ecs/database/observe-select-entities.performance.test.js.map +1 -1
  128. package/ecs/database/observe-select-entities.test.js +1 -21
  129. package/ecs/database/observe-select-entities.test.js.map +1 -1
  130. package/ecs/database/observed/create-observed-database.js +1 -17
  131. package/ecs/database/observed/create-observed-database.js.map +1 -1
  132. package/ecs/database/observed/create-observed-database.test.js +1 -0
  133. package/ecs/database/observed/create-observed-database.test.js.map +1 -1
  134. package/ecs/database/observed/observed-database.js +1 -17
  135. package/ecs/database/observed/observed-database.js.map +1 -1
  136. package/ecs/database/plugin-types.js +5 -0
  137. package/ecs/database/plugin-types.js.map +1 -0
  138. package/ecs/database/public/create-database-from-schema.test.js +1 -21
  139. package/ecs/database/public/create-database-from-schema.test.js.map +1 -1
  140. package/ecs/database/public/create-database-scheduler.test.js +8 -23
  141. package/ecs/database/public/create-database-scheduler.test.js.map +1 -1
  142. package/ecs/database/public/create-database.d.ts +4 -5
  143. package/ecs/database/public/create-database.js +39 -183
  144. package/ecs/database/public/create-database.js.map +1 -1
  145. package/ecs/database/public/create-database.test.js +34 -21
  146. package/ecs/database/public/create-database.test.js.map +1 -1
  147. package/ecs/database/public/create-database.type-test.js +160 -0
  148. package/ecs/database/public/create-database.type-test.js.map +1 -0
  149. package/ecs/database/public/index.js +1 -20
  150. package/ecs/database/public/index.js.map +1 -1
  151. package/ecs/database/reconciling/create-reconciling-database.js +1 -20
  152. package/ecs/database/reconciling/create-reconciling-database.js.map +1 -1
  153. package/ecs/database/reconciling/create-reconciling-database.test.js +1 -0
  154. package/ecs/database/reconciling/create-reconciling-database.test.js.map +1 -1
  155. package/ecs/database/reconciling/reconciling-database.js +1 -20
  156. package/ecs/database/reconciling/reconciling-database.js.map +1 -1
  157. package/ecs/database/reconciling/reconciling-entry.js +1 -20
  158. package/ecs/database/reconciling/reconciling-entry.js.map +1 -1
  159. package/ecs/database/transactional-store/apply-operations.js.map +1 -1
  160. package/ecs/database/transactional-store/coalesce-actions.js +1 -21
  161. package/ecs/database/transactional-store/coalesce-actions.js.map +1 -1
  162. package/ecs/database/transactional-store/coalesce-actions.test.js +1 -21
  163. package/ecs/database/transactional-store/coalesce-actions.test.js.map +1 -1
  164. package/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
  165. package/ecs/database/transactional-store/create-transactional-store.test.js +1 -21
  166. package/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  167. package/ecs/database/transactional-store/index.js +1 -21
  168. package/ecs/database/transactional-store/index.js.map +1 -1
  169. package/ecs/database/transactional-store/patch-entity-values.js.map +1 -1
  170. package/ecs/database/transactional-store/transaction-options.js +1 -21
  171. package/ecs/database/transactional-store/transaction-options.js.map +1 -1
  172. package/ecs/database/transactional-store/transactional-store.js +1 -21
  173. package/ecs/database/transactional-store/transactional-store.js.map +1 -1
  174. package/ecs/database/type-inference-example.js +1 -0
  175. package/ecs/database/type-inference-example.js.map +1 -1
  176. package/ecs/database/type-investigation.test.js +54 -0
  177. package/ecs/database/type-investigation.test.js.map +1 -0
  178. package/ecs/database/undoable.js +1 -21
  179. package/ecs/database/undoable.js.map +1 -1
  180. package/ecs/entity-location-table/create-entity-location-table.js +1 -21
  181. package/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
  182. package/ecs/entity-location-table/create-entity-location-table.test.js +1 -21
  183. package/ecs/entity-location-table/create-entity-location-table.test.js.map +1 -1
  184. package/ecs/entity-location-table/entity-location.js.map +1 -1
  185. package/ecs/entity-location-table/index.js +1 -21
  186. package/ecs/entity-location-table/index.js.map +1 -1
  187. package/ecs/entity.js.map +1 -1
  188. package/ecs/index.js +1 -21
  189. package/ecs/index.js.map +1 -1
  190. package/ecs/persistence-service/create-storage-persistence-service.js +1 -21
  191. package/ecs/persistence-service/create-storage-persistence-service.js.map +1 -1
  192. package/ecs/persistence-service/index.js +1 -21
  193. package/ecs/persistence-service/index.js.map +1 -1
  194. package/ecs/plugins/index.js +1 -21
  195. package/ecs/plugins/index.js.map +1 -1
  196. package/ecs/plugins/scheduler/index.js +1 -21
  197. package/ecs/plugins/scheduler/index.js.map +1 -1
  198. package/ecs/plugins/scheduler/scheduler.d.ts +1 -2
  199. package/ecs/plugins/scheduler/scheduler.js +1 -21
  200. package/ecs/plugins/scheduler/scheduler.js.map +1 -1
  201. package/ecs/resource-schemas.js +1 -21
  202. package/ecs/resource-schemas.js.map +1 -1
  203. package/ecs/store/action-functions.js +1 -21
  204. package/ecs/store/action-functions.js.map +1 -1
  205. package/ecs/store/archetype-components.js +1 -21
  206. package/ecs/store/archetype-components.js.map +1 -1
  207. package/ecs/store/components.js +1 -21
  208. package/ecs/store/components.js.map +1 -1
  209. package/ecs/store/core/core.js +1 -21
  210. package/ecs/store/core/core.js.map +1 -1
  211. package/ecs/store/core/create-core.js +1 -21
  212. package/ecs/store/core/create-core.js.map +1 -1
  213. package/ecs/store/core/create-core.test.js +22 -21
  214. package/ecs/store/core/create-core.test.js.map +1 -1
  215. package/ecs/store/core/index.js +1 -21
  216. package/ecs/store/core/index.js.map +1 -1
  217. package/ecs/store/core/select-entities.js +1 -21
  218. package/ecs/store/core/select-entities.js.map +1 -1
  219. package/ecs/store/core/select-entities.test.js +1 -21
  220. package/ecs/store/core/select-entities.test.js.map +1 -1
  221. package/ecs/store/create-store-schema-test.js +1 -21
  222. package/ecs/store/create-store-schema-test.js.map +1 -1
  223. package/ecs/store/entity-select-options.js +1 -21
  224. package/ecs/store/entity-select-options.js.map +1 -1
  225. package/ecs/store/index.js +1 -21
  226. package/ecs/store/index.js.map +1 -1
  227. package/ecs/store/public/create-store.js +1 -21
  228. package/ecs/store/public/create-store.js.map +1 -1
  229. package/ecs/store/public/create-store.test.js +1 -21
  230. package/ecs/store/public/create-store.test.js.map +1 -1
  231. package/ecs/store/resource-components.js +1 -21
  232. package/ecs/store/resource-components.js.map +1 -1
  233. package/ecs/store/store.js.map +1 -1
  234. package/ecs/store/store.test.js +1 -21
  235. package/ecs/store/store.test.js.map +1 -1
  236. package/ecs/undo-redo-service/create-undo-redo-service.js +1 -21
  237. package/ecs/undo-redo-service/create-undo-redo-service.js.map +1 -1
  238. package/ecs/undo-redo-service/create-undo-redo-service.test.js +1 -21
  239. package/ecs/undo-redo-service/create-undo-redo-service.test.js.map +1 -1
  240. package/ecs/undo-redo-service/index.js +1 -21
  241. package/ecs/undo-redo-service/index.js.map +1 -1
  242. package/ecs/undo-redo-service/undo-redo-service.js +1 -21
  243. package/ecs/undo-redo-service/undo-redo-service.js.map +1 -1
  244. package/equals-shallow.js +1 -21
  245. package/equals-shallow.js.map +1 -1
  246. package/equals-shallow.test.js +1 -21
  247. package/equals-shallow.test.js.map +1 -1
  248. package/equals.js +1 -21
  249. package/equals.js.map +1 -1
  250. package/equals.test.js +1 -21
  251. package/equals.test.js.map +1 -1
  252. package/functions/apply-args.js +1 -21
  253. package/functions/apply-args.js.map +1 -1
  254. package/functions/blit.js +1 -21
  255. package/functions/blit.js.map +1 -1
  256. package/functions/copy-view-bytes.js +1 -21
  257. package/functions/copy-view-bytes.js.map +1 -1
  258. package/functions/index.js +1 -21
  259. package/functions/index.js.map +1 -1
  260. package/functions/merge-patch.js.map +1 -1
  261. package/functions/merge-patch.test.js +1 -21
  262. package/functions/merge-patch.test.js.map +1 -1
  263. package/functions/serialization/codec.js +1 -21
  264. package/functions/serialization/codec.js.map +1 -1
  265. package/functions/serialization/index.js +1 -21
  266. package/functions/serialization/index.js.map +1 -1
  267. package/functions/serialization/register-blob-codecs.js.map +1 -1
  268. package/functions/serialization/register-typed-array-codecs.js.map +1 -1
  269. package/functions/serialization/serialization.test.js +1 -21
  270. package/functions/serialization/serialization.test.js.map +1 -1
  271. package/functions/serialization/serialize-to-blobs.js +1 -21
  272. package/functions/serialization/serialize-to-blobs.js.map +1 -1
  273. package/functions/serialization/serialize-to-blobs.test.js +1 -21
  274. package/functions/serialization/serialize-to-blobs.test.js.map +1 -1
  275. package/functions/serialization/serialize-to-json.js +1 -21
  276. package/functions/serialization/serialize-to-json.js.map +1 -1
  277. package/functions/serialization/serialize-to-json.test.js +1 -21
  278. package/functions/serialization/serialize-to-json.test.js.map +1 -1
  279. package/functions/serialization/serialize-to-storage.js +1 -21
  280. package/functions/serialization/serialize-to-storage.js.map +1 -1
  281. package/functions/serialization/serialize-to-storage.test.js +1 -21
  282. package/functions/serialization/serialize-to-storage.test.js.map +1 -1
  283. package/functions/serialization/serialize.js +1 -21
  284. package/functions/serialization/serialize.js.map +1 -1
  285. package/index.js +1 -21
  286. package/index.js.map +1 -1
  287. package/internal/array/index.js +1 -21
  288. package/internal/array/index.js.map +1 -1
  289. package/internal/array/topological-sort.js +1 -21
  290. package/internal/array/topological-sort.js.map +1 -1
  291. package/internal/array/topological-sort.test.js +1 -21
  292. package/internal/array/topological-sort.test.js.map +1 -1
  293. package/internal/array-buffer-like/copy.js +1 -21
  294. package/internal/array-buffer-like/copy.js.map +1 -1
  295. package/internal/array-buffer-like/index.js +1 -21
  296. package/internal/array-buffer-like/index.js.map +1 -1
  297. package/internal/array-buffer-like/is-array-buffer.js +1 -21
  298. package/internal/array-buffer-like/is-array-buffer.js.map +1 -1
  299. package/internal/array-buffer-like/is-shared-array-buffer.js +1 -21
  300. package/internal/array-buffer-like/is-shared-array-buffer.js.map +1 -1
  301. package/internal/array-buffer-like/resize.js +1 -21
  302. package/internal/array-buffer-like/resize.js.map +1 -1
  303. package/internal/async-generator/is-async-generator.js +1 -21
  304. package/internal/async-generator/is-async-generator.js.map +1 -1
  305. package/internal/data-view-32/create-data-view-32.js.map +1 -1
  306. package/internal/data-view-32/index.js +1 -21
  307. package/internal/data-view-32/index.js.map +1 -1
  308. package/internal/function/debounce.js +1 -21
  309. package/internal/function/debounce.js.map +1 -1
  310. package/internal/function/debounce.test.js +1 -21
  311. package/internal/function/debounce.test.js.map +1 -1
  312. package/internal/function/memoize-factory.js +1 -21
  313. package/internal/function/memoize-factory.js.map +1 -1
  314. package/internal/object/index.js +1 -21
  315. package/internal/object/index.js.map +1 -1
  316. package/internal/object/map-entries.js +1 -21
  317. package/internal/object/map-entries.js.map +1 -1
  318. package/internal/promise/is-promise.js +1 -21
  319. package/internal/promise/is-promise.js.map +1 -1
  320. package/internal/shared-array-buffer/create-shared-array-buffer.js +1 -21
  321. package/internal/shared-array-buffer/create-shared-array-buffer.js.map +1 -1
  322. package/internal/typed-array/get-byte-size.js.map +1 -1
  323. package/internal/typed-array/index.js +1 -21
  324. package/internal/typed-array/index.js.map +1 -1
  325. package/is-data.js +1 -21
  326. package/is-data.js.map +1 -1
  327. package/lit/decorators/apply-decorator.js +1 -21
  328. package/lit/decorators/apply-decorator.js.map +1 -1
  329. package/lit/decorators/apply-service-decorators.js +1 -21
  330. package/lit/decorators/apply-service-decorators.js.map +1 -1
  331. package/lit/decorators/index.js +1 -21
  332. package/lit/decorators/index.js.map +1 -1
  333. package/lit/decorators/require-service.js +1 -21
  334. package/lit/decorators/require-service.js.map +1 -1
  335. package/lit/elements/application-element.js +1 -21
  336. package/lit/elements/application-element.js.map +1 -1
  337. package/lit/elements/application-host.js +1 -21
  338. package/lit/elements/application-host.js.map +1 -1
  339. package/lit/elements/database-element.d.ts +10 -0
  340. package/lit/elements/database-element.js +40 -0
  341. package/lit/elements/database-element.js.map +1 -0
  342. package/lit/elements/index.d.ts +1 -0
  343. package/lit/elements/index.js +2 -21
  344. package/lit/elements/index.js.map +1 -1
  345. package/lit/functions/index.js +1 -21
  346. package/lit/functions/index.js.map +1 -1
  347. package/lit/functions/iterate-self-and-ancestors.js +1 -21
  348. package/lit/functions/iterate-self-and-ancestors.js.map +1 -1
  349. package/lit/hooks/attach-decorator.js +1 -21
  350. package/lit/hooks/attach-decorator.js.map +1 -1
  351. package/lit/hooks/component/component.js +1 -21
  352. package/lit/hooks/component/component.js.map +1 -1
  353. package/lit/hooks/component/stack.js +1 -21
  354. package/lit/hooks/component/stack.js.map +1 -1
  355. package/lit/hooks/index.js +1 -21
  356. package/lit/hooks/index.js.map +1 -1
  357. package/lit/hooks/use-connected.js +1 -21
  358. package/lit/hooks/use-connected.js.map +1 -1
  359. package/lit/hooks/use-debounce.js +1 -21
  360. package/lit/hooks/use-debounce.js.map +1 -1
  361. package/lit/hooks/use-drag-observe.js +1 -21
  362. package/lit/hooks/use-drag-observe.js.map +1 -1
  363. package/lit/hooks/use-drag-transaction.js +1 -21
  364. package/lit/hooks/use-drag-transaction.js.map +1 -1
  365. package/lit/hooks/use-draggable.js +1 -21
  366. package/lit/hooks/use-draggable.js.map +1 -1
  367. package/lit/hooks/use-effect.js +1 -21
  368. package/lit/hooks/use-effect.js.map +1 -1
  369. package/lit/hooks/use-element.js +1 -21
  370. package/lit/hooks/use-element.js.map +1 -1
  371. package/lit/hooks/use-memo.js +1 -21
  372. package/lit/hooks/use-memo.js.map +1 -1
  373. package/lit/hooks/use-observable-values.js +1 -21
  374. package/lit/hooks/use-observable-values.js.map +1 -1
  375. package/lit/hooks/use-observable.js +1 -21
  376. package/lit/hooks/use-observable.js.map +1 -1
  377. package/lit/hooks/use-ref.js +1 -21
  378. package/lit/hooks/use-ref.js.map +1 -1
  379. package/lit/hooks/use-resize-observer.js +1 -21
  380. package/lit/hooks/use-resize-observer.js.map +1 -1
  381. package/lit/hooks/use-state.js +1 -21
  382. package/lit/hooks/use-state.js.map +1 -1
  383. package/lit/hooks/use-updated.js +1 -21
  384. package/lit/hooks/use-updated.js.map +1 -1
  385. package/lit/hooks/use-window-event.js +1 -21
  386. package/lit/hooks/use-window-event.js.map +1 -1
  387. package/lit/hooks/with-hooks.js +1 -21
  388. package/lit/hooks/with-hooks.js.map +1 -1
  389. package/lit/index.js +1 -21
  390. package/lit/index.js.map +1 -1
  391. package/math/aabb/center.js.map +1 -1
  392. package/math/aabb/face/aabb-face.test.js +1 -21
  393. package/math/aabb/face/aabb-face.test.js.map +1 -1
  394. package/math/aabb/face/functions.js +1 -21
  395. package/math/aabb/face/functions.js.map +1 -1
  396. package/math/aabb/face/index.js +1 -21
  397. package/math/aabb/face/index.js.map +1 -1
  398. package/math/aabb/face/public.js +1 -21
  399. package/math/aabb/face/public.js.map +1 -1
  400. package/math/aabb/face/schema.js +1 -21
  401. package/math/aabb/face/schema.js.map +1 -1
  402. package/math/aabb/index.js +1 -21
  403. package/math/aabb/index.js.map +1 -1
  404. package/math/aabb/layout.js +1 -21
  405. package/math/aabb/layout.js.map +1 -1
  406. package/math/aabb/line-intersection.js.map +1 -1
  407. package/math/aabb/line-intersection.test.js +1 -21
  408. package/math/aabb/line-intersection.test.js.map +1 -1
  409. package/math/aabb/public.js +1 -21
  410. package/math/aabb/public.js.map +1 -1
  411. package/math/aabb/schema.js +1 -21
  412. package/math/aabb/schema.js.map +1 -1
  413. package/math/aabb/unit.js.map +1 -1
  414. package/math/constants.js +1 -21
  415. package/math/constants.js.map +1 -1
  416. package/math/f32/index.js +1 -21
  417. package/math/f32/index.js.map +1 -1
  418. package/math/f32/public.js +1 -21
  419. package/math/f32/public.js.map +1 -1
  420. package/math/f32/schema.js +1 -21
  421. package/math/f32/schema.js.map +1 -1
  422. package/math/f64/index.js.map +1 -1
  423. package/math/f64/public.js +1 -21
  424. package/math/f64/public.js.map +1 -1
  425. package/math/f64/schema.js.map +1 -1
  426. package/math/i32/index.js +1 -21
  427. package/math/i32/index.js.map +1 -1
  428. package/math/i32/public.js +1 -21
  429. package/math/i32/public.js.map +1 -1
  430. package/math/i32/schema.js +1 -21
  431. package/math/i32/schema.js.map +1 -1
  432. package/math/index.js +1 -21
  433. package/math/index.js.map +1 -1
  434. package/math/line2/functions.js +1 -21
  435. package/math/line2/functions.js.map +1 -1
  436. package/math/line2/index.js +1 -21
  437. package/math/line2/index.js.map +1 -1
  438. package/math/line2/intersects.test.js +1 -21
  439. package/math/line2/intersects.test.js.map +1 -1
  440. package/math/line2/layout.js +1 -21
  441. package/math/line2/layout.js.map +1 -1
  442. package/math/line2/public.js +1 -21
  443. package/math/line2/public.js.map +1 -1
  444. package/math/line2/schema.js +1 -21
  445. package/math/line2/schema.js.map +1 -1
  446. package/math/line3/closest-point-on-line.test.js +1 -21
  447. package/math/line3/closest-point-on-line.test.js.map +1 -1
  448. package/math/line3/functions.js +1 -21
  449. package/math/line3/functions.js.map +1 -1
  450. package/math/line3/index.js +1 -21
  451. package/math/line3/index.js.map +1 -1
  452. package/math/line3/interpolate.test.js +1 -21
  453. package/math/line3/interpolate.test.js.map +1 -1
  454. package/math/line3/layout.js +1 -21
  455. package/math/line3/layout.js.map +1 -1
  456. package/math/line3/public.js +1 -21
  457. package/math/line3/public.js.map +1 -1
  458. package/math/line3/schema.js +1 -21
  459. package/math/line3/schema.js.map +1 -1
  460. package/math/line3/sub-line.test.js +1 -21
  461. package/math/line3/sub-line.test.js.map +1 -1
  462. package/math/mat4x4/functions.js +1 -21
  463. package/math/mat4x4/functions.js.map +1 -1
  464. package/math/mat4x4/index.js +1 -21
  465. package/math/mat4x4/index.js.map +1 -1
  466. package/math/mat4x4/layout.js +1 -21
  467. package/math/mat4x4/layout.js.map +1 -1
  468. package/math/mat4x4/public.js +1 -21
  469. package/math/mat4x4/public.js.map +1 -1
  470. package/math/mat4x4/schema.js +1 -21
  471. package/math/mat4x4/schema.js.map +1 -1
  472. package/math/plane/functions.js +1 -21
  473. package/math/plane/functions.js.map +1 -1
  474. package/math/plane/index.js +1 -21
  475. package/math/plane/index.js.map +1 -1
  476. package/math/plane/layout.js +1 -21
  477. package/math/plane/layout.js.map +1 -1
  478. package/math/plane/plane.test.js +1 -21
  479. package/math/plane/plane.test.js.map +1 -1
  480. package/math/plane/public.js +1 -21
  481. package/math/plane/public.js.map +1 -1
  482. package/math/plane/schema.js +1 -21
  483. package/math/plane/schema.js.map +1 -1
  484. package/math/quat/constants/functions.js +1 -21
  485. package/math/quat/constants/functions.js.map +1 -1
  486. package/math/quat/functions.js +1 -21
  487. package/math/quat/functions.js.map +1 -1
  488. package/math/quat/index.js +1 -21
  489. package/math/quat/index.js.map +1 -1
  490. package/math/quat/layout.js +1 -21
  491. package/math/quat/layout.js.map +1 -1
  492. package/math/quat/public.js +1 -21
  493. package/math/quat/public.js.map +1 -1
  494. package/math/quat/schema.js +1 -21
  495. package/math/quat/schema.js.map +1 -1
  496. package/math/u32/index.js +1 -21
  497. package/math/u32/index.js.map +1 -1
  498. package/math/u32/public.js +1 -21
  499. package/math/u32/public.js.map +1 -1
  500. package/math/u32/schema.js +1 -21
  501. package/math/u32/schema.js.map +1 -1
  502. package/math/vec2/functions.js +1 -21
  503. package/math/vec2/functions.js.map +1 -1
  504. package/math/vec2/index.js +1 -21
  505. package/math/vec2/index.js.map +1 -1
  506. package/math/vec2/layout.js +1 -21
  507. package/math/vec2/layout.js.map +1 -1
  508. package/math/vec2/public.js +1 -21
  509. package/math/vec2/public.js.map +1 -1
  510. package/math/vec2/schema.js +1 -21
  511. package/math/vec2/schema.js.map +1 -1
  512. package/math/vec3/functions.js +1 -21
  513. package/math/vec3/functions.js.map +1 -1
  514. package/math/vec3/index.js +1 -21
  515. package/math/vec3/index.js.map +1 -1
  516. package/math/vec3/layout.js +1 -21
  517. package/math/vec3/layout.js.map +1 -1
  518. package/math/vec3/public.js +1 -21
  519. package/math/vec3/public.js.map +1 -1
  520. package/math/vec3/schema.js +1 -21
  521. package/math/vec3/schema.js.map +1 -1
  522. package/math/vec4/functions.js +1 -21
  523. package/math/vec4/functions.js.map +1 -1
  524. package/math/vec4/index.js +1 -21
  525. package/math/vec4/index.js.map +1 -1
  526. package/math/vec4/layout.js +1 -21
  527. package/math/vec4/layout.js.map +1 -1
  528. package/math/vec4/public.js +1 -21
  529. package/math/vec4/public.js.map +1 -1
  530. package/math/vec4/schema.js +1 -21
  531. package/math/vec4/schema.js.map +1 -1
  532. package/mutable-clone.js +1 -21
  533. package/mutable-clone.js.map +1 -1
  534. package/mutable.js +1 -21
  535. package/mutable.js.map +1 -1
  536. package/normalize.js +1 -21
  537. package/normalize.js.map +1 -1
  538. package/normalize.test.js +1 -21
  539. package/normalize.test.js.map +1 -1
  540. package/observe/create-event.js.map +1 -1
  541. package/observe/create-persisted-state.js.map +1 -1
  542. package/observe/create-persisted-state.test.js +1 -21
  543. package/observe/create-persisted-state.test.js.map +1 -1
  544. package/observe/create-query-state.js +1 -21
  545. package/observe/create-query-state.js.map +1 -1
  546. package/observe/create-state.js.map +1 -1
  547. package/observe/from-array.js +1 -21
  548. package/observe/from-array.js.map +1 -1
  549. package/observe/from-constant.js.map +1 -1
  550. package/observe/from-element-id.js +1 -21
  551. package/observe/from-element-id.js.map +1 -1
  552. package/observe/from-element-properties-and-events.js.map +1 -1
  553. package/observe/from-element-property.js +1 -21
  554. package/observe/from-element-property.js.map +1 -1
  555. package/observe/from-promise-with-error.js.map +1 -1
  556. package/observe/from-promise.js.map +1 -1
  557. package/observe/from-properties.js.map +1 -1
  558. package/observe/index.js +1 -21
  559. package/observe/index.js.map +1 -1
  560. package/observe/observe.test.js +1 -21
  561. package/observe/observe.test.js.map +1 -1
  562. package/observe/public.js +1 -21
  563. package/observe/public.js.map +1 -1
  564. package/observe/to-async-generator.js +1 -21
  565. package/observe/to-async-generator.js.map +1 -1
  566. package/observe/to-async-generator.test.js +1 -21
  567. package/observe/to-async-generator.test.js.map +1 -1
  568. package/observe/to-promise.js.map +1 -1
  569. package/observe/to-properties.js.map +1 -1
  570. package/observe/with-async-map.js.map +1 -1
  571. package/observe/with-batch.js.map +1 -1
  572. package/observe/with-batch.test.js +1 -21
  573. package/observe/with-batch.test.js.map +1 -1
  574. package/observe/with-cache.js.map +1 -1
  575. package/observe/with-copy.js.map +1 -1
  576. package/observe/with-deduplicate-data.js.map +1 -1
  577. package/observe/with-deduplicate.js.map +1 -1
  578. package/observe/with-default.js.map +1 -1
  579. package/observe/with-filter.js.map +1 -1
  580. package/observe/with-filter.test.js +1 -21
  581. package/observe/with-filter.test.js.map +1 -1
  582. package/observe/with-lazy.js.map +1 -1
  583. package/observe/with-lazy.test.js +1 -21
  584. package/observe/with-lazy.test.js.map +1 -1
  585. package/observe/with-map-data.js +1 -21
  586. package/observe/with-map-data.js.map +1 -1
  587. package/observe/with-map.js.map +1 -1
  588. package/observe/with-optional.js.map +1 -1
  589. package/observe/with-unwrap.js.map +1 -1
  590. package/old-ecs/action-ecs/action-ecs.js +1 -21
  591. package/old-ecs/action-ecs/action-ecs.js.map +1 -1
  592. package/old-ecs/action-ecs/action-ecs.test.js +1 -21
  593. package/old-ecs/action-ecs/action-ecs.test.js.map +1 -1
  594. package/old-ecs/action-ecs/action-types.js.map +1 -1
  595. package/old-ecs/action-ecs/index.js +1 -21
  596. package/old-ecs/action-ecs/index.js.map +1 -1
  597. package/old-ecs/action-ecs/sequential-action.js +1 -21
  598. package/old-ecs/action-ecs/sequential-action.js.map +1 -1
  599. package/old-ecs/core-ecs/core-ecs-serialization.test.js +1 -21
  600. package/old-ecs/core-ecs/core-ecs-serialization.test.js.map +1 -1
  601. package/old-ecs/core-ecs/core-ecs-types.js +1 -21
  602. package/old-ecs/core-ecs/core-ecs-types.js.map +1 -1
  603. package/old-ecs/core-ecs/core-ecs.js +1 -21
  604. package/old-ecs/core-ecs/core-ecs.js.map +1 -1
  605. package/old-ecs/core-ecs/core-ecs.test.js +1 -21
  606. package/old-ecs/core-ecs/core-ecs.test.js.map +1 -1
  607. package/old-ecs/ecs/ecs-types.js +1 -21
  608. package/old-ecs/ecs/ecs-types.js.map +1 -1
  609. package/old-ecs/ecs/ecs-where-functions.js +1 -21
  610. package/old-ecs/ecs/ecs-where-functions.js.map +1 -1
  611. package/old-ecs/ecs/ecs.js.map +1 -1
  612. package/old-ecs/ecs/ecs.test.js +1 -21
  613. package/old-ecs/ecs/ecs.test.js.map +1 -1
  614. package/old-ecs/ecs/index.js +1 -21
  615. package/old-ecs/ecs/index.js.map +1 -1
  616. package/old-ecs/entity.js.map +1 -1
  617. package/old-ecs/index.js +1 -21
  618. package/old-ecs/index.js.map +1 -1
  619. package/old-ecs/transaction-ecs/index.js +1 -21
  620. package/old-ecs/transaction-ecs/index.js.map +1 -1
  621. package/old-ecs/transaction-ecs/transaction-ecs.js.map +1 -1
  622. package/old-ecs/transaction-ecs/transaction-ecs.test.js +1 -21
  623. package/old-ecs/transaction-ecs/transaction-ecs.test.js.map +1 -1
  624. package/old-ecs/transaction-ecs/transactions.js +1 -21
  625. package/old-ecs/transaction-ecs/transactions.js.map +1 -1
  626. package/package.json +3 -3
  627. package/perftest/ecs-perf.js +1 -21
  628. package/perftest/ecs-perf.js.map +1 -1
  629. package/perftest/helper-functions.js +1 -21
  630. package/perftest/helper-functions.js.map +1 -1
  631. package/perftest/horizon-perf.js +1 -21
  632. package/perftest/horizon-perf.js.map +1 -1
  633. package/perftest/index.js +1 -21
  634. package/perftest/index.js.map +1 -1
  635. package/perftest/perf-test.js.map +1 -1
  636. package/perftest/vanilla-perf.js +1 -21
  637. package/perftest/vanilla-perf.js.map +1 -1
  638. package/samples/index.js +1 -21
  639. package/samples/index.js.map +1 -1
  640. package/samples/todo/elements/todo-list/todo-list-presentation.js.map +1 -1
  641. package/samples/todo/elements/todo-list/todo-list.css.js +1 -21
  642. package/samples/todo/elements/todo-list/todo-list.css.js.map +1 -1
  643. package/samples/todo/elements/todo-list/todo-list.js +1 -21
  644. package/samples/todo/elements/todo-list/todo-list.js.map +1 -1
  645. package/samples/todo/elements/todo-row/index.js +1 -21
  646. package/samples/todo/elements/todo-row/index.js.map +1 -1
  647. package/samples/todo/elements/todo-row/todo-row-presentation.js +1 -21
  648. package/samples/todo/elements/todo-row/todo-row-presentation.js.map +1 -1
  649. package/samples/todo/elements/todo-row/todo-row.css.js +1 -21
  650. package/samples/todo/elements/todo-row/todo-row.css.js.map +1 -1
  651. package/samples/todo/elements/todo-row/todo-row.js +1 -21
  652. package/samples/todo/elements/todo-row/todo-row.js.map +1 -1
  653. package/samples/todo/elements/todo-toolbar/index.js +1 -21
  654. package/samples/todo/elements/todo-toolbar/index.js.map +1 -1
  655. package/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.js +1 -21
  656. package/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.js.map +1 -1
  657. package/samples/todo/elements/todo-toolbar/todo-toolbar.css.js +1 -21
  658. package/samples/todo/elements/todo-toolbar/todo-toolbar.css.js.map +1 -1
  659. package/samples/todo/elements/todo-toolbar/todo-toolbar.js +1 -21
  660. package/samples/todo/elements/todo-toolbar/todo-toolbar.js.map +1 -1
  661. package/samples/todo/elements/todo-undo-redo/index.js +1 -21
  662. package/samples/todo/elements/todo-undo-redo/index.js.map +1 -1
  663. package/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.js +1 -21
  664. package/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.js.map +1 -1
  665. package/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.js +1 -21
  666. package/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.js.map +1 -1
  667. package/samples/todo/elements/todo-undo-redo/todo-undo-redo.js +1 -21
  668. package/samples/todo/elements/todo-undo-redo/todo-undo-redo.js.map +1 -1
  669. package/samples/todo/services/dependent-state-service/create-dependent-state-service.js +1 -21
  670. package/samples/todo/services/dependent-state-service/create-dependent-state-service.js.map +1 -1
  671. package/samples/todo/services/dependent-state-service/dependent-state/all-todos.js.map +1 -1
  672. package/samples/todo/services/dependent-state-service/dependent-state/complete-todos.js.map +1 -1
  673. package/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.js.map +1 -1
  674. package/samples/todo/services/dependent-state-service/dependent-state/index.js +1 -21
  675. package/samples/todo/services/dependent-state-service/dependent-state/index.js.map +1 -1
  676. package/samples/todo/services/main-service/create-main-service.js.map +1 -1
  677. package/samples/todo/services/state-service/create-todo-database.d.ts +1 -1
  678. package/samples/todo/services/state-service/create-todo-database.js +1 -21
  679. package/samples/todo/services/state-service/create-todo-database.js.map +1 -1
  680. package/samples/todo/services/state-service/create-todo-store.d.ts +1 -1
  681. package/samples/todo/services/state-service/create-todo-store.js +1 -21
  682. package/samples/todo/services/state-service/create-todo-store.js.map +1 -1
  683. package/samples/todo/services/state-service/transactions/create-bulk-todos.js +1 -21
  684. package/samples/todo/services/state-service/transactions/create-bulk-todos.js.map +1 -1
  685. package/samples/todo/services/state-service/transactions/create-todo.js.map +1 -1
  686. package/samples/todo/services/state-service/transactions/create-todo.test.js +1 -21
  687. package/samples/todo/services/state-service/transactions/create-todo.test.js.map +1 -1
  688. package/samples/todo/services/state-service/transactions/delete-all-todos.js.map +1 -1
  689. package/samples/todo/services/state-service/transactions/delete-todo.js +1 -21
  690. package/samples/todo/services/state-service/transactions/delete-todo.js.map +1 -1
  691. package/samples/todo/services/state-service/transactions/delete-todo.test.js +1 -21
  692. package/samples/todo/services/state-service/transactions/delete-todo.test.js.map +1 -1
  693. package/samples/todo/services/state-service/transactions/drag-todo.js +1 -21
  694. package/samples/todo/services/state-service/transactions/drag-todo.js.map +1 -1
  695. package/samples/todo/services/state-service/transactions/index.js +1 -21
  696. package/samples/todo/services/state-service/transactions/index.js.map +1 -1
  697. package/samples/todo/services/state-service/transactions/reorder-todos.js.map +1 -1
  698. package/samples/todo/services/state-service/transactions/toggle-complete.js.map +1 -1
  699. package/samples/todo/services/state-service/transactions/toggle-complete.test.js +1 -21
  700. package/samples/todo/services/state-service/transactions/toggle-complete.test.js.map +1 -1
  701. package/samples/todo/todo-element.js.map +1 -1
  702. package/samples/todo/todo-host.js +1 -21
  703. package/samples/todo/todo-host.js.map +1 -1
  704. package/samples/todo/todo-main-element.js +1 -21
  705. package/samples/todo/todo-main-element.js.map +1 -1
  706. package/samples/todo/todo-sample.js +1 -21
  707. package/samples/todo/todo-sample.js.map +1 -1
  708. package/schema/boolean/index.js +1 -21
  709. package/schema/boolean/index.js.map +1 -1
  710. package/schema/boolean/public.js +1 -21
  711. package/schema/boolean/public.js.map +1 -1
  712. package/schema/boolean/schema.js.map +1 -1
  713. package/schema/dynamic/deep-merge.js.map +1 -1
  714. package/schema/dynamic/deep-merge.test.js +1 -21
  715. package/schema/dynamic/deep-merge.test.js.map +1 -1
  716. package/schema/dynamic/enumerate-patches.js.map +1 -1
  717. package/schema/dynamic/enumerate-patches.test.js +1 -21
  718. package/schema/dynamic/enumerate-patches.test.js.map +1 -1
  719. package/schema/dynamic/get-dynamic-schema.js +1 -21
  720. package/schema/dynamic/get-dynamic-schema.js.map +1 -1
  721. package/schema/dynamic/get-dynamic-schema.test.js +1 -21
  722. package/schema/dynamic/get-dynamic-schema.test.js.map +1 -1
  723. package/schema/dynamic/index.js +1 -21
  724. package/schema/dynamic/index.js.map +1 -1
  725. package/schema/index.js +1 -21
  726. package/schema/index.js.map +1 -1
  727. package/schema/nullable.js.map +1 -1
  728. package/schema/public.js +1 -21
  729. package/schema/public.js.map +1 -1
  730. package/schema/schema.js +1 -21
  731. package/schema/schema.js.map +1 -1
  732. package/schema/time/index.js +1 -21
  733. package/schema/time/index.js.map +1 -1
  734. package/schema/time/public.js +1 -21
  735. package/schema/time/public.js.map +1 -1
  736. package/schema/time/schema.js +1 -21
  737. package/schema/time/schema.js.map +1 -1
  738. package/schema/to-type.js +1 -21
  739. package/schema/to-type.js.map +1 -1
  740. package/schema/to-vertex-buffer-layout.js +1 -21
  741. package/schema/to-vertex-buffer-layout.js.map +1 -1
  742. package/schema/to-vertex-buffer-layout.test.js +1 -21
  743. package/schema/to-vertex-buffer-layout.test.js.map +1 -1
  744. package/schema/true/index.js +1 -21
  745. package/schema/true/index.js.map +1 -1
  746. package/schema/true/public.js +1 -21
  747. package/schema/true/public.js.map +1 -1
  748. package/schema/true/schema.js.map +1 -1
  749. package/schema/tuple.js +1 -21
  750. package/schema/tuple.js.map +1 -1
  751. package/schema/validation/index.js +1 -21
  752. package/schema/validation/index.js.map +1 -1
  753. package/schema/validation/is-valid.js.map +1 -1
  754. package/schema/validation/is-valid.test.js +1 -21
  755. package/schema/validation/is-valid.test.js.map +1 -1
  756. package/schema/validation/validate.js +1 -21
  757. package/schema/validation/validate.js.map +1 -1
  758. package/schema/validation/validate.test.js +1 -21
  759. package/schema/validation/validate.test.js.map +1 -1
  760. package/schema/validation/with-validation.js.map +1 -1
  761. package/schema/validation/with-validation.test.js +1 -21
  762. package/schema/validation/with-validation.test.js.map +1 -1
  763. package/schema.test.js.map +1 -1
  764. package/service/add-observable-actions.js +1 -21
  765. package/service/add-observable-actions.js.map +1 -1
  766. package/service/disposable.js +1 -21
  767. package/service/disposable.js.map +1 -1
  768. package/service/index.js +1 -21
  769. package/service/index.js.map +1 -1
  770. package/service/is-service.js +1 -21
  771. package/service/is-service.js.map +1 -1
  772. package/service/progressive-result.js +1 -21
  773. package/service/progressive-result.js.map +1 -1
  774. package/service/service.js +1 -21
  775. package/service/service.js.map +1 -1
  776. package/table/add-row.js +1 -21
  777. package/table/add-row.js.map +1 -1
  778. package/table/copy-column-to-gpu-buffer.js +1 -21
  779. package/table/copy-column-to-gpu-buffer.js.map +1 -1
  780. package/table/create-table.js +1 -21
  781. package/table/create-table.js.map +1 -1
  782. package/table/create-table.test.js +1 -21
  783. package/table/create-table.test.js.map +1 -1
  784. package/table/delete-row.js.map +1 -1
  785. package/table/ensure-capacity.js.map +1 -1
  786. package/table/get-row-data.js.map +1 -1
  787. package/table/index.js +1 -21
  788. package/table/index.js.map +1 -1
  789. package/table/row-index.js.map +1 -1
  790. package/table/select-rows.js.map +1 -1
  791. package/table/select-rows.test.js +1 -21
  792. package/table/select-rows.test.js.map +1 -1
  793. package/table/table-compact.test.js +1 -21
  794. package/table/table-compact.test.js.map +1 -1
  795. package/table/table.js.map +1 -1
  796. package/table/update-row.js.map +1 -1
  797. package/tsconfig.tsbuildinfo +1 -1
  798. package/typed-buffer/copy-to-gpu-buffer.js +1 -21
  799. package/typed-buffer/copy-to-gpu-buffer.js.map +1 -1
  800. package/typed-buffer/create-array-buffer.js +10 -0
  801. package/typed-buffer/create-array-buffer.js.map +1 -1
  802. package/typed-buffer/create-array-buffer.test.js +51 -21
  803. package/typed-buffer/create-array-buffer.test.js.map +1 -1
  804. package/typed-buffer/create-const-buffer.copy.test.js +1 -21
  805. package/typed-buffer/create-const-buffer.copy.test.js.map +1 -1
  806. package/typed-buffer/create-const-buffer.js +3 -0
  807. package/typed-buffer/create-const-buffer.js.map +1 -1
  808. package/typed-buffer/create-const-buffer.test.js +25 -21
  809. package/typed-buffer/create-const-buffer.test.js.map +1 -1
  810. package/typed-buffer/create-number-buffer.js +5 -21
  811. package/typed-buffer/create-number-buffer.js.map +1 -1
  812. package/typed-buffer/create-number-buffer.test.js +39 -21
  813. package/typed-buffer/create-number-buffer.test.js.map +1 -1
  814. package/typed-buffer/create-struct-buffer.copy.test.js +1 -21
  815. package/typed-buffer/create-struct-buffer.copy.test.js.map +1 -1
  816. package/typed-buffer/create-struct-buffer.js +12 -21
  817. package/typed-buffer/create-struct-buffer.js.map +1 -1
  818. package/typed-buffer/create-struct-buffer.test.js +61 -21
  819. package/typed-buffer/create-struct-buffer.test.js.map +1 -1
  820. package/typed-buffer/create-typed-buffer.js.map +1 -1
  821. package/typed-buffer/create-typed-buffer.test.js +1 -21
  822. package/typed-buffer/create-typed-buffer.test.js.map +1 -1
  823. package/typed-buffer/index.js +1 -21
  824. package/typed-buffer/index.js.map +1 -1
  825. package/typed-buffer/is-typed-buffer.js +1 -21
  826. package/typed-buffer/is-typed-buffer.js.map +1 -1
  827. package/typed-buffer/is-typed-buffer.test.js +1 -21
  828. package/typed-buffer/is-typed-buffer.test.js.map +1 -1
  829. package/typed-buffer/register-typed-buffer-codecs.js +1 -21
  830. package/typed-buffer/register-typed-buffer-codecs.js.map +1 -1
  831. package/typed-buffer/structs/assert-struct.js.map +1 -1
  832. package/typed-buffer/structs/create-read-struct.js +1 -21
  833. package/typed-buffer/structs/create-read-struct.js.map +1 -1
  834. package/typed-buffer/structs/create-read-struct.test.js +1 -21
  835. package/typed-buffer/structs/create-read-struct.test.js.map +1 -1
  836. package/typed-buffer/structs/create-write-struct.js +1 -21
  837. package/typed-buffer/structs/create-write-struct.js.map +1 -1
  838. package/typed-buffer/structs/get-field-offset.js.map +1 -1
  839. package/typed-buffer/structs/get-struct-layout.js +1 -21
  840. package/typed-buffer/structs/get-struct-layout.js.map +1 -1
  841. package/typed-buffer/structs/get-struct-layout.test.js +1 -21
  842. package/typed-buffer/structs/get-struct-layout.test.js.map +1 -1
  843. package/typed-buffer/structs/index.js +1 -21
  844. package/typed-buffer/structs/index.js.map +1 -1
  845. package/typed-buffer/structs/write-struct.test.js +1 -21
  846. package/typed-buffer/structs/write-struct.test.js.map +1 -1
  847. package/typed-buffer/typed-buffer-equals.js +1 -21
  848. package/typed-buffer/typed-buffer-equals.js.map +1 -1
  849. package/typed-buffer/typed-buffer-equals.test.js +1 -21
  850. package/typed-buffer/typed-buffer-equals.test.js.map +1 -1
  851. package/typed-buffer/typed-buffer.d.ts +2 -0
  852. package/typed-buffer/typed-buffer.js.map +1 -1
  853. package/typed-buffer/typed-buffer.test.js +1 -21
  854. package/typed-buffer/typed-buffer.test.js.map +1 -1
  855. package/types/index.js +1 -21
  856. package/types/index.js.map +1 -1
  857. package/types/replace.js.map +1 -1
  858. package/types/typed-array.js +1 -21
  859. package/types/typed-array.js.map +1 -1
  860. package/types/types.js +1 -21
  861. package/types/types.js.map +1 -1
  862. package/assembly/package.json +0 -1
  863. package/blob/package.json +0 -1
  864. package/cache/package.json +0 -1
  865. package/debug-type-test.js +0 -12
  866. package/debug-type-test.js.map +0 -1
  867. package/ecs/database/archetype-type-safety-test.d.ts +0 -21
  868. package/ecs/database/archetype-type-safety-test.js +0 -36
  869. package/ecs/database/archetype-type-safety-test.js.map +0 -1
  870. package/ecs/database/create-database-schema-test.js +0 -150
  871. package/ecs/database/create-database-schema-test.js.map +0 -1
  872. package/ecs/database/create-plugin-v2.d.ts +0 -79
  873. package/ecs/database/create-plugin-v2.js +0 -68
  874. package/ecs/database/create-plugin-v2.js.map +0 -1
  875. package/ecs/database/create-plugin-v2.test.js +0 -362
  876. package/ecs/database/create-plugin-v2.test.js.map +0 -1
  877. package/ecs/database/create-plugin.OLD.d.ts +0 -138
  878. package/ecs/database/create-plugin.OLD.js +0 -59
  879. package/ecs/database/create-plugin.OLD.js.map +0 -1
  880. package/ecs/database/database-with-systems.test.js +0 -292
  881. package/ecs/database/database-with-systems.test.js.map +0 -1
  882. package/ecs/database/database.plugin.create.test.OLD.js +0 -601
  883. package/ecs/database/database.plugin.create.test.OLD.js.map +0 -1
  884. package/ecs/database/database.plugin.create.test.js +0 -321
  885. package/ecs/database/database.plugin.create.test.js.map +0 -1
  886. package/ecs/database/database.plugin.test.js +0 -90
  887. package/ecs/database/database.plugin.test.js.map +0 -1
  888. package/ecs/database/database.test copy.d.ts +0 -1
  889. package/ecs/database/database.test copy.js +0 -199
  890. package/ecs/database/database.test copy.js.map +0 -1
  891. package/ecs/database/multi-param-inference-poc.test.d.ts +0 -1
  892. package/ecs/database/multi-param-inference-poc.test.js +0 -96
  893. package/ecs/database/multi-param-inference-poc.test.js.map +0 -1
  894. package/ecs/database/old-plugin-create-with-dependencies-array.d.ts +0 -61
  895. package/ecs/database/old-plugin-create-with-dependencies-array.js +0 -76
  896. package/ecs/database/old-plugin-create-with-dependencies-array.js.map +0 -1
  897. package/ecs/database/overload-inference-poc.test.d.ts +0 -1
  898. package/ecs/database/overload-inference-poc.test.js +0 -109
  899. package/ecs/database/overload-inference-poc.test.js.map +0 -1
  900. package/ecs/database/schedule-type-check-demo.d.ts +0 -10
  901. package/ecs/database/schedule-type-check-demo.js +0 -71
  902. package/ecs/database/schedule-type-check-demo.js.map +0 -1
  903. package/ecs/database/test-archetype-validation.d.ts +0 -9
  904. package/ecs/database/test-archetype-validation.js +0 -14
  905. package/ecs/database/test-archetype-validation.js.map +0 -1
  906. package/ecs/database/test-exactkeys.d.ts +0 -1
  907. package/ecs/database/test-exactkeys.js +0 -17
  908. package/ecs/database/test-exactkeys.js.map +0 -1
  909. package/ecs/database/transactional-store/coalesce-transactions.test.js +0 -433
  910. package/ecs/database/transactional-store/coalesce-transactions.test.js.map +0 -1
  911. package/ecs/database/type-inference-demo.d.ts +0 -75
  912. package/ecs/database/type-inference-demo.js +0 -73
  913. package/ecs/database/type-inference-demo.js.map +0 -1
  914. package/ecs/database/type-inference-poc.test.d.ts +0 -1
  915. package/ecs/database/type-inference-poc.test.js +0 -73
  916. package/ecs/database/type-inference-poc.test.js.map +0 -1
  917. package/ecs/package.json +0 -1
  918. package/ecs/plugins/scheduler/create-scheduler-plugin.d.ts +0 -8
  919. package/ecs/plugins/scheduler/create-scheduler-plugin.js +0 -54
  920. package/ecs/plugins/scheduler/create-scheduler-plugin.js.map +0 -1
  921. package/ecs/plugins/scheduler/create-scheduler-plugin.test.d.ts +0 -1
  922. package/ecs/plugins/scheduler/create-scheduler-plugin.test.js +0 -198
  923. package/ecs/plugins/scheduler/create-scheduler-plugin.test.js.map +0 -1
  924. package/ecs/plugins/scheduler/type-inference-test.d.ts +0 -1
  925. package/ecs/plugins/scheduler/type-inference-test.js +0 -2
  926. package/ecs/plugins/scheduler/type-inference-test.js.map +0 -1
  927. package/ecs/store/entity-functions.d.ts +0 -7
  928. package/ecs/store/entity-functions.js +0 -2
  929. package/ecs/store/entity-functions.js.map +0 -1
  930. package/ecs/store/functions.d.ts +0 -2
  931. package/ecs/store/functions.js +0 -2
  932. package/ecs/store/functions.js.map +0 -1
  933. package/ecs/system/system-declaration.d.ts +0 -7
  934. package/ecs/system/system-declaration.js +0 -23
  935. package/ecs/system/system-declaration.js.map +0 -1
  936. package/ecs/system/system-declarations.d.ts +0 -4
  937. package/ecs/system/system-declarations.js +0 -23
  938. package/ecs/system/system-declarations.js.map +0 -1
  939. package/ecs/system/system-factory/public/create copy.d.ts +0 -12
  940. package/ecs/system/system-factory/public/create copy.js +0 -8
  941. package/ecs/system/system-factory/public/create copy.js.map +0 -1
  942. package/ecs/system/system-factory/public/create.d.ts +0 -12
  943. package/ecs/system/system-factory/public/create.js +0 -8
  944. package/ecs/system/system-factory/public/create.js.map +0 -1
  945. package/ecs/system/system-factory/public/create.test.d.ts +0 -1
  946. package/ecs/system/system-factory/public/create.test.js +0 -42
  947. package/ecs/system/system-factory/public/create.test.js.map +0 -1
  948. package/ecs/system/system-factory/public/index.d.ts +0 -1
  949. package/ecs/system/system-factory/public/index.js +0 -2
  950. package/ecs/system/system-factory/public/index.js.map +0 -1
  951. package/ecs/system/system-factory/system-factory.d.ts +0 -17
  952. package/ecs/system/system-factory/system-factory.js +0 -23
  953. package/ecs/system/system-factory/system-factory.js.map +0 -1
  954. package/ecs/system/system-factory.d.ts +0 -9
  955. package/ecs/system/system-factory.js +0 -23
  956. package/ecs/system/system-factory.js.map +0 -1
  957. package/ecs/system/system-interface.d.ts +0 -5
  958. package/ecs/system/system-interface.js +0 -2
  959. package/ecs/system/system-interface.js.map +0 -1
  960. package/ecs/system/system.d.ts +0 -4
  961. package/ecs/system/system.js +0 -23
  962. package/ecs/system/system.js.map +0 -1
  963. package/ecs/system/systems-type.d.ts +0 -2
  964. package/ecs/system/systems-type.js +0 -2
  965. package/ecs/system/systems-type.js.map +0 -1
  966. package/ecs/system/systems.d.ts +0 -2
  967. package/ecs/system/systems.js +0 -23
  968. package/ecs/system/systems.js.map +0 -1
  969. package/ecs/system/world-schema/public/create.d.ts +0 -12
  970. package/ecs/system/world-schema/public/create.js +0 -8
  971. package/ecs/system/world-schema/public/create.js.map +0 -1
  972. package/ecs/system/world-schema/public/create.test.d.ts +0 -1
  973. package/ecs/system/world-schema/public/create.test.js +0 -42
  974. package/ecs/system/world-schema/public/create.test.js.map +0 -1
  975. package/ecs/system/world-schema/public/index.d.ts +0 -1
  976. package/ecs/system/world-schema/public/index.js +0 -2
  977. package/ecs/system/world-schema/public/index.js.map +0 -1
  978. package/ecs/system/world-schema/system-factory.d.ts +0 -17
  979. package/ecs/system/world-schema/system-factory.js +0 -23
  980. package/ecs/system/world-schema/system-factory.js.map +0 -1
  981. package/ecs/world/calculate-system-order.d.ts +0 -18
  982. package/ecs/world/calculate-system-order.js +0 -113
  983. package/ecs/world/calculate-system-order.js.map +0 -1
  984. package/ecs/world/calculate-system-order.test.d.ts +0 -1
  985. package/ecs/world/calculate-system-order.test.js +0 -168
  986. package/ecs/world/calculate-system-order.test.js.map +0 -1
  987. package/ecs/world/create-world-schema-test.d.ts +0 -1
  988. package/ecs/world/create-world-schema-test.js +0 -294
  989. package/ecs/world/create-world-schema-test.js.map +0 -1
  990. package/ecs/world/create-world-type-test.d.ts +0 -1
  991. package/ecs/world/create-world-type-test.js +0 -129
  992. package/ecs/world/create-world-type-test.js.map +0 -1
  993. package/ecs/world/create-world.d.ts +0 -19
  994. package/ecs/world/create-world.js +0 -80
  995. package/ecs/world/create-world.js.map +0 -1
  996. package/ecs/world/create-world.test.d.ts +0 -1
  997. package/ecs/world/create-world.test.js +0 -292
  998. package/ecs/world/create-world.test.js.map +0 -1
  999. package/ecs/world/public/world-schema/public/create.d.ts +0 -12
  1000. package/ecs/world/public/world-schema/public/create.js +0 -8
  1001. package/ecs/world/public/world-schema/public/create.js.map +0 -1
  1002. package/ecs/world/public/world-schema/public/create.test.d.ts +0 -1
  1003. package/ecs/world/public/world-schema/public/create.test.js +0 -42
  1004. package/ecs/world/public/world-schema/public/create.test.js.map +0 -1
  1005. package/ecs/world/public/world-schema/public/index.d.ts +0 -1
  1006. package/ecs/world/public/world-schema/public/index.js +0 -2
  1007. package/ecs/world/public/world-schema/public/index.js.map +0 -1
  1008. package/ecs/world/public/world-schema/world-schema.d.ts +0 -17
  1009. package/ecs/world/public/world-schema/world-schema.js +0 -23
  1010. package/ecs/world/public/world-schema/world-schema.js.map +0 -1
  1011. package/ecs/world/system-declaration.d.ts +0 -1
  1012. package/ecs/world/system-declaration.js +0 -23
  1013. package/ecs/world/system-declaration.js.map +0 -1
  1014. package/ecs/world/system-schedule-typing-test.d.ts +0 -1
  1015. package/ecs/world/system-schedule-typing-test.js +0 -83
  1016. package/ecs/world/system-schedule-typing-test.js.map +0 -1
  1017. package/ecs/world/world-schema/public/create.d.ts +0 -12
  1018. package/ecs/world/world-schema/public/create.js +0 -10
  1019. package/ecs/world/world-schema/public/create.js.map +0 -1
  1020. package/ecs/world/world-schema/public/create.test.d.ts +0 -1
  1021. package/ecs/world/world-schema/public/create.test.js +0 -41
  1022. package/ecs/world/world-schema/public/create.test.js.map +0 -1
  1023. package/ecs/world/world-schema/public/index.d.ts +0 -1
  1024. package/ecs/world/world-schema/public/index.js +0 -2
  1025. package/ecs/world/world-schema/public/index.js.map +0 -1
  1026. package/ecs/world/world-schema/system-factory.d.ts +0 -17
  1027. package/ecs/world/world-schema/system-factory.js +0 -23
  1028. package/ecs/world/world-schema/system-factory.js.map +0 -1
  1029. package/ecs/world/world-schema/world-schema.d.ts +0 -19
  1030. package/ecs/world/world-schema/world-schema.js +0 -23
  1031. package/ecs/world/world-schema/world-schema.js.map +0 -1
  1032. package/ecs/world/world.d.ts +0 -86
  1033. package/ecs/world/world.js +0 -81
  1034. package/ecs/world/world.js.map +0 -1
  1035. package/ecs/world/world.test.d.ts +0 -1
  1036. package/ecs/world/world.test.js +0 -176
  1037. package/ecs/world/world.test.js.map +0 -1
  1038. package/functions/package.json +0 -1
  1039. package/lit/package.json +0 -1
  1040. package/math/package.json +0 -1
  1041. package/observe/package.json +0 -1
  1042. package/old-ecs/package.json +0 -1
  1043. package/perftest/package.json +0 -1
  1044. package/samples/package.json +0 -1
  1045. package/schema/package.json +0 -1
  1046. package/service/package.json +0 -1
  1047. package/table/package.json +0 -1
  1048. package/typed-buffer/package.json +0 -1
  1049. package/types/package.json +0 -1
  1050. /package/{debug-type-test.d.ts → ecs/database/create-plugin-type.type-test.d.ts} +0 -0
  1051. /package/ecs/database/{create-database-schema-test.d.ts → create-plugin-type.type.test.d.ts} +0 -0
  1052. /package/ecs/database/{create-plugin-v2.test.d.ts → experimental-action-types.d.ts} +0 -0
  1053. /package/ecs/database/{database-with-systems.test.d.ts → from-plugin.type-test.d.ts} +0 -0
  1054. /package/ecs/database/{database.plugin.create.test.OLD.d.ts → plugin-types.d.ts} +0 -0
  1055. /package/ecs/database/{database.plugin.create.test.d.ts → public/create-database.type-test.d.ts} +0 -0
  1056. /package/ecs/database/{database.plugin.test.d.ts → type-investigation.test.d.ts} +0 -0
@@ -1,433 +0,0 @@
1
- /*MIT License
2
-
3
- © Copyright 2025 Adobe. All rights reserved.
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.*/
22
- import { describe, it, expect } from "vitest";
23
- import { shouldCoalesceTransactions, coalesceTransactions } from "./coalesce-actions.js";
24
- describe("shouldCoalesceTransactions", () => {
25
- it("should return true for actions with same coalesce values", () => {
26
- const previous = {
27
- value: 1,
28
- transient: false,
29
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
30
- redo: [],
31
- undo: [],
32
- changedEntities: new Map(),
33
- changedComponents: new Set(),
34
- changedArchetypes: new Set(),
35
- };
36
- const current = {
37
- value: 2,
38
- transient: false,
39
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
40
- redo: [],
41
- undo: [],
42
- changedEntities: new Map(),
43
- changedComponents: new Set(),
44
- changedArchetypes: new Set(),
45
- };
46
- expect(shouldCoalesceTransactions(previous, current)).toBe(true);
47
- });
48
- it("should return false for actions with different coalesce values", () => {
49
- const previous = {
50
- value: 1,
51
- transient: false,
52
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
53
- redo: [],
54
- undo: [],
55
- changedEntities: new Map(),
56
- changedComponents: new Set(),
57
- changedArchetypes: new Set(),
58
- };
59
- const current = {
60
- value: 2,
61
- transient: false,
62
- undoable: { coalesce: { id: "updateEntity", entity: 456 } },
63
- redo: [],
64
- undo: [],
65
- changedEntities: new Map(),
66
- changedComponents: new Set(),
67
- changedArchetypes: new Set(),
68
- };
69
- expect(shouldCoalesceTransactions(previous, current)).toBe(false);
70
- });
71
- it("should return false when previous transaction has coalesce: false", () => {
72
- const previous = {
73
- value: 1,
74
- transient: false,
75
- undoable: { coalesce: false },
76
- redo: [],
77
- undo: [],
78
- changedEntities: new Map(),
79
- changedComponents: new Set(),
80
- changedArchetypes: new Set(),
81
- };
82
- const current = {
83
- value: 2,
84
- transient: false,
85
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
86
- redo: [],
87
- undo: [],
88
- changedEntities: new Map(),
89
- changedComponents: new Set(),
90
- changedArchetypes: new Set(),
91
- };
92
- expect(shouldCoalesceTransactions(previous, current)).toBe(false);
93
- });
94
- it("should return false when current transaction has coalesce: false", () => {
95
- const previous = {
96
- value: 1,
97
- transient: false,
98
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
99
- redo: [],
100
- undo: [],
101
- changedEntities: new Map(),
102
- changedComponents: new Set(),
103
- changedArchetypes: new Set(),
104
- };
105
- const current = {
106
- value: 2,
107
- transient: false,
108
- undoable: { coalesce: false },
109
- redo: [],
110
- undo: [],
111
- changedEntities: new Map(),
112
- changedComponents: new Set(),
113
- changedArchetypes: new Set(),
114
- };
115
- expect(shouldCoalesceTransactions(previous, current)).toBe(false);
116
- });
117
- it("should return false when previous transaction has no undoable", () => {
118
- const previous = {
119
- value: 1,
120
- transient: false,
121
- undoable: null,
122
- redo: [],
123
- undo: [],
124
- changedEntities: new Map(),
125
- changedComponents: new Set(),
126
- changedArchetypes: new Set(),
127
- };
128
- const current = {
129
- value: 2,
130
- transient: false,
131
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
132
- redo: [],
133
- undo: [],
134
- changedEntities: new Map(),
135
- changedComponents: new Set(),
136
- changedArchetypes: new Set(),
137
- };
138
- expect(shouldCoalesceTransactions(previous, current)).toBe(false);
139
- });
140
- it("should return false when current transaction has no undoable", () => {
141
- const previous = {
142
- value: 1,
143
- transient: false,
144
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
145
- redo: [],
146
- undo: [],
147
- changedEntities: new Map(),
148
- changedComponents: new Set(),
149
- changedArchetypes: new Set(),
150
- };
151
- const current = {
152
- value: 2,
153
- transient: false,
154
- undoable: null,
155
- redo: [],
156
- undo: [],
157
- changedEntities: new Map(),
158
- changedComponents: new Set(),
159
- changedArchetypes: new Set(),
160
- };
161
- expect(shouldCoalesceTransactions(previous, current)).toBe(false);
162
- });
163
- });
164
- describe("coalesceTransactions", () => {
165
- it("should combine redo and undo operations", () => {
166
- const previous = {
167
- value: 1,
168
- transient: false,
169
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
170
- redo: [{ type: "update", entity: 123, values: { position: { x: 1 } } }],
171
- undo: [{ type: "update", entity: 123, values: { position: { x: 0 } } }],
172
- changedEntities: new Map([[123, { position: { x: 1 } }]]),
173
- changedComponents: new Set(["position"]),
174
- changedArchetypes: new Set([1]),
175
- };
176
- const current = {
177
- value: 2,
178
- transient: false,
179
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
180
- redo: [{ type: "update", entity: 123, values: { position: { y: 2 } } }],
181
- undo: [{ type: "update", entity: 123, values: { position: { y: 0 } } }],
182
- changedEntities: new Map([[123, { position: { y: 2 } }]]),
183
- changedComponents: new Set(["position"]),
184
- changedArchetypes: new Set([1]),
185
- };
186
- const result = coalesceTransactions(previous, current);
187
- expect(result.redo).toHaveLength(1);
188
- expect(result.redo[0]).toEqual({
189
- type: "update",
190
- entity: 123,
191
- values: { position: { y: 2 } }
192
- });
193
- expect(result.undo).toHaveLength(1);
194
- expect(result.undo[0]).toEqual({
195
- type: "update",
196
- entity: 123,
197
- values: { position: { x: 0 } }
198
- });
199
- });
200
- it("should merge changed entities, components, and archetypes", () => {
201
- const previous = {
202
- value: 1,
203
- transient: false,
204
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
205
- redo: [],
206
- undo: [],
207
- changedEntities: new Map([[123, { position: { x: 1 } }]]),
208
- changedComponents: new Set(["position"]),
209
- changedArchetypes: new Set([1]),
210
- };
211
- const current = {
212
- value: 2,
213
- transient: false,
214
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
215
- redo: [],
216
- undo: [],
217
- changedEntities: new Map([[456, { name: "test" }]]),
218
- changedComponents: new Set(["name"]),
219
- changedArchetypes: new Set([2]),
220
- };
221
- const result = coalesceTransactions(previous, current);
222
- expect(result.changedEntities.size).toBe(2);
223
- expect(result.changedEntities.get(123)).toEqual({ position: { x: 1 } });
224
- expect(result.changedEntities.get(456)).toEqual({ name: "test" });
225
- expect(result.changedComponents.size).toBe(2);
226
- expect(result.changedComponents.has("position")).toBe(true);
227
- expect(result.changedComponents.has("name")).toBe(true);
228
- expect(result.changedArchetypes.size).toBe(2);
229
- expect(result.changedArchetypes.has(1)).toBe(true);
230
- expect(result.changedArchetypes.has(2)).toBe(true);
231
- });
232
- it("should use current transaction's value, transient, and undoable", () => {
233
- const previous = {
234
- value: 1,
235
- transient: false,
236
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
237
- redo: [],
238
- undo: [],
239
- changedEntities: new Map(),
240
- changedComponents: new Set(),
241
- changedArchetypes: new Set(),
242
- };
243
- const current = {
244
- value: 2,
245
- transient: true,
246
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
247
- redo: [],
248
- undo: [],
249
- changedEntities: new Map(),
250
- changedComponents: new Set(),
251
- changedArchetypes: new Set(),
252
- };
253
- const result = coalesceTransactions(previous, current);
254
- expect(result.value).toBe(2);
255
- expect(result.transient).toBe(true);
256
- expect(result.undoable).toEqual({ coalesce: { id: "updateEntity", entity: 123 } });
257
- });
258
- it("should NOT optimize insert + update operations (cannot verify same entity)", () => {
259
- const previous = {
260
- value: 1,
261
- transient: false,
262
- undoable: { coalesce: { id: "createEntity", entity: 123 } },
263
- redo: [{ type: "insert", values: { position: { x: 1 } } }],
264
- undo: [{ type: "delete", entity: 123 }],
265
- changedEntities: new Map([[123, { position: { x: 1 } }]]),
266
- changedComponents: new Set(["position"]),
267
- changedArchetypes: new Set([1]),
268
- };
269
- const current = {
270
- value: 2,
271
- transient: false,
272
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
273
- redo: [{ type: "update", entity: 123, values: { position: { y: 2 } } }],
274
- undo: [{ type: "update", entity: 123, values: { position: { y: 0 } } }],
275
- changedEntities: new Map([[123, { position: { y: 2 } }]]),
276
- changedComponents: new Set(["position"]),
277
- changedArchetypes: new Set([1]),
278
- };
279
- const result = coalesceTransactions(previous, current);
280
- // Cannot safely optimize insert + update since insert doesn't have entity ID
281
- expect(result.redo).toHaveLength(2);
282
- expect(result.redo[0]).toEqual({
283
- type: "insert",
284
- values: { position: { x: 1 } }
285
- });
286
- expect(result.redo[1]).toEqual({
287
- type: "update",
288
- entity: 123,
289
- values: { position: { y: 2 } }
290
- });
291
- });
292
- it("should NOT optimize insert + delete operations (cannot verify same entity)", () => {
293
- const previous = {
294
- value: 1,
295
- transient: false,
296
- undoable: { coalesce: { id: "createEntity", entity: 123 } },
297
- redo: [{ type: "insert", values: { position: { x: 1 } } }],
298
- undo: [{ type: "delete", entity: 123 }],
299
- changedEntities: new Map([[123, { position: { x: 1 } }]]),
300
- changedComponents: new Set(["position"]),
301
- changedArchetypes: new Set([1]),
302
- };
303
- const current = {
304
- value: 2,
305
- transient: false,
306
- undoable: { coalesce: { id: "deleteEntity", entity: 123 } },
307
- redo: [{ type: "delete", entity: 123 }],
308
- undo: [{ type: "insert", values: { position: { x: 1 } } }],
309
- changedEntities: new Map([[123, null]]),
310
- changedComponents: new Set(["position"]),
311
- changedArchetypes: new Set([1]),
312
- };
313
- const result = coalesceTransactions(previous, current);
314
- // Cannot safely cancel without knowing if insert and delete are on the same entity
315
- // Insert operations don't carry an entity ID, so we can't match them
316
- expect(result.redo).toHaveLength(2);
317
- expect(result.redo[0]).toEqual({ type: "insert", values: { position: { x: 1 } } });
318
- expect(result.redo[1]).toEqual({ type: "delete", entity: 123 });
319
- expect(result.undo).toHaveLength(2);
320
- expect(result.undo[0]).toEqual({ type: "insert", values: { position: { x: 1 } } });
321
- expect(result.undo[1]).toEqual({ type: "delete", entity: 123 });
322
- });
323
- it("should handle multiple update operations on same entity", () => {
324
- const previous = {
325
- value: 1,
326
- transient: false,
327
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
328
- redo: [{ type: "update", entity: 123, values: { position: { x: 1 } } }],
329
- undo: [{ type: "update", entity: 123, values: { position: { x: 0 } } }],
330
- changedEntities: new Map([[123, { position: { x: 1 } }]]),
331
- changedComponents: new Set(["position"]),
332
- changedArchetypes: new Set([1]),
333
- };
334
- const current = {
335
- value: 2,
336
- transient: false,
337
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
338
- redo: [
339
- { type: "update", entity: 123, values: { position: { y: 2 } } },
340
- { type: "update", entity: 123, values: { name: "test" } }
341
- ],
342
- undo: [
343
- { type: "update", entity: 123, values: { position: { y: 0 } } },
344
- { type: "update", entity: 123, values: { name: "" } }
345
- ],
346
- changedEntities: new Map([[123, { position: { y: 2 }, name: "test" }]]),
347
- changedComponents: new Set(["position", "name"]),
348
- changedArchetypes: new Set([1]),
349
- };
350
- const result = coalesceTransactions(previous, current);
351
- // Should combine all updates into a single operation
352
- expect(result.redo).toHaveLength(1);
353
- expect(result.redo[0]).toEqual({
354
- type: "update",
355
- entity: 123,
356
- values: { position: { y: 2 }, name: "test" }
357
- });
358
- expect(result.undo).toHaveLength(1);
359
- expect(result.undo[0]).toEqual({
360
- type: "update",
361
- entity: 123,
362
- values: { position: { x: 0 }, name: "" }
363
- });
364
- });
365
- it("should optimize update + delete operations on same entity", () => {
366
- const previous = {
367
- value: 1,
368
- transient: false,
369
- undoable: { coalesce: { id: "updateEntity", entity: 123 } },
370
- redo: [{ type: "update", entity: 123, values: { position: { x: 1 } } }],
371
- undo: [{ type: "update", entity: 123, values: { position: { x: 0 } } }],
372
- changedEntities: new Map([[123, { position: { x: 1 } }]]),
373
- changedComponents: new Set(["position"]),
374
- changedArchetypes: new Set([1]),
375
- };
376
- const current = {
377
- value: 2,
378
- transient: false,
379
- undoable: { coalesce: { id: "deleteEntity", entity: 123 } },
380
- redo: [{ type: "delete", entity: 123 }],
381
- undo: [{ type: "insert", values: { position: { x: 1 } } }],
382
- changedEntities: new Map([[123, null]]),
383
- changedComponents: new Set(["position"]),
384
- changedArchetypes: new Set([1]),
385
- };
386
- const result = coalesceTransactions(previous, current);
387
- // Should optimize to just the delete operation (the update is pointless)
388
- expect(result.redo).toHaveLength(1);
389
- expect(result.redo[0]).toEqual({
390
- type: "delete",
391
- entity: 123
392
- });
393
- // Undo: cannot safely merge insert + update, so we keep both
394
- expect(result.undo).toHaveLength(2);
395
- expect(result.undo[0]).toEqual({
396
- type: "insert",
397
- values: { position: { x: 1 } }
398
- });
399
- expect(result.undo[1]).toEqual({
400
- type: "update",
401
- entity: 123,
402
- values: { position: { x: 0 } }
403
- });
404
- });
405
- it("should NOT merge insert + update on different entities", () => {
406
- const previous = {
407
- value: 1,
408
- transient: false,
409
- undoable: { coalesce: { id: "createEntity", entity: 123 } },
410
- redo: [{ type: "insert", values: { position: { x: 1 } } }],
411
- undo: [{ type: "delete", entity: 123 }],
412
- changedEntities: new Map([[123, { position: { x: 1 } }]]),
413
- changedComponents: new Set(["position"]),
414
- changedArchetypes: new Set([1]),
415
- };
416
- const current = {
417
- value: 2,
418
- transient: false,
419
- undoable: { coalesce: { id: "updateEntity", entity: 456 } },
420
- redo: [{ type: "update", entity: 456, values: { position: { y: 2 } } }],
421
- undo: [{ type: "update", entity: 456, values: { position: { y: 0 } } }],
422
- changedEntities: new Map([[456, { position: { y: 2 } }]]),
423
- changedComponents: new Set(["position"]),
424
- changedArchetypes: new Set([1]),
425
- };
426
- const result = coalesceTransactions(previous, current);
427
- // Should NOT merge since we can't verify they're the same entity
428
- expect(result.redo).toHaveLength(2);
429
- expect(result.redo[0]).toEqual({ type: "insert", values: { position: { x: 1 } } });
430
- expect(result.redo[1]).toEqual({ type: "update", entity: 456, values: { position: { y: 2 } } });
431
- });
432
- });
433
- //# sourceMappingURL=coalesce-transactions.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coalesce-transactions.test.js","sourceRoot":"","sources":["../../../../src/ecs/database/transactional-store/coalesce-transactions.test.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- import { Database } from "./database.js";
2
- /**
3
- * Demonstration: Type inference with Database.Plugin.create two-parameter form
4
- *
5
- * Notice how the `db` parameter in the systems callback has NO explicit type annotation,
6
- * yet TypeScript correctly infers all components, resources, and methods!
7
- */
8
- declare const PhysicsPlugin: Database.Plugin<{
9
- readonly position: {
10
- readonly type: "object";
11
- readonly default: {
12
- readonly x: 0;
13
- readonly y: 0;
14
- readonly z: 0;
15
- };
16
- };
17
- readonly velocity: {
18
- readonly type: "object";
19
- readonly default: {
20
- readonly x: 0;
21
- readonly y: 0;
22
- readonly z: 0;
23
- };
24
- };
25
- readonly mass: {
26
- readonly type: "number";
27
- readonly default: 1;
28
- };
29
- }, {
30
- readonly gravity: {
31
- readonly default: number;
32
- };
33
- readonly deltaTime: {
34
- readonly default: number;
35
- };
36
- }, import("../index.js").ArchetypeComponents<"position" | "velocity" | "mass">, import("../store/action-functions.js").ActionDeclarations<import("../../schema/from-schemas.js").FromSchemas<{
37
- readonly position: {
38
- readonly type: "object";
39
- readonly default: {
40
- readonly x: 0;
41
- readonly y: 0;
42
- readonly z: 0;
43
- };
44
- };
45
- readonly velocity: {
46
- readonly type: "object";
47
- readonly default: {
48
- readonly x: 0;
49
- readonly y: 0;
50
- readonly z: 0;
51
- };
52
- };
53
- readonly mass: {
54
- readonly type: "number";
55
- readonly default: 1;
56
- };
57
- }>, import("../../schema/from-schemas.js").FromSchemas<{
58
- readonly gravity: {
59
- readonly default: number;
60
- };
61
- readonly deltaTime: {
62
- readonly default: number;
63
- };
64
- }>, import("../index.js").ArchetypeComponents<"position" | "velocity" | "mass">>, "renderSystem" | "physicsSystem">;
65
- declare const OldPhysicsPlugin: Database.Plugin.Intersect<[Database.Plugin<{
66
- readonly position: {
67
- readonly type: "object";
68
- readonly default: {
69
- readonly x: 0;
70
- readonly y: 0;
71
- readonly z: 0;
72
- };
73
- };
74
- }, {}, {}, {}, "physicsSystem">]>;
75
- export { PhysicsPlugin, OldPhysicsPlugin };
@@ -1,73 +0,0 @@
1
- import { Database } from "./database.js";
2
- /**
3
- * Demonstration: Type inference with Database.Plugin.create two-parameter form
4
- *
5
- * Notice how the `db` parameter in the systems callback has NO explicit type annotation,
6
- * yet TypeScript correctly infers all components, resources, and methods!
7
- */
8
- // ✅ NEW WAY: Two-parameter form with automatic type inference
9
- const PhysicsPlugin = Database.Plugin.create({
10
- components: {
11
- position: { type: "object", default: { x: 0, y: 0, z: 0 } },
12
- velocity: { type: "object", default: { x: 0, y: 0, z: 0 } },
13
- mass: { type: "number", default: 1 }
14
- },
15
- resources: {
16
- gravity: { default: 9.81 },
17
- deltaTime: { default: 0 }
18
- }
19
- }, (db) => ({
20
- // 🎯 NO TYPE ANNOTATION NEEDED! TypeScript infers everything!
21
- physicsSystem: {
22
- create: () => () => {
23
- // All these work with full autocomplete and type checking:
24
- const entities = db.select(["position", "velocity", "mass"]);
25
- const gravity = db.resources.gravity;
26
- const dt = db.resources.deltaTime;
27
- for (const entity of entities) {
28
- const pos = db.get(entity, "position");
29
- const vel = db.get(entity, "velocity");
30
- const m = db.get(entity, "mass");
31
- // Full type safety - TypeScript knows all these types!
32
- if (pos && vel && m) {
33
- vel.y += gravity * dt;
34
- pos.x += vel.x * dt;
35
- pos.y += vel.y * dt;
36
- pos.z += vel.z * dt;
37
- }
38
- }
39
- }
40
- },
41
- renderSystem: {
42
- create: () => () => {
43
- // db is still fully typed here too!
44
- const entities = db.select(["position"]);
45
- for (const entity of entities) {
46
- const pos = db.get(entity, "position");
47
- if (pos) {
48
- console.log(`Entity ${entity} at (${pos.x}, ${pos.y}, ${pos.z})`);
49
- }
50
- }
51
- },
52
- schedule: {
53
- after: ["physicsSystem"]
54
- }
55
- }
56
- }));
57
- // ⚠️ OLD WAY: Single-parameter form requires explicit typing
58
- const OldPhysicsPlugin = Database.Plugin.create({
59
- components: {
60
- position: { type: "object", default: { x: 0, y: 0, z: 0 } }
61
- },
62
- systems: {
63
- physicsSystem: {
64
- // ❌ Must explicitly type db parameter
65
- create: (db) => () => {
66
- const entities = db.select(["position"]);
67
- // Works, but loses type safety with 'any'
68
- }
69
- }
70
- }
71
- });
72
- export { PhysicsPlugin, OldPhysicsPlugin };
73
- //# sourceMappingURL=type-inference-demo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-inference-demo.js","sourceRoot":"","sources":["../../../src/ecs/database/type-inference-demo.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};