@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,309 @@
1
+ import type { registerNestedInteractionResolver, useBackendEventTarget } from "../../internal.js";
2
+ import type { mountBackendPibbl } from "../mount-pibbl.js";
3
+ import type { defineBackendPrimitive } from "../define-primitive.js";
4
+ import type { PibblElementSource } from '../element/metadata.js';
5
+ import type { PibblNode, PibblNodeInput } from '../element/types.js';
6
+ import type { PibblHitTestOutput } from '../events/paint-entry.js';
7
+ import type { PibblEventFocusOptions, PibblEventHandlers } from '../events/types.js';
8
+ import type { MeasureInput, MeasureResult, NormalizedStyle, PreservedSignalPropKey, PrimitiveProgramProps, ResolvedStyle, SpecifiedStyle, StyleResolutionContext, SystemStyle, Canvas, RenderingContext2D } from '../types.js';
9
+ import type { RenderTargetSnapshot } from '../render-target.js';
10
+ declare const PIBBL_BACKEND_TOKEN: unique symbol;
11
+ /**
12
+ * Opaque identity for one official Pibbl rendering backend.
13
+ *
14
+ * @see {@link createBackendToken}
15
+ * @see {@link PibblBackendDriver}
16
+ * @see {@link PibblBackendPrimitiveDefinition}
17
+ */
18
+ export interface PibblBackendToken {
19
+ readonly [PIBBL_BACKEND_TOKEN]: true;
20
+ }
21
+ /**
22
+ * Creates a package-private backend identity for an official Pibbl renderer.
23
+ *
24
+ * @param name - Diagnostic name identifying the backend.
25
+ * @returns A unique backend identity token. See {@link PibblBackendToken}.
26
+ *
27
+ * @see {@link PibblBackendToken}
28
+ */
29
+ export declare function createBackendToken(name: string): PibblBackendToken;
30
+ /** @internal Used only for diagnostics and dispatch inside core. */
31
+ export declare function getBackendTokenName(token: PibblBackendToken): string;
32
+ /**
33
+ * Executable primitive rendering program recognized by the backend.
34
+ *
35
+ * @param props - Resolved non-style component inputs. See {@link PrimitiveProgramProps}.
36
+ * @param style - Resolved primitive style. See {@link ResolvedStyle}.
37
+ * @param environment - Backend environment for the active frame.
38
+ * @returns Child nodes to traverse, or no children. See {@link PibblNodeInput}.
39
+ *
40
+ * @see {@link SystemStyle}
41
+ * @see {@link PrimitiveProgramProps}
42
+ * @see {@link ResolvedStyle}
43
+ * @see {@link PibblNodeInput}
44
+ * @see {@link PibblBackendPrimitiveDefinition}
45
+ * @see {@link defineBackendPrimitive}
46
+ */
47
+ export type PibblBackendPrimitiveProgram<P = any, R extends SystemStyle = SystemStyle, E = any> = (props: Readonly<PrimitiveProgramProps<P>>, style: ResolvedStyle<R>, environment: E) => PibblNodeInput | void;
48
+ /**
49
+ * Rendering, style, and measurement definition of a backend primitive.
50
+ *
51
+ * @see {@link SystemStyle}
52
+ * @see {@link PibblBackendToken}
53
+ * @see {@link PibblBackendPrimitiveProgram}
54
+ * @see {@link SpecifiedStyle}
55
+ * @see {@link NormalizedStyle}
56
+ * @see {@link StyleResolutionContext}
57
+ * @see {@link ResolvedStyle}
58
+ * @see {@link MeasureInput}
59
+ * @see {@link PrimitiveProgramProps}
60
+ * @see {@link MeasureResult}
61
+ * @see {@link PibblBackendPrimitiveInput}
62
+ */
63
+ export interface PibblBackendPrimitiveDefinition<P = any, S extends SystemStyle = SystemStyle, N extends SystemStyle = S, R extends SystemStyle = N, E = any> {
64
+ /** Identity of the backend that accepts this primitive. See {@link PibblBackendToken}. */
65
+ readonly backend: PibblBackendToken;
66
+ /**
67
+ * Names props whose signal identity is preserved for the primitive program. See
68
+ * {@link PreservedSignalPropKey}.
69
+ */
70
+ readonly preserveSignalProps?: readonly PreservedSignalPropKey<P>[];
71
+ /**
72
+ * Declares how the primitive receives and resolves its children. See
73
+ * {@link PibblBackendPrimitiveDefinition}.
74
+ */
75
+ readonly childInput?: 'structural' | 'text';
76
+ /** Executable primitive program used by the backend. See {@link PibblBackendPrimitiveProgram}. */
77
+ readonly program: PibblBackendPrimitiveProgram<P, R, E>;
78
+ /**
79
+ * Applies primitive defaults and shorthand normalization before layout resolution. See
80
+ * {@link SpecifiedStyle}, {@link NormalizedStyle}.
81
+ * @param style - Specified style values before normalization. See {@link SpecifiedStyle}.
82
+ * @returns Normalized style with the primitive's shorthand and defaults applied. See
83
+ * {@link NormalizedStyle} .
84
+ */
85
+ readonly normalizeStyle?: (style: SpecifiedStyle<S>) => NormalizedStyle<N>;
86
+ /**
87
+ * Resolves normalized style using the current layout context. See {@link NormalizedStyle},
88
+ * {@link StyleResolutionContext}, {@link ResolvedStyle}.
89
+ * @param style - Normalized style to resolve. See {@link NormalizedStyle}.
90
+ * @param context - Layout and diagnostic context for resolution. See
91
+ * {@link StyleResolutionContext} .
92
+ * @returns Resolved style ready for rendering. See {@link ResolvedStyle}.
93
+ */
94
+ readonly resolveStyle?: (style: NormalizedStyle<N>, context: Readonly<StyleResolutionContext>) => ResolvedStyle<R>;
95
+ /**
96
+ * Measures declared primitive inputs without painting or retaining draw commands. See
97
+ * {@link MeasureInput}, {@link PrimitiveProgramProps}, {@link MeasureResult}.
98
+ * @param input - Props, normalized style, constraints, and nested measurement services. See
99
+ * {@link MeasureInput} , {@link PrimitiveProgramProps} .
100
+ * @returns Measured dimensions or an unsupported measurement result. See {@link MeasureResult}.
101
+ */
102
+ readonly measure?: (input: MeasureInput<PrimitiveProgramProps<P>, N>) => MeasureResult;
103
+ }
104
+ /**
105
+ * Inputs used to begin a backend frame.
106
+ *
107
+ * @see {@link Canvas}
108
+ * @see {@link PibblBackendDriver}
109
+ */
110
+ export interface PibblBackendFrameInput {
111
+ /** Canvas surface associated with this resource or mount. See {@link Canvas}. */
112
+ readonly canvas: Canvas;
113
+ /** Canvas width in logical units. See {@link PibblBackendFrameInput}. */
114
+ readonly logicalWidth: number;
115
+ /** Canvas height in logical units. See {@link PibblBackendFrameInput}. */
116
+ readonly logicalHeight: number;
117
+ /** Width of the backing raster in physical pixels. See {@link PibblBackendFrameInput}. */
118
+ readonly backingWidth: number;
119
+ /** Height of the backing raster in physical pixels. See {@link PibblBackendFrameInput}. */
120
+ readonly backingHeight: number;
121
+ /** Timestamp associated with this render frame. See {@link PibblBackendFrameInput}. */
122
+ readonly renderTimestamp: number;
123
+ }
124
+ /**
125
+ * The backend rendering context for one scheduled frame.
126
+ *
127
+ * @see {@link RenderingContext2D}
128
+ * @see {@link PibblBackendDriver}
129
+ */
130
+ export interface PibblBackendFrame<E> {
131
+ /** Backend environment used while evaluating the frame. See {@link PibblBackendFrame}. */
132
+ readonly environment: E;
133
+ /** Canvas 2D context used for the current frame. See {@link RenderingContext2D}. */
134
+ readonly context2D?: RenderingContext2D;
135
+ /** Current drawing target owned by the backend frame. See {@link RenderTargetSnapshot}. */
136
+ readonly renderTarget?: RenderTargetSnapshot;
137
+ /**
138
+ * World transform establishing the backend frame's logical coordinate basis. See
139
+ * {@link PibblBackendFrame}.
140
+ */
141
+ readonly worldBaseTransform?: DOMMatrix;
142
+ }
143
+ /**
144
+ * Resolved inputs delivered to a backend primitive program.
145
+ *
146
+ * @see {@link PibblElementSource}
147
+ * @see {@link PibblBackendPrimitiveDefinition}
148
+ * @see {@link PibblBackendDriver}
149
+ */
150
+ export interface PibblBackendPrimitiveInput {
151
+ /** Component name retained for diagnostics. See {@link PibblBackendPrimitiveInput}. */
152
+ readonly componentName: string;
153
+ /** Authoring source location retained for diagnostics. See {@link PibblElementSource}. */
154
+ readonly source?: PibblElementSource;
155
+ /**
156
+ * Primitive definition used to resolve and render the supplied inputs. See
157
+ * {@link PibblBackendPrimitiveDefinition}.
158
+ */
159
+ readonly definition: PibblBackendPrimitiveDefinition;
160
+ /**
161
+ * Component props supplied to evaluation or measurement. See {@link PibblBackendPrimitiveInput}.
162
+ */
163
+ readonly props: Readonly<Record<PropertyKey, unknown>>;
164
+ /** Declared presentation and layout properties. See {@link PibblBackendPrimitiveInput}. */
165
+ readonly style: Readonly<Record<PropertyKey, unknown>>;
166
+ /**
167
+ * Transform applied to the primitive's presented Canvas geometry. See
168
+ * {@link PibblBackendPrimitiveInput}.
169
+ */
170
+ readonly presentationTransform2D?: DOMMatrix;
171
+ }
172
+ /**
173
+ * A mounted backend's frame execution and cleanup operations.
174
+ *
175
+ * @see {@link Canvas}
176
+ * @see {@link PibblNode}
177
+ * @see {@link PibblNestedResolverInput}
178
+ * @see {@link mountBackendPibbl}
179
+ */
180
+ export interface PibblBackendMount {
181
+ /** Canvas surface associated with this resource or mount. See {@link Canvas}. */
182
+ readonly canvas: Canvas;
183
+ /**
184
+ * Updates the backend surface to the supplied dimensions. See {@link PibblBackendMount}.
185
+ * @param logicalWidth - New logical viewport width.
186
+ * @param logicalHeight - New logical viewport height.
187
+ */
188
+ resize(logicalWidth: number, logicalHeight: number): void;
189
+ /**
190
+ * Renders the current data or resources using the supplied context. See {@link PibblBackendMount}
191
+ * .
192
+ * @param root - Node tree to render. See {@link PibblNode}.
193
+ * @param timestamp - Frame timestamp in milliseconds.
194
+ */
195
+ render(root: PibblNode, timestamp: number): void;
196
+ /**
197
+ * Requests future work from the owning scheduler. See {@link PibblBackendMount}.
198
+ * @param updateParents - Whether ancestor compositions also need to be scheduled.
199
+ */
200
+ requestFrame(updateParents: boolean): void;
201
+ /** Releases resources owned by this mounted object. See {@link PibblBackendMount}. */
202
+ dispose(): void;
203
+ }
204
+ /**
205
+ * Version-coupled rendering backend lifecycle used by official integrations.
206
+ *
207
+ * @see {@link PibblBackendToken}
208
+ * @see {@link PibblBackendFrameInput}
209
+ * @see {@link PibblBackendFrame}
210
+ * @see {@link PibblBackendPrimitiveInput}
211
+ * @see {@link PibblNodeInput}
212
+ * @see {@link PibblBackendMountOptions}
213
+ */
214
+ export interface PibblBackendDriver<E> {
215
+ /** Identity token distinguishing this backend driver. See {@link PibblBackendToken}. */
216
+ readonly token: PibblBackendToken;
217
+ /** Name identifying this backend, emitter, or parameter. See {@link PibblBackendDriver}. */
218
+ readonly name: string;
219
+ /**
220
+ * Begins backend work for one shared scheduler frame. See {@link PibblBackendFrame}.
221
+ * @param input - Root surface, timestamp, and logical dimensions for this render. See
222
+ * {@link PibblBackendFrameInput} .
223
+ * @returns Frame state, or undefined when no frame should be rendered. See
224
+ * {@link PibblBackendFrame} .
225
+ */
226
+ beginFrame(input: PibblBackendFrameInput): PibblBackendFrame<E> | undefined;
227
+ /**
228
+ * Enters a component's backend evaluation scope. See {@link PibblBackendDriver}.
229
+ * @param frame - Frame whose component environment should become active. See
230
+ * {@link PibblBackendFrame} .
231
+ * @returns A cleanup function restoring the previous environment.
232
+ */
233
+ enterComponent(frame: PibblBackendFrame<E>): () => void;
234
+ /**
235
+ * Runs a primitive's drawing program in the current backend frame. See {@link PibblBackendDriver}
236
+ * .
237
+ * @param frame - Active backend frame. See {@link PibblBackendFrame}.
238
+ * @param input - Primitive descriptor and resolved rendering inputs. See
239
+ * {@link PibblBackendPrimitiveInput} .
240
+ * @param runProgram - Runtime callback used to invoke the primitive program. See
241
+ * {@link PibblNodeInput} .
242
+ */
243
+ runPrimitive(frame: PibblBackendFrame<E>, input: PibblBackendPrimitiveInput, runProgram: (invoke: () => PibblNodeInput | void) => void): void;
244
+ /**
245
+ * Completes the backend frame and its pending composition work. See {@link PibblBackendDriver}.
246
+ * @param frame - Frame returned by beginFrame. See {@link PibblBackendFrame}.
247
+ * @param success - Whether traversal completed successfully.
248
+ */
249
+ finishFrame(frame: PibblBackendFrame<E>, success: boolean): void;
250
+ /** Releases resources owned by this mounted object. See {@link PibblBackendDriver}. */
251
+ dispose(): void;
252
+ }
253
+ /**
254
+ * Canvas, configuration, and ownership inputs used to create a backend mount.
255
+ *
256
+ * @see {@link Canvas}
257
+ * @see {@link PibblBackendDriver}
258
+ * @see {@link mountBackendPibbl}
259
+ */
260
+ export interface PibblBackendMountOptions<E> {
261
+ /** Owning parent runtime instance. See {@link Canvas}. */
262
+ readonly parent: Canvas;
263
+ /** Canvas width in logical units. See {@link PibblBackendMountOptions}. */
264
+ readonly logicalWidth: number;
265
+ /** Canvas height in logical units. See {@link PibblBackendMountOptions}. */
266
+ readonly logicalHeight: number;
267
+ /** Backend driver responsible for this mount. See {@link PibblBackendDriver}. */
268
+ readonly driver: PibblBackendDriver<E>;
269
+ }
270
+ /**
271
+ * Backend target registration options with logical interaction geometry.
272
+ *
273
+ * @see {@link useBackendEventTarget}
274
+ */
275
+ export interface PibblBackendEventTargetOptions extends PibblEventFocusOptions {
276
+ /**
277
+ * Cursor shown while this target owns pointer presentation. See
278
+ * {@link PibblBackendEventTargetOptions}.
279
+ */
280
+ readonly cursor?: string;
281
+ /** Defers backend-owned focus geometry until its visual generation commits. */
282
+ readonly deferKeyboardNavigationGeometry?: boolean;
283
+ }
284
+ /**
285
+ * Context supplied when resolving nested content through a backend.
286
+ *
287
+ * @see {@link PibblBackendMount}
288
+ * @see {@link PibblHitTestOutput}
289
+ * @see {@link registerNestedInteractionResolver}
290
+ */
291
+ export interface PibblNestedResolverInput {
292
+ /** Nested child content to resolve. See {@link PibblBackendMount}. */
293
+ readonly child: PibblBackendMount;
294
+ /** Logical region constraining the content or query. See {@link PibblNestedResolverInput}. */
295
+ readonly bounds: Path2D;
296
+ /** Whether this content participates in pointer targeting. See {@link PibblNestedResolverInput}. */
297
+ readonly pointerEvents: 'auto' | 'none';
298
+ /**
299
+ * Resolves nested content in the current local coordinate system. See
300
+ * {@link PibblNestedResolverInput}.
301
+ * @param localX - Horizontal position in resolver-local coordinates.
302
+ * @param localY - Vertical position in resolver-local coordinates.
303
+ * @param output - Mutable hit-test result to populate. See {@link PibblHitTestOutput}.
304
+ */
305
+ resolveLocal(localX: number, localY: number, output: PibblHitTestOutput): void;
306
+ }
307
+ /** @internal */
308
+ export declare function backendMismatchError(componentName: string, required: PibblBackendToken, active: PibblBackendDriver<unknown>, source?: PibblElementSource): Error;
309
+ export type { PibblEventHandlers };
@@ -0,0 +1,26 @@
1
+ const backendNames = /* @__PURE__ */ new WeakMap();
2
+ function createBackendToken(name) {
3
+ if (!name.trim()) {
4
+ throw new Error("Pibbl backend names must be nonempty.");
5
+ }
6
+ const token = Object.freeze({});
7
+ backendNames.set(token, name);
8
+ return token;
9
+ }
10
+ function getBackendTokenName(token) {
11
+ return backendNames.get(token) ?? "unknown";
12
+ }
13
+ function backendMismatchError(componentName, required, active, source) {
14
+ const requiredName = getBackendTokenName(required);
15
+ const prefix = `${componentName} requires the ${requiredName} backend and cannot render in the ${active.name} root.`;
16
+ return new Error(withJSXSource(prefix, source));
17
+ }
18
+ function withJSXSource(message, source) {
19
+ return source ? `${message} JSX source: ${source.fileName}:${source.lineNumber}:${source.columnNumber}.` : message;
20
+ }
21
+ export {
22
+ backendMismatchError,
23
+ createBackendToken,
24
+ getBackendTokenName
25
+ };
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/lib/backend/types.ts"],
4
+ "sourcesContent": ["import type { registerNestedInteractionResolver, useBackendEventTarget } from '../../internal.js';\nimport type { mountBackendPibbl } from '../mount-pibbl.js';\nimport type { defineBackendPrimitive } from '../define-primitive.js';\nimport type { PibblElementSource } from '../element/metadata.js';\nimport type { PibblNode, PibblNodeInput } from '../element/types.js';\nimport type { PibblHitTestOutput } from '../events/paint-entry.js';\nimport type { PibblEventFocusOptions, PibblEventHandlers } from '../events/types.js';\nimport type {\n MeasureInput,\n MeasureResult,\n NormalizedStyle,\n PreservedSignalPropKey,\n PrimitiveProgramProps,\n ResolvedStyle,\n SpecifiedStyle,\n StyleResolutionContext,\n SystemStyle,\n Canvas,\n RenderingContext2D,\n} from '../types.js';\nimport type { RenderTargetSnapshot } from '../render-target.js';\n\ndeclare const PIBBL_BACKEND_TOKEN: unique symbol;\n\n/**\n * Opaque identity for one official Pibbl rendering backend.\n *\n * @see {@link createBackendToken}\n * @see {@link PibblBackendDriver}\n * @see {@link PibblBackendPrimitiveDefinition}\n */\nexport interface PibblBackendToken {\n readonly [PIBBL_BACKEND_TOKEN]: true;\n}\n\nconst backendNames = new WeakMap<PibblBackendToken, string>();\n\n/**\n * Creates a package-private backend identity for an official Pibbl renderer.\n *\n * @param name - Diagnostic name identifying the backend.\n * @returns A unique backend identity token. See {@link PibblBackendToken}.\n *\n * @see {@link PibblBackendToken}\n */\nexport function createBackendToken(name: string): PibblBackendToken {\n if (!name.trim()) {\n throw new Error('Pibbl backend names must be nonempty.');\n }\n const token = Object.freeze({}) as PibblBackendToken;\n backendNames.set(token, name);\n return token;\n}\n\n/** @internal Used only for diagnostics and dispatch inside core. */\nexport function getBackendTokenName(token: PibblBackendToken): string {\n return backendNames.get(token) ?? 'unknown';\n}\n\n/**\n * Executable primitive rendering program recognized by the backend.\n *\n * @param props - Resolved non-style component inputs. See {@link PrimitiveProgramProps}.\n * @param style - Resolved primitive style. See {@link ResolvedStyle}.\n * @param environment - Backend environment for the active frame.\n * @returns Child nodes to traverse, or no children. See {@link PibblNodeInput}.\n *\n * @see {@link SystemStyle}\n * @see {@link PrimitiveProgramProps}\n * @see {@link ResolvedStyle}\n * @see {@link PibblNodeInput}\n * @see {@link PibblBackendPrimitiveDefinition}\n * @see {@link defineBackendPrimitive}\n */\nexport type PibblBackendPrimitiveProgram<\n P = any,\n R extends SystemStyle = SystemStyle,\n E = any,\n> = (\n props: Readonly<PrimitiveProgramProps<P>>,\n style: ResolvedStyle<R>,\n environment: E,\n) => PibblNodeInput | void;\n\n/**\n * Rendering, style, and measurement definition of a backend primitive.\n *\n * @see {@link SystemStyle}\n * @see {@link PibblBackendToken}\n * @see {@link PibblBackendPrimitiveProgram}\n * @see {@link SpecifiedStyle}\n * @see {@link NormalizedStyle}\n * @see {@link StyleResolutionContext}\n * @see {@link ResolvedStyle}\n * @see {@link MeasureInput}\n * @see {@link PrimitiveProgramProps}\n * @see {@link MeasureResult}\n * @see {@link PibblBackendPrimitiveInput}\n */\nexport interface PibblBackendPrimitiveDefinition<\n P = any,\n S extends SystemStyle = SystemStyle,\n N extends SystemStyle = S,\n R extends SystemStyle = N,\n E = any,\n> {\n /** Identity of the backend that accepts this primitive. See {@link PibblBackendToken}. */\n readonly backend: PibblBackendToken;\n /**\n * Names props whose signal identity is preserved for the primitive program. See\n * {@link PreservedSignalPropKey}.\n */\n readonly preserveSignalProps?: readonly PreservedSignalPropKey<P>[];\n /**\n * Declares how the primitive receives and resolves its children. See\n * {@link PibblBackendPrimitiveDefinition}.\n */\n readonly childInput?: 'structural' | 'text';\n /** Executable primitive program used by the backend. See {@link PibblBackendPrimitiveProgram}. */\n readonly program: PibblBackendPrimitiveProgram<P, R, E>;\n /**\n * Applies primitive defaults and shorthand normalization before layout resolution. See\n * {@link SpecifiedStyle}, {@link NormalizedStyle}.\n * @param style - Specified style values before normalization. See {@link SpecifiedStyle}.\n * @returns Normalized style with the primitive's shorthand and defaults applied. See\n * {@link NormalizedStyle} .\n */\n readonly normalizeStyle?: (style: SpecifiedStyle<S>) => NormalizedStyle<N>;\n /**\n * Resolves normalized style using the current layout context. See {@link NormalizedStyle},\n * {@link StyleResolutionContext}, {@link ResolvedStyle}.\n * @param style - Normalized style to resolve. See {@link NormalizedStyle}.\n * @param context - Layout and diagnostic context for resolution. See\n * {@link StyleResolutionContext} .\n * @returns Resolved style ready for rendering. See {@link ResolvedStyle}.\n */\n readonly resolveStyle?: (\n style: NormalizedStyle<N>,\n context: Readonly<StyleResolutionContext>,\n ) => ResolvedStyle<R>;\n /**\n * Measures declared primitive inputs without painting or retaining draw commands. See\n * {@link MeasureInput}, {@link PrimitiveProgramProps}, {@link MeasureResult}.\n * @param input - Props, normalized style, constraints, and nested measurement services. See\n * {@link MeasureInput} , {@link PrimitiveProgramProps} .\n * @returns Measured dimensions or an unsupported measurement result. See {@link MeasureResult}.\n */\n readonly measure?: (input: MeasureInput<PrimitiveProgramProps<P>, N>) => MeasureResult;\n}\n\n/**\n * Inputs used to begin a backend frame.\n *\n * @see {@link Canvas}\n * @see {@link PibblBackendDriver}\n */\nexport interface PibblBackendFrameInput {\n /** Canvas surface associated with this resource or mount. See {@link Canvas}. */\n readonly canvas: Canvas;\n /** Canvas width in logical units. See {@link PibblBackendFrameInput}. */\n readonly logicalWidth: number;\n /** Canvas height in logical units. See {@link PibblBackendFrameInput}. */\n readonly logicalHeight: number;\n /** Width of the backing raster in physical pixels. See {@link PibblBackendFrameInput}. */\n readonly backingWidth: number;\n /** Height of the backing raster in physical pixels. See {@link PibblBackendFrameInput}. */\n readonly backingHeight: number;\n /** Timestamp associated with this render frame. See {@link PibblBackendFrameInput}. */\n readonly renderTimestamp: number;\n}\n\n/**\n * The backend rendering context for one scheduled frame.\n *\n * @see {@link RenderingContext2D}\n * @see {@link PibblBackendDriver}\n */\nexport interface PibblBackendFrame<E> {\n /** Backend environment used while evaluating the frame. See {@link PibblBackendFrame}. */\n readonly environment: E;\n /** Canvas 2D context used for the current frame. See {@link RenderingContext2D}. */\n readonly context2D?: RenderingContext2D;\n /** Current drawing target owned by the backend frame. See {@link RenderTargetSnapshot}. */\n readonly renderTarget?: RenderTargetSnapshot;\n /**\n * World transform establishing the backend frame's logical coordinate basis. See\n * {@link PibblBackendFrame}.\n */\n readonly worldBaseTransform?: DOMMatrix;\n}\n\n/**\n * Resolved inputs delivered to a backend primitive program.\n *\n * @see {@link PibblElementSource}\n * @see {@link PibblBackendPrimitiveDefinition}\n * @see {@link PibblBackendDriver}\n */\nexport interface PibblBackendPrimitiveInput {\n /** Component name retained for diagnostics. See {@link PibblBackendPrimitiveInput}. */\n readonly componentName: string;\n /** Authoring source location retained for diagnostics. See {@link PibblElementSource}. */\n readonly source?: PibblElementSource;\n /**\n * Primitive definition used to resolve and render the supplied inputs. See\n * {@link PibblBackendPrimitiveDefinition}.\n */\n readonly definition: PibblBackendPrimitiveDefinition;\n /**\n * Component props supplied to evaluation or measurement. See {@link PibblBackendPrimitiveInput}.\n */\n readonly props: Readonly<Record<PropertyKey, unknown>>;\n /** Declared presentation and layout properties. See {@link PibblBackendPrimitiveInput}. */\n readonly style: Readonly<Record<PropertyKey, unknown>>;\n /**\n * Transform applied to the primitive's presented Canvas geometry. See\n * {@link PibblBackendPrimitiveInput}.\n */\n readonly presentationTransform2D?: DOMMatrix;\n}\n\n/**\n * A mounted backend's frame execution and cleanup operations.\n *\n * @see {@link Canvas}\n * @see {@link PibblNode}\n * @see {@link PibblNestedResolverInput}\n * @see {@link mountBackendPibbl}\n */\nexport interface PibblBackendMount {\n /** Canvas surface associated with this resource or mount. See {@link Canvas}. */\n readonly canvas: Canvas;\n /**\n * Updates the backend surface to the supplied dimensions. See {@link PibblBackendMount}.\n * @param logicalWidth - New logical viewport width.\n * @param logicalHeight - New logical viewport height.\n */\n resize(logicalWidth: number, logicalHeight: number): void;\n /**\n * Renders the current data or resources using the supplied context. See {@link PibblBackendMount}\n * .\n * @param root - Node tree to render. See {@link PibblNode}.\n * @param timestamp - Frame timestamp in milliseconds.\n */\n render(root: PibblNode, timestamp: number): void;\n /**\n * Requests future work from the owning scheduler. See {@link PibblBackendMount}.\n * @param updateParents - Whether ancestor compositions also need to be scheduled.\n */\n requestFrame(updateParents: boolean): void;\n /** Releases resources owned by this mounted object. See {@link PibblBackendMount}. */\n dispose(): void;\n}\n\n/**\n * Version-coupled rendering backend lifecycle used by official integrations.\n *\n * @see {@link PibblBackendToken}\n * @see {@link PibblBackendFrameInput}\n * @see {@link PibblBackendFrame}\n * @see {@link PibblBackendPrimitiveInput}\n * @see {@link PibblNodeInput}\n * @see {@link PibblBackendMountOptions}\n */\nexport interface PibblBackendDriver<E> {\n /** Identity token distinguishing this backend driver. See {@link PibblBackendToken}. */\n readonly token: PibblBackendToken;\n /** Name identifying this backend, emitter, or parameter. See {@link PibblBackendDriver}. */\n readonly name: string;\n /**\n * Begins backend work for one shared scheduler frame. See {@link PibblBackendFrame}.\n * @param input - Root surface, timestamp, and logical dimensions for this render. See\n * {@link PibblBackendFrameInput} .\n * @returns Frame state, or undefined when no frame should be rendered. See\n * {@link PibblBackendFrame} .\n */\n beginFrame(input: PibblBackendFrameInput): PibblBackendFrame<E> | undefined;\n /**\n * Enters a component's backend evaluation scope. See {@link PibblBackendDriver}.\n * @param frame - Frame whose component environment should become active. See\n * {@link PibblBackendFrame} .\n * @returns A cleanup function restoring the previous environment.\n */\n enterComponent(frame: PibblBackendFrame<E>): () => void;\n /**\n * Runs a primitive's drawing program in the current backend frame. See {@link PibblBackendDriver}\n * .\n * @param frame - Active backend frame. See {@link PibblBackendFrame}.\n * @param input - Primitive descriptor and resolved rendering inputs. See\n * {@link PibblBackendPrimitiveInput} .\n * @param runProgram - Runtime callback used to invoke the primitive program. See\n * {@link PibblNodeInput} .\n */\n runPrimitive(\n frame: PibblBackendFrame<E>,\n input: PibblBackendPrimitiveInput,\n runProgram: (invoke: () => PibblNodeInput | void) => void,\n ): void;\n /**\n * Completes the backend frame and its pending composition work. See {@link PibblBackendDriver}.\n * @param frame - Frame returned by beginFrame. See {@link PibblBackendFrame}.\n * @param success - Whether traversal completed successfully.\n */\n finishFrame(frame: PibblBackendFrame<E>, success: boolean): void;\n /** Releases resources owned by this mounted object. See {@link PibblBackendDriver}. */\n dispose(): void;\n}\n\n/**\n * Canvas, configuration, and ownership inputs used to create a backend mount.\n *\n * @see {@link Canvas}\n * @see {@link PibblBackendDriver}\n * @see {@link mountBackendPibbl}\n */\nexport interface PibblBackendMountOptions<E> {\n /** Owning parent runtime instance. See {@link Canvas}. */\n readonly parent: Canvas;\n /** Canvas width in logical units. See {@link PibblBackendMountOptions}. */\n readonly logicalWidth: number;\n /** Canvas height in logical units. See {@link PibblBackendMountOptions}. */\n readonly logicalHeight: number;\n /** Backend driver responsible for this mount. See {@link PibblBackendDriver}. */\n readonly driver: PibblBackendDriver<E>;\n}\n\n/**\n * Backend target registration options with logical interaction geometry.\n *\n * @see {@link useBackendEventTarget}\n */\nexport interface PibblBackendEventTargetOptions extends PibblEventFocusOptions {\n /**\n * Cursor shown while this target owns pointer presentation. See\n * {@link PibblBackendEventTargetOptions}.\n */\n readonly cursor?: string;\n /** Defers backend-owned focus geometry until its visual generation commits. */\n readonly deferKeyboardNavigationGeometry?: boolean;\n}\n\n/**\n * Context supplied when resolving nested content through a backend.\n *\n * @see {@link PibblBackendMount}\n * @see {@link PibblHitTestOutput}\n * @see {@link registerNestedInteractionResolver}\n */\nexport interface PibblNestedResolverInput {\n /** Nested child content to resolve. See {@link PibblBackendMount}. */\n readonly child: PibblBackendMount;\n /** Logical region constraining the content or query. See {@link PibblNestedResolverInput}. */\n readonly bounds: Path2D;\n /** Whether this content participates in pointer targeting. See {@link PibblNestedResolverInput}. */\n readonly pointerEvents: 'auto' | 'none';\n /**\n * Resolves nested content in the current local coordinate system. See\n * {@link PibblNestedResolverInput}.\n * @param localX - Horizontal position in resolver-local coordinates.\n * @param localY - Vertical position in resolver-local coordinates.\n * @param output - Mutable hit-test result to populate. See {@link PibblHitTestOutput}.\n */\n resolveLocal(localX: number, localY: number, output: PibblHitTestOutput): void;\n}\n\n/** @internal */\nexport function backendMismatchError(\n componentName: string,\n required: PibblBackendToken,\n active: PibblBackendDriver<unknown>,\n source?: PibblElementSource,\n): Error {\n const requiredName = getBackendTokenName(required);\n const prefix = `${componentName} requires the ${requiredName} backend and ` +\n `cannot render in the ${active.name} root.`;\n return new Error(withJSXSource(prefix, source));\n}\n\nfunction withJSXSource(message: string, source?: PibblElementSource): string {\n return source ?\n `${message} JSX source: ${source.fileName}:${source.lineNumber}:${source.columnNumber}.` :\n message;\n}\n\nexport type { PibblEventHandlers };\n"],
5
+ "mappings": "AAmCA,MAAM,eAAe,oBAAI,QAAmC;AAUrD,SAAS,mBAAmB,MAAiC;AAClE,MAAI,CAAC,KAAK,KAAK,GAAG;AAChB,UAAM,IAAI,MAAM,uCAAuC;AAAA,EACzD;AACA,QAAM,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC9B,eAAa,IAAI,OAAO,IAAI;AAC5B,SAAO;AACT;AAGO,SAAS,oBAAoB,OAAkC;AACpE,SAAO,aAAa,IAAI,KAAK,KAAK;AACpC;AAqTO,SAAS,qBACd,eACA,UACA,QACA,QACO;AACP,QAAM,eAAe,oBAAoB,QAAQ;AACjD,QAAM,SAAS,GAAG,aAAa,iBAAiB,YAAY,qCAClC,OAAO,IAAI;AACrC,SAAO,IAAI,MAAM,cAAc,QAAQ,MAAM,CAAC;AAChD;AAEA,SAAS,cAAc,SAAiB,QAAqC;AAC3E,SAAO,SACH,GAAG,OAAO,gBAAgB,OAAO,QAAQ,IAAI,OAAO,UAAU,IAAI,OAAO,YAAY,MACvF;AACJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ import type { LayoutBox } from "../layout/types.js";
2
+ import type { CircularSweep } from "../geometry/circular-sweep.js";
3
+ export declare function arcBounds(cx: number, cy: number, radius: number, sweep: Readonly<CircularSweep>): LayoutBox | undefined;
4
+ export declare function wedgeBounds(cx: number, cy: number, radius: number, sweep: Readonly<CircularSweep>): LayoutBox | undefined;
@@ -0,0 +1,46 @@
1
+ const fullTurn = Math.PI * 2;
2
+ function arcBounds(cx, cy, radius, sweep) {
3
+ if (radius <= 0 || sweep.sweep === 0) return void 0;
4
+ if (sweep.fullCircle) {
5
+ return {
6
+ x: cx - radius,
7
+ y: cy - radius,
8
+ width: radius * 2,
9
+ height: radius * 2
10
+ };
11
+ }
12
+ const angles = [sweep.startAngle, sweep.endAngle];
13
+ for (const cardinal of [0, Math.PI / 2, Math.PI, Math.PI * 1.5]) {
14
+ if (containsAngle(sweep, cardinal)) angles.push(cardinal);
15
+ }
16
+ const xs = angles.map((angle) => cx + radius * Math.cos(angle));
17
+ const ys = angles.map((angle) => cy + radius * Math.sin(angle));
18
+ const left = Math.min(...xs);
19
+ const right = Math.max(...xs);
20
+ const top = Math.min(...ys);
21
+ const bottom = Math.max(...ys);
22
+ return { x: left, y: top, width: right - left, height: bottom - top };
23
+ }
24
+ function wedgeBounds(cx, cy, radius, sweep) {
25
+ const bounds = arcBounds(cx, cy, radius, sweep);
26
+ if (!bounds || sweep.fullCircle) return bounds;
27
+ const left = Math.min(bounds.x, cx);
28
+ const right = Math.max(bounds.x + bounds.width, cx);
29
+ const top = Math.min(bounds.y, cy);
30
+ const bottom = Math.max(bounds.y + bounds.height, cy);
31
+ return { x: left, y: top, width: right - left, height: bottom - top };
32
+ }
33
+ function containsAngle(sweep, angle) {
34
+ const distance = sweep.counterclockwise ? positiveModulo(sweep.startAngle - angle, fullTurn) : positiveModulo(angle - sweep.startAngle, fullTurn);
35
+ return distance <= Math.abs(sweep.sweep);
36
+ }
37
+ function positiveModulo(value, divisor) {
38
+ const result = value % divisor;
39
+ if (result === 0) return 0;
40
+ return result < 0 ? result + divisor : result;
41
+ }
42
+ export {
43
+ arcBounds,
44
+ wedgeBounds
45
+ };
46
+ //# sourceMappingURL=arc-geometry.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/lib/components/arc-geometry.ts"],
4
+ "sourcesContent": ["import type { LayoutBox } from \"../layout/types.js\";\nimport type { CircularSweep } from \"../geometry/circular-sweep.js\";\n\nconst fullTurn = Math.PI * 2;\n\nexport function arcBounds(\n cx: number,\n cy: number,\n radius: number,\n sweep: Readonly<CircularSweep>,\n): LayoutBox | undefined {\n if (radius <= 0 || sweep.sweep === 0) return undefined;\n if (sweep.fullCircle) {\n return {\n x: cx - radius,\n y: cy - radius,\n width: radius * 2,\n height: radius * 2,\n };\n }\n\n const angles = [sweep.startAngle, sweep.endAngle];\n for (const cardinal of [0, Math.PI / 2, Math.PI, Math.PI * 1.5]) {\n if (containsAngle(sweep, cardinal)) angles.push(cardinal);\n }\n const xs = angles.map((angle) => cx + radius * Math.cos(angle));\n const ys = angles.map((angle) => cy + radius * Math.sin(angle));\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\nexport function wedgeBounds(\n cx: number,\n cy: number,\n radius: number,\n sweep: Readonly<CircularSweep>,\n): LayoutBox | undefined {\n const bounds = arcBounds(cx, cy, radius, sweep);\n if (!bounds || sweep.fullCircle) return bounds;\n const left = Math.min(bounds.x, cx);\n const right = Math.max(bounds.x + bounds.width, cx);\n const top = Math.min(bounds.y, cy);\n const bottom = Math.max(bounds.y + bounds.height, cy);\n return { x: left, y: top, width: right - left, height: bottom - top };\n}\n\nfunction containsAngle(sweep: Readonly<CircularSweep>, angle: number): boolean {\n const distance = sweep.counterclockwise\n ? positiveModulo(sweep.startAngle - angle, fullTurn)\n : positiveModulo(angle - sweep.startAngle, fullTurn);\n return distance <= Math.abs(sweep.sweep);\n}\n\nfunction positiveModulo(value: number, divisor: number): number {\n const result = value % divisor;\n if (result === 0) return 0;\n return result < 0 ? result + divisor : result;\n}\n"],
5
+ "mappings": "AAGA,MAAM,WAAW,KAAK,KAAK;AAEpB,SAAS,UACd,IACA,IACA,QACA,OACuB;AACvB,MAAI,UAAU,KAAK,MAAM,UAAU,EAAG,QAAO;AAC7C,MAAI,MAAM,YAAY;AACpB,WAAO;AAAA,MACL,GAAG,KAAK;AAAA,MACR,GAAG,KAAK;AAAA,MACR,OAAO,SAAS;AAAA,MAChB,QAAQ,SAAS;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,SAAS,CAAC,MAAM,YAAY,MAAM,QAAQ;AAChD,aAAW,YAAY,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,IAAI,KAAK,KAAK,GAAG,GAAG;AAC/D,QAAI,cAAc,OAAO,QAAQ,EAAG,QAAO,KAAK,QAAQ;AAAA,EAC1D;AACA,QAAM,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,KAAK,IAAI,KAAK,CAAC;AAC9D,QAAM,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,KAAK,IAAI,KAAK,CAAC;AAC9D,QAAM,OAAO,KAAK,IAAI,GAAG,EAAE;AAC3B,QAAM,QAAQ,KAAK,IAAI,GAAG,EAAE;AAC5B,QAAM,MAAM,KAAK,IAAI,GAAG,EAAE;AAC1B,QAAM,SAAS,KAAK,IAAI,GAAG,EAAE;AAC7B,SAAO,EAAE,GAAG,MAAM,GAAG,KAAK,OAAO,QAAQ,MAAM,QAAQ,SAAS,IAAI;AACtE;AAEO,SAAS,YACd,IACA,IACA,QACA,OACuB;AACvB,QAAM,SAAS,UAAU,IAAI,IAAI,QAAQ,KAAK;AAC9C,MAAI,CAAC,UAAU,MAAM,WAAY,QAAO;AACxC,QAAM,OAAO,KAAK,IAAI,OAAO,GAAG,EAAE;AAClC,QAAM,QAAQ,KAAK,IAAI,OAAO,IAAI,OAAO,OAAO,EAAE;AAClD,QAAM,MAAM,KAAK,IAAI,OAAO,GAAG,EAAE;AACjC,QAAM,SAAS,KAAK,IAAI,OAAO,IAAI,OAAO,QAAQ,EAAE;AACpD,SAAO,EAAE,GAAG,MAAM,GAAG,KAAK,OAAO,QAAQ,MAAM,QAAQ,SAAS,IAAI;AACtE;AAEA,SAAS,cAAc,OAAgC,OAAwB;AAC7E,QAAM,WAAW,MAAM,mBACnB,eAAe,MAAM,aAAa,OAAO,QAAQ,IACjD,eAAe,QAAQ,MAAM,YAAY,QAAQ;AACrD,SAAO,YAAY,KAAK,IAAI,MAAM,KAAK;AACzC;AAEA,SAAS,eAAe,OAAe,SAAyB;AAC9D,QAAM,SAAS,QAAQ;AACvB,MAAI,WAAW,EAAG,QAAO;AACzB,SAAO,SAAS,IAAI,SAAS,UAAU;AACzC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,55 @@
1
+ import type { PibblEventFocusOptions, PibblEventHandlers, PibblEventParticipationOptions } from "../events/types.js";
2
+ import type { BoxStyle, CursorStyle, LayoutItemStyle, Length, PaintStyle } from "../style/types.js";
3
+ import type { SystemStyle } from "../types.js";
4
+ import type { PibblPhysics2DPropExtension } from "../types.js";
5
+ /**
6
+ * Authored inputs for Arc, including the declared data and presentation options.
7
+ *
8
+ * @see {@link PibblEventHandlers}
9
+ * @see {@link PibblEventParticipationOptions}
10
+ * @see {@link PibblPhysics2DPropExtension}
11
+ * @see {@link Arc}
12
+ */
13
+ export interface ArcProps extends PibblEventHandlers, PibblEventFocusOptions, PibblEventParticipationOptions, PibblPhysics2DPropExtension {
14
+ }
15
+ /**
16
+ * Supported geometry and presentation properties for Arc.
17
+ *
18
+ * @see {@link SystemStyle}
19
+ * @see {@link PaintStyle}
20
+ * @see {@link CursorStyle}
21
+ * @see {@link BoxStyle}
22
+ * @see {@link LayoutItemStyle}
23
+ * @see {@link Length}
24
+ * @see {@link Arc}
25
+ */
26
+ export interface ArcStyle extends SystemStyle, Omit<PaintStyle, "fill">, CursorStyle, BoxStyle, LayoutItemStyle {
27
+ /** Radius in the coordinate system of this geometry or effect. See {@link Length}. */
28
+ radius: Exclude<Length, "auto">;
29
+ /** Angle at which the arc or slice begins. See {@link ArcStyle}. */
30
+ startAngle: number;
31
+ /** Angle at which the arc or slice ends. See {@link ArcStyle}. */
32
+ endAngle: number;
33
+ /** Horizontal coordinate of the center. See {@link Length}. */
34
+ cx?: Exclude<Length, "auto">;
35
+ /** Vertical coordinate of the center. See {@link Length}. */
36
+ cy?: Exclude<Length, "auto">;
37
+ /** Whether the arc follows the counterclockwise direction. See {@link ArcStyle}. */
38
+ counterclockwise?: boolean;
39
+ /**
40
+ * Width used for line hit testing independently of the visible stroke width. See
41
+ * {@link ArcStyle}.
42
+ */
43
+ lineInteractionWidth?: number;
44
+ }
45
+ /**
46
+ * Describes an open circular arc primitive for JSX or createElement authoring.
47
+ *
48
+ * @param props - Authored component inputs, supplied through JSX or createElement. See the linked
49
+ * props and style types.
50
+ * @throws When called directly; Pibbl mounts this component through JSX or createElement.
51
+ *
52
+ * @see {@link ArcProps}
53
+ * @see {@link ArcStyle}
54
+ */
55
+ export declare const Arc: import("@pibbl/core").PibblPrimitiveComponent<ArcProps, import("@pibbl/core").PrimitiveInput<ArcProps, ArcStyle>>;
@@ -0,0 +1,91 @@
1
+ import { definePrimitive } from "../define-primitive.js";
2
+ import {
3
+ resolveLocalOffset,
4
+ stripLayoutParticipation
5
+ } from "../style/resolve-built-in.js";
6
+ import { registerOpaqueStyleProperties } from "../style/resolve-dispatch.js";
7
+ import { arcBounds } from "./arc-geometry.js";
8
+ import {
9
+ createArcPath,
10
+ resolveCircularSweep
11
+ } from "../geometry/circular-sweep.js";
12
+ import { renderPath } from "./path.js";
13
+ import {
14
+ circularPercentageBasis,
15
+ resolveFiniteShapeNumber,
16
+ resolveNonnegativeShapeLength
17
+ } from "./shape-style.js";
18
+ function renderArc(props, style, ctx) {
19
+ const {
20
+ cx,
21
+ cy,
22
+ radius,
23
+ startAngle,
24
+ endAngle,
25
+ counterclockwise,
26
+ stroke,
27
+ strokeWidth,
28
+ opacity,
29
+ cursor,
30
+ lineInteractionWidth
31
+ } = style;
32
+ const sweep = resolveCircularSweep(startAngle, endAngle, counterclockwise);
33
+ const path = createArcPath({
34
+ cx,
35
+ cy,
36
+ radius,
37
+ startAngle,
38
+ endAngle,
39
+ counterclockwise
40
+ });
41
+ return renderPath(
42
+ {
43
+ ...props,
44
+ keyboardNavigationBounds: props.keyboardNavigationBounds ?? arcBounds(cx, cy, radius, sweep)
45
+ },
46
+ {
47
+ d: path,
48
+ stroke,
49
+ strokeWidth,
50
+ opacity,
51
+ cursor,
52
+ lineInteractionWidth
53
+ },
54
+ ctx
55
+ );
56
+ }
57
+ const Arc = definePrimitive(renderArc, {
58
+ resolveStyle: (style, context) => ({
59
+ ...stripLayoutParticipation(style),
60
+ cx: resolveLocalOffset(
61
+ style.cx,
62
+ context.percentageBasis.width,
63
+ "cx",
64
+ context
65
+ ),
66
+ cy: resolveLocalOffset(
67
+ style.cy,
68
+ context.percentageBasis.height,
69
+ "cy",
70
+ context
71
+ ),
72
+ radius: resolveNonnegativeShapeLength(
73
+ style.radius,
74
+ circularPercentageBasis(context),
75
+ "radius",
76
+ context
77
+ ),
78
+ startAngle: resolveFiniteShapeNumber(
79
+ style.startAngle,
80
+ "startAngle",
81
+ context
82
+ ),
83
+ endAngle: resolveFiniteShapeNumber(style.endAngle, "endAngle", context),
84
+ counterclockwise: style.counterclockwise ?? false
85
+ })
86
+ });
87
+ registerOpaqueStyleProperties(Arc, ["stroke", "cursor"]);
88
+ export {
89
+ Arc
90
+ };
91
+ //# sourceMappingURL=arc.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/lib/components/arc.ts"],
4
+ "sourcesContent": ["import { definePrimitive } from \"../define-primitive.js\";\nimport type {\n PibblEventFocusOptions,\n PibblEventHandlers,\n PibblEventParticipationOptions,\n} from \"../events/types.js\";\nimport {\n resolveLocalOffset,\n stripLayoutParticipation,\n} from \"../style/resolve-built-in.js\";\nimport { registerOpaqueStyleProperties } from \"../style/resolve-dispatch.js\";\nimport type {\n BoxStyle,\n CursorStyle,\n LayoutItemStyle,\n Length,\n PaintStyle,\n ResolvedDrawingStyle,\n} from \"../style/types.js\";\nimport type { RenderingContext2D, SystemStyle } from \"../types.js\";\nimport type { PibblPhysics2DPropExtension } from \"../types.js\";\nimport { arcBounds } from \"./arc-geometry.js\";\nimport {\n createArcPath,\n resolveCircularSweep,\n} from \"../geometry/circular-sweep.js\";\nimport { renderPath } from \"./path.js\";\nimport {\n circularPercentageBasis,\n resolveFiniteShapeNumber,\n resolveNonnegativeShapeLength,\n} from \"./shape-style.js\";\n\n/**\n * Authored inputs for Arc, including the declared data and presentation options.\n *\n * @see {@link PibblEventHandlers}\n * @see {@link PibblEventParticipationOptions}\n * @see {@link PibblPhysics2DPropExtension}\n * @see {@link Arc}\n */\nexport interface ArcProps extends PibblEventHandlers, PibblEventFocusOptions, PibblEventParticipationOptions, PibblPhysics2DPropExtension {}\n\n/**\n * Supported geometry and presentation properties for Arc.\n *\n * @see {@link SystemStyle}\n * @see {@link PaintStyle}\n * @see {@link CursorStyle}\n * @see {@link BoxStyle}\n * @see {@link LayoutItemStyle}\n * @see {@link Length}\n * @see {@link Arc}\n */\nexport interface ArcStyle\n extends SystemStyle, Omit<PaintStyle, \"fill\">, CursorStyle, BoxStyle, LayoutItemStyle {\n /** Radius in the coordinate system of this geometry or effect. See {@link Length}. */\n radius: Exclude<Length, \"auto\">;\n /** Angle at which the arc or slice begins. See {@link ArcStyle}. */\n startAngle: number;\n /** Angle at which the arc or slice ends. See {@link ArcStyle}. */\n endAngle: number;\n /** Horizontal coordinate of the center. See {@link Length}. */\n cx?: Exclude<Length, \"auto\">;\n /** Vertical coordinate of the center. See {@link Length}. */\n cy?: Exclude<Length, \"auto\">;\n /** Whether the arc follows the counterclockwise direction. See {@link ArcStyle}. */\n counterclockwise?: boolean;\n /**\n * Width used for line hit testing independently of the visible stroke width. See\n * {@link ArcStyle}.\n */\n lineInteractionWidth?: number;\n}\n\ntype ResolvedArcStyle = ResolvedDrawingStyle<ArcStyle> & {\n radius: number;\n startAngle: number;\n endAngle: number;\n cx: number;\n cy: number;\n counterclockwise: boolean;\n};\n\nfunction renderArc(\n props: ArcProps,\n style: Readonly<ResolvedArcStyle>,\n ctx: RenderingContext2D,\n) {\n const {\n cx,\n cy,\n radius,\n startAngle,\n endAngle,\n counterclockwise,\n stroke,\n strokeWidth,\n opacity,\n cursor,\n lineInteractionWidth,\n } = style;\n const sweep = resolveCircularSweep(startAngle, endAngle, counterclockwise);\n const path = createArcPath({\n cx,\n cy,\n radius,\n startAngle,\n endAngle,\n counterclockwise,\n });\n\n return renderPath(\n {\n ...props,\n keyboardNavigationBounds:\n props.keyboardNavigationBounds ?? arcBounds(cx, cy, radius, sweep),\n },\n {\n d: path,\n stroke,\n strokeWidth,\n opacity,\n cursor,\n lineInteractionWidth,\n },\n ctx,\n );\n}\n\n/**\n * Describes an open circular arc primitive for JSX or createElement authoring.\n *\n * @param props - Authored component inputs, supplied through JSX or createElement. See the linked\n * props and style types.\n * @throws When called directly; Pibbl mounts this component through JSX or createElement.\n *\n * @see {@link ArcProps}\n * @see {@link ArcStyle}\n */\nexport const Arc = definePrimitive<\n ArcProps,\n ArcStyle,\n ArcStyle,\n ResolvedArcStyle\n>(renderArc, {\n resolveStyle: (style, context) =>\n ({\n ...stripLayoutParticipation(style),\n cx: resolveLocalOffset(\n style.cx,\n context.percentageBasis.width,\n \"cx\",\n context,\n ),\n cy: resolveLocalOffset(\n style.cy,\n context.percentageBasis.height,\n \"cy\",\n context,\n ),\n radius: resolveNonnegativeShapeLength(\n style.radius,\n circularPercentageBasis(context),\n \"radius\",\n context,\n ),\n startAngle: resolveFiniteShapeNumber(\n style.startAngle,\n \"startAngle\",\n context,\n ),\n endAngle: resolveFiniteShapeNumber(style.endAngle, \"endAngle\", context),\n counterclockwise: style.counterclockwise ?? false,\n }) as ResolvedArcStyle,\n});\nregisterOpaqueStyleProperties(Arc, [\"stroke\", \"cursor\"]);\n"],
5
+ "mappings": "AAAA,SAAS,uBAAuB;AAMhC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,qCAAqC;AAW9C,SAAS,iBAAiB;AAC1B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAqDP,SAAS,UACP,OACA,OACA,KACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,QAAQ,qBAAqB,YAAY,UAAU,gBAAgB;AACzE,QAAM,OAAO,cAAc;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,0BACE,MAAM,4BAA4B,UAAU,IAAI,IAAI,QAAQ,KAAK;AAAA,IACrE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;AAYO,MAAM,MAAM,gBAKjB,WAAW;AAAA,EACX,cAAc,CAAC,OAAO,aACnB;AAAA,IACC,GAAG,yBAAyB,KAAK;AAAA,IACjC,IAAI;AAAA,MACF,MAAM;AAAA,MACN,QAAQ,gBAAgB;AAAA,MACxB;AAAA,MACA;AAAA,IACF;AAAA,IACA,IAAI;AAAA,MACF,MAAM;AAAA,MACN,QAAQ,gBAAgB;AAAA,MACxB;AAAA,MACA;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,wBAAwB,OAAO;AAAA,MAC/B;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,IACA,UAAU,yBAAyB,MAAM,UAAU,YAAY,OAAO;AAAA,IACtE,kBAAkB,MAAM,oBAAoB;AAAA,EAC9C;AACJ,CAAC;AACD,8BAA8B,KAAK,CAAC,UAAU,QAAQ,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,49 @@
1
+ import type { PibblEventFocusOptions, PibblEventHandlers, PibblEventParticipationOptions } from '../events/types.js';
2
+ import type { SystemStyle } from '../types.js';
3
+ import type { PibblPhysics2DPropExtension } from '../types.js';
4
+ import type { BoxStyle, CursorStyle, LayoutItemStyle, Length, PaintStyle } from '../style/types.js';
5
+ /**
6
+ * Authored inputs for Circle, including the declared data and presentation options.
7
+ *
8
+ * @see {@link PibblEventHandlers}
9
+ * @see {@link PibblEventParticipationOptions}
10
+ * @see {@link PibblPhysics2DPropExtension}
11
+ * @see {@link Circle}
12
+ */
13
+ export interface CircleProps extends PibblEventHandlers, PibblEventFocusOptions, PibblEventParticipationOptions, PibblPhysics2DPropExtension {
14
+ }
15
+ /**
16
+ * Supported geometry and presentation properties for Circle.
17
+ *
18
+ * @see {@link SystemStyle}
19
+ * @see {@link PaintStyle}
20
+ * @see {@link CursorStyle}
21
+ * @see {@link BoxStyle}
22
+ * @see {@link LayoutItemStyle}
23
+ * @see {@link Length}
24
+ * @see {@link Circle}
25
+ */
26
+ export interface CircleStyle extends SystemStyle, PaintStyle, CursorStyle, BoxStyle, LayoutItemStyle {
27
+ /** Radius in the coordinate system of this geometry or effect. See {@link Length}. */
28
+ radius: Exclude<Length, 'auto'>;
29
+ /** Horizontal coordinate of the center. See {@link Length}. */
30
+ cx?: Exclude<Length, 'auto'>;
31
+ /** Vertical coordinate of the center. See {@link Length}. */
32
+ cy?: Exclude<Length, 'auto'>;
33
+ /**
34
+ * Width used for line hit testing independently of the visible stroke width. See
35
+ * {@link CircleStyle}.
36
+ */
37
+ lineInteractionWidth?: number;
38
+ }
39
+ /**
40
+ * Describes a circle primitive for JSX or createElement authoring.
41
+ *
42
+ * @param props - Authored component inputs, supplied through JSX or createElement. See the linked
43
+ * props and style types.
44
+ * @throws When called directly; Pibbl mounts this component through JSX or createElement.
45
+ *
46
+ * @see {@link CircleProps}
47
+ * @see {@link CircleStyle}
48
+ */
49
+ export declare const Circle: import("@pibbl/core").PibblPrimitiveComponent<CircleProps, import("@pibbl/core").PrimitiveInput<CircleProps, CircleStyle>>;