@adobe/data 0.9.75 → 0.9.77

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 (361) hide show
  1. package/dist/ecs/database/create-plugin.type-test.js +5 -5
  2. package/dist/ecs/database/create-plugin.type-test.js.map +1 -1
  3. package/dist/ecs/database/database.reset.test.js +2 -2
  4. package/dist/ecs/database/database.reset.test.js.map +1 -1
  5. package/dist/ecs/database/observed/create-observed-database.js +1 -1
  6. package/dist/ecs/database/observed/create-observed-database.js.map +1 -1
  7. package/dist/ecs/database/transactional-store/apply-operations.d.ts +8 -0
  8. package/dist/ecs/database/transactional-store/apply-operations.js +23 -3
  9. package/dist/ecs/database/transactional-store/apply-operations.js.map +1 -1
  10. package/dist/ecs/database/transactional-store/create-transactional-store.js +12 -29
  11. package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
  12. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +65 -0
  13. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  14. package/dist/ecs/entity/is-non-persistent.d.ts +3 -0
  15. package/dist/ecs/entity/is-non-persistent.js +3 -0
  16. package/dist/ecs/entity/is-non-persistent.js.map +1 -0
  17. package/dist/ecs/entity/is-non-persistent.test.d.ts +1 -0
  18. package/dist/ecs/entity/is-non-persistent.test.js +26 -0
  19. package/dist/ecs/entity/is-non-persistent.test.js.map +1 -0
  20. package/dist/ecs/entity/public.d.ts +1 -1
  21. package/dist/ecs/entity/public.js +1 -1
  22. package/dist/ecs/entity/public.js.map +1 -1
  23. package/dist/ecs/entity-location-table/create-entity-location-table.d.ts +1 -1
  24. package/dist/ecs/entity-location-table/create-entity-location-table.js +2 -2
  25. package/dist/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
  26. package/dist/ecs/entity-location-table/create-entity-location-table.test.js +1 -1
  27. package/dist/ecs/entity-location-table/create-entity-location-table.test.js.map +1 -1
  28. package/dist/ecs/optional-components.d.ts +0 -2
  29. package/dist/ecs/store/core/create-core.d.ts +11 -0
  30. package/dist/ecs/store/core/create-core.js +35 -10
  31. package/dist/ecs/store/core/create-core.js.map +1 -1
  32. package/dist/ecs/store/core/create-core.test.js +21 -21
  33. package/dist/ecs/store/core/create-core.test.js.map +1 -1
  34. package/dist/ecs/store/index.d.ts +1 -0
  35. package/dist/ecs/store/index.js +1 -0
  36. package/dist/ecs/store/index.js.map +1 -1
  37. package/dist/ecs/store/public/create-store.js +1 -1
  38. package/dist/ecs/store/public/create-store.js.map +1 -1
  39. package/dist/ecs/store/public/create-store.test.js +107 -1
  40. package/dist/ecs/store/public/create-store.test.js.map +1 -1
  41. package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js +21 -0
  42. package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js.map +1 -1
  43. package/dist/functions/serialization/codec.js +4 -0
  44. package/dist/functions/serialization/codec.js.map +1 -1
  45. package/dist/functions/serialization/serialization.test.js +16 -6
  46. package/dist/functions/serialization/serialization.test.js.map +1 -1
  47. package/dist/math/i32/public.d.ts +2 -1
  48. package/dist/math/i32/public.js +2 -1
  49. package/dist/math/i32/public.js.map +1 -1
  50. package/dist/math/i32/shift-right.d.ts +2 -0
  51. package/dist/math/i32/shift-right.js +3 -0
  52. package/dist/math/i32/shift-right.js.map +1 -0
  53. package/dist/math/u32/count-leading-zeros.d.ts +2 -0
  54. package/dist/math/u32/count-leading-zeros.js +3 -0
  55. package/dist/math/u32/count-leading-zeros.js.map +1 -0
  56. package/dist/math/u32/count-one-bits.d.ts +2 -0
  57. package/dist/math/u32/count-one-bits.js +11 -0
  58. package/dist/math/u32/count-one-bits.js.map +1 -0
  59. package/dist/math/u32/count-trailing-zeros.d.ts +2 -0
  60. package/dist/math/u32/count-trailing-zeros.js +14 -0
  61. package/dist/math/u32/count-trailing-zeros.js.map +1 -0
  62. package/dist/math/u32/public.d.ts +6 -1
  63. package/dist/math/u32/public.js +6 -1
  64. package/dist/math/u32/public.js.map +1 -1
  65. package/dist/math/u32/reverse-bits.d.ts +2 -0
  66. package/dist/math/u32/reverse-bits.js +11 -0
  67. package/dist/math/u32/reverse-bits.js.map +1 -0
  68. package/dist/math/u32/shift-right.d.ts +2 -0
  69. package/dist/math/u32/shift-right.js +3 -0
  70. package/dist/math/u32/shift-right.js.map +1 -0
  71. package/dist/math/vec2/f32/f32.d.ts +4 -0
  72. package/dist/math/vec2/f32/f32.js +3 -0
  73. package/dist/math/vec2/f32/f32.js.map +1 -0
  74. package/dist/math/vec2/f32/functions.d.ts +50 -0
  75. package/dist/math/vec2/f32/functions.js +87 -0
  76. package/dist/math/vec2/f32/functions.js.map +1 -0
  77. package/dist/math/vec2/f32/layout.d.ts +1 -0
  78. package/dist/math/vec2/f32/layout.js +5 -0
  79. package/dist/math/vec2/f32/layout.js.map +1 -0
  80. package/dist/math/vec2/f32/public.d.ts +3 -0
  81. package/dist/math/vec2/f32/public.js +5 -0
  82. package/dist/math/vec2/f32/public.js.map +1 -0
  83. package/dist/math/vec2/f32/schema.d.ts +11 -0
  84. package/dist/math/vec2/f32/schema.js +10 -0
  85. package/dist/math/vec2/f32/schema.js.map +1 -0
  86. package/dist/math/vec2/i32/functions.d.ts +21 -0
  87. package/dist/math/vec2/i32/functions.js +39 -0
  88. package/dist/math/vec2/i32/functions.js.map +1 -0
  89. package/dist/math/vec2/i32/i32.d.ts +4 -0
  90. package/dist/math/vec2/i32/i32.js +3 -0
  91. package/dist/math/vec2/i32/i32.js.map +1 -0
  92. package/dist/math/vec2/i32/layout.d.ts +1 -0
  93. package/dist/math/vec2/i32/layout.js +5 -0
  94. package/dist/math/vec2/i32/layout.js.map +1 -0
  95. package/dist/math/vec2/i32/public.d.ts +3 -0
  96. package/dist/math/vec2/i32/public.js +5 -0
  97. package/dist/math/vec2/i32/public.js.map +1 -0
  98. package/dist/math/vec2/i32/schema.d.ts +12 -0
  99. package/dist/math/vec2/i32/schema.js +10 -0
  100. package/dist/math/vec2/i32/schema.js.map +1 -0
  101. package/dist/math/vec2/index.d.ts +61 -4
  102. package/dist/math/vec2/index.js +56 -1
  103. package/dist/math/vec2/index.js.map +1 -1
  104. package/dist/math/vec2/public.d.ts +5 -3
  105. package/dist/math/vec2/public.js +6 -3
  106. package/dist/math/vec2/public.js.map +1 -1
  107. package/dist/math/vec2/u32/functions.d.ts +20 -0
  108. package/dist/math/vec2/u32/functions.js +58 -0
  109. package/dist/math/vec2/u32/functions.js.map +1 -0
  110. package/dist/math/vec2/u32/layout.d.ts +1 -0
  111. package/dist/math/vec2/u32/layout.js +5 -0
  112. package/dist/math/vec2/u32/layout.js.map +1 -0
  113. package/dist/math/vec2/u32/public.d.ts +3 -0
  114. package/dist/math/vec2/u32/public.js +5 -0
  115. package/dist/math/vec2/u32/public.js.map +1 -0
  116. package/dist/math/vec2/u32/schema.d.ts +12 -0
  117. package/dist/math/vec2/u32/schema.js +10 -0
  118. package/dist/math/vec2/u32/schema.js.map +1 -0
  119. package/dist/math/vec2/u32/u32.d.ts +4 -0
  120. package/dist/math/vec2/u32/u32.js +3 -0
  121. package/dist/math/vec2/u32/u32.js.map +1 -0
  122. package/dist/math/vec3/f32/f32.d.ts +4 -0
  123. package/dist/math/vec3/f32/f32.js +3 -0
  124. package/dist/math/vec3/f32/f32.js.map +1 -0
  125. package/dist/math/vec3/f32/functions.d.ts +59 -0
  126. package/dist/math/vec3/f32/functions.js +139 -0
  127. package/dist/math/vec3/f32/functions.js.map +1 -0
  128. package/dist/math/vec3/f32/layout.d.ts +1 -0
  129. package/dist/math/vec3/f32/layout.js +5 -0
  130. package/dist/math/vec3/f32/layout.js.map +1 -0
  131. package/dist/math/vec3/f32/public.d.ts +3 -0
  132. package/dist/math/vec3/f32/public.js +5 -0
  133. package/dist/math/vec3/f32/public.js.map +1 -0
  134. package/dist/math/vec3/f32/schema.d.ts +11 -0
  135. package/dist/math/vec3/f32/schema.js +10 -0
  136. package/dist/math/vec3/f32/schema.js.map +1 -0
  137. package/dist/math/vec3/i32/functions.d.ts +23 -0
  138. package/dist/math/vec3/i32/functions.js +78 -0
  139. package/dist/math/vec3/i32/functions.js.map +1 -0
  140. package/dist/math/vec3/i32/i32.d.ts +4 -0
  141. package/dist/math/vec3/i32/i32.js +3 -0
  142. package/dist/math/vec3/i32/i32.js.map +1 -0
  143. package/dist/math/vec3/i32/layout.d.ts +1 -0
  144. package/dist/math/vec3/i32/layout.js +5 -0
  145. package/dist/math/vec3/i32/layout.js.map +1 -0
  146. package/dist/math/vec3/i32/public.d.ts +3 -0
  147. package/dist/math/vec3/i32/public.js +5 -0
  148. package/dist/math/vec3/i32/public.js.map +1 -0
  149. package/dist/math/vec3/i32/schema.d.ts +12 -0
  150. package/dist/math/vec3/i32/schema.js +10 -0
  151. package/dist/math/vec3/i32/schema.js.map +1 -0
  152. package/dist/math/vec3/index.d.ts +67 -4
  153. package/dist/math/vec3/index.js +62 -1
  154. package/dist/math/vec3/index.js.map +1 -1
  155. package/dist/math/vec3/public.d.ts +5 -3
  156. package/dist/math/vec3/public.js +6 -3
  157. package/dist/math/vec3/public.js.map +1 -1
  158. package/dist/math/vec3/u32/functions.d.ts +23 -0
  159. package/dist/math/vec3/u32/functions.js +85 -0
  160. package/dist/math/vec3/u32/functions.js.map +1 -0
  161. package/dist/math/vec3/u32/layout.d.ts +1 -0
  162. package/dist/math/vec3/u32/layout.js +5 -0
  163. package/dist/math/vec3/u32/layout.js.map +1 -0
  164. package/dist/math/vec3/u32/public.d.ts +3 -0
  165. package/dist/math/vec3/u32/public.js +5 -0
  166. package/dist/math/vec3/u32/public.js.map +1 -0
  167. package/dist/math/vec3/u32/schema.d.ts +12 -0
  168. package/dist/math/vec3/u32/schema.js +10 -0
  169. package/dist/math/vec3/u32/schema.js.map +1 -0
  170. package/dist/math/vec3/u32/u32.d.ts +4 -0
  171. package/dist/math/vec3/u32/u32.js +3 -0
  172. package/dist/math/vec3/u32/u32.js.map +1 -0
  173. package/dist/math/vec4/f32/f32.d.ts +4 -0
  174. package/dist/math/vec4/f32/f32.js +3 -0
  175. package/dist/math/vec4/f32/f32.js.map +1 -0
  176. package/dist/math/vec4/f32/functions.d.ts +49 -0
  177. package/dist/math/vec4/f32/functions.js +130 -0
  178. package/dist/math/vec4/f32/functions.js.map +1 -0
  179. package/dist/math/vec4/f32/layout.d.ts +1 -0
  180. package/dist/math/vec4/f32/layout.js +5 -0
  181. package/dist/math/vec4/f32/layout.js.map +1 -0
  182. package/dist/math/vec4/f32/public.d.ts +3 -0
  183. package/dist/math/vec4/f32/public.js +5 -0
  184. package/dist/math/vec4/f32/public.js.map +1 -0
  185. package/dist/math/vec4/f32/schema.d.ts +11 -0
  186. package/dist/math/vec4/f32/schema.js +10 -0
  187. package/dist/math/vec4/f32/schema.js.map +1 -0
  188. package/dist/math/vec4/i32/functions.d.ts +23 -0
  189. package/dist/math/vec4/i32/functions.js +91 -0
  190. package/dist/math/vec4/i32/functions.js.map +1 -0
  191. package/dist/math/vec4/i32/i32.d.ts +4 -0
  192. package/dist/math/vec4/i32/i32.js +3 -0
  193. package/dist/math/vec4/i32/i32.js.map +1 -0
  194. package/dist/math/vec4/i32/layout.d.ts +1 -0
  195. package/dist/math/vec4/i32/layout.js +5 -0
  196. package/dist/math/vec4/i32/layout.js.map +1 -0
  197. package/dist/math/vec4/i32/public.d.ts +3 -0
  198. package/dist/math/vec4/i32/public.js +5 -0
  199. package/dist/math/vec4/i32/public.js.map +1 -0
  200. package/dist/math/vec4/i32/schema.d.ts +12 -0
  201. package/dist/math/vec4/i32/schema.js +10 -0
  202. package/dist/math/vec4/i32/schema.js.map +1 -0
  203. package/dist/math/vec4/index.d.ts +60 -4
  204. package/dist/math/vec4/index.js +55 -1
  205. package/dist/math/vec4/index.js.map +1 -1
  206. package/dist/math/vec4/public.d.ts +5 -3
  207. package/dist/math/vec4/public.js +6 -3
  208. package/dist/math/vec4/public.js.map +1 -1
  209. package/dist/math/vec4/u32/functions.d.ts +22 -0
  210. package/dist/math/vec4/u32/functions.js +99 -0
  211. package/dist/math/vec4/u32/functions.js.map +1 -0
  212. package/dist/math/vec4/u32/layout.d.ts +1 -0
  213. package/dist/math/vec4/u32/layout.js +5 -0
  214. package/dist/math/vec4/u32/layout.js.map +1 -0
  215. package/dist/math/vec4/u32/public.d.ts +3 -0
  216. package/dist/math/vec4/u32/public.js +5 -0
  217. package/dist/math/vec4/u32/public.js.map +1 -0
  218. package/dist/math/vec4/u32/schema.d.ts +12 -0
  219. package/dist/math/vec4/u32/schema.js +10 -0
  220. package/dist/math/vec4/u32/schema.js.map +1 -0
  221. package/dist/math/vec4/u32/u32.d.ts +4 -0
  222. package/dist/math/vec4/u32/u32.js +3 -0
  223. package/dist/math/vec4/u32/u32.js.map +1 -0
  224. package/dist/schema/boolean/schema.d.ts +1 -0
  225. package/dist/schema/boolean/schema.js +2 -1
  226. package/dist/schema/boolean/schema.js.map +1 -1
  227. package/dist/schema/dynamic/enumerate-patches.test.d.ts +4 -4
  228. package/dist/schema/dynamic/enumerate-patches.test.js +8 -8
  229. package/dist/schema/dynamic/enumerate-patches.test.js.map +1 -1
  230. package/dist/schema/dynamic/get-dynamic-schema.test.js +4 -4
  231. package/dist/schema/dynamic/get-dynamic-schema.test.js.map +1 -1
  232. package/dist/schema/from-archetype.d.ts +14 -0
  233. package/dist/schema/from-archetype.js +9 -0
  234. package/dist/schema/from-archetype.js.map +1 -0
  235. package/dist/schema/from-components.d.ts +14 -0
  236. package/dist/schema/from-components.js +9 -0
  237. package/dist/schema/from-components.js.map +1 -0
  238. package/dist/schema/from-components.test.d.ts +1 -0
  239. package/dist/schema/from-components.test.js +49 -0
  240. package/dist/schema/from-components.test.js.map +1 -0
  241. package/dist/schema/from-components.type-test.d.ts +1 -0
  242. package/dist/schema/from-components.type-test.js +40 -0
  243. package/dist/schema/from-components.type-test.js.map +1 -0
  244. package/dist/schema/public.d.ts +2 -0
  245. package/dist/schema/public.js +2 -0
  246. package/dist/schema/public.js.map +1 -1
  247. package/dist/schema/schema.d.ts +0 -2
  248. package/dist/schema/to-type.d.ts +2 -0
  249. package/dist/schema/to-type.js.map +1 -1
  250. package/dist/table/copy-column-to-gpu-buffer.js +10 -2
  251. package/dist/table/copy-column-to-gpu-buffer.js.map +1 -1
  252. package/dist/tsconfig.tsbuildinfo +1 -1
  253. package/dist/typed-buffer/create-boolean-buffer.d.ts +6 -0
  254. package/dist/typed-buffer/create-boolean-buffer.js +83 -0
  255. package/dist/typed-buffer/create-boolean-buffer.js.map +1 -0
  256. package/dist/typed-buffer/create-boolean-buffer.test.d.ts +1 -0
  257. package/dist/typed-buffer/create-boolean-buffer.test.js +159 -0
  258. package/dist/typed-buffer/create-boolean-buffer.test.js.map +1 -0
  259. package/dist/typed-buffer/create-typed-buffer.js +4 -0
  260. package/dist/typed-buffer/create-typed-buffer.js.map +1 -1
  261. package/dist/typed-buffer/index.d.ts +1 -0
  262. package/dist/typed-buffer/index.js +1 -0
  263. package/dist/typed-buffer/index.js.map +1 -1
  264. package/dist/typed-buffer/register-typed-buffer-codecs.js +24 -6
  265. package/dist/typed-buffer/register-typed-buffer-codecs.js.map +1 -1
  266. package/dist/typed-buffer/typed-buffer.d.ts +4 -1
  267. package/dist/typed-buffer/typed-buffer.js +1 -0
  268. package/dist/typed-buffer/typed-buffer.js.map +1 -1
  269. package/dist/types/volume/axis-line-callback.d.ts +14 -0
  270. package/dist/types/volume/axis-line-callback.js +3 -0
  271. package/dist/types/volume/axis-line-callback.js.map +1 -0
  272. package/dist/types/volume/block-callback.d.ts +9 -0
  273. package/dist/types/volume/block-callback.js +3 -0
  274. package/dist/types/volume/block-callback.js.map +1 -0
  275. package/dist/types/volume/block-span.d.ts +9 -0
  276. package/dist/types/volume/block-span.js +3 -0
  277. package/dist/types/volume/block-span.js.map +1 -0
  278. package/dist/types/volume/create-dense/create-dense.d.ts +6 -0
  279. package/dist/types/volume/create-dense/create-dense.js +9 -0
  280. package/dist/types/volume/create-dense/create-dense.js.map +1 -0
  281. package/dist/types/volume/create-dense/create-dense.test.d.ts +1 -0
  282. package/dist/types/volume/create-dense/create-dense.test.js +121 -0
  283. package/dist/types/volume/create-dense/create-dense.test.js.map +1 -0
  284. package/dist/types/volume/create-dense/dense-volume.d.ts +17 -0
  285. package/dist/types/volume/create-dense/dense-volume.js +51 -0
  286. package/dist/types/volume/create-dense/dense-volume.js.map +1 -0
  287. package/dist/types/volume/create-dense/is-dense-volume.d.ts +2 -0
  288. package/dist/types/volume/create-dense/is-dense-volume.js +4 -0
  289. package/dist/types/volume/create-dense/is-dense-volume.js.map +1 -0
  290. package/dist/types/volume/create-dense/register-dense-volume-codecs.d.ts +1 -0
  291. package/dist/types/volume/create-dense/register-dense-volume-codecs.js +33 -0
  292. package/dist/types/volume/create-dense/register-dense-volume-codecs.js.map +1 -0
  293. package/dist/types/volume/create-sparse-block/block-dims.d.ts +35 -0
  294. package/dist/types/volume/create-sparse-block/block-dims.js +93 -0
  295. package/dist/types/volume/create-sparse-block/block-dims.js.map +1 -0
  296. package/dist/types/volume/create-sparse-block/block-key.d.ts +9 -0
  297. package/dist/types/volume/create-sparse-block/block-key.js +23 -0
  298. package/dist/types/volume/create-sparse-block/block-key.js.map +1 -0
  299. package/dist/types/volume/create-sparse-block/create-sparse-block.d.ts +6 -0
  300. package/dist/types/volume/create-sparse-block/create-sparse-block.js +9 -0
  301. package/dist/types/volume/create-sparse-block/create-sparse-block.js.map +1 -0
  302. package/dist/types/volume/create-sparse-block/create-sparse-block.test.d.ts +1 -0
  303. package/dist/types/volume/create-sparse-block/create-sparse-block.test.js +287 -0
  304. package/dist/types/volume/create-sparse-block/create-sparse-block.test.js.map +1 -0
  305. package/dist/types/volume/create-sparse-block/is-sparse-block-volume.d.ts +2 -0
  306. package/dist/types/volume/create-sparse-block/is-sparse-block-volume.js +4 -0
  307. package/dist/types/volume/create-sparse-block/is-sparse-block-volume.js.map +1 -0
  308. package/dist/types/volume/create-sparse-block/iterate-sparse-block-axis.d.ts +19 -0
  309. package/dist/types/volume/create-sparse-block/iterate-sparse-block-axis.js +160 -0
  310. package/dist/types/volume/create-sparse-block/iterate-sparse-block-axis.js.map +1 -0
  311. package/dist/types/volume/create-sparse-block/pack-block-key.d.ts +1 -0
  312. package/dist/types/volume/create-sparse-block/pack-block-key.js +3 -0
  313. package/dist/types/volume/create-sparse-block/pack-block-key.js.map +1 -0
  314. package/dist/types/volume/create-sparse-block/register-sparse-block-volume-codecs.d.ts +1 -0
  315. package/dist/types/volume/create-sparse-block/register-sparse-block-volume-codecs.js +37 -0
  316. package/dist/types/volume/create-sparse-block/register-sparse-block-volume-codecs.js.map +1 -0
  317. package/dist/types/volume/create-sparse-block/sparse-block-volume.d.ts +29 -0
  318. package/dist/types/volume/create-sparse-block/sparse-block-volume.js +133 -0
  319. package/dist/types/volume/create-sparse-block/sparse-block-volume.js.map +1 -0
  320. package/dist/types/volume/create-sparse-block/unpack-block-key.d.ts +5 -0
  321. package/dist/types/volume/create-sparse-block/unpack-block-key.js +7 -0
  322. package/dist/types/volume/create-sparse-block/unpack-block-key.js.map +1 -0
  323. package/dist/types/volume/get-dense-index.d.ts +2 -0
  324. package/dist/types/volume/get-dense-index.js +6 -0
  325. package/dist/types/volume/get-dense-index.js.map +1 -0
  326. package/dist/types/volume/get-dense-index.test.d.ts +1 -0
  327. package/dist/types/volume/get-dense-index.test.js +17 -0
  328. package/dist/types/volume/get-dense-index.test.js.map +1 -0
  329. package/dist/types/volume/is-in-bounds.d.ts +2 -0
  330. package/dist/types/volume/is-in-bounds.js +6 -0
  331. package/dist/types/volume/is-in-bounds.js.map +1 -0
  332. package/dist/types/volume/is-in-bounds.test.d.ts +1 -0
  333. package/dist/types/volume/is-in-bounds.test.js +12 -0
  334. package/dist/types/volume/is-in-bounds.test.js.map +1 -0
  335. package/dist/types/volume/iterate-axis.d.ts +7 -0
  336. package/dist/types/volume/iterate-axis.js +58 -0
  337. package/dist/types/volume/iterate-axis.js.map +1 -0
  338. package/dist/types/volume/iterate-sparse-block-axis.test.d.ts +1 -0
  339. package/dist/types/volume/iterate-sparse-block-axis.test.js +11 -0
  340. package/dist/types/volume/iterate-sparse-block-axis.test.js.map +1 -0
  341. package/dist/types/volume/iterate-sparse-block.benchmark.test.d.ts +1 -0
  342. package/dist/types/volume/iterate-sparse-block.benchmark.test.js +80 -0
  343. package/dist/types/volume/iterate-sparse-block.benchmark.test.js.map +1 -0
  344. package/dist/types/volume/iterate-test-helpers.d.ts +14 -0
  345. package/dist/types/volume/iterate-test-helpers.js +41 -0
  346. package/dist/types/volume/iterate-test-helpers.js.map +1 -0
  347. package/dist/types/volume/public.d.ts +7 -0
  348. package/dist/types/volume/public.js +6 -0
  349. package/dist/types/volume/public.js.map +1 -0
  350. package/dist/types/volume/sparse-block-iterate-benchmark.d.ts +49 -0
  351. package/dist/types/volume/sparse-block-iterate-benchmark.js +131 -0
  352. package/dist/types/volume/sparse-block-iterate-benchmark.js.map +1 -0
  353. package/dist/types/volume/volume.d.ts +13 -0
  354. package/dist/types/volume/volume.js +3 -0
  355. package/dist/types/volume/volume.js.map +1 -0
  356. package/package.json +1 -1
  357. package/references/data-lit/package.json +1 -1
  358. package/references/data-lit-tictactoe/package.json +1 -1
  359. package/references/data-react/package.json +1 -1
  360. package/references/data-react-hello/package.json +1 -1
  361. package/references/data-react-pixie/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ import { Schema } from "../schema/index.js";
2
+ import { TypedBuffer } from "./typed-buffer.js";
3
+ export declare const booleanBufferType = "boolean";
4
+ export declare const booleanWordCount: (capacity: number) => number;
5
+ export declare const booleanStorageByteLength: (capacity: number) => number;
6
+ export declare const createBooleanBuffer: (schema: Schema, initialCapacity: number) => TypedBuffer<boolean>;
@@ -0,0 +1,83 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ import { resize } from "../internal/array-buffer-like/resize.js";
3
+ import { createSharedArrayBuffer } from "../internal/shared-array-buffer/create-shared-array-buffer.js";
4
+ import { TypedBuffer } from "./typed-buffer.js";
5
+ export const booleanBufferType = "boolean";
6
+ export const booleanWordCount = (capacity) => Math.ceil(capacity / 32);
7
+ export const booleanStorageByteLength = (capacity) => booleanWordCount(capacity) * 4;
8
+ const getBit = (words, index) => ((words[index >>> 5] >>> (index & 31)) & 1) !== 0;
9
+ const setBit = (words, index, value) => {
10
+ const wordIndex = index >>> 5;
11
+ const bitIndex = index & 31;
12
+ if (value) {
13
+ words[wordIndex] |= 1 << bitIndex;
14
+ }
15
+ else {
16
+ words[wordIndex] &= ~(1 << bitIndex);
17
+ }
18
+ };
19
+ class BooleanTypedBuffer extends TypedBuffer {
20
+ constructor(schema, initialCapacity) {
21
+ super(schema);
22
+ this.type = booleanBufferType;
23
+ this.typedArrayElementSizeInBytes = 0;
24
+ this._capacity = initialCapacity;
25
+ const wordCount = booleanWordCount(initialCapacity);
26
+ this.arrayBuffer = createSharedArrayBuffer(wordCount * 4);
27
+ this.array = new Uint32Array(this.arrayBuffer);
28
+ }
29
+ get capacity() {
30
+ return this._capacity;
31
+ }
32
+ set capacity(value) {
33
+ if (value !== this._capacity) {
34
+ this._capacity = value;
35
+ this.arrayBuffer = resize(this.arrayBuffer, booleanStorageByteLength(value));
36
+ this.array = new Uint32Array(this.arrayBuffer);
37
+ }
38
+ }
39
+ getTypedArray() {
40
+ return this.array;
41
+ }
42
+ get(index) {
43
+ return getBit(this.array, index);
44
+ }
45
+ set(index, value) {
46
+ setBit(this.array, index, value);
47
+ }
48
+ isDefault(index) {
49
+ return !this.get(index);
50
+ }
51
+ copyWithin(target, start, end) {
52
+ if (target === start || end <= start) {
53
+ return;
54
+ }
55
+ const count = end - start;
56
+ if (target < start || target >= end) {
57
+ for (let i = 0; i < count; i++) {
58
+ this.set(target + i, this.get(start + i));
59
+ }
60
+ }
61
+ else {
62
+ for (let i = count - 1; i >= 0; i--) {
63
+ this.set(target + i, this.get(start + i));
64
+ }
65
+ }
66
+ }
67
+ slice(start = 0, end = this._capacity) {
68
+ const result = new Array(Math.max(0, end - start));
69
+ for (let i = start; i < end; i++) {
70
+ result[i - start] = this.get(i);
71
+ }
72
+ return result;
73
+ }
74
+ copy() {
75
+ const copy = new BooleanTypedBuffer(this.schema, this._capacity);
76
+ copy.array.set(this.array);
77
+ return copy;
78
+ }
79
+ }
80
+ export const createBooleanBuffer = (schema, initialCapacity) => {
81
+ return new BooleanTypedBuffer(schema, initialCapacity);
82
+ };
83
+ //# sourceMappingURL=create-boolean-buffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-boolean-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-boolean-buffer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,159 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ import { describe, it, expect } from "vitest";
3
+ import { Boolean } from "../schema/boolean/index.js";
4
+ import { createTypedBuffer } from "./create-typed-buffer.js";
5
+ import { booleanStorageByteLength, booleanWordCount, createBooleanBuffer, } from "./create-boolean-buffer.js";
6
+ import { TypedBuffer } from "./typed-buffer.js";
7
+ import { equals } from "../equals.js";
8
+ import { serialize, deserialize } from "../functions/serialization/serialize.js";
9
+ describe("createBooleanBuffer", () => {
10
+ it("should be chosen automatically for boolean schemas", () => {
11
+ const buffer = createTypedBuffer(Boolean.schema, 64);
12
+ expect(buffer.type).toBe("boolean");
13
+ });
14
+ it("should still use const buffer for boolean const schemas", () => {
15
+ const buffer = createTypedBuffer({ type: "boolean", const: true, default: true }, 4);
16
+ expect(buffer.type).toBe("const");
17
+ });
18
+ it("should allocate one u32 word per 32 booleans", () => {
19
+ expect(booleanWordCount(1)).toBe(1);
20
+ expect(booleanWordCount(32)).toBe(1);
21
+ expect(booleanWordCount(33)).toBe(2);
22
+ expect(booleanStorageByteLength(33)).toBe(8);
23
+ });
24
+ it("should default all bits to false", () => {
25
+ const buffer = createBooleanBuffer(Boolean.schema, 40);
26
+ for (let i = 0; i < 40; i++) {
27
+ expect(buffer.get(i)).toBe(false);
28
+ expect(buffer.isDefault(i)).toBe(true);
29
+ }
30
+ });
31
+ it("should get and set individual bits", () => {
32
+ const buffer = createBooleanBuffer(Boolean.schema, 100);
33
+ buffer.set(0, true);
34
+ buffer.set(31, true);
35
+ buffer.set(32, true);
36
+ buffer.set(63, true);
37
+ buffer.set(99, true);
38
+ expect(buffer.get(0)).toBe(true);
39
+ expect(buffer.get(31)).toBe(true);
40
+ expect(buffer.get(32)).toBe(true);
41
+ expect(buffer.get(63)).toBe(true);
42
+ expect(buffer.get(99)).toBe(true);
43
+ expect(buffer.get(1)).toBe(false);
44
+ expect(buffer.get(33)).toBe(false);
45
+ expect(buffer.isDefault(1)).toBe(true);
46
+ expect(buffer.isDefault(0)).toBe(false);
47
+ });
48
+ it("should clear bits when set to false", () => {
49
+ const buffer = createBooleanBuffer(Boolean.schema, 8);
50
+ buffer.set(3, true);
51
+ expect(buffer.get(3)).toBe(true);
52
+ buffer.set(3, false);
53
+ expect(buffer.get(3)).toBe(false);
54
+ });
55
+ it("should initialize from boolean arrays via createTypedBuffer", () => {
56
+ const buffer = createTypedBuffer(Boolean.schema, [true, false, true, true]);
57
+ expect(buffer.type).toBe("boolean");
58
+ expect(buffer.capacity).toBe(4);
59
+ expect(buffer.get(0)).toBe(true);
60
+ expect(buffer.get(1)).toBe(false);
61
+ expect(buffer.get(2)).toBe(true);
62
+ expect(buffer.get(3)).toBe(true);
63
+ });
64
+ it("should expose packed storage as Uint32Array", () => {
65
+ const buffer = createBooleanBuffer(Boolean.schema, 32);
66
+ buffer.set(0, true);
67
+ buffer.set(31, true);
68
+ const words = buffer.getTypedArray();
69
+ expect(words.length).toBe(1);
70
+ expect(words[0]).toBe(0x80000001);
71
+ });
72
+ describe("copyWithin", () => {
73
+ it("should copy boolean ranges", () => {
74
+ const buffer = createBooleanBuffer(Boolean.schema, 8);
75
+ buffer.set(0, true);
76
+ buffer.set(1, true);
77
+ buffer.set(2, false);
78
+ buffer.copyWithin(2, 0, 2);
79
+ expect(buffer.get(2)).toBe(true);
80
+ expect(buffer.get(3)).toBe(true);
81
+ });
82
+ it("should copy overlapping ranges backward", () => {
83
+ const buffer = createBooleanBuffer(Boolean.schema, 4);
84
+ buffer.set(0, true);
85
+ buffer.set(1, false);
86
+ buffer.copyWithin(1, 0, 2);
87
+ expect(buffer.get(1)).toBe(true);
88
+ expect(buffer.get(2)).toBe(false);
89
+ });
90
+ });
91
+ it("should resize capacity and preserve existing bits", () => {
92
+ const buffer = createBooleanBuffer(Boolean.schema, 10);
93
+ buffer.set(0, true);
94
+ buffer.set(9, true);
95
+ buffer.capacity = 40;
96
+ expect(buffer.get(0)).toBe(true);
97
+ expect(buffer.get(9)).toBe(true);
98
+ expect(buffer.getTypedArray().length).toBe(booleanWordCount(40));
99
+ });
100
+ it("should copy to an independent buffer", () => {
101
+ const a = createBooleanBuffer(Boolean.schema, 5);
102
+ a.set(2, true);
103
+ const b = a.copy();
104
+ expect(TypedBuffer.equals(a, b)).toBe(true);
105
+ a.set(2, false);
106
+ expect(b.get(2)).toBe(true);
107
+ });
108
+ it("should slice boolean values", () => {
109
+ const buffer = createTypedBuffer(Boolean.schema, [true, false, true]);
110
+ expect(Array.from(buffer.slice(1, 3))).toEqual([false, true]);
111
+ });
112
+ it("should round-trip through serialization", () => {
113
+ const original = createTypedBuffer(Boolean.schema, 65);
114
+ original.set(0, true);
115
+ original.set(31, true);
116
+ original.set(32, true);
117
+ original.set(64, true);
118
+ const payload = serialize({ buf: original });
119
+ const roundTrip = deserialize(payload);
120
+ expect(roundTrip.buf.type).toBe("boolean");
121
+ expect(roundTrip.buf.capacity).toBe(65);
122
+ expect(equals(roundTrip.buf, original)).toBe(true);
123
+ });
124
+ it("should deserialize legacy array-serialized boolean buffers", () => {
125
+ const legacyPayload = {
126
+ json: JSON.stringify({
127
+ buf: {
128
+ codec: "typed-buffer",
129
+ json: {
130
+ type: "array",
131
+ schema: Boolean.schema,
132
+ capacity: 4,
133
+ array: [true, false, true, true],
134
+ },
135
+ binaryIndex: 0,
136
+ binaryCount: 0,
137
+ },
138
+ }),
139
+ binary: [],
140
+ };
141
+ const roundTrip = deserialize(legacyPayload);
142
+ expect(roundTrip.buf.type).toBe("boolean");
143
+ expect(roundTrip.buf.get(0)).toBe(true);
144
+ expect(roundTrip.buf.get(1)).toBe(false);
145
+ expect(roundTrip.buf.get(2)).toBe(true);
146
+ expect(roundTrip.buf.get(3)).toBe(true);
147
+ });
148
+ it("should reset nonPersistent boolean buffers on deserialize", () => {
149
+ const nonPersistent = createTypedBuffer({ ...Boolean.schema, nonPersistent: true }, 10);
150
+ nonPersistent.set(0, true);
151
+ nonPersistent.set(9, true);
152
+ const payload = serialize({ nonPersistent });
153
+ const roundTrip = deserialize(payload);
154
+ expect(roundTrip.nonPersistent.capacity).toBe(10);
155
+ expect(roundTrip.nonPersistent.get(0)).toBe(false);
156
+ expect(roundTrip.nonPersistent.get(9)).toBe(false);
157
+ });
158
+ });
159
+ //# sourceMappingURL=create-boolean-buffer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-boolean-buffer.test.js","sourceRoot":"","sources":["../../src/typed-buffer/create-boolean-buffer.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { createNumberBuffer } from "./create-number-buffer.js";
4
4
  import { createArrayBuffer } from "./create-array-buffer.js";
5
5
  import { createConstBuffer } from "./create-const-buffer.js";
6
6
  import { createEnumBuffer } from "./create-enum-buffer.js";
7
+ import { createBooleanBuffer } from "./create-boolean-buffer.js";
7
8
  export function createTypedBuffer(schema, initialCapacityOrValues) {
8
9
  if (Array.isArray(initialCapacityOrValues)) {
9
10
  const buffer = createTypedBufferInternal(schema, initialCapacityOrValues.length);
@@ -21,6 +22,9 @@ function createTypedBufferInternal(schema, initialCapacity) {
21
22
  if (schema.enum !== undefined && schema.enum.length > 0) {
22
23
  return createEnumBuffer(schema, initialCapacity);
23
24
  }
25
+ if (schema.type === "boolean") {
26
+ return createBooleanBuffer(schema, initialCapacity);
27
+ }
24
28
  if (schema.type === 'number' || schema.type === 'integer') {
25
29
  return createNumberBuffer(schema, initialCapacity);
26
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-typed-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-typed-buffer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAU3D,MAAM,UAAU,iBAAiB,CAC7B,MAAS,EACT,uBAAqD;IAErD,IAAI,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,yBAAyB,CAAI,MAAM,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,yBAAyB,CAAI,MAAM,EAAE,uBAAuB,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,yBAAyB,CAC9B,MAAS,EACT,eAAuB;IAGvB,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAkC,CAAC;IACvF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAkC,CAAC;IACtF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAkC,CAAC;IACxF,CAAC;IAED,yEAAyE;IACzE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;IACnD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7D,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"create-typed-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-typed-buffer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAUjE,MAAM,UAAU,iBAAiB,CAC7B,MAAS,EACT,uBAAqD;IAErD,IAAI,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,yBAAyB,CAAI,MAAM,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,yBAAyB,CAAI,MAAM,EAAE,uBAAuB,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,yBAAyB,CAC9B,MAAS,EACT,eAAuB;IAGvB,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAkC,CAAC;IACvF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAkC,CAAC;IACtF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAkC,CAAC;IACzF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAkC,CAAC;IACxF,CAAC;IAED,yEAAyE;IACzE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;IACnD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7D,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACtD,CAAC"}
@@ -3,4 +3,5 @@ export * from './create-typed-buffer.js';
3
3
  export * from './create-struct-buffer.js';
4
4
  export * from './structs/index.js';
5
5
  export { copyToGPUBuffer } from './copy-to-gpu-buffer.js';
6
+ export { booleanStorageByteLength, booleanWordCount } from './create-boolean-buffer.js';
6
7
  export type { DataView32 } from './data-view-32.js';
@@ -4,4 +4,5 @@ export * from './create-typed-buffer.js';
4
4
  export * from './create-struct-buffer.js';
5
5
  export * from './structs/index.js';
6
6
  export { copyToGPUBuffer } from './copy-to-gpu-buffer.js';
7
+ export { booleanStorageByteLength, booleanWordCount } from './create-boolean-buffer.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/typed-buffer/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/typed-buffer/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -6,6 +6,7 @@ import { createArrayBuffer } from "./create-array-buffer.js";
6
6
  import { createConstBuffer } from "./create-const-buffer.js";
7
7
  import { createNumberBuffer } from "./create-number-buffer.js";
8
8
  import { createEnumBuffer } from "./create-enum-buffer.js";
9
+ import { createBooleanBuffer } from "./create-boolean-buffer.js";
9
10
  import { createStructBuffer } from "./create-struct-buffer.js";
10
11
  import { isTypedBuffer } from "./is-typed-buffer.js";
11
12
  export function registerTypedBufferCodecs() {
@@ -15,13 +16,13 @@ export function registerTypedBufferCodecs() {
15
16
  serialize: (data) => {
16
17
  const { type, schema, capacity } = data;
17
18
  try {
18
- if (type === "const" || (schema.nonPersistent ?? schema.ephemeral)) {
19
+ if (type === "const" || schema.nonPersistent) {
19
20
  return { json: { type, schema, capacity } };
20
21
  }
21
22
  else if (type === "array") {
22
23
  return { json: { type, schema, capacity, array: data.slice() } };
23
24
  }
24
- else if (type === "enum" || type === "number" || type === "struct") {
25
+ else if (type === "boolean" || type === "enum" || type === "number" || type === "struct") {
25
26
  const typedArray = data.getTypedArray();
26
27
  const view = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
27
28
  return { json: { type, schema, capacity }, binary: [toArrayBufferBacked(view)] };
@@ -43,10 +44,13 @@ export function registerTypedBufferCodecs() {
43
44
  }
44
45
  else if (type === "array") {
45
46
  const isEnum = schema.enum !== undefined && schema.enum.length > 0;
47
+ const isBoolean = schema.type === "boolean";
46
48
  const buffer = isEnum
47
49
  ? createEnumBuffer(schema, capacity)
48
- : createArrayBuffer(schema, capacity);
49
- if ((schema.nonPersistent ?? schema.ephemeral)) {
50
+ : isBoolean
51
+ ? createBooleanBuffer(schema, capacity)
52
+ : createArrayBuffer(schema, capacity);
53
+ if (schema.nonPersistent) {
50
54
  if (schema.default !== undefined && schema.default !== 0) {
51
55
  for (let i = 0; i < capacity; i++) {
52
56
  buffer.set(i, schema.default);
@@ -60,9 +64,23 @@ export function registerTypedBufferCodecs() {
60
64
  }
61
65
  return buffer;
62
66
  }
67
+ else if (type === "boolean") {
68
+ const buffer = createBooleanBuffer(schema, capacity);
69
+ if (!schema.nonPersistent) {
70
+ if (binary[0]) {
71
+ copyViewBytes(binary[0], buffer.getTypedArray());
72
+ }
73
+ else if (array) {
74
+ for (let i = 0; i < capacity; i++) {
75
+ buffer.set(i, array[i]);
76
+ }
77
+ }
78
+ }
79
+ return buffer;
80
+ }
63
81
  else if (type === "enum") {
64
82
  const buffer = createEnumBuffer(schema, capacity);
65
- if (!(schema.nonPersistent ?? schema.ephemeral)) {
83
+ if (!schema.nonPersistent) {
66
84
  if (binary[0]) {
67
85
  copyViewBytes(binary[0], buffer.getTypedArray());
68
86
  }
@@ -76,7 +94,7 @@ export function registerTypedBufferCodecs() {
76
94
  }
77
95
  else if (type === "number" || type === "struct") {
78
96
  const buffer = type === "number" ? createNumberBuffer(schema, capacity) : createStructBuffer(schema, capacity);
79
- if ((schema.nonPersistent ?? schema.ephemeral)) {
97
+ if (schema.nonPersistent) {
80
98
  if (schema.default !== undefined && schema.default !== 0) {
81
99
  for (let i = 0; i < capacity; i++) {
82
100
  buffer.set(i, schema.default);
@@ -1 +1 @@
1
- {"version":3,"file":"register-typed-buffer-codecs.js","sourceRoot":"","sources":["../../src/typed-buffer/register-typed-buffer-codecs.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,MAAM,UAAU,yBAAyB;IACrC,aAAa,CAAmB;QAC5B,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,CAAC,IAAsB,EAAE,EAAE;YAClC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC;gBACD,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAChD,CAAC;qBACI,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACxB,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAsB,EAAE,EAAE,CAAC;gBACzF,CAAC;qBACI,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC7F,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACrF,CAAC;qBACI,CAAC;oBACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACL,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzE,MAAM,CAAC,CAAC;YACZ,CAAC;QACL,CAAC;QACD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAwC,EAAE,EAAE;YACpE,MAAM,OAAO,GAAG,IAAkF,CAAC;YACnG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YAClD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnB,OAAO,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC;iBACI,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnE,MAAM,MAAM,GAAG,MAAM;oBACjB,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC;oBACpC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7C,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;wBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;4BAChC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC;oBACL,CAAC;gBACL,CAAC;qBACI,CAAC;oBACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;wBAChC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;iBACI,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAClD,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9C,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBACZ,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;oBACrD,CAAC;yBAAM,IAAI,KAAK,EAAE,CAAC;wBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;4BAChC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5B,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;iBACI,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC/G,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7C,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;wBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;4BAChC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC;oBACL,CAAC;gBACL,CAAC;qBACI,CAAC;oBACF,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;iBACI,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"register-typed-buffer-codecs.js","sourceRoot":"","sources":["../../src/typed-buffer/register-typed-buffer-codecs.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TypedArray } from "../internal/typed-array/index.js";
2
2
  import { Schema } from "../schema/index.js";
3
3
  import { typedBufferEquals } from "./typed-buffer-equals.js";
4
- export type TypedBufferType = "array" | "const" | "enum" | "number" | "struct";
4
+ export type TypedBufferType = "array" | "boolean" | "const" | "enum" | "number" | "struct";
5
5
  export interface ReadonlyTypedBuffer<T> {
6
6
  readonly type: TypedBufferType;
7
7
  readonly schema: Schema;
@@ -36,4 +36,7 @@ export declare abstract class TypedBuffer<T> implements ReadonlyTypedBuffer<T> {
36
36
  * @returns True if the buffers are deeply equal, false otherwise.
37
37
  */
38
38
  static equals: typeof typedBufferEquals;
39
+ static schema: {
40
+ readonly type: "typed-buffer";
41
+ };
39
42
  }
@@ -11,5 +11,6 @@ export class TypedBuffer {
11
11
  * @returns True if the buffers are deeply equal, false otherwise.
12
12
  */
13
13
  static { this.equals = typedBufferEquals; }
14
+ static { this.schema = { type: 'typed-buffer' }; }
14
15
  }
15
16
  //# sourceMappingURL=typed-buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/typed-buffer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAc7D,MAAM,OAAgB,WAAW;IAI7B,YAA4B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAF1B,YAAO,GAAG,aAAa,CAAC;IAGxC,CAAC;IAiBD;;;;;OAKG;aACI,WAAM,GAAG,iBAAiB,AAApB,CAAqB"}
1
+ {"version":3,"file":"typed-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/typed-buffer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAc7D,MAAM,OAAgB,WAAW;IAI7B,YAA4B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAF1B,YAAO,GAAG,aAAa,CAAC;IAGxC,CAAC;IAiBD;;;;;OAKG;aACI,WAAM,GAAG,iBAAiB,AAApB,CAAqB;aAE3B,WAAM,GAAG,EAAE,IAAI,EAAE,cAAc,EAA4B,AAArD,CAAsD"}
@@ -0,0 +1,14 @@
1
+ import type { TypedBuffer } from "../../typed-buffer/index.js";
2
+ /**
3
+ * Called once per world-space line along the iteration axis.
4
+ *
5
+ * @param segments Reused flat `[offset₀, length₀, offset₁, length₁, …]`.
6
+ * Adjacent sparse blocks along the axis are merged into one callback with
7
+ * multiple pairs. Dense volumes always emit a single pair.
8
+ * @param step Buffer index stride between consecutive voxels along the axis.
9
+ * @param x World x of the first voxel in the line.
10
+ * @param y World y of the first voxel in the line.
11
+ * @param z World z of the first voxel in the line.
12
+ * @param done True on the final line of this axis iteration.
13
+ */
14
+ export type AxisLineCallback<T> = (buffer: TypedBuffer<T>, segments: number[], step: number, x: number, y: number, z: number, done: boolean) => void;
@@ -0,0 +1,3 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ export {};
3
+ //# sourceMappingURL=axis-line-callback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axis-line-callback.js","sourceRoot":"","sources":["../../../src/types/volume/axis-line-callback.ts"],"names":[],"mappings":"AAAA,uDAAuD"}
@@ -0,0 +1,9 @@
1
+ import type { TypedBuffer } from "../../typed-buffer/index.js";
2
+ import type { BlockSpan } from "./block-span.js";
3
+ /**
4
+ * Called once per block, in stable implementation-defined order.
5
+ *
6
+ * Voxels are in standard dense layout: local `(lx, ly, lz)` is at
7
+ * `block.offset + getDenseIndex(block.size, lx, ly, lz)`.
8
+ */
9
+ export type BlockCallback<T> = (buffer: TypedBuffer<T>, block: BlockSpan, done: boolean) => void;
@@ -0,0 +1,3 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ export {};
3
+ //# sourceMappingURL=block-callback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-callback.js","sourceRoot":"","sources":["../../../src/types/volume/block-callback.ts"],"names":[],"mappings":"AAAA,uDAAuD"}
@@ -0,0 +1,9 @@
1
+ /** One block emitted by Volume.iterateBlocks. */
2
+ export interface BlockSpan {
3
+ /** World coordinate of local voxel (0, 0, 0). */
4
+ readonly origin: readonly [number, number, number];
5
+ /** Extent along each axis. */
6
+ readonly size: readonly [number, number, number];
7
+ /** Buffer index of local (0, 0, 0). */
8
+ readonly offset: number;
9
+ }
@@ -0,0 +1,3 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ export {};
3
+ //# sourceMappingURL=block-span.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-span.js","sourceRoot":"","sources":["../../../src/types/volume/block-span.ts"],"names":[],"mappings":"AAAA,uDAAuD"}
@@ -0,0 +1,6 @@
1
+ import type { Vec3 } from "../../../math/index.js";
2
+ import type { Schema } from "../../../schema/index.js";
3
+ import type { Volume } from "../volume.js";
4
+ export declare const createDense: <S extends Schema & {
5
+ default: Schema.ToType<S>;
6
+ }>(size: Vec3, schema: S) => Volume<Schema.ToType<S>>;
@@ -0,0 +1,9 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ import { createTypedBuffer } from "../../../typed-buffer/create-typed-buffer.js";
3
+ import { DenseVolume } from "./dense-volume.js";
4
+ const expectedCapacity = (size) => size[0] * size[1] * size[2];
5
+ export const createDense = (size, schema) => {
6
+ const data = createTypedBuffer(schema, expectedCapacity(size));
7
+ return new DenseVolume(size, data);
8
+ };
9
+ //# sourceMappingURL=create-dense.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-dense.js","sourceRoot":"","sources":["../../../../src/types/volume/create-dense/create-dense.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAIvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,IAAU,EACV,MAAS,EACe,EAAE;IAC1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC,CAAC"}