@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,478 @@
1
+ import { PathGeometry } from "./path-geometry.js";
2
+ import {
3
+ bendSpans,
4
+ bendSpanBounds,
5
+ splitBendSpan
6
+ } from "./path-bend-spans.js";
7
+ import {
8
+ absI,
9
+ constant,
10
+ add,
11
+ sub,
12
+ scale,
13
+ mul,
14
+ lerp,
15
+ reciprocal
16
+ } from "./transform-math.js";
17
+ import {
18
+ snapshotGuide,
19
+ sampleGuide
20
+ } from "./transform-guide.js";
21
+ import {
22
+ warpPath
23
+ } from "./path-warp.js";
24
+ const definitions = /* @__PURE__ */ new WeakMap();
25
+ const MAX_WORK = 2e6;
26
+ const coordinate = (value, label = "coordinate") => {
27
+ if (typeof value !== "number")
28
+ throw new TypeError(`${label} must be a number.`);
29
+ if (!Number.isFinite(value)) throw new RangeError(`${label} must be finite.`);
30
+ return value;
31
+ };
32
+ const positive = (value, label) => {
33
+ coordinate(value, label);
34
+ if (value <= 0) throw new RangeError(`${label} must be positive.`);
35
+ return value;
36
+ };
37
+ function rectangle(input) {
38
+ return {
39
+ x: coordinate(input?.x),
40
+ y: coordinate(input?.y),
41
+ width: positive(input?.width, "source.width"),
42
+ height: positive(input?.height, "source.height")
43
+ };
44
+ }
45
+ const normalize = (input, r) => [
46
+ scale(sub(input[0], constant(r.x)), 1 / r.width),
47
+ scale(sub(input[1], constant(r.y)), 1 / r.height)
48
+ ];
49
+ function make(factories) {
50
+ let cachedAccuracy = NaN, cached = [];
51
+ const prepare = (accuracy) => {
52
+ if (accuracy !== cachedAccuracy) {
53
+ cached = factories.map((f) => f(accuracy));
54
+ cachedAccuracy = accuracy;
55
+ }
56
+ return cached;
57
+ };
58
+ const value = Object.freeze({
59
+ mapPoint(point, options = {}) {
60
+ const tolerance = positive(options.tolerance ?? 1e-4, "tolerance");
61
+ const input = [
62
+ constant(coordinate(point?.x)),
63
+ constant(coordinate(point?.y))
64
+ ];
65
+ for (let accuracy = tolerance / 16, attempt = 0; attempt < 9; attempt++, accuracy /= 16) {
66
+ const result = evaluate(prepare(accuracy), input);
67
+ const x = result.value[0].v[0], y = result.value[1].v[0];
68
+ if (!result.domain)
69
+ throw new RangeError(
70
+ "Point lies outside a transformation source rectangle."
71
+ );
72
+ if (result.error + roundoff(result.value) <= tolerance)
73
+ return { x: coordinate(x), y: coordinate(y) };
74
+ }
75
+ throw new RangeError(
76
+ "Cannot certify point accuracy at available precision."
77
+ );
78
+ }
79
+ });
80
+ definitions.set(value, factories);
81
+ return value;
82
+ }
83
+ function definition(value) {
84
+ const result = definitions.get(value);
85
+ if (!result)
86
+ throw new TypeError("Expected a constructor-created PathTransform.");
87
+ return result;
88
+ }
89
+ function composeTransforms(...transforms) {
90
+ return make(transforms.flatMap((t) => [...definition(t)]));
91
+ }
92
+ function affineTransform(matrix = {}) {
93
+ const m = affineMatrix(matrix);
94
+ return make([
95
+ () => ({
96
+ affine: m,
97
+ error: () => 0,
98
+ evaluate: ([x, y]) => [
99
+ add(add(scale(x, m.a), scale(y, m.c)), constant(m.e)),
100
+ add(add(scale(x, m.b), scale(y, m.d)), constant(m.f))
101
+ ]
102
+ })
103
+ ]);
104
+ }
105
+ function quadTransform(options) {
106
+ const source = rectangle(options.source), mode = options.mode === void 0 ? "bilinear" : options.mode;
107
+ const names = ["topLeft", "topRight", "bottomLeft", "bottomRight"];
108
+ const corners = names.map((n) => ({
109
+ x: coordinate(options.destination?.[n]?.x),
110
+ y: coordinate(options.destination?.[n]?.y)
111
+ }));
112
+ const destination = Object.fromEntries(
113
+ names.map((n, i) => [n, corners[i]])
114
+ );
115
+ warpPath(new PathGeometry(), { source, destination, mode, tolerance: 1 });
116
+ const [a, b, c, d] = corners;
117
+ const dx1 = b.x - d.x, dx2 = c.x - d.x, dx3 = a.x - b.x - c.x + d.x;
118
+ const dy1 = b.y - d.y, dy2 = c.y - d.y, dy3 = a.y - b.y - c.y + d.y;
119
+ const det = dx1 * dy2 - dx2 * dy1;
120
+ const g = mode === "perspective" ? (dx3 * dy2 - dx2 * dy3) / det : 0;
121
+ const h = mode === "perspective" ? (dx1 * dy3 - dx3 * dy1) / det : 0;
122
+ return make([
123
+ () => ({
124
+ apply: (path, quality) => warpPath(path, {
125
+ source,
126
+ destination,
127
+ mode,
128
+ tolerance: quality.tolerance,
129
+ maxSegments: quality.maxSegments
130
+ }),
131
+ error: () => 0,
132
+ evaluate: (input) => {
133
+ const [u, v] = normalize(input, source);
134
+ if (mode === "bilinear")
135
+ return [
136
+ lerp(
137
+ lerp(constant(a.x), constant(b.x), u),
138
+ lerp(constant(c.x), constant(d.x), u),
139
+ v
140
+ ),
141
+ lerp(
142
+ lerp(constant(a.y), constant(b.y), u),
143
+ lerp(constant(c.y), constant(d.y), u),
144
+ v
145
+ )
146
+ ];
147
+ const w = reciprocal(add(add(scale(u, g), scale(v, h)), constant(1)));
148
+ return [
149
+ mul(
150
+ add(
151
+ add(scale(u, b.x - a.x + g * b.x), scale(v, c.x - a.x + h * c.x)),
152
+ constant(a.x)
153
+ ),
154
+ w
155
+ ),
156
+ mul(
157
+ add(
158
+ add(scale(u, b.y - a.y + g * b.y), scale(v, c.y - a.y + h * c.y)),
159
+ constant(a.y)
160
+ ),
161
+ w
162
+ )
163
+ ];
164
+ }
165
+ })
166
+ ]);
167
+ }
168
+ function envelopeTransform(options) {
169
+ const source = rectangle(options.source);
170
+ if (options.interpolation !== void 0 && options.interpolation !== "linear")
171
+ throw new TypeError("Unsupported envelope interpolation.");
172
+ if (options.guides && (options.top || options.bottom))
173
+ throw new TypeError("Specify guides or top/bottom, not both.");
174
+ const guides = (options.guides ?? [
175
+ { at: 0, path: options.top },
176
+ { at: 1, path: options.bottom }
177
+ ]).map((g) => ({ at: coordinate(g.at), guide: snapshotGuide(g.path) }));
178
+ if (guides.length < 2 || guides[0].at !== 0 || guides.at(-1).at !== 1 || guides.some((g, i) => i > 0 && g.at <= guides[i - 1].at))
179
+ throw new RangeError("Envelope guides must strictly increase from 0 to 1.");
180
+ return make([
181
+ (accuracy) => {
182
+ const sampled = guides.map((g) => sampleGuide(g.guide, accuracy));
183
+ const error = Math.max(...sampled.map((g) => g.error));
184
+ const evaluateBand = (input, i) => {
185
+ const [u, v] = normalize(input, source), a = sampled[i].evaluate(u), b = sampled[i + 1].evaluate(u);
186
+ const t = scale(
187
+ sub(v, constant(guides[i].at)),
188
+ 1 / (guides[i + 1].at - guides[i].at)
189
+ );
190
+ return [lerp(a[0], b[0], t), lerp(a[1], b[1], t)];
191
+ };
192
+ return {
193
+ error: () => error,
194
+ domain: (input, margin) => input[0].v[0] >= source.x - margin && input[0].v[1] <= source.x + source.width + margin && input[1].v[0] >= source.y - margin && input[1].v[1] <= source.y + source.height + margin,
195
+ evaluate: (input) => {
196
+ const v0 = (input[1].v[0] - source.y) / source.height, v1 = (input[1].v[1] - source.y) / source.height;
197
+ let first = 0;
198
+ while (first < guides.length - 2 && guides[first + 1].at <= v0)
199
+ first++;
200
+ let last = first;
201
+ while (last < guides.length - 2 && guides[last + 1].at < v1) last++;
202
+ if (first === last) return evaluateBand(input, first);
203
+ const outputs = [];
204
+ for (let i = first; i <= last; i++) {
205
+ const y = {
206
+ ...input[1],
207
+ v: [
208
+ Math.max(
209
+ input[1].v[0],
210
+ source.y + guides[i].at * source.height
211
+ ),
212
+ Math.min(
213
+ input[1].v[1],
214
+ source.y + guides[i + 1].at * source.height
215
+ )
216
+ ]
217
+ };
218
+ outputs.push(evaluateBand([input[0], y], i));
219
+ }
220
+ return [0, 1].map((axis) => ({
221
+ v: [
222
+ Math.min(...outputs.map((p) => p[axis].v[0])),
223
+ Math.max(...outputs.map((p) => p[axis].v[1]))
224
+ ],
225
+ d: [
226
+ Math.min(...outputs.map((p) => p[axis].d[0])),
227
+ Math.max(...outputs.map((p) => p[axis].d[1]))
228
+ ],
229
+ dd: [-Infinity, Infinity]
230
+ }));
231
+ }
232
+ };
233
+ }
234
+ ]);
235
+ }
236
+ function roundoff(pair) {
237
+ return Number.EPSILON * 512 * Math.max(1, ...pair.map((p) => absI(p.v)));
238
+ }
239
+ function evaluate(stages, input) {
240
+ let value = input, error = 0, domain = true;
241
+ for (const stage of stages) {
242
+ if (error > 0) {
243
+ const box = value.map((p) => ({
244
+ v: [p.v[0] - error, p.v[1] + error],
245
+ d: [0, 0],
246
+ dd: [0, 0]
247
+ }));
248
+ const dx = stage.evaluate([{ ...box[0], d: [1, 1] }, box[1]]);
249
+ const dy = stage.evaluate([box[0], { ...box[1], d: [1, 1] }]);
250
+ error *= Math.hypot(
251
+ absI(dx[0].d),
252
+ absI(dx[1].d),
253
+ absI(dy[0].d),
254
+ absI(dy[1].d)
255
+ );
256
+ }
257
+ domain &&= stage.domain?.(value, roundoff(value)) ?? true;
258
+ error += stage.error(value);
259
+ value = stage.evaluate(value);
260
+ }
261
+ return { value, error, domain };
262
+ }
263
+ function transformPath(path, transform, options) {
264
+ if (!(path instanceof PathGeometry))
265
+ throw new TypeError("transformPath requires PathGeometry.");
266
+ const factories = definition(transform), tolerance = positive(options?.tolerance, "tolerance");
267
+ const maxSegments = positive(
268
+ options.maxSegments === void 0 ? 1e6 : options.maxSegments,
269
+ "maxSegments"
270
+ );
271
+ if (!Number.isSafeInteger(maxSegments))
272
+ throw new RangeError("maxSegments must be a safe integer.");
273
+ let work = 0;
274
+ for (let attempt = 0, accuracy = tolerance / 32; attempt < 9; attempt++, accuracy /= 16) {
275
+ const stages = factories.map((f) => f(accuracy));
276
+ if (stages.length === 1 && stages[0].apply)
277
+ return stages[0].apply(path, options);
278
+ if (stages.every((s) => s.affine)) {
279
+ if (path.segmentCount > maxSegments)
280
+ throw new RangeError("transformPath exceeded maxSegments.");
281
+ let result = path.clone();
282
+ for (const s of stages) result = applyAffine(result, s.affine);
283
+ return result;
284
+ }
285
+ const output = new PathGeometry();
286
+ let retry = false;
287
+ const reserve = () => {
288
+ if (output.segmentCount >= maxSegments)
289
+ throw new RangeError("transformPath exceeded maxSegments.");
290
+ };
291
+ for (const item of bendSpans(path)) {
292
+ if (item.type === "close") {
293
+ reserve();
294
+ output.closePath();
295
+ continue;
296
+ }
297
+ if (item.type === "move") {
298
+ const r = evaluate(stages, [
299
+ constant(item.point[0]),
300
+ constant(item.point[1])
301
+ ]);
302
+ if (!r.domain)
303
+ throw new RangeError(
304
+ "Path lies outside a transformation source rectangle."
305
+ );
306
+ if (r.error > tolerance / 4) {
307
+ retry = true;
308
+ break;
309
+ }
310
+ if (r.error + roundoff(r.value) > tolerance)
311
+ throw new RangeError("Cannot certify transform precision.");
312
+ reserve();
313
+ output.moveTo(coordinate(r.value[0].v[0]), coordinate(r.value[1].v[0]));
314
+ continue;
315
+ }
316
+ const stack = [
317
+ { span: item.span, depth: 0 }
318
+ ];
319
+ while (stack.length) {
320
+ if (++work > MAX_WORK)
321
+ throw new RangeError("transformPath exceeded its work limit.");
322
+ const { span, depth } = stack.pop(), b = bendSpanBounds(span);
323
+ const r = evaluate(stages, [
324
+ { v: [b.xmin, b.xmax], d: [-b.dx, b.dx], dd: [-b.ddx, b.ddx] },
325
+ { v: [b.ymin, b.ymax], d: [-b.dy, b.dy], dd: [-b.ddy, b.ddy] }
326
+ ]);
327
+ if (r.error > tolerance / 4) {
328
+ retry = true;
329
+ break;
330
+ }
331
+ const second = Math.hypot(absI(r.value[0].dd), absI(r.value[1].dd)) / 8;
332
+ const first = Math.hypot(absI(r.value[0].d), absI(r.value[1].d)) / 2;
333
+ const bound = Math.min(second, first) + 2 * r.error + roundoff(r.value);
334
+ if (r.domain && bound <= tolerance) {
335
+ const end = "points" in span ? span.points.at(-1) : [
336
+ span.arc.cx + span.arc.ux * Math.cos(span.arc.startAngle + span.arc.sweep) + span.arc.vx * Math.sin(span.arc.startAngle + span.arc.sweep),
337
+ span.arc.cy + span.arc.uy * Math.cos(span.arc.startAngle + span.arc.sweep) + span.arc.vy * Math.sin(span.arc.startAngle + span.arc.sweep)
338
+ ];
339
+ const p = evaluate(stages, [constant(end[0]), constant(end[1])]);
340
+ reserve();
341
+ output.lineTo(
342
+ coordinate(p.value[0].v[0]),
343
+ coordinate(p.value[1].v[0])
344
+ );
345
+ } else {
346
+ if (depth >= 52)
347
+ throw new RangeError(
348
+ "Cannot certify transform tolerance or source domain."
349
+ );
350
+ const [left, right] = splitBendSpan(span);
351
+ stack.push(
352
+ { span: right, depth: depth + 1 },
353
+ { span: left, depth: depth + 1 }
354
+ );
355
+ }
356
+ }
357
+ if (retry) break;
358
+ }
359
+ if (!retry) return output;
360
+ }
361
+ throw new RangeError("Cannot certify composed guide accuracy.");
362
+ }
363
+ function mergePairs(outputs) {
364
+ return [0, 1].map((axis) => ({
365
+ v: [
366
+ Math.min(...outputs.map((p) => p[axis].v[0])),
367
+ Math.max(...outputs.map((p) => p[axis].v[1]))
368
+ ],
369
+ d: [
370
+ Math.min(...outputs.map((p) => p[axis].d[0])),
371
+ Math.max(...outputs.map((p) => p[axis].d[1]))
372
+ ],
373
+ dd: [-Infinity, Infinity]
374
+ }));
375
+ }
376
+ function sourceDomain(input, source, margin) {
377
+ return input[0].v[0] >= source.x - margin && input[0].v[1] <= source.x + source.width + margin && input[1].v[0] >= source.y - margin && input[1].v[1] <= source.y + source.height + margin;
378
+ }
379
+ import { meshTransform } from "./transform-mesh.js";
380
+ import {
381
+ arcBendTransform,
382
+ pathBendTransform
383
+ } from "./transform-bend.js";
384
+ function affineMatrix(matrix) {
385
+ if (!matrix || typeof matrix !== "object")
386
+ throw new TypeError("Expected a finite 2D affine matrix.");
387
+ const value = matrix;
388
+ if (value.is2D === false || ["m13", "m14", "m23", "m24", "m31", "m32", "m34", "m43"].some(
389
+ (k) => value[k] !== void 0 && value[k] !== 0
390
+ ) || [value.m33, value.m44].some((n) => n !== void 0 && n !== 1))
391
+ throw new RangeError("Expected a finite 2D affine matrix.");
392
+ const pairs = [
393
+ ["a", "m11", 1],
394
+ ["b", "m12", 0],
395
+ ["c", "m21", 0],
396
+ ["d", "m22", 1],
397
+ ["e", "m41", 0],
398
+ ["f", "m42", 0]
399
+ ];
400
+ const result = {};
401
+ for (const [key, alias, fallback] of pairs) {
402
+ const a = value[key], b = value[alias];
403
+ if (a !== void 0 && b !== void 0 && a !== b)
404
+ throw new TypeError("Conflicting affine matrix aliases.");
405
+ result[key] = coordinate(
406
+ a === void 0 ? b === void 0 ? fallback : b : a
407
+ );
408
+ }
409
+ return result;
410
+ }
411
+ function applyAffine(path, m) {
412
+ const p = (x, y, vector = false) => ({
413
+ x: coordinate(m.a * x + m.c * y + (vector ? 0 : m.e)),
414
+ y: coordinate(m.b * x + m.d * y + (vector ? 0 : m.f))
415
+ });
416
+ const segments = Array.from(path, (segment) => {
417
+ switch (segment.type) {
418
+ case "close":
419
+ return segment;
420
+ case "move":
421
+ case "line":
422
+ return { ...segment, ...p(segment.x, segment.y) };
423
+ case "quadratic": {
424
+ const control = p(segment.cpx, segment.cpy);
425
+ return {
426
+ ...segment,
427
+ ...p(segment.x, segment.y),
428
+ cpx: control.x,
429
+ cpy: control.y
430
+ };
431
+ }
432
+ case "cubic": {
433
+ const a = p(segment.cp1x, segment.cp1y), b = p(segment.cp2x, segment.cp2y);
434
+ return {
435
+ ...segment,
436
+ ...p(segment.x, segment.y),
437
+ cp1x: a.x,
438
+ cp1y: a.y,
439
+ cp2x: b.x,
440
+ cp2y: b.y
441
+ };
442
+ }
443
+ case "arc": {
444
+ const center = p(segment.cx, segment.cy), u = p(segment.ux, segment.uy, true), v = p(segment.vx, segment.vy, true);
445
+ return {
446
+ ...segment,
447
+ cx: center.x,
448
+ cy: center.y,
449
+ ux: u.x,
450
+ uy: u.y,
451
+ vx: v.x,
452
+ vy: v.y
453
+ };
454
+ }
455
+ }
456
+ });
457
+ const result = new PathGeometry();
458
+ result.spliceSegments(0, 0, segments);
459
+ return result;
460
+ }
461
+ export {
462
+ affineTransform,
463
+ arcBendTransform,
464
+ composeTransforms,
465
+ coordinate,
466
+ envelopeTransform,
467
+ make,
468
+ mergePairs,
469
+ meshTransform,
470
+ normalize,
471
+ pathBendTransform,
472
+ positive,
473
+ quadTransform,
474
+ rectangle,
475
+ sourceDomain,
476
+ transformPath
477
+ };
478
+ //# sourceMappingURL=path-transforms.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/lib/geometry/path-transforms.ts"],
4
+ "sourcesContent": ["import { PathGeometry } from './path-geometry.js';\nimport {\n bendSpans,\n bendSpanBounds,\n splitBendSpan,\n type BendSpan,\n} from './path-bend-spans.js';\nimport {\n absI,\n constant,\n add,\n sub,\n scale,\n mul,\n lerp,\n reciprocal,\n type Pair,\n} from './transform-math.js';\nimport {\n snapshotGuide,\n sampleGuide,\n type PathGuide,\n} from './transform-guide.js';\nimport {\n warpPath,\n type PathWarpCorners,\n type PathWarpMode,\n} from './path-warp.js';\n\n/**\n * A point in source or destination path coordinates.\n *\n * @see {@link PathTransform}\n * @see {@link PathRect}\n */\nexport interface PathPoint {\n /**\n * Horizontal coordinate or displacement in the containing coordinate system. See\n * {@link PathPoint}.\n */\n readonly x: number;\n /**\n * Vertical coordinate or displacement in the containing coordinate system. See {@link PathPoint}\n * .\n */\n readonly y: number;\n}\n/**\n * A source rectangle with an origin and finite positive dimensions.\n *\n * @see {@link PathPoint}\n * @see {@link QuadTransformOptions}\n * @see {@link EnvelopeTransformOptions}\n */\nexport interface PathRect extends PathPoint {\n /** Horizontal extent in the units of the containing geometry or surface. See {@link PathRect}. */\n readonly width: number;\n /** Vertical extent in the units of the containing geometry or surface. See {@link PathRect}. */\n readonly height: number;\n}\ndeclare const transformBrand: unique symbol;\n/**\n * A constructor-created, reusable coordinate mapping for path transformation.\n *\n * @see {@link PathPoint}\n * @see {@link transformPath}\n * @see {@link composeTransforms}\n * @see {@link affineTransform}\n */\nexport interface PathTransform {\n readonly [transformBrand]: true;\n /**\n * Evaluate in ordinary source/destination coordinates. Guide approximation is bounded by\n * tolerance.\n * @param point - Source point in the transform's input coordinate system. See {@link PathPoint}.\n * @param options - Optional approximation tolerance for evaluating the mapping.\n * @returns The mapped point in the transform's output coordinate system. See {@link PathPoint}.\n */\n mapPoint(\n point: PathPoint,\n options?: {\n /** Positive maximum geometric approximation error. See {@link PathTransform}. */\n readonly tolerance?: number;\n },\n ): PathPoint;\n}\n/**\n * Accuracy and output-segment limits for applying a path transform.\n *\n * @see {@link transformPath}\n */\nexport interface TransformPathOptions {\n /** Positive maximum geometric approximation error. See {@link TransformPathOptions}. */\n readonly tolerance: number;\n /** Upper bound on the number of output path segments. See {@link TransformPathOptions}. */\n readonly maxSegments?: number;\n}\n/**\n * The four destination corners used by a quadrilateral path transform.\n *\n * @see {@link QuadTransformOptions}\n */\nexport type PathQuadCorners = PathWarpCorners;\n/**\n * Selects bilinear or perspective interpolation for a quadrilateral transform.\n *\n * @see {@link QuadTransformOptions}\n */\nexport type PathQuadMode = PathWarpMode;\n/**\n * Source rectangle, destination corners, and interpolation mode for a quadrilateral transform.\n *\n * @see {@link PathRect}\n * @see {@link PathQuadCorners}\n * @see {@link PathQuadMode}\n * @see {@link quadTransform}\n */\nexport interface QuadTransformOptions {\n /** Source rectangle mapped to the destination quadrilateral. See {@link PathRect}. */\n readonly source: PathRect;\n /** Destination corners into which the source rectangle maps. See {@link PathQuadCorners}. */\n readonly destination: PathQuadCorners;\n /** Selects the supported mapping, placement, or result policy. See {@link PathQuadMode}. */\n readonly mode?: PathQuadMode;\n}\n/**\n * A guide path positioned at a normalized station across an envelope.\n *\n * @see {@link PathGuide}\n * @see {@link EnvelopeTransformOptions}\n */\nexport interface EnvelopeGuide {\n /** Normalized station position. See {@link EnvelopeGuide}. */\n readonly at: number;\n /** Path geometry used by this operation. See {@link PathGuide}. */\n readonly path: PathGuide;\n}\n/**\n * Source rectangle and either a top/bottom pair or ordered envelope guides.\n *\n * @see {@link PathRect}\n * @see {@link PathGuide}\n * @see {@link EnvelopeGuide}\n * @see {@link envelopeTransform}\n */\nexport type EnvelopeTransformOptions = {\n /** Source rectangle mapped between the envelope guides. See {@link PathRect}. */\n readonly source: PathRect;\n /** Interpolation between successive guide paths; only linear interpolation is supported. See {@link EnvelopeTransformOptions}. */\n readonly interpolation?: 'linear';\n} & (\n | {\n /** Top edge value or top envelope guide. See {@link PathGuide}. */\n readonly top: PathGuide;\n /** Bottom edge value or bottom envelope guide. See {@link PathGuide}. */\n readonly bottom: PathGuide;\n /**\n * Not accepted in this variant; use the alternative fields instead. See\n * {@link EnvelopeTransformOptions}.\n */\n readonly guides?: never;\n }\n | {\n /**\n * Ordered guide paths defining the envelope from its first to last station. See\n * {@link EnvelopeGuide}.\n */\n readonly guides: readonly EnvelopeGuide[];\n /**\n * Not accepted in this variant; use the alternative fields instead. See\n * {@link EnvelopeTransformOptions}.\n */\n readonly top?: never;\n /**\n * Not accepted in this variant; use the alternative fields instead. See\n * {@link EnvelopeTransformOptions}.\n */\n readonly bottom?: never;\n }\n);\nexport type {\n PathGuide,\n PathGuideOptions,\n PathGuideStation,\n} from './transform-guide.js';\n\nexport interface Stage {\n apply?(path: PathGeometry, options: TransformPathOptions): PathGeometry;\n evaluate(input: Pair): Pair;\n error(input: Pair): number;\n domain?(point: Pair, margin: number): boolean;\n affine?: Affine;\n}\nexport type Factory = (accuracy: number) => Stage;\nconst definitions = new WeakMap<PathTransform, readonly Factory[]>();\nconst MAX_WORK = 2_000_000;\nexport const coordinate = (value: number, label = 'coordinate') => {\n if (typeof value !== 'number')\n throw new TypeError(`${label} must be a number.`);\n if (!Number.isFinite(value)) throw new RangeError(`${label} must be finite.`);\n return value;\n};\nexport const positive = (value: number, label: string) => {\n coordinate(value, label);\n if (value <= 0) throw new RangeError(`${label} must be positive.`);\n return value;\n};\nexport function rectangle(input: PathRect): PathRect {\n return {\n x: coordinate(input?.x),\n y: coordinate(input?.y),\n width: positive(input?.width, 'source.width'),\n height: positive(input?.height, 'source.height'),\n };\n}\nexport const normalize = (input: Pair, r: PathRect): Pair => [\n scale(sub(input[0], constant(r.x)), 1 / r.width),\n scale(sub(input[1], constant(r.y)), 1 / r.height),\n];\nexport function make(factories: readonly Factory[]): PathTransform {\n // One cached preparation only; drag sessions cannot grow a tolerance cache indefinitely.\n let cachedAccuracy = NaN,\n cached: readonly Stage[] = [];\n const prepare = (accuracy: number) => {\n if (accuracy !== cachedAccuracy) {\n cached = factories.map((f) => f(accuracy));\n cachedAccuracy = accuracy;\n }\n return cached;\n };\n const value = Object.freeze({\n mapPoint(point: PathPoint, options: { tolerance?: number } = {}) {\n const tolerance = positive(options.tolerance ?? 0.0001, 'tolerance');\n const input: Pair = [\n constant(coordinate(point?.x)),\n constant(coordinate(point?.y)),\n ];\n for (\n let accuracy = tolerance / 16, attempt = 0;\n attempt < 9;\n attempt++, accuracy /= 16\n ) {\n const result = evaluate(prepare(accuracy), input);\n const x = result.value[0].v[0],\n y = result.value[1].v[0];\n if (!result.domain)\n throw new RangeError(\n 'Point lies outside a transformation source rectangle.',\n );\n if (result.error + roundoff(result.value) <= tolerance)\n return { x: coordinate(x), y: coordinate(y) };\n }\n throw new RangeError(\n 'Cannot certify point accuracy at available precision.',\n );\n },\n }) as PathTransform;\n definitions.set(value, factories);\n return value;\n}\nfunction definition(value: PathTransform): readonly Factory[] {\n const result = definitions.get(value);\n if (!result)\n throw new TypeError('Expected a constructor-created PathTransform.');\n return result;\n}\n/**\n * Apply mappings in the order written. Empty composition is identity.\n *\n * @param transforms - Point mappings in the order they should be applied. See\n * {@link PathTransform} .\n * @returns One mapping that applies each supplied transform in order. See {@link PathTransform}.\n *\n * @see {@link PathTransform}\n */\nexport function composeTransforms(\n ...transforms: readonly PathTransform[]\n): PathTransform {\n return make(transforms.flatMap((t) => [...definition(t)]));\n}\n/**\n * Creates a reusable 2D affine mapping; an omitted matrix produces identity.\n *\n * @param matrix - Affine matrix coefficients; omitted coefficients use the identity matrix.\n * @returns A point mapping applying the matrix. See {@link PathTransform}.\n *\n * @see {@link PathTransform}\n */\nexport function affineTransform(matrix: DOMMatrix2DInit = {}): PathTransform {\n const m = affineMatrix(matrix);\n return make([\n () => ({\n affine: m,\n error: () => 0,\n evaluate: ([x, y]) => [\n add(add(scale(x, m.a), scale(y, m.c)), constant(m.e)),\n add(add(scale(x, m.b), scale(y, m.d)), constant(m.f)),\n ],\n }),\n ]);\n}\n/**\n * Maps a source rectangle into four destination corners using bilinear or perspective\n * interpolation.\n *\n * @param options - Source rectangle and destination corner positions. See\n * {@link QuadTransformOptions} .\n * @returns A point mapping from the source rectangle to the destination quadrilateral. See\n * {@link PathTransform} .\n *\n * @see {@link QuadTransformOptions}\n * @see {@link PathTransform}\n */\nexport function quadTransform(options: QuadTransformOptions): PathTransform {\n const source = rectangle(options.source),\n mode = options.mode === undefined ? 'bilinear' : options.mode;\n const names = ['topLeft', 'topRight', 'bottomLeft', 'bottomRight'] as const;\n const corners = names.map((n) => ({\n x: coordinate(options.destination?.[n]?.x),\n y: coordinate(options.destination?.[n]?.y),\n }));\n const destination = Object.fromEntries(\n names.map((n, i) => [n, corners[i]]),\n ) as unknown as PathWarpCorners;\n // Reuse the existing convexity/pole validation, including empty geometry validation.\n warpPath(new PathGeometry(), { source, destination, mode, tolerance: 1 });\n const [a, b, c, d] = corners;\n const dx1 = b.x - d.x,\n dx2 = c.x - d.x,\n dx3 = a.x - b.x - c.x + d.x;\n const dy1 = b.y - d.y,\n dy2 = c.y - d.y,\n dy3 = a.y - b.y - c.y + d.y;\n const det = dx1 * dy2 - dx2 * dy1;\n const g = mode === 'perspective' ? (dx3 * dy2 - dx2 * dy3) / det : 0;\n const h = mode === 'perspective' ? (dx1 * dy3 - dx3 * dy1) / det : 0;\n return make([\n () => ({\n apply: (path, quality) =>\n warpPath(path, {\n source,\n destination,\n mode,\n tolerance: quality.tolerance,\n maxSegments: quality.maxSegments,\n }),\n error: () => 0,\n evaluate: (input) => {\n const [u, v] = normalize(input, source);\n if (mode === 'bilinear')\n return [\n lerp(\n lerp(constant(a.x), constant(b.x), u),\n lerp(constant(c.x), constant(d.x), u),\n v,\n ),\n lerp(\n lerp(constant(a.y), constant(b.y), u),\n lerp(constant(c.y), constant(d.y), u),\n v,\n ),\n ];\n const w = reciprocal(add(add(scale(u, g), scale(v, h)), constant(1)));\n return [\n mul(\n add(\n add(scale(u, b.x - a.x + g * b.x), scale(v, c.x - a.x + h * c.x)),\n constant(a.x),\n ),\n w,\n ),\n mul(\n add(\n add(scale(u, b.y - a.y + g * b.y), scale(v, c.y - a.y + h * c.y)),\n constant(a.y),\n ),\n w,\n ),\n ];\n },\n }),\n ]);\n}\n/**\n * Maps a source rectangle between ordered guide paths using linear interpolation.\n *\n * @param options - Source bounds and envelope guides defining the deformation. See\n * {@link EnvelopeTransformOptions} .\n * @returns A point mapping that deforms the source into the envelope. See {@link PathTransform}.\n *\n * @see {@link EnvelopeTransformOptions}\n * @see {@link PathTransform}\n */\nexport function envelopeTransform(\n options: EnvelopeTransformOptions,\n): PathTransform {\n const source = rectangle(options.source);\n if (options.interpolation !== undefined && options.interpolation !== 'linear')\n throw new TypeError('Unsupported envelope interpolation.');\n if (options.guides && (options.top || options.bottom))\n throw new TypeError('Specify guides or top/bottom, not both.');\n const guides = (\n options.guides ?? [\n { at: 0, path: options.top! },\n { at: 1, path: options.bottom! },\n ]\n ).map((g) => ({ at: coordinate(g.at), guide: snapshotGuide(g.path) }));\n if (\n guides.length < 2 ||\n guides[0].at !== 0 ||\n guides.at(-1)!.at !== 1 ||\n guides.some((g, i) => i > 0 && g.at <= guides[i - 1].at)\n )\n throw new RangeError('Envelope guides must strictly increase from 0 to 1.');\n return make([\n (accuracy) => {\n const sampled = guides.map((g) => sampleGuide(g.guide, accuracy));\n const error = Math.max(...sampled.map((g) => g.error));\n const evaluateBand = (input: Pair, i: number): Pair => {\n const [u, v] = normalize(input, source),\n a = sampled[i].evaluate(u),\n b = sampled[i + 1].evaluate(u);\n const t = scale(\n sub(v, constant(guides[i].at)),\n 1 / (guides[i + 1].at - guides[i].at),\n );\n return [lerp(a[0], b[0], t), lerp(a[1], b[1], t)];\n };\n return {\n error: () => error,\n domain: (input, margin) =>\n input[0].v[0] >= source.x - margin &&\n input[0].v[1] <= source.x + source.width + margin &&\n input[1].v[0] >= source.y - margin &&\n input[1].v[1] <= source.y + source.height + margin,\n evaluate: (input) => {\n const v0 = (input[1].v[0] - source.y) / source.height,\n v1 = (input[1].v[1] - source.y) / source.height;\n let first = 0;\n while (first < guides.length - 2 && guides[first + 1].at <= v0)\n first++;\n let last = first;\n while (last < guides.length - 2 && guides[last + 1].at < v1) last++;\n if (first === last) return evaluateBand(input, first);\n const outputs: Pair[] = [];\n for (let i = first; i <= last; i++) {\n const y = {\n ...input[1],\n v: [\n Math.max(\n input[1].v[0],\n source.y + guides[i].at * source.height,\n ),\n Math.min(\n input[1].v[1],\n source.y + guides[i + 1].at * source.height,\n ),\n ] as const,\n };\n outputs.push(evaluateBand([input[0], y], i));\n }\n return [0, 1].map((axis) => ({\n v: [\n Math.min(...outputs.map((p) => p[axis].v[0])),\n Math.max(...outputs.map((p) => p[axis].v[1])),\n ],\n d: [\n Math.min(...outputs.map((p) => p[axis].d[0])),\n Math.max(...outputs.map((p) => p[axis].d[1])),\n ],\n dd: [-Infinity, Infinity],\n })) as unknown as Pair;\n },\n };\n },\n ]);\n}\nfunction roundoff(pair: Pair): number {\n return Number.EPSILON * 512 * Math.max(1, ...pair.map((p) => absI(p.v)));\n}\nfunction evaluate(\n stages: readonly Stage[],\n input: Pair,\n): { value: Pair; error: number; domain: boolean } {\n let value = input,\n error = 0,\n domain = true;\n for (const stage of stages) {\n // Bound propagation of guide approximation through every later map via its Jacobian.\n if (error > 0) {\n const box = value.map((p) => ({\n v: [p.v[0] - error, p.v[1] + error] as const,\n d: [0, 0] as const,\n dd: [0, 0] as const,\n })) as unknown as Pair;\n const dx = stage.evaluate([{ ...box[0], d: [1, 1] }, box[1]]);\n const dy = stage.evaluate([box[0], { ...box[1], d: [1, 1] }]);\n error *= Math.hypot(\n absI(dx[0].d),\n absI(dx[1].d),\n absI(dy[0].d),\n absI(dy[1].d),\n );\n }\n domain &&= stage.domain?.(value, roundoff(value)) ?? true;\n error += stage.error(value);\n value = stage.evaluate(value);\n }\n return { value, error, domain };\n}\n/**\n * Return independent geometry. Nonlinear mappings approximate the final composed curve once.\n *\n * @param path - Source geometry; it is not modified. See {@link PathGeometry}.\n * @param transform - Point mapping to apply to the source. See {@link PathTransform}.\n * @param options - Approximation tolerance and work limits for transformed curves. See\n * {@link TransformPathOptions} .\n * @returns Independent geometry containing the transformed path. See {@link PathGeometry}.\n *\n * @see {@link PathGeometry}\n * @see {@link PathTransform}\n * @see {@link TransformPathOptions}\n */\nexport function transformPath(\n path: PathGeometry,\n transform: PathTransform,\n options: TransformPathOptions,\n): PathGeometry {\n if (!(path instanceof PathGeometry))\n throw new TypeError('transformPath requires PathGeometry.');\n const factories = definition(transform),\n tolerance = positive(options?.tolerance, 'tolerance');\n const maxSegments = positive(\n options.maxSegments === undefined ? 1_000_000 : options.maxSegments,\n 'maxSegments',\n );\n if (!Number.isSafeInteger(maxSegments))\n throw new RangeError('maxSegments must be a safe integer.');\n let work = 0;\n for (\n let attempt = 0, accuracy = tolerance / 32;\n attempt < 9;\n attempt++, accuracy /= 16\n ) {\n const stages = factories.map((f) => f(accuracy));\n if (stages.length === 1 && stages[0].apply)\n return stages[0].apply(path, options);\n if (stages.every((s) => s.affine)) {\n if (path.segmentCount > maxSegments)\n throw new RangeError('transformPath exceeded maxSegments.');\n let result = path.clone();\n for (const s of stages) result = applyAffine(result, s.affine!);\n return result;\n }\n const output = new PathGeometry();\n let retry = false;\n const reserve = () => {\n if (output.segmentCount >= maxSegments)\n throw new RangeError('transformPath exceeded maxSegments.');\n };\n for (const item of bendSpans(path)) {\n if (item.type === 'close') {\n reserve();\n output.closePath();\n continue;\n }\n if (item.type === 'move') {\n const r = evaluate(stages, [\n constant(item.point[0]),\n constant(item.point[1]),\n ]);\n if (!r.domain)\n throw new RangeError(\n 'Path lies outside a transformation source rectangle.',\n );\n if (r.error > tolerance / 4) {\n retry = true;\n break;\n }\n if (r.error + roundoff(r.value) > tolerance)\n throw new RangeError('Cannot certify transform precision.');\n reserve();\n output.moveTo(coordinate(r.value[0].v[0]), coordinate(r.value[1].v[0]));\n continue;\n }\n const stack: { span: BendSpan; depth: number }[] = [\n { span: item.span, depth: 0 },\n ];\n while (stack.length) {\n if (++work > MAX_WORK)\n throw new RangeError('transformPath exceeded its work limit.');\n const { span, depth } = stack.pop()!,\n b = bendSpanBounds(span);\n const r = evaluate(stages, [\n { v: [b.xmin, b.xmax], d: [-b.dx, b.dx], dd: [-b.ddx, b.ddx] },\n { v: [b.ymin, b.ymax], d: [-b.dy, b.dy], dd: [-b.ddy, b.ddy] },\n ]);\n if (r.error > tolerance / 4) {\n retry = true;\n break;\n }\n const second = Math.hypot(absI(r.value[0].dd), absI(r.value[1].dd)) / 8;\n // A Lipschitz bound also covers piecewise-smooth guides and crossed cell boundaries.\n const first = Math.hypot(absI(r.value[0].d), absI(r.value[1].d)) / 2;\n const bound = Math.min(second, first) + 2 * r.error + roundoff(r.value);\n if (r.domain && bound <= tolerance) {\n const end =\n 'points' in span\n ? span.points.at(-1)!\n : [\n span.arc.cx +\n span.arc.ux *\n Math.cos(span.arc.startAngle + span.arc.sweep) +\n span.arc.vx *\n Math.sin(span.arc.startAngle + span.arc.sweep),\n span.arc.cy +\n span.arc.uy *\n Math.cos(span.arc.startAngle + span.arc.sweep) +\n span.arc.vy *\n Math.sin(span.arc.startAngle + span.arc.sweep),\n ];\n const p = evaluate(stages, [constant(end[0]), constant(end[1])]);\n reserve();\n output.lineTo(\n coordinate(p.value[0].v[0]),\n coordinate(p.value[1].v[0]),\n );\n } else {\n if (depth >= 52)\n throw new RangeError(\n 'Cannot certify transform tolerance or source domain.',\n );\n const [left, right] = splitBendSpan(span);\n stack.push(\n { span: right, depth: depth + 1 },\n { span: left, depth: depth + 1 },\n );\n }\n }\n if (retry) break;\n }\n if (!retry) return output;\n }\n throw new RangeError('Cannot certify composed guide accuracy.');\n}\n\n/** @internal Merge cell enclosures; derivatives may jump at the shared edge. */\nexport function mergePairs(outputs: readonly Pair[]): Pair {\n return [0, 1].map((axis) => ({\n v: [\n Math.min(...outputs.map((p) => p[axis].v[0])),\n Math.max(...outputs.map((p) => p[axis].v[1])),\n ],\n d: [\n Math.min(...outputs.map((p) => p[axis].d[0])),\n Math.max(...outputs.map((p) => p[axis].d[1])),\n ],\n dd: [-Infinity, Infinity],\n })) as unknown as Pair;\n}\nexport function sourceDomain(\n input: Pair,\n source: PathRect,\n margin: number,\n): boolean {\n return (\n input[0].v[0] >= source.x - margin &&\n input[0].v[1] <= source.x + source.width + margin &&\n input[1].v[0] >= source.y - margin &&\n input[1].v[1] <= source.y + source.height + margin\n );\n}\nexport { meshTransform, type MeshTransformOptions } from './transform-mesh.js';\nexport {\n arcBendTransform,\n pathBendTransform,\n type ArcBendTransformOptions,\n type PathBendTransformOptions,\n type BendTransformOptions,\n} from './transform-bend.js';\n\ninterface Affine {\n readonly a: number;\n readonly b: number;\n readonly c: number;\n readonly d: number;\n readonly e: number;\n readonly f: number;\n}\nfunction affineMatrix(matrix: DOMMatrix2DInit): Affine {\n if (!matrix || typeof matrix !== 'object')\n throw new TypeError('Expected a finite 2D affine matrix.');\n const value = matrix as DOMMatrixInit;\n if (\n value.is2D === false ||\n ['m13', 'm14', 'm23', 'm24', 'm31', 'm32', 'm34', 'm43'].some(\n (k) =>\n value[k as keyof DOMMatrixInit] !== undefined &&\n value[k as keyof DOMMatrixInit] !== 0,\n ) ||\n [value.m33, value.m44].some((n) => n !== undefined && n !== 1)\n )\n throw new RangeError('Expected a finite 2D affine matrix.');\n const pairs = [\n ['a', 'm11', 1],\n ['b', 'm12', 0],\n ['c', 'm21', 0],\n ['d', 'm22', 1],\n ['e', 'm41', 0],\n ['f', 'm42', 0],\n ] as const;\n const result = {} as Record<string, number>;\n for (const [key, alias, fallback] of pairs) {\n const a = value[key],\n b = value[alias];\n if (a !== undefined && b !== undefined && a !== b)\n throw new TypeError('Conflicting affine matrix aliases.');\n result[key] = coordinate(\n a === undefined ? (b === undefined ? fallback : b) : a,\n );\n }\n return result as unknown as Affine;\n}\nfunction applyAffine(path: PathGeometry, m: Affine): PathGeometry {\n const p = (x: number, y: number, vector = false) => ({\n x: coordinate(m.a * x + m.c * y + (vector ? 0 : m.e)),\n y: coordinate(m.b * x + m.d * y + (vector ? 0 : m.f)),\n });\n const segments = Array.from(path, (segment) => {\n switch (segment.type) {\n case 'close':\n return segment;\n case 'move':\n case 'line':\n return { ...segment, ...p(segment.x, segment.y) };\n case 'quadratic': {\n const control = p(segment.cpx, segment.cpy);\n return {\n ...segment,\n ...p(segment.x, segment.y),\n cpx: control.x,\n cpy: control.y,\n };\n }\n case 'cubic': {\n const a = p(segment.cp1x, segment.cp1y),\n b = p(segment.cp2x, segment.cp2y);\n return {\n ...segment,\n ...p(segment.x, segment.y),\n cp1x: a.x,\n cp1y: a.y,\n cp2x: b.x,\n cp2y: b.y,\n };\n }\n case 'arc': {\n const center = p(segment.cx, segment.cy),\n u = p(segment.ux, segment.uy, true),\n v = p(segment.vx, segment.vy, true);\n return {\n ...segment,\n cx: center.x,\n cy: center.y,\n ux: u.x,\n uy: u.y,\n vx: v.x,\n vy: v.y,\n };\n }\n }\n });\n const result = new PathGeometry();\n result.spliceSegments(0, 0, segments);\n return result;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,78 @@
1
+ import type { flattenPathWang } from "./path-wang.js";
2
+ import type { simplifyPathRadial } from "./path-radial.js";
3
+ import { PathGeometry } from './path-geometry.js';
4
+ /**
5
+ * Positive approximation tolerance and output-segment budget for curve flattening.
6
+ *
7
+ * @see {@link flattenPath}
8
+ * @see {@link flattenPathWang}
9
+ */
10
+ export interface FlattenPathOptions {
11
+ /** Positive maximum geometric approximation error. See {@link FlattenPathOptions}. */
12
+ readonly tolerance: number;
13
+ /** Upper bound on the number of output path segments. See {@link FlattenPathOptions}. */
14
+ readonly maxSegments?: number;
15
+ }
16
+ /**
17
+ * Positive tolerance and output-segment budget for polyline simplification.
18
+ *
19
+ * @see {@link simplifyPath}
20
+ * @see {@link simplifyPathRadial}
21
+ */
22
+ export interface SimplifyPathOptions {
23
+ /** Positive maximum geometric approximation error. See {@link SimplifyPathOptions}. */
24
+ readonly tolerance: number;
25
+ /** Upper bound on the number of output path segments. See {@link SimplifyPathOptions}. */
26
+ readonly maxSegments?: number;
27
+ }
28
+ /**
29
+ * Subdivision count and output-segment budget for splitting path segments.
30
+ *
31
+ * @see {@link subdividePath}
32
+ */
33
+ export interface SubdividePathOptions {
34
+ /**
35
+ * Number of pieces produced from each drawable path segment. See {@link SubdividePathOptions}.
36
+ */
37
+ readonly divisions: number;
38
+ /** Upper bound on the number of output path segments. See {@link SubdividePathOptions}. */
39
+ readonly maxSegments?: number;
40
+ }
41
+ /**
42
+ * Returns independent geometry with curves approximated by line segments within the requested
43
+ * tolerance.
44
+ *
45
+ * @param path - Source geometry; it is not modified. See {@link PathGeometry}.
46
+ * @param options - Maximum approximation error and flattening work limits. See
47
+ * {@link FlattenPathOptions} .
48
+ * @returns Independent geometry with curves replaced by line segments. See {@link PathGeometry}.
49
+ *
50
+ * @see {@link PathGeometry}
51
+ * @see {@link FlattenPathOptions}
52
+ */
53
+ export declare function flattenPath(path: PathGeometry, options: Readonly<FlattenPathOptions>): PathGeometry;
54
+ /**
55
+ * Returns independent geometry with each drawable segment split into the requested number of
56
+ * pieces.
57
+ *
58
+ * @param path - Source geometry; it is not modified. See {@link PathGeometry}.
59
+ * @param options - Subdivision length and work limits. See {@link SubdividePathOptions}.
60
+ * @returns Independent geometry with segments split according to the requested limits. See
61
+ * {@link PathGeometry} .
62
+ *
63
+ * @see {@link PathGeometry}
64
+ * @see {@link SubdividePathOptions}
65
+ */
66
+ export declare function subdividePath(path: PathGeometry, options: Readonly<SubdividePathOptions>): PathGeometry;
67
+ /**
68
+ * Returns independent polyline geometry with redundant points removed within the requested
69
+ * tolerance.
70
+ *
71
+ * @param path - Source geometry; it is not modified. See {@link PathGeometry}.
72
+ * @param options - Simplification tolerance and work limits. See {@link SimplifyPathOptions}.
73
+ * @returns Independent geometry with redundant line vertices removed. See {@link PathGeometry}.
74
+ *
75
+ * @see {@link PathGeometry}
76
+ * @see {@link SimplifyPathOptions}
77
+ */
78
+ export declare function simplifyPath(path: PathGeometry, options: Readonly<SimplifyPathOptions>): PathGeometry;