@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,202 @@
1
+ import { PathGeometry } from "./path-geometry.js";
2
+ import { TAU } from "./path-arc.js";
3
+ import { bendSpanBounds, bendSpanPoint, bendSpans, splitBendSpan } from "./path-bend-spans.js";
4
+ import { measureBendGuide, prepareBendGuide } from "./path-bend-guide.js";
5
+ const MAX_WORK = 2e6;
6
+ const MAX_DEPTH = 52;
7
+ function bendPathAlongArc(source, options) {
8
+ if (!(source instanceof PathGeometry)) throw new TypeError("source must be a PathGeometry.");
9
+ object(options, "options");
10
+ const input = options.arc;
11
+ object(input, "arc");
12
+ const startAngle = finite(input.startAngle, "arc.startAngle");
13
+ const arc = {
14
+ cx: finite(input.cx, "arc.cx"),
15
+ cy: finite(input.cy, "arc.cy"),
16
+ radius: positive(input.radius, "arc.radius"),
17
+ startAngle: startAngle % TAU,
18
+ sweep: finite(input.sweep, "arc.sweep")
19
+ };
20
+ if (!arc.sweep || Math.abs(arc.sweep) > TAU) throw new RangeError("arc.sweep must be nonzero and at most one revolution.");
21
+ const p = placement(options, positive(arc.radius * Math.abs(arc.sweep), "guide length"));
22
+ if (p.overflow === "wrap" && Math.abs(arc.sweep) !== TAU) throw new RangeError("wrap requires a closed guide.");
23
+ const direction = Math.sign(arc.sweep);
24
+ const distance = (x) => p.shift + p.scale * (x - p.x);
25
+ const displacement = (y) => y - p.baseline + p.normal;
26
+ const map = ([x, y]) => {
27
+ const s = finite(distance(x), "mapped guide distance"), d = finite(displacement(y), "normal displacement");
28
+ if (p.overflow === "error" && (s < 0 || s > p.length)) throw new RangeError("Source geometry extends beyond the guide.");
29
+ const onGuide = p.overflow === "extend" ? Math.max(0, Math.min(p.length, s)) : s;
30
+ const theta = arc.startAngle + direction * (onGuide / arc.radius % TAU);
31
+ const cos = Math.cos(theta), sin = Math.sin(theta);
32
+ const radial = arc.radius - direction * d, extension = s - onGuide;
33
+ checkPrecision(Math.max(Math.abs(startAngle), Math.abs(onGuide / arc.radius)) * Math.max(Math.abs(radial), Math.abs(extension)), p.tolerance);
34
+ return [
35
+ finite(arc.cx + radial * cos - direction * extension * sin, "bent x"),
36
+ finite(arc.cy + radial * sin + direction * extension * cos, "bent y")
37
+ ];
38
+ };
39
+ const bound = (b) => {
40
+ const low = distance(b.xmin), high = distance(b.xmax);
41
+ if (p.overflow === "error" && (low < 0 || high > p.length)) return Infinity;
42
+ const d = Math.max(Math.abs(displacement(b.ymin)), Math.abs(displacement(b.ymax)));
43
+ const dx = p.scale * b.dx, ddx = p.scale * b.ddx;
44
+ if (p.overflow === "extend") {
45
+ if (high <= 0 || low >= p.length) return Math.hypot(ddx, b.ddy) / 8;
46
+ if (low < 0 || high > p.length) return (b.dy + (1 + d / arc.radius) * dx) / 2;
47
+ }
48
+ const theta1 = dx / arc.radius, theta2 = ddx / arc.radius;
49
+ const radial = Math.max(Math.abs(arc.radius - direction * displacement(b.ymin)), Math.abs(arc.radius - direction * displacement(b.ymax)));
50
+ return (b.ddy + 2 * b.dy * theta1 + radial * (theta1 * theta1 + theta2)) / 8;
51
+ };
52
+ const scale = Math.max(Math.abs(arc.cx), Math.abs(arc.cy), arc.radius, p.length);
53
+ return approximate(source, p, map, bound, scale);
54
+ }
55
+ function bendPathAlongPath(source, guide, options) {
56
+ if (!(source instanceof PathGeometry) || !(guide instanceof PathGeometry)) throw new TypeError("source and guide must be PathGeometry values.");
57
+ object(options, "options");
58
+ const input = placement(options, 1);
59
+ const prepared = prepareBendGuide(guide);
60
+ if (input.overflow === "wrap" && !prepared.closed) throw new RangeError("wrap requires an explicitly closed guide.");
61
+ let xmin = Infinity, xmax = -Infinity, displacement = 0;
62
+ const normalDistance = (y) => y - input.baseline + input.normal;
63
+ for (const item of bendSpans(source)) {
64
+ if (item.type === "close") continue;
65
+ const b = item.type === "move" ? { xmin: item.point[0], xmax: item.point[0], ymin: item.point[1], ymax: item.point[1] } : bendSpanBounds(item.span);
66
+ xmin = Math.min(xmin, b.xmin);
67
+ xmax = Math.max(xmax, b.xmax);
68
+ displacement = Math.max(displacement, Math.abs(normalDistance(b.ymin)), Math.abs(normalDistance(b.ymax)));
69
+ }
70
+ if (xmin === Infinity) xmin = xmax = input.x;
71
+ finite(displacement, "normal displacement");
72
+ const atLength = (length) => {
73
+ const scale = input.fit === "stretch" ? positive(length / input.width, "fit scale") : 1;
74
+ return { ...input, length, scale, shift: input.anchor * (length - scale * input.width) + input.offset };
75
+ };
76
+ const distance = (p2, x) => p2.shift + p2.scale * (x - p2.x);
77
+ const measured = measureBendGuide(prepared, input.tolerance, displacement, (length) => {
78
+ const p2 = atLength(length);
79
+ const sensitivity = input.fit === "stretch" ? Math.max(Math.abs((xmin - input.x) / input.width), Math.abs((xmax - input.x) / input.width)) : input.anchor;
80
+ const laps = input.overflow === "wrap" ? Math.ceil(Math.max(Math.abs(distance(p2, xmin)), Math.abs(distance(p2, xmax))) / length) : 0;
81
+ return finite(2 + sensitivity + laps, "guide distance sensitivity");
82
+ });
83
+ const p = atLength(measured.length), upper = atLength(measured.length + measured.uncertainty);
84
+ const wrap = p.overflow === "wrap";
85
+ const rangeCertified = (x) => {
86
+ const d = distance(p, x), u = distance(upper, x);
87
+ const roundoff = Number.EPSILON * 64 * Math.max(Math.abs(d), Math.abs(u), p.length);
88
+ return Math.min(d, u) >= -roundoff && Math.min(p.length - d, upper.length - u) >= -roundoff;
89
+ };
90
+ const map = ([x, y]) => {
91
+ if (p.overflow === "error" && !rangeCertified(x)) throw new RangeError("Source geometry exceeds the guide or its range cannot be certified.");
92
+ const field = measured.field(distance(p, x), wrap), d = normalDistance(y);
93
+ return [finite(field.point[0] + d * field.normal[0], "bent x"), finite(field.point[1] + d * field.normal[1], "bent y")];
94
+ };
95
+ const bound = (b, span) => {
96
+ if (p.overflow === "error" && (!rangeCertified(b.xmin) || !rangeCertified(b.xmax))) return Infinity;
97
+ const s0 = distance(p, bendSpanPoint(span, 0)[0]), s1 = distance(p, bendSpanPoint(span, 1)[0]);
98
+ const d = Math.max(Math.abs(normalDistance(b.ymin)), Math.abs(normalDistance(b.ymax)));
99
+ return measured.chordError(distance(p, b.xmin), distance(p, b.xmax), s0, s1, d, p.scale * b.dx, p.scale * b.ddx, b.dy, b.ddy, wrap);
100
+ };
101
+ return approximate(source, p, map, bound, Math.max(prepared.scale, p.length));
102
+ }
103
+ function approximate(source, p, map, bound, scale) {
104
+ const output = [];
105
+ let work = 0;
106
+ const add = (segment) => {
107
+ if (output.length >= p.maxSegments) throw new RangeError("Path bending exceeds maxSegments.");
108
+ output.push(segment);
109
+ };
110
+ for (const item of bendSpans(source)) {
111
+ if (item.type === "move") {
112
+ const [x, y] = map(item.point);
113
+ checkPrecision(Math.max(scale, Math.abs(x), Math.abs(y), ...item.point.map(Math.abs)), p.tolerance);
114
+ add({ type: "move", x, y });
115
+ } else if (item.type === "close") {
116
+ add({ type: "close" });
117
+ } else {
118
+ const stack = [[item.span, 0]];
119
+ while (stack.length) {
120
+ if (++work > MAX_WORK) throw new RangeError("Path bending exceeded its work budget.");
121
+ const [span, depth] = stack.pop();
122
+ const b = bendSpanBounds(span);
123
+ const end = map(bendSpanPoint(span, 1));
124
+ map(bendSpanPoint(span, 0));
125
+ const roundoff = checkPrecision(Math.max(scale, Math.abs(b.xmin), Math.abs(b.xmax), Math.abs(b.ymin), Math.abs(b.ymax), ...end.map(Math.abs)), p.tolerance);
126
+ const error = bound(b, span);
127
+ if (Number.isFinite(error) && error + roundoff <= p.tolerance) {
128
+ add({ type: "line", x: end[0], y: end[1] });
129
+ continue;
130
+ }
131
+ if (depth >= MAX_DEPTH) throw new RangeError("Path bending cannot certify tolerance or guide range due to numerical nonprogress.");
132
+ const [left, right] = splitBendSpan(span);
133
+ stack.push([right, depth + 1], [left, depth + 1]);
134
+ }
135
+ }
136
+ }
137
+ const result = new PathGeometry();
138
+ if (output.length) result.spliceSegments(0, 0, output);
139
+ return result;
140
+ }
141
+ function placement(options, length) {
142
+ const frame = options.source;
143
+ object(frame, "source frame");
144
+ const x = finite(frame.x, "source.x"), y = finite(frame.y, "source.y");
145
+ const width = positive(frame.width, "source.width"), height = finite(frame.height, "source.height");
146
+ if (height < 0) throw new RangeError("source.height must be nonnegative.");
147
+ const align = option(options.align, ["start", "center", "end"], "start", "align");
148
+ const fit = option(options.fit, ["none", "stretch"], "none", "fit");
149
+ const overflow = option(options.overflow, ["error", "extend", "wrap"], "error", "overflow");
150
+ const rawBaseline = options.baseline;
151
+ const inputBaseline = rawBaseline === void 0 ? "center" : rawBaseline;
152
+ const baseline = typeof inputBaseline === "number" ? finite(inputBaseline, "baseline") : y + height * { top: 0, center: 0.5, bottom: 1 }[option(inputBaseline, ["top", "center", "bottom"], "center", "baseline")];
153
+ const scale = fit === "stretch" ? positive(length / width, "fit scale") : 1;
154
+ const rawOffset = options.offset, rawNormal = options.normalOffset, rawMaxSegments = options.maxSegments;
155
+ const anchor = { start: 0, center: 0.5, end: 1 }[align], offset = finite(rawOffset === void 0 ? 0 : rawOffset, "offset");
156
+ const shift = finite(anchor * (length - scale * width) + offset, "alignment");
157
+ const maxSegments = rawMaxSegments === void 0 ? 1e6 : rawMaxSegments;
158
+ if (!Number.isSafeInteger(maxSegments) || maxSegments <= 0) throw new RangeError("maxSegments must be a positive safe integer.");
159
+ return {
160
+ x,
161
+ width,
162
+ fit,
163
+ anchor,
164
+ offset,
165
+ baseline: finite(baseline, "resolved baseline"),
166
+ normal: finite(rawNormal === void 0 ? 0 : rawNormal, "normalOffset"),
167
+ shift,
168
+ scale,
169
+ length,
170
+ tolerance: positive(options.tolerance, "tolerance"),
171
+ maxSegments,
172
+ overflow
173
+ };
174
+ }
175
+ function checkPrecision(scale, tolerance) {
176
+ const roundoff = scale * Number.EPSILON * 64;
177
+ if (!Number.isFinite(roundoff) || roundoff >= tolerance / 4) throw new RangeError("Path bending cannot certify tolerance at this coordinate scale.");
178
+ return roundoff;
179
+ }
180
+ function object(value, name) {
181
+ if (value === null || typeof value !== "object") throw new TypeError(`${name} must be an object.`);
182
+ }
183
+ function finite(value, name) {
184
+ if (typeof value !== "number") throw new TypeError(`${name} must be a number.`);
185
+ if (!Number.isFinite(value)) throw new RangeError(`${name} must be finite.`);
186
+ return value;
187
+ }
188
+ function positive(value, name) {
189
+ finite(value, name);
190
+ if (value <= 0) throw new RangeError(`${name} must be positive.`);
191
+ return value;
192
+ }
193
+ function option(value, allowed, fallback, name) {
194
+ const resolved = value === void 0 ? fallback : value;
195
+ if (!allowed.includes(resolved)) throw new TypeError(`Invalid path bending ${name}.`);
196
+ return resolved;
197
+ }
198
+ export {
199
+ bendPathAlongArc,
200
+ bendPathAlongPath
201
+ };
202
+ //# sourceMappingURL=path-bending.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/lib/geometry/path-bending.ts"],
4
+ "sourcesContent": ["import type { ArcBendTransformOptions, BendTransformOptions } from './transform-bend.js';\nimport { PathGeometry, type PathSegment } from './path-geometry.js';\nimport { TAU } from './path-arc.js';\nimport { bendSpanBounds, bendSpanPoint, bendSpans, splitBendSpan, type BendBounds, type BendPoint, type BendSpan } from './path-bend-spans.js';\nimport { measureBendGuide, prepareBendGuide } from './path-bend-guide.js';\n\nexport interface PathBendFrame {\n readonly x: number; readonly y: number; readonly width: number; readonly height: number;\n}\n/**\n * Circular guide geometry used when bending a path along an arc.\n *\n * @see {@link ArcBendTransformOptions}\n */\nexport interface PathBendArc {\n /** Horizontal coordinate of the center. See {@link PathBendArc}. */\n readonly cx: number;\n /** Vertical coordinate of the center. See {@link PathBendArc}. */\n readonly cy: number;\n /** Radius in the coordinate system of this geometry or effect. See {@link PathBendArc}. */\n readonly radius: number;\n /** Angle at which the arc or slice begins. See {@link PathBendArc}. */\n readonly startAngle: number;\n /** Angular extent of the arc. See {@link PathBendArc}. */\n readonly sweep: number;\n}\n/**\n * Placement of the source along the beginning, center, or end of a bending guide.\n *\n * @see {@link BendTransformOptions}\n */\nexport type PathBendAlign = 'start' | 'center' | 'end';\n/**\n * The source baseline used for bending: an edge, center, or explicit coordinate.\n *\n * @see {@link BendTransformOptions}\n */\nexport type PathBendBaseline = 'center' | 'top' | 'bottom' | number;\n/**\n * Whether bending preserves source length or stretches it to the guide.\n *\n * @see {@link BendTransformOptions}\n */\nexport type PathBendFit = 'none' | 'stretch';\n/**\n * Policy for source geometry extending beyond a bending guide.\n *\n * @see {@link BendTransformOptions}\n */\nexport type PathBendOverflow = 'error' | 'extend' | 'wrap';\n/**\n * Source bounds, guide alignment, baseline, fitting, overflow, and approximation limits for path bending.\n *\n * @see {@link PathBendAlign}\n * @see {@link PathBendBaseline}\n * @see {@link PathBendFit}\n * @see {@link PathBendOverflow}\n */\nexport interface PathBendOptions {\n /**\n * Source coordinate frame used to normalize the geometry before bending. See\n * {@link PathBendFrame}.\n */\n readonly source: PathBendFrame;\n /** Placement of the source length along the guide. See {@link PathBendAlign}. */\n readonly align?: PathBendAlign;\n /** Source baseline mapped onto the guide. See {@link PathBendBaseline}. */\n readonly baseline?: PathBendBaseline;\n /** Policy for fitting content within its available box. See {@link PathBendFit}. */\n readonly fit?: PathBendFit;\n /** Offset along the guide. See {@link PathBendOptions}. */\n readonly offset?: number;\n /** Offset perpendicular to the guide. See {@link PathBendOptions}. */\n readonly normalOffset?: number;\n /**\n * Policy for geometry extending beyond the guide's available length. See\n * {@link PathBendOverflow}.\n */\n readonly overflow?: PathBendOverflow;\n /** Positive maximum geometric approximation error. See {@link PathBendOptions}. */\n readonly tolerance: number;\n /** Upper bound on the number of output path segments. See {@link PathBendOptions}. */\n readonly maxSegments?: number;\n}\nexport interface BendPathAlongArcOptions extends PathBendOptions { readonly arc: PathBendArc }\n\n// Work limits bound failed certification attempts, not just successful output.\nconst MAX_WORK = 2_000_000;\nconst MAX_DEPTH = 52;\ninterface Placement {\n readonly x: number; readonly baseline: number; readonly normal: number;\n readonly shift: number; readonly scale: number; readonly length: number;\n readonly tolerance: number; readonly maxSegments: number; readonly overflow: PathBendOverflow;\n readonly width: number; readonly fit: PathBendFit; readonly anchor: number; readonly offset: number;\n}\n\n/** Bends continuous geometry along an analytic circle; returns independent line geometry. */\nexport function bendPathAlongArc(source: PathGeometry, options: Readonly<BendPathAlongArcOptions>): PathGeometry {\n if (!(source instanceof PathGeometry)) throw new TypeError('source must be a PathGeometry.');\n object(options, 'options');\n const input = options.arc;\n object(input, 'arc');\n const startAngle = finite(input.startAngle, 'arc.startAngle');\n const arc: PathBendArc = {\n cx: finite(input.cx, 'arc.cx'), cy: finite(input.cy, 'arc.cy'),\n radius: positive(input.radius, 'arc.radius'), startAngle: startAngle % TAU,\n sweep: finite(input.sweep, 'arc.sweep'),\n };\n if (!arc.sweep || Math.abs(arc.sweep) > TAU) throw new RangeError('arc.sweep must be nonzero and at most one revolution.');\n const p = placement(options, positive(arc.radius * Math.abs(arc.sweep), 'guide length'));\n if (p.overflow === 'wrap' && Math.abs(arc.sweep) !== TAU) throw new RangeError('wrap requires a closed guide.');\n const direction = Math.sign(arc.sweep);\n const distance = (x: number) => p.shift + p.scale * (x - p.x);\n const displacement = (y: number) => y - p.baseline + p.normal;\n const map = ([x, y]: BendPoint): BendPoint => {\n const s = finite(distance(x), 'mapped guide distance'), d = finite(displacement(y), 'normal displacement');\n if (p.overflow === 'error' && (s < 0 || s > p.length)) throw new RangeError('Source geometry extends beyond the guide.');\n const onGuide = p.overflow === 'extend' ? Math.max(0, Math.min(p.length, s)) : s;\n const theta = arc.startAngle + direction * ((onGuide / arc.radius) % TAU);\n const cos = Math.cos(theta), sin = Math.sin(theta);\n const radial = arc.radius - direction * d, extension = s - onGuide;\n // Division/modulo can lose the phase of enormous unwrapped angles. Its\n // output effect scales with the displaced radius (not just the guide radius).\n checkPrecision(Math.max(Math.abs(startAngle), Math.abs(onGuide / arc.radius)) * Math.max(Math.abs(radial), Math.abs(extension)), p.tolerance);\n return [\n finite(arc.cx + radial * cos - direction * extension * sin, 'bent x'),\n finite(arc.cy + radial * sin + direction * extension * cos, 'bent y'),\n ];\n };\n const bound = (b: BendBounds): number => {\n const low = distance(b.xmin), high = distance(b.xmax);\n if (p.overflow === 'error' && (low < 0 || high > p.length)) return Infinity;\n const d = Math.max(Math.abs(displacement(b.ymin)), Math.abs(displacement(b.ymax)));\n const dx = p.scale * b.dx, ddx = p.scale * b.ddx;\n if (p.overflow === 'extend') {\n if (high <= 0 || low >= p.length) return Math.hypot(ddx, b.ddy) / 8;\n // The normal is continuous at extension boundaries, but the derivative\n // may jump. A Lipschitz bound remains valid across the boundary.\n if (low < 0 || high > p.length) return (b.dy + (1 + d / arc.radius) * dx) / 2;\n }\n const theta1 = dx / arc.radius, theta2 = ddx / arc.radius;\n const radial = Math.max(Math.abs(arc.radius - direction * displacement(b.ymin)), Math.abs(arc.radius - direction * displacement(b.ymax)));\n // For F = center + rho * unit(theta), ||F''|| <= |rho''|\n // + 2|rho'||theta'| + |rho|(|theta'|\u00B2 + |theta''|).\n // Linear interpolation on [0,1] has error at most sup ||F''|| / 8.\n return (b.ddy + 2 * b.dy * theta1 + radial * (theta1 * theta1 + theta2)) / 8;\n };\n const scale = Math.max(Math.abs(arc.cx), Math.abs(arc.cy), arc.radius, p.length);\n return approximate(source, p, map, bound, scale);\n}\n\n/** Bends geometry by distance along one smooth guide contour. */\nexport function bendPathAlongPath(source: PathGeometry, guide: PathGeometry, options: Readonly<PathBendOptions>): PathGeometry {\n if (!(source instanceof PathGeometry) || !(guide instanceof PathGeometry)) throw new TypeError('source and guide must be PathGeometry values.');\n object(options, 'options');\n const input = placement(options, 1); // Snapshot options once; guide measurement supplies length later.\n const prepared = prepareBendGuide(guide);\n if (input.overflow === 'wrap' && !prepared.closed) throw new RangeError('wrap requires an explicitly closed guide.');\n let xmin = Infinity, xmax = -Infinity, displacement = 0;\n const normalDistance = (y: number) => y - input.baseline + input.normal;\n for (const item of bendSpans(source)) {\n if (item.type === 'close') continue;\n const b = item.type === 'move' ? { xmin: item.point[0], xmax: item.point[0], ymin: item.point[1], ymax: item.point[1] } : bendSpanBounds(item.span);\n xmin = Math.min(xmin, b.xmin); xmax = Math.max(xmax, b.xmax);\n displacement = Math.max(displacement, Math.abs(normalDistance(b.ymin)), Math.abs(normalDistance(b.ymax)));\n }\n if (xmin === Infinity) xmin = xmax = input.x;\n finite(displacement, 'normal displacement');\n const atLength = (length: number): Placement => {\n const scale = input.fit === 'stretch' ? positive(length / input.width, 'fit scale') : 1;\n return { ...input, length, scale, shift: input.anchor * (length - scale * input.width) + input.offset };\n };\n const distance = (p: Placement, x: number) => p.shift + p.scale * (x - p.x);\n const measured = measureBendGuide(prepared, input.tolerance, displacement, length => {\n const p = atLength(length);\n const sensitivity = input.fit === 'stretch' ? Math.max(Math.abs((xmin - input.x) / input.width), Math.abs((xmax - input.x) / input.width)) : input.anchor;\n const laps = input.overflow === 'wrap' ? Math.ceil(Math.max(Math.abs(distance(p, xmin)), Math.abs(distance(p, xmax))) / length) : 0;\n return finite(2 + sensitivity + laps, 'guide distance sensitivity');\n });\n const p = atLength(measured.length), upper = atLength(measured.length + measured.uncertainty);\n const wrap = p.overflow === 'wrap';\n const rangeCertified = (x: number) => {\n const d = distance(p, x), u = distance(upper, x);\n const roundoff = Number.EPSILON * 64 * Math.max(Math.abs(d), Math.abs(u), p.length);\n return Math.min(d, u) >= -roundoff && Math.min(p.length - d, upper.length - u) >= -roundoff;\n };\n const map = ([x, y]: BendPoint): BendPoint => {\n if (p.overflow === 'error' && !rangeCertified(x)) throw new RangeError('Source geometry exceeds the guide or its range cannot be certified.');\n const field = measured.field(distance(p, x), wrap), d = normalDistance(y);\n return [finite(field.point[0] + d * field.normal[0], 'bent x'), finite(field.point[1] + d * field.normal[1], 'bent y')];\n };\n const bound = (b: BendBounds, span: BendSpan): number => {\n if (p.overflow === 'error' && (!rangeCertified(b.xmin) || !rangeCertified(b.xmax))) return Infinity;\n const s0 = distance(p, bendSpanPoint(span, 0)[0]), s1 = distance(p, bendSpanPoint(span, 1)[0]);\n const d = Math.max(Math.abs(normalDistance(b.ymin)), Math.abs(normalDistance(b.ymax)));\n return measured.chordError(distance(p, b.xmin), distance(p, b.xmax), s0, s1, d, p.scale * b.dx, p.scale * b.ddx, b.dy, b.ddy, wrap);\n };\n return approximate(source, p, map, bound, Math.max(prepared.scale, p.length));\n}\n\nfunction approximate(source: PathGeometry, p: Placement, map: (point: BendPoint) => BendPoint, bound: (bounds: BendBounds, span: BendSpan) => number, scale: number): PathGeometry {\n const output: PathSegment[] = [];\n let work = 0;\n const add = (segment: PathSegment) => {\n if (output.length >= p.maxSegments) throw new RangeError('Path bending exceeds maxSegments.');\n output.push(segment);\n };\n for (const item of bendSpans(source)) {\n if (item.type === 'move') {\n const [x, y] = map(item.point);\n checkPrecision(Math.max(scale, Math.abs(x), Math.abs(y), ...item.point.map(Math.abs)), p.tolerance);\n add({ type: 'move', x, y });\n } else if (item.type === 'close') {\n add({ type: 'close' });\n } else {\n const stack: Array<readonly [BendSpan, number]> = [[item.span, 0]];\n while (stack.length) {\n if (++work > MAX_WORK) throw new RangeError('Path bending exceeded its work budget.');\n const [span, depth] = stack.pop()!;\n const b = bendSpanBounds(span);\n const end = map(bendSpanPoint(span, 1));\n map(bendSpanPoint(span, 0));\n const roundoff = checkPrecision(Math.max(scale, Math.abs(b.xmin), Math.abs(b.xmax), Math.abs(b.ymin), Math.abs(b.ymax), ...end.map(Math.abs)), p.tolerance);\n const error = bound(b, span);\n if (Number.isFinite(error) && error + roundoff <= p.tolerance) {\n add({ type: 'line', x: end[0], y: end[1] });\n continue;\n }\n if (depth >= MAX_DEPTH) throw new RangeError('Path bending cannot certify tolerance or guide range due to numerical nonprogress.');\n const [left, right] = splitBendSpan(span);\n stack.push([right, depth + 1], [left, depth + 1]);\n }\n }\n }\n const result = new PathGeometry();\n if (output.length) result.spliceSegments(0, 0, output);\n return result;\n}\n\nfunction placement(options: Readonly<PathBendOptions>, length: number): Placement {\n const frame = options.source;\n object(frame, 'source frame');\n const x = finite(frame.x, 'source.x'), y = finite(frame.y, 'source.y');\n const width = positive(frame.width, 'source.width'), height = finite(frame.height, 'source.height');\n if (height < 0) throw new RangeError('source.height must be nonnegative.');\n const align = option(options.align, ['start', 'center', 'end'], 'start', 'align');\n const fit = option(options.fit, ['none', 'stretch'], 'none', 'fit');\n const overflow = option(options.overflow, ['error', 'extend', 'wrap'], 'error', 'overflow');\n const rawBaseline = options.baseline;\n const inputBaseline = rawBaseline === undefined ? 'center' : rawBaseline;\n const baseline = typeof inputBaseline === 'number' ? finite(inputBaseline, 'baseline')\n : y + height * ({ top: 0, center: 0.5, bottom: 1 }[option(inputBaseline, ['top', 'center', 'bottom'], 'center', 'baseline')]);\n const scale = fit === 'stretch' ? positive(length / width, 'fit scale') : 1;\n const rawOffset = options.offset, rawNormal = options.normalOffset, rawMaxSegments = options.maxSegments;\n const anchor = { start: 0, center: 0.5, end: 1 }[align], offset = finite(rawOffset === undefined ? 0 : rawOffset, 'offset');\n const shift = finite(anchor * (length - scale * width) + offset, 'alignment');\n const maxSegments = rawMaxSegments === undefined ? 1_000_000 : rawMaxSegments;\n if (!Number.isSafeInteger(maxSegments) || maxSegments <= 0) throw new RangeError('maxSegments must be a positive safe integer.');\n return {\n x, width, fit, anchor, offset, baseline: finite(baseline, 'resolved baseline'), normal: finite(rawNormal === undefined ? 0 : rawNormal, 'normalOffset'),\n shift, scale, length, tolerance: positive(options.tolerance, 'tolerance'), maxSegments, overflow,\n };\n}\nfunction checkPrecision(scale: number, tolerance: number): number {\n const roundoff = scale * Number.EPSILON * 64;\n if (!Number.isFinite(roundoff) || roundoff >= tolerance / 4) throw new RangeError('Path bending cannot certify tolerance at this coordinate scale.');\n return roundoff;\n}\nfunction object(value: unknown, name: string): asserts value is Record<string, unknown> {\n if (value === null || typeof value !== 'object') throw new TypeError(`${name} must be an object.`);\n}\nfunction finite(value: number, name: string): number {\n if (typeof value !== 'number') throw new TypeError(`${name} must be a number.`);\n if (!Number.isFinite(value)) throw new RangeError(`${name} must be finite.`);\n return value;\n}\nfunction positive(value: number, name: string): number {\n finite(value, name);\n if (value <= 0) throw new RangeError(`${name} must be positive.`);\n return value;\n}\nfunction option<T extends string>(value: T | undefined, allowed: readonly T[], fallback: T, name: string): T {\n const resolved = value === undefined ? fallback : value;\n if (!allowed.includes(resolved)) throw new TypeError(`Invalid path bending ${name}.`);\n return resolved;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["p"]
7
+ }
@@ -0,0 +1,19 @@
1
+ import { PathGeometry } from './path-geometry.js';
2
+ /**
3
+ * Creates a fresh caller-owned native snapshot; never returns a shared cache.
4
+ *
5
+ * @param geometry - Pibbl geometry to convert. See {@link PathGeometry}.
6
+ * @returns A native Canvas path representing the geometry.
7
+ *
8
+ * @see {@link PathGeometry}
9
+ */
10
+ export declare function toPath2D(geometry: PathGeometry): Path2D;
11
+ /**
12
+ * Serializes independent absolute SVG path data without implicit rounding.
13
+ *
14
+ * @param geometry - Pibbl geometry to serialize. See {@link PathGeometry}.
15
+ * @returns SVG path data representing the geometry.
16
+ *
17
+ * @see {@link PathGeometry}
18
+ */
19
+ export declare function toSvgPathData(geometry: PathGeometry): string;
@@ -0,0 +1,114 @@
1
+ import { arcPoint, ellipseParameters, singularArcPoints } from "./path-arc.js";
2
+ import { visitPathGeometry } from "./path-geometry.js";
3
+ function toPath2D(geometry) {
4
+ const path = new Path2D();
5
+ visitPathGeometry(geometry, (type, data, i) => {
6
+ switch (type) {
7
+ case 0:
8
+ path.moveTo(data[i], data[i + 1]);
9
+ break;
10
+ case 1:
11
+ path.lineTo(data[i], data[i + 1]);
12
+ break;
13
+ case 2:
14
+ path.quadraticCurveTo(data[i], data[i + 1], data[i + 2], data[i + 3]);
15
+ break;
16
+ case 3:
17
+ path.bezierCurveTo(data[i], data[i + 1], data[i + 2], data[i + 3], data[i + 4], data[i + 5]);
18
+ break;
19
+ case 4:
20
+ path.closePath();
21
+ break;
22
+ case 5: {
23
+ const arc = readArc(data, i);
24
+ const ellipse = ellipseParameters(arc);
25
+ if (ellipse) {
26
+ path.ellipse(
27
+ arc.cx,
28
+ arc.cy,
29
+ ellipse.radiusX,
30
+ ellipse.radiusY,
31
+ ellipse.rotation,
32
+ ellipse.start,
33
+ ellipse.start + ellipse.sweep,
34
+ ellipse.sweep < 0
35
+ );
36
+ } else {
37
+ const start = arcPoint(arc, arc.startAngle);
38
+ path.lineTo(start[0], start[1]);
39
+ for (const [x, y] of singularArcPoints(arc)) path.lineTo(x, y);
40
+ }
41
+ break;
42
+ }
43
+ }
44
+ });
45
+ return path;
46
+ }
47
+ function toSvgPathData(geometry) {
48
+ const parts = [];
49
+ const commands = ["M", "L", "Q", "C", "Z"];
50
+ const widths = [2, 2, 4, 6, 0];
51
+ let currentX = 0, currentY = 0, startX = 0, startY = 0;
52
+ visitPathGeometry(geometry, (type, data, i) => {
53
+ if (type === 5) {
54
+ const arc = readArc(data, i);
55
+ const arcStart = arcPoint(arc, arc.startAngle);
56
+ if (currentX !== arcStart[0] || currentY !== arcStart[1]) {
57
+ parts.push("L", String(arcStart[0]), String(arcStart[1]));
58
+ }
59
+ [currentX, currentY] = arcPoint(arc, arc.startAngle + arc.sweep);
60
+ const ellipse = ellipseParameters(arc);
61
+ if (!ellipse) {
62
+ for (const [x, y] of singularArcPoints(arc)) parts.push("L", String(x), String(y));
63
+ } else if (arc.sweep !== 0) {
64
+ const count = Math.ceil(Math.abs(arc.sweep) / Math.PI);
65
+ for (let step = 1; step <= count; step++) {
66
+ const [x, y] = arcPoint(arc, arc.startAngle + arc.sweep * step / count);
67
+ parts.push(
68
+ "A",
69
+ String(ellipse.radiusX),
70
+ String(ellipse.radiusY),
71
+ String(ellipse.rotation * 180 / Math.PI),
72
+ "0",
73
+ ellipse.sweep < 0 ? "0" : "1",
74
+ String(x),
75
+ String(y)
76
+ );
77
+ }
78
+ }
79
+ return;
80
+ }
81
+ parts.push(commands[type]);
82
+ for (let j = 0; j < widths[type]; j++) parts.push(String(data[i + j]));
83
+ if (type === 4) {
84
+ currentX = startX;
85
+ currentY = startY;
86
+ } else {
87
+ currentX = data[i + widths[type] - 2];
88
+ currentY = data[i + widths[type] - 1];
89
+ if (type === 0) {
90
+ startX = currentX;
91
+ startY = currentY;
92
+ }
93
+ }
94
+ });
95
+ return parts.join(" ");
96
+ }
97
+ function readArc(data, i) {
98
+ return {
99
+ type: "arc",
100
+ cx: data[i],
101
+ cy: data[i + 1],
102
+ ux: data[i + 2],
103
+ uy: data[i + 3],
104
+ vx: data[i + 4],
105
+ vy: data[i + 5],
106
+ startAngle: data[i + 6],
107
+ sweep: data[i + 7]
108
+ };
109
+ }
110
+ export {
111
+ toPath2D,
112
+ toSvgPathData
113
+ };
114
+ //# sourceMappingURL=path-conversion.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/lib/geometry/path-conversion.ts"],
4
+ "sourcesContent": ["import { arcPoint, ellipseParameters, singularArcPoints, type ArcSegment } from './path-arc.js';\nimport { PathGeometry, visitPathGeometry } from './path-geometry.js';\n\n/**\n * Creates a fresh caller-owned native snapshot; never returns a shared cache.\n *\n * @param geometry - Pibbl geometry to convert. See {@link PathGeometry}.\n * @returns A native Canvas path representing the geometry.\n *\n * @see {@link PathGeometry}\n */\nexport function toPath2D(geometry: PathGeometry): Path2D {\n const path = new Path2D();\n visitPathGeometry(geometry, (type, data, i) => {\n switch (type) {\n case 0: path.moveTo(data[i], data[i + 1]); break;\n case 1: path.lineTo(data[i], data[i + 1]); break;\n case 2: path.quadraticCurveTo(data[i], data[i + 1], data[i + 2], data[i + 3]); break;\n case 3: path.bezierCurveTo(data[i], data[i + 1], data[i + 2], data[i + 3], data[i + 4], data[i + 5]); break;\n case 4: path.closePath(); break;\n case 5: {\n const arc = readArc(data, i);\n const ellipse = ellipseParameters(arc);\n if (ellipse) {\n path.ellipse(arc.cx, arc.cy, ellipse.radiusX, ellipse.radiusY, ellipse.rotation,\n ellipse.start, ellipse.start + ellipse.sweep, ellipse.sweep < 0);\n } else {\n const start = arcPoint(arc, arc.startAngle);\n path.lineTo(start[0], start[1]);\n for (const [x, y] of singularArcPoints(arc)) path.lineTo(x, y);\n }\n break;\n }\n }\n });\n return path;\n}\n\n/**\n * Serializes independent absolute SVG path data without implicit rounding.\n *\n * @param geometry - Pibbl geometry to serialize. See {@link PathGeometry}.\n * @returns SVG path data representing the geometry.\n *\n * @see {@link PathGeometry}\n */\nexport function toSvgPathData(geometry: PathGeometry): string {\n const parts: string[] = [];\n const commands = ['M', 'L', 'Q', 'C', 'Z'];\n const widths = [2, 2, 4, 6, 0];\n let currentX = 0, currentY = 0, startX = 0, startY = 0;\n visitPathGeometry(geometry, (type, data, i) => {\n if (type === 5) {\n const arc = readArc(data, i);\n const arcStart = arcPoint(arc, arc.startAngle);\n if (currentX !== arcStart[0] || currentY !== arcStart[1]) {\n parts.push('L', String(arcStart[0]), String(arcStart[1]));\n }\n [currentX, currentY] = arcPoint(arc, arc.startAngle + arc.sweep);\n const ellipse = ellipseParameters(arc);\n if (!ellipse) {\n for (const [x, y] of singularArcPoints(arc)) parts.push('L', String(x), String(y));\n } else if (arc.sweep !== 0) {\n // Splitting into at most half-turns handles full circles and avoids SVG's\n // ambiguous coincident endpoints. No flattening is involved.\n const count = Math.ceil(Math.abs(arc.sweep) / Math.PI);\n for (let step = 1; step <= count; step++) {\n const [x, y] = arcPoint(arc, arc.startAngle + arc.sweep * step / count);\n parts.push('A', String(ellipse.radiusX), String(ellipse.radiusY),\n String(ellipse.rotation * 180 / Math.PI), '0', ellipse.sweep < 0 ? '0' : '1', String(x), String(y));\n }\n }\n return;\n }\n parts.push(commands[type]);\n for (let j = 0; j < widths[type]; j++) parts.push(String(data[i + j]));\n if (type === 4) { currentX = startX; currentY = startY; }\n else {\n currentX = data[i + widths[type] - 2]; currentY = data[i + widths[type] - 1];\n if (type === 0) { startX = currentX; startY = currentY; }\n }\n });\n return parts.join(' ');\n}\n\nfunction readArc(data: Float64Array, i: number): ArcSegment {\n return { type: 'arc', cx: data[i], cy: data[i + 1], ux: data[i + 2], uy: data[i + 3],\n vx: data[i + 4], vy: data[i + 5], startAngle: data[i + 6], sweep: data[i + 7] };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,218 @@
1
+ import { type ArcSegment } from './path-arc.js';
2
+ /**
3
+ * A canonical, independently editable path segment.
4
+ *
5
+ * @see {@link PathGeometry}
6
+ */
7
+ export type PathSegment = {
8
+ /** Selects `"move"`, `"line"` for type. See {@link PathSegment}. */
9
+ type: 'move' | 'line';
10
+ /**
11
+ * Horizontal coordinate or displacement in the containing coordinate system. See
12
+ * {@link PathSegment}.
13
+ */
14
+ x: number;
15
+ /**
16
+ * Vertical coordinate or displacement in the containing coordinate system. See
17
+ * {@link PathSegment}.
18
+ */
19
+ y: number;
20
+ } | {
21
+ /** The literal "quadratic" identifying this variant. See {@link PathSegment}. */
22
+ type: 'quadratic';
23
+ /** Horizontal coordinate of the quadratic control point. See {@link PathSegment}. */
24
+ cpx: number;
25
+ /** Vertical coordinate of the quadratic control point. See {@link PathSegment}. */
26
+ cpy: number;
27
+ /**
28
+ * Horizontal coordinate or displacement in the containing coordinate system. See
29
+ * {@link PathSegment}.
30
+ */
31
+ x: number;
32
+ /**
33
+ * Vertical coordinate or displacement in the containing coordinate system. See
34
+ * {@link PathSegment}.
35
+ */
36
+ y: number;
37
+ } | {
38
+ /** The literal "cubic" identifying this variant. See {@link PathSegment}. */
39
+ type: 'cubic';
40
+ /** Horizontal coordinate of the first cubic control point. See {@link PathSegment}. */
41
+ cp1x: number;
42
+ /** Vertical coordinate of the first cubic control point. See {@link PathSegment}. */
43
+ cp1y: number;
44
+ /** Horizontal coordinate of the second cubic control point. See {@link PathSegment}. */
45
+ cp2x: number;
46
+ /** Vertical coordinate of the second cubic control point. See {@link PathSegment}. */
47
+ cp2y: number;
48
+ /**
49
+ * Horizontal coordinate or displacement in the containing coordinate system. See
50
+ * {@link PathSegment}.
51
+ */
52
+ x: number;
53
+ /**
54
+ * Vertical coordinate or displacement in the containing coordinate system. See
55
+ * {@link PathSegment}.
56
+ */
57
+ y: number;
58
+ } | ArcSegment | {
59
+ /** The literal "close" identifying this variant. See {@link PathSegment}. */
60
+ type: 'close';
61
+ };
62
+ /** @internal Borrowed buffers must never escape this synchronous traversal. */
63
+ export declare function visitPathGeometry(path: PathGeometry, visit: (type: number, data: Float64Array, offset: number) => void): void;
64
+ /**
65
+ * Mutable packed geometry. Mutations do not schedule Pibbl rendering.
66
+ *
67
+ * @see {@link PathSegment}
68
+ */
69
+ export declare class PathGeometry implements Iterable<PathSegment> {
70
+ #private;
71
+ /**
72
+ * Creates empty geometry or an independent copy of the supplied path. See {@link PathGeometry}.
73
+ * @param source - Optional geometry whose segments are copied; omission creates an empty path.
74
+ * See {@link PathGeometry} .
75
+ */
76
+ constructor(source?: PathGeometry);
77
+ /**
78
+ * Monotonic mutation revision; changing geometry does not itself request a Pibbl frame. See
79
+ * {@link PathGeometry}.
80
+ * @returns The mutation revision used to invalidate cached representations.
81
+ */
82
+ get revision(): number;
83
+ /**
84
+ * Number of stored path segments, including move and close commands. See {@link PathGeometry}.
85
+ * @returns The number of stored path segments.
86
+ */
87
+ get segmentCount(): number;
88
+ /**
89
+ * Returns an independent copy with its own mutation revision. See {@link PathGeometry}.
90
+ * @returns An independent copy of this path's segments. See {@link PathGeometry}.
91
+ */
92
+ clone(): PathGeometry;
93
+ /** Removes all segments and resets the current point. See {@link PathGeometry}. */
94
+ clear(): void;
95
+ /**
96
+ * Begins a subpath at the supplied coordinates. See {@link PathGeometry}.
97
+ * @param x - Horizontal coordinate of the new subpath's starting point.
98
+ * @param y - Vertical coordinate of the new subpath's starting point.
99
+ */
100
+ moveTo(x: number, y: number): void;
101
+ /**
102
+ * Appends a straight segment to the supplied coordinates. See {@link PathGeometry}.
103
+ * @param x - Horizontal coordinate of the line endpoint.
104
+ * @param y - Vertical coordinate of the line endpoint.
105
+ */
106
+ lineTo(x: number, y: number): void;
107
+ /**
108
+ * Appends a quadratic curve using one control point and an endpoint. See {@link PathGeometry}.
109
+ * @param cpx - Horizontal coordinate of the quadratic control point.
110
+ * @param cpy - Vertical coordinate of the quadratic control point.
111
+ * @param x - Horizontal coordinate of the curve endpoint.
112
+ * @param y - Vertical coordinate of the curve endpoint.
113
+ */
114
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
115
+ /**
116
+ * Appends a cubic curve using two control points and an endpoint. See {@link PathGeometry}.
117
+ * @param cp1x - Horizontal coordinate of the first control point.
118
+ * @param cp1y - Vertical coordinate of the first control point.
119
+ * @param cp2x - Horizontal coordinate of the second control point.
120
+ * @param cp2y - Vertical coordinate of the second control point.
121
+ * @param x - Horizontal coordinate of the curve endpoint.
122
+ * @param y - Vertical coordinate of the curve endpoint.
123
+ */
124
+ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
125
+ /**
126
+ * Closes the current subpath; an already closed or empty path is unchanged. See
127
+ * {@link PathGeometry}.
128
+ */
129
+ closePath(): void;
130
+ /**
131
+ * Appends a circular arc using Canvas-compatible angles in radians. See {@link PathGeometry}.
132
+ * @param x - Horizontal coordinate of the circle center.
133
+ * @param y - Vertical coordinate of the circle center.
134
+ * @param radius - Circle radius in path units.
135
+ * @param startAngle - Starting angle in radians.
136
+ * @param endAngle - Ending angle in radians.
137
+ * @param counterclockwise - Whether the arc runs counterclockwise; defaults to false.
138
+ */
139
+ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;
140
+ /**
141
+ * Appends an elliptical arc; rotation and arc angles are in radians. See {@link PathGeometry}.
142
+ * @param x - Horizontal coordinate of the ellipse center.
143
+ * @param y - Vertical coordinate of the ellipse center.
144
+ * @param radiusX - Horizontal radius in path units.
145
+ * @param radiusY - Vertical radius in path units.
146
+ * @param rotation - Ellipse rotation in radians.
147
+ * @param startAngle - Starting angle in radians.
148
+ * @param endAngle - Ending angle in radians.
149
+ * @param counterclockwise - Whether the arc runs counterclockwise; defaults to false.
150
+ */
151
+ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;
152
+ /**
153
+ * Appends a circular arc tangent to two lines using Canvas-compatible geometry. See
154
+ * {@link PathGeometry}.
155
+ * @param x1 - Horizontal coordinate of the first tangent intersection.
156
+ * @param y1 - Vertical coordinate of the first tangent intersection.
157
+ * @param x2 - Horizontal coordinate of the second tangent endpoint.
158
+ * @param y2 - Vertical coordinate of the second tangent endpoint.
159
+ * @param radius - Arc radius in path units.
160
+ */
161
+ arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
162
+ /**
163
+ * Appends a closed rectangle subpath. See {@link PathGeometry}.
164
+ * @param x - Horizontal coordinate of the rectangle origin.
165
+ * @param y - Vertical coordinate of the rectangle origin.
166
+ * @param width - Signed horizontal extent in path units.
167
+ * @param height - Signed vertical extent in path units.
168
+ */
169
+ rect(x: number, y: number, width: number, height: number): void;
170
+ /**
171
+ * Appends a closed rectangle with Canvas-compatible corner radii. See {@link PathGeometry}.
172
+ * @param x - Horizontal coordinate of the rectangle origin.
173
+ * @param y - Vertical coordinate of the rectangle origin.
174
+ * @param width - Signed horizontal extent in path units.
175
+ * @param height - Signed vertical extent in path units.
176
+ * @param radii - Circular or elliptical corner radii, using Canvas roundRect ordering; defaults
177
+ * to zero.
178
+ */
179
+ roundRect(x: number, y: number, width: number, height: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void;
180
+ /**
181
+ * Appends a copy of another path, optionally transformed by a 2D matrix. See
182
+ * {@link PathGeometry}.
183
+ * @param other - Geometry whose segments are appended. See {@link PathGeometry}.
184
+ * @param matrix - Optional affine transform applied to the appended segments; defaults to
185
+ * identity.
186
+ */
187
+ addPath(other: PathGeometry, matrix?: DOMMatrix2DInit): void;
188
+ /**
189
+ * Replaces a segment range with validated independent segment values. See {@link PathGeometry}.
190
+ * @param start - Index at which to begin replacing segments.
191
+ * @param deleteCount - Number of segments to remove.
192
+ * @param segments - Replacement segments; defaults to no inserted segments. See
193
+ * {@link PathSegment} .
194
+ */
195
+ spliceSegments(start: number, deleteCount: number, segments?: readonly PathSegment[]): void;
196
+ /**
197
+ * Returns an independent segment value at the specified index. See {@link PathSegment}.
198
+ * @param index - Zero-based segment index.
199
+ * @returns The segment at the requested index. See {@link PathSegment}.
200
+ */
201
+ getSegment(index: number): PathSegment;
202
+ /**
203
+ * Replaces one stored segment with a validated independent value. See {@link PathGeometry}.
204
+ * @param index - Zero-based index of the segment to replace.
205
+ * @param segment - Replacement segment data. See {@link PathSegment}.
206
+ */
207
+ setSegment(index: number, segment: PathSegment): void;
208
+ /**
209
+ * Applies a finite 2D affine matrix. Old native conversions remain unchanged.
210
+ * @param matrix - Affine matrix applied to all segments in this path.
211
+ */
212
+ transform(matrix: DOMMatrix2DInit): void;
213
+ /**
214
+ * Iterates over independent segment values in source order. See {@link PathSegment}.
215
+ * @returns An iterator over the path's segments in drawing order. See {@link PathSegment}.
216
+ */
217
+ [Symbol.iterator](): IterableIterator<PathSegment>;
218
+ }