@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,105 @@
1
+ import { layoutDiagnostic } from "../lib/style/diagnostics.js";
2
+ function assertNativeCanvasFilter(context, cssText, component, diagnoseRejection) {
3
+ const accessor = requireNativeFilterAccessor(context, component);
4
+ resetNativeFilterAccessor(context, accessor, component);
5
+ writeNativeFilter(context, accessor, cssText, component);
6
+ if (readNativeFilter(context, accessor, component) !== "none") return;
7
+ diagnoseRejection?.();
8
+ throw nativeFilterDiagnostic(component, cssText, "the complete native Canvas filter chain is unsupported");
9
+ }
10
+ function resetNativeCanvasFilter(context, component) {
11
+ resetNativeFilterAccessor(context, requireNativeFilterAccessor(context, component), component);
12
+ }
13
+ function resetNativeCanvasFilterIfSupported(context) {
14
+ try {
15
+ resetNativeCanvasFilter(context, "filter surface");
16
+ } catch {
17
+ }
18
+ }
19
+ function resetNativeFilterAccessor(context, accessor, component) {
20
+ writeNativeFilter(context, accessor, "none", component);
21
+ if (readNativeFilter(context, accessor, component) !== "none") {
22
+ throw nativeFilterDiagnostic(
23
+ component,
24
+ void 0,
25
+ "the native Canvas filter state could not reset to none"
26
+ );
27
+ }
28
+ }
29
+ function requireNativeFilterAccessor(context, component) {
30
+ const ownDescriptor = Object.getOwnPropertyDescriptor(context, "filter");
31
+ if (ownDescriptor) {
32
+ if (!ownDescriptor.configurable || !Reflect.deleteProperty(context, "filter")) {
33
+ throw nativeFilterDiagnostic(
34
+ component,
35
+ void 0,
36
+ "a shadowing own filter property could not be removed"
37
+ );
38
+ }
39
+ }
40
+ let prototype = Object.getPrototypeOf(context);
41
+ while (prototype) {
42
+ const descriptor = Object.getOwnPropertyDescriptor(prototype, "filter");
43
+ if (descriptor) {
44
+ if (typeof descriptor.get === "function" && typeof descriptor.set === "function") {
45
+ return {
46
+ get: descriptor.get,
47
+ set: descriptor.set
48
+ };
49
+ }
50
+ break;
51
+ }
52
+ prototype = Object.getPrototypeOf(prototype);
53
+ }
54
+ throw nativeFilterDiagnostic(
55
+ component,
56
+ void 0,
57
+ "requires native Canvas filter support with a getter and setter"
58
+ );
59
+ }
60
+ function readNativeFilter(context, accessor, component) {
61
+ let value;
62
+ try {
63
+ value = accessor.get.call(context);
64
+ } catch {
65
+ throw nativeFilterDiagnostic(
66
+ component,
67
+ void 0,
68
+ "the native Canvas filter getter threw"
69
+ );
70
+ }
71
+ if (typeof value !== "string") {
72
+ throw nativeFilterDiagnostic(
73
+ component,
74
+ value,
75
+ "the native Canvas filter getter returned a non-string value"
76
+ );
77
+ }
78
+ return value;
79
+ }
80
+ function writeNativeFilter(context, accessor, value, component) {
81
+ try {
82
+ accessor.set.call(context, value);
83
+ } catch {
84
+ throw nativeFilterDiagnostic(
85
+ component,
86
+ value,
87
+ "the native Canvas filter setter threw"
88
+ );
89
+ }
90
+ }
91
+ function nativeFilterDiagnostic(component, value, reason) {
92
+ return layoutDiagnostic({
93
+ component,
94
+ property: "filter",
95
+ value,
96
+ algorithm: "filter-rendering",
97
+ reason
98
+ });
99
+ }
100
+ export {
101
+ assertNativeCanvasFilter,
102
+ resetNativeCanvasFilter,
103
+ resetNativeCanvasFilterIfSupported
104
+ };
105
+ //# sourceMappingURL=native-canvas-filter.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/filters/native-canvas-filter.ts"],
4
+ "sourcesContent": ["import type { RenderingContext2D } from '../lib/types.js';\nimport { layoutDiagnostic } from '../lib/style/diagnostics.js';\n\nexport function assertNativeCanvasFilter(\n context: RenderingContext2D,\n cssText: string,\n component: string,\n diagnoseRejection?: () => void,\n): void {\n const accessor = requireNativeFilterAccessor(context, component);\n resetNativeFilterAccessor(context, accessor, component);\n writeNativeFilter(context, accessor, cssText, component);\n if (readNativeFilter(context, accessor, component) !== 'none') return;\n diagnoseRejection?.();\n throw nativeFilterDiagnostic(component, cssText, 'the complete native Canvas filter chain is unsupported');\n}\n\nexport function resetNativeCanvasFilter(context: RenderingContext2D, component: string): void {\n resetNativeFilterAccessor(context, requireNativeFilterAccessor(context, component), component);\n}\n\nexport function resetNativeCanvasFilterIfSupported(context: RenderingContext2D): void {\n try { resetNativeCanvasFilter(context, 'filter surface'); } catch {\n // Cleanup must never mask the original capability or user-rendering failure.\n }\n}\n\nfunction resetNativeFilterAccessor(\n context: RenderingContext2D,\n accessor: NativeFilterAccessor,\n component: string,\n): void {\n writeNativeFilter(context, accessor, 'none', component);\n if (readNativeFilter(context, accessor, component) !== 'none') {\n throw nativeFilterDiagnostic(\n component,\n undefined,\n 'the native Canvas filter state could not reset to none',\n );\n }\n}\n\ninterface NativeFilterAccessor {\n readonly get: (this: RenderingContext2D) => unknown;\n readonly set: (this: RenderingContext2D, value: string) => void;\n}\n\nfunction requireNativeFilterAccessor(\n context: RenderingContext2D,\n component: string,\n): NativeFilterAccessor {\n const ownDescriptor = Object.getOwnPropertyDescriptor(context, 'filter');\n if (ownDescriptor) {\n if (\n !ownDescriptor.configurable ||\n !Reflect.deleteProperty(context, 'filter')\n ) {\n throw nativeFilterDiagnostic(\n component,\n undefined,\n 'a shadowing own filter property could not be removed',\n );\n }\n }\n\n let prototype = Object.getPrototypeOf(context);\n while (prototype) {\n const descriptor = Object.getOwnPropertyDescriptor(prototype, 'filter');\n if (descriptor) {\n if (\n typeof descriptor.get === 'function' &&\n typeof descriptor.set === 'function'\n ) {\n return {\n get: descriptor.get as NativeFilterAccessor['get'],\n set: descriptor.set as NativeFilterAccessor['set'],\n };\n }\n break;\n }\n prototype = Object.getPrototypeOf(prototype);\n }\n\n throw nativeFilterDiagnostic(\n component,\n undefined,\n 'requires native Canvas filter support with a getter and setter',\n );\n}\n\nfunction readNativeFilter(\n context: RenderingContext2D,\n accessor: NativeFilterAccessor,\n component: string,\n): string {\n let value: unknown;\n try {\n value = accessor.get.call(context);\n } catch {\n throw nativeFilterDiagnostic(\n component,\n undefined,\n 'the native Canvas filter getter threw',\n );\n }\n if (typeof value !== 'string') {\n throw nativeFilterDiagnostic(\n component,\n value,\n 'the native Canvas filter getter returned a non-string value',\n );\n }\n return value;\n}\n\nfunction writeNativeFilter(\n context: RenderingContext2D,\n accessor: NativeFilterAccessor,\n value: string,\n component: string,\n): void {\n try {\n accessor.set.call(context, value);\n } catch {\n throw nativeFilterDiagnostic(\n component,\n value,\n 'the native Canvas filter setter threw',\n );\n }\n}\n\nfunction nativeFilterDiagnostic(\n component: string,\n value: unknown,\n reason: string,\n) {\n return layoutDiagnostic({\n component,\n property: 'filter',\n value,\n algorithm: 'filter-rendering',\n reason,\n });\n}\n\n"],
5
+ "mappings": "AACA,SAAS,wBAAwB;AAE1B,SAAS,yBACd,SACA,SACA,WACA,mBACM;AACN,QAAM,WAAW,4BAA4B,SAAS,SAAS;AAC/D,4BAA0B,SAAS,UAAU,SAAS;AACtD,oBAAkB,SAAS,UAAU,SAAS,SAAS;AACvD,MAAI,iBAAiB,SAAS,UAAU,SAAS,MAAM,OAAQ;AAC/D,sBAAoB;AACpB,QAAM,uBAAuB,WAAW,SAAS,wDAAwD;AAC3G;AAEO,SAAS,wBAAwB,SAA6B,WAAyB;AAC5F,4BAA0B,SAAS,4BAA4B,SAAS,SAAS,GAAG,SAAS;AAC/F;AAEO,SAAS,mCAAmC,SAAmC;AACpF,MAAI;AAAE,4BAAwB,SAAS,gBAAgB;AAAA,EAAG,QAAQ;AAAA,EAElE;AACF;AAEA,SAAS,0BACP,SACA,UACA,WACM;AACN,oBAAkB,SAAS,UAAU,QAAQ,SAAS;AACtD,MAAI,iBAAiB,SAAS,UAAU,SAAS,MAAM,QAAQ;AAC7D,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAOA,SAAS,4BACP,SACA,WACsB;AACtB,QAAM,gBAAgB,OAAO,yBAAyB,SAAS,QAAQ;AACvE,MAAI,eAAe;AACjB,QACE,CAAC,cAAc,gBACf,CAAC,QAAQ,eAAe,SAAS,QAAQ,GACzC;AACA,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,YAAY,OAAO,eAAe,OAAO;AAC7C,SAAO,WAAW;AAChB,UAAM,aAAa,OAAO,yBAAyB,WAAW,QAAQ;AACtE,QAAI,YAAY;AACd,UACE,OAAO,WAAW,QAAQ,cAC1B,OAAO,WAAW,QAAQ,YAC1B;AACA,eAAO;AAAA,UACL,KAAK,WAAW;AAAA,UAChB,KAAK,WAAW;AAAA,QAClB;AAAA,MACF;AACA;AAAA,IACF;AACA,gBAAY,OAAO,eAAe,SAAS;AAAA,EAC7C;AAEA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,iBACP,SACA,UACA,WACQ;AACR,MAAI;AACJ,MAAI;AACF,YAAQ,SAAS,IAAI,KAAK,OAAO;AAAA,EACnC,QAAQ;AACN,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,kBACP,SACA,UACA,OACA,WACM;AACN,MAAI;AACF,aAAS,IAAI,KAAK,SAAS,KAAK;AAAA,EAClC,QAAQ;AACN,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,uBACP,WACA,OACA,QACA;AACA,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,WAAW;AAAA,IACX;AAAA,EACF,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import type { StyleResolutionContext } from "../lib/types.js";
2
+ export declare function concreteColor(value: unknown, property: string, context: Readonly<StyleResolutionContext>): string;
@@ -0,0 +1,200 @@
1
+ import { layoutDiagnostic } from "../lib/style/diagnostics.js";
2
+ const contextualColorIdentifiers = /* @__PURE__ */ new Set([
3
+ "-webkit-activelink",
4
+ "-webkit-link",
5
+ "accentcolor",
6
+ "accentcolortext",
7
+ "activeborder",
8
+ "activecaption",
9
+ "activetext",
10
+ "appworkspace",
11
+ "background",
12
+ "buttonborder",
13
+ "buttonface",
14
+ "buttonhighlight",
15
+ "buttonshadow",
16
+ "buttontext",
17
+ "canvas",
18
+ "canvastext",
19
+ "captiontext",
20
+ "currentcolor",
21
+ "field",
22
+ "fieldtext",
23
+ "graytext",
24
+ "highlight",
25
+ "highlighttext",
26
+ "inactiveborder",
27
+ "inactivecaption",
28
+ "inactivecaptiontext",
29
+ "infobackground",
30
+ "infotext",
31
+ "linktext",
32
+ "mark",
33
+ "marktext",
34
+ "menu",
35
+ "menutext",
36
+ "scrollbar",
37
+ "selecteditem",
38
+ "selecteditemtext",
39
+ "threeddarkshadow",
40
+ "threedface",
41
+ "threedhighlight",
42
+ "threedlightshadow",
43
+ "threedshadow",
44
+ "visitedtext",
45
+ "window",
46
+ "windowframe",
47
+ "windowtext"
48
+ ]);
49
+ const contextualColorFunctions = /* @__PURE__ */ new Set([
50
+ "attr",
51
+ "cycle",
52
+ "env",
53
+ "if",
54
+ "inherit",
55
+ "light-dark",
56
+ "random",
57
+ "random-item",
58
+ "sibling-count",
59
+ "sibling-index",
60
+ "var"
61
+ ]);
62
+ function concreteColor(value, property, context) {
63
+ if (typeof value !== "string") {
64
+ throw invalidFilter(property, value, "must be a CSS color string", context);
65
+ }
66
+ const inspection = inspectColorTokens(value);
67
+ if (!inspection.balanced) {
68
+ throw invalidFilter(
69
+ property,
70
+ value,
71
+ "must remain within one balanced CSS color token boundary",
72
+ context
73
+ );
74
+ }
75
+ if (inspection.contextual) {
76
+ throw invalidFilter(
77
+ property,
78
+ value,
79
+ "must be concrete rather than a contextual CSS reference",
80
+ context
81
+ );
82
+ }
83
+ return value;
84
+ }
85
+ function inspectColorTokens(value) {
86
+ const delimiters = [];
87
+ let contextual = false;
88
+ for (let index = 0; index < value.length; ) {
89
+ const character = value[index];
90
+ if (character === "/" && value[index + 1] === "*") {
91
+ index = skipCssComment(value, index + 2);
92
+ continue;
93
+ }
94
+ if (character === '"' || character === "'") {
95
+ index = skipCssString(value, index + 1, character);
96
+ continue;
97
+ }
98
+ const closing = closingDelimiter(character);
99
+ if (closing) {
100
+ delimiters.push(closing);
101
+ index += 1;
102
+ continue;
103
+ }
104
+ if (isClosingDelimiter(character)) {
105
+ if (delimiters.pop() !== character) {
106
+ return { balanced: false, contextual };
107
+ }
108
+ index += 1;
109
+ continue;
110
+ }
111
+ if (!isCssNameCharacter(character) && character !== "\\") {
112
+ index += 1;
113
+ continue;
114
+ }
115
+ let identifier = "";
116
+ while (index < value.length) {
117
+ const identifierCharacter = value[index];
118
+ if (isCssNameCharacter(identifierCharacter)) {
119
+ identifier += identifierCharacter;
120
+ index += 1;
121
+ continue;
122
+ }
123
+ if (identifierCharacter !== "\\") break;
124
+ const escape = consumeCssEscape(value, index);
125
+ identifier += escape.character;
126
+ index = escape.nextIndex;
127
+ }
128
+ const normalized = identifier.toLowerCase();
129
+ if (contextualColorIdentifiers.has(normalized) || contextualColorFunctions.has(normalized)) {
130
+ contextual = true;
131
+ }
132
+ }
133
+ return { balanced: delimiters.length === 0, contextual };
134
+ }
135
+ function closingDelimiter(character) {
136
+ switch (character) {
137
+ case "(":
138
+ return ")";
139
+ case "[":
140
+ return "]";
141
+ case "{":
142
+ return "}";
143
+ default:
144
+ return void 0;
145
+ }
146
+ }
147
+ function isClosingDelimiter(character) {
148
+ return character === ")" || character === "]" || character === "}";
149
+ }
150
+ function isCssNameCharacter(character) {
151
+ const code = character.charCodeAt(0);
152
+ return code >= 128 || code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || character === "-" || character === "_";
153
+ }
154
+ function consumeCssEscape(value, backslashIndex) {
155
+ let index = backslashIndex + 1;
156
+ let hexadecimal = "";
157
+ while (index < value.length && hexadecimal.length < 6) {
158
+ const character2 = value[index];
159
+ if (!/[0-9a-f]/i.test(character2)) break;
160
+ hexadecimal += character2;
161
+ index += 1;
162
+ }
163
+ if (hexadecimal.length === 0) {
164
+ if (index >= value.length) return { character: "\uFFFD", nextIndex: index };
165
+ return { character: value[index], nextIndex: index + 1 };
166
+ }
167
+ if (/\s/.test(value[index] ?? "")) {
168
+ if (value[index] === "\r" && value[index + 1] === "\n") index += 1;
169
+ index += 1;
170
+ }
171
+ const codePoint = Number.parseInt(hexadecimal, 16);
172
+ const character = codePoint === 0 || codePoint > 1114111 || codePoint >= 55296 && codePoint <= 57343 ? "\uFFFD" : String.fromCodePoint(codePoint);
173
+ return { character, nextIndex: index };
174
+ }
175
+ function skipCssComment(value, start) {
176
+ const end = value.indexOf("*/", start);
177
+ return end < 0 ? value.length : end + 2;
178
+ }
179
+ function skipCssString(value, start, quote) {
180
+ for (let index = start; index < value.length; index += 1) {
181
+ const character = value[index];
182
+ if (character === quote) return index + 1;
183
+ if (character === "\\") index += 1;
184
+ }
185
+ return value.length;
186
+ }
187
+ function invalidFilter(property, value, reason, context) {
188
+ return layoutDiagnostic({
189
+ component: context.component,
190
+ property,
191
+ value,
192
+ algorithm: context.algorithm,
193
+ constraints: context.constraints,
194
+ reason
195
+ });
196
+ }
197
+ export {
198
+ concreteColor
199
+ };
200
+ //# sourceMappingURL=native-color.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/filters/native-color.ts"],
4
+ "sourcesContent": ["import type { StyleResolutionContext } from \"../lib/types.js\";\nimport { layoutDiagnostic } from \"../lib/style/diagnostics.js\";\n\nconst contextualColorIdentifiers = /* @__PURE__ */ new Set([\n '-webkit-activelink',\n '-webkit-link',\n 'accentcolor',\n 'accentcolortext',\n 'activeborder',\n 'activecaption',\n 'activetext',\n 'appworkspace',\n 'background',\n 'buttonborder',\n 'buttonface',\n 'buttonhighlight',\n 'buttonshadow',\n 'buttontext',\n 'canvas',\n 'canvastext',\n 'captiontext',\n 'currentcolor',\n 'field',\n 'fieldtext',\n 'graytext',\n 'highlight',\n 'highlighttext',\n 'inactiveborder',\n 'inactivecaption',\n 'inactivecaptiontext',\n 'infobackground',\n 'infotext',\n 'linktext',\n 'mark',\n 'marktext',\n 'menu',\n 'menutext',\n 'scrollbar',\n 'selecteditem',\n 'selecteditemtext',\n 'threeddarkshadow',\n 'threedface',\n 'threedhighlight',\n 'threedlightshadow',\n 'threedshadow',\n 'visitedtext',\n 'window',\n 'windowframe',\n 'windowtext',\n]);\n\nconst contextualColorFunctions = /* @__PURE__ */ new Set([\n 'attr',\n 'cycle',\n 'env',\n 'if',\n 'inherit',\n 'light-dark',\n 'random',\n 'random-item',\n 'sibling-count',\n 'sibling-index',\n 'var',\n]);\n\nexport function concreteColor(\n value: unknown,\n property: string,\n context: Readonly<StyleResolutionContext>,\n): string {\n if (typeof value !== 'string') {\n throw invalidFilter(property, value, 'must be a CSS color string', context);\n }\n const inspection = inspectColorTokens(value);\n if (!inspection.balanced) {\n throw invalidFilter(\n property,\n value,\n 'must remain within one balanced CSS color token boundary',\n context,\n );\n }\n if (inspection.contextual) {\n throw invalidFilter(\n property,\n value,\n 'must be concrete rather than a contextual CSS reference',\n context,\n );\n }\n return value;\n}\n\nfunction inspectColorTokens(\n value: string,\n): { readonly balanced: boolean; readonly contextual: boolean } {\n const delimiters: string[] = [];\n let contextual = false;\n for (let index = 0; index < value.length;) {\n const character = value[index]!;\n if (character === '/' && value[index + 1] === '*') {\n index = skipCssComment(value, index + 2);\n continue;\n }\n if (character === '\"' || character === \"'\") {\n index = skipCssString(value, index + 1, character);\n continue;\n }\n const closing = closingDelimiter(character);\n if (closing) {\n delimiters.push(closing);\n index += 1;\n continue;\n }\n if (isClosingDelimiter(character)) {\n if (delimiters.pop() !== character) {\n return { balanced: false, contextual };\n }\n index += 1;\n continue;\n }\n if (!isCssNameCharacter(character) && character !== '\\\\') {\n index += 1;\n continue;\n }\n\n let identifier = '';\n while (index < value.length) {\n const identifierCharacter = value[index]!;\n if (isCssNameCharacter(identifierCharacter)) {\n identifier += identifierCharacter;\n index += 1;\n continue;\n }\n if (identifierCharacter !== '\\\\') break;\n const escape = consumeCssEscape(value, index);\n identifier += escape.character;\n index = escape.nextIndex;\n }\n\n const normalized = identifier.toLowerCase();\n if (\n contextualColorIdentifiers.has(normalized) ||\n contextualColorFunctions.has(normalized)\n ) {\n contextual = true;\n }\n }\n return { balanced: delimiters.length === 0, contextual };\n}\n\nfunction closingDelimiter(character: string): string | undefined {\n switch (character) {\n case '(':\n return ')';\n case '[':\n return ']';\n case '{':\n return '}';\n default:\n return undefined;\n }\n}\n\nfunction isClosingDelimiter(character: string): boolean {\n return character === ')' || character === ']' || character === '}';\n}\n\nfunction isCssNameCharacter(character: string): boolean {\n const code = character.charCodeAt(0);\n return (\n code >= 0x80 ||\n (code >= 0x30 && code <= 0x39) ||\n (code >= 0x41 && code <= 0x5a) ||\n (code >= 0x61 && code <= 0x7a) ||\n character === '-' ||\n character === '_'\n );\n}\n\nfunction consumeCssEscape(\n value: string,\n backslashIndex: number,\n): { character: string; nextIndex: number } {\n let index = backslashIndex + 1;\n let hexadecimal = '';\n while (index < value.length && hexadecimal.length < 6) {\n const character = value[index]!;\n if (!/[0-9a-f]/i.test(character)) break;\n hexadecimal += character;\n index += 1;\n }\n if (hexadecimal.length === 0) {\n if (index >= value.length) return { character: '\\ufffd', nextIndex: index };\n return { character: value[index]!, nextIndex: index + 1 };\n }\n\n if (/\\s/.test(value[index] ?? '')) {\n if (value[index] === '\\r' && value[index + 1] === '\\n') index += 1;\n index += 1;\n }\n const codePoint = Number.parseInt(hexadecimal, 16);\n const character = codePoint === 0 ||\n codePoint > 0x10ffff ||\n (codePoint >= 0xd800 && codePoint <= 0xdfff) ?\n '\\ufffd' : String.fromCodePoint(codePoint);\n return { character, nextIndex: index };\n}\n\nfunction skipCssComment(value: string, start: number): number {\n const end = value.indexOf('*/', start);\n return end < 0 ? value.length : end + 2;\n}\n\nfunction skipCssString(\n value: string,\n start: number,\n quote: string,\n): number {\n for (let index = start; index < value.length; index += 1) {\n const character = value[index]!;\n if (character === quote) return index + 1;\n if (character === '\\\\') index += 1;\n }\n return value.length;\n}\n\nfunction invalidFilter(\n property: string,\n value: unknown,\n reason: string,\n context: Readonly<StyleResolutionContext>,\n) {\n return layoutDiagnostic({\n component: context.component,\n property,\n value,\n algorithm: context.algorithm,\n constraints: context.constraints,\n reason,\n });\n}\n\n"],
5
+ "mappings": "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",
6
+ "names": ["character"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import type { PixelBounds } from '../lib/filter/filter-region.js';
2
+ import type { PreparedPibblFilter } from '../lib/style/filter-types.js';
3
+ export interface NativePreparedFilter extends PreparedPibblFilter {
4
+ readonly css: (density: number) => string;
5
+ readonly reverseInfluence: (output: Readonly<PixelBounds>, density: number) => PixelBounds;
6
+ readonly onRejected?: () => void;
7
+ }
8
+ export declare function compileNativeFilters(filters: readonly NativePreparedFilter[], density: number): string;
@@ -0,0 +1,7 @@
1
+ function compileNativeFilters(filters, density) {
2
+ return filters.map((filter) => filter.css(density)).join(" ");
3
+ }
4
+ export {
5
+ compileNativeFilters
6
+ };
7
+ //# sourceMappingURL=native-operations.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/filters/native-operations.ts"],
4
+ "sourcesContent": ["import type { PixelBounds } from '../lib/filter/filter-region.js';\nimport type { PreparedPibblFilter } from '../lib/style/filter-types.js';\n\nexport interface NativePreparedFilter extends PreparedPibblFilter {\n readonly css: (density: number) => string;\n readonly reverseInfluence: (output: Readonly<PixelBounds>, density: number) => PixelBounds;\n readonly onRejected?: () => void;\n}\n\nexport function compileNativeFilters(filters: readonly NativePreparedFilter[], density: number): string {\n return filters.map(filter => filter.css(density)).join(' ');\n}\n"],
5
+ "mappings": "AASO,SAAS,qBAAqB,SAA0C,SAAyB;AACtG,SAAO,QAAQ,IAAI,YAAU,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,GAAG;AAC5D;",
6
+ "names": []
7
+ }
@@ -0,0 +1,113 @@
1
+ import { type PibblFilter, type PibblFilterExecutor, type PibblBlurFilterOptions, type PibblBrightnessFilterOptions, type PibblContrastFilterOptions, type PibblDropShadowFilterOptions, type PibblGrayscaleFilterOptions, type PibblHueRotateFilterOptions, type PibblInvertFilterOptions, type PibblOpacityFilterOptions, type PibblSaturateFilterOptions, type PibblSepiaFilterOptions } from '../lib/style/filter-types.js';
2
+ export declare const nativeExecutor: PibblFilterExecutor;
3
+ /**
4
+ * Creates a blur filter descriptor for a primitive's style.filter list. Filtering changes pixels
5
+ * without changing layout or hit geometry.
6
+ *
7
+ * @param options - Blur radius in logical units. See {@link PibblBlurFilterOptions}.
8
+ * @returns A blur filter descriptor for style.filter. See {@link PibblFilter}.
9
+ *
10
+ * @see {@link PibblBlurFilterOptions}
11
+ * @see {@link PibblFilter}
12
+ */
13
+ export declare function blur(options: PibblBlurFilterOptions): PibblFilter;
14
+ /**
15
+ * Creates a brightness filter descriptor for a primitive's style.filter list. Filtering changes
16
+ * pixels without changing layout or hit geometry.
17
+ *
18
+ * @param options - Brightness multiplier. See {@link PibblBrightnessFilterOptions}.
19
+ * @returns A brightness filter descriptor for style.filter. See {@link PibblFilter}.
20
+ *
21
+ * @see {@link PibblBrightnessFilterOptions}
22
+ * @see {@link PibblFilter}
23
+ */
24
+ export declare function brightness(options: PibblBrightnessFilterOptions): PibblFilter;
25
+ /**
26
+ * Creates a contrast filter descriptor for a primitive's style.filter list. Filtering changes
27
+ * pixels without changing layout or hit geometry.
28
+ *
29
+ * @param options - Contrast multiplier. See {@link PibblContrastFilterOptions}.
30
+ * @returns A contrast filter descriptor for style.filter. See {@link PibblFilter}.
31
+ *
32
+ * @see {@link PibblContrastFilterOptions}
33
+ * @see {@link PibblFilter}
34
+ */
35
+ export declare function contrast(options: PibblContrastFilterOptions): PibblFilter;
36
+ /**
37
+ * Creates a grayscale filter descriptor for a primitive's style.filter list. Filtering changes
38
+ * pixels without changing layout or hit geometry.
39
+ *
40
+ * @param options - Grayscale amount. See {@link PibblGrayscaleFilterOptions}.
41
+ * @returns A grayscale filter descriptor for style.filter. See {@link PibblFilter}.
42
+ *
43
+ * @see {@link PibblGrayscaleFilterOptions}
44
+ * @see {@link PibblFilter}
45
+ */
46
+ export declare function grayscale(options: PibblGrayscaleFilterOptions): PibblFilter;
47
+ /**
48
+ * Creates a invert filter descriptor for a primitive's style.filter list. Filtering changes pixels
49
+ * without changing layout or hit geometry.
50
+ *
51
+ * @param options - Color inversion amount. See {@link PibblInvertFilterOptions}.
52
+ * @returns An inversion filter descriptor for style.filter. See {@link PibblFilter}.
53
+ *
54
+ * @see {@link PibblInvertFilterOptions}
55
+ * @see {@link PibblFilter}
56
+ */
57
+ export declare function invert(options: PibblInvertFilterOptions): PibblFilter;
58
+ /**
59
+ * Creates a opacity filter descriptor for a primitive's style.filter list. Filtering changes
60
+ * pixels
61
+ * without changing layout or hit geometry.
62
+ *
63
+ * @param options - Opacity multiplier. See {@link PibblOpacityFilterOptions}.
64
+ * @returns An opacity filter descriptor for style.filter. See {@link PibblFilter}.
65
+ *
66
+ * @see {@link PibblOpacityFilterOptions}
67
+ * @see {@link PibblFilter}
68
+ */
69
+ export declare function opacity(options: PibblOpacityFilterOptions): PibblFilter;
70
+ /**
71
+ * Creates a saturate filter descriptor for a primitive's style.filter list. Filtering changes
72
+ * pixels without changing layout or hit geometry.
73
+ *
74
+ * @param options - Saturation multiplier. See {@link PibblSaturateFilterOptions}.
75
+ * @returns A saturation filter descriptor for style.filter. See {@link PibblFilter}.
76
+ *
77
+ * @see {@link PibblSaturateFilterOptions}
78
+ * @see {@link PibblFilter}
79
+ */
80
+ export declare function saturate(options: PibblSaturateFilterOptions): PibblFilter;
81
+ /**
82
+ * Creates a sepia filter descriptor for a primitive's style.filter list. Filtering changes pixels
83
+ * without changing layout or hit geometry.
84
+ *
85
+ * @param options - Sepia amount. See {@link PibblSepiaFilterOptions}.
86
+ * @returns A sepia filter descriptor for style.filter. See {@link PibblFilter}.
87
+ *
88
+ * @see {@link PibblSepiaFilterOptions}
89
+ * @see {@link PibblFilter}
90
+ */
91
+ export declare function sepia(options: PibblSepiaFilterOptions): PibblFilter;
92
+ /**
93
+ * Creates a hue rotate filter descriptor for a primitive's style.filter list. Filtering changes
94
+ * pixels without changing layout or hit geometry.
95
+ *
96
+ * @param options - Hue rotation angle. See {@link PibblHueRotateFilterOptions}.
97
+ * @returns A hue-rotation filter descriptor for style.filter. See {@link PibblFilter}.
98
+ *
99
+ * @see {@link PibblHueRotateFilterOptions}
100
+ * @see {@link PibblFilter}
101
+ */
102
+ export declare function hueRotate(options: PibblHueRotateFilterOptions): PibblFilter;
103
+ /**
104
+ * Creates a drop shadow filter descriptor for a primitive's style.filter list. Filtering changes
105
+ * pixels without changing layout or hit geometry.
106
+ *
107
+ * @param options - Shadow offsets, blur, and color. See {@link PibblDropShadowFilterOptions}.
108
+ * @returns A drop-shadow filter descriptor for style.filter. See {@link PibblFilter}.
109
+ *
110
+ * @see {@link PibblDropShadowFilterOptions}
111
+ * @see {@link PibblFilter}
112
+ */
113
+ export declare function dropShadow(options: PibblDropShadowFilterOptions): PibblFilter;
@@ -0,0 +1,115 @@
1
+ import { concreteColor } from "./native-color.js";
2
+ import { isSignal } from "../lib/signals/graph.js";
3
+ import { filterBoundaryExecutor } from "./filter-executor.js";
4
+ import { BLUR_EXTENT_FACTOR } from "../lib/filter/filter-region.js";
5
+ import { layoutDiagnostic } from "../lib/style/diagnostics.js";
6
+ import { PIBBL_FILTER_EXECUTOR } from "../lib/style/filter-types.js";
7
+ const operations = /* @__PURE__ */ new WeakMap();
8
+ const nativeExecutor = {
9
+ prepare(value, property, context) {
10
+ const operation = operations.get(value);
11
+ if (!operation) throw new Error("A native filter value was created by an incompatible Pibbl runtime.");
12
+ return operation.prepare(filterBoundaryExecutor, property, context);
13
+ },
14
+ render: filterBoundaryExecutor.render
15
+ };
16
+ function filter(operation) {
17
+ const value = Object.freeze({ [PIBBL_FILTER_EXECUTOR]: nativeExecutor });
18
+ operations.set(value, operation);
19
+ return value;
20
+ }
21
+ function prepared(executor, css, reverseInfluence, onRejected) {
22
+ return Object.freeze({ executor, css, reverseInfluence, onRejected });
23
+ }
24
+ const unchanged = (output) => ({ ...output });
25
+ function number(value, property, context, nonnegative = false) {
26
+ const resolved = isSignal(value) ? value.get() : value;
27
+ if (typeof resolved !== "number" || !Number.isFinite(resolved)) throw invalid(property, resolved, "must be a finite number", context);
28
+ if (nonnegative && resolved < 0) throw invalid(property, resolved, "must be nonnegative", context);
29
+ return resolved;
30
+ }
31
+ function invalid(property, value, reason, context) {
32
+ return layoutDiagnostic({ component: context.component, property, value, algorithm: context.algorithm, constraints: context.constraints, reason });
33
+ }
34
+ function blurInfluence(radius, output, density) {
35
+ const extent = Math.ceil(radius * density * BLUR_EXTENT_FACTOR);
36
+ return { x: output.x - extent, y: output.y - extent, width: output.width + 2 * extent, height: output.height + 2 * extent };
37
+ }
38
+ function blur(options) {
39
+ const radiusInput = options.radius;
40
+ return filter({ prepare(executor, property, context) {
41
+ const radius = number(radiusInput, `${property}.radius`, context, true);
42
+ return prepared(executor, (density) => `blur(${radius * density}px)`, (output, density) => blurInfluence(radius, output, density));
43
+ } });
44
+ }
45
+ function amountFilter(type, input, clamp) {
46
+ const amountInput = input.amount;
47
+ return filter({ prepare(executor, property, context) {
48
+ const amount = clamp ? Math.min(1, number(amountInput, `${property}.amount`, context, true)) : number(amountInput, `${property}.amount`, context, true);
49
+ return prepared(executor, () => `${type}(${amount})`, unchanged);
50
+ } });
51
+ }
52
+ function brightness(options) {
53
+ return amountFilter("brightness", options, false);
54
+ }
55
+ function contrast(options) {
56
+ return amountFilter("contrast", options, false);
57
+ }
58
+ function grayscale(options) {
59
+ return amountFilter("grayscale", options, true);
60
+ }
61
+ function invert(options) {
62
+ return amountFilter("invert", options, true);
63
+ }
64
+ function opacity(options) {
65
+ return amountFilter("opacity", options, true);
66
+ }
67
+ function saturate(options) {
68
+ return amountFilter("saturate", options, false);
69
+ }
70
+ function sepia(options) {
71
+ return amountFilter("sepia", options, true);
72
+ }
73
+ function hueRotate(options) {
74
+ const degreesInput = options.degrees;
75
+ return filter({ prepare(executor, property, context) {
76
+ const degrees = number(degreesInput, `${property}.degrees`, context);
77
+ return prepared(executor, () => `hue-rotate(${degrees}deg)`, unchanged);
78
+ } });
79
+ }
80
+ function dropShadow(options) {
81
+ const offsetXInput = options.offsetX;
82
+ const offsetYInput = options.offsetY;
83
+ const radiusInput = options.blurRadius === void 0 ? 0 : options.blurRadius;
84
+ const colorInput = options.color;
85
+ return filter({ prepare(executor, property, context) {
86
+ const offsetX = number(offsetXInput, `${property}.offsetX`, context);
87
+ const offsetY = number(offsetYInput, `${property}.offsetY`, context);
88
+ const radius = number(radiusInput, `${property}.blurRadius`, context, true);
89
+ const color = concreteColor(isSignal(colorInput) ? colorInput.get() : colorInput, `${property}.color`, context);
90
+ return prepared(executor, (density) => `drop-shadow(${offsetX * density}px ${offsetY * density}px ${radius * density}px ${color})`, (output, density) => {
91
+ const extent = Math.ceil(radius * density * BLUR_EXTENT_FACTOR);
92
+ const x = Math.min(output.x, Math.floor(output.x - offsetX * density - extent));
93
+ const y = Math.min(output.y, Math.floor(output.y - offsetY * density - extent));
94
+ const right = Math.max(output.x + output.width, Math.ceil(output.x + output.width - offsetX * density + extent));
95
+ const bottom = Math.max(output.y + output.height, Math.ceil(output.y + output.height - offsetY * density + extent));
96
+ return { x, y, width: right - x, height: bottom - y };
97
+ }, () => {
98
+ throw layoutDiagnostic({ component: context.component, property: `${property}.color`, value: color, algorithm: "filter-rendering", constraints: context.constraints, reason: "was rejected by the native Canvas filter color parser" });
99
+ });
100
+ } });
101
+ }
102
+ export {
103
+ blur,
104
+ brightness,
105
+ contrast,
106
+ dropShadow,
107
+ grayscale,
108
+ hueRotate,
109
+ invert,
110
+ nativeExecutor,
111
+ opacity,
112
+ saturate,
113
+ sepia
114
+ };
115
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/filters/native.ts"],
4
+ "sourcesContent": ["import { concreteColor } from './native-color.js';\nimport { isSignal } from '../lib/signals/graph.js';\nimport { filterBoundaryExecutor } from './filter-executor.js';\nimport { BLUR_EXTENT_FACTOR, type PixelBounds } from '../lib/filter/filter-region.js';\nimport { layoutDiagnostic } from '../lib/style/diagnostics.js';\nimport { PIBBL_FILTER_EXECUTOR, type PibblFilter, type PibblFilterExecutor, type PibblFilterBoundaryExecutor, type PreparedPibblFilter, type PibblBlurFilterOptions, type PibblBrightnessFilterOptions, type PibblContrastFilterOptions, type PibblDropShadowFilterOptions, type PibblGrayscaleFilterOptions, type PibblHueRotateFilterOptions, type PibblInvertFilterOptions, type PibblOpacityFilterOptions, type PibblSaturateFilterOptions, type PibblSepiaFilterOptions } from '../lib/style/filter-types.js';\nimport type { StyleResolutionContext } from '../lib/types.js';\nimport type { NativePreparedFilter } from './native-operations.js';\n\ninterface NativeOperation { prepare(executor: PibblFilterBoundaryExecutor, property: string, context: Readonly<StyleResolutionContext>): NativePreparedFilter; }\nconst operations = new WeakMap<PibblFilter, NativeOperation>();\nexport const nativeExecutor: PibblFilterExecutor = {\n prepare(value, property, context): PreparedPibblFilter {\n const operation = operations.get(value);\n if (!operation) throw new Error('A native filter value was created by an incompatible Pibbl runtime.');\n return operation.prepare(filterBoundaryExecutor, property, context);\n },\n render: filterBoundaryExecutor.render,\n};\nfunction filter(operation: NativeOperation): PibblFilter {\n const value = Object.freeze({ [PIBBL_FILTER_EXECUTOR]: nativeExecutor });\n operations.set(value, operation);\n return value;\n}\nfunction prepared(executor: PibblFilterBoundaryExecutor, css: (density: number) => string, reverseInfluence: (output: Readonly<PixelBounds>, density: number) => PixelBounds, onRejected?: () => void): NativePreparedFilter {\n return Object.freeze({ executor, css, reverseInfluence, onRejected });\n}\nconst unchanged = (output: Readonly<PixelBounds>): PixelBounds => ({ ...output });\nfunction number(value: unknown, property: string, context: Readonly<StyleResolutionContext>, nonnegative = false): number {\n const resolved = isSignal(value) ? value.get() : value;\n if (typeof resolved !== 'number' || !Number.isFinite(resolved)) throw invalid(property, resolved, 'must be a finite number', context);\n if (nonnegative && resolved < 0) throw invalid(property, resolved, 'must be nonnegative', context);\n return resolved;\n}\nfunction invalid(property: string, value: unknown, reason: string, context: Readonly<StyleResolutionContext>): Error { return layoutDiagnostic({ component: context.component, property, value, algorithm: context.algorithm, constraints: context.constraints, reason }); }\nfunction blurInfluence(radius: number, output: Readonly<PixelBounds>, density: number): PixelBounds {\n const extent = Math.ceil(radius * density * BLUR_EXTENT_FACTOR);\n return { x: output.x - extent, y: output.y - extent, width: output.width + 2 * extent, height: output.height + 2 * extent };\n}\n/**\n * Creates a blur filter descriptor for a primitive's style.filter list. Filtering changes pixels\n * without changing layout or hit geometry.\n *\n * @param options - Blur radius in logical units. See {@link PibblBlurFilterOptions}.\n * @returns A blur filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblBlurFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function blur(options: PibblBlurFilterOptions): PibblFilter {\n const radiusInput = options.radius;\n return filter({ prepare(executor, property, context) { const radius = number(radiusInput, `${property}.radius`, context, true); return prepared(executor, density => `blur(${radius * density}px)`, (output, density) => blurInfluence(radius, output, density)); } });\n}\nfunction amountFilter(type: string, input: { readonly amount: unknown }, clamp: boolean): PibblFilter {\n const amountInput = input.amount;\n return filter({ prepare(executor, property, context) { const amount = clamp ? Math.min(1, number(amountInput, `${property}.amount`, context, true)) : number(amountInput, `${property}.amount`, context, true); return prepared(executor, () => `${type}(${amount})`, unchanged); } });\n}\n/**\n * Creates a brightness filter descriptor for a primitive's style.filter list. Filtering changes\n * pixels without changing layout or hit geometry.\n *\n * @param options - Brightness multiplier. See {@link PibblBrightnessFilterOptions}.\n * @returns A brightness filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblBrightnessFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function brightness(options: PibblBrightnessFilterOptions): PibblFilter { return amountFilter('brightness', options, false); }\n/**\n * Creates a contrast filter descriptor for a primitive's style.filter list. Filtering changes\n * pixels without changing layout or hit geometry.\n *\n * @param options - Contrast multiplier. See {@link PibblContrastFilterOptions}.\n * @returns A contrast filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblContrastFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function contrast(options: PibblContrastFilterOptions): PibblFilter { return amountFilter('contrast', options, false); }\n/**\n * Creates a grayscale filter descriptor for a primitive's style.filter list. Filtering changes\n * pixels without changing layout or hit geometry.\n *\n * @param options - Grayscale amount. See {@link PibblGrayscaleFilterOptions}.\n * @returns A grayscale filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblGrayscaleFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function grayscale(options: PibblGrayscaleFilterOptions): PibblFilter { return amountFilter('grayscale', options, true); }\n/**\n * Creates a invert filter descriptor for a primitive's style.filter list. Filtering changes pixels\n * without changing layout or hit geometry.\n *\n * @param options - Color inversion amount. See {@link PibblInvertFilterOptions}.\n * @returns An inversion filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblInvertFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function invert(options: PibblInvertFilterOptions): PibblFilter { return amountFilter('invert', options, true); }\n/**\n * Creates a opacity filter descriptor for a primitive's style.filter list. Filtering changes\n * pixels\n * without changing layout or hit geometry.\n *\n * @param options - Opacity multiplier. See {@link PibblOpacityFilterOptions}.\n * @returns An opacity filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblOpacityFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function opacity(options: PibblOpacityFilterOptions): PibblFilter { return amountFilter('opacity', options, true); }\n/**\n * Creates a saturate filter descriptor for a primitive's style.filter list. Filtering changes\n * pixels without changing layout or hit geometry.\n *\n * @param options - Saturation multiplier. See {@link PibblSaturateFilterOptions}.\n * @returns A saturation filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblSaturateFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function saturate(options: PibblSaturateFilterOptions): PibblFilter { return amountFilter('saturate', options, false); }\n/**\n * Creates a sepia filter descriptor for a primitive's style.filter list. Filtering changes pixels\n * without changing layout or hit geometry.\n *\n * @param options - Sepia amount. See {@link PibblSepiaFilterOptions}.\n * @returns A sepia filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblSepiaFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function sepia(options: PibblSepiaFilterOptions): PibblFilter { return amountFilter('sepia', options, true); }\n/**\n * Creates a hue rotate filter descriptor for a primitive's style.filter list. Filtering changes\n * pixels without changing layout or hit geometry.\n *\n * @param options - Hue rotation angle. See {@link PibblHueRotateFilterOptions}.\n * @returns A hue-rotation filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblHueRotateFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function hueRotate(options: PibblHueRotateFilterOptions): PibblFilter { const degreesInput = options.degrees; return filter({ prepare(executor, property, context) { const degrees = number(degreesInput, `${property}.degrees`, context); return prepared(executor, () => `hue-rotate(${degrees}deg)`, unchanged); } }); }\n/**\n * Creates a drop shadow filter descriptor for a primitive's style.filter list. Filtering changes\n * pixels without changing layout or hit geometry.\n *\n * @param options - Shadow offsets, blur, and color. See {@link PibblDropShadowFilterOptions}.\n * @returns A drop-shadow filter descriptor for style.filter. See {@link PibblFilter}.\n *\n * @see {@link PibblDropShadowFilterOptions}\n * @see {@link PibblFilter}\n */\nexport function dropShadow(options: PibblDropShadowFilterOptions): PibblFilter {\n const offsetXInput = options.offsetX; const offsetYInput = options.offsetY; const radiusInput = options.blurRadius === undefined ? 0 : options.blurRadius; const colorInput = options.color;\n return filter({ prepare(executor, property, context) {\n const offsetX = number(offsetXInput, `${property}.offsetX`, context); const offsetY = number(offsetYInput, `${property}.offsetY`, context); const radius = number(radiusInput, `${property}.blurRadius`, context, true); const color = concreteColor(isSignal(colorInput) ? colorInput.get() : colorInput, `${property}.color`, context);\n return prepared(executor, density => `drop-shadow(${offsetX * density}px ${offsetY * density}px ${radius * density}px ${color})`, (output, density) => { const extent = Math.ceil(radius * density * BLUR_EXTENT_FACTOR); const x = Math.min(output.x, Math.floor(output.x - offsetX * density - extent)); const y = Math.min(output.y, Math.floor(output.y - offsetY * density - extent)); const right = Math.max(output.x + output.width, Math.ceil(output.x + output.width - offsetX * density + extent)); const bottom = Math.max(output.y + output.height, Math.ceil(output.y + output.height - offsetY * density + extent)); return { x, y, width: right - x, height: bottom - y }; }, () => { throw layoutDiagnostic({ component: context.component, property: `${property}.color`, value: color, algorithm: 'filter-rendering', constraints: context.constraints, reason: 'was rejected by the native Canvas filter color parser' }); });\n } });\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import { type PibblFilter, type PibblReflectedLightFilterOptions } from '../lib/style/filter-types.js';
2
+ /**
3
+ * Adds slope-selective surface light without changing scene alpha or geometry.
4
+ *
5
+ * @param options - Lighting texture and reflected-light appearance settings. See
6
+ * {@link PibblReflectedLightFilterOptions} .
7
+ * @returns A reflected-light filter descriptor for style.filter. See {@link PibblFilter}.
8
+ *
9
+ * @see {@link PibblReflectedLightFilterOptions}
10
+ * @see {@link PibblFilter}
11
+ */
12
+ export declare function reflectedLight(options: PibblReflectedLightFilterOptions): PibblFilter;