@pibbl/core 0.0.1

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 (1069) hide show
  1. package/LICENSE.txt +19 -0
  2. package/README.md +76 -0
  3. package/THIRD_PARTY_NOTICES.txt +205 -0
  4. package/dist/features/particles/index.d.ts +7 -0
  5. package/dist/features/particles/index.js +26 -0
  6. package/dist/features/particles/index.js.map +7 -0
  7. package/dist/features/particles/index.mjs +1 -0
  8. package/dist/features/particles/lib/canvas/birth-ledger.d.ts +69 -0
  9. package/dist/features/particles/lib/canvas/birth-ledger.js +752 -0
  10. package/dist/features/particles/lib/canvas/birth-ledger.js.map +7 -0
  11. package/dist/features/particles/lib/canvas/component.d.ts +14 -0
  12. package/dist/features/particles/lib/canvas/component.js +249 -0
  13. package/dist/features/particles/lib/canvas/component.js.map +7 -0
  14. package/dist/features/particles/lib/canvas/executor.d.ts +31 -0
  15. package/dist/features/particles/lib/canvas/executor.js +537 -0
  16. package/dist/features/particles/lib/canvas/executor.js.map +7 -0
  17. package/dist/features/particles/lib/canvas/primitive.d.ts +14 -0
  18. package/dist/features/particles/lib/canvas/primitive.js +50 -0
  19. package/dist/features/particles/lib/canvas/primitive.js.map +7 -0
  20. package/dist/features/particles/lib/canvas/raster-cache.d.ts +13 -0
  21. package/dist/features/particles/lib/canvas/raster-cache.js +106 -0
  22. package/dist/features/particles/lib/canvas/raster-cache.js.map +7 -0
  23. package/dist/features/particles/lib/color.d.ts +7 -0
  24. package/dist/features/particles/lib/color.js +159 -0
  25. package/dist/features/particles/lib/color.js.map +7 -0
  26. package/dist/features/particles/lib/compiler.d.ts +134 -0
  27. package/dist/features/particles/lib/compiler.js +443 -0
  28. package/dist/features/particles/lib/compiler.js.map +7 -0
  29. package/dist/features/particles/lib/curve.d.ts +19 -0
  30. package/dist/features/particles/lib/curve.js +129 -0
  31. package/dist/features/particles/lib/curve.js.map +7 -0
  32. package/dist/features/particles/lib/definition-records.d.ts +58 -0
  33. package/dist/features/particles/lib/definition-records.js +500 -0
  34. package/dist/features/particles/lib/definition-records.js.map +7 -0
  35. package/dist/features/particles/lib/definition.d.ts +18 -0
  36. package/dist/features/particles/lib/definition.js +602 -0
  37. package/dist/features/particles/lib/definition.js.map +7 -0
  38. package/dist/features/particles/lib/emission.d.ts +54 -0
  39. package/dist/features/particles/lib/emission.js +184 -0
  40. package/dist/features/particles/lib/emission.js.map +7 -0
  41. package/dist/features/particles/lib/flow/field.d.ts +81 -0
  42. package/dist/features/particles/lib/flow/field.js +585 -0
  43. package/dist/features/particles/lib/flow/field.js.map +7 -0
  44. package/dist/features/particles/lib/flow/hook.d.ts +158 -0
  45. package/dist/features/particles/lib/flow/hook.js +215 -0
  46. package/dist/features/particles/lib/flow/hook.js.map +7 -0
  47. package/dist/features/particles/lib/flow/population.d.ts +25 -0
  48. package/dist/features/particles/lib/flow/population.js +104 -0
  49. package/dist/features/particles/lib/flow/population.js.map +7 -0
  50. package/dist/features/particles/lib/particle.d.ts +113 -0
  51. package/dist/features/particles/lib/particle.js +192 -0
  52. package/dist/features/particles/lib/particle.js.map +7 -0
  53. package/dist/features/particles/lib/random.d.ts +16 -0
  54. package/dist/features/particles/lib/random.js +61 -0
  55. package/dist/features/particles/lib/random.js.map +7 -0
  56. package/dist/features/particles/lib/sample.d.ts +32 -0
  57. package/dist/features/particles/lib/sample.js +397 -0
  58. package/dist/features/particles/lib/sample.js.map +7 -0
  59. package/dist/features/particles/lib/signal-inputs.d.ts +6 -0
  60. package/dist/features/particles/lib/signal-inputs.js +41 -0
  61. package/dist/features/particles/lib/signal-inputs.js.map +7 -0
  62. package/dist/features/particles/lib/system/binding.d.ts +59 -0
  63. package/dist/features/particles/lib/system/binding.js +122 -0
  64. package/dist/features/particles/lib/system/binding.js.map +7 -0
  65. package/dist/features/particles/lib/system/controller.d.ts +58 -0
  66. package/dist/features/particles/lib/system/controller.js +1446 -0
  67. package/dist/features/particles/lib/system/controller.js.map +7 -0
  68. package/dist/features/particles/lib/system/hook.d.ts +13 -0
  69. package/dist/features/particles/lib/system/hook.js +52 -0
  70. package/dist/features/particles/lib/system/hook.js.map +7 -0
  71. package/dist/features/particles/lib/system/ownership.d.ts +26 -0
  72. package/dist/features/particles/lib/system/ownership.js +128 -0
  73. package/dist/features/particles/lib/system/ownership.js.map +7 -0
  74. package/dist/features/particles/lib/types.d.ts +983 -0
  75. package/dist/features/physics/2d-geometry.d.ts +216 -0
  76. package/dist/features/physics/2d-geometry.js +59 -0
  77. package/dist/features/physics/2d-geometry.js.map +7 -0
  78. package/dist/features/physics/2d-geometry.mjs +1 -0
  79. package/dist/features/physics/2d-testing.d.ts +80 -0
  80. package/dist/features/physics/2d-testing.js +141 -0
  81. package/dist/features/physics/2d-testing.js.map +7 -0
  82. package/dist/features/physics/2d-testing.mjs +1 -0
  83. package/dist/features/physics/2d.d.ts +165 -0
  84. package/dist/features/physics/2d.js +119 -0
  85. package/dist/features/physics/2d.js.map +7 -0
  86. package/dist/features/physics/2d.mjs +1 -0
  87. package/dist/features/physics/lib/2d/canvas/components.d.ts +46 -0
  88. package/dist/features/physics/lib/2d/canvas/components.js +212 -0
  89. package/dist/features/physics/lib/2d/canvas/components.js.map +7 -0
  90. package/dist/features/physics/lib/2d/canvas/custom.d.ts +24 -0
  91. package/dist/features/physics/lib/2d/canvas/custom.js +45 -0
  92. package/dist/features/physics/lib/2d/canvas/custom.js.map +7 -0
  93. package/dist/features/physics/lib/2d/canvas/debug.d.ts +23 -0
  94. package/dist/features/physics/lib/2d/canvas/debug.js +53 -0
  95. package/dist/features/physics/lib/2d/canvas/debug.js.map +7 -0
  96. package/dist/features/physics/lib/2d/canvas/inference.d.ts +9 -0
  97. package/dist/features/physics/lib/2d/canvas/inference.js +704 -0
  98. package/dist/features/physics/lib/2d/canvas/inference.js.map +7 -0
  99. package/dist/features/physics/lib/2d/canvas/presentation.d.ts +11 -0
  100. package/dist/features/physics/lib/2d/canvas/presentation.js +169 -0
  101. package/dist/features/physics/lib/2d/canvas/presentation.js.map +7 -0
  102. package/dist/features/physics/lib/2d/collision/analytic.d.ts +15 -0
  103. package/dist/features/physics/lib/2d/collision/analytic.js +151 -0
  104. package/dist/features/physics/lib/2d/collision/analytic.js.map +7 -0
  105. package/dist/features/physics/lib/2d/collision/casts.d.ts +37 -0
  106. package/dist/features/physics/lib/2d/collision/casts.js +631 -0
  107. package/dist/features/physics/lib/2d/collision/casts.js.map +7 -0
  108. package/dist/features/physics/lib/2d/collision/epa.d.ts +21 -0
  109. package/dist/features/physics/lib/2d/collision/epa.js +102 -0
  110. package/dist/features/physics/lib/2d/collision/epa.js.map +7 -0
  111. package/dist/features/physics/lib/2d/collision/gjk.d.ts +28 -0
  112. package/dist/features/physics/lib/2d/collision/gjk.js +233 -0
  113. package/dist/features/physics/lib/2d/collision/gjk.js.map +7 -0
  114. package/dist/features/physics/lib/2d/collision/manifold.d.ts +35 -0
  115. package/dist/features/physics/lib/2d/collision/manifold.js +238 -0
  116. package/dist/features/physics/lib/2d/collision/manifold.js.map +7 -0
  117. package/dist/features/physics/lib/2d/collision/pairs.d.ts +10 -0
  118. package/dist/features/physics/lib/2d/collision/pairs.js +285 -0
  119. package/dist/features/physics/lib/2d/collision/pairs.js.map +7 -0
  120. package/dist/features/physics/lib/2d/collision/support.d.ts +20 -0
  121. package/dist/features/physics/lib/2d/collision/support.js +155 -0
  122. package/dist/features/physics/lib/2d/collision/support.js.map +7 -0
  123. package/dist/features/physics/lib/2d/inspection-types.d.ts +159 -0
  124. package/dist/features/physics/lib/2d/math.d.ts +27 -0
  125. package/dist/features/physics/lib/2d/math.js +314 -0
  126. package/dist/features/physics/lib/2d/math.js.map +7 -0
  127. package/dist/features/physics/lib/2d/numeric-policy.d.ts +24 -0
  128. package/dist/features/physics/lib/2d/numeric-policy.js +51 -0
  129. package/dist/features/physics/lib/2d/numeric-policy.js.map +7 -0
  130. package/dist/features/physics/lib/2d/runtime/body-handle.d.ts +148 -0
  131. package/dist/features/physics/lib/2d/runtime/body-handle.js +305 -0
  132. package/dist/features/physics/lib/2d/runtime/body-handle.js.map +7 -0
  133. package/dist/features/physics/lib/2d/runtime/context.d.ts +9 -0
  134. package/dist/features/physics/lib/2d/runtime/context.js +57 -0
  135. package/dist/features/physics/lib/2d/runtime/context.js.map +7 -0
  136. package/dist/features/physics/lib/2d/runtime/controller.d.ts +106 -0
  137. package/dist/features/physics/lib/2d/runtime/controller.js +1317 -0
  138. package/dist/features/physics/lib/2d/runtime/controller.js.map +7 -0
  139. package/dist/features/physics/lib/2d/runtime/descriptors.d.ts +153 -0
  140. package/dist/features/physics/lib/2d/runtime/descriptors.js +526 -0
  141. package/dist/features/physics/lib/2d/runtime/descriptors.js.map +7 -0
  142. package/dist/features/physics/lib/2d/runtime/events.d.ts +56 -0
  143. package/dist/features/physics/lib/2d/runtime/events.js +153 -0
  144. package/dist/features/physics/lib/2d/runtime/events.js.map +7 -0
  145. package/dist/features/physics/lib/2d/runtime/obstacles.d.ts +22 -0
  146. package/dist/features/physics/lib/2d/runtime/obstacles.js +192 -0
  147. package/dist/features/physics/lib/2d/runtime/obstacles.js.map +7 -0
  148. package/dist/features/physics/lib/2d/runtime/ownership.d.ts +41 -0
  149. package/dist/features/physics/lib/2d/runtime/ownership.js +46 -0
  150. package/dist/features/physics/lib/2d/runtime/ownership.js.map +7 -0
  151. package/dist/features/physics/lib/2d/runtime/trace.d.ts +32 -0
  152. package/dist/features/physics/lib/2d/runtime/trace.js +22 -0
  153. package/dist/features/physics/lib/2d/runtime/trace.js.map +7 -0
  154. package/dist/features/physics/lib/2d/runtime/world-component.d.ts +18 -0
  155. package/dist/features/physics/lib/2d/runtime/world-component.js +41 -0
  156. package/dist/features/physics/lib/2d/runtime/world-component.js.map +7 -0
  157. package/dist/features/physics/lib/2d/runtime/world-props.d.ts +16 -0
  158. package/dist/features/physics/lib/2d/shape-records.d.ts +60 -0
  159. package/dist/features/physics/lib/2d/shape-records.js +26 -0
  160. package/dist/features/physics/lib/2d/shape-records.js.map +7 -0
  161. package/dist/features/physics/lib/2d/shapes.d.ts +191 -0
  162. package/dist/features/physics/lib/2d/shapes.js +543 -0
  163. package/dist/features/physics/lib/2d/shapes.js.map +7 -0
  164. package/dist/features/physics/lib/2d/types.d.ts +713 -0
  165. package/dist/features/physics/lib/2d/types.js +1 -0
  166. package/dist/features/physics/lib/2d/types.js.map +7 -0
  167. package/dist/features/physics/lib/2d/world/broad-phase.d.ts +77 -0
  168. package/dist/features/physics/lib/2d/world/broad-phase.js +762 -0
  169. package/dist/features/physics/lib/2d/world/broad-phase.js.map +7 -0
  170. package/dist/features/physics/lib/2d/world/ccd.d.ts +19 -0
  171. package/dist/features/physics/lib/2d/world/ccd.js +265 -0
  172. package/dist/features/physics/lib/2d/world/ccd.js.map +7 -0
  173. package/dist/features/physics/lib/2d/world/contact-cache.d.ts +81 -0
  174. package/dist/features/physics/lib/2d/world/contact-cache.js +497 -0
  175. package/dist/features/physics/lib/2d/world/contact-cache.js.map +7 -0
  176. package/dist/features/physics/lib/2d/world/integrator.d.ts +11 -0
  177. package/dist/features/physics/lib/2d/world/integrator.js +99 -0
  178. package/dist/features/physics/lib/2d/world/integrator.js.map +7 -0
  179. package/dist/features/physics/lib/2d/world/queries.d.ts +62 -0
  180. package/dist/features/physics/lib/2d/world/queries.js +424 -0
  181. package/dist/features/physics/lib/2d/world/queries.js.map +7 -0
  182. package/dist/features/physics/lib/2d/world/rapier-engine.js +7054 -0
  183. package/dist/features/physics/lib/2d/world/rapier-engine.js.map +7 -0
  184. package/dist/features/physics/lib/2d/world/rapier.d.ts +50 -0
  185. package/dist/features/physics/lib/2d/world/rapier.js +655 -0
  186. package/dist/features/physics/lib/2d/world/rapier.js.map +7 -0
  187. package/dist/features/physics/lib/2d/world/solver.d.ts +58 -0
  188. package/dist/features/physics/lib/2d/world/solver.js +660 -0
  189. package/dist/features/physics/lib/2d/world/solver.js.map +7 -0
  190. package/dist/features/physics/lib/2d/world/storage.d.ts +96 -0
  191. package/dist/features/physics/lib/2d/world/storage.js +371 -0
  192. package/dist/features/physics/lib/2d/world/storage.js.map +7 -0
  193. package/dist/features/physics/lib/2d/world/world.d.ts +265 -0
  194. package/dist/features/physics/lib/2d/world/world.js +1713 -0
  195. package/dist/features/physics/lib/2d/world/world.js.map +7 -0
  196. package/dist/features/physics/lib/shared/signal-inputs.d.ts +5 -0
  197. package/dist/features/physics/lib/shared/signal-inputs.js +20 -0
  198. package/dist/features/physics/lib/shared/signal-inputs.js.map +7 -0
  199. package/dist/features/physics/lib/shared/validation.d.ts +5 -0
  200. package/dist/features/physics/lib/shared/validation.js +48 -0
  201. package/dist/features/physics/lib/shared/validation.js.map +7 -0
  202. package/dist/features/sprites/formats/aseprite.js +23 -0
  203. package/dist/features/sprites/formats/aseprite.js.map +7 -0
  204. package/dist/features/sprites/formats/aseprite.mjs +1 -0
  205. package/dist/features/sprites/formats/texture-packer.js +14 -0
  206. package/dist/features/sprites/formats/texture-packer.js.map +7 -0
  207. package/dist/features/sprites/formats/texture-packer.mjs +1 -0
  208. package/dist/features/sprites/index.js +9 -0
  209. package/dist/features/sprites/index.js.map +7 -0
  210. package/dist/features/sprites/index.mjs +1 -0
  211. package/dist/features/sprites/loader.js +63 -0
  212. package/dist/features/sprites/loader.js.map +7 -0
  213. package/dist/features/sprites/model.js +64 -0
  214. package/dist/features/sprites/model.js.map +7 -0
  215. package/dist/features/sprites/sprite.js +31 -0
  216. package/dist/features/sprites/sprite.js.map +7 -0
  217. package/dist/features/textures/index.d.ts +22 -0
  218. package/dist/features/textures/index.js +31 -0
  219. package/dist/features/textures/index.js.map +7 -0
  220. package/dist/features/textures/index.mjs +1 -0
  221. package/dist/features/textures/lib/definitions.d.ts +117 -0
  222. package/dist/features/textures/lib/definitions.js +179 -0
  223. package/dist/features/textures/lib/definitions.js.map +7 -0
  224. package/dist/features/textures/lib/electric-boundary.d.ts +3 -0
  225. package/dist/features/textures/lib/electric-boundary.js +11 -0
  226. package/dist/features/textures/lib/electric-boundary.js.map +7 -0
  227. package/dist/features/textures/lib/electric-shared.d.ts +69 -0
  228. package/dist/features/textures/lib/electric-shared.js +43 -0
  229. package/dist/features/textures/lib/electric-shared.js.map +7 -0
  230. package/dist/features/textures/lib/electric-sources.d.ts +50 -0
  231. package/dist/features/textures/lib/electric-sources.js +43 -0
  232. package/dist/features/textures/lib/electric-sources.js.map +7 -0
  233. package/dist/features/textures/lib/lightning.d.ts +72 -0
  234. package/dist/features/textures/lib/lightning.js +139 -0
  235. package/dist/features/textures/lib/lightning.js.map +7 -0
  236. package/dist/features/textures/lib/material-field.d.ts +12 -0
  237. package/dist/features/textures/lib/material-field.js +31 -0
  238. package/dist/features/textures/lib/material-field.js.map +7 -0
  239. package/dist/features/textures/lib/palette.d.ts +45 -0
  240. package/dist/features/textures/lib/palette.js +52 -0
  241. package/dist/features/textures/lib/palette.js.map +7 -0
  242. package/dist/features/textures/lib/presentation.d.ts +54 -0
  243. package/dist/features/textures/lib/presentation.js +83 -0
  244. package/dist/features/textures/lib/presentation.js.map +7 -0
  245. package/dist/features/textures/lib/procedural-texture.d.ts +44 -0
  246. package/dist/features/textures/lib/procedural-texture.js +110 -0
  247. package/dist/features/textures/lib/procedural-texture.js.map +7 -0
  248. package/dist/features/textures/lib/rain-drops.d.ts +96 -0
  249. package/dist/features/textures/lib/rain-drops.js +322 -0
  250. package/dist/features/textures/lib/rain-drops.js.map +7 -0
  251. package/dist/features/textures/lib/reaction-diffusion.d.ts +67 -0
  252. package/dist/features/textures/lib/reaction-diffusion.js +210 -0
  253. package/dist/features/textures/lib/reaction-diffusion.js.map +7 -0
  254. package/dist/features/textures/lib/simulation.d.ts +16 -0
  255. package/dist/features/textures/lib/simulation.js +85 -0
  256. package/dist/features/textures/lib/simulation.js.map +7 -0
  257. package/dist/features/textures/lib/tendrils.d.ts +57 -0
  258. package/dist/features/textures/lib/tendrils.js +216 -0
  259. package/dist/features/textures/lib/tendrils.js.map +7 -0
  260. package/dist/features/textures/lib/wasm/cellular-bytes.d.ts +1 -0
  261. package/dist/features/textures/lib/wasm/cellular-bytes.js +5 -0
  262. package/dist/features/textures/lib/wasm/cellular-bytes.js.map +7 -0
  263. package/dist/features/textures/lib/wasm/electric.d.ts +88 -0
  264. package/dist/features/textures/lib/wasm/electric.js +299 -0
  265. package/dist/features/textures/lib/wasm/electric.js.map +7 -0
  266. package/dist/features/textures/lib/wasm/ink-bytes.d.ts +1 -0
  267. package/dist/features/textures/lib/wasm/ink-bytes.js +5 -0
  268. package/dist/features/textures/lib/wasm/ink-bytes.js.map +7 -0
  269. package/dist/features/textures/lib/wasm/lightning-bytes.d.ts +1 -0
  270. package/dist/features/textures/lib/wasm/lightning-bytes.js +5 -0
  271. package/dist/features/textures/lib/wasm/lightning-bytes.js.map +7 -0
  272. package/dist/features/textures/lib/wasm/marble-bytes.d.ts +1 -0
  273. package/dist/features/textures/lib/wasm/marble-bytes.js +5 -0
  274. package/dist/features/textures/lib/wasm/marble-bytes.js.map +7 -0
  275. package/dist/features/textures/lib/wasm/memory.d.ts +31 -0
  276. package/dist/features/textures/lib/wasm/memory.js +103 -0
  277. package/dist/features/textures/lib/wasm/memory.js.map +7 -0
  278. package/dist/features/textures/lib/wasm/paper-bytes.d.ts +1 -0
  279. package/dist/features/textures/lib/wasm/paper-bytes.js +5 -0
  280. package/dist/features/textures/lib/wasm/paper-bytes.js.map +7 -0
  281. package/dist/features/textures/lib/wasm/tendrils-bytes.d.ts +1 -0
  282. package/dist/features/textures/lib/wasm/tendrils-bytes.js +5 -0
  283. package/dist/features/textures/lib/wasm/tendrils-bytes.js.map +7 -0
  284. package/dist/features/textures/lib/wasm/water-surface-bytes.d.ts +1 -0
  285. package/dist/features/textures/lib/wasm/water-surface-bytes.js +5 -0
  286. package/dist/features/textures/lib/wasm/water-surface-bytes.js.map +7 -0
  287. package/dist/features/textures/lib/wasm/water-waves-bytes.d.ts +1 -0
  288. package/dist/features/textures/lib/wasm/water-waves-bytes.js +5 -0
  289. package/dist/features/textures/lib/wasm/water-waves-bytes.js.map +7 -0
  290. package/dist/features/textures/lib/water-surface.d.ts +92 -0
  291. package/dist/features/textures/lib/water-surface.js +378 -0
  292. package/dist/features/textures/lib/water-surface.js.map +7 -0
  293. package/dist/features/textures/lib/water-waves.d.ts +60 -0
  294. package/dist/features/textures/lib/water-waves.js +154 -0
  295. package/dist/features/textures/lib/water-waves.js.map +7 -0
  296. package/dist/features/viz/index.d.ts +28 -0
  297. package/dist/features/viz/index.js +45 -0
  298. package/dist/features/viz/index.js.map +7 -0
  299. package/dist/features/viz/index.mjs +1 -0
  300. package/dist/features/viz/lib/anchored-layout.d.ts +104 -0
  301. package/dist/features/viz/lib/anchored-layout.js +166 -0
  302. package/dist/features/viz/lib/anchored-layout.js.map +7 -0
  303. package/dist/features/viz/lib/axis.d.ts +10 -0
  304. package/dist/features/viz/lib/axis.js +116 -0
  305. package/dist/features/viz/lib/axis.js.map +7 -0
  306. package/dist/features/viz/lib/band-scale.d.ts +3 -0
  307. package/dist/features/viz/lib/band-scale.js +57 -0
  308. package/dist/features/viz/lib/band-scale.js.map +7 -0
  309. package/dist/features/viz/lib/bar-fill.d.ts +16 -0
  310. package/dist/features/viz/lib/bar-fill.js +53 -0
  311. package/dist/features/viz/lib/bar-fill.js.map +7 -0
  312. package/dist/features/viz/lib/bar-series.d.ts +150 -0
  313. package/dist/features/viz/lib/bar-series.js +152 -0
  314. package/dist/features/viz/lib/bar-series.js.map +7 -0
  315. package/dist/features/viz/lib/hover-card.d.ts +92 -0
  316. package/dist/features/viz/lib/hover-card.js +146 -0
  317. package/dist/features/viz/lib/hover-card.js.map +7 -0
  318. package/dist/features/viz/lib/hover-data.d.ts +12 -0
  319. package/dist/features/viz/lib/hover-data.js +50 -0
  320. package/dist/features/viz/lib/hover-data.js.map +7 -0
  321. package/dist/features/viz/lib/hover-placement.d.ts +46 -0
  322. package/dist/features/viz/lib/hover-placement.js +51 -0
  323. package/dist/features/viz/lib/hover-placement.js.map +7 -0
  324. package/dist/features/viz/lib/hover-queries.d.ts +60 -0
  325. package/dist/features/viz/lib/hover-queries.js +185 -0
  326. package/dist/features/viz/lib/hover-queries.js.map +7 -0
  327. package/dist/features/viz/lib/hover-types.d.ts +277 -0
  328. package/dist/features/viz/lib/layout-pie.d.ts +13 -0
  329. package/dist/features/viz/lib/layout-pie.js +159 -0
  330. package/dist/features/viz/lib/layout-pie.js.map +7 -0
  331. package/dist/features/viz/lib/line-series.d.ts +11 -0
  332. package/dist/features/viz/lib/line-series.js +89 -0
  333. package/dist/features/viz/lib/line-series.js.map +7 -0
  334. package/dist/features/viz/lib/linear-scale.d.ts +3 -0
  335. package/dist/features/viz/lib/linear-scale.js +70 -0
  336. package/dist/features/viz/lib/linear-scale.js.map +7 -0
  337. package/dist/features/viz/lib/nearest.d.ts +82 -0
  338. package/dist/features/viz/lib/nearest.js +51 -0
  339. package/dist/features/viz/lib/nearest.js.map +7 -0
  340. package/dist/features/viz/lib/paint.d.ts +2 -0
  341. package/dist/features/viz/lib/paint.js +17 -0
  342. package/dist/features/viz/lib/paint.js.map +7 -0
  343. package/dist/features/viz/lib/pie-layout.d.ts +31 -0
  344. package/dist/features/viz/lib/pie-layout.js +324 -0
  345. package/dist/features/viz/lib/pie-layout.js.map +7 -0
  346. package/dist/features/viz/lib/pie-slices.d.ts +51 -0
  347. package/dist/features/viz/lib/pie-slices.js +50 -0
  348. package/dist/features/viz/lib/pie-slices.js.map +7 -0
  349. package/dist/features/viz/lib/pie-types.d.ts +215 -0
  350. package/dist/features/viz/lib/plot-series.d.ts +13 -0
  351. package/dist/features/viz/lib/plot-series.js +53 -0
  352. package/dist/features/viz/lib/plot-series.js.map +7 -0
  353. package/dist/features/viz/lib/plot-types.d.ts +63 -0
  354. package/dist/features/viz/lib/point-data.d.ts +5 -0
  355. package/dist/features/viz/lib/point-data.js +17 -0
  356. package/dist/features/viz/lib/point-data.js.map +7 -0
  357. package/dist/features/viz/lib/point-geometry.d.ts +2 -0
  358. package/dist/features/viz/lib/point-geometry.js +24 -0
  359. package/dist/features/viz/lib/point-geometry.js.map +7 -0
  360. package/dist/features/viz/lib/point-series.d.ts +11 -0
  361. package/dist/features/viz/lib/point-series.js +118 -0
  362. package/dist/features/viz/lib/point-series.js.map +7 -0
  363. package/dist/features/viz/lib/point-types.d.ts +94 -0
  364. package/dist/features/viz/lib/scale-adjust.d.ts +11 -0
  365. package/dist/features/viz/lib/scale-adjust.js +25 -0
  366. package/dist/features/viz/lib/scale-adjust.js.map +7 -0
  367. package/dist/features/viz/lib/scale-context.d.ts +8 -0
  368. package/dist/features/viz/lib/scale-context.js +61 -0
  369. package/dist/features/viz/lib/scale-context.js.map +7 -0
  370. package/dist/features/viz/lib/scale.d.ts +11 -0
  371. package/dist/features/viz/lib/scale.js +80 -0
  372. package/dist/features/viz/lib/scale.js.map +7 -0
  373. package/dist/features/viz/lib/types.d.ts +414 -0
  374. package/dist/features/viz/lib/use-scale.d.ts +20 -0
  375. package/dist/features/viz/lib/use-scale.js +10 -0
  376. package/dist/features/viz/lib/use-scale.js.map +7 -0
  377. package/dist/filters/displacement-gpu.d.ts +38 -0
  378. package/dist/filters/displacement-gpu.js +243 -0
  379. package/dist/filters/displacement-gpu.js.map +7 -0
  380. package/dist/filters/displacement-math.d.ts +5 -0
  381. package/dist/filters/displacement-math.js +22 -0
  382. package/dist/filters/displacement-math.js.map +7 -0
  383. package/dist/filters/displacement.d.ts +13 -0
  384. package/dist/filters/displacement.js +65 -0
  385. package/dist/filters/displacement.js.map +7 -0
  386. package/dist/filters/filter-executor.d.ts +21 -0
  387. package/dist/filters/filter-executor.js +120 -0
  388. package/dist/filters/filter-executor.js.map +7 -0
  389. package/dist/filters/native-canvas-filter.d.ts +4 -0
  390. package/dist/filters/native-canvas-filter.js +105 -0
  391. package/dist/filters/native-canvas-filter.js.map +7 -0
  392. package/dist/filters/native-color.d.ts +2 -0
  393. package/dist/filters/native-color.js +200 -0
  394. package/dist/filters/native-color.js.map +7 -0
  395. package/dist/filters/native-operations.d.ts +8 -0
  396. package/dist/filters/native-operations.js +7 -0
  397. package/dist/filters/native-operations.js.map +7 -0
  398. package/dist/filters/native.d.ts +113 -0
  399. package/dist/filters/native.js +115 -0
  400. package/dist/filters/native.js.map +7 -0
  401. package/dist/filters/reflected-light.d.ts +12 -0
  402. package/dist/filters/reflected-light.js +93 -0
  403. package/dist/filters/reflected-light.js.map +7 -0
  404. package/dist/filters/reflection-gpu.d.ts +58 -0
  405. package/dist/filters/reflection-gpu.js +266 -0
  406. package/dist/filters/reflection-gpu.js.map +7 -0
  407. package/dist/filters/render-displacement-boundary.d.ts +12 -0
  408. package/dist/filters/render-displacement-boundary.js +116 -0
  409. package/dist/filters/render-displacement-boundary.js.map +7 -0
  410. package/dist/filters/render-reflection-boundary.d.ts +15 -0
  411. package/dist/filters/render-reflection-boundary.js +127 -0
  412. package/dist/filters/render-reflection-boundary.js.map +7 -0
  413. package/dist/filters.d.ts +5 -0
  414. package/dist/filters.js +29 -0
  415. package/dist/filters.js.map +7 -0
  416. package/dist/filters.mjs +1 -0
  417. package/dist/index.d.ts +111 -0
  418. package/dist/index.js +300 -0
  419. package/dist/index.js.map +7 -0
  420. package/dist/index.mjs +1 -0
  421. package/dist/internal.d.ts +160 -0
  422. package/dist/internal.js +320 -0
  423. package/dist/internal.js.map +7 -0
  424. package/dist/internal.mjs +1 -0
  425. package/dist/jsx-dev-runtime.d.ts +35 -0
  426. package/dist/jsx-dev-runtime.js +6 -0
  427. package/dist/jsx-dev-runtime.js.map +7 -0
  428. package/dist/jsx-dev-runtime.mjs +1 -0
  429. package/dist/jsx-runtime.d.ts +35 -0
  430. package/dist/jsx-runtime.js +7 -0
  431. package/dist/jsx-runtime.js.map +7 -0
  432. package/dist/jsx-runtime.mjs +1 -0
  433. package/dist/lib/animation/definition.d.ts +140 -0
  434. package/dist/lib/animation/definition.js +605 -0
  435. package/dist/lib/animation/definition.js.map +7 -0
  436. package/dist/lib/animation/easing.d.ts +55 -0
  437. package/dist/lib/animation/easing.js +112 -0
  438. package/dist/lib/animation/easing.js.map +7 -0
  439. package/dist/lib/animation/evaluate.d.ts +118 -0
  440. package/dist/lib/animation/evaluate.js +2398 -0
  441. package/dist/lib/animation/evaluate.js.map +7 -0
  442. package/dist/lib/animation/playback.d.ts +30 -0
  443. package/dist/lib/animation/playback.js +932 -0
  444. package/dist/lib/animation/playback.js.map +7 -0
  445. package/dist/lib/animation/program.d.ts +145 -0
  446. package/dist/lib/animation/program.js +741 -0
  447. package/dist/lib/animation/program.js.map +7 -0
  448. package/dist/lib/animation/spring.d.ts +30 -0
  449. package/dist/lib/animation/spring.js +324 -0
  450. package/dist/lib/animation/spring.js.map +7 -0
  451. package/dist/lib/animation/types.d.ts +418 -0
  452. package/dist/lib/animation/writer-leases.d.ts +47 -0
  453. package/dist/lib/animation/writer-leases.js +314 -0
  454. package/dist/lib/animation/writer-leases.js.map +7 -0
  455. package/dist/lib/backend/canvas-2d-backend.d.ts +4 -0
  456. package/dist/lib/backend/canvas-2d-backend.js +97 -0
  457. package/dist/lib/backend/canvas-2d-backend.js.map +7 -0
  458. package/dist/lib/backend/types.d.ts +309 -0
  459. package/dist/lib/backend/types.js +26 -0
  460. package/dist/lib/backend/types.js.map +7 -0
  461. package/dist/lib/components/arc-geometry.d.ts +4 -0
  462. package/dist/lib/components/arc-geometry.js +46 -0
  463. package/dist/lib/components/arc-geometry.js.map +7 -0
  464. package/dist/lib/components/arc.d.ts +55 -0
  465. package/dist/lib/components/arc.js +91 -0
  466. package/dist/lib/components/arc.js.map +7 -0
  467. package/dist/lib/components/circle.d.ts +49 -0
  468. package/dist/lib/components/circle.js +46 -0
  469. package/dist/lib/components/circle.js.map +7 -0
  470. package/dist/lib/components/clip.d.ts +43 -0
  471. package/dist/lib/components/clip.js +24 -0
  472. package/dist/lib/components/clip.js.map +7 -0
  473. package/dist/lib/components/ellipse.d.ts +53 -0
  474. package/dist/lib/components/ellipse.js +59 -0
  475. package/dist/lib/components/ellipse.js.map +7 -0
  476. package/dist/lib/components/g.d.ts +56 -0
  477. package/dist/lib/components/g.js +24 -0
  478. package/dist/lib/components/g.js.map +7 -0
  479. package/dist/lib/components/horizontal-line.d.ts +56 -0
  480. package/dist/lib/components/horizontal-line.js +71 -0
  481. package/dist/lib/components/horizontal-line.js.map +7 -0
  482. package/dist/lib/components/html-box.d.ts +16 -0
  483. package/dist/lib/components/html-box.js +57 -0
  484. package/dist/lib/components/html-box.js.map +7 -0
  485. package/dist/lib/components/img.d.ts +24 -0
  486. package/dist/lib/components/img.js +150 -0
  487. package/dist/lib/components/img.js.map +7 -0
  488. package/dist/lib/components/layer-node-equality.d.ts +65 -0
  489. package/dist/lib/components/layer-node-equality.js +91 -0
  490. package/dist/lib/components/layer-node-equality.js.map +7 -0
  491. package/dist/lib/components/layer.d.ts +34 -0
  492. package/dist/lib/components/layer.js +172 -0
  493. package/dist/lib/components/layer.js.map +7 -0
  494. package/dist/lib/components/line.d.ts +51 -0
  495. package/dist/lib/components/line.js +76 -0
  496. package/dist/lib/components/line.js.map +7 -0
  497. package/dist/lib/components/path.d.ts +28 -0
  498. package/dist/lib/components/path.js +47 -0
  499. package/dist/lib/components/path.js.map +7 -0
  500. package/dist/lib/components/polygon.d.ts +45 -0
  501. package/dist/lib/components/polygon.js +93 -0
  502. package/dist/lib/components/polygon.js.map +7 -0
  503. package/dist/lib/components/rect.d.ts +24 -0
  504. package/dist/lib/components/rect.js +83 -0
  505. package/dist/lib/components/rect.js.map +7 -0
  506. package/dist/lib/components/regular-polygon.d.ts +102 -0
  507. package/dist/lib/components/regular-polygon.js +112 -0
  508. package/dist/lib/components/regular-polygon.js.map +7 -0
  509. package/dist/lib/components/rounded-corner-style.d.ts +7 -0
  510. package/dist/lib/components/rounded-corner-style.js +40 -0
  511. package/dist/lib/components/rounded-corner-style.js.map +7 -0
  512. package/dist/lib/components/shape-style.d.ts +7 -0
  513. package/dist/lib/components/shape-style.js +52 -0
  514. package/dist/lib/components/shape-style.js.map +7 -0
  515. package/dist/lib/components/star.d.ts +56 -0
  516. package/dist/lib/components/star.js +98 -0
  517. package/dist/lib/components/star.js.map +7 -0
  518. package/dist/lib/components/structural-events.d.ts +10 -0
  519. package/dist/lib/components/structural-events.js +8 -0
  520. package/dist/lib/components/structural-events.js.map +7 -0
  521. package/dist/lib/components/svg-path.d.ts +23 -0
  522. package/dist/lib/components/svg-path.js +25 -0
  523. package/dist/lib/components/svg-path.js.map +7 -0
  524. package/dist/lib/components/text-layout.d.ts +31 -0
  525. package/dist/lib/components/text-layout.js +139 -0
  526. package/dist/lib/components/text-layout.js.map +7 -0
  527. package/dist/lib/components/text.d.ts +29 -0
  528. package/dist/lib/components/text.js +174 -0
  529. package/dist/lib/components/text.js.map +7 -0
  530. package/dist/lib/components/vertical-line.d.ts +57 -0
  531. package/dist/lib/components/vertical-line.js +71 -0
  532. package/dist/lib/components/vertical-line.js.map +7 -0
  533. package/dist/lib/components/wedge.d.ts +55 -0
  534. package/dist/lib/components/wedge.js +93 -0
  535. package/dist/lib/components/wedge.js.map +7 -0
  536. package/dist/lib/define-primitive.d.ts +82 -0
  537. package/dist/lib/define-primitive.js +85 -0
  538. package/dist/lib/define-primitive.js.map +7 -0
  539. package/dist/lib/development.d.ts +2 -0
  540. package/dist/lib/development.js +5 -0
  541. package/dist/lib/development.js.map +7 -0
  542. package/dist/lib/element/children.d.ts +16 -0
  543. package/dist/lib/element/children.js +333 -0
  544. package/dist/lib/element/children.js.map +7 -0
  545. package/dist/lib/element/create-element.d.ts +34 -0
  546. package/dist/lib/element/create-element.js +75 -0
  547. package/dist/lib/element/create-element.js.map +7 -0
  548. package/dist/lib/element/fragment.d.ts +15 -0
  549. package/dist/lib/element/fragment.js +11 -0
  550. package/dist/lib/element/fragment.js.map +7 -0
  551. package/dist/lib/element/jsx-runtime.d.ts +48 -0
  552. package/dist/lib/element/jsx-runtime.js +16 -0
  553. package/dist/lib/element/jsx-runtime.js.map +7 -0
  554. package/dist/lib/element/metadata.d.ts +96 -0
  555. package/dist/lib/element/metadata.js +160 -0
  556. package/dist/lib/element/metadata.js.map +7 -0
  557. package/dist/lib/element/resolve-primitive-inputs.d.ts +12 -0
  558. package/dist/lib/element/resolve-primitive-inputs.js +83 -0
  559. package/dist/lib/element/resolve-primitive-inputs.js.map +7 -0
  560. package/dist/lib/element/types.d.ts +123 -0
  561. package/dist/lib/element-enhancers.d.ts +134 -0
  562. package/dist/lib/element-enhancers.js +193 -0
  563. package/dist/lib/element-enhancers.js.map +7 -0
  564. package/dist/lib/events/adapters/clipboard.d.ts +9 -0
  565. package/dist/lib/events/adapters/clipboard.js +23 -0
  566. package/dist/lib/events/adapters/clipboard.js.map +7 -0
  567. package/dist/lib/events/adapters/drag.d.ts +12 -0
  568. package/dist/lib/events/adapters/drag.js +29 -0
  569. package/dist/lib/events/adapters/drag.js.map +7 -0
  570. package/dist/lib/events/adapters/editing.d.ts +15 -0
  571. package/dist/lib/events/adapters/editing.js +41 -0
  572. package/dist/lib/events/adapters/editing.js.map +7 -0
  573. package/dist/lib/events/adapters/keyboard-focus.d.ts +12 -0
  574. package/dist/lib/events/adapters/keyboard-focus.js +36 -0
  575. package/dist/lib/events/adapters/keyboard-focus.js.map +7 -0
  576. package/dist/lib/events/adapters/mouse.d.ts +17 -0
  577. package/dist/lib/events/adapters/mouse.js +32 -0
  578. package/dist/lib/events/adapters/mouse.js.map +7 -0
  579. package/dist/lib/events/adapters/pointer.d.ts +19 -0
  580. package/dist/lib/events/adapters/pointer.js +40 -0
  581. package/dist/lib/events/adapters/pointer.js.map +7 -0
  582. package/dist/lib/events/adapters/touch.d.ts +16 -0
  583. package/dist/lib/events/adapters/touch.js +36 -0
  584. package/dist/lib/events/adapters/touch.js.map +7 -0
  585. package/dist/lib/events/adapters/wheel.d.ts +10 -0
  586. package/dist/lib/events/adapters/wheel.js +16 -0
  587. package/dist/lib/events/adapters/wheel.js.map +7 -0
  588. package/dist/lib/events/boundary-transitions.d.ts +9 -0
  589. package/dist/lib/events/boundary-transitions.js +16 -0
  590. package/dist/lib/events/boundary-transitions.js.map +7 -0
  591. package/dist/lib/events/dispatch.d.ts +21 -0
  592. package/dist/lib/events/dispatch.js +1078 -0
  593. package/dist/lib/events/dispatch.js.map +7 -0
  594. package/dist/lib/events/event-definitions.d.ts +23 -0
  595. package/dist/lib/events/event-definitions.js +74 -0
  596. package/dist/lib/events/event-definitions.js.map +7 -0
  597. package/dist/lib/events/event-facade.d.ts +19 -0
  598. package/dist/lib/events/event-facade.js +188 -0
  599. package/dist/lib/events/event-facade.js.map +7 -0
  600. package/dist/lib/events/event-path.d.ts +3 -0
  601. package/dist/lib/events/event-path.js +43 -0
  602. package/dist/lib/events/event-path.js.map +7 -0
  603. package/dist/lib/events/hit-test.d.ts +13 -0
  604. package/dist/lib/events/hit-test.js +135 -0
  605. package/dist/lib/events/hit-test.js.map +7 -0
  606. package/dist/lib/events/native-listener-hub.d.ts +10 -0
  607. package/dist/lib/events/native-listener-hub.js +72 -0
  608. package/dist/lib/events/native-listener-hub.js.map +7 -0
  609. package/dist/lib/events/paint-entry.d.ts +66 -0
  610. package/dist/lib/events/paint-entry.js +30 -0
  611. package/dist/lib/events/paint-entry.js.map +7 -0
  612. package/dist/lib/events/pointer-capture.d.ts +23 -0
  613. package/dist/lib/events/pointer-capture.js +339 -0
  614. package/dist/lib/events/pointer-capture.js.map +7 -0
  615. package/dist/lib/events/propagation.d.ts +7 -0
  616. package/dist/lib/events/propagation.js +56 -0
  617. package/dist/lib/events/propagation.js.map +7 -0
  618. package/dist/lib/events/registrations.d.ts +120 -0
  619. package/dist/lib/events/registrations.js +397 -0
  620. package/dist/lib/events/registrations.js.map +7 -0
  621. package/dist/lib/events/resolver-input.d.ts +25 -0
  622. package/dist/lib/events/resolver-input.js +62 -0
  623. package/dist/lib/events/resolver-input.js.map +7 -0
  624. package/dist/lib/events/types.d.ts +596 -0
  625. package/dist/lib/execute-render.d.ts +9 -0
  626. package/dist/lib/execute-render.js +195 -0
  627. package/dist/lib/execute-render.js.map +7 -0
  628. package/dist/lib/filter/canvas-state.d.ts +2 -0
  629. package/dist/lib/filter/canvas-state.js +31 -0
  630. package/dist/lib/filter/canvas-state.js.map +7 -0
  631. package/dist/lib/filter/filter-region.d.ts +33 -0
  632. package/dist/lib/filter/filter-region.js +291 -0
  633. package/dist/lib/filter/filter-region.js.map +7 -0
  634. package/dist/lib/filter/filter-surface-pool.d.ts +38 -0
  635. package/dist/lib/filter/filter-surface-pool.js +252 -0
  636. package/dist/lib/filter/filter-surface-pool.js.map +7 -0
  637. package/dist/lib/filter/render-filter-boundary.d.ts +14 -0
  638. package/dist/lib/filter/render-filter-boundary.js +211 -0
  639. package/dist/lib/filter/render-filter-boundary.js.map +7 -0
  640. package/dist/lib/focus/directional-navigation.d.ts +12 -0
  641. package/dist/lib/focus/directional-navigation.js +86 -0
  642. package/dist/lib/focus/directional-navigation.js.map +7 -0
  643. package/dist/lib/focus/dom-focus-host.d.ts +13 -0
  644. package/dist/lib/focus/dom-focus-host.js +352 -0
  645. package/dist/lib/focus/dom-focus-host.js.map +7 -0
  646. package/dist/lib/focus/dom-tab-stops.d.ts +3 -0
  647. package/dist/lib/focus/dom-tab-stops.js +71 -0
  648. package/dist/lib/focus/dom-tab-stops.js.map +7 -0
  649. package/dist/lib/focus/focus-events.d.ts +4 -0
  650. package/dist/lib/focus/focus-events.js +78 -0
  651. package/dist/lib/focus/focus-events.js.map +7 -0
  652. package/dist/lib/focus/focus-manager.d.ts +121 -0
  653. package/dist/lib/focus/focus-manager.js +1131 -0
  654. package/dist/lib/focus/focus-manager.js.map +7 -0
  655. package/dist/lib/focus/geometry.d.ts +4 -0
  656. package/dist/lib/focus/geometry.js +64 -0
  657. package/dist/lib/focus/geometry.js.map +7 -0
  658. package/dist/lib/focus/html-focus-region.d.ts +27 -0
  659. package/dist/lib/focus/keyboard-defaults.d.ts +7 -0
  660. package/dist/lib/focus/keyboard-defaults.js +110 -0
  661. package/dist/lib/focus/keyboard-defaults.js.map +7 -0
  662. package/dist/lib/focus/policy-components.d.ts +45 -0
  663. package/dist/lib/focus/policy-components.js +94 -0
  664. package/dist/lib/focus/policy-components.js.map +7 -0
  665. package/dist/lib/focus/types.d.ts +37 -0
  666. package/dist/lib/focus/types.js +7 -0
  667. package/dist/lib/focus/types.js.map +7 -0
  668. package/dist/lib/geometry/circle.d.ts +22 -0
  669. package/dist/lib/geometry/circle.js +13 -0
  670. package/dist/lib/geometry/circle.js.map +7 -0
  671. package/dist/lib/geometry/circular-sweep.d.ts +54 -0
  672. package/dist/lib/geometry/circular-sweep.js +95 -0
  673. package/dist/lib/geometry/circular-sweep.js.map +7 -0
  674. package/dist/lib/geometry/ellipse.d.ts +26 -0
  675. package/dist/lib/geometry/ellipse.js +17 -0
  676. package/dist/lib/geometry/ellipse.js.map +7 -0
  677. package/dist/lib/geometry/line.d.ts +20 -0
  678. package/dist/lib/geometry/line.js +15 -0
  679. package/dist/lib/geometry/line.js.map +7 -0
  680. package/dist/lib/geometry/path-arc.d.ts +25 -0
  681. package/dist/lib/geometry/path-arc.js +57 -0
  682. package/dist/lib/geometry/path-arc.js.map +7 -0
  683. package/dist/lib/geometry/path-bend-guide.d.ts +31 -0
  684. package/dist/lib/geometry/path-bend-guide.js +282 -0
  685. package/dist/lib/geometry/path-bend-guide.js.map +7 -0
  686. package/dist/lib/geometry/path-bend-spans.d.ts +31 -0
  687. package/dist/lib/geometry/path-bend-spans.js +109 -0
  688. package/dist/lib/geometry/path-bend-spans.js.map +7 -0
  689. package/dist/lib/geometry/path-bending.d.ts +90 -0
  690. package/dist/lib/geometry/path-bending.js +202 -0
  691. package/dist/lib/geometry/path-bending.js.map +7 -0
  692. package/dist/lib/geometry/path-conversion.d.ts +19 -0
  693. package/dist/lib/geometry/path-conversion.js +114 -0
  694. package/dist/lib/geometry/path-conversion.js.map +7 -0
  695. package/dist/lib/geometry/path-geometry.d.ts +218 -0
  696. package/dist/lib/geometry/path-geometry.js +557 -0
  697. package/dist/lib/geometry/path-geometry.js.map +7 -0
  698. package/dist/lib/geometry/path-radial.d.ts +15 -0
  699. package/dist/lib/geometry/path-radial.js +107 -0
  700. package/dist/lib/geometry/path-radial.js.map +7 -0
  701. package/dist/lib/geometry/path-transforms.d.ts +233 -0
  702. package/dist/lib/geometry/path-transforms.js +478 -0
  703. package/dist/lib/geometry/path-transforms.js.map +7 -0
  704. package/dist/lib/geometry/path-utilities.d.ts +78 -0
  705. package/dist/lib/geometry/path-utilities.js +341 -0
  706. package/dist/lib/geometry/path-utilities.js.map +7 -0
  707. package/dist/lib/geometry/path-wang.d.ts +18 -0
  708. package/dist/lib/geometry/path-wang.js +136 -0
  709. package/dist/lib/geometry/path-wang.js.map +7 -0
  710. package/dist/lib/geometry/path-warp-bezier.d.ts +17 -0
  711. package/dist/lib/geometry/path-warp-bezier.js +109 -0
  712. package/dist/lib/geometry/path-warp-bezier.js.map +7 -0
  713. package/dist/lib/geometry/path-warp.d.ts +27 -0
  714. package/dist/lib/geometry/path-warp.js +165 -0
  715. package/dist/lib/geometry/path-warp.js.map +7 -0
  716. package/dist/lib/geometry/polygon.d.ts +21 -0
  717. package/dist/lib/geometry/polygon.js +12 -0
  718. package/dist/lib/geometry/polygon.js.map +7 -0
  719. package/dist/lib/geometry/rectangle.d.ts +38 -0
  720. package/dist/lib/geometry/rectangle.js +22 -0
  721. package/dist/lib/geometry/rectangle.js.map +7 -0
  722. package/dist/lib/geometry/regular-polygon.d.ts +88 -0
  723. package/dist/lib/geometry/regular-polygon.js +67 -0
  724. package/dist/lib/geometry/regular-polygon.js.map +7 -0
  725. package/dist/lib/geometry/resolve-path.d.ts +4 -0
  726. package/dist/lib/geometry/resolve-path.js +16 -0
  727. package/dist/lib/geometry/resolve-path.js.map +7 -0
  728. package/dist/lib/geometry/rounded-corners.d.ts +28 -0
  729. package/dist/lib/geometry/rounded-corners.js +118 -0
  730. package/dist/lib/geometry/rounded-corners.js.map +7 -0
  731. package/dist/lib/geometry/star.d.ts +39 -0
  732. package/dist/lib/geometry/star.js +90 -0
  733. package/dist/lib/geometry/star.js.map +7 -0
  734. package/dist/lib/geometry/svg-path.d.ts +21 -0
  735. package/dist/lib/geometry/svg-path.js +7 -0
  736. package/dist/lib/geometry/svg-path.js.map +7 -0
  737. package/dist/lib/geometry/transform-bend.d.ts +46 -0
  738. package/dist/lib/geometry/transform-bend.js +219 -0
  739. package/dist/lib/geometry/transform-bend.js.map +7 -0
  740. package/dist/lib/geometry/transform-guide.d.ts +57 -0
  741. package/dist/lib/geometry/transform-guide.js +157 -0
  742. package/dist/lib/geometry/transform-guide.js.map +7 -0
  743. package/dist/lib/geometry/transform-math.d.ts +21 -0
  744. package/dist/lib/geometry/transform-math.js +91 -0
  745. package/dist/lib/geometry/transform-math.js.map +7 -0
  746. package/dist/lib/geometry/transform-mesh.d.ts +39 -0
  747. package/dist/lib/geometry/transform-mesh.js +129 -0
  748. package/dist/lib/geometry/transform-mesh.js.map +7 -0
  749. package/dist/lib/geometry/validation.d.ts +6 -0
  750. package/dist/lib/geometry/validation.js +42 -0
  751. package/dist/lib/geometry/validation.js.map +7 -0
  752. package/dist/lib/global-state.d.ts +63 -0
  753. package/dist/lib/global-state.js +176 -0
  754. package/dist/lib/global-state.js.map +7 -0
  755. package/dist/lib/hooks/hook-slot.d.ts +30 -0
  756. package/dist/lib/hooks/hook-slot.js +66 -0
  757. package/dist/lib/hooks/hook-slot.js.map +7 -0
  758. package/dist/lib/hooks/use-animated-value.d.ts +24 -0
  759. package/dist/lib/hooks/use-animated-value.js +169 -0
  760. package/dist/lib/hooks/use-animated-value.js.map +7 -0
  761. package/dist/lib/hooks/use-canvas-context.d.ts +10 -0
  762. package/dist/lib/hooks/use-canvas-context.js +13 -0
  763. package/dist/lib/hooks/use-canvas-context.js.map +7 -0
  764. package/dist/lib/hooks/use-computed.d.ts +13 -0
  765. package/dist/lib/hooks/use-computed.js +91 -0
  766. package/dist/lib/hooks/use-computed.js.map +7 -0
  767. package/dist/lib/hooks/use-const.d.ts +10 -0
  768. package/dist/lib/hooks/use-const.js +15 -0
  769. package/dist/lib/hooks/use-const.js.map +7 -0
  770. package/dist/lib/hooks/use-cursor.d.ts +16 -0
  771. package/dist/lib/hooks/use-cursor.js +51 -0
  772. package/dist/lib/hooks/use-cursor.js.map +7 -0
  773. package/dist/lib/hooks/use-event-listener.d.ts +10 -0
  774. package/dist/lib/hooks/use-event-listener.js +24 -0
  775. package/dist/lib/hooks/use-event-listener.js.map +7 -0
  776. package/dist/lib/hooks/use-event-target.d.ts +14 -0
  777. package/dist/lib/hooks/use-event-target.js +30 -0
  778. package/dist/lib/hooks/use-event-target.js.map +7 -0
  779. package/dist/lib/hooks/use-layout-box.d.ts +9 -0
  780. package/dist/lib/hooks/use-layout-box.js +8 -0
  781. package/dist/lib/hooks/use-layout-box.js.map +7 -0
  782. package/dist/lib/hooks/use-line-path.d.ts +14 -0
  783. package/dist/lib/hooks/use-line-path.js +13 -0
  784. package/dist/lib/hooks/use-line-path.js.map +7 -0
  785. package/dist/lib/hooks/use-paint-target.d.ts +3 -0
  786. package/dist/lib/hooks/use-paint-target.js +34 -0
  787. package/dist/lib/hooks/use-paint-target.js.map +7 -0
  788. package/dist/lib/hooks/use-playback.d.ts +21 -0
  789. package/dist/lib/hooks/use-playback.js +87 -0
  790. package/dist/lib/hooks/use-playback.js.map +7 -0
  791. package/dist/lib/hooks/use-reaction.d.ts +19 -0
  792. package/dist/lib/hooks/use-reaction.js +245 -0
  793. package/dist/lib/hooks/use-reaction.js.map +7 -0
  794. package/dist/lib/hooks/use-rect-path.d.ts +20 -0
  795. package/dist/lib/hooks/use-rect-path.js +25 -0
  796. package/dist/lib/hooks/use-rect-path.js.map +7 -0
  797. package/dist/lib/hooks/use-ref.d.ts +17 -0
  798. package/dist/lib/hooks/use-ref.js +8 -0
  799. package/dist/lib/hooks/use-ref.js.map +7 -0
  800. package/dist/lib/hooks/use-region.d.ts +11 -0
  801. package/dist/lib/hooks/use-region.js +34 -0
  802. package/dist/lib/hooks/use-region.js.map +7 -0
  803. package/dist/lib/hooks/use-signal.d.ts +12 -0
  804. package/dist/lib/hooks/use-signal.js +12 -0
  805. package/dist/lib/hooks/use-signal.js.map +7 -0
  806. package/dist/lib/hooks/use-svg-path.d.ts +11 -0
  807. package/dist/lib/hooks/use-svg-path.js +13 -0
  808. package/dist/lib/hooks/use-svg-path.js.map +7 -0
  809. package/dist/lib/hooks/use-value-memo-slot.d.ts +12 -0
  810. package/dist/lib/hooks/use-value-memo-slot.js +45 -0
  811. package/dist/lib/hooks/use-value-memo-slot.js.map +7 -0
  812. package/dist/lib/hooks/use-visibility-transition.d.ts +103 -0
  813. package/dist/lib/hooks/use-visibility-transition.js +195 -0
  814. package/dist/lib/hooks/use-visibility-transition.js.map +7 -0
  815. package/dist/lib/html/html-service.d.ts +30 -0
  816. package/dist/lib/html/html-service.js +281 -0
  817. package/dist/lib/html/html-service.js.map +7 -0
  818. package/dist/lib/html/overlay-config.d.ts +3 -0
  819. package/dist/lib/html/overlay-config.js +37 -0
  820. package/dist/lib/html/overlay-config.js.map +7 -0
  821. package/dist/lib/html/portable-clips.d.ts +4 -0
  822. package/dist/lib/html/portable-clips.js +20 -0
  823. package/dist/lib/html/portable-clips.js.map +7 -0
  824. package/dist/lib/html/types.d.ts +110 -0
  825. package/dist/lib/layout/absolute.d.ts +57 -0
  826. package/dist/lib/layout/absolute.js +348 -0
  827. package/dist/lib/layout/absolute.js.map +7 -0
  828. package/dist/lib/layout/box.d.ts +19 -0
  829. package/dist/lib/layout/box.js +209 -0
  830. package/dist/lib/layout/box.js.map +7 -0
  831. package/dist/lib/layout/context.d.ts +13 -0
  832. package/dist/lib/layout/context.js +42 -0
  833. package/dist/lib/layout/context.js.map +7 -0
  834. package/dist/lib/layout/diagnostics.d.ts +15 -0
  835. package/dist/lib/layout/diagnostics.js +30 -0
  836. package/dist/lib/layout/diagnostics.js.map +7 -0
  837. package/dist/lib/layout/flex.d.ts +64 -0
  838. package/dist/lib/layout/flex.js +803 -0
  839. package/dist/lib/layout/flex.js.map +7 -0
  840. package/dist/lib/layout/flow.d.ts +53 -0
  841. package/dist/lib/layout/flow.js +400 -0
  842. package/dist/lib/layout/flow.js.map +7 -0
  843. package/dist/lib/layout/grid.d.ts +64 -0
  844. package/dist/lib/layout/grid.js +597 -0
  845. package/dist/lib/layout/grid.js.map +7 -0
  846. package/dist/lib/layout/measure.d.ts +19 -0
  847. package/dist/lib/layout/measure.js +144 -0
  848. package/dist/lib/layout/measure.js.map +7 -0
  849. package/dist/lib/layout/overlay.d.ts +42 -0
  850. package/dist/lib/layout/overlay.js +151 -0
  851. package/dist/lib/layout/overlay.js.map +7 -0
  852. package/dist/lib/layout/place-child.d.ts +12 -0
  853. package/dist/lib/layout/place-child.js +72 -0
  854. package/dist/lib/layout/place-child.js.map +7 -0
  855. package/dist/lib/layout/positioning-diagnostics.d.ts +3 -0
  856. package/dist/lib/layout/positioning-diagnostics.js +15 -0
  857. package/dist/lib/layout/positioning-diagnostics.js.map +7 -0
  858. package/dist/lib/layout/types.d.ts +78 -0
  859. package/dist/lib/manipulation/controller-types.d.ts +299 -0
  860. package/dist/lib/manipulation/controller.d.ts +57 -0
  861. package/dist/lib/manipulation/controller.js +464 -0
  862. package/dist/lib/manipulation/controller.js.map +7 -0
  863. package/dist/lib/manipulation/coordinates.d.ts +9 -0
  864. package/dist/lib/manipulation/coordinates.js +55 -0
  865. package/dist/lib/manipulation/coordinates.js.map +7 -0
  866. package/dist/lib/manipulation/degrees.d.ts +10 -0
  867. package/dist/lib/manipulation/degrees.js +9 -0
  868. package/dist/lib/manipulation/degrees.js.map +7 -0
  869. package/dist/lib/manipulation/frame.d.ts +24 -0
  870. package/dist/lib/manipulation/frame.js +101 -0
  871. package/dist/lib/manipulation/frame.js.map +7 -0
  872. package/dist/lib/manipulation/geometry.d.ts +4 -0
  873. package/dist/lib/manipulation/geometry.js +26 -0
  874. package/dist/lib/manipulation/geometry.js.map +7 -0
  875. package/dist/lib/manipulation/handles.d.ts +298 -0
  876. package/dist/lib/manipulation/handles.js +598 -0
  877. package/dist/lib/manipulation/handles.js.map +7 -0
  878. package/dist/lib/manipulation/manipulable.d.ts +65 -0
  879. package/dist/lib/manipulation/manipulable.js +47 -0
  880. package/dist/lib/manipulation/manipulable.js.map +7 -0
  881. package/dist/lib/manipulation/ownership.d.ts +15 -0
  882. package/dist/lib/manipulation/ownership.js +80 -0
  883. package/dist/lib/manipulation/ownership.js.map +7 -0
  884. package/dist/lib/manipulation/snap.d.ts +6 -0
  885. package/dist/lib/manipulation/snap.js +40 -0
  886. package/dist/lib/manipulation/snap.js.map +7 -0
  887. package/dist/lib/manipulation/solve.d.ts +2 -0
  888. package/dist/lib/manipulation/solve.js +563 -0
  889. package/dist/lib/manipulation/solve.js.map +7 -0
  890. package/dist/lib/manipulation/types.d.ts +178 -0
  891. package/dist/lib/mount-pibbl.d.ts +25 -0
  892. package/dist/lib/mount-pibbl.js +278 -0
  893. package/dist/lib/mount-pibbl.js.map +7 -0
  894. package/dist/lib/optional-services.d.ts +8 -0
  895. package/dist/lib/optional-services.js +11 -0
  896. package/dist/lib/optional-services.js.map +7 -0
  897. package/dist/lib/pibbl.d.ts +17 -0
  898. package/dist/lib/pibbl.js +21 -0
  899. package/dist/lib/pibbl.js.map +7 -0
  900. package/dist/lib/primitive-presentation.d.ts +24 -0
  901. package/dist/lib/primitive-presentation.js +102 -0
  902. package/dist/lib/primitive-presentation.js.map +7 -0
  903. package/dist/lib/render-layer/controller.d.ts +67 -0
  904. package/dist/lib/render-layer/controller.js +603 -0
  905. package/dist/lib/render-layer/controller.js.map +7 -0
  906. package/dist/lib/render-layer/define-render-layer.d.ts +17 -0
  907. package/dist/lib/render-layer/define-render-layer.js +90 -0
  908. package/dist/lib/render-layer/define-render-layer.js.map +7 -0
  909. package/dist/lib/render-layer/types.d.ts +315 -0
  910. package/dist/lib/render-target.d.ts +27 -0
  911. package/dist/lib/render-target.js +118 -0
  912. package/dist/lib/render-target.js.map +7 -0
  913. package/dist/lib/render-transaction.d.ts +10 -0
  914. package/dist/lib/render-transaction.js +46 -0
  915. package/dist/lib/render-transaction.js.map +7 -0
  916. package/dist/lib/render.d.ts +3 -0
  917. package/dist/lib/render.js +385 -0
  918. package/dist/lib/render.js.map +7 -0
  919. package/dist/lib/scheduler/realm-scheduler.d.ts +52 -0
  920. package/dist/lib/scheduler/realm-scheduler.js +964 -0
  921. package/dist/lib/scheduler/realm-scheduler.js.map +7 -0
  922. package/dist/lib/scheduler/renderer-participant.d.ts +257 -0
  923. package/dist/lib/scheduler/renderer-participant.js +216 -0
  924. package/dist/lib/scheduler/renderer-participant.js.map +7 -0
  925. package/dist/lib/scheduler/simulation-participant.d.ts +103 -0
  926. package/dist/lib/scheduler/simulation-participant.js +229 -0
  927. package/dist/lib/scheduler/simulation-participant.js.map +7 -0
  928. package/dist/lib/scheduler/testing.d.ts +56 -0
  929. package/dist/lib/scheduler/testing.js +71 -0
  930. package/dist/lib/scheduler/testing.js.map +7 -0
  931. package/dist/lib/scheduler/types.d.ts +103 -0
  932. package/dist/lib/signals/edge.d.ts +44 -0
  933. package/dist/lib/signals/edge.js +245 -0
  934. package/dist/lib/signals/edge.js.map +7 -0
  935. package/dist/lib/signals/graph.d.ts +220 -0
  936. package/dist/lib/signals/graph.js +1035 -0
  937. package/dist/lib/signals/graph.js.map +7 -0
  938. package/dist/lib/signals/input-provision.d.ts +3 -0
  939. package/dist/lib/signals/input-provision.js +67 -0
  940. package/dist/lib/signals/input-provision.js.map +7 -0
  941. package/dist/lib/signals/render-consumer.d.ts +21 -0
  942. package/dist/lib/signals/render-consumer.js +218 -0
  943. package/dist/lib/signals/render-consumer.js.map +7 -0
  944. package/dist/lib/signals/resolve-signal-value.d.ts +10 -0
  945. package/dist/lib/signals/resolve-signal-value.js +17 -0
  946. package/dist/lib/signals/resolve-signal-value.js.map +7 -0
  947. package/dist/lib/signals/types.d.ts +80 -0
  948. package/dist/lib/style/diagnostics.d.ts +83 -0
  949. package/dist/lib/style/diagnostics.js +63 -0
  950. package/dist/lib/style/diagnostics.js.map +7 -0
  951. package/dist/lib/style/empty-style.d.ts +3 -0
  952. package/dist/lib/style/empty-style.js +5 -0
  953. package/dist/lib/style/empty-style.js.map +7 -0
  954. package/dist/lib/style/filter-types.d.ts +243 -0
  955. package/dist/lib/style/filter-types.js +5 -0
  956. package/dist/lib/style/filter-types.js.map +7 -0
  957. package/dist/lib/style/filter.d.ts +7 -0
  958. package/dist/lib/style/filter.js +50 -0
  959. package/dist/lib/style/filter.js.map +7 -0
  960. package/dist/lib/style/normalize.d.ts +18 -0
  961. package/dist/lib/style/normalize.js +50 -0
  962. package/dist/lib/style/normalize.js.map +7 -0
  963. package/dist/lib/style/positioning.d.ts +32 -0
  964. package/dist/lib/style/positioning.js +81 -0
  965. package/dist/lib/style/positioning.js.map +7 -0
  966. package/dist/lib/style/resolve-built-in.d.ts +6 -0
  967. package/dist/lib/style/resolve-built-in.js +58 -0
  968. package/dist/lib/style/resolve-built-in.js.map +7 -0
  969. package/dist/lib/style/resolve-dispatch.d.ts +20 -0
  970. package/dist/lib/style/resolve-dispatch.js +167 -0
  971. package/dist/lib/style/resolve-dispatch.js.map +7 -0
  972. package/dist/lib/style/resolve-length.d.ts +16 -0
  973. package/dist/lib/style/resolve-length.js +54 -0
  974. package/dist/lib/style/resolve-length.js.map +7 -0
  975. package/dist/lib/style/responsive.d.ts +31 -0
  976. package/dist/lib/style/responsive.js +172 -0
  977. package/dist/lib/style/responsive.js.map +7 -0
  978. package/dist/lib/style/types.d.ts +338 -0
  979. package/dist/lib/surface/resolve-surface.d.ts +4 -0
  980. package/dist/lib/surface/resolve-surface.js +184 -0
  981. package/dist/lib/surface/resolve-surface.js.map +7 -0
  982. package/dist/lib/surface/root-surface.d.ts +7 -0
  983. package/dist/lib/surface/root-surface.js +171 -0
  984. package/dist/lib/surface/root-surface.js.map +7 -0
  985. package/dist/lib/surface/transform.d.ts +4 -0
  986. package/dist/lib/surface/transform.js +16 -0
  987. package/dist/lib/surface/transform.js.map +7 -0
  988. package/dist/lib/surface/types.d.ts +132 -0
  989. package/dist/lib/teardowns.d.ts +14 -0
  990. package/dist/lib/teardowns.js +50 -0
  991. package/dist/lib/teardowns.js.map +7 -0
  992. package/dist/lib/textures/texture-protocol.d.ts +124 -0
  993. package/dist/lib/textures/texture-protocol.js +40 -0
  994. package/dist/lib/textures/texture-protocol.js.map +7 -0
  995. package/dist/lib/textures/texture.d.ts +170 -0
  996. package/dist/lib/textures/texture.js +385 -0
  997. package/dist/lib/textures/texture.js.map +7 -0
  998. package/dist/lib/transitions/bifrost.d.ts +47 -0
  999. package/dist/lib/transitions/bifrost.js +91 -0
  1000. package/dist/lib/transitions/bifrost.js.map +7 -0
  1001. package/dist/lib/transitions/binding.d.ts +14 -0
  1002. package/dist/lib/transitions/binding.js +35 -0
  1003. package/dist/lib/transitions/binding.js.map +7 -0
  1004. package/dist/lib/transitions/capture.d.ts +21 -0
  1005. package/dist/lib/transitions/capture.js +91 -0
  1006. package/dist/lib/transitions/capture.js.map +7 -0
  1007. package/dist/lib/transitions/common.d.ts +130 -0
  1008. package/dist/lib/transitions/common.js +57 -0
  1009. package/dist/lib/transitions/common.js.map +7 -0
  1010. package/dist/lib/transitions/define-transition.d.ts +64 -0
  1011. package/dist/lib/transitions/define-transition.js +31 -0
  1012. package/dist/lib/transitions/define-transition.js.map +7 -0
  1013. package/dist/lib/transitions/embers-physics.d.ts +114 -0
  1014. package/dist/lib/transitions/embers-physics.js +161 -0
  1015. package/dist/lib/transitions/embers-physics.js.map +7 -0
  1016. package/dist/lib/transitions/embers.d.ts +67 -0
  1017. package/dist/lib/transitions/embers.js +196 -0
  1018. package/dist/lib/transitions/embers.js.map +7 -0
  1019. package/dist/lib/transitions/fade.d.ts +41 -0
  1020. package/dist/lib/transitions/fade.js +31 -0
  1021. package/dist/lib/transitions/fade.js.map +7 -0
  1022. package/dist/lib/transitions/hologram.d.ts +47 -0
  1023. package/dist/lib/transitions/hologram.js +94 -0
  1024. package/dist/lib/transitions/hologram.js.map +7 -0
  1025. package/dist/lib/transitions/wasm/bifrost-bytes.d.ts +1 -0
  1026. package/dist/lib/transitions/wasm/bifrost-bytes.js +5 -0
  1027. package/dist/lib/transitions/wasm/bifrost-bytes.js.map +7 -0
  1028. package/dist/lib/transitions/wasm/bifrost-kernel.d.ts +1 -0
  1029. package/dist/lib/transitions/wasm/bifrost-kernel.js +27 -0
  1030. package/dist/lib/transitions/wasm/bifrost-kernel.js.map +7 -0
  1031. package/dist/lib/transitions/wasm/embers-bytes.d.ts +1 -0
  1032. package/dist/lib/transitions/wasm/embers-bytes.js +5 -0
  1033. package/dist/lib/transitions/wasm/embers-bytes.js.map +7 -0
  1034. package/dist/lib/transitions/wasm/hologram-bytes.d.ts +1 -0
  1035. package/dist/lib/transitions/wasm/hologram-bytes.js +5 -0
  1036. package/dist/lib/transitions/wasm/hologram-bytes.js.map +7 -0
  1037. package/dist/lib/transitions/wasm/kernel.d.ts +7 -0
  1038. package/dist/lib/transitions/wasm/kernel.js +26 -0
  1039. package/dist/lib/transitions/wasm/kernel.js.map +7 -0
  1040. package/dist/lib/types.d.ts +570 -0
  1041. package/dist/lib/update.d.ts +8 -0
  1042. package/dist/lib/update.js +20 -0
  1043. package/dist/lib/update.js.map +7 -0
  1044. package/dist/lib/util/get-2d-context.d.ts +2 -0
  1045. package/dist/lib/util/get-2d-context.js +11 -0
  1046. package/dist/lib/util/get-2d-context.js.map +7 -0
  1047. package/dist/lib/util/get-mouse-coordinates.d.ts +2 -0
  1048. package/dist/lib/util/get-mouse-coordinates.js +32 -0
  1049. package/dist/lib/util/get-mouse-coordinates.js.map +7 -0
  1050. package/dist/lib/util/is-hit.d.ts +11 -0
  1051. package/dist/lib/util/is-hit.js +52 -0
  1052. package/dist/lib/util/is-hit.js.map +7 -0
  1053. package/dist/lib/util/is-transparent.d.ts +1 -0
  1054. package/dist/lib/util/is-transparent.js +8 -0
  1055. package/dist/lib/util/is-transparent.js.map +7 -0
  1056. package/dist/lib/util/pixel-grid-adjustments.d.ts +8 -0
  1057. package/dist/lib/util/pixel-grid-adjustments.js +28 -0
  1058. package/dist/lib/util/pixel-grid-adjustments.js.map +7 -0
  1059. package/dist/lib/util/push-clipping-path.d.ts +6 -0
  1060. package/dist/lib/util/push-clipping-path.js +28 -0
  1061. package/dist/lib/util/push-clipping-path.js.map +7 -0
  1062. package/dist/lib/util/wire-common-events.d.ts +2 -0
  1063. package/dist/lib/util/wire-common-events.js +15 -0
  1064. package/dist/lib/util/wire-common-events.js.map +7 -0
  1065. package/dist/types.d.ts +1 -0
  1066. package/dist/types.js +1 -0
  1067. package/dist/types.js.map +7 -0
  1068. package/dist/types.mjs +1 -0
  1069. package/package.json +149 -0
@@ -0,0 +1,497 @@
1
+ const COLLIDER_SENSOR_2D = 1 << 0;
2
+ const CONTACT_EVENT_BEGIN_2D = 1;
3
+ const CONTACT_EVENT_END_2D = 2;
4
+ const OVERLAP_EVENT_BEGIN_2D = 3;
5
+ const OVERLAP_EVENT_END_2D = 4;
6
+ const POINTS_PER_CONTACT = 2;
7
+ class ContactCache2D {
8
+ contactCount = 0;
9
+ firstColliderIndices;
10
+ firstColliderGenerations;
11
+ secondColliderIndices;
12
+ secondColliderGenerations;
13
+ firstBodyIndices;
14
+ firstBodyGenerations;
15
+ secondBodyIndices;
16
+ secondBodyGenerations;
17
+ sensorFlags;
18
+ mixedFriction;
19
+ mixedRestitution;
20
+ normalX;
21
+ normalY;
22
+ firstLeafIndices;
23
+ secondLeafIndices;
24
+ pointCounts;
25
+ pointFirstX;
26
+ pointFirstY;
27
+ pointSecondX;
28
+ pointSecondY;
29
+ pointSeparations;
30
+ pointFirstFeatures;
31
+ pointSecondFeatures;
32
+ pointNormalImpulses;
33
+ pointTangentImpulses;
34
+ stagingFirstColliderIndices;
35
+ stagingFirstColliderGenerations;
36
+ stagingSecondColliderIndices;
37
+ stagingSecondColliderGenerations;
38
+ stagingFirstBodyIndices;
39
+ stagingFirstBodyGenerations;
40
+ stagingSecondBodyIndices;
41
+ stagingSecondBodyGenerations;
42
+ stagingSensorFlags;
43
+ stagingMixedFriction;
44
+ stagingMixedRestitution;
45
+ stagingNormalX;
46
+ stagingNormalY;
47
+ stagingFirstLeafIndices;
48
+ stagingSecondLeafIndices;
49
+ stagingPointCounts;
50
+ stagingPointFirstX;
51
+ stagingPointFirstY;
52
+ stagingPointSecondX;
53
+ stagingPointSecondY;
54
+ stagingPointSeparations;
55
+ stagingPointFirstFeatures;
56
+ stagingPointSecondFeatures;
57
+ stagingPointNormalImpulses;
58
+ stagingPointTangentImpulses;
59
+ eventCount = 0;
60
+ eventTypes;
61
+ eventFirstColliderIndices;
62
+ eventFirstColliderGenerations;
63
+ eventSecondColliderIndices;
64
+ eventSecondColliderGenerations;
65
+ constructor(initialCapacity = 4) {
66
+ const capacity = normalizedCapacity(initialCapacity);
67
+ this.firstColliderIndices = new Int32Array(capacity);
68
+ this.firstColliderGenerations = new Uint32Array(capacity);
69
+ this.secondColliderIndices = new Int32Array(capacity);
70
+ this.secondColliderGenerations = new Uint32Array(capacity);
71
+ this.firstBodyIndices = new Int32Array(capacity);
72
+ this.firstBodyGenerations = new Uint32Array(capacity);
73
+ this.secondBodyIndices = new Int32Array(capacity);
74
+ this.secondBodyGenerations = new Uint32Array(capacity);
75
+ this.sensorFlags = new Uint8Array(capacity);
76
+ this.mixedFriction = new Float64Array(capacity);
77
+ this.mixedRestitution = new Float64Array(capacity);
78
+ this.normalX = new Float64Array(capacity);
79
+ this.normalY = new Float64Array(capacity);
80
+ this.firstLeafIndices = new Int32Array(capacity);
81
+ this.secondLeafIndices = new Int32Array(capacity);
82
+ this.pointCounts = new Uint8Array(capacity);
83
+ this.pointFirstX = new Float64Array(capacity * POINTS_PER_CONTACT);
84
+ this.pointFirstY = new Float64Array(capacity * POINTS_PER_CONTACT);
85
+ this.pointSecondX = new Float64Array(capacity * POINTS_PER_CONTACT);
86
+ this.pointSecondY = new Float64Array(capacity * POINTS_PER_CONTACT);
87
+ this.pointSeparations = new Float64Array(capacity * POINTS_PER_CONTACT);
88
+ this.pointFirstFeatures = new Int32Array(capacity * POINTS_PER_CONTACT);
89
+ this.pointSecondFeatures = new Int32Array(capacity * POINTS_PER_CONTACT);
90
+ this.pointNormalImpulses = new Float64Array(capacity * POINTS_PER_CONTACT);
91
+ this.pointTangentImpulses = new Float64Array(capacity * POINTS_PER_CONTACT);
92
+ this.stagingFirstColliderIndices = new Int32Array(capacity);
93
+ this.stagingFirstColliderGenerations = new Uint32Array(capacity);
94
+ this.stagingSecondColliderIndices = new Int32Array(capacity);
95
+ this.stagingSecondColliderGenerations = new Uint32Array(capacity);
96
+ this.stagingFirstBodyIndices = new Int32Array(capacity);
97
+ this.stagingFirstBodyGenerations = new Uint32Array(capacity);
98
+ this.stagingSecondBodyIndices = new Int32Array(capacity);
99
+ this.stagingSecondBodyGenerations = new Uint32Array(capacity);
100
+ this.stagingSensorFlags = new Uint8Array(capacity);
101
+ this.stagingMixedFriction = new Float64Array(capacity);
102
+ this.stagingMixedRestitution = new Float64Array(capacity);
103
+ this.stagingNormalX = new Float64Array(capacity);
104
+ this.stagingNormalY = new Float64Array(capacity);
105
+ this.stagingFirstLeafIndices = new Int32Array(capacity);
106
+ this.stagingSecondLeafIndices = new Int32Array(capacity);
107
+ this.stagingPointCounts = new Uint8Array(capacity);
108
+ this.stagingPointFirstX = new Float64Array(capacity * POINTS_PER_CONTACT);
109
+ this.stagingPointFirstY = new Float64Array(capacity * POINTS_PER_CONTACT);
110
+ this.stagingPointSecondX = new Float64Array(capacity * POINTS_PER_CONTACT);
111
+ this.stagingPointSecondY = new Float64Array(capacity * POINTS_PER_CONTACT);
112
+ this.stagingPointSeparations = new Float64Array(capacity * POINTS_PER_CONTACT);
113
+ this.stagingPointFirstFeatures = new Int32Array(capacity * POINTS_PER_CONTACT);
114
+ this.stagingPointSecondFeatures = new Int32Array(capacity * POINTS_PER_CONTACT);
115
+ this.stagingPointNormalImpulses = new Float64Array(capacity * POINTS_PER_CONTACT);
116
+ this.stagingPointTangentImpulses = new Float64Array(capacity * POINTS_PER_CONTACT);
117
+ this.eventTypes = new Uint8Array(capacity * 2);
118
+ this.eventFirstColliderIndices = new Int32Array(capacity * 2);
119
+ this.eventFirstColliderGenerations = new Uint32Array(capacity * 2);
120
+ this.eventSecondColliderIndices = new Int32Array(capacity * 2);
121
+ this.eventSecondColliderGenerations = new Uint32Array(capacity * 2);
122
+ }
123
+ ensureCapacity(required) {
124
+ if (required <= this.firstColliderIndices.length) return;
125
+ let capacity = this.firstColliderIndices.length;
126
+ while (capacity < required) capacity *= 2;
127
+ this.firstColliderIndices = growInt32(this.firstColliderIndices, capacity);
128
+ this.firstColliderGenerations = growUint32(this.firstColliderGenerations, capacity);
129
+ this.secondColliderIndices = growInt32(this.secondColliderIndices, capacity);
130
+ this.secondColliderGenerations = growUint32(this.secondColliderGenerations, capacity);
131
+ this.firstBodyIndices = growInt32(this.firstBodyIndices, capacity);
132
+ this.firstBodyGenerations = growUint32(this.firstBodyGenerations, capacity);
133
+ this.secondBodyIndices = growInt32(this.secondBodyIndices, capacity);
134
+ this.secondBodyGenerations = growUint32(this.secondBodyGenerations, capacity);
135
+ this.sensorFlags = growUint8(this.sensorFlags, capacity);
136
+ this.mixedFriction = growFloat64(this.mixedFriction, capacity);
137
+ this.mixedRestitution = growFloat64(this.mixedRestitution, capacity);
138
+ this.normalX = growFloat64(this.normalX, capacity);
139
+ this.normalY = growFloat64(this.normalY, capacity);
140
+ this.firstLeafIndices = growInt32(this.firstLeafIndices, capacity);
141
+ this.secondLeafIndices = growInt32(this.secondLeafIndices, capacity);
142
+ this.pointCounts = growUint8(this.pointCounts, capacity);
143
+ this.pointFirstX = growFloat64(this.pointFirstX, capacity * POINTS_PER_CONTACT);
144
+ this.pointFirstY = growFloat64(this.pointFirstY, capacity * POINTS_PER_CONTACT);
145
+ this.pointSecondX = growFloat64(this.pointSecondX, capacity * POINTS_PER_CONTACT);
146
+ this.pointSecondY = growFloat64(this.pointSecondY, capacity * POINTS_PER_CONTACT);
147
+ this.pointSeparations = growFloat64(this.pointSeparations, capacity * POINTS_PER_CONTACT);
148
+ this.pointFirstFeatures = growInt32(this.pointFirstFeatures, capacity * POINTS_PER_CONTACT);
149
+ this.pointSecondFeatures = growInt32(this.pointSecondFeatures, capacity * POINTS_PER_CONTACT);
150
+ this.pointNormalImpulses = growFloat64(this.pointNormalImpulses, capacity * POINTS_PER_CONTACT);
151
+ this.pointTangentImpulses = growFloat64(this.pointTangentImpulses, capacity * POINTS_PER_CONTACT);
152
+ this.stagingFirstColliderIndices = growInt32(this.stagingFirstColliderIndices, capacity);
153
+ this.stagingFirstColliderGenerations = growUint32(this.stagingFirstColliderGenerations, capacity);
154
+ this.stagingSecondColliderIndices = growInt32(this.stagingSecondColliderIndices, capacity);
155
+ this.stagingSecondColliderGenerations = growUint32(this.stagingSecondColliderGenerations, capacity);
156
+ this.stagingFirstBodyIndices = growInt32(this.stagingFirstBodyIndices, capacity);
157
+ this.stagingFirstBodyGenerations = growUint32(this.stagingFirstBodyGenerations, capacity);
158
+ this.stagingSecondBodyIndices = growInt32(this.stagingSecondBodyIndices, capacity);
159
+ this.stagingSecondBodyGenerations = growUint32(this.stagingSecondBodyGenerations, capacity);
160
+ this.stagingSensorFlags = growUint8(this.stagingSensorFlags, capacity);
161
+ this.stagingMixedFriction = growFloat64(this.stagingMixedFriction, capacity);
162
+ this.stagingMixedRestitution = growFloat64(this.stagingMixedRestitution, capacity);
163
+ this.stagingNormalX = growFloat64(this.stagingNormalX, capacity);
164
+ this.stagingNormalY = growFloat64(this.stagingNormalY, capacity);
165
+ this.stagingFirstLeafIndices = growInt32(this.stagingFirstLeafIndices, capacity);
166
+ this.stagingSecondLeafIndices = growInt32(this.stagingSecondLeafIndices, capacity);
167
+ this.stagingPointCounts = growUint8(this.stagingPointCounts, capacity);
168
+ this.stagingPointFirstX = growFloat64(this.stagingPointFirstX, capacity * POINTS_PER_CONTACT);
169
+ this.stagingPointFirstY = growFloat64(this.stagingPointFirstY, capacity * POINTS_PER_CONTACT);
170
+ this.stagingPointSecondX = growFloat64(this.stagingPointSecondX, capacity * POINTS_PER_CONTACT);
171
+ this.stagingPointSecondY = growFloat64(this.stagingPointSecondY, capacity * POINTS_PER_CONTACT);
172
+ this.stagingPointSeparations = growFloat64(this.stagingPointSeparations, capacity * POINTS_PER_CONTACT);
173
+ this.stagingPointFirstFeatures = growInt32(this.stagingPointFirstFeatures, capacity * POINTS_PER_CONTACT);
174
+ this.stagingPointSecondFeatures = growInt32(this.stagingPointSecondFeatures, capacity * POINTS_PER_CONTACT);
175
+ this.stagingPointNormalImpulses = growFloat64(this.stagingPointNormalImpulses, capacity * POINTS_PER_CONTACT);
176
+ this.stagingPointTangentImpulses = growFloat64(this.stagingPointTangentImpulses, capacity * POINTS_PER_CONTACT);
177
+ this.ensureEventCapacity(capacity * 2);
178
+ }
179
+ ensureEventCapacity(required) {
180
+ if (required <= this.eventTypes.length) return;
181
+ let capacity = this.eventTypes.length;
182
+ while (capacity < required) capacity *= 2;
183
+ this.eventTypes = growUint8(this.eventTypes, capacity);
184
+ this.eventFirstColliderIndices = growInt32(this.eventFirstColliderIndices, capacity);
185
+ this.eventFirstColliderGenerations = growUint32(this.eventFirstColliderGenerations, capacity);
186
+ this.eventSecondColliderIndices = growInt32(this.eventSecondColliderIndices, capacity);
187
+ this.eventSecondColliderGenerations = growUint32(this.eventSecondColliderGenerations, capacity);
188
+ }
189
+ swapGenerations(nextCount, nextEventCount) {
190
+ let int32 = this.firstColliderIndices;
191
+ this.firstColliderIndices = this.stagingFirstColliderIndices;
192
+ this.stagingFirstColliderIndices = int32;
193
+ let uint32 = this.firstColliderGenerations;
194
+ this.firstColliderGenerations = this.stagingFirstColliderGenerations;
195
+ this.stagingFirstColliderGenerations = uint32;
196
+ int32 = this.secondColliderIndices;
197
+ this.secondColliderIndices = this.stagingSecondColliderIndices;
198
+ this.stagingSecondColliderIndices = int32;
199
+ uint32 = this.secondColliderGenerations;
200
+ this.secondColliderGenerations = this.stagingSecondColliderGenerations;
201
+ this.stagingSecondColliderGenerations = uint32;
202
+ int32 = this.firstBodyIndices;
203
+ this.firstBodyIndices = this.stagingFirstBodyIndices;
204
+ this.stagingFirstBodyIndices = int32;
205
+ uint32 = this.firstBodyGenerations;
206
+ this.firstBodyGenerations = this.stagingFirstBodyGenerations;
207
+ this.stagingFirstBodyGenerations = uint32;
208
+ int32 = this.secondBodyIndices;
209
+ this.secondBodyIndices = this.stagingSecondBodyIndices;
210
+ this.stagingSecondBodyIndices = int32;
211
+ uint32 = this.secondBodyGenerations;
212
+ this.secondBodyGenerations = this.stagingSecondBodyGenerations;
213
+ this.stagingSecondBodyGenerations = uint32;
214
+ let uint8 = this.sensorFlags;
215
+ this.sensorFlags = this.stagingSensorFlags;
216
+ this.stagingSensorFlags = uint8;
217
+ let float64 = this.mixedFriction;
218
+ this.mixedFriction = this.stagingMixedFriction;
219
+ this.stagingMixedFriction = float64;
220
+ float64 = this.mixedRestitution;
221
+ this.mixedRestitution = this.stagingMixedRestitution;
222
+ this.stagingMixedRestitution = float64;
223
+ float64 = this.normalX;
224
+ this.normalX = this.stagingNormalX;
225
+ this.stagingNormalX = float64;
226
+ float64 = this.normalY;
227
+ this.normalY = this.stagingNormalY;
228
+ this.stagingNormalY = float64;
229
+ int32 = this.firstLeafIndices;
230
+ this.firstLeafIndices = this.stagingFirstLeafIndices;
231
+ this.stagingFirstLeafIndices = int32;
232
+ int32 = this.secondLeafIndices;
233
+ this.secondLeafIndices = this.stagingSecondLeafIndices;
234
+ this.stagingSecondLeafIndices = int32;
235
+ uint8 = this.pointCounts;
236
+ this.pointCounts = this.stagingPointCounts;
237
+ this.stagingPointCounts = uint8;
238
+ float64 = this.pointFirstX;
239
+ this.pointFirstX = this.stagingPointFirstX;
240
+ this.stagingPointFirstX = float64;
241
+ float64 = this.pointFirstY;
242
+ this.pointFirstY = this.stagingPointFirstY;
243
+ this.stagingPointFirstY = float64;
244
+ float64 = this.pointSecondX;
245
+ this.pointSecondX = this.stagingPointSecondX;
246
+ this.stagingPointSecondX = float64;
247
+ float64 = this.pointSecondY;
248
+ this.pointSecondY = this.stagingPointSecondY;
249
+ this.stagingPointSecondY = float64;
250
+ float64 = this.pointSeparations;
251
+ this.pointSeparations = this.stagingPointSeparations;
252
+ this.stagingPointSeparations = float64;
253
+ int32 = this.pointFirstFeatures;
254
+ this.pointFirstFeatures = this.stagingPointFirstFeatures;
255
+ this.stagingPointFirstFeatures = int32;
256
+ int32 = this.pointSecondFeatures;
257
+ this.pointSecondFeatures = this.stagingPointSecondFeatures;
258
+ this.stagingPointSecondFeatures = int32;
259
+ float64 = this.pointNormalImpulses;
260
+ this.pointNormalImpulses = this.stagingPointNormalImpulses;
261
+ this.stagingPointNormalImpulses = float64;
262
+ float64 = this.pointTangentImpulses;
263
+ this.pointTangentImpulses = this.stagingPointTangentImpulses;
264
+ this.stagingPointTangentImpulses = float64;
265
+ this.contactCount = nextCount;
266
+ this.eventCount = nextEventCount;
267
+ }
268
+ writeStagingContact(target, firstColliderIndex, firstColliderGeneration, secondColliderIndex, secondColliderGeneration, colliders, manifold, oldContact) {
269
+ this.stagingFirstColliderIndices[target] = firstColliderIndex;
270
+ this.stagingFirstColliderGenerations[target] = firstColliderGeneration;
271
+ this.stagingSecondColliderIndices[target] = secondColliderIndex;
272
+ this.stagingSecondColliderGenerations[target] = secondColliderGeneration;
273
+ this.stagingFirstBodyIndices[target] = colliders.bodyIndices[firstColliderIndex];
274
+ this.stagingFirstBodyGenerations[target] = colliders.bodyGenerations[firstColliderIndex];
275
+ this.stagingSecondBodyIndices[target] = colliders.bodyIndices[secondColliderIndex];
276
+ this.stagingSecondBodyGenerations[target] = colliders.bodyGenerations[secondColliderIndex];
277
+ const sensor = ((colliders.flags[firstColliderIndex] | colliders.flags[secondColliderIndex]) & COLLIDER_SENSOR_2D) !== 0;
278
+ this.stagingSensorFlags[target] = sensor ? 1 : 0;
279
+ const firstFriction = materialNumberAt(
280
+ colliders,
281
+ firstColliderIndex,
282
+ "friction",
283
+ 0.5
284
+ );
285
+ const secondFriction = materialNumberAt(
286
+ colliders,
287
+ secondColliderIndex,
288
+ "friction",
289
+ 0.5
290
+ );
291
+ this.stagingMixedFriction[target] = Math.sqrt(
292
+ firstFriction * secondFriction
293
+ );
294
+ this.stagingMixedRestitution[target] = Math.max(
295
+ materialNumberAt(colliders, firstColliderIndex, "restitution", 0),
296
+ materialNumberAt(colliders, secondColliderIndex, "restitution", 0)
297
+ );
298
+ this.stagingNormalX[target] = manifold.normalX;
299
+ this.stagingNormalY[target] = manifold.normalY;
300
+ this.stagingFirstLeafIndices[target] = manifold.firstLeaf;
301
+ this.stagingSecondLeafIndices[target] = manifold.secondLeaf;
302
+ const pointCount = Math.min(POINTS_PER_CONTACT, manifold.points.length);
303
+ this.stagingPointCounts[target] = pointCount;
304
+ let firstPoint = 0;
305
+ let secondPoint = 1;
306
+ if (pointCount === 2 && compareManifoldPoints(manifold.points[0], manifold.points[1]) > 0) {
307
+ firstPoint = 1;
308
+ secondPoint = 0;
309
+ }
310
+ for (let pointIndex = 0; pointIndex < POINTS_PER_CONTACT; pointIndex += 1) {
311
+ const targetPoint = target * POINTS_PER_CONTACT + pointIndex;
312
+ if (pointIndex >= pointCount) {
313
+ clearStagingPoint(this, targetPoint);
314
+ continue;
315
+ }
316
+ const sourcePoint = manifold.points[pointIndex === 0 ? firstPoint : secondPoint];
317
+ this.stagingPointFirstX[targetPoint] = sourcePoint.firstX;
318
+ this.stagingPointFirstY[targetPoint] = sourcePoint.firstY;
319
+ this.stagingPointSecondX[targetPoint] = sourcePoint.secondX;
320
+ this.stagingPointSecondY[targetPoint] = sourcePoint.secondY;
321
+ this.stagingPointSeparations[targetPoint] = sourcePoint.separation;
322
+ this.stagingPointFirstFeatures[targetPoint] = sourcePoint.firstFeature;
323
+ this.stagingPointSecondFeatures[targetPoint] = sourcePoint.secondFeature;
324
+ const oldPoint = oldContact < 0 ? -1 : this.findMatchingPoint(oldContact, manifold.firstLeaf, manifold.secondLeaf, sourcePoint.firstFeature, sourcePoint.secondFeature);
325
+ this.stagingPointNormalImpulses[targetPoint] = oldPoint < 0 ? 0 : this.pointNormalImpulses[oldPoint];
326
+ this.stagingPointTangentImpulses[targetPoint] = oldPoint < 0 ? 0 : this.pointTangentImpulses[oldPoint];
327
+ }
328
+ }
329
+ findMatchingPoint(oldContact, firstLeaf, secondLeaf, firstFeature, secondFeature) {
330
+ if (this.firstLeafIndices[oldContact] !== firstLeaf || this.secondLeafIndices[oldContact] !== secondLeaf) return -1;
331
+ const base = oldContact * POINTS_PER_CONTACT;
332
+ for (let point = 0; point < this.pointCounts[oldContact]; point += 1) {
333
+ const index = base + point;
334
+ if (this.pointFirstFeatures[index] === firstFeature && this.pointSecondFeatures[index] === secondFeature) return index;
335
+ }
336
+ return -1;
337
+ }
338
+ }
339
+ function updateSortedContactCache2D(cache, pairs, colliders, manifoldProvider) {
340
+ cache.ensureCapacity(cache.contactCount + pairs.pairCount);
341
+ cache.ensureEventCapacity(cache.contactCount + pairs.pairCount);
342
+ let oldContact = 0;
343
+ let pair = 0;
344
+ let nextContact = 0;
345
+ let nextEvent = 0;
346
+ while (oldContact < cache.contactCount || pair < pairs.pairCount) {
347
+ let firstIndex;
348
+ let firstGeneration;
349
+ let secondIndex;
350
+ let secondGeneration;
351
+ let matchesOld = false;
352
+ if (oldContact >= cache.contactCount) {
353
+ firstIndex = pairs.pairFirstColliderIndices[pair];
354
+ firstGeneration = pairs.pairFirstColliderGenerations[pair];
355
+ secondIndex = pairs.pairSecondColliderIndices[pair];
356
+ secondGeneration = pairs.pairSecondColliderGenerations[pair];
357
+ pair += 1;
358
+ } else if (pair >= pairs.pairCount) {
359
+ firstIndex = cache.firstColliderIndices[oldContact];
360
+ firstGeneration = cache.firstColliderGenerations[oldContact];
361
+ secondIndex = cache.secondColliderIndices[oldContact];
362
+ secondGeneration = cache.secondColliderGenerations[oldContact];
363
+ matchesOld = true;
364
+ oldContact += 1;
365
+ } else {
366
+ const comparison = compareContactToPair(
367
+ cache,
368
+ oldContact,
369
+ pairs.pairFirstColliderIndices[pair],
370
+ pairs.pairFirstColliderGenerations[pair],
371
+ pairs.pairSecondColliderIndices[pair],
372
+ pairs.pairSecondColliderGenerations[pair]
373
+ );
374
+ if (comparison <= 0) {
375
+ firstIndex = cache.firstColliderIndices[oldContact];
376
+ firstGeneration = cache.firstColliderGenerations[oldContact];
377
+ secondIndex = cache.secondColliderIndices[oldContact];
378
+ secondGeneration = cache.secondColliderGenerations[oldContact];
379
+ matchesOld = true;
380
+ oldContact += 1;
381
+ if (comparison === 0) pair += 1;
382
+ } else {
383
+ firstIndex = pairs.pairFirstColliderIndices[pair];
384
+ firstGeneration = pairs.pairFirstColliderGenerations[pair];
385
+ secondIndex = pairs.pairSecondColliderIndices[pair];
386
+ secondGeneration = pairs.pairSecondColliderGenerations[pair];
387
+ pair += 1;
388
+ }
389
+ }
390
+ const collidersLive = colliders.has(firstIndex, firstGeneration) && colliders.has(secondIndex, secondGeneration);
391
+ const sameBody = collidersLive && colliders.bodyIndices[firstIndex] === colliders.bodyIndices[secondIndex] && colliders.bodyGenerations[firstIndex] === colliders.bodyGenerations[secondIndex];
392
+ const manifold = collidersLive && !sameBody ? manifoldProvider(firstIndex, secondIndex) : null;
393
+ if (manifold !== null && manifold.points.length > 0) {
394
+ const oldIndex = matchesOld ? oldContact - 1 : -1;
395
+ const sensor = ((colliders.flags[firstIndex] | colliders.flags[secondIndex]) & COLLIDER_SENSOR_2D) !== 0;
396
+ const changesSensorState = oldIndex >= 0 && cache.sensorFlags[oldIndex] !== 0 !== sensor;
397
+ cache.writeStagingContact(
398
+ nextContact,
399
+ firstIndex,
400
+ firstGeneration,
401
+ secondIndex,
402
+ secondGeneration,
403
+ colliders,
404
+ manifold,
405
+ changesSensorState ? -1 : oldIndex
406
+ );
407
+ if (changesSensorState) {
408
+ nextEvent = writeEndEvent(cache, nextEvent, oldIndex);
409
+ nextEvent = writeBeginEvent(cache, nextEvent, nextContact);
410
+ } else if (!matchesOld) {
411
+ nextEvent = writeBeginEvent(cache, nextEvent, nextContact);
412
+ }
413
+ nextContact += 1;
414
+ } else if (matchesOld) {
415
+ nextEvent = writeEndEvent(cache, nextEvent, oldContact - 1);
416
+ }
417
+ }
418
+ cache.swapGenerations(nextContact, nextEvent);
419
+ }
420
+ function compareContactToPair(cache, contact, firstIndex, firstGeneration, secondIndex, secondGeneration) {
421
+ return compareIdentity(cache.firstColliderIndices[contact], cache.firstColliderGenerations[contact], firstIndex, firstGeneration) || compareIdentity(cache.secondColliderIndices[contact], cache.secondColliderGenerations[contact], secondIndex, secondGeneration);
422
+ }
423
+ function compareIdentity(firstIndex, firstGeneration, secondIndex, secondGeneration) {
424
+ return firstIndex - secondIndex || firstGeneration - secondGeneration;
425
+ }
426
+ function writeBeginEvent(cache, event, stagingContact) {
427
+ cache.eventTypes[event] = cache.stagingSensorFlags[stagingContact] !== 0 ? OVERLAP_EVENT_BEGIN_2D : CONTACT_EVENT_BEGIN_2D;
428
+ cache.eventFirstColliderIndices[event] = cache.stagingFirstColliderIndices[stagingContact];
429
+ cache.eventFirstColliderGenerations[event] = cache.stagingFirstColliderGenerations[stagingContact];
430
+ cache.eventSecondColliderIndices[event] = cache.stagingSecondColliderIndices[stagingContact];
431
+ cache.eventSecondColliderGenerations[event] = cache.stagingSecondColliderGenerations[stagingContact];
432
+ return event + 1;
433
+ }
434
+ function writeEndEvent(cache, event, contact) {
435
+ cache.eventTypes[event] = cache.sensorFlags[contact] !== 0 ? OVERLAP_EVENT_END_2D : CONTACT_EVENT_END_2D;
436
+ cache.eventFirstColliderIndices[event] = cache.firstColliderIndices[contact];
437
+ cache.eventFirstColliderGenerations[event] = cache.firstColliderGenerations[contact];
438
+ cache.eventSecondColliderIndices[event] = cache.secondColliderIndices[contact];
439
+ cache.eventSecondColliderGenerations[event] = cache.secondColliderGenerations[contact];
440
+ return event + 1;
441
+ }
442
+ function materialNumberAt(colliders, colliderIndex, property, fallback) {
443
+ const material = colliders.materials[colliderIndex];
444
+ return material?.[property] ?? fallback;
445
+ }
446
+ function compareManifoldPoints(first, second) {
447
+ return first.firstFeature - second.firstFeature || first.secondFeature - second.secondFeature || first.firstX - second.firstX || first.firstY - second.firstY || first.secondX - second.secondX || first.secondY - second.secondY;
448
+ }
449
+ function clearStagingPoint(cache, point) {
450
+ cache.stagingPointFirstX[point] = 0;
451
+ cache.stagingPointFirstY[point] = 0;
452
+ cache.stagingPointSecondX[point] = 0;
453
+ cache.stagingPointSecondY[point] = 0;
454
+ cache.stagingPointSeparations[point] = 0;
455
+ cache.stagingPointFirstFeatures[point] = 0;
456
+ cache.stagingPointSecondFeatures[point] = 0;
457
+ cache.stagingPointNormalImpulses[point] = 0;
458
+ cache.stagingPointTangentImpulses[point] = 0;
459
+ }
460
+ function normalizedCapacity(initialCapacity) {
461
+ if (!Number.isInteger(initialCapacity) || initialCapacity < 1) {
462
+ throw new RangeError("initialCapacity must be a positive integer.");
463
+ }
464
+ let capacity = 1;
465
+ while (capacity < initialCapacity) capacity *= 2;
466
+ return capacity;
467
+ }
468
+ function growInt32(source, capacity) {
469
+ const result = new Int32Array(capacity);
470
+ result.set(source);
471
+ return result;
472
+ }
473
+ function growUint32(source, capacity) {
474
+ const result = new Uint32Array(capacity);
475
+ result.set(source);
476
+ return result;
477
+ }
478
+ function growUint8(source, capacity) {
479
+ const result = new Uint8Array(capacity);
480
+ result.set(source);
481
+ return result;
482
+ }
483
+ function growFloat64(source, capacity) {
484
+ const result = new Float64Array(capacity);
485
+ result.set(source);
486
+ return result;
487
+ }
488
+ export {
489
+ COLLIDER_SENSOR_2D,
490
+ CONTACT_EVENT_BEGIN_2D,
491
+ CONTACT_EVENT_END_2D,
492
+ ContactCache2D,
493
+ OVERLAP_EVENT_BEGIN_2D,
494
+ OVERLAP_EVENT_END_2D,
495
+ updateSortedContactCache2D
496
+ };
497
+ //# sourceMappingURL=contact-cache.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/features/physics/lib/2d/world/contact-cache.ts"],
4
+ "sourcesContent": ["import type { PrivateManifold2D } from \"../collision/manifold.js\";\nimport type { ColliderStore2D } from \"./storage.js\";\n\nexport const COLLIDER_SENSOR_2D = 1 << 0;\n\nexport const CONTACT_EVENT_BEGIN_2D = 1;\nexport const CONTACT_EVENT_END_2D = 2;\nexport const OVERLAP_EVENT_BEGIN_2D = 3;\nexport const OVERLAP_EVENT_END_2D = 4;\n\nconst POINTS_PER_CONTACT = 2;\n\nexport interface SortedColliderPairs2D {\n readonly pairFirstColliderIndices: Int32Array;\n readonly pairFirstColliderGenerations: Uint32Array;\n readonly pairSecondColliderIndices: Int32Array;\n readonly pairSecondColliderGenerations: Uint32Array;\n readonly pairCount: number;\n}\n\nexport type PrivateManifoldProvider2D = (\n firstColliderIndex: number,\n secondColliderIndex: number,\n) => PrivateManifold2D | null;\n\nexport class ContactCache2D {\n contactCount = 0;\n firstColliderIndices: Int32Array;\n firstColliderGenerations: Uint32Array;\n secondColliderIndices: Int32Array;\n secondColliderGenerations: Uint32Array;\n firstBodyIndices: Int32Array;\n firstBodyGenerations: Uint32Array;\n secondBodyIndices: Int32Array;\n secondBodyGenerations: Uint32Array;\n sensorFlags: Uint8Array;\n mixedFriction: Float64Array;\n mixedRestitution: Float64Array;\n normalX: Float64Array;\n normalY: Float64Array;\n firstLeafIndices: Int32Array;\n secondLeafIndices: Int32Array;\n pointCounts: Uint8Array;\n pointFirstX: Float64Array;\n pointFirstY: Float64Array;\n pointSecondX: Float64Array;\n pointSecondY: Float64Array;\n pointSeparations: Float64Array;\n pointFirstFeatures: Int32Array;\n pointSecondFeatures: Int32Array;\n pointNormalImpulses: Float64Array;\n pointTangentImpulses: Float64Array;\n\n stagingFirstColliderIndices: Int32Array;\n stagingFirstColliderGenerations: Uint32Array;\n stagingSecondColliderIndices: Int32Array;\n stagingSecondColliderGenerations: Uint32Array;\n stagingFirstBodyIndices: Int32Array;\n stagingFirstBodyGenerations: Uint32Array;\n stagingSecondBodyIndices: Int32Array;\n stagingSecondBodyGenerations: Uint32Array;\n stagingSensorFlags: Uint8Array;\n stagingMixedFriction: Float64Array;\n stagingMixedRestitution: Float64Array;\n stagingNormalX: Float64Array;\n stagingNormalY: Float64Array;\n stagingFirstLeafIndices: Int32Array;\n stagingSecondLeafIndices: Int32Array;\n stagingPointCounts: Uint8Array;\n stagingPointFirstX: Float64Array;\n stagingPointFirstY: Float64Array;\n stagingPointSecondX: Float64Array;\n stagingPointSecondY: Float64Array;\n stagingPointSeparations: Float64Array;\n stagingPointFirstFeatures: Int32Array;\n stagingPointSecondFeatures: Int32Array;\n stagingPointNormalImpulses: Float64Array;\n stagingPointTangentImpulses: Float64Array;\n\n eventCount = 0;\n eventTypes: Uint8Array;\n eventFirstColliderIndices: Int32Array;\n eventFirstColliderGenerations: Uint32Array;\n eventSecondColliderIndices: Int32Array;\n eventSecondColliderGenerations: Uint32Array;\n\n constructor(initialCapacity = 4) {\n const capacity = normalizedCapacity(initialCapacity);\n this.firstColliderIndices = new Int32Array(capacity);\n this.firstColliderGenerations = new Uint32Array(capacity);\n this.secondColliderIndices = new Int32Array(capacity);\n this.secondColliderGenerations = new Uint32Array(capacity);\n this.firstBodyIndices = new Int32Array(capacity);\n this.firstBodyGenerations = new Uint32Array(capacity);\n this.secondBodyIndices = new Int32Array(capacity);\n this.secondBodyGenerations = new Uint32Array(capacity);\n this.sensorFlags = new Uint8Array(capacity);\n this.mixedFriction = new Float64Array(capacity);\n this.mixedRestitution = new Float64Array(capacity);\n this.normalX = new Float64Array(capacity);\n this.normalY = new Float64Array(capacity);\n this.firstLeafIndices = new Int32Array(capacity);\n this.secondLeafIndices = new Int32Array(capacity);\n this.pointCounts = new Uint8Array(capacity);\n this.pointFirstX = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.pointFirstY = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.pointSecondX = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.pointSecondY = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.pointSeparations = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.pointFirstFeatures = new Int32Array(capacity * POINTS_PER_CONTACT);\n this.pointSecondFeatures = new Int32Array(capacity * POINTS_PER_CONTACT);\n this.pointNormalImpulses = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.pointTangentImpulses = new Float64Array(capacity * POINTS_PER_CONTACT);\n\n this.stagingFirstColliderIndices = new Int32Array(capacity);\n this.stagingFirstColliderGenerations = new Uint32Array(capacity);\n this.stagingSecondColliderIndices = new Int32Array(capacity);\n this.stagingSecondColliderGenerations = new Uint32Array(capacity);\n this.stagingFirstBodyIndices = new Int32Array(capacity);\n this.stagingFirstBodyGenerations = new Uint32Array(capacity);\n this.stagingSecondBodyIndices = new Int32Array(capacity);\n this.stagingSecondBodyGenerations = new Uint32Array(capacity);\n this.stagingSensorFlags = new Uint8Array(capacity);\n this.stagingMixedFriction = new Float64Array(capacity);\n this.stagingMixedRestitution = new Float64Array(capacity);\n this.stagingNormalX = new Float64Array(capacity);\n this.stagingNormalY = new Float64Array(capacity);\n this.stagingFirstLeafIndices = new Int32Array(capacity);\n this.stagingSecondLeafIndices = new Int32Array(capacity);\n this.stagingPointCounts = new Uint8Array(capacity);\n this.stagingPointFirstX = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.stagingPointFirstY = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.stagingPointSecondX = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.stagingPointSecondY = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.stagingPointSeparations = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.stagingPointFirstFeatures = new Int32Array(capacity * POINTS_PER_CONTACT);\n this.stagingPointSecondFeatures = new Int32Array(capacity * POINTS_PER_CONTACT);\n this.stagingPointNormalImpulses = new Float64Array(capacity * POINTS_PER_CONTACT);\n this.stagingPointTangentImpulses = new Float64Array(capacity * POINTS_PER_CONTACT);\n\n this.eventTypes = new Uint8Array(capacity * 2);\n this.eventFirstColliderIndices = new Int32Array(capacity * 2);\n this.eventFirstColliderGenerations = new Uint32Array(capacity * 2);\n this.eventSecondColliderIndices = new Int32Array(capacity * 2);\n this.eventSecondColliderGenerations = new Uint32Array(capacity * 2);\n }\n\n ensureCapacity(required: number): void {\n if (required <= this.firstColliderIndices.length) return;\n let capacity = this.firstColliderIndices.length;\n while (capacity < required) capacity *= 2;\n this.firstColliderIndices = growInt32(this.firstColliderIndices, capacity);\n this.firstColliderGenerations = growUint32(this.firstColliderGenerations, capacity);\n this.secondColliderIndices = growInt32(this.secondColliderIndices, capacity);\n this.secondColliderGenerations = growUint32(this.secondColliderGenerations, capacity);\n this.firstBodyIndices = growInt32(this.firstBodyIndices, capacity);\n this.firstBodyGenerations = growUint32(this.firstBodyGenerations, capacity);\n this.secondBodyIndices = growInt32(this.secondBodyIndices, capacity);\n this.secondBodyGenerations = growUint32(this.secondBodyGenerations, capacity);\n this.sensorFlags = growUint8(this.sensorFlags, capacity);\n this.mixedFriction = growFloat64(this.mixedFriction, capacity);\n this.mixedRestitution = growFloat64(this.mixedRestitution, capacity);\n this.normalX = growFloat64(this.normalX, capacity);\n this.normalY = growFloat64(this.normalY, capacity);\n this.firstLeafIndices = growInt32(this.firstLeafIndices, capacity);\n this.secondLeafIndices = growInt32(this.secondLeafIndices, capacity);\n this.pointCounts = growUint8(this.pointCounts, capacity);\n this.pointFirstX = growFloat64(this.pointFirstX, capacity * POINTS_PER_CONTACT);\n this.pointFirstY = growFloat64(this.pointFirstY, capacity * POINTS_PER_CONTACT);\n this.pointSecondX = growFloat64(this.pointSecondX, capacity * POINTS_PER_CONTACT);\n this.pointSecondY = growFloat64(this.pointSecondY, capacity * POINTS_PER_CONTACT);\n this.pointSeparations = growFloat64(this.pointSeparations, capacity * POINTS_PER_CONTACT);\n this.pointFirstFeatures = growInt32(this.pointFirstFeatures, capacity * POINTS_PER_CONTACT);\n this.pointSecondFeatures = growInt32(this.pointSecondFeatures, capacity * POINTS_PER_CONTACT);\n this.pointNormalImpulses = growFloat64(this.pointNormalImpulses, capacity * POINTS_PER_CONTACT);\n this.pointTangentImpulses = growFloat64(this.pointTangentImpulses, capacity * POINTS_PER_CONTACT);\n\n this.stagingFirstColliderIndices = growInt32(this.stagingFirstColliderIndices, capacity);\n this.stagingFirstColliderGenerations = growUint32(this.stagingFirstColliderGenerations, capacity);\n this.stagingSecondColliderIndices = growInt32(this.stagingSecondColliderIndices, capacity);\n this.stagingSecondColliderGenerations = growUint32(this.stagingSecondColliderGenerations, capacity);\n this.stagingFirstBodyIndices = growInt32(this.stagingFirstBodyIndices, capacity);\n this.stagingFirstBodyGenerations = growUint32(this.stagingFirstBodyGenerations, capacity);\n this.stagingSecondBodyIndices = growInt32(this.stagingSecondBodyIndices, capacity);\n this.stagingSecondBodyGenerations = growUint32(this.stagingSecondBodyGenerations, capacity);\n this.stagingSensorFlags = growUint8(this.stagingSensorFlags, capacity);\n this.stagingMixedFriction = growFloat64(this.stagingMixedFriction, capacity);\n this.stagingMixedRestitution = growFloat64(this.stagingMixedRestitution, capacity);\n this.stagingNormalX = growFloat64(this.stagingNormalX, capacity);\n this.stagingNormalY = growFloat64(this.stagingNormalY, capacity);\n this.stagingFirstLeafIndices = growInt32(this.stagingFirstLeafIndices, capacity);\n this.stagingSecondLeafIndices = growInt32(this.stagingSecondLeafIndices, capacity);\n this.stagingPointCounts = growUint8(this.stagingPointCounts, capacity);\n this.stagingPointFirstX = growFloat64(this.stagingPointFirstX, capacity * POINTS_PER_CONTACT);\n this.stagingPointFirstY = growFloat64(this.stagingPointFirstY, capacity * POINTS_PER_CONTACT);\n this.stagingPointSecondX = growFloat64(this.stagingPointSecondX, capacity * POINTS_PER_CONTACT);\n this.stagingPointSecondY = growFloat64(this.stagingPointSecondY, capacity * POINTS_PER_CONTACT);\n this.stagingPointSeparations = growFloat64(this.stagingPointSeparations, capacity * POINTS_PER_CONTACT);\n this.stagingPointFirstFeatures = growInt32(this.stagingPointFirstFeatures, capacity * POINTS_PER_CONTACT);\n this.stagingPointSecondFeatures = growInt32(this.stagingPointSecondFeatures, capacity * POINTS_PER_CONTACT);\n this.stagingPointNormalImpulses = growFloat64(this.stagingPointNormalImpulses, capacity * POINTS_PER_CONTACT);\n this.stagingPointTangentImpulses = growFloat64(this.stagingPointTangentImpulses, capacity * POINTS_PER_CONTACT);\n this.ensureEventCapacity(capacity * 2);\n }\n\n ensureEventCapacity(required: number): void {\n if (required <= this.eventTypes.length) return;\n let capacity = this.eventTypes.length;\n while (capacity < required) capacity *= 2;\n this.eventTypes = growUint8(this.eventTypes, capacity);\n this.eventFirstColliderIndices = growInt32(this.eventFirstColliderIndices, capacity);\n this.eventFirstColliderGenerations = growUint32(this.eventFirstColliderGenerations, capacity);\n this.eventSecondColliderIndices = growInt32(this.eventSecondColliderIndices, capacity);\n this.eventSecondColliderGenerations = growUint32(this.eventSecondColliderGenerations, capacity);\n }\n\n swapGenerations(nextCount: number, nextEventCount: number): void {\n let int32 = this.firstColliderIndices;\n this.firstColliderIndices = this.stagingFirstColliderIndices;\n this.stagingFirstColliderIndices = int32;\n let uint32 = this.firstColliderGenerations;\n this.firstColliderGenerations = this.stagingFirstColliderGenerations;\n this.stagingFirstColliderGenerations = uint32;\n int32 = this.secondColliderIndices;\n this.secondColliderIndices = this.stagingSecondColliderIndices;\n this.stagingSecondColliderIndices = int32;\n uint32 = this.secondColliderGenerations;\n this.secondColliderGenerations = this.stagingSecondColliderGenerations;\n this.stagingSecondColliderGenerations = uint32;\n int32 = this.firstBodyIndices;\n this.firstBodyIndices = this.stagingFirstBodyIndices;\n this.stagingFirstBodyIndices = int32;\n uint32 = this.firstBodyGenerations;\n this.firstBodyGenerations = this.stagingFirstBodyGenerations;\n this.stagingFirstBodyGenerations = uint32;\n int32 = this.secondBodyIndices;\n this.secondBodyIndices = this.stagingSecondBodyIndices;\n this.stagingSecondBodyIndices = int32;\n uint32 = this.secondBodyGenerations;\n this.secondBodyGenerations = this.stagingSecondBodyGenerations;\n this.stagingSecondBodyGenerations = uint32;\n let uint8 = this.sensorFlags;\n this.sensorFlags = this.stagingSensorFlags;\n this.stagingSensorFlags = uint8;\n let float64 = this.mixedFriction;\n this.mixedFriction = this.stagingMixedFriction;\n this.stagingMixedFriction = float64;\n float64 = this.mixedRestitution;\n this.mixedRestitution = this.stagingMixedRestitution;\n this.stagingMixedRestitution = float64;\n float64 = this.normalX;\n this.normalX = this.stagingNormalX;\n this.stagingNormalX = float64;\n float64 = this.normalY;\n this.normalY = this.stagingNormalY;\n this.stagingNormalY = float64;\n int32 = this.firstLeafIndices;\n this.firstLeafIndices = this.stagingFirstLeafIndices;\n this.stagingFirstLeafIndices = int32;\n int32 = this.secondLeafIndices;\n this.secondLeafIndices = this.stagingSecondLeafIndices;\n this.stagingSecondLeafIndices = int32;\n uint8 = this.pointCounts;\n this.pointCounts = this.stagingPointCounts;\n this.stagingPointCounts = uint8;\n float64 = this.pointFirstX;\n this.pointFirstX = this.stagingPointFirstX;\n this.stagingPointFirstX = float64;\n float64 = this.pointFirstY;\n this.pointFirstY = this.stagingPointFirstY;\n this.stagingPointFirstY = float64;\n float64 = this.pointSecondX;\n this.pointSecondX = this.stagingPointSecondX;\n this.stagingPointSecondX = float64;\n float64 = this.pointSecondY;\n this.pointSecondY = this.stagingPointSecondY;\n this.stagingPointSecondY = float64;\n float64 = this.pointSeparations;\n this.pointSeparations = this.stagingPointSeparations;\n this.stagingPointSeparations = float64;\n int32 = this.pointFirstFeatures;\n this.pointFirstFeatures = this.stagingPointFirstFeatures;\n this.stagingPointFirstFeatures = int32;\n int32 = this.pointSecondFeatures;\n this.pointSecondFeatures = this.stagingPointSecondFeatures;\n this.stagingPointSecondFeatures = int32;\n float64 = this.pointNormalImpulses;\n this.pointNormalImpulses = this.stagingPointNormalImpulses;\n this.stagingPointNormalImpulses = float64;\n float64 = this.pointTangentImpulses;\n this.pointTangentImpulses = this.stagingPointTangentImpulses;\n this.stagingPointTangentImpulses = float64;\n this.contactCount = nextCount;\n this.eventCount = nextEventCount;\n }\n\n writeStagingContact(\n target: number,\n firstColliderIndex: number,\n firstColliderGeneration: number,\n secondColliderIndex: number,\n secondColliderGeneration: number,\n colliders: ColliderStore2D,\n manifold: PrivateManifold2D,\n oldContact: number,\n ): void {\n this.stagingFirstColliderIndices[target] = firstColliderIndex;\n this.stagingFirstColliderGenerations[target] = firstColliderGeneration;\n this.stagingSecondColliderIndices[target] = secondColliderIndex;\n this.stagingSecondColliderGenerations[target] = secondColliderGeneration;\n this.stagingFirstBodyIndices[target] = colliders.bodyIndices[firstColliderIndex]!;\n this.stagingFirstBodyGenerations[target] = colliders.bodyGenerations[firstColliderIndex]!;\n this.stagingSecondBodyIndices[target] = colliders.bodyIndices[secondColliderIndex]!;\n this.stagingSecondBodyGenerations[target] = colliders.bodyGenerations[secondColliderIndex]!;\n const sensor =\n ((colliders.flags[firstColliderIndex]! | colliders.flags[secondColliderIndex]!) & COLLIDER_SENSOR_2D) !== 0;\n this.stagingSensorFlags[target] = sensor ? 1 : 0;\n const firstFriction = materialNumberAt(\n colliders,\n firstColliderIndex,\n \"friction\",\n 0.5,\n );\n const secondFriction = materialNumberAt(\n colliders,\n secondColliderIndex,\n \"friction\",\n 0.5,\n );\n this.stagingMixedFriction[target] = Math.sqrt(\n firstFriction * secondFriction,\n );\n this.stagingMixedRestitution[target] = Math.max(\n materialNumberAt(colliders, firstColliderIndex, \"restitution\", 0),\n materialNumberAt(colliders, secondColliderIndex, \"restitution\", 0),\n );\n this.stagingNormalX[target] = manifold.normalX;\n this.stagingNormalY[target] = manifold.normalY;\n this.stagingFirstLeafIndices[target] = manifold.firstLeaf;\n this.stagingSecondLeafIndices[target] = manifold.secondLeaf;\n const pointCount = Math.min(POINTS_PER_CONTACT, manifold.points.length);\n this.stagingPointCounts[target] = pointCount;\n let firstPoint = 0;\n let secondPoint = 1;\n if (pointCount === 2 && compareManifoldPoints(manifold.points[0]!, manifold.points[1]!) > 0) {\n firstPoint = 1;\n secondPoint = 0;\n }\n for (let pointIndex = 0; pointIndex < POINTS_PER_CONTACT; pointIndex += 1) {\n const targetPoint = target * POINTS_PER_CONTACT + pointIndex;\n if (pointIndex >= pointCount) {\n clearStagingPoint(this, targetPoint);\n continue;\n }\n const sourcePoint = manifold.points[pointIndex === 0 ? firstPoint : secondPoint]!;\n this.stagingPointFirstX[targetPoint] = sourcePoint.firstX;\n this.stagingPointFirstY[targetPoint] = sourcePoint.firstY;\n this.stagingPointSecondX[targetPoint] = sourcePoint.secondX;\n this.stagingPointSecondY[targetPoint] = sourcePoint.secondY;\n this.stagingPointSeparations[targetPoint] = sourcePoint.separation;\n this.stagingPointFirstFeatures[targetPoint] = sourcePoint.firstFeature;\n this.stagingPointSecondFeatures[targetPoint] = sourcePoint.secondFeature;\n const oldPoint = oldContact < 0\n ? -1\n : this.findMatchingPoint(oldContact, manifold.firstLeaf, manifold.secondLeaf, sourcePoint.firstFeature, sourcePoint.secondFeature);\n this.stagingPointNormalImpulses[targetPoint] = oldPoint < 0 ? 0 : this.pointNormalImpulses[oldPoint]!;\n this.stagingPointTangentImpulses[targetPoint] = oldPoint < 0 ? 0 : this.pointTangentImpulses[oldPoint]!;\n }\n }\n\n private findMatchingPoint(\n oldContact: number,\n firstLeaf: number,\n secondLeaf: number,\n firstFeature: number,\n secondFeature: number,\n ): number {\n if (\n this.firstLeafIndices[oldContact] !== firstLeaf ||\n this.secondLeafIndices[oldContact] !== secondLeaf\n ) return -1;\n const base = oldContact * POINTS_PER_CONTACT;\n for (let point = 0; point < this.pointCounts[oldContact]!; point += 1) {\n const index = base + point;\n if (\n this.pointFirstFeatures[index] === firstFeature &&\n this.pointSecondFeatures[index] === secondFeature\n ) return index;\n }\n return -1;\n }\n}\n\nexport function updateSortedContactCache2D(\n cache: ContactCache2D,\n pairs: SortedColliderPairs2D,\n colliders: ColliderStore2D,\n manifoldProvider: PrivateManifoldProvider2D,\n): void {\n cache.ensureCapacity(cache.contactCount + pairs.pairCount);\n cache.ensureEventCapacity(cache.contactCount + pairs.pairCount);\n let oldContact = 0;\n let pair = 0;\n let nextContact = 0;\n let nextEvent = 0;\n\n while (oldContact < cache.contactCount || pair < pairs.pairCount) {\n let firstIndex: number;\n let firstGeneration: number;\n let secondIndex: number;\n let secondGeneration: number;\n let matchesOld = false;\n if (oldContact >= cache.contactCount) {\n firstIndex = pairs.pairFirstColliderIndices[pair]!;\n firstGeneration = pairs.pairFirstColliderGenerations[pair]!;\n secondIndex = pairs.pairSecondColliderIndices[pair]!;\n secondGeneration = pairs.pairSecondColliderGenerations[pair]!;\n pair += 1;\n } else if (pair >= pairs.pairCount) {\n firstIndex = cache.firstColliderIndices[oldContact]!;\n firstGeneration = cache.firstColliderGenerations[oldContact]!;\n secondIndex = cache.secondColliderIndices[oldContact]!;\n secondGeneration = cache.secondColliderGenerations[oldContact]!;\n matchesOld = true;\n oldContact += 1;\n } else {\n const comparison = compareContactToPair(\n cache,\n oldContact,\n pairs.pairFirstColliderIndices[pair]!,\n pairs.pairFirstColliderGenerations[pair]!,\n pairs.pairSecondColliderIndices[pair]!,\n pairs.pairSecondColliderGenerations[pair]!,\n );\n if (comparison <= 0) {\n firstIndex = cache.firstColliderIndices[oldContact]!;\n firstGeneration = cache.firstColliderGenerations[oldContact]!;\n secondIndex = cache.secondColliderIndices[oldContact]!;\n secondGeneration = cache.secondColliderGenerations[oldContact]!;\n matchesOld = true;\n oldContact += 1;\n if (comparison === 0) pair += 1;\n } else {\n firstIndex = pairs.pairFirstColliderIndices[pair]!;\n firstGeneration = pairs.pairFirstColliderGenerations[pair]!;\n secondIndex = pairs.pairSecondColliderIndices[pair]!;\n secondGeneration = pairs.pairSecondColliderGenerations[pair]!;\n pair += 1;\n }\n }\n const collidersLive =\n colliders.has(firstIndex, firstGeneration) &&\n colliders.has(secondIndex, secondGeneration);\n const sameBody =\n collidersLive &&\n colliders.bodyIndices[firstIndex] === colliders.bodyIndices[secondIndex] &&\n colliders.bodyGenerations[firstIndex] === colliders.bodyGenerations[secondIndex];\n const manifold = collidersLive && !sameBody\n ? manifoldProvider(firstIndex, secondIndex)\n : null;\n if (manifold !== null && manifold.points.length > 0) {\n const oldIndex = matchesOld ? oldContact - 1 : -1;\n const sensor =\n ((colliders.flags[firstIndex]! | colliders.flags[secondIndex]!) &\n COLLIDER_SENSOR_2D) !==\n 0;\n const changesSensorState =\n oldIndex >= 0 && (cache.sensorFlags[oldIndex] !== 0) !== sensor;\n cache.writeStagingContact(\n nextContact,\n firstIndex,\n firstGeneration,\n secondIndex,\n secondGeneration,\n colliders,\n manifold,\n changesSensorState ? -1 : oldIndex,\n );\n if (changesSensorState) {\n nextEvent = writeEndEvent(cache, nextEvent, oldIndex);\n nextEvent = writeBeginEvent(cache, nextEvent, nextContact);\n } else if (!matchesOld) {\n nextEvent = writeBeginEvent(cache, nextEvent, nextContact);\n }\n nextContact += 1;\n } else if (matchesOld) {\n nextEvent = writeEndEvent(cache, nextEvent, oldContact - 1);\n }\n }\n cache.swapGenerations(nextContact, nextEvent);\n}\n\nfunction compareContactToPair(\n cache: ContactCache2D,\n contact: number,\n firstIndex: number,\n firstGeneration: number,\n secondIndex: number,\n secondGeneration: number,\n): number {\n return (\n compareIdentity(cache.firstColliderIndices[contact]!, cache.firstColliderGenerations[contact]!, firstIndex, firstGeneration) ||\n compareIdentity(cache.secondColliderIndices[contact]!, cache.secondColliderGenerations[contact]!, secondIndex, secondGeneration)\n );\n}\n\nfunction compareIdentity(\n firstIndex: number,\n firstGeneration: number,\n secondIndex: number,\n secondGeneration: number,\n): number {\n return firstIndex - secondIndex || firstGeneration - secondGeneration;\n}\n\nfunction writeBeginEvent(\n cache: ContactCache2D,\n event: number,\n stagingContact: number,\n): number {\n cache.eventTypes[event] = cache.stagingSensorFlags[stagingContact] !== 0\n ? OVERLAP_EVENT_BEGIN_2D\n : CONTACT_EVENT_BEGIN_2D;\n cache.eventFirstColliderIndices[event] =\n cache.stagingFirstColliderIndices[stagingContact]!;\n cache.eventFirstColliderGenerations[event] =\n cache.stagingFirstColliderGenerations[stagingContact]!;\n cache.eventSecondColliderIndices[event] =\n cache.stagingSecondColliderIndices[stagingContact]!;\n cache.eventSecondColliderGenerations[event] =\n cache.stagingSecondColliderGenerations[stagingContact]!;\n return event + 1;\n}\n\nfunction writeEndEvent(cache: ContactCache2D, event: number, contact: number): number {\n cache.eventTypes[event] = cache.sensorFlags[contact] !== 0\n ? OVERLAP_EVENT_END_2D\n : CONTACT_EVENT_END_2D;\n cache.eventFirstColliderIndices[event] = cache.firstColliderIndices[contact]!;\n cache.eventFirstColliderGenerations[event] = cache.firstColliderGenerations[contact]!;\n cache.eventSecondColliderIndices[event] = cache.secondColliderIndices[contact]!;\n cache.eventSecondColliderGenerations[event] = cache.secondColliderGenerations[contact]!;\n return event + 1;\n}\n\nfunction materialNumberAt(\n colliders: ColliderStore2D,\n colliderIndex: number,\n property: \"friction\" | \"restitution\",\n fallback: number,\n): number {\n const material = colliders.materials[colliderIndex] as Partial<{\n friction: number;\n restitution: number;\n }> | null;\n return material?.[property] ?? fallback;\n}\n\nfunction compareManifoldPoints(\n first: PrivateManifold2D[\"points\"][number],\n second: PrivateManifold2D[\"points\"][number],\n): number {\n return (\n first.firstFeature - second.firstFeature ||\n first.secondFeature - second.secondFeature ||\n first.firstX - second.firstX ||\n first.firstY - second.firstY ||\n first.secondX - second.secondX ||\n first.secondY - second.secondY\n );\n}\n\nfunction clearStagingPoint(cache: ContactCache2D, point: number): void {\n cache.stagingPointFirstX[point] = 0;\n cache.stagingPointFirstY[point] = 0;\n cache.stagingPointSecondX[point] = 0;\n cache.stagingPointSecondY[point] = 0;\n cache.stagingPointSeparations[point] = 0;\n cache.stagingPointFirstFeatures[point] = 0;\n cache.stagingPointSecondFeatures[point] = 0;\n cache.stagingPointNormalImpulses[point] = 0;\n cache.stagingPointTangentImpulses[point] = 0;\n}\n\nfunction normalizedCapacity(initialCapacity: number): number {\n if (!Number.isInteger(initialCapacity) || initialCapacity < 1) {\n throw new RangeError(\"initialCapacity must be a positive integer.\");\n }\n let capacity = 1;\n while (capacity < initialCapacity) capacity *= 2;\n return capacity;\n}\n\nfunction growInt32(source: Int32Array, capacity: number): Int32Array {\n const result = new Int32Array(capacity);\n result.set(source);\n return result;\n}\n\nfunction growUint32(source: Uint32Array, capacity: number): Uint32Array {\n const result = new Uint32Array(capacity);\n result.set(source);\n return result;\n}\n\nfunction growUint8(source: Uint8Array, capacity: number): Uint8Array {\n const result = new Uint8Array(capacity);\n result.set(source);\n return result;\n}\n\nfunction growFloat64(source: Float64Array, capacity: number): Float64Array {\n const result = new Float64Array(capacity);\n result.set(source);\n return result;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ import type { BodyStore2D } from "./storage.js";
2
+ export declare const BODY_TYPE_DYNAMIC_2D: number;
3
+ export declare const BODY_TYPE_KINEMATIC_2D: number;
4
+ export declare const BODY_FIXED_ROTATION_2D: number;
5
+ export declare function applyForceAtPointToCandidateBody2D(bodies: BodyStore2D, bodyIndex: number, bodyGeneration: number, forceX: number, forceY: number, pointX: number, pointY: number): boolean;
6
+ export declare function applyTorqueToCandidateBody2D(bodies: BodyStore2D, bodyIndex: number, bodyGeneration: number, torque: number): boolean;
7
+ export declare function applyImpulseAtPointToCandidateBody2D(bodies: BodyStore2D, bodyIndex: number, bodyGeneration: number, impulseX: number, impulseY: number, pointX: number, pointY: number): boolean;
8
+ export declare function integrateCandidateBodies2D(bodies: BodyStore2D, bodyIndices: Int32Array, bodyCount: number, gravityX: number, gravityY: number, dt: number): void;
9
+ /** Integrate acceleration separately so resting constraints act before position drift. */
10
+ export declare function integrateCandidateVelocities2D(bodies: BodyStore2D, bodyIndices: Int32Array, bodyCount: number, gravityX: number, gravityY: number, dt: number): void;
11
+ export declare function integrateCandidatePoses2D(bodies: BodyStore2D, bodyIndices: Int32Array, bodyCount: number, dt: number): void;