@adobe/data 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (621) hide show
  1. package/dist/blob/blob-handle.d.ts +2 -2
  2. package/dist/blob/blob-meta.d.ts +2 -2
  3. package/dist/cache/blob-store.d.ts +2 -2
  4. package/dist/cache/data-cache.d.ts +1 -1
  5. package/dist/cache/functions/memoize.d.ts +1 -3
  6. package/dist/cache/functions/memoize.js +1 -3
  7. package/dist/cache/functions/memoize.js.map +1 -1
  8. package/dist/cache/managed-array.d.ts +2 -2
  9. package/dist/cache/managed-array.js.map +1 -1
  10. package/dist/cache/memory-allocator.d.ts +1 -1
  11. package/dist/cache/memory-allocator.js +2 -2
  12. package/dist/cache/memory-allocator.js.map +1 -1
  13. package/dist/ecs/archetype/create-archetype.d.ts +2 -2
  14. package/dist/ecs/archetype/create-archetype.js.map +1 -1
  15. package/dist/ecs/archetype/create-archetype.test.js +9 -9
  16. package/dist/ecs/archetype/create-archetype.test.js.map +1 -1
  17. package/dist/ecs/archetype/delete-row.test.js +4 -4
  18. package/dist/ecs/archetype/delete-row.test.js.map +1 -1
  19. package/dist/ecs/component-schemas.d.ts +1 -1
  20. package/dist/ecs/database/create-database.test.js +6 -6
  21. package/dist/ecs/database/create-database.test.js.map +1 -1
  22. package/dist/ecs/database/database-schema/create-database-schema.d.ts +1 -1
  23. package/dist/ecs/database/database-schema/database-schema.d.ts +1 -1
  24. package/dist/ecs/database/index.d.ts +1 -0
  25. package/dist/ecs/database/observe-dependent-value.js +3 -3
  26. package/dist/ecs/database/observe-dependent-value.js.map +1 -1
  27. package/dist/ecs/database/observe-select-entities.js +2 -2
  28. package/dist/ecs/database/observe-select-entities.js.map +1 -1
  29. package/dist/ecs/database/observe-select-entities.performance.test.js +6 -6
  30. package/dist/ecs/database/observe-select-entities.performance.test.js.map +1 -1
  31. package/dist/ecs/database/observe-select-entities.test.js +6 -6
  32. package/dist/ecs/database/observe-select-entities.test.js.map +1 -1
  33. package/dist/ecs/database/observed/create-observed-database.js +2 -2
  34. package/dist/ecs/database/observed/create-observed-database.js.map +1 -1
  35. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +6 -6
  36. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  37. package/dist/ecs/entity-location-table/entity-location.d.ts +2 -2
  38. package/dist/ecs/entity-location-table/entity-location.js +3 -3
  39. package/dist/ecs/entity-location-table/entity-location.js.map +1 -1
  40. package/dist/ecs/entity.d.ts +2 -2
  41. package/dist/ecs/entity.js +2 -2
  42. package/dist/ecs/entity.js.map +1 -1
  43. package/dist/ecs/index.d.ts +3 -0
  44. package/dist/ecs/index.js.map +1 -1
  45. package/dist/ecs/resource-schemas.d.ts +1 -1
  46. package/dist/ecs/store/core/core.d.ts +1 -1
  47. package/dist/ecs/store/core/create-core.d.ts +2 -2
  48. package/dist/ecs/store/core/create-core.js +2 -2
  49. package/dist/ecs/store/core/create-core.js.map +1 -1
  50. package/dist/ecs/store/core/create-core.test.js +6 -6
  51. package/dist/ecs/store/core/create-core.test.js.map +1 -1
  52. package/dist/ecs/store/core/select-entities.test.js +3 -3
  53. package/dist/ecs/store/core/select-entities.test.js.map +1 -1
  54. package/dist/ecs/store/create-store.d.ts +1 -1
  55. package/dist/ecs/store/create-store.js.map +1 -1
  56. package/dist/ecs/store/create-store.test.js +8 -8
  57. package/dist/ecs/store/create-store.test.js.map +1 -1
  58. package/dist/ecs/store/index.d.ts +2 -0
  59. package/dist/ecs/store/store.d.ts +1 -1
  60. package/dist/ecs/undo-redo-service/create-undo-redo-service.js +5 -7
  61. package/dist/ecs/undo-redo-service/create-undo-redo-service.js.map +1 -1
  62. package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js +4 -4
  63. package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js.map +1 -1
  64. package/dist/ecs/undo-redo-service/undo-redo-service.d.ts +1 -1
  65. package/dist/index.d.ts +2 -2
  66. package/dist/is-data.d.ts +3 -4
  67. package/dist/lit/hooks/use-drag-observe.d.ts +2 -1
  68. package/dist/lit/hooks/use-drag-observe.js +2 -2
  69. package/dist/lit/hooks/use-drag-observe.js.map +1 -1
  70. package/dist/lit/hooks/use-drag-transaction.js +3 -3
  71. package/dist/lit/hooks/use-drag-transaction.js.map +1 -1
  72. package/dist/lit/hooks/use-draggable.d.ts +1 -1
  73. package/dist/lit/hooks/use-draggable.js +1 -1
  74. package/dist/lit/hooks/use-draggable.js.map +1 -1
  75. package/dist/lit/hooks/use-observable-values.js +2 -2
  76. package/dist/lit/hooks/use-observable-values.js.map +1 -1
  77. package/dist/lit/index.d.ts +1 -0
  78. package/dist/math/aabb/center.d.ts +3 -0
  79. package/dist/math/aabb/center.js +6 -0
  80. package/dist/math/aabb/center.js.map +1 -0
  81. package/dist/math/aabb/face/aabb-face.test.js +55 -0
  82. package/dist/math/aabb/face/aabb-face.test.js.map +1 -0
  83. package/dist/math/aabb/face/functions.d.ts +47 -0
  84. package/dist/math/{face/face.js → aabb/face/functions.js} +66 -28
  85. package/dist/math/aabb/face/functions.js.map +1 -0
  86. package/dist/math/aabb/face/index.d.ts +4 -0
  87. package/dist/{ecs/world/world-schema/world-schema.js → math/aabb/face/index.js} +2 -2
  88. package/dist/math/aabb/face/index.js.map +1 -0
  89. package/dist/math/aabb/face/public.d.ts +2 -0
  90. package/dist/{ecs/entity/u32.js → math/aabb/face/public.js} +3 -3
  91. package/dist/math/aabb/face/public.js.map +1 -0
  92. package/dist/math/aabb/face/schema.d.ts +5 -0
  93. package/dist/math/aabb/face/schema.js +27 -0
  94. package/dist/math/aabb/face/schema.js.map +1 -0
  95. package/dist/math/aabb/index.d.ts +4 -0
  96. package/dist/{ecs/world/world-schema → math/aabb}/index.js +1 -2
  97. package/dist/math/aabb/index.js.map +1 -0
  98. package/dist/math/aabb/layout.d.ts +1 -0
  99. package/dist/math/aabb/layout.js +25 -0
  100. package/dist/math/aabb/layout.js.map +1 -0
  101. package/dist/math/aabb/line-intersection.d.ts +10 -0
  102. package/dist/math/aabb/line-intersection.js +42 -0
  103. package/dist/math/aabb/line-intersection.js.map +1 -0
  104. package/dist/math/aabb/line-intersection.test.js +1 -1
  105. package/dist/math/aabb/line-intersection.test.js.map +1 -1
  106. package/dist/math/aabb/public.d.ts +6 -0
  107. package/dist/math/aabb/public.js +28 -0
  108. package/dist/math/aabb/public.js.map +1 -0
  109. package/dist/math/aabb/schema.d.ts +33 -0
  110. package/dist/math/aabb/schema.js +36 -0
  111. package/dist/math/aabb/schema.js.map +1 -0
  112. package/dist/math/aabb/unit.d.ts +5 -0
  113. package/dist/math/aabb/unit.js +8 -0
  114. package/dist/math/aabb/unit.js.map +1 -0
  115. package/dist/math/f32/index.d.ts +4 -0
  116. package/dist/math/f32/index.js +23 -0
  117. package/dist/math/f32/index.js.map +1 -0
  118. package/dist/math/f32/public.d.ts +1 -0
  119. package/dist/math/{picking/pick-result.js → f32/public.js} +2 -2
  120. package/dist/math/f32/public.js.map +1 -0
  121. package/dist/math/f32/schema.d.ts +5 -0
  122. package/dist/math/f32/schema.js +27 -0
  123. package/dist/math/f32/schema.js.map +1 -0
  124. package/dist/math/f64/index.d.ts +4 -0
  125. package/dist/math/f64/index.js +2 -0
  126. package/dist/math/f64/index.js.map +1 -0
  127. package/dist/math/f64/public.d.ts +1 -0
  128. package/dist/math/f64/public.js +23 -0
  129. package/dist/math/f64/public.js.map +1 -0
  130. package/dist/math/f64/schema.d.ts +5 -0
  131. package/dist/math/f64/schema.js +6 -0
  132. package/dist/math/f64/schema.js.map +1 -0
  133. package/dist/math/i32/index.d.ts +4 -0
  134. package/dist/math/i32/index.js +23 -0
  135. package/dist/math/i32/index.js.map +1 -0
  136. package/dist/math/i32/public.d.ts +1 -0
  137. package/dist/math/i32/public.js +23 -0
  138. package/dist/math/i32/public.js.map +1 -0
  139. package/dist/math/i32/schema.d.ts +6 -0
  140. package/dist/math/i32/schema.js +28 -0
  141. package/dist/math/i32/schema.js.map +1 -0
  142. package/dist/math/index.d.ts +14 -13
  143. package/dist/math/index.js +14 -13
  144. package/dist/math/index.js.map +1 -1
  145. package/dist/math/line2/functions.d.ts +5 -0
  146. package/dist/math/line2/functions.js +61 -0
  147. package/dist/math/line2/functions.js.map +1 -0
  148. package/dist/math/line2/index.d.ts +4 -0
  149. package/dist/math/line2/index.js +23 -0
  150. package/dist/math/line2/index.js.map +1 -0
  151. package/dist/math/line2/layout.d.ts +1 -0
  152. package/dist/math/line2/layout.js +25 -0
  153. package/dist/math/line2/layout.js.map +1 -0
  154. package/dist/math/line2/public.d.ts +3 -0
  155. package/dist/math/line2/public.js +25 -0
  156. package/dist/math/line2/public.js.map +1 -0
  157. package/dist/math/line2/schema.d.ts +33 -0
  158. package/dist/math/line2/schema.js +37 -0
  159. package/dist/math/line2/schema.js.map +1 -0
  160. package/dist/math/line3/functions.d.ts +17 -0
  161. package/dist/math/line3/functions.js +70 -0
  162. package/dist/math/line3/functions.js.map +1 -0
  163. package/dist/math/line3/index.d.ts +4 -0
  164. package/dist/math/line3/index.js +23 -0
  165. package/dist/math/line3/index.js.map +1 -0
  166. package/dist/math/line3/layout.d.ts +1 -0
  167. package/dist/math/line3/layout.js +25 -0
  168. package/dist/math/line3/layout.js.map +1 -0
  169. package/dist/math/line3/public.d.ts +3 -0
  170. package/dist/math/line3/public.js +25 -0
  171. package/dist/math/line3/public.js.map +1 -0
  172. package/dist/math/line3/schema.d.ts +33 -0
  173. package/dist/math/line3/schema.js +37 -0
  174. package/dist/math/line3/schema.js.map +1 -0
  175. package/dist/math/mat4x4/functions.d.ts +23 -0
  176. package/dist/math/mat4x4/functions.js +236 -0
  177. package/dist/math/mat4x4/functions.js.map +1 -0
  178. package/dist/math/mat4x4/index.d.ts +26 -0
  179. package/dist/math/{picking → mat4x4}/index.js +23 -5
  180. package/dist/math/mat4x4/index.js.map +1 -0
  181. package/dist/math/mat4x4/layout.d.ts +1 -0
  182. package/dist/math/mat4x4/layout.js +25 -0
  183. package/dist/math/mat4x4/layout.js.map +1 -0
  184. package/dist/math/mat4x4/public.d.ts +3 -0
  185. package/dist/math/mat4x4/public.js +25 -0
  186. package/dist/math/mat4x4/public.js.map +1 -0
  187. package/dist/math/mat4x4/schema.d.ts +11 -0
  188. package/dist/math/mat4x4/schema.js +30 -0
  189. package/dist/math/mat4x4/schema.js.map +1 -0
  190. package/dist/math/plane/functions.d.ts +16 -0
  191. package/dist/math/plane/functions.js +55 -0
  192. package/dist/math/plane/functions.js.map +1 -0
  193. package/dist/math/plane/index.d.ts +4 -0
  194. package/dist/math/plane/index.js +23 -0
  195. package/dist/math/plane/index.js.map +1 -0
  196. package/dist/math/plane/layout.d.ts +1 -0
  197. package/dist/math/plane/layout.js +25 -0
  198. package/dist/math/plane/layout.js.map +1 -0
  199. package/dist/math/plane/public.d.ts +3 -0
  200. package/dist/math/plane/public.js +25 -0
  201. package/dist/math/plane/public.js.map +1 -0
  202. package/dist/math/plane/schema.d.ts +24 -0
  203. package/dist/math/plane/schema.js +34 -0
  204. package/dist/math/plane/schema.js.map +1 -0
  205. package/dist/math/quat/constants/functions.d.ts +43 -0
  206. package/dist/math/quat/constants/functions.js +258 -0
  207. package/dist/math/quat/constants/functions.js.map +1 -0
  208. package/dist/math/quat/functions.d.ts +43 -0
  209. package/dist/math/quat/functions.js +258 -0
  210. package/dist/math/quat/functions.js.map +1 -0
  211. package/dist/math/quat/index.d.ts +4 -0
  212. package/dist/math/quat/index.js +23 -0
  213. package/dist/math/quat/index.js.map +1 -0
  214. package/dist/math/quat/layout.d.ts +1 -0
  215. package/dist/math/quat/layout.js +25 -0
  216. package/dist/math/quat/layout.js.map +1 -0
  217. package/dist/math/quat/public.d.ts +3 -0
  218. package/dist/math/quat/public.js +25 -0
  219. package/dist/math/quat/public.js.map +1 -0
  220. package/dist/math/quat/schema.d.ts +11 -0
  221. package/dist/math/quat/schema.js +30 -0
  222. package/dist/math/quat/schema.js.map +1 -0
  223. package/dist/math/u32/index.d.ts +4 -0
  224. package/dist/math/u32/index.js +23 -0
  225. package/dist/math/u32/index.js.map +1 -0
  226. package/dist/math/u32/public.d.ts +1 -0
  227. package/dist/math/u32/public.js +23 -0
  228. package/dist/math/u32/public.js.map +1 -0
  229. package/dist/{ecs/entity/u32.d.ts → math/u32/schema.d.ts} +0 -2
  230. package/dist/math/u32/schema.js +28 -0
  231. package/dist/math/u32/schema.js.map +1 -0
  232. package/dist/math/vec2/functions.d.ts +48 -0
  233. package/dist/math/vec2/functions.js +104 -0
  234. package/dist/math/vec2/functions.js.map +1 -0
  235. package/dist/math/vec2/index.d.ts +4 -0
  236. package/dist/math/vec2/index.js +23 -0
  237. package/dist/math/vec2/index.js.map +1 -0
  238. package/dist/math/vec2/layout.d.ts +1 -0
  239. package/dist/math/vec2/layout.js +25 -0
  240. package/dist/math/vec2/layout.js.map +1 -0
  241. package/dist/math/vec2/public.d.ts +3 -0
  242. package/dist/math/vec2/public.js +25 -0
  243. package/dist/math/vec2/public.js.map +1 -0
  244. package/dist/math/vec2/schema.d.ts +11 -0
  245. package/dist/math/vec2/schema.js +30 -0
  246. package/dist/math/vec2/schema.js.map +1 -0
  247. package/dist/math/vec3/functions.d.ts +59 -0
  248. package/dist/math/vec3/functions.js +159 -0
  249. package/dist/math/vec3/functions.js.map +1 -0
  250. package/dist/math/vec3/index.d.ts +4 -0
  251. package/dist/math/vec3/index.js +23 -0
  252. package/dist/math/vec3/index.js.map +1 -0
  253. package/dist/math/vec3/layout.d.ts +1 -0
  254. package/dist/math/vec3/layout.js +25 -0
  255. package/dist/math/vec3/layout.js.map +1 -0
  256. package/dist/math/vec3/public.d.ts +3 -0
  257. package/dist/math/vec3/public.js +25 -0
  258. package/dist/math/vec3/public.js.map +1 -0
  259. package/dist/math/vec3/schema.d.ts +11 -0
  260. package/dist/math/vec3/schema.js +30 -0
  261. package/dist/math/vec3/schema.js.map +1 -0
  262. package/dist/math/vec4/functions.d.ts +49 -0
  263. package/dist/math/vec4/functions.js +150 -0
  264. package/dist/math/vec4/functions.js.map +1 -0
  265. package/dist/math/vec4/index.d.ts +4 -0
  266. package/dist/math/vec4/index.js +23 -0
  267. package/dist/math/vec4/index.js.map +1 -0
  268. package/dist/math/vec4/layout.d.ts +1 -0
  269. package/dist/math/vec4/layout.js +25 -0
  270. package/dist/math/vec4/layout.js.map +1 -0
  271. package/dist/math/vec4/public.d.ts +3 -0
  272. package/dist/math/vec4/public.js +25 -0
  273. package/dist/math/vec4/public.js.map +1 -0
  274. package/dist/math/vec4/schema.d.ts +11 -0
  275. package/dist/{ecs/world/index.js → math/vec4/schema.js} +9 -6
  276. package/dist/math/vec4/schema.js.map +1 -0
  277. package/dist/mutable.d.ts +3 -4
  278. package/dist/observe/create-event.d.ts +10 -0
  279. package/dist/observe/create-event.js +22 -0
  280. package/dist/observe/create-event.js.map +1 -0
  281. package/dist/observe/create-persisted-state.d.ts +1 -1
  282. package/dist/observe/create-persisted-state.js +2 -2
  283. package/dist/observe/create-persisted-state.js.map +1 -1
  284. package/dist/observe/create-query-state.d.ts +2 -3
  285. package/dist/observe/create-query-state.js +2 -2
  286. package/dist/observe/create-query-state.js.map +1 -1
  287. package/dist/observe/create-state.d.ts +7 -0
  288. package/dist/observe/create-state.js +27 -0
  289. package/dist/observe/create-state.js.map +1 -0
  290. package/dist/observe/from-array.d.ts +1 -1
  291. package/dist/observe/from-constant.d.ts +1 -1
  292. package/dist/observe/from-element-id.d.ts +1 -1
  293. package/dist/observe/from-element-properties-and-events.d.ts +1 -1
  294. package/dist/observe/from-element-property.d.ts +1 -1
  295. package/dist/observe/from-promise-with-error.d.ts +1 -1
  296. package/dist/observe/from-promise.d.ts +1 -1
  297. package/dist/observe/from-properties.d.ts +1 -1
  298. package/dist/observe/index.d.ts +16 -30
  299. package/dist/observe/index.js +1 -32
  300. package/dist/observe/index.js.map +1 -1
  301. package/dist/observe/observe.test.js +4 -4
  302. package/dist/observe/observe.test.js.map +1 -1
  303. package/dist/observe/public.d.ts +28 -0
  304. package/dist/{ecs/store/store-schema/create-store-schema-test.js → observe/public.js} +29 -12
  305. package/dist/observe/public.js.map +1 -0
  306. package/dist/observe/to-async-generator.d.ts +1 -1
  307. package/dist/observe/to-promise.d.ts +2 -2
  308. package/dist/observe/to-promise.js +1 -1
  309. package/dist/observe/to-properties.d.ts +1 -1
  310. package/dist/observe/with-async-map.d.ts +1 -1
  311. package/dist/observe/with-batch.d.ts +1 -1
  312. package/dist/observe/with-batch.test.js +5 -5
  313. package/dist/observe/with-batch.test.js.map +1 -1
  314. package/dist/observe/with-cache.d.ts +1 -1
  315. package/dist/observe/with-copy.d.ts +1 -1
  316. package/dist/observe/with-deduplicate-data.d.ts +1 -1
  317. package/dist/observe/with-deduplicate.d.ts +1 -1
  318. package/dist/observe/with-default.d.ts +1 -1
  319. package/dist/observe/with-filter.d.ts +1 -1
  320. package/dist/observe/with-lazy.d.ts +1 -1
  321. package/dist/observe/with-lazy.test.js +3 -3
  322. package/dist/observe/with-lazy.test.js.map +1 -1
  323. package/dist/observe/with-map-data.d.ts +1 -1
  324. package/dist/observe/with-map.d.ts +1 -1
  325. package/dist/observe/with-optional.d.ts +1 -1
  326. package/dist/observe/with-unwrap.d.ts +1 -1
  327. package/dist/old-ecs/action-ecs/action-ecs.js +2 -2
  328. package/dist/old-ecs/action-ecs/action-ecs.js.map +1 -1
  329. package/dist/old-ecs/action-ecs/action-ecs.test.js +3 -3
  330. package/dist/old-ecs/action-ecs/action-ecs.test.js.map +1 -1
  331. package/dist/old-ecs/action-ecs/action-types.d.ts +4 -4
  332. package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js +3 -3
  333. package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js.map +1 -1
  334. package/dist/old-ecs/core-ecs/core-ecs-types.d.ts +3 -3
  335. package/dist/old-ecs/core-ecs/core-ecs.js +2 -2
  336. package/dist/old-ecs/core-ecs/core-ecs.js.map +1 -1
  337. package/dist/old-ecs/core-ecs/core-ecs.test.js +2 -2
  338. package/dist/old-ecs/core-ecs/core-ecs.test.js.map +1 -1
  339. package/dist/old-ecs/ecs/ecs-types.d.ts +3 -3
  340. package/dist/old-ecs/ecs/ecs.test.js +3 -3
  341. package/dist/old-ecs/ecs/ecs.test.js.map +1 -1
  342. package/dist/old-ecs/entity.d.ts +2 -2
  343. package/dist/old-ecs/entity.js +2 -2
  344. package/dist/old-ecs/entity.js.map +1 -1
  345. package/dist/old-ecs/transaction-ecs/transaction-types.d.ts +4 -4
  346. package/dist/perftest/ecs-perf.js +11 -11
  347. package/dist/perftest/ecs-perf.js.map +1 -1
  348. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js +3 -3
  349. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js.map +1 -1
  350. package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.d.ts +3 -3
  351. package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.d.ts +1 -1
  352. package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.d.ts +1 -1
  353. package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.d.ts +1 -1
  354. package/dist/samples/todo/services/state-service/create-todo-database.d.ts +2 -2
  355. package/dist/samples/todo/services/state-service/create-todo-store.d.ts +2 -2
  356. package/dist/samples/todo/services/state-service/create-todo-store.js +5 -4
  357. package/dist/samples/todo/services/state-service/create-todo-store.js.map +1 -1
  358. package/dist/schema/FromSchemas.d.ts +4 -0
  359. package/dist/schema/FromSchemas.js +2 -0
  360. package/dist/schema/FromSchemas.js.map +1 -0
  361. package/dist/schema/boolean/index.d.ts +4 -0
  362. package/dist/schema/boolean/index.js +23 -0
  363. package/dist/schema/boolean/index.js.map +1 -0
  364. package/dist/schema/boolean/public.d.ts +1 -0
  365. package/dist/schema/boolean/public.js +23 -0
  366. package/dist/schema/boolean/public.js.map +1 -0
  367. package/dist/schema/boolean/schema.d.ts +3 -0
  368. package/dist/schema/boolean/schema.js +4 -0
  369. package/dist/schema/boolean/schema.js.map +1 -0
  370. package/dist/schema/from-schemas.d.ts +5 -0
  371. package/dist/schema/from-schemas.js +2 -0
  372. package/dist/schema/from-schemas.js.map +1 -0
  373. package/dist/schema/index.d.ts +9 -8
  374. package/dist/schema/index.js +6 -7
  375. package/dist/schema/index.js.map +1 -1
  376. package/dist/schema/public.d.ts +4 -0
  377. package/dist/schema/public.js +26 -0
  378. package/dist/schema/public.js.map +1 -0
  379. package/dist/schema/schema copy.d.ts +147 -0
  380. package/dist/schema/schema copy.js +34 -0
  381. package/dist/schema/schema copy.js.map +1 -0
  382. package/dist/schema/schema.d.ts +2 -80
  383. package/dist/schema/schema.js +0 -10
  384. package/dist/schema/schema.js.map +1 -1
  385. package/dist/schema/time/index.d.ts +4 -0
  386. package/dist/schema/time/index.js +23 -0
  387. package/dist/schema/time/index.js.map +1 -0
  388. package/dist/schema/time/public.d.ts +1 -0
  389. package/dist/schema/time/public.js +23 -0
  390. package/dist/schema/time/public.js.map +1 -0
  391. package/dist/schema/time/schema.d.ts +5 -0
  392. package/dist/schema/time/schema.js +24 -0
  393. package/dist/schema/time/schema.js.map +1 -0
  394. package/dist/schema/to-type.d.ts +77 -0
  395. package/dist/schema/to-type.js +33 -0
  396. package/dist/schema/to-type.js.map +1 -0
  397. package/dist/schema/to-vertex-buffer-layout.d.ts +2 -2
  398. package/dist/schema/to-vertex-buffer-layout.js +28 -14
  399. package/dist/schema/to-vertex-buffer-layout.js.map +1 -1
  400. package/dist/schema/to-vertex-buffer-layout.test.js +18 -18
  401. package/dist/schema/to-vertex-buffer-layout.test.js.map +1 -1
  402. package/dist/schema/true/index.d.ts +4 -0
  403. package/dist/schema/true/index.js +23 -0
  404. package/dist/schema/true/index.js.map +1 -0
  405. package/dist/schema/true/public.d.ts +1 -0
  406. package/dist/schema/true/public.js +23 -0
  407. package/dist/schema/true/public.js.map +1 -0
  408. package/dist/schema/true/schema.d.ts +5 -0
  409. package/dist/schema/true/schema.js +2 -0
  410. package/dist/schema/true/schema.js.map +1 -0
  411. package/dist/schema/type.d.ts +76 -0
  412. package/dist/schema/type.js +33 -0
  413. package/dist/schema/type.js.map +1 -0
  414. package/dist/schema/validation/with-validation.d.ts +2 -2
  415. package/dist/schema/validation/with-validation.js.map +1 -1
  416. package/dist/schema/validation/with-validation.test.js.map +1 -1
  417. package/dist/service/add-observable-actions.d.ts +5 -5
  418. package/dist/service/add-observable-actions.js +2 -2
  419. package/dist/service/add-observable-actions.js.map +1 -1
  420. package/dist/service/index.d.ts +1 -1
  421. package/dist/service/index.js.map +1 -1
  422. package/dist/service/progressive-result.d.ts +2 -3
  423. package/dist/table/add-row.d.ts +2 -2
  424. package/dist/table/add-row.js +2 -2
  425. package/dist/table/create-table.d.ts +2 -2
  426. package/dist/table/create-table.js.map +1 -1
  427. package/dist/table/delete-row.d.ts +2 -2
  428. package/dist/table/delete-row.js +2 -2
  429. package/dist/table/row-index.d.ts +2 -2
  430. package/dist/table/row-index.js +2 -2
  431. package/dist/table/row-index.js.map +1 -1
  432. package/dist/table/table-compact.test.js +9 -9
  433. package/dist/table/table-compact.test.js.map +1 -1
  434. package/dist/table/update-row.d.ts +4 -3
  435. package/dist/table/update-row.js +4 -3
  436. package/dist/table/update-row.js.map +1 -1
  437. package/dist/tsconfig.tsbuildinfo +1 -1
  438. package/dist/typed-buffer/create-array-buffer.d.ts +2 -2
  439. package/dist/typed-buffer/create-const-buffer.d.ts +1 -1
  440. package/dist/typed-buffer/create-number-buffer.d.ts +1 -1
  441. package/dist/typed-buffer/create-number-buffer.js +4 -4
  442. package/dist/typed-buffer/create-number-buffer.js.map +1 -1
  443. package/dist/typed-buffer/create-number-buffer.test.js +2 -2
  444. package/dist/typed-buffer/create-number-buffer.test.js.map +1 -1
  445. package/dist/typed-buffer/create-struct-buffer.d.ts +3 -3
  446. package/dist/typed-buffer/create-struct-buffer.js.map +1 -1
  447. package/dist/typed-buffer/create-struct-buffer.test.js +10 -10
  448. package/dist/typed-buffer/create-struct-buffer.test.js.map +1 -1
  449. package/dist/typed-buffer/create-typed-buffer.d.ts +3 -3
  450. package/dist/typed-buffer/create-typed-buffer.js.map +1 -1
  451. package/dist/typed-buffer/index.d.ts +1 -0
  452. package/dist/typed-buffer/structs/assert-struct.d.ts +1 -1
  453. package/dist/typed-buffer/structs/get-struct-layout.d.ts +1 -1
  454. package/dist/typed-buffer/structs/get-struct-layout.js +4 -4
  455. package/dist/typed-buffer/structs/get-struct-layout.js.map +1 -1
  456. package/dist/typed-buffer/structs/get-struct-layout.test.js +12 -12
  457. package/dist/typed-buffer/structs/get-struct-layout.test.js.map +1 -1
  458. package/dist/typed-buffer/structs/struct-layout.d.ts +1 -1
  459. package/dist/typed-buffer/typed-buffer.d.ts +1 -1
  460. package/dist/types/index.d.ts +1 -0
  461. package/dist/types/types.d.ts +1 -2
  462. package/package.json +1 -1
  463. package/dist/blob/download-handle.d.ts +0 -4
  464. package/dist/blob/download-handle.js +0 -2
  465. package/dist/blob/download-handle.js.map +0 -1
  466. package/dist/blob/upload-handle.d.ts +0 -4
  467. package/dist/blob/upload-handle.js +0 -2
  468. package/dist/blob/upload-handle.js.map +0 -1
  469. package/dist/ecs/database/transactional-store/entity-id-preservation.test.js +0 -106
  470. package/dist/ecs/database/transactional-store/entity-id-preservation.test.js.map +0 -1
  471. package/dist/ecs/entity/entity.d.ts +0 -8
  472. package/dist/ecs/entity/entity.js +0 -3
  473. package/dist/ecs/entity/entity.js.map +0 -1
  474. package/dist/ecs/entity/u32.js.map +0 -1
  475. package/dist/ecs/store/store-schema/create-store-schema-test.d.ts +0 -1
  476. package/dist/ecs/store/store-schema/create-store-schema-test.js.map +0 -1
  477. package/dist/ecs/store/store-schema/create-store-schema.d.ts +0 -1
  478. package/dist/ecs/store/store-schema/create-store-schema.js +0 -45
  479. package/dist/ecs/store/store-schema/create-store-schema.js.map +0 -1
  480. package/dist/ecs/store/store-schema/index.d.ts +0 -1
  481. package/dist/ecs/store/store-schema/index.js +0 -21
  482. package/dist/ecs/store/store-schema/index.js.map +0 -1
  483. package/dist/ecs/store/store-schema/store-schema.d.ts +0 -1
  484. package/dist/ecs/store/store-schema/store-schema.js +0 -57
  485. package/dist/ecs/store/store-schema/store-schema.js.map +0 -1
  486. package/dist/ecs/world/create-world.d.ts +0 -7
  487. package/dist/ecs/world/create-world.js +0 -113
  488. package/dist/ecs/world/create-world.js.map +0 -1
  489. package/dist/ecs/world/create-world.test.d.ts +0 -1
  490. package/dist/ecs/world/create-world.test.js +0 -499
  491. package/dist/ecs/world/create-world.test.js.map +0 -1
  492. package/dist/ecs/world/index.d.ts +0 -5
  493. package/dist/ecs/world/index.js.map +0 -1
  494. package/dist/ecs/world/system-phase.d.ts +0 -5
  495. package/dist/ecs/world/system-phase.js +0 -14
  496. package/dist/ecs/world/system-phase.js.map +0 -1
  497. package/dist/ecs/world/system.d.ts +0 -25
  498. package/dist/ecs/world/system.js +0 -2
  499. package/dist/ecs/world/system.js.map +0 -1
  500. package/dist/ecs/world/world-schema/create-world-schema-test.d.ts +0 -1
  501. package/dist/ecs/world/world-schema/create-world-schema-test.js +0 -55
  502. package/dist/ecs/world/world-schema/create-world-schema-test.js.map +0 -1
  503. package/dist/ecs/world/world-schema/create-world-schema.d.ts +0 -19
  504. package/dist/ecs/world/world-schema/create-world-schema.js +0 -33
  505. package/dist/ecs/world/world-schema/create-world-schema.js.map +0 -1
  506. package/dist/ecs/world/world-schema/index.d.ts +0 -2
  507. package/dist/ecs/world/world-schema/index.js.map +0 -1
  508. package/dist/ecs/world/world-schema/world-schema.d.ts +0 -18
  509. package/dist/ecs/world/world-schema/world-schema.js.map +0 -1
  510. package/dist/ecs/world/world.d.ts +0 -11
  511. package/dist/ecs/world/world.js +0 -2
  512. package/dist/ecs/world/world.js.map +0 -1
  513. package/dist/graphics/camera/camera.d.ts +0 -62
  514. package/dist/graphics/camera/camera.js +0 -17
  515. package/dist/graphics/camera/camera.js.map +0 -1
  516. package/dist/graphics/camera/index.d.ts +0 -4
  517. package/dist/graphics/camera/index.js +0 -5
  518. package/dist/graphics/camera/index.js.map +0 -1
  519. package/dist/graphics/camera/screen-to-world-ray.d.ts +0 -12
  520. package/dist/graphics/camera/screen-to-world-ray.js +0 -49
  521. package/dist/graphics/camera/screen-to-world-ray.js.map +0 -1
  522. package/dist/graphics/camera/screen-to-world-ray.test.d.ts +0 -1
  523. package/dist/graphics/camera/screen-to-world-ray.test.js +0 -171
  524. package/dist/graphics/camera/screen-to-world-ray.test.js.map +0 -1
  525. package/dist/graphics/camera/to-view-projection.d.ts +0 -3
  526. package/dist/graphics/camera/to-view-projection.js +0 -8
  527. package/dist/graphics/camera/to-view-projection.js.map +0 -1
  528. package/dist/graphics/camera/world-to-screen.d.ts +0 -12
  529. package/dist/graphics/camera/world-to-screen.js +0 -38
  530. package/dist/graphics/camera/world-to-screen.js.map +0 -1
  531. package/dist/graphics/camera/world-to-screen.test.d.ts +0 -1
  532. package/dist/graphics/camera/world-to-screen.test.js +0 -124
  533. package/dist/graphics/camera/world-to-screen.test.js.map +0 -1
  534. package/dist/graphics/create-struct-gpu-buffer.d.ts +0 -7
  535. package/dist/graphics/create-struct-gpu-buffer.js +0 -17
  536. package/dist/graphics/create-struct-gpu-buffer.js.map +0 -1
  537. package/dist/graphics/extract-wgsl-bindings.d.ts +0 -5
  538. package/dist/graphics/extract-wgsl-bindings.js +0 -10
  539. package/dist/graphics/extract-wgsl-bindings.js.map +0 -1
  540. package/dist/graphics/frame.d.ts +0 -1
  541. package/dist/graphics/frame.js +0 -15
  542. package/dist/graphics/frame.js.map +0 -1
  543. package/dist/graphics/get-web-gpu-device-and-context.d.ts +0 -1
  544. package/dist/graphics/get-web-gpu-device-and-context.js +0 -24
  545. package/dist/graphics/get-web-gpu-device-and-context.js.map +0 -1
  546. package/dist/graphics/graphics-context.d.ts +0 -1
  547. package/dist/graphics/graphics-context.js +0 -7
  548. package/dist/graphics/graphics-context.js.map +0 -1
  549. package/dist/graphics/index.d.ts +0 -5
  550. package/dist/graphics/index.js +0 -5
  551. package/dist/graphics/index.js.map +0 -1
  552. package/dist/graphics/to-gpu-buffer.d.ts +0 -2
  553. package/dist/graphics/to-gpu-buffer.js +0 -14
  554. package/dist/graphics/to-gpu-buffer.js.map +0 -1
  555. package/dist/internal/array-buffer-like/grow.d.ts +0 -1
  556. package/dist/internal/array-buffer-like/grow.js +0 -9
  557. package/dist/internal/array-buffer-like/grow.js.map +0 -1
  558. package/dist/math/aabb-face/face.d.ts +0 -51
  559. package/dist/math/aabb-face/face.js +0 -110
  560. package/dist/math/aabb-face/face.js.map +0 -1
  561. package/dist/math/aabb-face/face.test.d.ts +0 -1
  562. package/dist/math/aabb-face/face.test.js +0 -94
  563. package/dist/math/aabb-face/face.test.js.map +0 -1
  564. package/dist/math/box/box.d.ts +0 -50
  565. package/dist/math/box/box.js +0 -23
  566. package/dist/math/box/box.js.map +0 -1
  567. package/dist/math/face/face.d.ts +0 -51
  568. package/dist/math/face/face.js.map +0 -1
  569. package/dist/math/face/face.test.d.ts +0 -1
  570. package/dist/math/face/face.test.js +0 -94
  571. package/dist/math/face/face.test.js.map +0 -1
  572. package/dist/math/picking/face.d.ts +0 -1
  573. package/dist/math/picking/face.js +0 -2
  574. package/dist/math/picking/face.js.map +0 -1
  575. package/dist/math/picking/get-closest-entity-to-line.d.ts +0 -4
  576. package/dist/math/picking/get-closest-entity-to-line.js +0 -30
  577. package/dist/math/picking/get-closest-entity-to-line.js.map +0 -1
  578. package/dist/math/picking/get-closest-entity-to-point.d.ts +0 -4
  579. package/dist/math/picking/get-closest-entity-to-point.js +0 -27
  580. package/dist/math/picking/get-closest-entity-to-point.js.map +0 -1
  581. package/dist/math/picking/get-intersecting-entities.d.ts +0 -12
  582. package/dist/math/picking/get-intersecting-entities.js +0 -15
  583. package/dist/math/picking/get-intersecting-entities.js.map +0 -1
  584. package/dist/math/picking/getClosestEntityToLine.d.ts +0 -4
  585. package/dist/math/picking/getClosestEntityToLine.js +0 -29
  586. package/dist/math/picking/getClosestEntityToLine.js.map +0 -1
  587. package/dist/math/picking/getClosestEntityToPoint.d.ts +0 -4
  588. package/dist/math/picking/getClosestEntityToPoint.js +0 -27
  589. package/dist/math/picking/getClosestEntityToPoint.js.map +0 -1
  590. package/dist/math/picking/getIntersectingEntities.d.ts +0 -12
  591. package/dist/math/picking/getIntersectingEntities.js +0 -15
  592. package/dist/math/picking/getIntersectingEntities.js.map +0 -1
  593. package/dist/math/picking/index.d.ts +0 -5
  594. package/dist/math/picking/index.js.map +0 -1
  595. package/dist/math/picking/pick-from-tables.d.ts +0 -19
  596. package/dist/math/picking/pick-from-tables.js +0 -63
  597. package/dist/math/picking/pick-from-tables.js.map +0 -1
  598. package/dist/math/picking/pick-result.d.ts +0 -12
  599. package/dist/math/picking/pick-result.js.map +0 -1
  600. package/dist/math/transform/debug-inverse.d.ts +0 -1
  601. package/dist/math/transform/debug-inverse.js +0 -28
  602. package/dist/math/transform/debug-inverse.js.map +0 -1
  603. package/dist/math/transform/debug-quat.d.ts +0 -1
  604. package/dist/math/transform/debug-quat.js +0 -23
  605. package/dist/math/transform/debug-quat.js.map +0 -1
  606. package/dist/math/transform/debug-test.d.ts +0 -1
  607. package/dist/math/transform/debug-test.js +0 -34
  608. package/dist/math/transform/debug-test.js.map +0 -1
  609. package/dist/math/transform/transform.d.ts +0 -58
  610. package/dist/math/transform/transform.js +0 -101
  611. package/dist/math/transform/transform.js.map +0 -1
  612. package/dist/math/transform/transform.test.d.ts +0 -1
  613. package/dist/math/transform/transform.test.js +0 -309
  614. package/dist/math/transform/transform.test.js.map +0 -1
  615. package/dist/old-ecs/privacy/helper-functions.d.ts +0 -43
  616. package/dist/old-ecs/privacy/helper-functions.js +0 -76
  617. package/dist/old-ecs/privacy/helper-functions.js.map +0 -1
  618. package/dist/old-ecs/privacy/helper-functions.test.d.ts +0 -1
  619. package/dist/old-ecs/privacy/helper-functions.test.js +0 -173
  620. package/dist/old-ecs/privacy/helper-functions.test.js.map +0 -1
  621. /package/dist/{ecs/database/transactional-store/entity-id-preservation.test.d.ts → math/aabb/face/aabb-face.test.d.ts} +0 -0
@@ -1,50 +0,0 @@
1
- import { FromSchema } from "../../schema/schema.js";
2
- export type Box = FromSchema<typeof Box.schema>;
3
- export declare namespace Box {
4
- const schema: {
5
- readonly type: "object";
6
- readonly properties: {
7
- readonly position: {
8
- readonly type: "array";
9
- readonly items: {
10
- readonly type: "number";
11
- readonly precision: 1;
12
- readonly default: number;
13
- };
14
- readonly minItems: 3;
15
- readonly maxItems: 3;
16
- readonly default: readonly [0, 0, 0];
17
- };
18
- readonly rotation: {
19
- readonly type: "array";
20
- readonly items: {
21
- readonly type: "number";
22
- readonly precision: 1;
23
- readonly default: number;
24
- };
25
- readonly minItems: 4;
26
- readonly maxItems: 4;
27
- readonly default: readonly [0, 0, 0, 1];
28
- };
29
- readonly scale: {
30
- readonly type: "array";
31
- readonly items: {
32
- readonly type: "number";
33
- readonly precision: 1;
34
- readonly default: number;
35
- };
36
- readonly minItems: 3;
37
- readonly maxItems: 3;
38
- readonly default: readonly [0, 0, 0];
39
- };
40
- };
41
- readonly required: readonly ["position", "rotation", "scale"];
42
- readonly additionalProperties: false;
43
- readonly default: {
44
- readonly position: readonly [number, number, number];
45
- readonly rotation: readonly [number, number, number, number];
46
- readonly scale: readonly [number, number, number];
47
- };
48
- };
49
- const layout: import("../../typed-buffer/index.js").StructLayout;
50
- }
@@ -1,23 +0,0 @@
1
- import { getStructLayout } from "../../typed-buffer/index.js";
2
- import { Quat } from "../quat/quat.js";
3
- import { Vec3 } from "../vec3/vec3.js";
4
- export var Box;
5
- (function (Box) {
6
- Box.schema = {
7
- type: 'object',
8
- properties: {
9
- position: Vec3.schema,
10
- rotation: Quat.schema,
11
- scale: Vec3.schema,
12
- },
13
- required: ['position', 'rotation', 'scale'],
14
- additionalProperties: false,
15
- default: {
16
- position: Vec3.zero,
17
- rotation: Quat.identity,
18
- scale: Vec3.one,
19
- },
20
- };
21
- Box.layout = getStructLayout(Box.schema);
22
- })(Box || (Box = {}));
23
- //# sourceMappingURL=box.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"box.js","sourceRoot":"","sources":["../../../src/math/box/box.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAIvC,MAAM,KAAW,GAAG,CAkBnB;AAlBD,WAAiB,GAAG;IACH,UAAM,GAAG;QAClB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM;SACrB;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;QAC3C,oBAAoB,EAAE,KAAK;QAC3B,OAAO,EAAE;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,GAAG;SAClB;KACsB,CAAC;IAEf,UAAM,GAAG,eAAe,CAAC,IAAA,MAAM,CAAC,CAAC;AAClD,CAAC,EAlBgB,GAAG,KAAH,GAAG,QAkBnB"}
@@ -1,51 +0,0 @@
1
- import { FromSchema } from "../../schema/index.js";
2
- import { Vec3 } from "../index.js";
3
- export declare const schema: {
4
- readonly type: "number";
5
- readonly minimum: 0;
6
- readonly maximum: 5;
7
- };
8
- export type Type = FromSchema<typeof schema>;
9
- type Face = Type;
10
- /**
11
- * Face direction constants for cube faces
12
- */
13
- export declare const POS_Z: 0;
14
- export declare const POS_X: 1;
15
- export declare const NEG_Z: 2;
16
- export declare const NEG_X: 3;
17
- export declare const POS_Y: 4;
18
- export declare const NEG_Y: 5;
19
- /**
20
- * Array of all face directions
21
- */
22
- export declare const ALL_FACES: readonly [0, 1, 2, 3, 4, 5];
23
- /**
24
- * Face direction names for debugging/logging
25
- */
26
- export declare const FACE_NAMES: readonly ["POS_Z", "POS_X", "NEG_Z", "NEG_X", "POS_Y", "NEG_Y"];
27
- /**
28
- * Get the face name for debugging/logging
29
- */
30
- export declare const getName: (face: Face) => string;
31
- /**
32
- * Get the normal vector for a given face
33
- */
34
- export declare const getNormal: (face: Face) => Vec3;
35
- /**
36
- * Get the opposite face
37
- */
38
- export declare const getOpposite: (face: Face) => Face;
39
- /**
40
- * Check if two faces are opposite
41
- */
42
- export declare const isOpposite: (face1: Face, face2: Face) => boolean;
43
- /**
44
- * Get all faces adjacent to the given face (faces that share an edge)
45
- */
46
- export declare const getAdjacent: (face: Face) => readonly Face[];
47
- /**
48
- * Check if two faces are adjacent (share an edge)
49
- */
50
- export declare const isAdjacent: (face1: Face, face2: Face) => boolean;
51
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"face.js","sourceRoot":"","sources":["../../../src/math/face/face.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,94 +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 * as Face from './face.js';
24
- describe('Face', () => {
25
- it('should have correct constants', () => {
26
- expect(Face.POS_Z).toBe(0);
27
- expect(Face.POS_X).toBe(1);
28
- expect(Face.NEG_Z).toBe(2);
29
- expect(Face.NEG_X).toBe(3);
30
- expect(Face.POS_Y).toBe(4);
31
- expect(Face.NEG_Y).toBe(5);
32
- });
33
- it('should get correct face names', () => {
34
- expect(Face.getName(Face.POS_Z)).toBe('POS_Z');
35
- expect(Face.getName(Face.POS_X)).toBe('POS_X');
36
- expect(Face.getName(Face.NEG_Z)).toBe('NEG_Z');
37
- expect(Face.getName(Face.NEG_X)).toBe('NEG_X');
38
- expect(Face.getName(Face.POS_Y)).toBe('POS_Y');
39
- expect(Face.getName(Face.NEG_Y)).toBe('NEG_Y');
40
- });
41
- it('should get correct normal vectors', () => {
42
- expect(Face.getNormal(Face.POS_Z)).toEqual([0, 0, 1]);
43
- expect(Face.getNormal(Face.NEG_Z)).toEqual([0, 0, -1]);
44
- expect(Face.getNormal(Face.POS_X)).toEqual([1, 0, 0]);
45
- expect(Face.getNormal(Face.NEG_X)).toEqual([-1, 0, 0]);
46
- expect(Face.getNormal(Face.POS_Y)).toEqual([0, 1, 0]);
47
- expect(Face.getNormal(Face.NEG_Y)).toEqual([0, -1, 0]);
48
- });
49
- it('should get correct opposite faces', () => {
50
- expect(Face.getOpposite(Face.POS_Z)).toBe(Face.NEG_Z);
51
- expect(Face.getOpposite(Face.NEG_Z)).toBe(Face.POS_Z);
52
- expect(Face.getOpposite(Face.POS_X)).toBe(Face.NEG_X);
53
- expect(Face.getOpposite(Face.NEG_X)).toBe(Face.POS_X);
54
- expect(Face.getOpposite(Face.POS_Y)).toBe(Face.NEG_Y);
55
- expect(Face.getOpposite(Face.NEG_Y)).toBe(Face.POS_Y);
56
- });
57
- it('should correctly identify opposite faces', () => {
58
- expect(Face.isOpposite(Face.POS_Z, Face.NEG_Z)).toBe(true);
59
- expect(Face.isOpposite(Face.POS_X, Face.NEG_X)).toBe(true);
60
- expect(Face.isOpposite(Face.POS_Y, Face.NEG_Y)).toBe(true);
61
- expect(Face.isOpposite(Face.POS_Z, Face.POS_X)).toBe(false);
62
- expect(Face.isOpposite(Face.POS_Z, Face.POS_Z)).toBe(false);
63
- });
64
- it('should get correct adjacent faces', () => {
65
- const posZAdjacent = Face.getAdjacent(Face.POS_Z);
66
- expect(posZAdjacent).toContain(Face.POS_X);
67
- expect(posZAdjacent).toContain(Face.NEG_X);
68
- expect(posZAdjacent).toContain(Face.POS_Y);
69
- expect(posZAdjacent).toContain(Face.NEG_Y);
70
- expect(posZAdjacent).not.toContain(Face.NEG_Z);
71
- expect(posZAdjacent).not.toContain(Face.POS_Z);
72
- const posXAdjacent = Face.getAdjacent(Face.POS_X);
73
- expect(posXAdjacent).toContain(Face.POS_Z);
74
- expect(posXAdjacent).toContain(Face.NEG_Z);
75
- expect(posXAdjacent).toContain(Face.POS_Y);
76
- expect(posXAdjacent).toContain(Face.NEG_Y);
77
- expect(posXAdjacent).not.toContain(Face.NEG_X);
78
- expect(posXAdjacent).not.toContain(Face.POS_X);
79
- });
80
- it('should correctly identify adjacent faces', () => {
81
- expect(Face.isAdjacent(Face.POS_Z, Face.POS_X)).toBe(true);
82
- expect(Face.isAdjacent(Face.POS_Z, Face.NEG_X)).toBe(true);
83
- expect(Face.isAdjacent(Face.POS_Z, Face.POS_Y)).toBe(true);
84
- expect(Face.isAdjacent(Face.POS_Z, Face.NEG_Y)).toBe(true);
85
- expect(Face.isAdjacent(Face.POS_Z, Face.NEG_Z)).toBe(false);
86
- expect(Face.isAdjacent(Face.POS_Z, Face.POS_Z)).toBe(false);
87
- });
88
- it('should throw error for invalid face indices', () => {
89
- expect(() => Face.getNormal(6)).toThrow('Invalid face index: 6');
90
- expect(() => Face.getOpposite(6)).toThrow('Invalid face index: 6');
91
- expect(() => Face.getAdjacent(6)).toThrow('Invalid face index: 6');
92
- });
93
- });
94
- //# sourceMappingURL=face.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"face.test.js","sourceRoot":"","sources":["../../../src/math/face/face.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=face.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"face.js","sourceRoot":"","sources":["../../../src/math/picking/face.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { Entity } from "../../ecs/index.js";
2
- import { Aabb, Line3 } from "../index.js";
3
- import { PickResult } from "./pick-result.js";
4
- export declare function getClosestEntityToLine(rows: Map<Entity, Aabb>, line: Line3): PickResult | null;
@@ -1,30 +0,0 @@
1
- import { Aabb, Line3, Vec3 } from "../index.js";
2
- export function getClosestEntityToLine(rows, line) {
3
- let closestEntity = null;
4
- let closestDistanceSquared = Infinity;
5
- let closestAlpha = Infinity;
6
- let pickedPosition = null;
7
- for (const [id, aabb] of rows) {
8
- const aabbCenter = Aabb.center(aabb);
9
- const alpha = Line3.closestPointOnLine(line, aabbCenter);
10
- const closestPointOnLineSegment = Line3.interpolate(line, alpha);
11
- const distSquared = Vec3.distanceSquared(aabbCenter, closestPointOnLineSegment);
12
- if (distSquared < closestDistanceSquared ||
13
- (distSquared === closestDistanceSquared && alpha < closestAlpha)) {
14
- closestDistanceSquared = distSquared;
15
- closestAlpha = alpha;
16
- closestEntity = id;
17
- pickedPosition = closestPointOnLineSegment;
18
- }
19
- }
20
- if (closestEntity !== null && pickedPosition) {
21
- return {
22
- entity: closestEntity,
23
- lineAlpha: closestAlpha,
24
- worldPosition: pickedPosition,
25
- // face: AabbFace.fromPosition(pickedPosition, rows.get(closestEntity)!),
26
- };
27
- }
28
- return null;
29
- }
30
- //# sourceMappingURL=get-closest-entity-to-line.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-closest-entity-to-line.js","sourceRoot":"","sources":["../../../src/math/picking/get-closest-entity-to-line.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,UAAU,sBAAsB,CAAC,IAAuB,EAAE,IAAW;IACvE,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,sBAAsB,GAAG,QAAQ,CAAC;IACtC,IAAI,YAAY,GAAG,QAAQ,CAAC;IAC5B,IAAI,cAAc,GAAgB,IAAI,CAAC;IACvC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzD,MAAM,yBAAyB,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;QAChF,IAAI,WAAW,GAAG,sBAAsB;YACpC,CAAC,WAAW,KAAK,sBAAsB,IAAI,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC;YACnE,sBAAsB,GAAG,WAAW,CAAC;YACrC,YAAY,GAAG,KAAK,CAAC;YACrB,aAAa,GAAG,EAAE,CAAC;YACnB,cAAc,GAAG,yBAAyB,CAAC;QAC/C,CAAC;IACL,CAAC;IACD,IAAI,aAAa,KAAK,IAAI,IAAI,cAAc,EAAE,CAAC;QAC3C,OAAO;YACH,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,YAAY;YACvB,aAAa,EAAE,cAAc;YAC7B,yEAAyE;SAC5E,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Entity } from "../../ecs/index.js";
2
- import { Aabb, Vec3 } from "../index.js";
3
- import { PickResult } from "./pick-result.js";
4
- export declare function getClosestEntityToPoint(rows: Map<Entity, Aabb>, point: Vec3): PickResult | null;
@@ -1,27 +0,0 @@
1
- import { Aabb, Vec3 } from "../index.js";
2
- export function getClosestEntityToPoint(rows, point) {
3
- let closestRow = -1;
4
- let closestDistanceSquared = Infinity;
5
- let closestAabb = null;
6
- for (const [row, aabb] of rows) {
7
- const distSquared = Vec3.distanceSquared(point, Aabb.center(aabb));
8
- if (distSquared < closestDistanceSquared) {
9
- closestDistanceSquared = distSquared;
10
- closestRow = row;
11
- closestAabb = aabb;
12
- }
13
- }
14
- if (closestRow !== -1 && closestAabb) {
15
- // For point-based picking, we need to calculate the alpha along the line
16
- // that would put us at the closest point to the AABB center
17
- // Since this function is called with a point (line.a), alpha should be 0
18
- return {
19
- entity: closestRow,
20
- lineAlpha: 0,
21
- worldPosition: point,
22
- // face: AabbFace.fromPosition(point, closestAabb),
23
- };
24
- }
25
- return null;
26
- }
27
- //# sourceMappingURL=get-closest-entity-to-point.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-closest-entity-to-point.js","sourceRoot":"","sources":["../../../src/math/picking/get-closest-entity-to-point.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,UAAU,uBAAuB,CAAC,IAAuB,EAAE,KAAW;IACxE,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,IAAI,sBAAsB,GAAG,QAAQ,CAAC;IACtC,IAAI,WAAW,GAAgB,IAAI,CAAC;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,WAAW,GAAG,sBAAsB,EAAE,CAAC;YACvC,sBAAsB,GAAG,WAAW,CAAC;YACrC,UAAU,GAAG,GAAG,CAAC;YACjB,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC;IACL,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;QACnC,yEAAyE;QACzE,4DAA4D;QAC5D,yEAAyE;QACzE,OAAO;YACH,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,KAAK;YACpB,mDAAmD;SACtD,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,12 +0,0 @@
1
- import { Entity } from "../../ecs/index.js";
2
- import { Table } from "../../table/table.js";
3
- import { Aabb, Line3 } from "../index.js";
4
- export declare function getIntersectingEntities<T extends Table<{
5
- id: Entity;
6
- boundingBox: Aabb;
7
- }>>(options: {
8
- tables: readonly T[];
9
- line: Line3;
10
- radius?: number;
11
- predicate?: (table: T, row: number) => boolean;
12
- }): Map<Entity, Aabb>;
@@ -1,15 +0,0 @@
1
- import { Aabb } from "../index.js";
2
- export function getIntersectingEntities(options) {
3
- const { tables, line, radius = 0, predicate } = options;
4
- const rows = new Map();
5
- for (const table of tables) {
6
- for (let row = 0; row < table.rowCount; row++) {
7
- const boundingBox = table.columns.boundingBox.get(row);
8
- if (Aabb.lineIntersection(boundingBox, line, radius) !== -1 && (predicate?.(table, row) ?? true)) {
9
- rows.set(table.columns.id.get(row), boundingBox);
10
- }
11
- }
12
- }
13
- return rows;
14
- }
15
- //# sourceMappingURL=get-intersecting-entities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-intersecting-entities.js","sourceRoot":"","sources":["../../../src/math/picking/get-intersecting-entities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAS,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,uBAAuB,CAAsD,OAK5F;IACG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgB,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAC/F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Entity } from "../../ecs/index.js";
2
- import { Aabb, Line3 } from "../index.js";
3
- import { PickResult } from "./pick-result.js";
4
- export declare function getClosestEntityToLine(rows: Map<Entity, Aabb>, line: Line3): PickResult | null;
@@ -1,29 +0,0 @@
1
- import { Aabb, Line3, Vec3, AabbFace } from "../index.js";
2
- export function getClosestEntityToLine(rows, line) {
3
- let closestEntity = null;
4
- let closestDistanceSquared = Infinity;
5
- let closestAlpha = Infinity;
6
- let pickedPosition = null;
7
- for (const [id, aabb] of rows) {
8
- const aabbCenter = Aabb.center(aabb);
9
- const alpha = Line3.closestPointOnLine(line, aabbCenter);
10
- const closestPointOnLineSegment = Line3.interpolate(line, alpha);
11
- const distSquared = Vec3.distanceSquared(aabbCenter, closestPointOnLineSegment);
12
- if (distSquared < closestDistanceSquared ||
13
- (distSquared === closestDistanceSquared && alpha < closestAlpha)) {
14
- closestDistanceSquared = distSquared;
15
- closestAlpha = alpha;
16
- closestEntity = id;
17
- pickedPosition = closestPointOnLineSegment;
18
- }
19
- }
20
- if (closestEntity !== null && pickedPosition) {
21
- return {
22
- entity: closestEntity,
23
- position: pickedPosition,
24
- face: AabbFace.fromPosition(pickedPosition, rows.get(closestEntity)),
25
- };
26
- }
27
- return null;
28
- }
29
- //# sourceMappingURL=getClosestEntityToLine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getClosestEntityToLine.js","sourceRoot":"","sources":["../../../src/math/picking/getClosestEntityToLine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG1D,MAAM,UAAU,sBAAsB,CAAC,IAAuB,EAAE,IAAW;IACvE,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,sBAAsB,GAAG,QAAQ,CAAC;IACtC,IAAI,YAAY,GAAG,QAAQ,CAAC;IAC5B,IAAI,cAAc,GAAgB,IAAI,CAAC;IACvC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzD,MAAM,yBAAyB,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;QAChF,IAAI,WAAW,GAAG,sBAAsB;YACpC,CAAC,WAAW,KAAK,sBAAsB,IAAI,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC;YACnE,sBAAsB,GAAG,WAAW,CAAC;YACrC,YAAY,GAAG,KAAK,CAAC;YACrB,aAAa,GAAG,EAAE,CAAC;YACnB,cAAc,GAAG,yBAAyB,CAAC;QAC/C,CAAC;IACL,CAAC;IACD,IAAI,aAAa,KAAK,IAAI,IAAI,cAAc,EAAE,CAAC;QAC3C,OAAO;YACH,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;SACxE,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Entity } from "../../ecs/index.js";
2
- import { Aabb, Vec3 } from "../index.js";
3
- import { PickResult } from "./pick-result.js";
4
- export declare function getClosestEntityToPoint(rows: Map<Entity, Aabb>, point: Vec3): PickResult | null;
@@ -1,27 +0,0 @@
1
- import { Aabb, Vec3, AabbFace } from "../index.js";
2
- export function getClosestEntityToPoint(rows, point) {
3
- let closestRow = -1;
4
- let closestDistanceSquared = Infinity;
5
- let closestAabb = null;
6
- for (const [row, aabb] of rows) {
7
- const distSquared = Vec3.distanceSquared(point, Aabb.center(aabb));
8
- if (distSquared < closestDistanceSquared) {
9
- closestDistanceSquared = distSquared;
10
- closestRow = row;
11
- closestAabb = aabb;
12
- }
13
- }
14
- if (closestRow !== -1 && closestAabb) {
15
- // For direct intersection, use the intersection point if possible
16
- // We'll use the intersection alpha from Aabb.lineIntersection
17
- // If the line starts inside, alpha=0, so position is line.a
18
- // Otherwise, Line3.interpolate at alpha
19
- return {
20
- entity: closestRow,
21
- position: point,
22
- face: AabbFace.fromPosition(point, closestAabb),
23
- };
24
- }
25
- return null;
26
- }
27
- //# sourceMappingURL=getClosestEntityToPoint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getClosestEntityToPoint.js","sourceRoot":"","sources":["../../../src/math/picking/getClosestEntityToPoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,UAAU,uBAAuB,CAAC,IAAuB,EAAE,KAAW;IACxE,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,IAAI,sBAAsB,GAAG,QAAQ,CAAC;IACtC,IAAI,WAAW,GAAgB,IAAI,CAAC;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,WAAW,GAAG,sBAAsB,EAAE,CAAC;YACvC,sBAAsB,GAAG,WAAW,CAAC;YACrC,UAAU,GAAG,GAAG,CAAC;YACjB,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC;IACL,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;QACnC,kEAAkE;QAClE,8DAA8D;QAC9D,4DAA4D;QAC5D,wCAAwC;QACxC,OAAO;YACH,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC;SAClD,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,12 +0,0 @@
1
- import { Entity } from "../../ecs/index.js";
2
- import { Table } from "../../table/table.js";
3
- import { Aabb, Line3 } from "../index.js";
4
- export declare function getIntersectingEntities<T extends Table<{
5
- id: Entity;
6
- boundingBox: Aabb;
7
- }>>(options: {
8
- tables: readonly T[];
9
- line: Line3;
10
- radius?: number;
11
- predicate?: (table: T, row: number) => boolean;
12
- }): Map<Entity, Aabb>;
@@ -1,15 +0,0 @@
1
- import { Aabb } from "../index.js";
2
- export function getIntersectingEntities(options) {
3
- const { tables, line, radius = 0, predicate } = options;
4
- const rows = new Map();
5
- for (const table of tables) {
6
- for (let row = 0; row < table.rowCount; row++) {
7
- const boundingBox = table.columns.boundingBox.get(row);
8
- if (Aabb.lineIntersection(boundingBox, line, radius) !== -1 && (predicate?.(table, row) ?? true)) {
9
- rows.set(table.columns.id.get(row), boundingBox);
10
- }
11
- }
12
- }
13
- return rows;
14
- }
15
- //# sourceMappingURL=getIntersectingEntities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getIntersectingEntities.js","sourceRoot":"","sources":["../../../src/math/picking/getIntersectingEntities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAS,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,uBAAuB,CAAsD,OAK5F;IACG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgB,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAC/F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,5 +0,0 @@
1
- export * from "./pick-from-tables.js";
2
- export * from "./pick-result.js";
3
- export * from "./get-closest-entity-to-point.js";
4
- export * from "./get-closest-entity-to-line.js";
5
- export * from "./get-intersecting-entities.js";
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/math/picking/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAGX,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC"}
@@ -1,19 +0,0 @@
1
- import { Table } from "../../table/index.js";
2
- import { Aabb } from "../index.js";
3
- import { Line3 } from "../index.js";
4
- import { Entity } from "../../ecs/index.js";
5
- import { PickResult } from "./pick-result.js";
6
- /**
7
- * Picks the closest intersecting row from a table.
8
- * This would be the broad phase picking step.
9
- * @returns The entity id and picked position, or null if no entity is found.
10
- */
11
- export declare function pickFromTables<T extends Table<{
12
- id: Entity;
13
- boundingBox: Aabb;
14
- }>>(options: {
15
- tables: readonly T[];
16
- line: Line3;
17
- radius?: number;
18
- predicate?: (table: T, row: number) => boolean;
19
- }): PickResult | null;
@@ -1,63 +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 { Aabb } from "../index.js";
23
- import { Line3 } from "../index.js";
24
- import { getIntersectingEntities } from "./get-intersecting-entities.js";
25
- import { getClosestEntityToPoint } from "./get-closest-entity-to-point.js";
26
- import { getClosestEntityToLine } from "./get-closest-entity-to-line.js";
27
- /**
28
- * Picks the closest intersecting row from a table.
29
- * This would be the broad phase picking step.
30
- * @returns The entity id and picked position, or null if no entity is found.
31
- */
32
- export function pickFromTables(options) {
33
- const { tables, line, radius = 0, predicate } = options;
34
- let rows = getIntersectingEntities({ tables, line, radius: 0, predicate });
35
- if (rows.size > 0) {
36
- // For direct intersection, find the alpha for the closest intersecting entity
37
- let best = null;
38
- for (const [id, aabb] of rows) {
39
- const alpha = Aabb.lineIntersection(aabb, line, 0);
40
- if (alpha !== -1 && (best === null || alpha < best.alpha)) {
41
- best = { id, alpha };
42
- }
43
- }
44
- if (best) {
45
- return {
46
- entity: best.id,
47
- lineAlpha: best.alpha,
48
- worldPosition: Line3.interpolate(line, best.alpha),
49
- // face: AabbFace.fromPosition(Line3.interpolate(line, best.alpha), rows.get(best.id)!),
50
- };
51
- }
52
- // fallback (should not happen):
53
- return getClosestEntityToPoint(rows, line.a);
54
- }
55
- else if (radius > 0) {
56
- rows = getIntersectingEntities({ tables, line, radius, predicate });
57
- if (rows.size > 0) {
58
- return getClosestEntityToLine(rows, line);
59
- }
60
- }
61
- return null;
62
- }
63
- //# sourceMappingURL=pick-from-tables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pick-from-tables.js","sourceRoot":"","sources":["../../../src/math/picking/pick-from-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAGX,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAqD,OAKlF;IACG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACxD,IAAI,IAAI,GAAG,uBAAuB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAChB,8EAA8E;QAC9E,IAAI,IAAI,GAAyC,IAAI,CAAC;QACtD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,IAAI,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACzB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACP,OAAO;gBACH,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;gBAClD,wFAAwF;aAC3F,CAAC;QACN,CAAC;QACD,gCAAgC;QAChC,OAAO,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,IAAI,GAAG,uBAAuB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,12 +0,0 @@
1
- import { Entity } from "../../ecs/index.js";
2
- import { Vec3 } from "../index.js";
3
- export interface PickResult {
4
- /** The entity that was picked. */
5
- entity: Entity;
6
- /** Alpha value (0-1) along the picking line where the intersection/closest point occurs. */
7
- lineAlpha: number;
8
- /** World-space position of the picked entity. */
9
- worldPosition: Vec3;
10
- /** Model-space position on the picked entity. */
11
- modelPosition?: Vec3;
12
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"pick-result.js","sourceRoot":"","sources":["../../../src/math/picking/pick-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW"}
@@ -1 +0,0 @@
1
- export {};