@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,64 @@
1
+ import { defineAnimation } from "../../lib/animation/definition.js";
2
+ const records = /* @__PURE__ */ new WeakMap();
3
+ class SpriteFrame {
4
+ identity = true;
5
+ /** Original logical frame width, before transparent borders were trimmed.
6
+ * @returns Width in logical pixels.
7
+ */
8
+ get width() {
9
+ return frameRecord(this).sourceSize?.width ?? frameRecord(this).rect.width;
10
+ }
11
+ /** Original logical frame height, before transparent borders were trimmed.
12
+ * @returns Height in logical pixels.
13
+ */
14
+ get height() {
15
+ return frameRecord(this).sourceSize?.height ?? frameRecord(this).rect.height;
16
+ }
17
+ /** Stable name supplied by the atlas or numeric grid index.
18
+ * @returns The frame name.
19
+ */
20
+ get name() {
21
+ void this.identity;
22
+ return frameRecord(this).name;
23
+ }
24
+ }
25
+ function makeFrame(record) {
26
+ const frame = new SpriteFrame();
27
+ records.set(frame, record);
28
+ Object.freeze(frame);
29
+ return frame;
30
+ }
31
+ function frameRecord(frame) {
32
+ const record = records.get(frame);
33
+ if (!record) throw new TypeError("Expected a SpriteFrame from loadSpriteSheet.");
34
+ if (record.owner.disposed) throw new Error("Sprite sheet has been disposed.");
35
+ return record;
36
+ }
37
+ function defineSpriteAnimation(options) {
38
+ if (!options.frames.length) throw new RangeError("Sprite animation requires at least one frame.");
39
+ if ("fps" in options && (!Number.isFinite(options.fps) || options.fps <= 0)) throw new RangeError("Sprite FPS must be finite and positive.");
40
+ const entries = options.frames.map((item) => {
41
+ const entry = "fps" in options ? { frame: item, duration: 1e3 / options.fps } : item;
42
+ frameRecord(entry.frame);
43
+ if (!Number.isFinite(entry.duration) || entry.duration <= 0) throw new RangeError("Sprite duration must be finite and positive.");
44
+ return { ...entry };
45
+ });
46
+ let duration = 0;
47
+ const ends = entries.map((entry) => duration += entry.duration);
48
+ return defineAnimation({ duration, sample: ({ localTime }) => {
49
+ let low = 0, high = ends.length - 1;
50
+ while (low < high) {
51
+ const mid = low + high >>> 1;
52
+ if (localTime < ends[mid]) high = mid;
53
+ else low = mid + 1;
54
+ }
55
+ return entries[low].frame;
56
+ } });
57
+ }
58
+ export {
59
+ SpriteFrame,
60
+ defineSpriteAnimation,
61
+ frameRecord,
62
+ makeFrame
63
+ };
64
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/features/sprites/model.ts"],
4
+ "sourcesContent": ["import { defineAnimation } from '../../lib/animation/definition.js';\nimport type { PibblAnimationDefinition } from '../../lib/animation/types.js';\n\n/** Pixel rectangle within an atlas page or original frame. See {@link SpriteFrame}. */\nexport interface SpriteRectangle { /** Horizontal pixel offset. */ readonly x: number; /** Vertical pixel offset. */ readonly y: number; /** Width in pixels. */ readonly width: number; /** Height in pixels. */ readonly height: number }\n/** Normalized frame information returned by a format adapter. See {@link SpriteFrame}. */\nexport interface SpriteFrameData {\n /** Unique frame name in this sheet. */ readonly name: string;\n /** Zero-based atlas page index; defaults to zero. */ readonly page?: number;\n /** Packed rectangle within the atlas page. */ readonly rect: SpriteRectangle;\n /** Original frame dimensions before trimming. */ readonly sourceSize?: Readonly<{ /** Width in pixels. */ width: number; /** Height in pixels. */ height: number }>;\n /** Trimmed content offset within the original frame. */ readonly trim?: Readonly<{ /** Horizontal pixel offset. */ x: number; /** Vertical pixel offset. */ y: number }>;\n /** Whether the packed rectangle is rotated clockwise. */ readonly rotated?: boolean;\n}\n/** One normalized timed frame reference. Durations are milliseconds. See {@link SpriteFrame}. */\nexport interface SpriteAnimationFrameData { /** Name of the frame used by this animation step. */ readonly frame: string; /** Positive duration of the animation step in milliseconds. */ readonly duration: number }\n/** Adapter result. Image paths resolve relative to the metadata URL. See {@link SpriteFrame}. */\nexport interface SpriteSheetData {\n /** Atlas image URLs, relative to the metadata URL. */ readonly images: readonly string[];\n /** Normalized frame records for this sheet. */ readonly frames: readonly SpriteFrameData[];\n /** Named sequences of timed frame references. */ readonly animations?: Readonly<Record<string, readonly SpriteAnimationFrameData[]>>;\n}\n/** Import adapter; loaders invoke this directly without a format registry. See {@link SpriteFrame}. */\nexport interface SpriteSheetFormat { /** Convert decoded metadata to normalized sheet data.\n * @param data - Parsed atlas JSON.\n * @returns Validated adapter data for loading the sheet.\n */ readonly parse: (data: unknown) => SpriteSheetData }\n\nexport interface FrameRecord extends SpriteFrameData { readonly image: HTMLImageElement; readonly owner: { disposed: boolean } }\nconst records = new WeakMap<SpriteFrame, FrameRecord>();\n/** Immutable atlas frame. Obtain frames from loadSpriteSheet; images belong to the sheet. See {@link SpriteFrame}. */\nexport class SpriteFrame {\n private readonly identity = true;\n /** Original logical frame width, before transparent borders were trimmed.\n * @returns Width in logical pixels.\n */\n get width(): number { return frameRecord(this).sourceSize?.width ?? frameRecord(this).rect.width; }\n /** Original logical frame height, before transparent borders were trimmed.\n * @returns Height in logical pixels.\n */\n get height(): number { return frameRecord(this).sourceSize?.height ?? frameRecord(this).rect.height; }\n /** Stable name supplied by the atlas or numeric grid index.\n * @returns The frame name.\n */\n get name(): string { void this.identity; return frameRecord(this).name; }\n}\nexport function makeFrame(record: FrameRecord): SpriteFrame {\n const frame = new SpriteFrame(); records.set(frame, record); Object.freeze(frame); return frame;\n}\nexport function frameRecord(frame: SpriteFrame): FrameRecord {\n const record = records.get(frame);\n if (!record) throw new TypeError('Expected a SpriteFrame from loadSpriteSheet.');\n if (record.owner.disposed) throw new Error('Sprite sheet has been disposed.');\n return record;\n}\n/** Author a finite discrete animation using FPS or explicit positive millisecond durations. See {@link SpriteFrame}.\n * @param options - Frames with a shared FPS or individual millisecond durations.\n * @returns A seekable discrete animation definition.\n */\nexport function defineSpriteAnimation(options: {\n readonly frames: readonly SpriteFrame[];\n readonly fps: number;\n} | {\n readonly frames: readonly Readonly<{ frame: SpriteFrame; duration: number }>[];\n}): PibblAnimationDefinition<SpriteFrame> {\n if (!options.frames.length) throw new RangeError('Sprite animation requires at least one frame.');\n if ('fps' in options && (!Number.isFinite(options.fps) || options.fps <= 0)) throw new RangeError('Sprite FPS must be finite and positive.');\n const entries = options.frames.map(item => {\n const entry = 'fps' in options ? { frame: item as SpriteFrame, duration: 1000 / options.fps } : item as { frame: SpriteFrame; duration: number };\n frameRecord(entry.frame);\n if (!Number.isFinite(entry.duration) || entry.duration <= 0) throw new RangeError('Sprite duration must be finite and positive.');\n return { ...entry };\n });\n let duration = 0;\n const ends = entries.map(entry => duration += entry.duration);\n return defineAnimation({ duration, sample: ({ localTime }) => {\n let low = 0, high = ends.length - 1;\n while (low < high) { const mid = (low + high) >>> 1; if (localTime < ends[mid]) high = mid; else low = mid + 1; }\n return entries[low].frame;\n } });\n}\n"],
5
+ "mappings": "AAAA,SAAS,uBAAuB;AA6BhC,MAAM,UAAU,oBAAI,QAAkC;AAE/C,MAAM,YAAY;AAAA,EACN,WAAW;AAAA;AAAA;AAAA;AAAA,EAI5B,IAAI,QAAgB;AAAE,WAAO,YAAY,IAAI,EAAE,YAAY,SAAS,YAAY,IAAI,EAAE,KAAK;AAAA,EAAO;AAAA;AAAA;AAAA;AAAA,EAIlG,IAAI,SAAiB;AAAE,WAAO,YAAY,IAAI,EAAE,YAAY,UAAU,YAAY,IAAI,EAAE,KAAK;AAAA,EAAQ;AAAA;AAAA;AAAA;AAAA,EAIrG,IAAI,OAAe;AAAE,SAAK,KAAK;AAAU,WAAO,YAAY,IAAI,EAAE;AAAA,EAAM;AAC1E;AACO,SAAS,UAAU,QAAkC;AAC1D,QAAM,QAAQ,IAAI,YAAY;AAAG,UAAQ,IAAI,OAAO,MAAM;AAAG,SAAO,OAAO,KAAK;AAAG,SAAO;AAC5F;AACO,SAAS,YAAY,OAAiC;AAC3D,QAAM,SAAS,QAAQ,IAAI,KAAK;AAChC,MAAI,CAAC,OAAQ,OAAM,IAAI,UAAU,8CAA8C;AAC/E,MAAI,OAAO,MAAM,SAAU,OAAM,IAAI,MAAM,iCAAiC;AAC5E,SAAO;AACT;AAKO,SAAS,sBAAsB,SAKI;AACxC,MAAI,CAAC,QAAQ,OAAO,OAAQ,OAAM,IAAI,WAAW,+CAA+C;AAChG,MAAI,SAAS,YAAY,CAAC,OAAO,SAAS,QAAQ,GAAG,KAAK,QAAQ,OAAO,GAAI,OAAM,IAAI,WAAW,yCAAyC;AAC3I,QAAM,UAAU,QAAQ,OAAO,IAAI,UAAQ;AACzC,UAAM,QAAQ,SAAS,UAAU,EAAE,OAAO,MAAqB,UAAU,MAAO,QAAQ,IAAI,IAAI;AAChG,gBAAY,MAAM,KAAK;AACvB,QAAI,CAAC,OAAO,SAAS,MAAM,QAAQ,KAAK,MAAM,YAAY,EAAG,OAAM,IAAI,WAAW,8CAA8C;AAChI,WAAO,EAAE,GAAG,MAAM;AAAA,EACpB,CAAC;AACD,MAAI,WAAW;AACf,QAAM,OAAO,QAAQ,IAAI,WAAS,YAAY,MAAM,QAAQ;AAC5D,SAAO,gBAAgB,EAAE,UAAU,QAAQ,CAAC,EAAE,UAAU,MAAM;AAC5D,QAAI,MAAM,GAAG,OAAO,KAAK,SAAS;AAClC,WAAO,MAAM,MAAM;AAAE,YAAM,MAAO,MAAM,SAAU;AAAG,UAAI,YAAY,KAAK,GAAG,EAAG,QAAO;AAAA,UAAU,OAAM,MAAM;AAAA,IAAG;AAChH,WAAO,QAAQ,GAAG,EAAE;AAAA,EACtB,EAAE,CAAC;AACL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,31 @@
1
+ import { definePrimitive } from "../../lib/define-primitive.js";
2
+ import { useRectPath } from "../../lib/hooks/use-rect-path.js";
3
+ import { wireCommonEvents } from "../../lib/util/wire-common-events.js";
4
+ import { frameRecord } from "./model.js";
5
+ const Sprite = definePrimitive((props, style, ctx) => {
6
+ const record = frameRecord(props.frame);
7
+ const width = style.width ?? props.frame.width, height = style.height ?? props.frame.height;
8
+ const x = -(props.anchor?.x ?? 0) * width, y = -(props.anchor?.y ?? 0) * height;
9
+ const path = useRectPath(x, y, width, height);
10
+ const r = record.rect;
11
+ ctx.save();
12
+ try {
13
+ ctx.globalAlpha *= style.opacity ?? 1;
14
+ ctx.imageSmoothingEnabled = props.sampling !== "nearest";
15
+ ctx.translate(x + (props.flipX ? width : 0), y + (props.flipY ? height : 0));
16
+ ctx.scale((props.flipX ? -1 : 1) * width / props.frame.width, (props.flipY ? -1 : 1) * height / props.frame.height);
17
+ ctx.translate(record.trim?.x ?? 0, record.trim?.y ?? 0);
18
+ if (record.rotated) {
19
+ ctx.translate(0, r.width);
20
+ ctx.rotate(-Math.PI / 2);
21
+ }
22
+ ctx.drawImage(record.image, r.x, r.y, r.width, r.height, 0, 0, r.width, r.height);
23
+ } finally {
24
+ ctx.restore();
25
+ }
26
+ wireCommonEvents(props, path, true, 0, void 0, { x, y, width, height });
27
+ });
28
+ export {
29
+ Sprite
30
+ };
31
+ //# sourceMappingURL=sprite.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/features/sprites/sprite.ts"],
4
+ "sourcesContent": ["import { definePrimitive } from '../../lib/define-primitive.js';\nimport { useRectPath } from '../../lib/hooks/use-rect-path.js';\nimport { wireCommonEvents } from '../../lib/util/wire-common-events.js';\nimport type { ImageProps } from '../../lib/components/img.js';\nimport type { SystemStyle } from '../../lib/types.js';\nimport { frameRecord, type SpriteFrame } from './model.js';\n/** Drawing inputs; frame also accepts a signal through Pibbl's declared primitive inputs. See {@link SpriteFrame}. */\nexport interface SpriteProps extends ImageProps {\n /** Atlas frame to draw; its sheet must remain undisposed. */ readonly frame: SpriteFrame;\n /** Image interpolation; defaults to linear. */ readonly sampling?: 'nearest' | 'linear';\n /** Normalized origin within the original frame, defaulting to the top-left. */ readonly anchor?: Readonly<{ /** Horizontal anchor fraction. */ x: number; /** Vertical anchor fraction. */ y: number }>;\n /** Mirror the frame horizontally. */ readonly flipX?: boolean;\n /** Mirror the frame vertically. */ readonly flipY?: boolean;\n}\n/** Logical size overrides; omitted dimensions use the original untrimmed frame size. See {@link SpriteFrame}. */\nexport interface SpriteStyle extends SystemStyle { /** Logical width; defaults to the original frame width. */ readonly width?: number; /** Logical height; defaults to the original frame height. */ readonly height?: number; /** Opacity multiplier applied to the frame. */ readonly opacity?: number }\n/** Draw a shared atlas frame, preserving its logical geometry across frame changes. See {@link SpriteFrame}. */\nexport const Sprite = definePrimitive<SpriteProps, SpriteStyle>((props, style, ctx) => {\n const record = frameRecord(props.frame);\n const width = style.width ?? props.frame.width, height = style.height ?? props.frame.height;\n const x = -(props.anchor?.x ?? 0) * width, y = -(props.anchor?.y ?? 0) * height;\n const path = useRectPath(x, y, width, height);\n const r = record.rect;\n ctx.save();\n try {\n ctx.globalAlpha *= style.opacity ?? 1;\n ctx.imageSmoothingEnabled = props.sampling !== 'nearest';\n ctx.translate(x + (props.flipX ? width : 0), y + (props.flipY ? height : 0));\n ctx.scale((props.flipX ? -1 : 1) * width / props.frame.width, (props.flipY ? -1 : 1) * height / props.frame.height);\n ctx.translate(record.trim?.x ?? 0, record.trim?.y ?? 0);\n if (record.rotated) { ctx.translate(0, r.width); ctx.rotate(-Math.PI / 2); }\n ctx.drawImage(record.image, r.x, r.y, r.width, r.height, 0, 0, r.width, r.height);\n } finally { ctx.restore(); }\n wireCommonEvents(props, path, true, 0, undefined, { x, y, width, height });\n});\n"],
5
+ "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AAGjC,SAAS,mBAAqC;AAYvC,MAAM,SAAS,gBAA0C,CAAC,OAAO,OAAO,QAAQ;AACrF,QAAM,SAAS,YAAY,MAAM,KAAK;AACtC,QAAM,QAAQ,MAAM,SAAS,MAAM,MAAM,OAAO,SAAS,MAAM,UAAU,MAAM,MAAM;AACrF,QAAM,IAAI,EAAE,MAAM,QAAQ,KAAK,KAAK,OAAO,IAAI,EAAE,MAAM,QAAQ,KAAK,KAAK;AACzE,QAAM,OAAO,YAAY,GAAG,GAAG,OAAO,MAAM;AAC5C,QAAM,IAAI,OAAO;AACjB,MAAI,KAAK;AACT,MAAI;AACF,QAAI,eAAe,MAAM,WAAW;AACpC,QAAI,wBAAwB,MAAM,aAAa;AAC/C,QAAI,UAAU,KAAK,MAAM,QAAQ,QAAQ,IAAI,KAAK,MAAM,QAAQ,SAAS,EAAE;AAC3E,QAAI,OAAO,MAAM,QAAQ,KAAK,KAAK,QAAQ,MAAM,MAAM,QAAQ,MAAM,QAAQ,KAAK,KAAK,SAAS,MAAM,MAAM,MAAM;AAClH,QAAI,UAAU,OAAO,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,CAAC;AACtD,QAAI,OAAO,SAAS;AAAE,UAAI,UAAU,GAAG,EAAE,KAAK;AAAG,UAAI,OAAO,CAAC,KAAK,KAAK,CAAC;AAAA,IAAG;AAC3E,QAAI,UAAU,OAAO,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,GAAG,EAAE,OAAO,EAAE,MAAM;AAAA,EAClF,UAAE;AAAU,QAAI,QAAQ;AAAA,EAAG;AAC3B,mBAAiB,OAAO,MAAM,MAAM,GAAG,QAAW,EAAE,GAAG,GAAG,OAAO,OAAO,CAAC;AAC3E,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,22 @@
1
+ export { ReactionDiffusion } from "./lib/reaction-diffusion.js";
2
+ export type { ReactionDiffusionProps, TextureBrush, } from "./lib/reaction-diffusion.js";
3
+ export { texturePalettes } from "./lib/palette.js";
4
+ export type { TexturePalette, TextureResolution } from "./lib/palette.js";
5
+ export { ProceduralTexture } from "./lib/procedural-texture.js";
6
+ export type { ProceduralTextureProps } from "./lib/procedural-texture.js";
7
+ export type { TextureKind } from "./lib/material-field.js";
8
+ export type { TextureRenderer, TextureRenderFrame, } from "./lib/presentation.js";
9
+ export { useTexture, marble, paper, cellular, reactionDiffusion, } from "./lib/definitions.js";
10
+ export type { MaterialOptions, ReactionDiffusionOptions, InkMessage, } from "./lib/definitions.js";
11
+ export { waterWaves } from "./lib/water-waves.js";
12
+ export type { WaterWavesOptions, WaterWavesMessage, } from "./lib/water-waves.js";
13
+ export { waterSurface } from "./lib/water-surface.js";
14
+ export type { WaterSurfaceMessage, WaterSurfaceObstacle, WaterSurfaceOptions, } from "./lib/water-surface.js";
15
+ export { tendrils } from "./lib/tendrils.js";
16
+ export type { TendrilsOptions, TendrilsMessage } from "./lib/tendrils.js";
17
+ export { lightning } from "./lib/lightning.js";
18
+ export type { LightningOptions, LightningMessage } from "./lib/lightning.js";
19
+ export type { ElectricPoint, ElectricOptions, ElectricControl } from "./lib/electric-shared.js";
20
+ export type { ElectricSource, ElectricSourceMessage } from "./lib/electric-sources.js";
21
+ export { rainDrops } from "./lib/rain-drops.js";
22
+ export type { RainDropsOptions, RainDropsMessage } from "./lib/rain-drops.js";
@@ -0,0 +1,31 @@
1
+ import { ReactionDiffusion } from "./lib/reaction-diffusion.js";
2
+ import { texturePalettes } from "./lib/palette.js";
3
+ import { ProceduralTexture } from "./lib/procedural-texture.js";
4
+ import {
5
+ useTexture,
6
+ marble,
7
+ paper,
8
+ cellular,
9
+ reactionDiffusion
10
+ } from "./lib/definitions.js";
11
+ import { waterWaves } from "./lib/water-waves.js";
12
+ import { waterSurface } from "./lib/water-surface.js";
13
+ import { tendrils } from "./lib/tendrils.js";
14
+ import { lightning } from "./lib/lightning.js";
15
+ import { rainDrops } from "./lib/rain-drops.js";
16
+ export {
17
+ ProceduralTexture,
18
+ ReactionDiffusion,
19
+ cellular,
20
+ lightning,
21
+ marble,
22
+ paper,
23
+ rainDrops,
24
+ reactionDiffusion,
25
+ tendrils,
26
+ texturePalettes,
27
+ useTexture,
28
+ waterSurface,
29
+ waterWaves
30
+ };
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/features/textures/index.ts"],
4
+ "sourcesContent": ["export { ReactionDiffusion } from \"./lib/reaction-diffusion.js\";\nexport type {\n ReactionDiffusionProps,\n TextureBrush,\n} from \"./lib/reaction-diffusion.js\";\nexport { texturePalettes } from \"./lib/palette.js\";\nexport type { TexturePalette, TextureResolution } from \"./lib/palette.js\";\nexport { ProceduralTexture } from \"./lib/procedural-texture.js\";\nexport type { ProceduralTextureProps } from \"./lib/procedural-texture.js\";\nexport type { TextureKind } from \"./lib/material-field.js\";\nexport type {\n TextureRenderer,\n TextureRenderFrame,\n} from \"./lib/presentation.js\";\nexport {\n useTexture,\n marble,\n paper,\n cellular,\n reactionDiffusion,\n} from \"./lib/definitions.js\";\nexport type {\n MaterialOptions,\n ReactionDiffusionOptions,\n InkMessage,\n} from \"./lib/definitions.js\";\nexport { waterWaves } from \"./lib/water-waves.js\";\nexport type {\n WaterWavesOptions,\n WaterWavesMessage,\n} from \"./lib/water-waves.js\";\nexport { waterSurface } from \"./lib/water-surface.js\";\nexport type {\n WaterSurfaceMessage,\n WaterSurfaceObstacle,\n WaterSurfaceOptions,\n} from \"./lib/water-surface.js\";\nexport { tendrils } from \"./lib/tendrils.js\";\nexport type { TendrilsOptions, TendrilsMessage } from \"./lib/tendrils.js\";\nexport { lightning } from \"./lib/lightning.js\";\nexport type { LightningOptions, LightningMessage } from \"./lib/lightning.js\";\nexport type { ElectricPoint, ElectricOptions, ElectricControl } from \"./lib/electric-shared.js\";\nexport type { ElectricSource, ElectricSourceMessage } from \"./lib/electric-sources.js\";\n\nexport { rainDrops } from \"./lib/rain-drops.js\";\nexport type { RainDropsOptions, RainDropsMessage } from \"./lib/rain-drops.js\";\n"],
5
+ "mappings": "AAAA,SAAS,yBAAyB;AAKlC,SAAS,uBAAuB;AAEhC,SAAS,yBAAyB;AAOlC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAMP,SAAS,kBAAkB;AAK3B,SAAS,oBAAoB;AAM7B,SAAS,gBAAgB;AAEzB,SAAS,iBAAiB;AAK1B,SAAS,iBAAiB;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ export * from './index.js';
@@ -0,0 +1,117 @@
1
+ import type { TextureRecipe } from '../../../lib/textures/texture.js';
2
+ export { useTexture } from "@pibbl/core";
3
+ /**
4
+ * Seed, feature scale, and detail controls shared by static material recipes.
5
+ *
6
+ * @see {@link marble}
7
+ * @see {@link paper}
8
+ * @see {@link cellular}
9
+ */
10
+ export interface MaterialOptions {
11
+ /**
12
+ * Seed used for deterministic sampling or simulation initialization. See {@link MaterialOptions}
13
+ * .
14
+ */
15
+ readonly seed?: number;
16
+ /** Feature frequency across the generated material. See {@link MaterialOptions}. */
17
+ readonly scale?: number;
18
+ /** Material-specific distortion, grain strength, or cellular jitter. See {@link MaterialOptions}. */
19
+ readonly detail?: number;
20
+ }
21
+ /**
22
+ * Seed and pattern preset for a reaction-diffusion recipe.
23
+ *
24
+ * @see {@link reactionDiffusion}
25
+ */
26
+ export interface ReactionDiffusionOptions {
27
+ /**
28
+ * Seed used for deterministic sampling or simulation initialization. See
29
+ * {@link ReactionDiffusionOptions}.
30
+ */
31
+ readonly seed?: number;
32
+ /**
33
+ * Named pattern configuration used to initialize the simulation. See
34
+ * {@link ReactionDiffusionOptions}.
35
+ */
36
+ readonly preset?: "spots" | "stripes";
37
+ }
38
+ /**
39
+ * Paint, stir, pause, or reset commands accepted by a reaction-diffusion texture.
40
+ *
41
+ * @see {@link reactionDiffusion}
42
+ */
43
+ export type InkMessage = {
44
+ /** The literal "paint" identifying this variant. See {@link InkMessage}. */
45
+ readonly type: "paint";
46
+ /** Normalized horizontal texture coordinate. See {@link InkMessage}. */
47
+ readonly u: number;
48
+ /** Normalized vertical texture coordinate. See {@link InkMessage}. */
49
+ readonly v: number;
50
+ /** Radius in the coordinate system of this geometry or effect. See {@link InkMessage}. */
51
+ readonly radius?: number;
52
+ /** Magnitude of the displacement or brush effect. See {@link InkMessage}. */
53
+ readonly strength?: number;
54
+ } | {
55
+ /** The literal "stir" identifying this variant. See {@link InkMessage}. */
56
+ readonly type: "stir";
57
+ /** Normalized horizontal texture coordinate. See {@link InkMessage}. */
58
+ readonly u: number;
59
+ /** Normalized vertical texture coordinate. See {@link InkMessage}. */
60
+ readonly v: number;
61
+ /** Normalized displacement of the existing field, not a paint dose. */
62
+ readonly du: number;
63
+ /** Normalized vertical displacement of the texture field. See {@link InkMessage}. */
64
+ readonly dv: number;
65
+ /** Influence radius in texture cells. */
66
+ readonly radius?: number;
67
+ } | {
68
+ /** The literal "pause" identifying this variant. See {@link InkMessage}. */
69
+ readonly type: "pause";
70
+ /** Whether simulation or playback advancement is suspended. See {@link InkMessage}. */
71
+ readonly paused: boolean;
72
+ } | {
73
+ /** The literal "reset" identifying this variant. See {@link InkMessage}. */
74
+ readonly type: "reset";
75
+ };
76
+ /**
77
+ * Creates a seeded marble texture recipe with configurable feature scale and distortion.
78
+ *
79
+ * @param options - Seed, feature scale, and detail settings. See {@link MaterialOptions}.
80
+ * @returns A procedural material recipe for useTexture. See {@link TextureRecipe}.
81
+ *
82
+ * @see {@link MaterialOptions}
83
+ * @see {@link TextureRecipe}
84
+ */
85
+ export declare const marble: (options?: MaterialOptions) => TextureRecipe<never>;
86
+ /**
87
+ * Creates a seeded paper texture recipe with configurable feature scale and grain.
88
+ *
89
+ * @param options - Seed, feature scale, and detail settings. See {@link MaterialOptions}.
90
+ * @returns A procedural material recipe for useTexture. See {@link TextureRecipe}.
91
+ *
92
+ * @see {@link MaterialOptions}
93
+ * @see {@link TextureRecipe}
94
+ */
95
+ export declare const paper: (options?: MaterialOptions) => TextureRecipe<never>;
96
+ /**
97
+ * Creates a seeded cellular texture recipe with configurable feature scale and jitter.
98
+ *
99
+ * @param options - Seed, feature scale, and detail settings. See {@link MaterialOptions}.
100
+ * @returns A procedural material recipe for useTexture. See {@link TextureRecipe}.
101
+ *
102
+ * @see {@link MaterialOptions}
103
+ * @see {@link TextureRecipe}
104
+ */
105
+ export declare const cellular: (options?: MaterialOptions) => TextureRecipe<never>;
106
+ /**
107
+ * Creates a stateful reaction-diffusion texture recipe supporting paint, stirring, pause, and
108
+ * reset
109
+ * messages.
110
+ *
111
+ * @param options - Reaction and diffusion parameters, initialization, and rendering options. See
112
+ * {@link ReactionDiffusionOptions} .
113
+ * @returns A reaction-diffusion texture recipe for useTexture.
114
+ *
115
+ * @see {@link ReactionDiffusionOptions}
116
+ */
117
+ export declare function reactionDiffusion(options?: ReactionDiffusionOptions): TextureRecipe<InkMessage>;
@@ -0,0 +1,179 @@
1
+ import { rasterizeField, releaseField } from "./wasm/memory.js";
2
+ import { defineTexture } from "@pibbl/core";
3
+ import {
4
+ marbleField,
5
+ paperField,
6
+ cellularField
7
+ } from "./material-field.js";
8
+ import { InkSimulation } from "./simulation.js";
9
+ import { paletteLut, texturePalettes, validateSeed } from "./palette.js";
10
+ import { useTexture } from "@pibbl/core";
11
+ function colorize(field, context, gain = 1) {
12
+ const ctx = context.canvas.getContext("2d");
13
+ const lut = paletteLut(context.palette ?? texturePalettes.porcelain);
14
+ const raster = rasterizeField(field, lut, gain);
15
+ if (!raster) throw new Error("Texture field has no WASM owner.");
16
+ ctx.putImageData(raster.image, 0, 0);
17
+ }
18
+ function materialConfig(config) {
19
+ const seed = validateSeed(config.seed), scale = config.scale ?? 6, detail = config.detail ?? 0.65;
20
+ if (!Number.isFinite(scale) || scale < 1 || scale > 32 || !Number.isFinite(detail) || detail < 0 || detail > 1)
21
+ throw new RangeError("Material scale must be 1..32 and detail 0..1.");
22
+ return { seed, scale, detail };
23
+ }
24
+ function material(generate) {
25
+ const recipe = defineTexture({
26
+ create(context, input) {
27
+ const config = materialConfig(input);
28
+ return {
29
+ config,
30
+ field: generate(
31
+ context.canvas.width,
32
+ context.canvas.height,
33
+ config.seed,
34
+ config.scale,
35
+ config.detail
36
+ )
37
+ };
38
+ },
39
+ update(state, input, context) {
40
+ const config = materialConfig(input);
41
+ if (JSON.stringify(config) === JSON.stringify(state.config)) return;
42
+ state.field = generate(
43
+ context.canvas.width,
44
+ context.canvas.height,
45
+ config.seed,
46
+ config.scale,
47
+ config.detail,
48
+ state.field
49
+ );
50
+ state.config = config;
51
+ context.invalidate();
52
+ },
53
+ rasterize(state, context) {
54
+ colorize(state.field, context);
55
+ },
56
+ dispose(state) {
57
+ releaseField(state.field);
58
+ state.field = new Float32Array(0);
59
+ }
60
+ });
61
+ return (options = {}) => recipe(options);
62
+ }
63
+ const marble = /* @__PURE__ */ material(marbleField);
64
+ const paper = /* @__PURE__ */ material(paperField);
65
+ const cellular = /* @__PURE__ */ material(cellularField);
66
+ function inkConfig(input) {
67
+ const seed = validateSeed(input.seed), preset = input.preset ?? "spots";
68
+ if (preset !== "spots" && preset !== "stripes")
69
+ throw new TypeError("Unknown ink preset.");
70
+ return { seed, preset };
71
+ }
72
+ function reset(state, context) {
73
+ const next = new InkSimulation(
74
+ context.canvas.width,
75
+ context.canvas.height,
76
+ state.config.seed,
77
+ state.config.preset
78
+ );
79
+ state.simulation.dispose();
80
+ state.simulation = next;
81
+ state.elapsed = 0;
82
+ state.fresh = true;
83
+ context.invalidate();
84
+ }
85
+ const inkRecipe = /* @__PURE__ */ defineTexture({
86
+ defaultPlacement: { mode: "stretch" },
87
+ create(context, input) {
88
+ const config = inkConfig(input);
89
+ context.requestFrame();
90
+ return {
91
+ simulation: new InkSimulation(
92
+ context.canvas.width,
93
+ context.canvas.height,
94
+ config.seed,
95
+ config.preset
96
+ ),
97
+ config,
98
+ paused: false,
99
+ elapsed: 0,
100
+ fresh: true
101
+ };
102
+ },
103
+ update(state, input, context) {
104
+ const config = inkConfig(input);
105
+ if (config.seed === state.config.seed && config.preset === state.config.preset)
106
+ return;
107
+ state.config = config;
108
+ reset(state, context);
109
+ },
110
+ receive(state, message, context) {
111
+ if (message.type === "pause") {
112
+ state.paused = message.paused;
113
+ state.elapsed = 0;
114
+ state.fresh = true;
115
+ if (!state.paused) context.requestFrame();
116
+ } else if (message.type === "reset") reset(state, context);
117
+ else if (message.type === "stir") {
118
+ const radius = message.radius ?? 16;
119
+ if (![message.u, message.v, message.du, message.dv, radius].every(
120
+ Number.isFinite
121
+ ) || radius <= 0 || radius > 128 || Math.abs(message.du) > 1 || Math.abs(message.dv) > 1)
122
+ throw new RangeError("Invalid ink stir message.");
123
+ if (message.u < 0 || message.u > 1 || message.v < 0 || message.v > 1)
124
+ return;
125
+ state.simulation.stir(
126
+ message.u * context.canvas.width,
127
+ message.v * context.canvas.height,
128
+ message.du * context.canvas.width,
129
+ message.dv * context.canvas.height,
130
+ radius
131
+ );
132
+ context.invalidate();
133
+ } else if (message.type === "paint") {
134
+ const radius = message.radius ?? 6, strength = message.strength ?? 0.8;
135
+ if (![message.u, message.v, radius, strength].every(Number.isFinite) || radius <= 0 || radius > 128 || strength < 0 || strength > 1)
136
+ throw new RangeError("Invalid ink paint message.");
137
+ if (message.u < 0 || message.v < 0 || message.u > 1 || message.v > 1)
138
+ return;
139
+ state.simulation.paint(
140
+ message.u * context.canvas.width,
141
+ message.v * context.canvas.height,
142
+ radius,
143
+ strength
144
+ );
145
+ context.invalidate();
146
+ } else throw new TypeError("Unknown ink message.");
147
+ },
148
+ advance(state, frame, context) {
149
+ if (state.paused) return;
150
+ if (!state.fresh) {
151
+ state.elapsed += Math.min(50, frame.delta);
152
+ const steps = Math.min(24, Math.floor(state.elapsed * 0.48 + 1e-9));
153
+ state.elapsed -= steps / 0.48;
154
+ if (steps) {
155
+ state.simulation.advance(steps);
156
+ context.invalidate();
157
+ }
158
+ }
159
+ state.fresh = false;
160
+ context.requestFrame();
161
+ },
162
+ rasterize(state, context) {
163
+ colorize(state.simulation.b, context, 650 / 255);
164
+ },
165
+ dispose(state) {
166
+ state.simulation.dispose();
167
+ }
168
+ });
169
+ function reactionDiffusion(options = {}) {
170
+ return inkRecipe(options);
171
+ }
172
+ export {
173
+ cellular,
174
+ marble,
175
+ paper,
176
+ reactionDiffusion,
177
+ useTexture
178
+ };
179
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/features/textures/lib/definitions.ts"],
4
+ "sourcesContent": ["import type { TextureRecipe } from '../../../lib/textures/texture.js';\nimport { rasterizeField, releaseField } from \"./wasm/memory.js\";\nimport { defineTexture, type TextureContext } from \"@pibbl/core\";\nimport {\n marbleField,\n paperField,\n cellularField,\n type MaterialGenerator,\n} from \"./material-field.js\";\nimport { InkSimulation } from \"./simulation.js\";\nimport { paletteLut, texturePalettes, validateSeed } from \"./palette.js\";\nexport { useTexture } from \"@pibbl/core\";\n/**\n * Seed, feature scale, and detail controls shared by static material recipes.\n *\n * @see {@link marble}\n * @see {@link paper}\n * @see {@link cellular}\n */\nexport interface MaterialOptions {\n /**\n * Seed used for deterministic sampling or simulation initialization. See {@link MaterialOptions}\n * .\n */\n readonly seed?: number;\n /** Feature frequency across the generated material. See {@link MaterialOptions}. */\n readonly scale?: number;\n /** Material-specific distortion, grain strength, or cellular jitter. See {@link MaterialOptions}. */\n readonly detail?: number;\n}\n/**\n * Seed and pattern preset for a reaction-diffusion recipe.\n *\n * @see {@link reactionDiffusion}\n */\nexport interface ReactionDiffusionOptions {\n /**\n * Seed used for deterministic sampling or simulation initialization. See\n * {@link ReactionDiffusionOptions}.\n */\n readonly seed?: number;\n /**\n * Named pattern configuration used to initialize the simulation. See\n * {@link ReactionDiffusionOptions}.\n */\n readonly preset?: \"spots\" | \"stripes\";\n}\n/**\n * Paint, stir, pause, or reset commands accepted by a reaction-diffusion texture.\n *\n * @see {@link reactionDiffusion}\n */\nexport type InkMessage =\n | {\n /** The literal \"paint\" identifying this variant. See {@link InkMessage}. */\n readonly type: \"paint\";\n /** Normalized horizontal texture coordinate. See {@link InkMessage}. */\n readonly u: number;\n /** Normalized vertical texture coordinate. See {@link InkMessage}. */\n readonly v: number;\n /** Radius in the coordinate system of this geometry or effect. See {@link InkMessage}. */\n readonly radius?: number;\n /** Magnitude of the displacement or brush effect. See {@link InkMessage}. */\n readonly strength?: number;\n }\n | {\n /** The literal \"stir\" identifying this variant. See {@link InkMessage}. */\n readonly type: \"stir\";\n /** Normalized horizontal texture coordinate. See {@link InkMessage}. */\n readonly u: number;\n /** Normalized vertical texture coordinate. See {@link InkMessage}. */\n readonly v: number;\n /** Normalized displacement of the existing field, not a paint dose. */\n readonly du: number;\n /** Normalized vertical displacement of the texture field. See {@link InkMessage}. */\n readonly dv: number;\n /** Influence radius in texture cells. */\n readonly radius?: number;\n }\n | {\n /** The literal \"pause\" identifying this variant. See {@link InkMessage}. */\n readonly type: \"pause\";\n /** Whether simulation or playback advancement is suspended. See {@link InkMessage}. */\n readonly paused: boolean;\n }\n | {\n /** The literal \"reset\" identifying this variant. See {@link InkMessage}. */\n readonly type: \"reset\";\n };\nfunction colorize(field: Float32Array, context: TextureContext, gain = 1) {\n const ctx = context.canvas.getContext(\"2d\")!;\n const lut = paletteLut(context.palette ?? texturePalettes.porcelain);\n const raster = rasterizeField(field, lut, gain);\n if (!raster) throw new Error(\"Texture field has no WASM owner.\");\n ctx.putImageData(raster.image, 0, 0);\n}\nfunction materialConfig(config: MaterialOptions) {\n const seed = validateSeed(config.seed),\n scale = config.scale ?? 6,\n detail = config.detail ?? 0.65;\n if (\n !Number.isFinite(scale) ||\n scale < 1 ||\n scale > 32 ||\n !Number.isFinite(detail) ||\n detail < 0 ||\n detail > 1\n )\n throw new RangeError(\"Material scale must be 1..32 and detail 0..1.\");\n return { seed, scale, detail };\n}\nfunction material(generate: MaterialGenerator) {\n const recipe = defineTexture<\n MaterialOptions,\n { config: ReturnType<typeof materialConfig>; field: Float32Array }\n >({\n create(context, input) {\n const config = materialConfig(input);\n return {\n config,\n field: generate(\n context.canvas.width,\n context.canvas.height,\n config.seed,\n config.scale,\n config.detail,\n ),\n };\n },\n update(state, input, context) {\n const config = materialConfig(input);\n if (JSON.stringify(config) === JSON.stringify(state.config)) return;\n state.field = generate(\n context.canvas.width,\n context.canvas.height,\n config.seed,\n config.scale,\n config.detail,\n state.field,\n );\n state.config = config;\n context.invalidate();\n },\n rasterize(state, context) {\n colorize(state.field, context);\n },\n dispose(state) {\n releaseField(state.field);\n state.field = new Float32Array(0);\n },\n });\n return (options: MaterialOptions = {}) => recipe(options);\n}\n/**\n * Creates a seeded marble texture recipe with configurable feature scale and distortion.\n *\n * @param options - Seed, feature scale, and detail settings. See {@link MaterialOptions}.\n * @returns A procedural material recipe for useTexture. See {@link TextureRecipe}.\n *\n * @see {@link MaterialOptions}\n * @see {@link TextureRecipe}\n */\nexport const marble = /* @__PURE__ */ material(marbleField);\n/**\n * Creates a seeded paper texture recipe with configurable feature scale and grain.\n *\n * @param options - Seed, feature scale, and detail settings. See {@link MaterialOptions}.\n * @returns A procedural material recipe for useTexture. See {@link TextureRecipe}.\n *\n * @see {@link MaterialOptions}\n * @see {@link TextureRecipe}\n */\nexport const paper = /* @__PURE__ */ material(paperField);\n/**\n * Creates a seeded cellular texture recipe with configurable feature scale and jitter.\n *\n * @param options - Seed, feature scale, and detail settings. See {@link MaterialOptions}.\n * @returns A procedural material recipe for useTexture. See {@link TextureRecipe}.\n *\n * @see {@link MaterialOptions}\n * @see {@link TextureRecipe}\n */\nexport const cellular = /* @__PURE__ */ material(cellularField);\nfunction inkConfig(input: ReactionDiffusionOptions) {\n const seed = validateSeed(input.seed),\n preset = input.preset ?? \"spots\";\n if (preset !== \"spots\" && preset !== \"stripes\")\n throw new TypeError(\"Unknown ink preset.\");\n return { seed, preset };\n}\ninterface InkState {\n simulation: InkSimulation;\n config: ReturnType<typeof inkConfig>;\n paused: boolean;\n elapsed: number;\n fresh: boolean;\n}\nfunction reset(state: InkState, context: TextureContext) {\n const next = new InkSimulation(\n context.canvas.width,\n context.canvas.height,\n state.config.seed,\n state.config.preset,\n );\n state.simulation.dispose();\n state.simulation = next;\n state.elapsed = 0;\n state.fresh = true;\n context.invalidate();\n}\nconst inkRecipe = /* @__PURE__ */ defineTexture<\n ReactionDiffusionOptions,\n InkState,\n InkMessage\n>({\n defaultPlacement: { mode: \"stretch\" },\n create(context, input) {\n const config = inkConfig(input);\n context.requestFrame();\n return {\n simulation: new InkSimulation(\n context.canvas.width,\n context.canvas.height,\n config.seed,\n config.preset,\n ),\n config,\n paused: false,\n elapsed: 0,\n fresh: true,\n };\n },\n update(state, input, context) {\n const config = inkConfig(input);\n if (\n config.seed === state.config.seed &&\n config.preset === state.config.preset\n )\n return;\n state.config = config;\n reset(state, context);\n },\n receive(state, message, context) {\n if (message.type === \"pause\") {\n state.paused = message.paused;\n state.elapsed = 0;\n state.fresh = true;\n if (!state.paused) context.requestFrame();\n } else if (message.type === \"reset\") reset(state, context);\n else if (message.type === \"stir\") {\n const radius = message.radius ?? 16;\n if (\n ![message.u, message.v, message.du, message.dv, radius].every(\n Number.isFinite,\n ) ||\n radius <= 0 ||\n radius > 128 ||\n Math.abs(message.du) > 1 ||\n Math.abs(message.dv) > 1\n )\n throw new RangeError(\"Invalid ink stir message.\");\n if (message.u < 0 || message.u > 1 || message.v < 0 || message.v > 1)\n return;\n state.simulation.stir(\n message.u * context.canvas.width,\n message.v * context.canvas.height,\n message.du * context.canvas.width,\n message.dv * context.canvas.height,\n radius,\n );\n context.invalidate();\n } else if (message.type === \"paint\") {\n const radius = message.radius ?? 6,\n strength = message.strength ?? 0.8;\n if (\n ![message.u, message.v, radius, strength].every(Number.isFinite) ||\n radius <= 0 ||\n radius > 128 ||\n strength < 0 ||\n strength > 1\n )\n throw new RangeError(\"Invalid ink paint message.\");\n if (message.u < 0 || message.v < 0 || message.u > 1 || message.v > 1)\n return;\n state.simulation.paint(\n message.u * context.canvas.width,\n message.v * context.canvas.height,\n radius,\n strength,\n );\n context.invalidate();\n } else throw new TypeError(\"Unknown ink message.\");\n },\n advance(state, frame, context) {\n if (state.paused) return;\n if (!state.fresh) {\n state.elapsed += Math.min(50, frame.delta);\n const steps = Math.min(24, Math.floor(state.elapsed * 0.48 + 1e-9));\n state.elapsed -= steps / 0.48;\n if (steps) {\n state.simulation.advance(steps);\n context.invalidate();\n }\n }\n state.fresh = false;\n context.requestFrame();\n },\n rasterize(state, context) {\n colorize(state.simulation.b, context, 650 / 255);\n },\n dispose(state) {\n state.simulation.dispose();\n },\n});\n/**\n * Creates a stateful reaction-diffusion texture recipe supporting paint, stirring, pause, and\n * reset\n * messages.\n *\n * @param options - Reaction and diffusion parameters, initialization, and rendering options. See\n * {@link ReactionDiffusionOptions} .\n * @returns A reaction-diffusion texture recipe for useTexture.\n *\n * @see {@link ReactionDiffusionOptions}\n */\nexport function reactionDiffusion(options: ReactionDiffusionOptions = {}) {\n return inkRecipe(options);\n}\n"],
5
+ "mappings": "AACA,SAAS,gBAAgB,oBAAoB;AAC7C,SAAS,qBAA0C;AACnD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,SAAS,qBAAqB;AAC9B,SAAS,YAAY,iBAAiB,oBAAoB;AAC1D,SAAS,kBAAkB;AA8E3B,SAAS,SAAS,OAAqB,SAAyB,OAAO,GAAG;AACxE,QAAM,MAAM,QAAQ,OAAO,WAAW,IAAI;AAC1C,QAAM,MAAM,WAAW,QAAQ,WAAW,gBAAgB,SAAS;AACnE,QAAM,SAAS,eAAe,OAAO,KAAK,IAAI;AAC9C,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,kCAAkC;AAC/D,MAAI,aAAa,OAAO,OAAO,GAAG,CAAC;AACrC;AACA,SAAS,eAAe,QAAyB;AAC/C,QAAM,OAAO,aAAa,OAAO,IAAI,GACnC,QAAQ,OAAO,SAAS,GACxB,SAAS,OAAO,UAAU;AAC5B,MACE,CAAC,OAAO,SAAS,KAAK,KACtB,QAAQ,KACR,QAAQ,MACR,CAAC,OAAO,SAAS,MAAM,KACvB,SAAS,KACT,SAAS;AAET,UAAM,IAAI,WAAW,+CAA+C;AACtE,SAAO,EAAE,MAAM,OAAO,OAAO;AAC/B;AACA,SAAS,SAAS,UAA6B;AAC7C,QAAM,SAAS,cAGb;AAAA,IACA,OAAO,SAAS,OAAO;AACrB,YAAM,SAAS,eAAe,KAAK;AACnC,aAAO;AAAA,QACL;AAAA,QACA,OAAO;AAAA,UACL,QAAQ,OAAO;AAAA,UACf,QAAQ,OAAO;AAAA,UACf,OAAO;AAAA,UACP,OAAO;AAAA,UACP,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO,OAAO,OAAO,SAAS;AAC5B,YAAM,SAAS,eAAe,KAAK;AACnC,UAAI,KAAK,UAAU,MAAM,MAAM,KAAK,UAAU,MAAM,MAAM,EAAG;AAC7D,YAAM,QAAQ;AAAA,QACZ,QAAQ,OAAO;AAAA,QACf,QAAQ,OAAO;AAAA,QACf,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AACA,YAAM,SAAS;AACf,cAAQ,WAAW;AAAA,IACrB;AAAA,IACA,UAAU,OAAO,SAAS;AACxB,eAAS,MAAM,OAAO,OAAO;AAAA,IAC/B;AAAA,IACA,QAAQ,OAAO;AACb,mBAAa,MAAM,KAAK;AACxB,YAAM,QAAQ,IAAI,aAAa,CAAC;AAAA,IAClC;AAAA,EACF,CAAC;AACD,SAAO,CAAC,UAA2B,CAAC,MAAM,OAAO,OAAO;AAC1D;AAUO,MAAM,SAAyB,yBAAS,WAAW;AAUnD,MAAM,QAAwB,yBAAS,UAAU;AAUjD,MAAM,WAA2B,yBAAS,aAAa;AAC9D,SAAS,UAAU,OAAiC;AAClD,QAAM,OAAO,aAAa,MAAM,IAAI,GAClC,SAAS,MAAM,UAAU;AAC3B,MAAI,WAAW,WAAW,WAAW;AACnC,UAAM,IAAI,UAAU,qBAAqB;AAC3C,SAAO,EAAE,MAAM,OAAO;AACxB;AAQA,SAAS,MAAM,OAAiB,SAAyB;AACvD,QAAM,OAAO,IAAI;AAAA,IACf,QAAQ,OAAO;AAAA,IACf,QAAQ,OAAO;AAAA,IACf,MAAM,OAAO;AAAA,IACb,MAAM,OAAO;AAAA,EACf;AACA,QAAM,WAAW,QAAQ;AACzB,QAAM,aAAa;AACnB,QAAM,UAAU;AAChB,QAAM,QAAQ;AACd,UAAQ,WAAW;AACrB;AACA,MAAM,YAA4B,8BAIhC;AAAA,EACA,kBAAkB,EAAE,MAAM,UAAU;AAAA,EACpC,OAAO,SAAS,OAAO;AACrB,UAAM,SAAS,UAAU,KAAK;AAC9B,YAAQ,aAAa;AACrB,WAAO;AAAA,MACL,YAAY,IAAI;AAAA,QACd,QAAQ,OAAO;AAAA,QACf,QAAQ,OAAO;AAAA,QACf,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,OAAO,OAAO,OAAO,SAAS;AAC5B,UAAM,SAAS,UAAU,KAAK;AAC9B,QACE,OAAO,SAAS,MAAM,OAAO,QAC7B,OAAO,WAAW,MAAM,OAAO;AAE/B;AACF,UAAM,SAAS;AACf,UAAM,OAAO,OAAO;AAAA,EACtB;AAAA,EACA,QAAQ,OAAO,SAAS,SAAS;AAC/B,QAAI,QAAQ,SAAS,SAAS;AAC5B,YAAM,SAAS,QAAQ;AACvB,YAAM,UAAU;AAChB,YAAM,QAAQ;AACd,UAAI,CAAC,MAAM,OAAQ,SAAQ,aAAa;AAAA,IAC1C,WAAW,QAAQ,SAAS,QAAS,OAAM,OAAO,OAAO;AAAA,aAChD,QAAQ,SAAS,QAAQ;AAChC,YAAM,SAAS,QAAQ,UAAU;AACjC,UACE,CAAC,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,IAAI,QAAQ,IAAI,MAAM,EAAE;AAAA,QACtD,OAAO;AAAA,MACT,KACA,UAAU,KACV,SAAS,OACT,KAAK,IAAI,QAAQ,EAAE,IAAI,KACvB,KAAK,IAAI,QAAQ,EAAE,IAAI;AAEvB,cAAM,IAAI,WAAW,2BAA2B;AAClD,UAAI,QAAQ,IAAI,KAAK,QAAQ,IAAI,KAAK,QAAQ,IAAI,KAAK,QAAQ,IAAI;AACjE;AACF,YAAM,WAAW;AAAA,QACf,QAAQ,IAAI,QAAQ,OAAO;AAAA,QAC3B,QAAQ,IAAI,QAAQ,OAAO;AAAA,QAC3B,QAAQ,KAAK,QAAQ,OAAO;AAAA,QAC5B,QAAQ,KAAK,QAAQ,OAAO;AAAA,QAC5B;AAAA,MACF;AACA,cAAQ,WAAW;AAAA,IACrB,WAAW,QAAQ,SAAS,SAAS;AACnC,YAAM,SAAS,QAAQ,UAAU,GAC/B,WAAW,QAAQ,YAAY;AACjC,UACE,CAAC,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,QAAQ,EAAE,MAAM,OAAO,QAAQ,KAC/D,UAAU,KACV,SAAS,OACT,WAAW,KACX,WAAW;AAEX,cAAM,IAAI,WAAW,4BAA4B;AACnD,UAAI,QAAQ,IAAI,KAAK,QAAQ,IAAI,KAAK,QAAQ,IAAI,KAAK,QAAQ,IAAI;AACjE;AACF,YAAM,WAAW;AAAA,QACf,QAAQ,IAAI,QAAQ,OAAO;AAAA,QAC3B,QAAQ,IAAI,QAAQ,OAAO;AAAA,QAC3B;AAAA,QACA;AAAA,MACF;AACA,cAAQ,WAAW;AAAA,IACrB,MAAO,OAAM,IAAI,UAAU,sBAAsB;AAAA,EACnD;AAAA,EACA,QAAQ,OAAO,OAAO,SAAS;AAC7B,QAAI,MAAM,OAAQ;AAClB,QAAI,CAAC,MAAM,OAAO;AAChB,YAAM,WAAW,KAAK,IAAI,IAAI,MAAM,KAAK;AACzC,YAAM,QAAQ,KAAK,IAAI,IAAI,KAAK,MAAM,MAAM,UAAU,OAAO,IAAI,CAAC;AAClE,YAAM,WAAW,QAAQ;AACzB,UAAI,OAAO;AACT,cAAM,WAAW,QAAQ,KAAK;AAC9B,gBAAQ,WAAW;AAAA,MACrB;AAAA,IACF;AACA,UAAM,QAAQ;AACd,YAAQ,aAAa;AAAA,EACvB;AAAA,EACA,UAAU,OAAO,SAAS;AACxB,aAAS,MAAM,WAAW,GAAG,SAAS,MAAM,GAAG;AAAA,EACjD;AAAA,EACA,QAAQ,OAAO;AACb,UAAM,WAAW,QAAQ;AAAA,EAC3B;AACF,CAAC;AAYM,SAAS,kBAAkB,UAAoC,CAAC,GAAG;AACxE,SAAO,UAAU,OAAO;AAC1B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,3 @@
1
+ import { type ElectricPoint } from "./electric-shared.js";
2
+ /** One simple closed polygon, supplied in texture coordinates. */
3
+ export declare function boundary(input?: readonly ElectricPoint[]): ElectricPoint[] | undefined;
@@ -0,0 +1,11 @@
1
+ import { point } from "./electric-shared.js";
2
+ function boundary(input) {
3
+ if (input === void 0) return void 0;
4
+ if (!Array.isArray(input) || input.length < 3 || input.length > 256)
5
+ throw new RangeError("Tendril boundary requires 3..256 points.");
6
+ return input.map(point);
7
+ }
8
+ export {
9
+ boundary
10
+ };
11
+ //# sourceMappingURL=electric-boundary.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/features/textures/lib/electric-boundary.ts"],
4
+ "sourcesContent": ["import { point, type ElectricPoint } from \"./electric-shared.js\";\n\n/** One simple closed polygon, supplied in texture coordinates. */\nexport function boundary(\n input?: readonly ElectricPoint[],\n): ElectricPoint[] | undefined {\n if (input === undefined) return undefined;\n if (!Array.isArray(input) || input.length < 3 || input.length > 256)\n throw new RangeError(\"Tendril boundary requires 3..256 points.\");\n return input.map(point);\n}\n"],
5
+ "mappings": "AAAA,SAAS,aAAiC;AAGnC,SAAS,SACd,OAC6B;AAC7B,MAAI,UAAU,OAAW,QAAO;AAChC,MAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,KAAK,MAAM,SAAS;AAC9D,UAAM,IAAI,WAAW,0CAA0C;AACjE,SAAO,MAAM,IAAI,KAAK;AACxB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,69 @@
1
+ import type { ElectricSource } from "./electric-sources.js";
2
+ import type { LightningMessage, LightningOptions } from "./lightning.js";
3
+ import type { TendrilsMessage, TendrilsOptions } from "./tendrils.js";
4
+ import type { TextureContext } from "@pibbl/core";
5
+ /**
6
+ * Coordinates are normalized to the complete texture, including its halo padding.
7
+ *
8
+ * @see {@link ElectricSource}
9
+ * @see {@link LightningOptions}
10
+ * @see {@link TendrilsOptions}
11
+ * @see {@link LightningMessage}
12
+ */
13
+ export interface ElectricPoint {
14
+ /**
15
+ * Horizontal coordinate or displacement in the containing coordinate system. See
16
+ * {@link ElectricPoint}.
17
+ */
18
+ readonly x: number;
19
+ /**
20
+ * Vertical coordinate or displacement in the containing coordinate system. See
21
+ * {@link ElectricPoint}.
22
+ */
23
+ readonly y: number;
24
+ }
25
+ /**
26
+ * Deterministic seed, branching, and glow shared by electrical texture recipes.
27
+ *
28
+ * @see {@link TendrilsOptions}
29
+ * @see {@link LightningOptions}
30
+ */
31
+ export interface ElectricOptions {
32
+ /**
33
+ * Seed used for deterministic sampling or simulation initialization. See {@link ElectricOptions}
34
+ * .
35
+ */
36
+ readonly seed?: number;
37
+ /** 0..1, controls the number of secondary branches. */
38
+ readonly branching?: number;
39
+ /** 0..2, scales the soft halo without widening the white core. */
40
+ readonly glow?: number;
41
+ }
42
+ /**
43
+ * Pause or reseed/reset commands shared by electrical textures.
44
+ *
45
+ * @see {@link TendrilsMessage}
46
+ * @see {@link LightningMessage}
47
+ */
48
+ export type ElectricControl = {
49
+ /** The literal "pause" identifying this variant. See {@link ElectricControl}. */
50
+ readonly type: "pause";
51
+ /** Whether simulation or playback advancement is suspended. See {@link ElectricControl}. */
52
+ readonly paused: boolean;
53
+ } | {
54
+ /** The literal "reset" identifying this variant. See {@link ElectricControl}. */
55
+ readonly type: "reset";
56
+ /**
57
+ * Seed used for deterministic sampling or simulation initialization. See
58
+ * {@link ElectricControl}.
59
+ */
60
+ readonly seed?: number;
61
+ };
62
+ export declare function range(value: number, min: number, max: number, name: string): number;
63
+ export declare function point(p: ElectricPoint): ElectricPoint;
64
+ export declare function electricOptions(o: ElectricOptions): {
65
+ seed: number;
66
+ branching: number;
67
+ glow: number;
68
+ };
69
+ export declare function drawCore(context: TextureContext, p: ElectricPoint, strength: number, glow: number, radius?: number): void;