@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,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/features/viz/lib/linear-scale.ts"],
4
+ "sourcesContent": ["import type {\n LinearDomain,\n ResolvedLinearScale,\n ResolvedScale,\n ScaleRange,\n} from \"./types.js\";\nfunction finite(value: number, field: string): number {\n if (typeof value !== \"number\" || !Number.isFinite(value))\n throw new RangeError(`Scale ${field} must be finite.`);\n return value;\n}\nfunction pair(\n value: readonly number[],\n field: string,\n): readonly [number, number] {\n if (!Array.isArray(value) || value.length !== 2)\n throw new RangeError(`Scale ${field} requires two finite endpoints.`);\n return Object.freeze([finite(value[0], field), finite(value[1], field)]);\n}\nexport function resolveLinearScale(\n domainInput: LinearDomain,\n rangeInput: ScaleRange,\n reverse: boolean,\n width: number,\n height: number,\n): ResolvedLinearScale {\n finite(width, \"frame.width\");\n finite(height, \"frame.height\");\n if (width < 0 || height < 0)\n throw new RangeError(\"Scale allocation must be nonnegative.\");\n if (typeof reverse !== \"boolean\")\n throw new TypeError(\"Scale reverse must be boolean.\");\n const domain = pair(domainInput, \"domain\");\n if (domain[0] === domain[1])\n throw new RangeError(\"Scale domain endpoints must differ.\");\n const original = pair(\n rangeInput === \"width\"\n ? [0, width]\n : rangeInput === \"height\"\n ? [0, height]\n : (rangeInput as readonly number[]),\n \"range\",\n );\n const range = reverse ? pair([original[1], original[0]], \"range\") : original;\n const domainSpan = finite(domain[1] - domain[0], \"domain span\");\n const rangeSpan = finite(range[1] - range[0], \"range span\");\n return Object.freeze({\n type: \"linear\",\n domain,\n range,\n frame: Object.freeze({ x: 0, y: 0, width, height }),\n map(value: number) {\n return finite(\n range[0] +\n ((finite(value, \"map input\") - domain[0]) / domainSpan) * rangeSpan,\n \"mapped output\",\n );\n },\n invert(pixel: number) {\n if (rangeSpan === 0)\n throw new RangeError(\n \"Scale cannot invert a collapsed range; supply a nonzero extent.\",\n );\n return finite(\n domain[0] +\n ((finite(pixel, \"invert input\") - range[0]) / rangeSpan) * domainSpan,\n \"inverted output\",\n );\n },\n ticks(count = 5) {\n if (!Number.isInteger(count) || count < 2 || count > 100)\n throw new RangeError(\n \"Scale ticks count must be an integer from 2 to 100.\",\n );\n return Object.freeze(\n Array.from({ length: count }, (_, i) =>\n i === count - 1\n ? domain[1]\n : finite(domain[0] + (domainSpan * i) / (count - 1), \"tick\"),\n ),\n );\n },\n });\n}\nexport function equalScale(a: ResolvedScale, b: ResolvedScale): boolean {\n return (\n a.type === b.type &&\n a.domain.length === b.domain.length &&\n a.domain.every((value, index) => Object.is(value, b.domain[index])) &&\n (a.type !== \"band\" ||\n (b.type === \"band\" &&\n a.bandwidth === b.bandwidth &&\n a.step === b.step)) &&\n Object.is(a.range[0], b.range[0]) &&\n Object.is(a.range[1], b.range[1]) &&\n Object.is(a.frame.width, b.frame.width) &&\n Object.is(a.frame.height, b.frame.height)\n );\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,82 @@
1
+ import type { ResolvedLinearScale } from "./types.js";
2
+ import type { PointAccessor } from "./point-types.js";
3
+ /**
4
+ * Coordinate accessors, resolved scales, and candidate filtering for a nearest-point search.
5
+ *
6
+ * @see {@link PointAccessor}
7
+ * @see {@link ResolvedLinearScale}
8
+ * @see {@link nearestPoint}
9
+ */
10
+ export interface NearestPointOptions<D> {
11
+ /** Property key or callback extracting the horizontal domain coordinate. See {@link PointAccessor}. */
12
+ readonly x: PointAccessor<D>;
13
+ /** Property key or callback extracting the vertical domain coordinate. See {@link PointAccessor}. */
14
+ readonly y: PointAccessor<D>;
15
+ /** The scale used to map horizontal data coordinates. See {@link ResolvedLinearScale}. */
16
+ readonly xScale: ResolvedLinearScale;
17
+ /** The scale used to map vertical data coordinates. See {@link ResolvedLinearScale}. */
18
+ readonly yScale: ResolvedLinearScale;
19
+ /**
20
+ * Returns whether a datum contributes drawable or queryable coordinates. See
21
+ * {@link NearestPointOptions}.
22
+ * @param datum - Datum to test.
23
+ * @param index - Zero-based index in the source data.
24
+ * @param data - Complete source data array.
25
+ * @returns Whether this datum should participate in the series or query.
26
+ */
27
+ readonly defined?: (datum: D, index: number, data: readonly D[]) => boolean;
28
+ /** Maximum distance accepted by the query. See {@link NearestPointOptions}. */
29
+ readonly maxDistance?: number;
30
+ }
31
+ /**
32
+ * The selected datum, source index, mapped coordinates, and distance from the query point.
33
+ *
34
+ * @see {@link nearestPoint}
35
+ */
36
+ export interface NearestPoint<D> {
37
+ /** The original data item selected by this result. See {@link NearestPoint}. */
38
+ readonly datum: D;
39
+ /** Index of the selected datum in its source data. See {@link NearestPoint}. */
40
+ readonly index: number;
41
+ /**
42
+ * Horizontal coordinate or displacement in the containing coordinate system. See
43
+ * {@link NearestPoint}.
44
+ */
45
+ readonly x: number;
46
+ /**
47
+ * Vertical coordinate or displacement in the containing coordinate system. See
48
+ * {@link NearestPoint}.
49
+ */
50
+ readonly y: number;
51
+ /** Distance measured in this query or guide's coordinate system. See {@link NearestPoint}. */
52
+ readonly distance: number;
53
+ }
54
+ /**
55
+ * Finds the domain value nearest to a logical range coordinate; returns undefined for no
56
+ * candidate.
57
+ *
58
+ * @param values - Candidate domain values.
59
+ * @param rangeValue - Pointer coordinate in the scale's range.
60
+ * @param scale - Scale mapping candidates into range coordinates. See {@link ResolvedLinearScale}.
61
+ * @returns The nearest domain value, or undefined when no candidate can be selected.
62
+ *
63
+ * @see {@link ResolvedLinearScale}
64
+ */
65
+ export declare function nearestDomainValue(values: readonly number[], rangeValue: number, scale: ResolvedLinearScale): number | undefined;
66
+ /**
67
+ * Finds the nearest defined datum in scaled coordinates, subject to an optional maximum distance.
68
+ *
69
+ * @param data - Candidate data records.
70
+ * @param point - Query point in plotted range coordinates.
71
+ * @param options - Accessors, scales, eligibility, and distance settings. See
72
+ * {@link NearestPointOptions} .
73
+ * @returns The nearest matching point, or undefined when no candidate qualifies. See
74
+ * {@link NearestPoint} .
75
+ *
76
+ * @see {@link NearestPointOptions}
77
+ * @see {@link NearestPoint}
78
+ */
79
+ export declare function nearestPoint<D>(data: readonly D[], point: Readonly<{
80
+ x: number;
81
+ y: number;
82
+ }>, options: NearestPointOptions<D>): NearestPoint<D> | undefined;
@@ -0,0 +1,51 @@
1
+ import { finiteCoordinate, pointAccessor, pointData } from "./point-data.js";
2
+ function finite(value, name) {
3
+ if (!finiteCoordinate(value)) throw new RangeError(`${name} must be finite.`);
4
+ }
5
+ function nearestDomainValue(values, rangeValue, scale) {
6
+ pointData(values, "nearestDomainValue");
7
+ finite(rangeValue, "nearestDomainValue rangeValue");
8
+ let best, distance = Infinity;
9
+ for (const value of values) {
10
+ if (!finiteCoordinate(value)) continue;
11
+ const next = Math.abs(scale.map(value) - rangeValue);
12
+ finite(next, "nearestDomainValue distance");
13
+ if (next < distance) {
14
+ best = value;
15
+ distance = next;
16
+ }
17
+ }
18
+ return best;
19
+ }
20
+ function nearestPoint(data, point, options) {
21
+ pointData(data, "nearestPoint");
22
+ finite(point.x, "nearestPoint x");
23
+ finite(point.y, "nearestPoint y");
24
+ const max = options.maxDistance;
25
+ if (max !== void 0) {
26
+ finite(max, "nearestPoint maxDistance");
27
+ if (max < 0)
28
+ throw new RangeError("nearestPoint maxDistance must be nonnegative.");
29
+ }
30
+ const x = pointAccessor(options.x), y = pointAccessor(options.y);
31
+ let best, distance = Infinity;
32
+ for (let i = 0; i < data.length; i++) {
33
+ const datum = data[i];
34
+ if (options.defined && !options.defined(datum, i, data)) continue;
35
+ const xv = x(datum, i, data), yv = y(datum, i, data);
36
+ if (!finiteCoordinate(xv) || !finiteCoordinate(yv)) continue;
37
+ const px = options.xScale.map(xv), py = options.yScale.map(yv);
38
+ const next = Math.hypot(px - point.x, py - point.y);
39
+ finite(next, "nearestPoint distance");
40
+ if (next < distance && (max === void 0 || next <= max)) {
41
+ distance = next;
42
+ best = { datum, index: i, x: px, y: py, distance: next };
43
+ }
44
+ }
45
+ return best;
46
+ }
47
+ export {
48
+ nearestDomainValue,
49
+ nearestPoint
50
+ };
51
+ //# sourceMappingURL=nearest.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/features/viz/lib/nearest.ts"],
4
+ "sourcesContent": ["import type { ResolvedLinearScale } from \"./types.js\";\nimport type { PointAccessor } from \"./point-types.js\";\nimport { finiteCoordinate, pointAccessor, pointData } from \"./point-data.js\";\n/**\n * Coordinate accessors, resolved scales, and candidate filtering for a nearest-point search.\n *\n * @see {@link PointAccessor}\n * @see {@link ResolvedLinearScale}\n * @see {@link nearestPoint}\n */\nexport interface NearestPointOptions<D> {\n /** Property key or callback extracting the horizontal domain coordinate. See {@link PointAccessor}. */\n readonly x: PointAccessor<D>;\n /** Property key or callback extracting the vertical domain coordinate. See {@link PointAccessor}. */\n readonly y: PointAccessor<D>;\n /** The scale used to map horizontal data coordinates. See {@link ResolvedLinearScale}. */\n readonly xScale: ResolvedLinearScale;\n /** The scale used to map vertical data coordinates. See {@link ResolvedLinearScale}. */\n readonly yScale: ResolvedLinearScale;\n /**\n * Returns whether a datum contributes drawable or queryable coordinates. See\n * {@link NearestPointOptions}.\n * @param datum - Datum to test.\n * @param index - Zero-based index in the source data.\n * @param data - Complete source data array.\n * @returns Whether this datum should participate in the series or query.\n */\n readonly defined?: (datum: D, index: number, data: readonly D[]) => boolean;\n /** Maximum distance accepted by the query. See {@link NearestPointOptions}. */\n readonly maxDistance?: number;\n}\n/**\n * The selected datum, source index, mapped coordinates, and distance from the query point.\n *\n * @see {@link nearestPoint}\n */\nexport interface NearestPoint<D> {\n /** The original data item selected by this result. See {@link NearestPoint}. */\n readonly datum: D;\n /** Index of the selected datum in its source data. See {@link NearestPoint}. */\n readonly index: number;\n /**\n * Horizontal coordinate or displacement in the containing coordinate system. See\n * {@link NearestPoint}.\n */\n readonly x: number;\n /**\n * Vertical coordinate or displacement in the containing coordinate system. See\n * {@link NearestPoint}.\n */\n readonly y: number;\n /** Distance measured in this query or guide's coordinate system. See {@link NearestPoint}. */\n readonly distance: number;\n}\nfunction finite(value: unknown, name: string): asserts value is number {\n if (!finiteCoordinate(value)) throw new RangeError(`${name} must be finite.`);\n}\n/**\n * Finds the domain value nearest to a logical range coordinate; returns undefined for no\n * candidate.\n *\n * @param values - Candidate domain values.\n * @param rangeValue - Pointer coordinate in the scale's range.\n * @param scale - Scale mapping candidates into range coordinates. See {@link ResolvedLinearScale}.\n * @returns The nearest domain value, or undefined when no candidate can be selected.\n *\n * @see {@link ResolvedLinearScale}\n */\nexport function nearestDomainValue(\n values: readonly number[],\n rangeValue: number,\n scale: ResolvedLinearScale,\n): number | undefined {\n pointData(values, \"nearestDomainValue\");\n finite(rangeValue, \"nearestDomainValue rangeValue\");\n let best: number | undefined,\n distance = Infinity;\n for (const value of values) {\n if (!finiteCoordinate(value)) continue;\n const next = Math.abs(scale.map(value) - rangeValue);\n finite(next, \"nearestDomainValue distance\");\n if (next < distance) {\n best = value;\n distance = next;\n }\n }\n return best;\n}\n/**\n * Finds the nearest defined datum in scaled coordinates, subject to an optional maximum distance.\n *\n * @param data - Candidate data records.\n * @param point - Query point in plotted range coordinates.\n * @param options - Accessors, scales, eligibility, and distance settings. See\n * {@link NearestPointOptions} .\n * @returns The nearest matching point, or undefined when no candidate qualifies. See\n * {@link NearestPoint} .\n *\n * @see {@link NearestPointOptions}\n * @see {@link NearestPoint}\n */\nexport function nearestPoint<D>(\n data: readonly D[],\n point: Readonly<{ x: number; y: number }>,\n options: NearestPointOptions<D>,\n): NearestPoint<D> | undefined {\n pointData(data, \"nearestPoint\");\n finite(point.x, \"nearestPoint x\");\n finite(point.y, \"nearestPoint y\");\n const max = options.maxDistance;\n if (max !== undefined) {\n finite(max, \"nearestPoint maxDistance\");\n if (max < 0)\n throw new RangeError(\"nearestPoint maxDistance must be nonnegative.\");\n }\n const x = pointAccessor(options.x),\n y = pointAccessor(options.y);\n let best: NearestPoint<D> | undefined,\n distance = Infinity;\n for (let i = 0; i < data.length; i++) {\n const datum = data[i];\n if (options.defined && !options.defined(datum, i, data)) continue;\n const xv = x(datum, i, data),\n yv = y(datum, i, data);\n if (!finiteCoordinate(xv) || !finiteCoordinate(yv)) continue;\n const px = options.xScale.map(xv),\n py = options.yScale.map(yv);\n const next = Math.hypot(px - point.x, py - point.y);\n finite(next, \"nearestPoint distance\");\n if (next < distance && (max === undefined || next <= max)) {\n distance = next;\n best = { datum, index: i, x: px, y: py, distance: next };\n }\n }\n return best;\n}\n"],
5
+ "mappings": "AAEA,SAAS,kBAAkB,eAAe,iBAAiB;AAoD3D,SAAS,OAAO,OAAgB,MAAuC;AACrE,MAAI,CAAC,iBAAiB,KAAK,EAAG,OAAM,IAAI,WAAW,GAAG,IAAI,kBAAkB;AAC9E;AAYO,SAAS,mBACd,QACA,YACA,OACoB;AACpB,YAAU,QAAQ,oBAAoB;AACtC,SAAO,YAAY,+BAA+B;AAClD,MAAI,MACF,WAAW;AACb,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,iBAAiB,KAAK,EAAG;AAC9B,UAAM,OAAO,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,UAAU;AACnD,WAAO,MAAM,6BAA6B;AAC1C,QAAI,OAAO,UAAU;AACnB,aAAO;AACP,iBAAW;AAAA,IACb;AAAA,EACF;AACA,SAAO;AACT;AAcO,SAAS,aACd,MACA,OACA,SAC6B;AAC7B,YAAU,MAAM,cAAc;AAC9B,SAAO,MAAM,GAAG,gBAAgB;AAChC,SAAO,MAAM,GAAG,gBAAgB;AAChC,QAAM,MAAM,QAAQ;AACpB,MAAI,QAAQ,QAAW;AACrB,WAAO,KAAK,0BAA0B;AACtC,QAAI,MAAM;AACR,YAAM,IAAI,WAAW,+CAA+C;AAAA,EACxE;AACA,QAAM,IAAI,cAAc,QAAQ,CAAC,GAC/B,IAAI,cAAc,QAAQ,CAAC;AAC7B,MAAI,MACF,WAAW;AACb,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,QAAQ,KAAK,CAAC;AACpB,QAAI,QAAQ,WAAW,CAAC,QAAQ,QAAQ,OAAO,GAAG,IAAI,EAAG;AACzD,UAAM,KAAK,EAAE,OAAO,GAAG,IAAI,GACzB,KAAK,EAAE,OAAO,GAAG,IAAI;AACvB,QAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAG;AACpD,UAAM,KAAK,QAAQ,OAAO,IAAI,EAAE,GAC9B,KAAK,QAAQ,OAAO,IAAI,EAAE;AAC5B,UAAM,OAAO,KAAK,MAAM,KAAK,MAAM,GAAG,KAAK,MAAM,CAAC;AAClD,WAAO,MAAM,uBAAuB;AACpC,QAAI,OAAO,aAAa,QAAQ,UAAa,QAAQ,MAAM;AACzD,iBAAW;AACX,aAAO,EAAE,OAAO,OAAO,GAAG,GAAG,IAAI,GAAG,IAAI,UAAU,KAAK;AAAA,IACzD;AAAA,EACF;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export declare function width(value: number, receiver: string): number;
2
+ export declare function opacity(value: number, receiver: string): number;
@@ -0,0 +1,17 @@
1
+ function width(value, receiver) {
2
+ if (typeof value !== "number" || !Number.isFinite(value) || value < 0)
3
+ throw new RangeError(
4
+ `${receiver}: stroke/interaction width must be finite and nonnegative.`
5
+ );
6
+ return value;
7
+ }
8
+ function opacity(value, receiver) {
9
+ if (typeof value !== "number" || !Number.isFinite(value) || value < 0 || value > 1)
10
+ throw new RangeError(`${receiver}: opacity must be between 0 and 1.`);
11
+ return value;
12
+ }
13
+ export {
14
+ opacity,
15
+ width
16
+ };
17
+ //# sourceMappingURL=paint.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/features/viz/lib/paint.ts"],
4
+ "sourcesContent": ["export function width(value: number, receiver: string): number {\n if (typeof value !== \"number\" || !Number.isFinite(value) || value < 0)\n throw new RangeError(\n `${receiver}: stroke/interaction width must be finite and nonnegative.`,\n );\n return value;\n}\nexport function opacity(value: number, receiver: string): number {\n if (\n typeof value !== \"number\" ||\n !Number.isFinite(value) ||\n value < 0 ||\n value > 1\n )\n throw new RangeError(`${receiver}: opacity must be between 0 and 1.`);\n return value;\n}\n"],
5
+ "mappings": "AAAO,SAAS,MAAM,OAAe,UAA0B;AAC7D,MAAI,OAAO,UAAU,YAAY,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ;AAClE,UAAM,IAAI;AAAA,MACR,GAAG,QAAQ;AAAA,IACb;AACF,SAAO;AACT;AACO,SAAS,QAAQ,OAAe,UAA0B;AAC/D,MACE,OAAO,UAAU,YACjB,CAAC,OAAO,SAAS,KAAK,KACtB,QAAQ,KACR,QAAQ;AAER,UAAM,IAAI,WAAW,GAAG,QAAQ,oCAAoC;AACtE,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,31 @@
1
+ import type { PieLayoutProps, PieSliceProps, PieLabelProps } from "./pie-types.js";
2
+ /**
3
+ * Computes pie geometry and label placement, then renders children for each resolved slice.
4
+ *
5
+ * @param props - Data, pie geometry, label policy, and child renderer. See {@link PieLayoutProps}.
6
+ * @returns Pibbl content arranged as pie slices.
7
+ *
8
+ * @see {@link PieLayoutProps}
9
+ */
10
+ export declare function PieLayout<D>(props: PieLayoutProps<D>): import("../../../jsx-runtime.js").JSX.Element[];
11
+ /**
12
+ * Draws a resolved pie slice using wedge geometry and the supplied paint style.
13
+ *
14
+ * @param props - Slice geometry, appearance, handlers, and children. See {@link PieSliceProps}.
15
+ * @returns Pibbl nodes drawing one pie slice and its children.
16
+ *
17
+ * @see {@link PieSliceProps}
18
+ */
19
+ export declare function PieSlice<D>({ slice, style: input, children, ...events }: PieSliceProps<D>): import("../../../jsx-runtime.js").JSX.Element;
20
+ /**
21
+ * Draws a resolved slice label and optional leader line; decorative labels ignore pointer
22
+ * targeting
23
+ * by default.
24
+ *
25
+ * @param props - Slice geometry, label appearance, and interaction options. See
26
+ * {@link PieLabelProps} .
27
+ * @returns Pibbl content drawing the slice label, or null when the label was not placed.
28
+ *
29
+ * @see {@link PieLabelProps}
30
+ */
31
+ export declare function PieLabel<D>({ slice, style: input, pointerEvents, ...events }: PieLabelProps<D>): import("../../../jsx-runtime.js").JSX.Element | null;
@@ -0,0 +1,324 @@
1
+ import { jsx, jsxs } from "@pibbl/core/jsx-runtime";
2
+ import {
3
+ Group,
4
+ Path,
5
+ Wedge,
6
+ definePrimitive,
7
+ Line,
8
+ Rectangle,
9
+ resolveSignalValue,
10
+ useComputed,
11
+ useCanvasContext,
12
+ useLayoutBox
13
+ } from "@pibbl/core";
14
+ import { resolveTexturePaint, withHooksForbidden } from "@pibbl/core/internal";
15
+ import { pieSlices } from "./pie-slices.js";
16
+ import { layoutPie } from "./layout-pie.js";
17
+ function finite(value, name, nonnegative = false) {
18
+ if (!Number.isFinite(value) || nonnegative && value < 0)
19
+ throw new RangeError(
20
+ `PieLayout: ${name} must be finite${nonnegative ? " and nonnegative" : ""}.`
21
+ );
22
+ return value;
23
+ }
24
+ function PieLayout(props) {
25
+ const allocation = useLayoutBox();
26
+ const context = useCanvasContext();
27
+ const style = resolveSignalValue(props.style) ?? {};
28
+ const bounds = resolveSignalValue(props.bounds) ?? {
29
+ x: 0,
30
+ y: 0,
31
+ width: allocation.width,
32
+ height: allocation.height
33
+ };
34
+ const bx = finite(bounds.x, "bounds.x"), by = finite(bounds.y, "bounds.y");
35
+ const bw = finite(bounds.width, "bounds.width", true), bh = finite(bounds.height, "bounds.height", true);
36
+ finite(bx + bw, "bounds right");
37
+ finite(by + bh, "bounds bottom");
38
+ const cx = finite(resolveSignalValue(style.cx) ?? bx + bw / 2, "cx");
39
+ const cy = finite(resolveSignalValue(style.cy) ?? by + bh / 2, "cy");
40
+ const radius = finite(
41
+ resolveSignalValue(style.radius) ?? Math.min(bw * 0.28, bh * 0.4),
42
+ "radius",
43
+ true
44
+ );
45
+ const innerRadius = finite(
46
+ resolveSignalValue(style.innerRadius) ?? 0,
47
+ "innerRadius",
48
+ true
49
+ );
50
+ if (radius === 0 ? innerRadius !== 0 : innerRadius >= radius)
51
+ throw new RangeError(
52
+ "PieLayout: innerRadius must be zero when radius is zero, or less than radius."
53
+ );
54
+ const gap = finite(resolveSignalValue(style.labelGap) ?? 8, "labelGap", true);
55
+ finite(cx + radius + gap, "right label edge");
56
+ finite(cx - radius - gap, "left label edge");
57
+ finite(cy + radius, "bottom");
58
+ finite(cy - radius, "top");
59
+ const font = resolveSignalValue(style.labelFont) ?? "14px sans-serif";
60
+ if (typeof font !== "string" || !font.trim())
61
+ throw new TypeError("PieLayout: labelFont must be a Canvas font string.");
62
+ const placement = resolveSignalValue(props.placement) ?? "outside";
63
+ if (!["inside", "outside", "auto"].includes(placement))
64
+ throw new TypeError(
65
+ "PieLayout: placement must be inside, outside, or auto."
66
+ );
67
+ if (typeof props.children !== "function")
68
+ throw new TypeError(
69
+ "PieLayout: children must be a function returning Pibbl elements."
70
+ );
71
+ const revision = props.revision === void 0 ? void 0 : resolveSignalValue(props.revision);
72
+ if (revision !== void 0 && (!Number.isSafeInteger(revision) || revision < 0))
73
+ throw new RangeError(
74
+ "PieLayout: revision must be a finite nonnegative safe integer."
75
+ );
76
+ const cacheKey = revision === void 0 ? {} : revision;
77
+ const slices = useComputed(
78
+ () => pieSlices(resolveSignalValue(props.data), {
79
+ value: props.value,
80
+ keyBy: props.keyBy
81
+ }),
82
+ [cacheKey, props.data, props.value, props.keyBy]
83
+ );
84
+ const layout = useComputed(() => {
85
+ context.save();
86
+ try {
87
+ context.font = "10px serif";
88
+ context.font = font;
89
+ const normalized = context.font;
90
+ context.font = "11px monospace";
91
+ context.font = font;
92
+ if (context.font !== normalized)
93
+ throw new TypeError("PieLayout: labelFont must be a valid Canvas font.");
94
+ context.textAlign = "left";
95
+ context.textBaseline = "alphabetic";
96
+ return layoutPie(
97
+ slices.get(),
98
+ cx,
99
+ cy,
100
+ radius,
101
+ innerRadius,
102
+ { x: bx, y: by, width: bw, height: bh },
103
+ context.font,
104
+ gap,
105
+ placement,
106
+ props.label,
107
+ (text) => {
108
+ const m = context.measureText(text);
109
+ const width = Math.max(
110
+ m.width,
111
+ m.actualBoundingBoxLeft + m.actualBoundingBoxRight
112
+ );
113
+ const ascent = Math.max(0, m.actualBoundingBoxAscent), descent = Math.max(0, m.actualBoundingBoxDescent);
114
+ return {
115
+ width: finite(width, "label width", true),
116
+ height: finite(Math.max(1, ascent + descent), "label height", true),
117
+ left: Math.max(0, m.actualBoundingBoxLeft),
118
+ ascent
119
+ };
120
+ }
121
+ );
122
+ } finally {
123
+ context.restore();
124
+ }
125
+ }, [
126
+ slices,
127
+ cx,
128
+ cy,
129
+ radius,
130
+ innerRadius,
131
+ bx,
132
+ by,
133
+ bw,
134
+ bh,
135
+ font,
136
+ gap,
137
+ placement,
138
+ props.label,
139
+ context
140
+ ]);
141
+ return layout.get().map((slice) => /* @__PURE__ */ jsx(Group, { children: withHooksForbidden(
142
+ "PieLayout children cannot call hooks; return a component instead.",
143
+ () => props.children(slice)
144
+ ) }, slice.key));
145
+ }
146
+ function PieSlice({
147
+ slice,
148
+ style: input,
149
+ children,
150
+ ...events
151
+ }) {
152
+ const style = resolveSignalValue(input) ?? {};
153
+ if (slice.innerRadius === 0) {
154
+ return /* @__PURE__ */ jsxs(Group, { children: [
155
+ /* @__PURE__ */ jsx(
156
+ Wedge,
157
+ {
158
+ ...events,
159
+ style: {
160
+ ...style,
161
+ cx: slice.cx,
162
+ cy: slice.cy,
163
+ radius: slice.radius,
164
+ startAngle: slice.startAngle,
165
+ endAngle: slice.endAngle
166
+ }
167
+ }
168
+ ),
169
+ children
170
+ ] });
171
+ }
172
+ const sweep = resolveClockwiseSweep(slice.startAngle, slice.endAngle);
173
+ const path = new Path2D();
174
+ path.arc(
175
+ slice.cx,
176
+ slice.cy,
177
+ slice.radius,
178
+ sweep.startAngle,
179
+ sweep.endAngle
180
+ );
181
+ if (slice.innerRadius > 0)
182
+ path.arc(
183
+ slice.cx,
184
+ slice.cy,
185
+ slice.innerRadius,
186
+ sweep.endAngle,
187
+ sweep.startAngle,
188
+ true
189
+ );
190
+ else path.lineTo(slice.cx, slice.cy);
191
+ path.closePath();
192
+ return /* @__PURE__ */ jsxs(Group, { children: [
193
+ /* @__PURE__ */ jsx(
194
+ Path,
195
+ {
196
+ ...events,
197
+ keyboardNavigationBounds: events.keyboardNavigationBounds ?? annularSliceBounds(slice, sweep),
198
+ style: {
199
+ ...style,
200
+ d: path
201
+ }
202
+ }
203
+ ),
204
+ children
205
+ ] });
206
+ }
207
+ function annularSliceBounds(slice, sweep) {
208
+ if (sweep.sweep === 0) return void 0;
209
+ if (sweep.fullCircle)
210
+ return {
211
+ x: slice.cx - slice.radius,
212
+ y: slice.cy - slice.radius,
213
+ width: slice.radius * 2,
214
+ height: slice.radius * 2
215
+ };
216
+ const angles = [sweep.startAngle, sweep.endAngle];
217
+ for (const cardinal of [0, Math.PI / 2, Math.PI, Math.PI * 1.5]) {
218
+ const angle = cardinal < sweep.startAngle ? cardinal + fullTurn : cardinal;
219
+ if (angle <= sweep.endAngle) angles.push(angle);
220
+ }
221
+ const xs = [];
222
+ const ys = [];
223
+ for (const angle of angles) {
224
+ const cosine = Math.cos(angle);
225
+ const sine = Math.sin(angle);
226
+ xs.push(
227
+ slice.cx + slice.radius * cosine,
228
+ slice.cx + slice.innerRadius * cosine
229
+ );
230
+ ys.push(
231
+ slice.cy + slice.radius * sine,
232
+ slice.cy + slice.innerRadius * sine
233
+ );
234
+ }
235
+ const left = Math.min(...xs);
236
+ const right = Math.max(...xs);
237
+ const top = Math.min(...ys);
238
+ const bottom = Math.max(...ys);
239
+ return { x: left, y: top, width: right - left, height: bottom - top };
240
+ }
241
+ const fullTurn = Math.PI * 2;
242
+ function resolveClockwiseSweep(startAngle, endAngle) {
243
+ if (!Number.isFinite(startAngle) || !Number.isFinite(endAngle))
244
+ throw new RangeError("PieSlice: slice angles must be finite.");
245
+ const start = positiveModulo(startAngle, fullTurn);
246
+ if (endAngle - startAngle >= fullTurn)
247
+ return {
248
+ startAngle: start,
249
+ endAngle: start + fullTurn,
250
+ sweep: fullTurn,
251
+ fullCircle: true
252
+ };
253
+ const sweep = positiveModulo(
254
+ positiveModulo(endAngle, fullTurn) - start,
255
+ fullTurn
256
+ );
257
+ return {
258
+ startAngle: start,
259
+ endAngle: start + sweep,
260
+ sweep,
261
+ fullCircle: false
262
+ };
263
+ }
264
+ function positiveModulo(value, divisor) {
265
+ const result = value % divisor;
266
+ if (result === 0) return 0;
267
+ return result < 0 ? result + divisor : result;
268
+ }
269
+ const LabelText = definePrimitive(({ label }, style, context) => {
270
+ context.font = label.font;
271
+ context.textAlign = "left";
272
+ context.textBaseline = "alphabetic";
273
+ context.fillStyle = resolveTexturePaint(style.fill, context, { x: label.x, y: label.y, width: label.width, height: label.height });
274
+ context.fillText(label.text, label.textX, label.textY);
275
+ });
276
+ function PieLabel({
277
+ slice,
278
+ style: input,
279
+ pointerEvents = "none",
280
+ ...events
281
+ }) {
282
+ const style = resolveSignalValue(input) ?? {};
283
+ const label = slice.label;
284
+ if (!label || label.status !== "placed") return null;
285
+ return /* @__PURE__ */ jsxs(Group, { ...events, children: [
286
+ label.leader && /* @__PURE__ */ jsx(
287
+ Line,
288
+ {
289
+ pointerEvents: "none",
290
+ style: {
291
+ coords: label.leader.map((p) => [p[0], p[1]]),
292
+ stroke: resolveSignalValue(style.leaderStroke) ?? "#94a3b8",
293
+ strokeWidth: resolveSignalValue(style.leaderWidth) ?? 1
294
+ }
295
+ }
296
+ ),
297
+ /* @__PURE__ */ jsx(
298
+ Rectangle,
299
+ {
300
+ pointerEvents,
301
+ style: {
302
+ left: label.x,
303
+ top: label.y,
304
+ width: label.width,
305
+ height: label.height,
306
+ fill: "transparent"
307
+ }
308
+ }
309
+ ),
310
+ /* @__PURE__ */ jsx(
311
+ LabelText,
312
+ {
313
+ label,
314
+ style: { fill: resolveSignalValue(style.fill) ?? "#182c42" }
315
+ }
316
+ )
317
+ ] });
318
+ }
319
+ export {
320
+ PieLabel,
321
+ PieLayout,
322
+ PieSlice
323
+ };
324
+ //# sourceMappingURL=pie-layout.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/features/viz/lib/pie-layout.tsx"],
4
+ "sourcesContent": ["import {\n Group,\n Path,\n Wedge,\n definePrimitive,\n Line,\n Rectangle,\n resolveSignalValue,\n useComputed,\n useCanvasContext,\n useLayoutBox,\n} from \"@pibbl/core\";\nimport { resolveTexturePaint, withHooksForbidden } from \"@pibbl/core/internal\";\nimport type {\n PieLayoutProps,\n PieLayoutSlice,\n PieSliceProps,\n PieLabelProps,\n PieLabelLayout,\n} from \"./pie-types.js\";\nimport { pieSlices } from \"./pie-slices.js\";\nimport { layoutPie } from \"./layout-pie.js\";\nfunction finite(value: number, name: string, nonnegative = false) {\n if (!Number.isFinite(value) || (nonnegative && value < 0))\n throw new RangeError(\n `PieLayout: ${name} must be finite${nonnegative ? \" and nonnegative\" : \"\"}.`,\n );\n return value;\n}\n/**\n * Computes pie geometry and label placement, then renders children for each resolved slice.\n *\n * @param props - Data, pie geometry, label policy, and child renderer. See {@link PieLayoutProps}.\n * @returns Pibbl content arranged as pie slices.\n *\n * @see {@link PieLayoutProps}\n */\nexport function PieLayout<D>(props: PieLayoutProps<D>) {\n const allocation = useLayoutBox();\n const context = useCanvasContext();\n const style = resolveSignalValue(props.style) ?? {};\n const bounds = resolveSignalValue(props.bounds) ?? {\n x: 0,\n y: 0,\n width: allocation.width,\n height: allocation.height,\n };\n const bx = finite(bounds.x, \"bounds.x\"),\n by = finite(bounds.y, \"bounds.y\");\n const bw = finite(bounds.width, \"bounds.width\", true),\n bh = finite(bounds.height, \"bounds.height\", true);\n finite(bx + bw, \"bounds right\");\n finite(by + bh, \"bounds bottom\");\n const cx = finite(resolveSignalValue(style.cx) ?? bx + bw / 2, \"cx\");\n const cy = finite(resolveSignalValue(style.cy) ?? by + bh / 2, \"cy\");\n const radius = finite(\n resolveSignalValue(style.radius) ?? Math.min(bw * 0.28, bh * 0.4),\n \"radius\",\n true,\n );\n const innerRadius = finite(\n resolveSignalValue(style.innerRadius) ?? 0,\n \"innerRadius\",\n true,\n );\n if (radius === 0 ? innerRadius !== 0 : innerRadius >= radius)\n throw new RangeError(\n \"PieLayout: innerRadius must be zero when radius is zero, or less than radius.\",\n );\n const gap = finite(resolveSignalValue(style.labelGap) ?? 8, \"labelGap\", true);\n finite(cx + radius + gap, \"right label edge\");\n finite(cx - radius - gap, \"left label edge\");\n finite(cy + radius, \"bottom\");\n finite(cy - radius, \"top\");\n const font = resolveSignalValue(style.labelFont) ?? \"14px sans-serif\";\n if (typeof font !== \"string\" || !font.trim())\n throw new TypeError(\"PieLayout: labelFont must be a Canvas font string.\");\n const placement = resolveSignalValue(props.placement) ?? \"outside\";\n if (![\"inside\", \"outside\", \"auto\"].includes(placement))\n throw new TypeError(\n \"PieLayout: placement must be inside, outside, or auto.\",\n );\n if (typeof props.children !== \"function\")\n throw new TypeError(\n \"PieLayout: children must be a function returning Pibbl elements.\",\n );\n const revision =\n props.revision === undefined ? undefined : resolveSignalValue(props.revision);\n if (\n revision !== undefined &&\n (!Number.isSafeInteger(revision) || revision < 0)\n )\n throw new RangeError(\n \"PieLayout: revision must be a finite nonnegative safe integer.\",\n );\n // An omitted revision deliberately replaces this token on every evaluation.\n // Stable callback identities alone are not evidence of stable results.\n const cacheKey = revision === undefined ? {} : revision;\n const slices = useComputed(\n () =>\n pieSlices(resolveSignalValue(props.data), {\n value: props.value,\n keyBy: props.keyBy,\n }),\n [cacheKey, props.data, props.value, props.keyBy],\n );\n const layout = useComputed(() => {\n context.save();\n try {\n // Canvas silently ignores malformed fonts. Two distinct sentinels detect\n // that without depending on the caller's inherited font or CSS spelling.\n context.font = \"10px serif\";\n context.font = font;\n const normalized = context.font;\n context.font = \"11px monospace\";\n context.font = font;\n if (context.font !== normalized)\n throw new TypeError(\"PieLayout: labelFont must be a valid Canvas font.\");\n context.textAlign = \"left\";\n context.textBaseline = \"alphabetic\";\n return layoutPie(\n slices.get(),\n cx,\n cy,\n radius,\n innerRadius,\n { x: bx, y: by, width: bw, height: bh },\n context.font,\n gap,\n placement,\n props.label,\n (text) => {\n const m = context.measureText(text);\n const width = Math.max(\n m.width,\n m.actualBoundingBoxLeft + m.actualBoundingBoxRight,\n );\n const ascent = Math.max(0, m.actualBoundingBoxAscent),\n descent = Math.max(0, m.actualBoundingBoxDescent);\n return {\n width: finite(width, \"label width\", true),\n height: finite(Math.max(1, ascent + descent), \"label height\", true),\n left: Math.max(0, m.actualBoundingBoxLeft),\n ascent,\n };\n },\n );\n } finally {\n context.restore();\n }\n }, [\n slices,\n cx,\n cy,\n radius,\n innerRadius,\n bx,\n by,\n bw,\n bh,\n font,\n gap,\n placement,\n props.label,\n context,\n ]);\n return layout\n .get()\n .map((slice) => (\n <Group key={slice.key}>\n {withHooksForbidden(\n \"PieLayout children cannot call hooks; return a component instead.\",\n () => props.children(slice),\n )}\n </Group>\n ));\n}\n/**\n * Draws a resolved pie slice using wedge geometry and the supplied paint style.\n *\n * @param props - Slice geometry, appearance, handlers, and children. See {@link PieSliceProps}.\n * @returns Pibbl nodes drawing one pie slice and its children.\n *\n * @see {@link PieSliceProps}\n */\nexport function PieSlice<D>({\n slice,\n style: input,\n children,\n ...events\n}: PieSliceProps<D>) {\n const style = resolveSignalValue(input) ?? {};\n if (slice.innerRadius === 0) {\n return (\n <Group>\n <Wedge\n {...events}\n style={{\n ...style,\n cx: slice.cx,\n cy: slice.cy,\n radius: slice.radius,\n startAngle: slice.startAngle,\n endAngle: slice.endAngle,\n }}\n />\n {children}\n </Group>\n );\n }\n const sweep = resolveClockwiseSweep(slice.startAngle, slice.endAngle);\n const path = new Path2D();\n path.arc(\n slice.cx,\n slice.cy,\n slice.radius,\n sweep.startAngle,\n sweep.endAngle,\n );\n if (slice.innerRadius > 0)\n path.arc(\n slice.cx,\n slice.cy,\n slice.innerRadius,\n sweep.endAngle,\n sweep.startAngle,\n true,\n );\n else path.lineTo(slice.cx, slice.cy);\n path.closePath();\n return (\n <Group>\n <Path\n {...events}\n keyboardNavigationBounds={\n events.keyboardNavigationBounds ??\n annularSliceBounds(slice, sweep)\n }\n style={{\n ...style,\n d: path,\n }}\n />\n {children}\n </Group>\n );\n}\n\n/** The outer and inner arcs both contribute to an annular path's focus box. */\nfunction annularSliceBounds(\n slice: PieLayoutSlice<unknown>,\n sweep: Readonly<ClockwiseSweep>,\n) {\n if (sweep.sweep === 0) return undefined;\n if (sweep.fullCircle)\n return {\n x: slice.cx - slice.radius,\n y: slice.cy - slice.radius,\n width: slice.radius * 2,\n height: slice.radius * 2,\n };\n const angles = [sweep.startAngle, sweep.endAngle];\n for (const cardinal of [0, Math.PI / 2, Math.PI, Math.PI * 1.5]) {\n const angle = cardinal < sweep.startAngle ? cardinal + fullTurn : cardinal;\n if (angle <= sweep.endAngle) angles.push(angle);\n }\n const xs: number[] = [];\n const ys: number[] = [];\n for (const angle of angles) {\n const cosine = Math.cos(angle);\n const sine = Math.sin(angle);\n xs.push(\n slice.cx + slice.radius * cosine,\n slice.cx + slice.innerRadius * cosine,\n );\n ys.push(\n slice.cy + slice.radius * sine,\n slice.cy + slice.innerRadius * sine,\n );\n }\n const left = Math.min(...xs);\n const right = Math.max(...xs);\n const top = Math.min(...ys);\n const bottom = Math.max(...ys);\n return { x: left, y: top, width: right - left, height: bottom - top };\n}\n\nconst fullTurn = Math.PI * 2;\n\ninterface ClockwiseSweep {\n readonly startAngle: number;\n readonly endAngle: number;\n readonly sweep: number;\n readonly fullCircle: boolean;\n}\n\n/** Matches Canvas's bounded clockwise arc rule without retaining unbounded turns. */\nfunction resolveClockwiseSweep(\n startAngle: number,\n endAngle: number,\n): ClockwiseSweep {\n if (!Number.isFinite(startAngle) || !Number.isFinite(endAngle))\n throw new RangeError(\"PieSlice: slice angles must be finite.\");\n const start = positiveModulo(startAngle, fullTurn);\n if (endAngle - startAngle >= fullTurn)\n return {\n startAngle: start,\n endAngle: start + fullTurn,\n sweep: fullTurn,\n fullCircle: true,\n };\n const sweep = positiveModulo(\n positiveModulo(endAngle, fullTurn) - start,\n fullTurn,\n );\n return {\n startAngle: start,\n endAngle: start + sweep,\n sweep,\n fullCircle: false,\n };\n}\n\nfunction positiveModulo(value: number, divisor: number) {\n const result = value % divisor;\n if (result === 0) return 0;\n return result < 0 ? result + divisor : result;\n}\n\nconst LabelText = definePrimitive<\n { label: Extract<PieLabelLayout, { status: \"placed\" }> },\n { readonly custom?: never; fill: import(\"@pibbl/core\").FillStyle }\n>(({ label }, style, context) => {\n context.font = label.font;\n context.textAlign = \"left\";\n context.textBaseline = \"alphabetic\";\n context.fillStyle = resolveTexturePaint(style.fill, context, { x: label.x, y: label.y, width: label.width, height: label.height });\n context.fillText(label.text, label.textX, label.textY);\n});\n\n/**\n * Draws a resolved slice label and optional leader line; decorative labels ignore pointer\n * targeting\n * by default.\n *\n * @param props - Slice geometry, label appearance, and interaction options. See\n * {@link PieLabelProps} .\n * @returns Pibbl content drawing the slice label, or null when the label was not placed.\n *\n * @see {@link PieLabelProps}\n */\nexport function PieLabel<D>({\n slice,\n style: input,\n pointerEvents = \"none\",\n ...events\n}: PieLabelProps<D>) {\n const style = resolveSignalValue(input) ?? {};\n const label = slice.label;\n if (!label || label.status !== \"placed\") return null;\n return (\n <Group {...events}>\n {label.leader && (\n <Line\n pointerEvents=\"none\"\n style={{\n coords: label.leader.map((p) => [p[0], p[1]]),\n stroke: resolveSignalValue(style.leaderStroke) ?? \"#94a3b8\",\n strokeWidth: resolveSignalValue(style.leaderWidth) ?? 1,\n }}\n />\n )}\n <Rectangle\n pointerEvents={pointerEvents}\n style={{\n left: label.x,\n top: label.y,\n width: label.width,\n height: label.height,\n fill: \"transparent\",\n }}\n />\n <LabelText\n label={label}\n style={{ fill: resolveSignalValue(style.fill) ?? \"#182c42\" }}\n />\n </Group>\n );\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,51 @@
1
+ import type { PieLayoutProps, PieLayoutSlice } from "./pie-types.js";
2
+ import type { LineAccessor } from "./types.js";
3
+ import type { PlotKeyAccessor } from "./plot-types.js";
4
+ /**
5
+ * Value and stable-key accessors used to derive pie-slice geometry.
6
+ *
7
+ * @see {@link LineAccessor}
8
+ * @see {@link PlotKeyAccessor}
9
+ * @see {@link pieSlices}
10
+ * @see {@link PieLayoutProps}
11
+ */
12
+ export interface PieOptions<D> {
13
+ /** Value associated with this sample, input, or result. See {@link LineAccessor}. */
14
+ readonly value: LineAccessor<D>;
15
+ /** Property or callback supplying stable identity for each datum. See {@link PlotKeyAccessor}. */
16
+ readonly keyBy?: PlotKeyAccessor<D>;
17
+ }
18
+ /**
19
+ * A datum's key, value, fraction, and angular interval in a pie layout.
20
+ *
21
+ * @see {@link pieSlices}
22
+ * @see {@link PieLayoutProps}
23
+ * @see {@link PieLayoutSlice}
24
+ */
25
+ export interface PieSliceGeometry<D> {
26
+ /** The original data item selected by this result. See {@link PieSliceGeometry}. */
27
+ readonly datum: D;
28
+ /** Index of the selected datum in its source data. See {@link PieSliceGeometry}. */
29
+ readonly index: number;
30
+ /** Stable identity used by the containing protocol. See {@link PieSliceGeometry}. */
31
+ readonly key: string;
32
+ /** Value associated with this sample, input, or result. See {@link PieSliceGeometry}. */
33
+ readonly value: number;
34
+ /** Normalized share or position represented by this value. See {@link PieSliceGeometry}. */
35
+ readonly fraction: number;
36
+ /** Angle at which the arc or slice begins. See {@link PieSliceGeometry}. */
37
+ readonly startAngle: number;
38
+ /** Angle at which the arc or slice ends. See {@link PieSliceGeometry}. */
39
+ readonly endAngle: number;
40
+ }
41
+ /**
42
+ * Pure source-ordered full-circle layout. Angles use Canvas radians, clockwise from the top.
43
+ *
44
+ * @param data - Records whose values determine slice proportions.
45
+ * @param options - Value accessor and optional stable key accessor. See {@link PieOptions}.
46
+ * @returns Ordered slice geometry associated with the input records. See {@link PieSliceGeometry}.
47
+ *
48
+ * @see {@link PieOptions}
49
+ * @see {@link PieSliceGeometry}
50
+ */
51
+ export declare function pieSlices<D>(data: readonly D[], { value: input, keyBy }: PieOptions<D>): readonly PieSliceGeometry<D>[];