@mkbabb/glass-ui 6.0.0 → 8.0.0

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 (1192) hide show
  1. package/README.md +40 -37
  2. package/dist/DialogContent-4hzLiaCQ.js +152 -0
  3. package/dist/DotRing-Blh4Mc3Q.js +27 -0
  4. package/dist/DropdownMenuTrigger-8UZsBtZ8.js +93 -0
  5. package/dist/Surface-i1tWC-Ga.js +48 -0
  6. package/dist/accent-tone-solve-Cw7WkRD9.js +14 -0
  7. package/dist/asElement-CRnm6A2v.js +9 -0
  8. package/dist/aurora.d.ts +1 -1
  9. package/dist/aurora.js +832 -767
  10. package/dist/axes.d.ts +1 -1
  11. package/dist/axes.js +16 -26
  12. package/dist/badge-owUOaaba.js +63 -0
  13. package/dist/badge.d.ts +1 -1
  14. package/dist/badge.js +2 -2
  15. package/dist/blob-config.d.ts +1 -1
  16. package/dist/blob-config.js +1 -1
  17. package/dist/blob.d.ts +1 -1
  18. package/dist/blob.js +442 -395
  19. package/dist/button-yvGPb0Bx.js +110 -0
  20. package/dist/button.d.ts +1 -1
  21. package/dist/button.js +2 -2
  22. package/dist/canvas.d.ts +1 -1
  23. package/dist/canvas.js +2 -2
  24. package/dist/card-3HFFpC7_.js +190 -0
  25. package/dist/card.d.ts +1 -1
  26. package/dist/card.js +2 -2
  27. package/dist/carousel.d.ts +1 -1
  28. package/dist/carousel.js +191 -239
  29. package/dist/checkbox-BnXuGgJ3.js +64 -0
  30. package/dist/checkbox.d.ts +1 -0
  31. package/dist/checkbox.js +2 -0
  32. package/dist/chip.d.ts +1 -1
  33. package/dist/chip.js +101 -53
  34. package/dist/{class-names-5jotTFzp.js → class-names-q-UGOkHH.js} +26 -5
  35. package/dist/collapsible-B7O6m-Ch.js +154 -0
  36. package/dist/collapsible.d.ts +1 -1
  37. package/dist/collapsible.js +1 -1
  38. package/dist/color.d.ts +1 -1
  39. package/dist/color.js +46 -50
  40. package/dist/{procedural-color.wgsl-B9mLK7v0.js → color.wgsl-B0N3mKMb.js} +200 -165
  41. package/dist/command-BuBnYpxF.js +340 -0
  42. package/dist/command.d.ts +1 -1
  43. package/dist/command.js +1 -1
  44. package/dist/component-styles.css +4 -0
  45. package/dist/components/_shared/axes.d.ts +13 -4
  46. package/dist/components/_shared/class-names.d.ts +10 -9
  47. package/dist/components/_shared/control.d.ts +11 -0
  48. package/dist/components/_shared/disclosure/disclosure-context.d.ts +7 -0
  49. package/dist/components/_shared/feedback/DotRing.vue.d.ts +3 -0
  50. package/dist/components/_shared/feedback/dot-ring.css +1 -0
  51. package/dist/components/_shared/feedback/feedback-tone.css +1 -0
  52. package/dist/components/_shared/field/control.d.ts +13 -0
  53. package/dist/components/_shared/focus.d.ts +11 -0
  54. package/dist/components/_shared/index.d.ts +2 -6
  55. package/dist/components/_shared/interaction.d.ts +23 -0
  56. package/dist/components/_shared/menu/menu.css +1 -0
  57. package/dist/components/_shared/menu/rowClass.d.ts +2 -0
  58. package/dist/components/_shared/overlay/content.d.ts +40 -0
  59. package/dist/components/_shared/overlay/index.d.ts +12 -0
  60. package/dist/components/{dock/composables → _shared/overlay}/isTeleportedTarget.d.ts +5 -0
  61. package/dist/components/_shared/overlay/participation.d.ts +66 -0
  62. package/dist/components/_shared/overlay/placement.d.ts +22 -0
  63. package/dist/components/_shared/primitive.d.ts +19 -0
  64. package/dist/components/_shared/selection.d.ts +46 -0
  65. package/dist/components/_shared/surface/resolve.d.ts +17 -0
  66. package/dist/components/_shared/useMotionAxis.d.ts +3 -8
  67. package/dist/components/accordion/Accordion.vue.d.ts +41 -16
  68. package/dist/components/accordion/AccordionContent.vue.d.ts +11 -9
  69. package/dist/components/accordion/AccordionItem.vue.d.ts +12 -9
  70. package/dist/components/accordion/AccordionTrigger.vue.d.ts +8 -11
  71. package/dist/components/accordion/index.d.ts +4 -4
  72. package/dist/components/alert/Alert.vue.d.ts +9 -5
  73. package/dist/components/alert/AlertDescription.vue.d.ts +2 -2
  74. package/dist/components/alert/AlertTitle.vue.d.ts +2 -2
  75. package/dist/components/alert/index.d.ts +17 -8
  76. package/dist/components/aurora/Aurora.vue.d.ts +41 -46
  77. package/dist/components/aurora/composables/atoms-fields.d.ts +13 -2
  78. package/dist/components/aurora/composables/atoms.d.ts +54 -52
  79. package/dist/components/aurora/composables/auroraFallbackGround.d.ts +14 -14
  80. package/dist/components/aurora/composables/auroraImageSource.d.ts +6 -7
  81. package/dist/components/aurora/composables/color.d.ts +18 -24
  82. package/dist/components/aurora/composables/frameLoop.d.ts +17 -14
  83. package/dist/components/aurora/composables/glSetup.d.ts +19 -7
  84. package/dist/components/aurora/composables/runtime.d.ts +58 -62
  85. package/dist/{composables/glass → components/aurora/composables}/textureUpload.d.ts +8 -23
  86. package/dist/components/aurora/composables/uniformBridge.d.ts +11 -33
  87. package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +23 -24
  88. package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +15 -15
  89. package/dist/components/aurora/composables/useAurora.d.ts +23 -34
  90. package/dist/components/aurora/composables/useCursorInteraction.d.ts +2 -2
  91. package/dist/components/aurora/composables/wgpuSetup.d.ts +14 -12
  92. package/dist/components/aurora/constants/budget.d.ts +5 -54
  93. package/dist/components/aurora/constants/presets.d.ts +49 -60
  94. package/dist/components/aurora/constants/renderMode.d.ts +21 -36
  95. package/dist/components/aurora/constants/shaders/aurora-image.frag.d.ts +0 -2
  96. package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +1 -3
  97. package/dist/components/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -1
  98. package/dist/components/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  99. package/dist/components/aurora/constants/shaders/brush.glsl.d.ts +1 -1
  100. package/dist/components/aurora/constants/shaders/composition.glsl.d.ts +1 -1
  101. package/dist/components/aurora/constants/shaders/flow.glsl.d.ts +1 -1
  102. package/dist/components/aurora/constants/shaders/metal-medium.glsl.d.ts +2 -2
  103. package/dist/components/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -1
  104. package/dist/components/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -1
  105. package/dist/components/aurora/index.d.ts +15 -13
  106. package/dist/components/avatar/Avatar.vue.d.ts +72 -11
  107. package/dist/components/avatar/AvatarFallback.vue.d.ts +1 -2
  108. package/dist/components/avatar/AvatarImage.vue.d.ts +7 -8
  109. package/dist/components/avatar/index.d.ts +3 -9
  110. package/dist/components/badge/Badge.vue.d.ts +3 -17
  111. package/dist/components/badge/index.d.ts +33 -9
  112. package/dist/components/blob/Blob.vue.d.ts +8 -15
  113. package/dist/components/blob/composables/blobSimulation.d.ts +80 -0
  114. package/dist/components/blob/composables/buildMetaballProgram.d.ts +1 -1
  115. package/dist/components/blob/composables/resolveBlobSurface.d.ts +6 -0
  116. package/dist/components/blob/composables/satelliteKinematics.d.ts +4 -4
  117. package/dist/components/blob/composables/uniformBridgeWGPU.d.ts +4 -4
  118. package/dist/components/blob/composables/uploadBlobUniforms.d.ts +7 -34
  119. package/dist/components/blob/composables/useBlobMood.d.ts +6 -6
  120. package/dist/components/blob/composables/useBlobPointer.d.ts +11 -15
  121. package/dist/components/blob/composables/useBlobSatellites.d.ts +1 -1
  122. package/dist/components/blob/composables/useMetaballRenderer.d.ts +32 -29
  123. package/dist/components/blob/composables/wgpuSetup.d.ts +10 -8
  124. package/dist/components/blob/config.d.ts +3 -3
  125. package/dist/components/blob/constants.d.ts +1 -3
  126. package/dist/components/blob/index.d.ts +8 -8
  127. package/dist/components/blob/presets.d.ts +3 -3
  128. package/dist/components/blob/shaders/metaball-palette.wgsl.d.ts +1 -1
  129. package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  130. package/dist/components/blob/shaders/metaball.wgsl.d.ts +1 -1
  131. package/dist/components/blob/shaders/sdf-body.glsl.d.ts +1 -1
  132. package/dist/components/blob/shaders/watercolor-edges.glsl.d.ts +1 -1
  133. package/dist/components/blob/types.d.ts +28 -60
  134. package/dist/components/button/Button.vue.d.ts +32 -20
  135. package/dist/components/button/index.d.ts +1 -9
  136. package/dist/components/button/styles.css +1 -0
  137. package/dist/components/card/Card.vue.d.ts +24 -162
  138. package/dist/components/card/CardContent.vue.d.ts +2 -2
  139. package/dist/components/card/CardDescription.vue.d.ts +2 -2
  140. package/dist/components/card/CardFooter.vue.d.ts +2 -2
  141. package/dist/components/card/CardHeader.vue.d.ts +8 -40
  142. package/dist/components/card/CardTitle.vue.d.ts +6 -3
  143. package/dist/components/card/index.d.ts +6 -9
  144. package/dist/components/card/scroll.css +1 -0
  145. package/dist/components/card/styles.css +1 -1
  146. package/dist/components/carousel/Carousel.vue.d.ts +14 -19
  147. package/dist/components/carousel/CarouselContent.vue.d.ts +2 -12
  148. package/dist/components/carousel/CarouselItem.vue.d.ts +14 -3
  149. package/dist/components/carousel/CarouselPager.vue.d.ts +2 -2
  150. package/dist/components/carousel/index.d.ts +7 -8
  151. package/dist/components/carousel/projection.d.ts +23 -0
  152. package/dist/components/carousel/styles.css +1 -0
  153. package/dist/components/carousel/types.d.ts +47 -0
  154. package/dist/components/carousel/useCarousel.d.ts +4 -21
  155. package/dist/components/checkbox/Checkbox.vue.d.ts +17 -9
  156. package/dist/components/checkbox/index.d.ts +1 -1
  157. package/dist/components/chip/Chip.vue.d.ts +12 -7
  158. package/dist/components/chip/accent-tone.css +1 -0
  159. package/dist/components/chip/chipVariants.d.ts +20 -43
  160. package/dist/components/chip/index.d.ts +3 -3
  161. package/dist/components/chip/types.d.ts +46 -31
  162. package/dist/components/collapsible/Collapsible.vue.d.ts +22 -9
  163. package/dist/components/collapsible/CollapsibleContent.vue.d.ts +11 -5
  164. package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +12 -9
  165. package/dist/components/collapsible/index.d.ts +3 -3
  166. package/dist/components/command/Command.vue.d.ts +11 -23
  167. package/dist/components/command/CommandDialog.vue.d.ts +10 -11
  168. package/dist/components/command/CommandEmpty.vue.d.ts +2 -6
  169. package/dist/components/command/CommandGroup.vue.d.ts +2 -7
  170. package/dist/components/command/CommandInput.vue.d.ts +6 -7
  171. package/dist/components/command/CommandItem.vue.d.ts +7 -11
  172. package/dist/components/command/CommandList.vue.d.ts +12 -19
  173. package/dist/components/command/CommandSeparator.vue.d.ts +2 -6
  174. package/dist/components/command/CommandShortcut.vue.d.ts +2 -2
  175. package/dist/components/command/index.d.ts +11 -10
  176. package/dist/components/command/types.d.ts +32 -0
  177. package/dist/components/configurator/Configurator.vue.d.ts +7 -7
  178. package/dist/components/configurator/ConfiguratorLayer.vue.d.ts +14 -18
  179. package/dist/components/configurator/ConfiguratorRow.vue.d.ts +15 -18
  180. package/dist/components/configurator/index.d.ts +6 -6
  181. package/dist/components/configurator/size.d.ts +5 -7
  182. package/dist/components/configurator/styles.css +1 -1
  183. package/dist/components/configurator/useConfiguratorState.d.ts +1 -1
  184. package/dist/components/constellation/Constellation.vue.d.ts +4 -6
  185. package/dist/components/constellation/composables/createConstellationField.d.ts +3 -3
  186. package/dist/components/constellation/composables/useConstellation.d.ts +2 -2
  187. package/dist/components/constellation/constants.d.ts +9 -9
  188. package/dist/components/constellation/constellationField.d.ts +8 -10
  189. package/dist/components/constellation/constellationInteraction.d.ts +9 -13
  190. package/dist/components/constellation/constellationRender.d.ts +1 -3
  191. package/dist/components/constellation/constellationTypes.d.ts +51 -63
  192. package/dist/components/constellation/constellationWell.d.ts +3 -3
  193. package/dist/components/constellation/index.d.ts +8 -6
  194. package/dist/components/dark-mode-toggle/DarkModeToggle.vue.d.ts +12 -0
  195. package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -0
  196. package/dist/components/dark-mode-toggle/index.d.ts +2 -0
  197. package/dist/components/data-table/DataTable.vue.d.ts +11 -59
  198. package/dist/components/data-table/composables/useDataTableResponsive.d.ts +1 -1
  199. package/dist/components/data-table/composables/useDataTableRowIdentity.d.ts +5 -23
  200. package/dist/components/data-table/index.d.ts +2 -2
  201. package/dist/components/data-table/types.d.ts +10 -12
  202. package/dist/components/{card/CardAction.vue.d.ts → deck/DeckSlide.vue.d.ts} +12 -8
  203. package/dist/components/deck/DeckStage.vue.d.ts +36 -0
  204. package/dist/components/deck/composables/useDeck.d.ts +35 -10
  205. package/dist/components/deck/composables/useDeckCapture.d.ts +26 -0
  206. package/dist/components/deck/composables/useDeckHashSync.d.ts +8 -0
  207. package/dist/components/deck/composables/useDeckKeyboard.d.ts +16 -8
  208. package/dist/components/deck/composables/useDeckSnap.d.ts +20 -0
  209. package/dist/components/deck/composables/useDeckSwipe.d.ts +13 -0
  210. package/dist/components/deck/composables/useEdgeZones.d.ts +14 -0
  211. package/dist/components/deck/constants.d.ts +0 -3
  212. package/dist/components/deck/index.d.ts +22 -7
  213. package/dist/components/deck/slideContext.d.ts +21 -0
  214. package/dist/components/deck/styles/capture.css +1 -0
  215. package/dist/components/deck/styles/index.css +1 -0
  216. package/dist/components/deck/styles/reveal.css +1 -0
  217. package/dist/components/deck/styles/stage.css +1 -0
  218. package/dist/components/deck/styles/turn.css +1 -0
  219. package/dist/components/deck/types.d.ts +26 -0
  220. package/dist/components/deck/window.d.ts +27 -0
  221. package/dist/components/dialog/Dialog.vue.d.ts +21 -3
  222. package/dist/components/dialog/DialogContent.vue.d.ts +32 -99
  223. package/dist/components/dialog/DialogDescription.vue.d.ts +5 -6
  224. package/dist/components/dialog/DialogFooter.vue.d.ts +2 -2
  225. package/dist/components/dialog/DialogHeader.vue.d.ts +2 -2
  226. package/dist/components/dialog/DialogTitle.vue.d.ts +5 -6
  227. package/dist/components/dialog/ModalOverlay.vue.d.ts +66 -0
  228. package/dist/components/dialog/index.d.ts +7 -8
  229. package/dist/components/dialog/styles.css +1 -0
  230. package/dist/components/dock/DockControl.vue.d.ts +15 -14
  231. package/dist/components/dock/DockCrossfade.vue.d.ts +6 -10
  232. package/dist/components/dock/DockLayer.vue.d.ts +3 -4
  233. package/dist/components/dock/DockLayerGroup.vue.d.ts +18 -18
  234. package/dist/components/dock/DockSeparator.vue.d.ts +25 -20
  235. package/dist/components/dock/GlassDock.vue.d.ts +4 -4
  236. package/dist/components/dock/composables/dockContext.d.ts +33 -19
  237. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +10 -11
  238. package/dist/components/dock/composables/dockMorphMeasure.d.ts +7 -87
  239. package/dist/components/dock/composables/dockSwitcherContext.d.ts +29 -0
  240. package/dist/components/dock/composables/index.d.ts +10 -10
  241. package/dist/components/dock/composables/useDockClickIntegrity.d.ts +1 -1
  242. package/dist/components/dock/composables/useDockHold.d.ts +24 -10
  243. package/dist/components/dock/composables/useDockMorph.d.ts +26 -0
  244. package/dist/components/dock/composables/useDockOverflowFit.d.ts +4 -6
  245. package/dist/components/dock/composables/useDockSearch.d.ts +12 -12
  246. package/dist/components/dock/composables/useDockShellProps.d.ts +44 -65
  247. package/dist/components/dock/composables/useDockSpring.d.ts +7 -11
  248. package/dist/components/dock/composables/useDockState.d.ts +28 -6
  249. package/dist/components/dock/composables/useDockTouchGate.d.ts +14 -23
  250. package/dist/components/dock/constants.d.ts +21 -80
  251. package/dist/components/dock/index.d.ts +15 -20
  252. package/dist/components/dock/styles/adaptive-legibility.css +1 -1
  253. package/dist/components/dock/styles/controls/icon-button.css +1 -1
  254. package/dist/components/dock/styles/controls/tab-button.css +1 -1
  255. package/dist/components/dock/styles/controls/touch-floor.css +1 -1
  256. package/dist/components/dock/styles/controls/triggers.css +1 -1
  257. package/dist/components/dock/styles/controls.css +1 -1
  258. package/dist/components/dock/styles/crossfade.css +1 -1
  259. package/dist/components/dock/styles/cta-seat.css +1 -1
  260. package/dist/components/dock/styles/density.css +1 -1
  261. package/dist/components/dock/styles/dock.css +1 -1
  262. package/dist/components/dock/styles/index.css +1 -1
  263. package/dist/components/dock/styles/layer-group.css +1 -1
  264. package/dist/components/dock/styles/layers.css +1 -1
  265. package/dist/components/dock/styles/morph.css +1 -1
  266. package/dist/components/dock/styles/overflow.css +1 -1
  267. package/dist/components/dock/styles/search.css +1 -1
  268. package/dist/components/dock/styles/shape.css +1 -1
  269. package/dist/components/dock/styles/shell-regions.css +1 -1
  270. package/dist/components/dock/styles/shell.css +1 -1
  271. package/dist/components/easing/EasingCurve.vue.d.ts +51 -0
  272. package/dist/components/easing/EasingPicker.vue.d.ts +16 -32
  273. package/dist/components/easing/constants.d.ts +16 -14
  274. package/dist/components/easing/index.d.ts +5 -3
  275. package/dist/components/easing/{composables/useEasingPicker.d.ts → usePicker.d.ts} +31 -30
  276. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +1 -25
  277. package/dist/components/expandable-container/index.d.ts +1 -1
  278. package/dist/components/fading-scroll/FadingScroll.vue.d.ts +4 -0
  279. package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +4 -0
  280. package/dist/components/fading-scroll/constants.d.ts +2 -10
  281. package/dist/components/fading-scroll/index.d.ts +2 -2
  282. package/dist/components/fourier-field/FourierField.vue.d.ts +9 -13
  283. package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +5 -5
  284. package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +5 -5
  285. package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +2 -4
  286. package/dist/components/fourier-field/composables/useFourierField.d.ts +8 -8
  287. package/dist/components/fourier-field/constants.d.ts +11 -11
  288. package/dist/components/fourier-field/index.d.ts +10 -12
  289. package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +2 -2
  290. package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -1
  291. package/dist/components/handmark/HandMark.vue.d.ts +6 -6
  292. package/dist/components/handmark/brush.d.ts +1 -1
  293. package/dist/components/handmark/composables/useHandMark.d.ts +8 -8
  294. package/dist/components/handmark/constants.d.ts +10 -10
  295. package/dist/components/handmark/geometry.d.ts +9 -12
  296. package/dist/components/handmark/index.d.ts +17 -16
  297. package/dist/components/handmark/ink.d.ts +1 -1
  298. package/dist/components/handmark/noise.d.ts +3 -3
  299. package/dist/components/handmark/texture.d.ts +2 -2
  300. package/dist/components/handmark/types.d.ts +3 -3
  301. package/dist/components/index.d.ts +30 -35
  302. package/dist/components/infinite-scroll/InfiniteScroll.vue.d.ts +3 -3
  303. package/dist/components/infinite-scroll/composables/index.d.ts +2 -2
  304. package/dist/components/infinite-scroll/composables/types.d.ts +1 -1
  305. package/dist/components/infinite-scroll/composables/useInfiniteScroll.d.ts +1 -1
  306. package/dist/components/infinite-scroll/index.d.ts +2 -2
  307. package/dist/components/input/Input.vue.d.ts +15 -35
  308. package/dist/components/input/index.d.ts +3 -1
  309. package/dist/components/input/types.d.ts +62 -0
  310. package/dist/components/label/Label.vue.d.ts +9 -14
  311. package/dist/components/label/index.d.ts +1 -1
  312. package/dist/components/labeled-field/LabeledField.vue.d.ts +10 -108
  313. package/dist/components/labeled-field/LabeledInput.vue.d.ts +3 -23
  314. package/dist/components/labeled-field/LabeledSlider.vue.d.ts +12 -18
  315. package/dist/components/labeled-field/LabeledSwitch.vue.d.ts +14 -17
  316. package/dist/components/labeled-field/index.d.ts +5 -5
  317. package/dist/components/labeled-field/types.d.ts +41 -0
  318. package/dist/components/menu/DropdownMenu.vue.d.ts +51 -0
  319. package/dist/components/menu/DropdownMenuCheckboxItem.vue.d.ts +33 -0
  320. package/dist/components/menu/DropdownMenuContent.vue.d.ts +42 -0
  321. package/dist/components/{dropdown-menu → menu}/DropdownMenuGroup.vue.d.ts +6 -4
  322. package/dist/components/menu/DropdownMenuItem.vue.d.ts +31 -0
  323. package/dist/components/menu/DropdownMenuLabel.vue.d.ts +19 -0
  324. package/dist/components/{dropdown-menu → menu}/DropdownMenuRadioGroup.vue.d.ts +13 -6
  325. package/dist/components/menu/DropdownMenuRadioItem.vue.d.ts +29 -0
  326. package/dist/components/menu/DropdownMenuSeparator.vue.d.ts +7 -0
  327. package/dist/components/menu/DropdownMenuShortcut.vue.d.ts +16 -0
  328. package/dist/components/{dropdown-menu → menu}/DropdownMenuSub.vue.d.ts +15 -7
  329. package/dist/components/menu/DropdownMenuSubContent.vue.d.ts +41 -0
  330. package/dist/components/menu/DropdownMenuSubTrigger.vue.d.ts +20 -0
  331. package/dist/components/menu/DropdownMenuTrigger.vue.d.ts +27 -0
  332. package/dist/components/menu/context.d.ts +7 -0
  333. package/dist/components/menu/index.d.ts +15 -0
  334. package/dist/components/metric/Metric.vue.d.ts +26 -0
  335. package/dist/components/metric/MetricRow.vue.d.ts +14 -0
  336. package/dist/components/metric/MetricStack.vue.d.ts +16 -0
  337. package/dist/components/metric/coalesce-metric.d.ts +31 -24
  338. package/dist/components/metric/index.d.ts +6 -0
  339. package/dist/components/metric/styles.css +1 -0
  340. package/dist/components/metric/types.d.ts +44 -0
  341. package/dist/components/music-staff/MusicStaff.vue.d.ts +22 -0
  342. package/dist/components/music-staff/glyphs.d.ts +74 -0
  343. package/dist/components/music-staff/index.d.ts +4 -0
  344. package/dist/components/music-staff/midiAdapter.d.ts +22 -0
  345. package/dist/components/music-staff/staffGeometry.d.ts +216 -0
  346. package/dist/components/music-staff/styles.css +1 -0
  347. package/dist/components/number-field/NumberField.vue.d.ts +27 -10
  348. package/dist/components/number-field/NumberFieldInput.vue.d.ts +1 -6
  349. package/dist/components/number-field/NumberFieldStep.vue.d.ts +31 -0
  350. package/dist/components/number-field/context.d.ts +10 -0
  351. package/dist/components/number-field/index.d.ts +3 -5
  352. package/dist/components/pager-dots/PagerDots.vue.d.ts +22 -10
  353. package/dist/components/pager-dots/index.d.ts +3 -4
  354. package/dist/components/pager-dots/worm.d.ts +42 -0
  355. package/dist/components/popover/Popover.vue.d.ts +45 -35
  356. package/dist/components/popover/PopoverContent.vue.d.ts +27 -30
  357. package/dist/components/popover/PopoverTrigger.vue.d.ts +12 -7
  358. package/dist/components/popover/index.d.ts +3 -3
  359. package/dist/components/popover/popoverContext.d.ts +13 -4
  360. package/dist/components/progress/Progress.vue.d.ts +6 -14
  361. package/dist/components/progress/index.d.ts +2 -1
  362. package/dist/components/progress/types.d.ts +29 -0
  363. package/dist/components/radio-group/RadioGroup.vue.d.ts +25 -15
  364. package/dist/components/radio-group/RadioGroupItem.vue.d.ts +10 -6
  365. package/dist/components/radio-group/index.d.ts +4 -2
  366. package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +2 -14
  367. package/dist/components/scroll-progress-rim/index.d.ts +2 -3
  368. package/dist/components/scroll-progress-rim/styles.css +1 -1
  369. package/dist/components/scroll-progress-rim/types.d.ts +20 -2
  370. package/dist/components/search/SearchBar.vue.d.ts +4 -4
  371. package/dist/components/search/composables/fuzzySearchIndex.d.ts +1 -1
  372. package/dist/components/search/composables/index.d.ts +5 -5
  373. package/dist/components/search/composables/useFuzzySearch.d.ts +1 -1
  374. package/dist/components/search/index.d.ts +8 -9
  375. package/dist/components/search/searchVariants.d.ts +15 -18
  376. package/dist/components/select/Select.vue.d.ts +25 -14
  377. package/dist/components/select/SelectContent.vue.d.ts +24 -32
  378. package/dist/components/select/SelectGroup.vue.d.ts +7 -11
  379. package/dist/components/select/SelectItem.vue.d.ts +24 -13
  380. package/dist/components/select/SelectLabel.vue.d.ts +7 -11
  381. package/dist/components/select/SelectScrollButton.vue.d.ts +18 -0
  382. package/dist/components/select/SelectSeparator.vue.d.ts +5 -6
  383. package/dist/components/select/SelectTrigger.vue.d.ts +8 -41
  384. package/dist/components/select/SelectValue.vue.d.ts +11 -7
  385. package/dist/components/select/index.d.ts +18 -8
  386. package/dist/components/separator/Separator.vue.d.ts +11 -6
  387. package/dist/components/separator/index.d.ts +1 -1
  388. package/dist/components/sheet/SheetContent.vue.d.ts +60 -0
  389. package/dist/components/sheet/detents/projection.d.ts +42 -0
  390. package/dist/components/sheet/detents/use.d.ts +27 -0
  391. package/dist/components/sheet/index.d.ts +4 -0
  392. package/dist/components/sheet/motion.d.ts +29 -0
  393. package/dist/components/sheet/styles.css +1 -0
  394. package/dist/components/skeleton/Skeleton.vue.d.ts +3 -31
  395. package/dist/components/skeleton/index.d.ts +1 -1
  396. package/dist/components/slider/Slider.vue.d.ts +10 -38
  397. package/dist/components/slider/index.d.ts +2 -46
  398. package/dist/components/slider/styles.css +1 -0
  399. package/dist/components/slider/types.d.ts +34 -0
  400. package/dist/components/sortable-list/SortableItem.vue.d.ts +1 -1
  401. package/dist/components/sortable-list/SortableList.vue.d.ts +2 -3
  402. package/dist/components/sortable-list/context.d.ts +1 -1
  403. package/dist/components/sortable-list/drag.d.ts +52 -0
  404. package/dist/components/sortable-list/ghost.d.ts +40 -0
  405. package/dist/components/sortable-list/index.d.ts +4 -4
  406. package/dist/components/sortable-list/motion.d.ts +75 -0
  407. package/dist/components/sortable-list/resolve.d.ts +56 -0
  408. package/dist/components/sortable-list/{composables/types.d.ts → types.d.ts} +14 -7
  409. package/dist/components/sortable-list/{composables/useSortable.d.ts → useSortable.d.ts} +2 -4
  410. package/dist/components/status-dot/StatusDot.vue.d.ts +14 -10
  411. package/dist/components/status-dot/index.d.ts +3 -1
  412. package/dist/components/status-dot/states.d.ts +4 -0
  413. package/dist/components/surface/Surface.vue.d.ts +33 -24
  414. package/dist/components/surface/index.d.ts +2 -2
  415. package/dist/components/switch/Switch.vue.d.ts +15 -11
  416. package/dist/components/switch/index.d.ts +2 -1
  417. package/dist/components/table/Table.vue.d.ts +1 -1
  418. package/dist/components/table/index.d.ts +8 -8
  419. package/dist/components/tabs/SegmentedTabs.vue.d.ts +28 -24
  420. package/dist/components/tabs/composables/useTabDragMorph.d.ts +7 -7
  421. package/dist/components/tabs/composables/useTabResponsive.d.ts +6 -7
  422. package/dist/components/tabs/composables/useTabRovingFocus.d.ts +31 -23
  423. package/dist/components/tabs/index.d.ts +2 -2
  424. package/dist/components/tabs/styles/drag.css +1 -1
  425. package/dist/components/tabs/styles/segmented.css +1 -1
  426. package/dist/components/textarea/Textarea.vue.d.ts +14 -54
  427. package/dist/components/textarea/index.d.ts +2 -1
  428. package/dist/components/textarea/types.d.ts +45 -0
  429. package/dist/components/timeline/Timeline.vue.d.ts +41 -0
  430. package/dist/components/timeline/geometry.d.ts +53 -79
  431. package/dist/components/timeline/index.d.ts +2 -2
  432. package/dist/components/timeline/types.d.ts +42 -42
  433. package/dist/components/toast/Toast.vue.d.ts +39 -81
  434. package/dist/components/toast/ToastAction.vue.d.ts +5 -5
  435. package/dist/components/toast/ToastClose.vue.d.ts +4 -5
  436. package/dist/components/toast/ToastDescription.vue.d.ts +4 -5
  437. package/dist/components/toast/ToastTitle.vue.d.ts +4 -5
  438. package/dist/components/toast/Toaster.vue.d.ts +1 -1
  439. package/dist/components/toast/index.d.ts +8 -9
  440. package/dist/components/toast/use-toast.d.ts +27 -163
  441. package/dist/components/toggle-group/ToggleGroup.vue.d.ts +25 -14
  442. package/dist/components/toggle-group/ToggleGroupItem.vue.d.ts +14 -12
  443. package/dist/components/toggle-group/context.d.ts +28 -0
  444. package/dist/components/toggle-group/index.d.ts +2 -2
  445. package/dist/components/tooltip/Tooltip.vue.d.ts +20 -7
  446. package/dist/components/tooltip/TooltipContent.vue.d.ts +16 -13
  447. package/dist/components/tooltip/TooltipProvider.vue.d.ts +12 -5
  448. package/dist/components/tooltip/TooltipTrigger.vue.d.ts +12 -5
  449. package/dist/components/tooltip/index.d.ts +4 -4
  450. package/dist/components/typewriter/TypewriterText.vue.d.ts +12 -32
  451. package/dist/components/typewriter/composables/useTypewriter.d.ts +2 -1
  452. package/dist/components/typewriter/index.d.ts +7 -7
  453. package/dist/components/typewriter/types.d.ts +1 -1
  454. package/dist/components/typewriter/utils/timing.d.ts +1 -3
  455. package/dist/components/typewriter/utils/typoStateMachine.d.ts +1 -1
  456. package/dist/composables/color/accent-tone-solve.d.ts +3 -6
  457. package/dist/composables/color/index.d.ts +36 -43
  458. package/dist/composables/color/useAccentTone.d.ts +0 -3
  459. package/dist/composables/color/value.d.ts +21 -0
  460. package/dist/composables/context/createContext.d.ts +2 -2
  461. package/dist/composables/context/index.d.ts +1 -1
  462. package/dist/composables/dark/index.d.ts +5 -5
  463. package/dist/composables/dark/useGlobalDark.d.ts +7 -6
  464. package/dist/composables/dom/index.d.ts +10 -10
  465. package/dist/composables/dom/useBreakpoint.d.ts +2 -2
  466. package/dist/composables/dom/useClipboard.d.ts +28 -52
  467. package/dist/composables/dom/useDocumentVisibility.d.ts +3 -1
  468. package/dist/composables/dom/useDragVelocity.d.ts +7 -0
  469. package/dist/composables/dom/useIdleReady.d.ts +5 -6
  470. package/dist/composables/dom/useTokenColor.d.ts +2 -2
  471. package/dist/composables/dom/useUserInvalidAria.d.ts +2 -3
  472. package/dist/composables/dom/useViewportReady.d.ts +4 -4
  473. package/dist/composables/glass/backdropLuminanceSample.d.ts +23 -24
  474. package/dist/composables/glass/backdropSampleMath.d.ts +10 -0
  475. package/dist/composables/glass/canvas2d/index.d.ts +3 -3
  476. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +8 -10
  477. package/dist/composables/glass/index.d.ts +5 -7
  478. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +13 -22
  479. package/dist/composables/glass/useSpecularTracking.d.ts +13 -16
  480. package/dist/composables/glass/webgl/backingSize.d.ts +5 -8
  481. package/dist/composables/glass/webgl/compile.d.ts +1 -1
  482. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +25 -34
  483. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +24 -39
  484. package/dist/composables/glass/webgl/visibility.d.ts +4 -5
  485. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +20 -23
  486. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +4 -5
  487. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +19 -19
  488. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +8 -26
  489. package/dist/composables/keyboard/index.d.ts +1 -1
  490. package/dist/composables/motion/core/asElement.d.ts +2 -0
  491. package/dist/composables/motion/core/constants.d.ts +25 -0
  492. package/dist/composables/motion/core/index.d.ts +21 -24
  493. package/dist/composables/motion/{motionTempo.d.ts → core/motionTempo.d.ts} +0 -2
  494. package/dist/composables/motion/core/useReducedMotion.d.ts +5 -0
  495. package/dist/composables/motion/core/useViewTransition.d.ts +44 -0
  496. package/dist/composables/motion/dissolve/dissolveGrammar.d.ts +88 -0
  497. package/dist/composables/motion/engage/engageEnvelopes.d.ts +45 -0
  498. package/dist/composables/motion/engage/engageLadder.d.ts +86 -0
  499. package/dist/composables/motion/index.d.ts +14 -16
  500. package/dist/composables/motion/morph/eyeglass.d.ts +141 -0
  501. package/dist/composables/motion/{useDockCtaReceive.d.ts → morph/useDockCtaReceive.d.ts} +8 -9
  502. package/dist/composables/motion/{useDragMorph.d.ts → morph/useDragMorph.d.ts} +7 -7
  503. package/dist/composables/motion/morph/useElementMorph.d.ts +50 -0
  504. package/dist/composables/motion/morph/useLeadTrail.d.ts +71 -0
  505. package/dist/composables/motion/morph/useSelectionGroup.d.ts +123 -0
  506. package/dist/composables/motion/morph/useSelectionIndicator.d.ts +113 -0
  507. package/dist/composables/motion/{useAnimatedNumberMap.d.ts → number/useAnimatedNumberMap.d.ts} +1 -1
  508. package/dist/composables/motion/{pointerFieldMappings.d.ts → pointer/pointerFieldMappings.d.ts} +8 -11
  509. package/dist/composables/motion/{usePointerVelocityField.d.ts → pointer/usePointerVelocityField.d.ts} +1 -1
  510. package/dist/composables/motion/{useRoutePointer.d.ts → pointer/useRoutePointer.d.ts} +1 -1
  511. package/dist/composables/motion/{useLiquidReveal.d.ts → reveal/useLiquidReveal.d.ts} +11 -10
  512. package/dist/composables/motion/{useStagger.d.ts → reveal/useStagger.d.ts} +3 -3
  513. package/dist/composables/motion/route/routeGrammar.d.ts +60 -0
  514. package/dist/composables/motion/route/useRouteTransition.d.ts +45 -0
  515. package/dist/composables/motion/{useScrollChrome.d.ts → scroll/useScrollChrome.d.ts} +2 -2
  516. package/dist/composables/motion/{useScrollProgress.d.ts → scroll/useScrollProgress.d.ts} +9 -6
  517. package/dist/composables/motion/{useScrollScene.d.ts → scroll/useScrollScene.d.ts} +5 -4
  518. package/dist/composables/motion/spring/springPresets.d.ts +32 -0
  519. package/dist/composables/motion/{springProjection.d.ts → spring/springProjection.d.ts} +6 -4
  520. package/dist/composables/motion/{useLiquidFlex.d.ts → spring/useLiquidFlex.d.ts} +11 -12
  521. package/dist/composables/motion/{useLiquidPress.d.ts → spring/useLiquidPress.d.ts} +5 -5
  522. package/dist/composables/motion/{useSpring.d.ts → spring/useSpring.d.ts} +5 -2
  523. package/dist/composables/motion/{useSpringMount.d.ts → spring/useSpringMount.d.ts} +14 -4
  524. package/dist/composables/motion/{useSpringPress.d.ts → spring/useSpringPress.d.ts} +6 -6
  525. package/dist/composables/reactive/index.d.ts +2 -2
  526. package/dist/composables/sidebar/index.d.ts +10 -10
  527. package/dist/composables/sidebar/types.d.ts +3 -3
  528. package/dist/composables/sidebar/useClickDelegate.d.ts +1 -1
  529. package/dist/composables/sidebar/useLazyLoader.d.ts +1 -1
  530. package/dist/composables/sidebar/useScrollTo.d.ts +1 -1
  531. package/dist/composables/sidebar/useScrollTracker.d.ts +1 -1
  532. package/dist/composables/sidebar/useSidebarState.d.ts +1 -1
  533. package/dist/composables/sidebar/useTreeIndex.d.ts +1 -1
  534. package/dist/{configurator-CSENXXSy.js → configurator-BoeScnDL.js} +12 -12
  535. package/dist/configurator.d.ts +1 -1
  536. package/dist/configurator.js +1 -1
  537. package/dist/{constants-DRZmNIY-.js → constants-Dk96HZHu.js} +3 -3
  538. package/dist/constellation.d.ts +1 -1
  539. package/dist/constellation.js +198 -196
  540. package/dist/content-CWO-XL7o.js +18 -0
  541. package/dist/control-Da4XeT43.js +11 -0
  542. package/dist/control.css_vue_type_style_index_0_src_true_lang-BIdufaDG.js +21 -0
  543. package/dist/{createCanvasLifecycle-hsFkQVdl.js → createCanvasLifecycle-hJHobVTn.js} +84 -82
  544. package/dist/dark-mode-toggle.d.ts +1 -0
  545. package/dist/dark-mode-toggle.js +43 -0
  546. package/dist/dark.d.ts +1 -1
  547. package/dist/dark.js +1 -1
  548. package/dist/data-table-_RrOEdiw.js +493 -0
  549. package/dist/data-table.d.ts +1 -1
  550. package/dist/data-table.js +1 -1
  551. package/dist/deck-Ci6YjB5e.js +453 -0
  552. package/dist/deck.d.ts +1 -1
  553. package/dist/deck.js +2 -94
  554. package/dist/dialog-CbRnTRtg.js +78 -0
  555. package/dist/dialog.d.ts +1 -1
  556. package/dist/dialog.js +3 -2
  557. package/dist/dock.d.ts +1 -1
  558. package/dist/dock.js +654 -1044
  559. package/dist/dom.d.ts +1 -1
  560. package/dist/dom.js +65 -105
  561. package/dist/easing.d.ts +1 -1
  562. package/dist/easing.js +709 -522
  563. package/dist/expandable-container.d.ts +1 -1
  564. package/dist/expandable-container.js +109 -93
  565. package/dist/fading-scroll-CTeW3KNS.js +96 -0
  566. package/dist/fading-scroll.d.ts +1 -1
  567. package/dist/fading-scroll.js +1 -1
  568. package/dist/focus-Duf7EpUu.js +13 -0
  569. package/dist/fourier-field.d.ts +1 -1
  570. package/dist/fourier-field.js +172 -174
  571. package/dist/fourier-math.d.ts +1 -1
  572. package/dist/glass-ui.css +1 -1
  573. package/dist/glass-ui.js +295 -505
  574. package/dist/handmark.d.ts +1 -1
  575. package/dist/handmark.js +4 -4
  576. package/dist/index.d.ts +41 -51
  577. package/dist/infinite-scroll.d.ts +1 -1
  578. package/dist/infinite-scroll.js +59 -43
  579. package/dist/input-Bls2A4Tt.js +54 -0
  580. package/dist/input.d.ts +1 -0
  581. package/dist/input.js +2 -0
  582. package/dist/keyboard.d.ts +1 -1
  583. package/dist/label-BQEZhnK_.js +53 -0
  584. package/dist/label.d.ts +1 -1
  585. package/dist/label.js +1 -1
  586. package/dist/labeled-field.d.ts +1 -1
  587. package/dist/labeled-field.js +232 -239
  588. package/dist/menu-wLu1XGKn.js +501 -0
  589. package/dist/menu.d.ts +1 -0
  590. package/dist/{dropdown-menu.js → menu.js} +2 -2
  591. package/dist/metric.d.ts +1 -0
  592. package/dist/metric.js +139 -0
  593. package/dist/motion-D4uYE0UM.js +61 -0
  594. package/dist/motion-core.d.ts +1 -1
  595. package/dist/motion-core.js +206 -165
  596. package/dist/motion.d.ts +1 -1
  597. package/dist/motion.js +164 -239
  598. package/dist/music-staff.d.ts +1 -0
  599. package/dist/music-staff.js +915 -0
  600. package/dist/number-field-NFAwQ0HK.js +111 -0
  601. package/dist/number-field.d.ts +1 -1
  602. package/dist/number-field.js +2 -2
  603. package/dist/pager-dots.d.ts +1 -1
  604. package/dist/pager-dots.js +362 -2
  605. package/dist/participation-B0hdsIRo.js +42 -0
  606. package/dist/{pointerFieldMappings-CZojkgKj.js → pointerFieldMappings-DP5tla5z.js} +4 -7
  607. package/dist/popover-DBMKTPkL.js +181 -0
  608. package/dist/popover.d.ts +1 -1
  609. package/dist/popover.js +1 -1
  610. package/dist/{presets-CxeNvxuO.js → presets-5myqNv59.js} +1 -1
  611. package/dist/primitive-B2t2jdqM.js +11 -0
  612. package/dist/progress-DF8dWZIX.js +74 -0
  613. package/dist/progress.d.ts +1 -1
  614. package/dist/progress.js +1 -1
  615. package/dist/radio-group-Ci8o-pDx.js +85 -0
  616. package/dist/radio-group.d.ts +1 -0
  617. package/dist/radio-group.js +2 -0
  618. package/dist/reactive.d.ts +1 -1
  619. package/dist/reactive.js +1 -1
  620. package/dist/resolve-DdrNvBby.js +6 -0
  621. package/dist/resolveCanvasColor-6MCrswTB.js +81 -0
  622. package/dist/rowClass-DYOXwxhO.js +10 -0
  623. package/dist/scroll-progress-rim.d.ts +1 -1
  624. package/dist/scroll-progress-rim.js +48 -42
  625. package/dist/{scrollReader-C2oK9Hb8.js → scrollReader-Brf5cQNo.js} +1 -1
  626. package/dist/search.d.ts +1 -1
  627. package/dist/search.js +33 -296
  628. package/dist/select-CDgwGH_P.js +290 -0
  629. package/dist/select.d.ts +1 -1
  630. package/dist/select.js +2 -2
  631. package/dist/selection-DqIULxRG.js +6 -0
  632. package/dist/separator-CN11t406.js +73 -0
  633. package/dist/separator.d.ts +1 -1
  634. package/dist/separator.js +1 -1
  635. package/dist/sheet-BEFvnO_u.js +340 -0
  636. package/dist/sheet.d.ts +1 -0
  637. package/dist/sheet.js +3 -0
  638. package/dist/sidebar.d.ts +1 -1
  639. package/dist/sidebar.js +53 -42
  640. package/dist/slider-gsc8jDIo.js +227 -0
  641. package/dist/slider.d.ts +1 -1
  642. package/dist/slider.js +2 -2
  643. package/dist/sortable-list.d.ts +1 -1
  644. package/dist/sortable-list.js +412 -286
  645. package/dist/springPresets-Cbe0Voqg.js +52 -0
  646. package/dist/status-dot-BpnqOP5N.js +56 -0
  647. package/dist/status-dot.d.ts +1 -1
  648. package/dist/status-dot.js +2 -59
  649. package/dist/styles/accessibility.css +1 -1
  650. package/dist/styles/animations.css +1 -1
  651. package/dist/styles/components.css +1 -1
  652. package/dist/styles/fonts.css +1 -1
  653. package/dist/styles/glass/a11y-fallback.css +1 -1
  654. package/dist/styles/glass/control-bit.css +1 -0
  655. package/dist/styles/glass/control-edge.css +1 -0
  656. package/dist/styles/glass/control-surfaces.css +1 -1
  657. package/dist/styles/glass/deep.css +1 -1
  658. package/dist/styles/glass/defined.css +1 -1
  659. package/dist/styles/glass/dissolve.css +1 -0
  660. package/dist/styles/glass/focus-veil.css +1 -0
  661. package/dist/styles/glass/glass-atom.css +1 -1
  662. package/dist/styles/glass/glass-capsule.css +1 -1
  663. package/dist/styles/glass/glass-chip.css +1 -1
  664. package/dist/styles/glass/grasp.css +1 -0
  665. package/dist/styles/glass/ladder-undershadow.css +1 -1
  666. package/dist/styles/glass/ladder.css +1 -1
  667. package/dist/styles/glass/liquid-enter.css +1 -1
  668. package/dist/styles/glass/liquid-fill.css +1 -1
  669. package/dist/styles/glass/mark.css +1 -0
  670. package/dist/styles/glass/material.css +1 -1
  671. package/dist/styles/glass/overlay-plate.css +1 -0
  672. package/dist/styles/glass/reveal.css +1 -1
  673. package/dist/styles/glass/rim.css +1 -1
  674. package/dist/styles/glass/squircle.css +1 -1
  675. package/dist/styles/glass/surface-axis.css +1 -1
  676. package/dist/styles/glass/surfaces-pager.css +1 -1
  677. package/dist/styles/glass/surfaces.css +1 -1
  678. package/dist/styles/glass/track-flow.css +1 -0
  679. package/dist/styles/glass/value-marks.css +1 -0
  680. package/dist/styles/glass/veil.css +1 -0
  681. package/dist/styles/glass-specular-track.css +1 -1
  682. package/dist/styles/glass.css +1 -1
  683. package/dist/styles/index.css +1 -1
  684. package/dist/styles/paper.css +1 -1
  685. package/dist/styles/scroll-choreography.css +1 -1
  686. package/dist/styles/scroll-chrome.css +1 -1
  687. package/dist/styles/scroll-driven.css +1 -1
  688. package/dist/styles/theme/bridges.css +1 -1
  689. package/dist/styles/theme/dark.css +1 -1
  690. package/dist/styles/theme/literals.css +1 -1
  691. package/dist/styles/theme/radius.css +1 -1
  692. package/dist/styles/theme.css +1 -1
  693. package/dist/styles/tokens/color-radius.css +1 -1
  694. package/dist/styles/tokens/dark-arm-glass.css +1 -1
  695. package/dist/styles/tokens/dark-arm.css +1 -1
  696. package/dist/styles/tokens/glass-deep.css +1 -1
  697. package/dist/styles/tokens/glass-fx.css +1 -1
  698. package/dist/styles/tokens/glass.css +1 -1
  699. package/dist/styles/tokens/light-dark.css +1 -1
  700. package/dist/styles/tokens/manifest.d.ts +14 -0
  701. package/dist/styles/tokens/motion-registers.css +1 -1
  702. package/dist/styles/tokens/offsets.css +1 -1
  703. package/dist/styles/tokens/on-glass-fg.css +1 -1
  704. package/dist/styles/tokens/property-regs-specular.css +1 -1
  705. package/dist/styles/tokens/property-regs.css +1 -1
  706. package/dist/styles/tokens/scale-paper.css +1 -1
  707. package/dist/styles/tokens/scheme-motion.css +1 -1
  708. package/dist/styles/tokens/scheme-spring.css +1 -1
  709. package/dist/styles/tokens/scroll-tokens.css +1 -1
  710. package/dist/styles/tokens/shadow.css +1 -1
  711. package/dist/styles/tokens/sizing-config.css +1 -1
  712. package/dist/styles/tokens/sizing.css +1 -1
  713. package/dist/styles/tokens.css +1 -1
  714. package/dist/styles/tokens.d.ts +5 -10
  715. package/dist/styles/track-well.css +1 -0
  716. package/dist/styles/transitions.css +1 -1
  717. package/dist/styles/typography/scale.css +1 -1
  718. package/dist/styles/typography/semantic.css +1 -1
  719. package/dist/styles/typography/utilities.css +1 -1
  720. package/dist/styles/typography.css +1 -1
  721. package/dist/styles/utilities/a11y-overrides.css +1 -1
  722. package/dist/styles/utilities/base-misc.css +1 -1
  723. package/dist/styles/utilities/base.css +1 -1
  724. package/dist/styles/utilities/btn.css +1 -1
  725. package/dist/styles/utilities/components.css +1 -1
  726. package/dist/styles/utilities/metal.css +1 -1
  727. package/dist/styles/utilities/responsive.css +1 -0
  728. package/dist/styles/utilities.css +1 -1
  729. package/dist/styles/view-transition.css +1 -1
  730. package/dist/styles/viz-reveal.css +1 -1
  731. package/dist/{supportsCssTimeline-Dz-GVxXM.js → supportsCssTimeline-Di9gzleG.js} +6 -5
  732. package/dist/surface.d.ts +1 -1
  733. package/dist/surface.js +2 -3
  734. package/dist/switch-DxZzDrmV.js +49 -0
  735. package/dist/switch.d.ts +1 -1
  736. package/dist/switch.js +1 -1
  737. package/dist/tabs-CYscnq5H.js +268 -0
  738. package/dist/tabs.d.ts +1 -1
  739. package/dist/tabs.js +2 -339
  740. package/dist/textarea.d.ts +1 -0
  741. package/dist/textarea.js +58 -0
  742. package/dist/timeline.d.ts +1 -1
  743. package/dist/timeline.js +241 -532
  744. package/dist/toast-9c6Kp58L.js +269 -0
  745. package/dist/toast.d.ts +1 -1
  746. package/dist/toast.js +1 -1
  747. package/dist/toggle-group-11aPGMfE.js +125 -0
  748. package/dist/toggle-group.d.ts +1 -1
  749. package/dist/toggle-group.js +1 -1
  750. package/dist/tokens.d.ts +1 -1
  751. package/dist/tokens.js +98 -5
  752. package/dist/tooltip-DqKMZ4dn.js +142 -0
  753. package/dist/tooltip.d.ts +1 -1
  754. package/dist/tooltip.js +1 -1
  755. package/dist/typewriter.d.ts +1 -1
  756. package/dist/typewriter.js +215 -208
  757. package/dist/useAccentTone-DFAh1osB.js +47 -0
  758. package/dist/useClipboard-D36OTaeT.js +53 -0
  759. package/dist/useDockCtaReceive-BSSgD6mu.js +146 -0
  760. package/dist/useDragMorph-B363RUbF.js +293 -0
  761. package/dist/{useDragVelocity-CbMZEBaC.js → useDragVelocity-C5BkKiNf.js} +28 -24
  762. package/dist/useIntersectionPause-CzKR3EyP.js +57 -0
  763. package/dist/useLeadTrail-DQWdpFN1.js +83 -0
  764. package/dist/{useLiquidFlex-Ch4exNvN.js → useLiquidFlex-TJZmRqyY.js} +1 -1
  765. package/dist/useLiquidPress-h1scrPtP.js +101 -0
  766. package/dist/useMotionAxis-D-rtIhca.js +19 -0
  767. package/dist/usePointerVelocityField-DsIf7yyq.js +121 -0
  768. package/dist/useReducedMotion-vCXA_vyM.js +27 -0
  769. package/dist/{useTouchGate-Cj5fOkTv.js → useResolveTokenColor-CspQv_ik.js} +25 -2
  770. package/dist/useRoutePointer-B8itM7Ka.js +53 -0
  771. package/dist/useScrollChrome-BJbWV32F.js +162 -0
  772. package/dist/useScrollProgress-Bq-KPaKM.js +41 -0
  773. package/dist/useScrollTrigger-Abe5dEeO.js +86 -0
  774. package/dist/useSelectionGroup-zsEwitF6.js +291 -0
  775. package/dist/{useSpring-BBSKFx_0.js → useSpring-9u2_shxV.js} +2 -2
  776. package/dist/useSpringMount-OA-0mTNv.js +73 -0
  777. package/dist/vReveal-B5WYGofz.js +44 -0
  778. package/dist/vSpecular-DMJo8pfD.js +68 -0
  779. package/dist/value-DMhh2R94.js +33 -0
  780. package/dist/{valueDomain-B8L04u3U.js → valueDomain-DXRzfc8l.js} +1 -1
  781. package/package.json +183 -291
  782. package/dist/DropdownMenuTrigger-BzQtd9lt.js +0 -65
  783. package/dist/FadingScroll-C1ZWEjmG.js +0 -83
  784. package/dist/Input-B4WQ_CMc.js +0 -57
  785. package/dist/PagerDots-BoTQ7g5l.js +0 -307
  786. package/dist/Surface-BWRfwyn8.js +0 -59
  787. package/dist/accent-tone-solve-Dii9ePhK.js +0 -20
  788. package/dist/animated-digit.d.ts +0 -1
  789. package/dist/animated-digit.js +0 -44
  790. package/dist/badge-C0C-rTBu.js +0 -80
  791. package/dist/button-32mg6xA8.js +0 -194
  792. package/dist/card-16xmzIr3.js +0 -303
  793. package/dist/coalesce-metric-znAcLzkB.js +0 -13
  794. package/dist/collapsible-bPzS1aQk.js +0 -63
  795. package/dist/color-swatch.d.ts +0 -1
  796. package/dist/color-swatch.js +0 -48
  797. package/dist/command-BjPjUU9z.js +0 -307
  798. package/dist/completion-seal.d.ts +0 -1
  799. package/dist/completion-seal.js +0 -132
  800. package/dist/components/_shared/ModalOverlay.vue.d.ts +0 -43
  801. package/dist/components/_shared/feedback-tone.css +0 -1
  802. package/dist/components/_shared/field-surfaces.css +0 -1
  803. package/dist/components/_shared/menu.css +0 -1
  804. package/dist/components/_shared/menuItemVariants.d.ts +0 -51
  805. package/dist/components/_shared/useControlSize.d.ts +0 -46
  806. package/dist/components/_shared/useStalePropWarning.d.ts +0 -27
  807. package/dist/components/_shared/useSurfaceAxis.d.ts +0 -64
  808. package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +0 -56
  809. package/dist/components/animated-digit/index.d.ts +0 -2
  810. package/dist/components/card/ScrollCard.vue.d.ts +0 -33
  811. package/dist/components/card/ScrollCardHeader.vue.d.ts +0 -17
  812. package/dist/components/card/card-scroll.css +0 -1
  813. package/dist/components/carousel/CarouselNext.vue.d.ts +0 -21
  814. package/dist/components/carousel/CarouselPrevious.vue.d.ts +0 -21
  815. package/dist/components/carousel/interface.d.ts +0 -20
  816. package/dist/components/color-swatch/ColorSwatch.vue.d.ts +0 -22
  817. package/dist/components/color-swatch/index.d.ts +0 -1
  818. package/dist/components/combobox/Combobox.vue.d.ts +0 -32
  819. package/dist/components/combobox/ComboboxAnchor.vue.d.ts +0 -18
  820. package/dist/components/combobox/ComboboxEmpty.vue.d.ts +0 -18
  821. package/dist/components/combobox/ComboboxGroup.vue.d.ts +0 -19
  822. package/dist/components/combobox/ComboboxInput.vue.d.ts +0 -23
  823. package/dist/components/combobox/ComboboxItem.vue.d.ts +0 -22
  824. package/dist/components/combobox/ComboboxItemIndicator.vue.d.ts +0 -18
  825. package/dist/components/combobox/ComboboxList.vue.d.ts +0 -32
  826. package/dist/components/combobox/index.d.ts +0 -9
  827. package/dist/components/completion-seal/CompletionSeal.vue.d.ts +0 -28
  828. package/dist/components/completion-seal/composables/useCompletionSeal.d.ts +0 -37
  829. package/dist/components/completion-seal/constants.d.ts +0 -66
  830. package/dist/components/completion-seal/index.d.ts +0 -4
  831. package/dist/components/completion-seal/styles.css +0 -1
  832. package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -32
  833. package/dist/components/controls/dark-mode-toggle.css +0 -1
  834. package/dist/components/controls/index.d.ts +0 -1
  835. package/dist/components/data-table/DataTablePagination.vue.d.ts +0 -13
  836. package/dist/components/deck/DeckPager.vue.d.ts +0 -29
  837. package/dist/components/dialog/DialogClose.vue.d.ts +0 -14
  838. package/dist/components/dialog/DialogTrigger.vue.d.ts +0 -14
  839. package/dist/components/dialog/placement.css +0 -1
  840. package/dist/components/dock/DockSection.vue.d.ts +0 -69
  841. package/dist/components/dock/DockStack.vue.d.ts +0 -73
  842. package/dist/components/dock/composables/dockMorphContext.d.ts +0 -91
  843. package/dist/components/dock/composables/useDockFisheye.d.ts +0 -24
  844. package/dist/components/dock/composables/useDockPopover.d.ts +0 -70
  845. package/dist/components/dock/styles/fisheye.css +0 -1
  846. package/dist/components/dock/styles/popover.css +0 -1
  847. package/dist/components/dock/styles/section.css +0 -1
  848. package/dist/components/drawer/Drawer.vue.d.ts +0 -85
  849. package/dist/components/drawer/DrawerContent.vue.d.ts +0 -40
  850. package/dist/components/drawer/DrawerDescription.vue.d.ts +0 -18
  851. package/dist/components/drawer/DrawerFooter.vue.d.ts +0 -17
  852. package/dist/components/drawer/DrawerHeader.vue.d.ts +0 -17
  853. package/dist/components/drawer/DrawerOverlay.vue.d.ts +0 -8
  854. package/dist/components/drawer/DrawerTitle.vue.d.ts +0 -18
  855. package/dist/components/drawer/composables/drawerSnapContext.d.ts +0 -28
  856. package/dist/components/drawer/composables/useDrawerSnap.d.ts +0 -24
  857. package/dist/components/drawer/constants.d.ts +0 -50
  858. package/dist/components/drawer/index.d.ts +0 -33
  859. package/dist/components/drawer/styles.css +0 -1
  860. package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +0 -24
  861. package/dist/components/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +0 -24
  862. package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +0 -36
  863. package/dist/components/dropdown-menu/DropdownMenuItem.vue.d.ts +0 -19
  864. package/dist/components/dropdown-menu/DropdownMenuLabel.vue.d.ts +0 -19
  865. package/dist/components/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +0 -22
  866. package/dist/components/dropdown-menu/DropdownMenuSeparator.vue.d.ts +0 -8
  867. package/dist/components/dropdown-menu/DropdownMenuShortcut.vue.d.ts +0 -17
  868. package/dist/components/dropdown-menu/DropdownMenuSubContent.vue.d.ts +0 -34
  869. package/dist/components/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +0 -18
  870. package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +0 -20
  871. package/dist/components/dropdown-menu/index.d.ts +0 -15
  872. package/dist/components/dropdown-menu/useMenuTrigger.d.ts +0 -14
  873. package/dist/components/easing/EasingConfigurator.vue.d.ts +0 -33
  874. package/dist/components/focus-scope/FocusScope.vue.d.ts +0 -20
  875. package/dist/components/focus-scope/index.d.ts +0 -2
  876. package/dist/components/fourier-field/presets.d.ts +0 -54
  877. package/dist/components/goo-filter/GooFilter.vue.d.ts +0 -22
  878. package/dist/components/goo-filter/index.d.ts +0 -1
  879. package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +0 -31
  880. package/dist/components/header-ribbon/index.d.ts +0 -2
  881. package/dist/components/header-ribbon/types.d.ts +0 -7
  882. package/dist/components/icon-chip/IconChip.vue.d.ts +0 -4
  883. package/dist/components/icon-chip/index.d.ts +0 -2
  884. package/dist/components/icon-chip/styles.css +0 -1
  885. package/dist/components/icon-chip/types.d.ts +0 -92
  886. package/dist/components/icon-tooltip/IconTooltip.vue.d.ts +0 -16
  887. package/dist/components/icon-tooltip/index.d.ts +0 -1
  888. package/dist/components/instrument-chassis/ChassisDivider.vue.d.ts +0 -30
  889. package/dist/components/instrument-chassis/InstrumentChassis.vue.d.ts +0 -97
  890. package/dist/components/instrument-chassis/index.d.ts +0 -3
  891. package/dist/components/instrument-chassis/styles.css +0 -1
  892. package/dist/components/labeled-field/LabeledSelect.vue.d.ts +0 -26
  893. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +0 -46
  894. package/dist/components/liquid-grid/composables/liquidGrid.d.ts +0 -113
  895. package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +0 -18
  896. package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +0 -21
  897. package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +0 -16
  898. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +0 -32
  899. package/dist/components/liquid-grid/constants.d.ts +0 -93
  900. package/dist/components/liquid-grid/index.d.ts +0 -5
  901. package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +0 -4
  902. package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +0 -1
  903. package/dist/components/metric-badge/MetricBadge.vue.d.ts +0 -40
  904. package/dist/components/metric-badge/index.d.ts +0 -2
  905. package/dist/components/metric-cell/MetricCell.vue.d.ts +0 -108
  906. package/dist/components/metric-cell/index.d.ts +0 -2
  907. package/dist/components/metric-stack/MetricRow.vue.d.ts +0 -120
  908. package/dist/components/metric-stack/MetricStack.vue.d.ts +0 -92
  909. package/dist/components/metric-stack/index.d.ts +0 -4
  910. package/dist/components/notification/Notification.vue.d.ts +0 -16
  911. package/dist/components/notification/index.d.ts +0 -1
  912. package/dist/components/number-field/NumberFieldContent.vue.d.ts +0 -17
  913. package/dist/components/number-field/NumberFieldDecrement.vue.d.ts +0 -18
  914. package/dist/components/number-field/NumberFieldIncrement.vue.d.ts +0 -18
  915. package/dist/components/pager-dots/composables/usePagerWorm.d.ts +0 -26
  916. package/dist/components/pager-dots/constants.d.ts +0 -15
  917. package/dist/components/pager-dots/pagerWindow.d.ts +0 -9
  918. package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +0 -21
  919. package/dist/components/paper-backdrop/index.d.ts +0 -2
  920. package/dist/components/progress/ProgressDefault.vue.d.ts +0 -9
  921. package/dist/components/progress/ProgressGradient.vue.d.ts +0 -26
  922. package/dist/components/progress/ProgressLiquid.vue.d.ts +0 -22
  923. package/dist/components/progress/valueMarks.css +0 -1
  924. package/dist/components/pulse/Pulse.vue.d.ts +0 -53
  925. package/dist/components/pulse/index.d.ts +0 -1
  926. package/dist/components/search/FuzzySearch.vue.d.ts +0 -24
  927. package/dist/components/select/SelectScrollDownButton.vue.d.ts +0 -18
  928. package/dist/components/select/SelectScrollUpButton.vue.d.ts +0 -18
  929. package/dist/components/sortable-list/composables/dragController.d.ts +0 -29
  930. package/dist/components/sortable-list/composables/dropResolver.d.ts +0 -34
  931. package/dist/components/sortable-list/composables/ghostRenderer.d.ts +0 -44
  932. package/dist/components/sortable-list/composables/index.d.ts +0 -1
  933. package/dist/components/sortable-list/composables/touchGate.d.ts +0 -26
  934. package/dist/components/sortable-list/composables/transitionTiming.d.ts +0 -50
  935. package/dist/components/spa-view/SpaView.vue.d.ts +0 -50
  936. package/dist/components/spa-view/index.d.ts +0 -2
  937. package/dist/components/split-chars/SplitChars.vue.d.ts +0 -53
  938. package/dist/components/split-chars/index.d.ts +0 -1
  939. package/dist/components/tabs/composables/useEyeglassLive.d.ts +0 -17
  940. package/dist/components/tabs/constants.d.ts +0 -1
  941. package/dist/components/tags-input/TagsInput.vue.d.ts +0 -28
  942. package/dist/components/tags-input/TagsInputInput.vue.d.ts +0 -8
  943. package/dist/components/tags-input/TagsInputItem.vue.d.ts +0 -18
  944. package/dist/components/tags-input/TagsInputItemDelete.vue.d.ts +0 -18
  945. package/dist/components/tags-input/TagsInputItemText.vue.d.ts +0 -8
  946. package/dist/components/tags-input/index.d.ts +0 -5
  947. package/dist/components/timeline/ContinuousMarkers.vue.d.ts +0 -49
  948. package/dist/components/timeline/ContinuousRail.vue.d.ts +0 -26
  949. package/dist/components/timeline/ContinuousTimeline.vue.d.ts +0 -118
  950. package/dist/components/timeline/GlassTimeline.vue.d.ts +0 -114
  951. package/dist/components/timeline/ScrubberTimeline.vue.d.ts +0 -45
  952. package/dist/components/timeline/SegmentedTimeline.vue.d.ts +0 -46
  953. package/dist/components/toggle/Toggle.vue.d.ts +0 -29
  954. package/dist/components/toggle/index.d.ts +0 -26
  955. package/dist/components/toggle-group/toggleGroupContext.d.ts +0 -20
  956. package/dist/components/typewriter/composables/index.d.ts +0 -1
  957. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +0 -74
  958. package/dist/components/watercolor-dot/index.d.ts +0 -3
  959. package/dist/components/watercolor-dot/prng.d.ts +0 -5
  960. package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +0 -31
  961. package/dist/composables/glass/ambientHueHistogram.d.ts +0 -27
  962. package/dist/composables/glass/useSpecularPointer.d.ts +0 -52
  963. package/dist/composables/glass/wave/index.d.ts +0 -4
  964. package/dist/composables/glass/wave/waveField.d.ts +0 -136
  965. package/dist/composables/glass/wave/waveField.glsl.d.ts +0 -1
  966. package/dist/composables/glass/wave/waveField.wgsl.d.ts +0 -1
  967. package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +0 -36
  968. package/dist/composables/glass/webgpu/index.d.ts +0 -3
  969. package/dist/composables/index.d.ts +0 -9
  970. package/dist/composables/motion/bloomUpField.d.ts +0 -29
  971. package/dist/composables/motion/constants.d.ts +0 -19
  972. package/dist/composables/motion/curves.d.ts +0 -48
  973. package/dist/composables/motion/gooBarbellGeometry.d.ts +0 -79
  974. package/dist/composables/motion/morphSignatures.d.ts +0 -88
  975. package/dist/composables/motion/springPresets.d.ts +0 -45
  976. package/dist/composables/motion/suite.d.ts +0 -2
  977. package/dist/composables/motion/useBloomUp.d.ts +0 -97
  978. package/dist/composables/motion/useCharStagger.d.ts +0 -44
  979. package/dist/composables/motion/useCountup.d.ts +0 -30
  980. package/dist/composables/motion/useElementMorph.d.ts +0 -107
  981. package/dist/composables/motion/useGooMorph.d.ts +0 -72
  982. package/dist/composables/motion/useLeadTrail.d.ts +0 -69
  983. package/dist/composables/motion/useNumericTransition.d.ts +0 -56
  984. package/dist/composables/motion/usePrioritizedTask.d.ts +0 -41
  985. package/dist/composables/motion/useScrollPin.d.ts +0 -49
  986. package/dist/composables/motion/useSelectionGroup.d.ts +0 -83
  987. package/dist/composables/motion/useSelectionIndicator.d.ts +0 -90
  988. package/dist/composables/motion/useStaggerReveal.d.ts +0 -52
  989. package/dist/composables/motion/useTextHighlight.d.ts +0 -41
  990. package/dist/composables/motion/useViewTransition.d.ts +0 -81
  991. package/dist/composables/virtual/index.d.ts +0 -4
  992. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +0 -72
  993. package/dist/composables/virtual/useWindowedStore.d.ts +0 -43
  994. package/dist/composables/virtual/virtualSectionLayout.d.ts +0 -103
  995. package/dist/controls.d.ts +0 -1
  996. package/dist/controls.js +0 -83
  997. package/dist/data-table-DveMdgBM.js +0 -629
  998. package/dist/dialog-BzQxKrUr.js +0 -281
  999. package/dist/dockContext-4S9qP0Z4.js +0 -13
  1000. package/dist/drawer.d.ts +0 -1
  1001. package/dist/drawer.js +0 -443
  1002. package/dist/dropdown-menu-DORIA52F.js +0 -378
  1003. package/dist/dropdown-menu.d.ts +0 -1
  1004. package/dist/flow.glsl-DEGFGE11.js +0 -4
  1005. package/dist/focus-scope-DUTKveod.js +0 -23
  1006. package/dist/focus-scope.d.ts +0 -1
  1007. package/dist/focus-scope.js +0 -2
  1008. package/dist/fonts/README.md +0 -124
  1009. package/dist/fonts/fira-code/OFL.txt +0 -93
  1010. package/dist/fonts/plus-jakarta-sans/OFL.txt +0 -93
  1011. package/dist/forms.d.ts +0 -5
  1012. package/dist/forms.js +0 -298
  1013. package/dist/header-ribbon.d.ts +0 -1
  1014. package/dist/header-ribbon.js +0 -74
  1015. package/dist/icon-chip-BWuxz1-u.js +0 -57
  1016. package/dist/icon-chip.d.ts +0 -1
  1017. package/dist/icon-chip.js +0 -2
  1018. package/dist/icon-tooltip-CO6rw0dZ.js +0 -25
  1019. package/dist/icon-tooltip.d.ts +0 -1
  1020. package/dist/icon-tooltip.js +0 -2
  1021. package/dist/instrument-chassis-Cvstg4_U.js +0 -65
  1022. package/dist/instrument-chassis.d.ts +0 -1
  1023. package/dist/instrument-chassis.js +0 -2
  1024. package/dist/label-Cj38tJKG.js +0 -36
  1025. package/dist/liquid-grid.d.ts +0 -1
  1026. package/dist/liquid-grid.js +0 -1075
  1027. package/dist/menuItemVariants-D6AOzzND.js +0 -36
  1028. package/dist/metric-badge.d.ts +0 -1
  1029. package/dist/metric-badge.js +0 -79
  1030. package/dist/metric-cell.d.ts +0 -1
  1031. package/dist/metric-cell.js +0 -61
  1032. package/dist/metric-stack.d.ts +0 -1
  1033. package/dist/metric-stack.js +0 -113
  1034. package/dist/motion-curves.d.ts +0 -1
  1035. package/dist/motion-curves.js +0 -146
  1036. package/dist/notification-DVs7ODMg.js +0 -52
  1037. package/dist/notification.d.ts +0 -1
  1038. package/dist/notification.js +0 -2
  1039. package/dist/number-field-PvkGedHk.js +0 -140
  1040. package/dist/paper-backdrop.d.ts +0 -1
  1041. package/dist/paper-backdrop.js +0 -31
  1042. package/dist/popover-WMgyRSyN.js +0 -256
  1043. package/dist/progress-C-HHuFZy.js +0 -192
  1044. package/dist/pulse.d.ts +0 -1
  1045. package/dist/pulse.js +0 -56
  1046. package/dist/resolveCanvasColor-yarP5bdk.js +0 -93
  1047. package/dist/select-BIv4R3Ir.js +0 -326
  1048. package/dist/separator-CBU94kTM.js +0 -62
  1049. package/dist/slider-Cc_qw6GA.js +0 -166
  1050. package/dist/spa-view.d.ts +0 -1
  1051. package/dist/spa-view.js +0 -46
  1052. package/dist/springPresets-h5VKJQqG.js +0 -58
  1053. package/dist/styles/draw-in.css +0 -1
  1054. package/dist/styles/glass/accent-tone.css +0 -1
  1055. package/dist/styles/glass/grain-overlay.css +0 -1
  1056. package/dist/styles/glass/material-roles.css +0 -1
  1057. package/dist/styles/glass/progress-rail.css +0 -1
  1058. package/dist/styles/glass-refract.css +0 -1
  1059. package/dist/styles/tokens.ts +0 -58
  1060. package/dist/switch-Boj4Ucn5.js +0 -49
  1061. package/dist/toast-kAbchIN2.js +0 -281
  1062. package/dist/toggle-group-BPchFsns.js +0 -178
  1063. package/dist/tooltip-BmOQJzh0.js +0 -111
  1064. package/dist/useAccentTone-C-p6WdPe.js +0 -23
  1065. package/dist/useAnimatedNumber-BRVVaFFc.js +0 -40
  1066. package/dist/useControlSize-CFfOk8I-.js +0 -9
  1067. package/dist/useDockCtaReceive-CK-RLASa.js +0 -257
  1068. package/dist/useDocumentVisibility-YeBDGqtI.js +0 -17
  1069. package/dist/useDragMorph-7ygF9O0m.js +0 -93
  1070. package/dist/useGooMorph-D1F6QJlH.js +0 -349
  1071. package/dist/useIntersectionPause-B-dbxl9w.js +0 -39
  1072. package/dist/useLeadTrail-BYu8dq4G.js +0 -74
  1073. package/dist/useLiquidPress-BYcwwGQV.js +0 -68
  1074. package/dist/useMotionAxis-DCCXMC-i.js +0 -20
  1075. package/dist/usePointerVelocityField-BdvnO0py.js +0 -122
  1076. package/dist/useRAFLoop-BtwQ9DyY.js +0 -109
  1077. package/dist/useResolveTokenColor-C07e-qaT.js +0 -24
  1078. package/dist/useRoutePointer-BDNMFN73.js +0 -52
  1079. package/dist/useScrollProgress-DZI4nf4v.js +0 -35
  1080. package/dist/useSelectionGroup-LDzBdR1Y.js +0 -215
  1081. package/dist/useSpringMount-C6-DBx4e.js +0 -71
  1082. package/dist/useSpringPress-BypV_KO-.js +0 -36
  1083. package/dist/useSurfaceAxis-DudiZVOR.js +0 -10
  1084. package/dist/useTabRovingFocus-DkLYwo4L.js +0 -143
  1085. package/dist/useUserInvalidAria-Cr4nR3tu.js +0 -25
  1086. package/dist/vReveal-DZfWl9XI.js +0 -10
  1087. package/dist/vSpecular-CQFmLNzA.js +0 -68
  1088. package/dist/watercolor-dot.d.ts +0 -1
  1089. package/dist/watercolor-dot.js +0 -175
  1090. package/src/fonts/README.md +0 -124
  1091. package/src/fonts/fira-code/OFL.txt +0 -93
  1092. package/src/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
  1093. package/src/fonts/fira-code/fira-code-latin.woff2 +0 -0
  1094. package/src/fonts/plus-jakarta-sans/OFL.txt +0 -93
  1095. package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
  1096. package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
  1097. package/src/styles/accessibility.css +0 -48
  1098. package/src/styles/animations.css +0 -468
  1099. package/src/styles/draw-in.css +0 -89
  1100. package/src/styles/fonts.css +0 -143
  1101. package/src/styles/glass/a11y-fallback.css +0 -188
  1102. package/src/styles/glass/accent-tone.css +0 -66
  1103. package/src/styles/glass/control-surfaces.css +0 -171
  1104. package/src/styles/glass/deep.css +0 -114
  1105. package/src/styles/glass/defined.css +0 -88
  1106. package/src/styles/glass/glass-atom.css +0 -247
  1107. package/src/styles/glass/glass-capsule.css +0 -175
  1108. package/src/styles/glass/glass-chip.css +0 -211
  1109. package/src/styles/glass/grain-overlay.css +0 -79
  1110. package/src/styles/glass/ladder-undershadow.css +0 -61
  1111. package/src/styles/glass/ladder.css +0 -452
  1112. package/src/styles/glass/liquid-enter.css +0 -240
  1113. package/src/styles/glass/liquid-fill.css +0 -65
  1114. package/src/styles/glass/material-roles.css +0 -18
  1115. package/src/styles/glass/material.css +0 -500
  1116. package/src/styles/glass/progress-rail.css +0 -78
  1117. package/src/styles/glass/reveal.css +0 -333
  1118. package/src/styles/glass/rim.css +0 -122
  1119. package/src/styles/glass/squircle.css +0 -58
  1120. package/src/styles/glass/surface-axis.css +0 -136
  1121. package/src/styles/glass/surfaces-pager.css +0 -79
  1122. package/src/styles/glass/surfaces.css +0 -434
  1123. package/src/styles/glass-refract.css +0 -112
  1124. package/src/styles/glass-specular-track.css +0 -74
  1125. package/src/styles/glass.css +0 -110
  1126. package/src/styles/index.css +0 -288
  1127. package/src/styles/paper.css +0 -187
  1128. package/src/styles/scroll-choreography.css +0 -294
  1129. package/src/styles/scroll-chrome.css +0 -123
  1130. package/src/styles/scroll-driven.css +0 -123
  1131. package/src/styles/theme/bridges.css +0 -380
  1132. package/src/styles/theme/dark.css +0 -7
  1133. package/src/styles/theme/literals.css +0 -104
  1134. package/src/styles/theme/radius.css +0 -148
  1135. package/src/styles/theme.css +0 -33
  1136. package/src/styles/tokens/color-radius.css +0 -308
  1137. package/src/styles/tokens/dark-arm-glass.css +0 -55
  1138. package/src/styles/tokens/dark-arm.css +0 -455
  1139. package/src/styles/tokens/glass-deep.css +0 -126
  1140. package/src/styles/tokens/glass-fx.css +0 -480
  1141. package/src/styles/tokens/glass.css +0 -477
  1142. package/src/styles/tokens/light-dark.css +0 -216
  1143. package/src/styles/tokens/motion-registers.css +0 -93
  1144. package/src/styles/tokens/offsets.css +0 -142
  1145. package/src/styles/tokens/on-glass-fg.css +0 -39
  1146. package/src/styles/tokens/property-regs-specular.css +0 -160
  1147. package/src/styles/tokens/property-regs.css +0 -448
  1148. package/src/styles/tokens/scale-paper.css +0 -495
  1149. package/src/styles/tokens/scheme-motion.css +0 -425
  1150. package/src/styles/tokens/scheme-spring.css +0 -282
  1151. package/src/styles/tokens/scroll-tokens.css +0 -137
  1152. package/src/styles/tokens/shadow.css +0 -206
  1153. package/src/styles/tokens/sizing-config.css +0 -110
  1154. package/src/styles/tokens/sizing.css +0 -505
  1155. package/src/styles/tokens.css +0 -68
  1156. package/src/styles/tokens.ts +0 -58
  1157. package/src/styles/transitions.css +0 -228
  1158. package/src/styles/typography/scale.css +0 -166
  1159. package/src/styles/typography/semantic.css +0 -233
  1160. package/src/styles/typography/utilities.css +0 -197
  1161. package/src/styles/typography.css +0 -46
  1162. package/src/styles/utilities/a11y-overrides.css +0 -184
  1163. package/src/styles/utilities/base-misc.css +0 -307
  1164. package/src/styles/utilities/base.css +0 -337
  1165. package/src/styles/utilities/btn.css +0 -306
  1166. package/src/styles/utilities/components.css +0 -337
  1167. package/src/styles/utilities/metal.css +0 -272
  1168. package/src/styles/utilities.css +0 -24
  1169. package/src/styles/view-transition.css +0 -67
  1170. package/src/styles/viz-reveal.css +0 -63
  1171. /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-B3ysoDQm.js} +0 -0
  1172. /package/dist/{compile-DK3Fri1B.js → compile-D7VYG3gi.js} +0 -0
  1173. /package/dist/components/_shared/{valueDomain.d.ts → field/valueDomain.d.ts} +0 -0
  1174. /package/dist/composables/glass/{webgl/shaders/procedural-color.glsl.d.ts → procedural/color.glsl.d.ts} +0 -0
  1175. /package/dist/{components/aurora/constants/shaders/procedural-color.wgsl.d.ts → composables/glass/procedural/color.wgsl.d.ts} +0 -0
  1176. /package/dist/composables/motion/{useIntersectionPause.d.ts → core/useIntersectionPause.d.ts} +0 -0
  1177. /package/dist/composables/motion/{useRAFLoop.d.ts → core/useRAFLoop.d.ts} +0 -0
  1178. /package/dist/composables/motion/{useYieldToMain.d.ts → core/useYieldToMain.d.ts} +0 -0
  1179. /package/dist/composables/motion/{useAnimatedNumber.d.ts → number/useAnimatedNumber.d.ts} +0 -0
  1180. /package/dist/composables/motion/{vReveal.d.ts → reveal/vReveal.d.ts} +0 -0
  1181. /package/dist/composables/motion/{scrollReader.d.ts → scroll/scrollReader.d.ts} +0 -0
  1182. /package/dist/composables/motion/{supportsCssTimeline.d.ts → scroll/supportsCssTimeline.d.ts} +0 -0
  1183. /package/dist/composables/motion/{useScrollTrigger.d.ts → scroll/useScrollTrigger.d.ts} +0 -0
  1184. /package/dist/{createContext-FU0n5MGK.js → createContext-BhkE9mLH.js} +0 -0
  1185. /package/dist/{dark-DIH-blY1.js → dark-z_P5QwqI.js} +0 -0
  1186. /package/dist/{motionTempo-CMS5b0Vu.js → motionTempo-tscp92Nm.js} +0 -0
  1187. /package/dist/{prng-Dz2_9RJu.js → prng-2uS6J_A1.js} +0 -0
  1188. /package/dist/{rendererStatus-C2-zC2Q-.js → rendererStatus-BxUlBLVy.js} +0 -0
  1189. /package/dist/{useFuzzySearch-BOgep7RE.js → useFuzzySearch-CUnZknpm.js} +0 -0
  1190. /package/dist/{useResizeObserver-BcUTquV7.js → useResizeObserver-CdUlm2QZ.js} +0 -0
  1191. /package/dist/{useTimer-D8koDvJS.js → useTimer-C3yfti4C.js} +0 -0
  1192. /package/dist/{writeVelocityWeight-D_AcvTsE.js → writeVelocityWeight-DoGOCW3e.js} +0 -0
@@ -12,31 +12,33 @@
12
12
  * `frameLoop`/`runtime.resize` exactly — the loop is substrate-AGNOSTIC, so the same
13
13
  * `getConfig`/`getReducedMotion`/`cursor` closures drive both backends.
14
14
  */
15
- import type { WebGPUCanvasFrame } from "../../../composables/glass/webgpu/useWebGPUCanvas";
16
- import { type AuroraCursorScalars } from "./frameLoop";
17
- import { type UploadableImageSource } from "../../../composables/glass/textureUpload";
18
- import type { AuroraConfig } from "../constants/presets";
19
- import type { UsePointerVelocityField } from "../../../composables/motion/usePointerVelocityField";
15
+ import type { WebGPUCanvasFrame } from "../../../composables/glass/webgpu/useWebGPUCanvas.js";
16
+ import { type AuroraCursorScalars } from "./frameLoop.js";
17
+ import { type UploadableImageSource } from "./textureUpload.js";
18
+ import type { AuroraConfig } from "../constants/presets.js";
19
+ import type { UsePointerVelocityField } from "../../../composables/motion/pointer/usePointerVelocityField.js";
20
20
  export interface AuroraWGPUSetupDeps {
21
21
  canvas: HTMLCanvasElement;
22
+ /** Live canvases present opaque; capture canvases retain premultiplied alpha. */
23
+ opaquePresentation: boolean;
22
24
  /** The cursor strength ceiling + radius (the runtime's imperative setters write these). */
23
25
  getCursorScalars: () => AuroraCursorScalars;
24
26
  getConfig: () => AuroraConfig;
25
27
  getReducedMotion: () => boolean;
28
+ /** Resolve shader time while pointer physics retain the real frame delta. */
29
+ getRenderTime: (elapsedSec: number) => number;
26
30
  /**
27
- * BC.W-VIZ-AURORA (T5) — the shared viz-pointer-physics field (BB.B4). FED
28
- * `tick(deltaMs)` from the WGPU frame callback (the SAME field instance the WebGL2
29
- * loop feeds — one source, no own rAF); the renderer reads `acceleration` for the
30
- * iOS-27 gel snap-back.
31
+ * Shared viz-pointer-physics field. The WGPU frame callback feeds
32
+ * `tick(deltaMs)` on the same field instance as WebGL2; it owns no rAF.
31
33
  */
32
34
  pointerField: UsePointerVelocityField;
33
35
  /**
34
- * BG.W-AUR-IMAGE-SOURCE — the decoded photo the `source:"image"` program samples (or
35
- * `null` before decode / on a palette config). Read at setup + on re-upload.
36
+ * the decoded photo the `source:"image"` program samples (or
37
+ * `null` before decode, on a palette config). Read at setup + on re-upload.
36
38
  */
37
39
  getDecodedImage: () => UploadableImageSource | null;
38
40
  /**
39
- * BG.W-AUR-IMAGE-SOURCE — register the backend's texture uploader with the runtime so
41
+ * register the backend's texture uploader with the runtime so
40
42
  * a late-arriving decode re-uploads into the live GPU texture. Passing `null` clears
41
43
  * it (teardown). The runtime calls the registered fn when a decode resolves.
42
44
  */
@@ -1,44 +1,5 @@
1
- /**
2
- * AV.W7 F6 — the WebGL-surface perf BUDGET constants (the named ceilings).
3
- *
4
- * Promotes the formerly-magic `Math.min(dpr, 2)` literal that lived inline in
5
- * the aurora + goo-blob `resize()` paths (the `2` was un-named in both) to ONE
6
- * named ceiling, and adds the consumer-preset budget caps the SOTA crosswalk
7
- * §2.F F6 calls for. A preset that exceeds a cap is CLAMPED at upload, so a
8
- * consumer cannot blow the frame/VRAM budget by over-authoring a config.
9
- *
10
- * Token-first (the wave precept): these are the CPU-side numeric ceilings.
11
- * They are NOT magic numbers scattered across runtimes — every WebGL surface
12
- * reads the same export, so a tuning change lands in one place.
13
- */
14
- /**
15
- * The device-pixel-ratio clamp. A retina/4K display reports `devicePixelRatio`
16
- * 2–3+; rendering a full-viewport `backdrop-filter`-adjacent WebGL surface at
17
- * 3× is ~2.25× the fill of 2× for no perceptible gain on a drift background.
18
- * Cap the backing-store resolution at 2× — the single biggest VRAM/fill lever
19
- * after the offscreen-park. Consumed by aurora's + goo-blob's `resize()`.
20
- */
21
- export declare const AV_DPR_MAX = 2;
22
- /**
23
- * BB.W-PERF-PRODUCER A′-5 — the aurora decorative-WASH DPR ceiling, SUB-2× and
24
- * DISTINCT from the focal goo-blob's {@link AV_DPR_MAX}. The aurora atmosphere is a
25
- * heavily-blurred drift background, not a sharp-silhouette creature: backing it at
26
- * full-viewport 2× (the value.js LP1 trace: ~2880×1800, ~21.8 MB native heap) is
27
- * visually indistinguishable from 1.5× on a drift wash (the per-pixel FBM is
28
- * already smoothed below the DPR-2 detail floor), so the 1.5× ceiling quarters the
29
- * GPU memory + per-composite raster for no perceptible loss. The FOCAL goo-blob
30
- * KEEPS {@link AV_DPR_MAX} = 2 — its silhouette is sharp; only the aurora wash
31
- * reads this sub-cap. This is the CPU-side backing-store DIMENSION only; it never
32
- * reaches the shader (`aurora.frag` is byte-fenced — the GL fence is absolute).
33
- */
34
- export declare const AV_AURORA_DPR_MAX = 1.5;
35
- /**
36
- * The maximum animated metaball nuclei (the goo-blob body + its satellites, or
37
- * an aurora field's count). The goo-blob shader hard-caps satellites at 4; this
38
- * is the authored-config soft cap (body + ≤2 satellites is the budget-safe
39
- * register, ≤3 the ceiling). A preset above this is clamped at upload.
40
- */
41
- export declare const AV_MAX_BLOBS = 3;
1
+ /** Shared CPU-side ceilings for GPU surface work. Authored values are clamped at
2
+ * upload so a configuration cannot exceed the frame or VRAM budget. */
42
3
  /**
43
4
  * The maximum palette colors a budget-safe field mixes per frame. Aurora's
44
5
  * shader caps palette stops at {@link MAX_STOPS} (8) for authoring range; this
@@ -46,14 +7,6 @@ export declare const AV_MAX_BLOBS = 3;
46
7
  * cheap. Above this the gradient cost grows without perceptible richness.
47
8
  */
48
9
  export declare const AV_MAX_COLORS = 4;
49
- /**
50
- * The drift-loop duration band, in seconds. An animation that loops faster than
51
- * {@link AV_LOOP_DURATION_MIN_S} reads as nervous (and never lets the eye rest →
52
- * no battery reprieve); slower than {@link AV_LOOP_DURATION_MAX_S} reads as
53
- * static. The 8–15s band is the SOTA-named budget-safe drift window.
54
- */
55
- export declare const AV_LOOP_DURATION_MIN_S = 8;
56
- export declare const AV_LOOP_DURATION_MAX_S = 15;
57
10
  /** Clamp a numeric value into an inclusive `[min, max]` band. */
58
11
  export declare function clampBudget(value: number, min: number, max: number): number;
59
12
  /**
@@ -62,10 +15,8 @@ export declare function clampBudget(value: number, min: number, max: number): nu
62
15
  */
63
16
  export declare function resolveBudgetDpr(): number;
64
17
  /**
65
- * BB.W-PERF-PRODUCER A′-5 — resolve the budget-clamped backing-store DPR for the
66
- * aurora decorative WASH, at the SUB-2× {@link AV_AURORA_DPR_MAX} ceiling (distinct
67
- * from {@link resolveBudgetDpr}'s focal 2×). SSR-safe (returns `1` when `window` is
68
- * absent). The single CPU-side reader is aurora's `runtime.ts` `resize()`; the
69
- * focal goo-blob keeps {@link resolveBudgetDpr}.
18
+ * Resolve the backing-store DPR for the Aurora decorative wash at the
19
+ * {@link AV_AURORA_DPR_MAX} ceiling. SSR-safe; returns `1` without `window`.
20
+ * Focal Blob surfaces use {@link resolveBudgetDpr} instead.
70
21
  */
71
22
  export declare function resolveAuroraWashDpr(): number;
@@ -1,21 +1,20 @@
1
1
  /**
2
- * Aurora v4.1 — library config shape.
2
+ * Aurora library configuration.
3
3
  *
4
4
  * Authored presets (Sky, Dawn, Meadow, Deliberative, Day9, Oil Impasto,
5
5
  * Oil Gestural, Oil Van Gogh, Crayon Sunset, Crayon Rainbow, Crayon Ocean)
6
6
  * live in the consumer — see demo/stories/substrates/aurora/presets.ts.
7
7
  *
8
- * Per memory rule "Presets in consumers": named themed presets belong in
9
- * each consumer project, not in the library. The library exports only the
10
- * shape + a minimum-viable DEFAULT_AURORA_CONFIG for the component's own
8
+ * Named themed presets belong in each consumer project. The library exports only
9
+ * the shape and a minimum-viable DEFAULT_AURORA_CONFIG for the component's own
11
10
  * type-check ergonomics.
12
11
  */
13
- import type { OklchStop } from "../../../composables/color";
12
+ import type { OklchStop } from "../../../composables/color/index.js";
14
13
  export type { OklchStop };
15
- import type { HueInterpolationMethod } from "@mkbabb/value.js";
14
+ import type { HueInterpolationMethod } from "@mkbabb/value.js/color";
16
15
  export type AuroraHuePath = HueInterpolationMethod;
17
16
  export type AuroraSource = "palette" | "image";
18
- import type { ImageInputSource } from "../../../composables/glass/textureUpload";
17
+ import type { ImageInputSource } from "../composables/textureUpload.js";
19
18
  export type AuroraImageSource = ImageInputSource;
20
19
  export type { ImageInputSource };
21
20
  /** The per-fragment blur-radius band (uv units) the drifting zone lerps between. */
@@ -55,7 +54,7 @@ export type AuroraMedium = "smooth" | "pastel" | "watercolor" | "oil" | "crayon"
55
54
  export type StrokeMode = "oil" | "knife" | "chunky";
56
55
  export type FlowPattern = "none" | "radial" | "swirl" | "diagonal" | "multi" | "tensor";
57
56
  /**
58
- * AW.W4.1 — how a stroke's orientation is sourced. `flow` keeps the hand-authored
57
+ * How a stroke's orientation is sourced. `flow` keeps the hand-authored
59
58
  * `flowField` pattern + per-cell jitter (the named legacy choice); `tensor`
60
59
  * substitutes the structure-tensor minor-eigenvector (the color field's own
61
60
  * edge-tangent flow). No default that hides one as a duplicate of the other.
@@ -63,30 +62,26 @@ export type FlowPattern = "none" | "radial" | "swirl" | "diagonal" | "multi" | "
63
62
  export type StrokeOrient = "flow" | "tensor";
64
63
  export type WarpMode = "fbm" | "cellular" | "hybrid" | "curl";
65
64
  /**
66
- * AW.W6/W8 — the interactivity flag SHAPE (declared at W6, default OFF; behavior
67
- * wired at W8). Each axis opts the aurora into a pointer/scroll response:
65
+ * Interactivity shape. Each axis opts Aurora into a pointer/scroll response:
68
66
  * - `light` — the cursor drives the impasto `uLightDir` (cursor-as-light + idle orbit).
69
- * - `flow` — pointer/scroll VELOCITY injects a transient swirl-burst (velocity-reactive).
70
67
  * - `scroll` — palette/breath progress couples to scroll (via `useScrollProgress`).
71
- * - `wake` — the WebGPU stateful pointer wake (a ping-pong velocity texture; AW.W8.2).
68
+ * - `swirl` — cursor-local warp and luminance lean on both engines.
69
+ * - `amplitude` — sizes the transient burst folded into cursor strength on the CPU.
72
70
  * Every axis is suppressed under `prefers-reduced-motion` + the DockBackgroundToggle
73
71
  * pause (the master tempo scalar is the single suppression seam). The wispy-sky
74
72
  * default carries no `interactivity` (every axis OFF — the default stays static).
75
73
  */
76
74
  export interface AuroraInteractivity {
77
75
  light?: boolean;
78
- flow?: boolean;
79
76
  scroll?: boolean;
80
- wake?: boolean;
81
77
  /**
82
- * BI.W-FIELD-CORE (FC6/T-38) — the MEDIUM-GATED cursor swirl/luminance-lean (reads on the
83
- * `smooth` medium via the engagement-driven `auroraCursorMapping` strength, ZERO shader
84
- * edit — the T-38 dead-swirl-axis fix). The atoms door defaults it ON when interactive.
78
+ * Cursor-local field warp and luminance lean. The atoms
79
+ * door defaults it ON when interactive, including on the smooth medium.
85
80
  */
86
81
  swirl?: boolean;
87
82
  /**
88
- * BI.W-FIELD-CORE (FC6) — the SIZED amplitude of the cursor's field influence (0..1) —
89
- * how much the velocity burst perturbs the domain-warp path near the cursor.
83
+ * Sized burst amplitude (0..1). The CPU projection folds
84
+ * the pointer-field burst into the shared cursor strength before either engine sees it.
90
85
  */
91
86
  amplitude?: number;
92
87
  }
@@ -112,13 +107,13 @@ export interface AuroraConfig {
112
107
  noiseOctaves: 3 | 4 | 5;
113
108
  source?: AuroraSource;
114
109
  /**
115
- * BG.W-AUR-IMAGE-SOURCE — the photo the `source:"image"` program dissolves. A URL
116
- * string / `Blob` (decoded through the shared normalisation) OR an already-uploadable
110
+ * the photo the `source:"image"` program dissolves. A URL
111
+ * string, `Blob` (decoded through the shared normalisation) OR an already-uploadable
117
112
  * source (`ImageBitmap`/`HTMLImageElement`/…). Ignored when `source !== "image"`.
118
113
  */
119
114
  src?: AuroraImageSource;
120
115
  /**
121
- * BG.W-AUR-IMAGE-SOURCE — the per-fragment blur-radius band (uv units) the drifting
116
+ * the per-fragment blur-radius band (uv units) the drifting
122
117
  * zone lerps between (`radius = mix(min, max, zone)`). Optional; omitted = the
123
118
  * `IMAGE_BLUR_MIN_DEFAULT`/`IMAGE_BLUR_MAX_DEFAULT` band (near-sharp → heavy-bokeh
124
119
  * dissolve). Only read on the `source:"image"` program.
@@ -126,19 +121,18 @@ export interface AuroraConfig {
126
121
  imageBlur?: AuroraImageBlur;
127
122
  medium: AuroraMedium;
128
123
  /**
129
- * W5 — the hue-arc method for the OKLCh palette interpolation. Optional;
124
+ * Hue-arc method for OKLCh palette interpolation. Optional;
130
125
  * omitted = `"shorter"` (the OKLab-rectangular ramp — the muddy-midtone-free
131
126
  * default). `"increasing"`/`"decreasing"` request the OKLCh hue-arc for a
132
- * deliberate rainbow sweep across the stops. Aliased on `/api` as `AuroraHuePath`.
127
+ * deliberate rainbow sweep across the stops.
133
128
  */
134
129
  huePath?: AuroraHuePath;
135
130
  flow: AuroraFlow;
136
131
  /**
137
- * AW.W4.1 — how the painterly stroke direction is sourced. Optional; omitted =
138
- * `"flow"` (the hand-authored `flowField` pattern — the pre-W4 path, so an
139
- * unset config renders identically). `"tensor"` substitutes the structure-tensor
140
- * minor eigenvector (the color field's own edge-tangent flow); the `vangogh` /
141
- * `oil-pastel` mediums force it.
132
+ * How the painterly stroke direction is sourced. Optional; omitted =
133
+ * `"flow"`, the hand-authored `flowField` pattern. `"tensor"` substitutes the
134
+ * structure-tensor minor eigenvector, the color field's edge-tangent flow;
135
+ * the `vangogh` and `oil-pastel` mediums force it.
142
136
  */
143
137
  strokeOrient?: StrokeOrient;
144
138
  strokeAmount: number;
@@ -152,7 +146,7 @@ export interface AuroraConfig {
152
146
  brokenColor: number;
153
147
  canvasGrain: number;
154
148
  /**
155
- * BC.W-VIZ-AURORA (T4) — the anisotropic-Kuwahara painterly-finish knobs (the
149
+ * Anisotropic-Kuwahara painterly-finish knobs (the
156
150
  * `medium:"kuwahara"` register; the WGSL primary's keystone). Optional; omitted =
157
151
  * the recipe defaults (radius 0.010 procedural-patch units, q 4.0 the SOFT
158
152
  * variance-weight exponent). Sectors are fixed at 8 (the soft-blend overlap floor —
@@ -162,29 +156,28 @@ export interface AuroraConfig {
162
156
  kuwaharaRadius?: number;
163
157
  kuwaharaQ?: number;
164
158
  /**
165
- * BG.W-AUR-METAL-FINISH — the metal-medium knobs (the `medium:"metal"` /
166
- * `"metal-gradient"` register; uMedium==8/9). Optional; omitted = the recipe
159
+ * Metal-medium knobs for `medium:"metal"` and `"metal-gradient"` (uMedium==8/9).
160
+ * Optional; omitted = the recipe
167
161
  * defaults (`METAL_POLISH_DEFAULT` catch intensity, `METAL_HEIGHT_SCALE_DEFAULT`
168
162
  * relief tilt). `metalPolish` scales the specular catch; `metalHeightScale` scales
169
163
  * the luma-relief → normal tilt (a higher value reads as sharper folds). On the WGSL
170
- * primary these ride the free cursor.z/.w pad lanes; the .frag carries them as its
164
+ * primary these ride the free cursor.z/.w pad lanes; the.frag carries them as its
171
165
  * own uniforms. A non-metal config never reads them (no-op).
172
166
  */
173
167
  metalPolish?: number;
174
168
  metalHeightScale?: number;
175
169
  /**
176
- * AW.W4.2 — the impasto relight direction (the movable directional source the
170
+ * Impasto relight direction (the movable directional source the
177
171
  * accumulated paint-height field catches). Optional; omitted = upper-left
178
- * (matching the prior fixed-rim default, so the still default reads identically).
179
- * Unit-ish [x, y, z] in screen space (z toward the viewer). AW.W8 drives this
180
- * from the cursor (cursor-as-light); the shader re-normalizes it.
172
+ * Unit-ish [x, y, z] in screen space (z toward the viewer). The shader
173
+ * re-normalizes it.
181
174
  */
182
175
  lightDir?: [number, number, number];
183
176
  /**
184
- * AW.W4.2 / AX.W11 — the relight tint (the impasto catch-light). Optional;
177
+ * Relight tint for the impasto catch-light. Optional;
185
178
  * omitted = the canonical warm-white the shared `warmCatchLight` OKLCh helper
186
- * derives (the `(0.985, 0.0125, 77.5°)` anchor — perceptually the prior eyeballed
187
- * warm-white, now on the OKLCh core). Author it either as a raw LINEAR-light
179
+ * derives (the `(0.985, 0.0125, 77.5°)` anchor — perceptually a warm-white, on
180
+ * the OKLCh core). Author it either as a raw LINEAR-light
188
181
  * `[r,g,b]` triple OR as an `{L,C,h}` OKLCh anchor (the bridge derives the linear
189
182
  * triple via `warmCatchLight`). The diffuse + Blinn-specular terms modulate by it.
190
183
  */
@@ -197,11 +190,11 @@ export interface AuroraConfig {
197
190
  paperGrain: number;
198
191
  alpha: number;
199
192
  /**
200
- * BD.W-AUR-VIVIDNESS — the §3 chroma FLOOR (the warm-field vividness contract).
193
+ * the §3 chroma FLOOR (the warm-field vividness contract).
201
194
  * Optional; omitted = `DEFAULT_VIVIDNESS` (1 — high, the library's vivid identity).
202
195
  * A shader-resident OKLab chroma-floor lifts any pale zone toward `VIVID_TARGET`
203
196
  * (mode-scaled in the shader) so the field never resolves toward gray BEHIND glass
204
- * — the literal fix for the "missing colorful field → gray glass" defect. The lift
197
+ * the literal fix for the "missing colorful field → gray glass" defect. The lift
205
198
  * is HUE-PRESERVING (scales chroma along the zone's existing OKLab direction); below
206
199
  * `VIVID_EPS` the hue is precision noise, so the floor synthesizes along the WARM
207
200
  * anchor (`VIVID_WARM_ANCHOR`) — NEVER teal/navy, the warm-floor guarantee. A
@@ -211,9 +204,8 @@ export interface AuroraConfig {
211
204
  */
212
205
  vividness?: number;
213
206
  /**
214
- * AW.W6/W8 — the pointer/scroll interactivity opt-in (default OFF — the wispy-sky
215
- * default stays static). W6 declares the SHAPE; W8 wires the cursor-as-light /
216
- * velocity-reactive flow / scroll-coupling / WebGPU-wake behavior. Omitted = every
207
+ * Pointer/scroll interactivity opt-in (default OFF — the wispy-sky
208
+ * default stays static). Omitted = every
217
209
  * axis off. Aliased on `/api` as part of the `AuroraConfig` surface.
218
210
  */
219
211
  interactivity?: AuroraInteractivity;
@@ -229,16 +221,14 @@ export interface AuroraCursorApi {
229
221
  }
230
222
  export interface AuroraInstance extends AuroraCursorApi {
231
223
  /**
232
- * Run the expensive WebGL init — context creation, shader compile + GPU
233
- * link, first uniform upload, rAF arm. Idempotent. On the `"eager"` /
234
- * capture `initStrategy` `createAurora` already calls this before
224
+ * Start GPU initialization. Idempotent. With the `"eager"` capture
225
+ * `initStrategy`, `createAurora` calls this before
235
226
  * returning; on `"deferred"` the consumer (e.g. `useAurora`) invokes it
236
- * past first paint. Throws on WebGL2/compile/link failure (O invariant
237
- * 24). A no-op once armed or once `dispose()` has run.
227
+ * past first paint. A no-op once armed or once `dispose()` has run.
238
228
  */
239
229
  arm(): void;
240
230
  /**
241
- * BC.W-VIZ-AURORA (T2) — the device-resolved arm PROMISE. On the WebGPU
231
+ * Device-resolved arm promise. On the WebGPU
242
232
  * backend `renderAt`/`arm` are no-ops until this resolves the async
243
233
  * adapter→device→configure→setup prelude. A CAPTURE consumer (thumbnail bake)
244
234
  * MUST `await armAsync()` before the first `renderAt` or the frame is BLANK
@@ -250,10 +240,9 @@ export interface AuroraInstance extends AuroraCursorApi {
250
240
  renderAt(timeSec: number): void;
251
241
  pause(): void;
252
242
  resume(): void;
253
- setReducedMotion(flag: boolean): void;
254
243
  dispose(): void;
255
244
  }
256
- export declare const MAX_NUCLEI = 6;
245
+ export declare const MAX_NUCLEI = 8;
257
246
  export declare const MAX_STOPS = 8;
258
247
  /**
259
248
  * The default `vividness` for a bare `<Aurora>` — HIGH (the library's vivid identity).
@@ -271,7 +260,7 @@ export declare const DEFAULT_VIVIDNESS = 1;
271
260
  */
272
261
  export declare const VIVID_TARGET = 0.115;
273
262
  /**
274
- * The default `metalPolish` (specular catch intensity) for a `medium:"metal"` /
263
+ * The default `metalPolish` (specular catch intensity) for a `medium:"metal"` or
275
264
  * `"metal-gradient"` config when omitted. The metal light rakes at unit intensity.
276
265
  */
277
266
  export declare const METAL_POLISH_DEFAULT = 1;
@@ -282,7 +271,7 @@ export declare const METAL_POLISH_DEFAULT = 1;
282
271
  export declare const METAL_HEIGHT_SCALE_DEFAULT = 1;
283
272
  /**
284
273
  * The default near-sharp blur radius (uv units) at zone 0 for a `source:"image"` aurora
285
- * — a whisper so the recognizable zones read crisp against the dissolved ones.
274
+ * a whisper so the recognizable zones read crisp against the dissolved ones.
286
275
  */
287
276
  export declare const IMAGE_BLUR_MIN_DEFAULT = 0.004;
288
277
  /**
@@ -297,18 +286,18 @@ export declare const IMAGE_BLUR_MAX_DEFAULT = 0.06;
297
286
  */
298
287
  export declare const DEFAULT_AURORA_CONFIG: AuroraConfig;
299
288
  /**
300
- * `PAPER_WASH_GROUND` — the library-canon recessive-ground crayon calibration
301
- * (BA.W-ATLAS-RECONCILE A-4a; d6 9467bd16 adopt). A pure PRESET PARTIAL (no
289
+ * `PAPER_WASH_GROUND` — the library-canon recessive-ground crayon calibration.
290
+ * A pure PRESET PARTIAL (no
302
291
  * palette/nuclei/motion) pinning the recessive crayon-ground deposition dials so a
303
292
  * data-ground aurora reads as paper-on-tooth without each consumer dial-tuning the
304
293
  * same recessive calibration by hand. It carries NO palette/nuclei — the consumer
305
294
  * spreads it over its own pole-derived pigment (page-glow IS data-glow):
306
- * `const cfg = { ...consumerBase, ...PAPER_WASH_GROUND }`.
295
+ * `const cfg = {...consumerBase,...PAPER_WASH_GROUND }`.
307
296
  *
308
297
  * House-rule clean (presets-in-consumers): this is the LIBRARY's own recessive-ground
309
298
  * IDENTITY, not a consumer theme — admissible at the root. `satisfies
310
- * Partial<AuroraConfig>` holds (every key is a first-class `AuroraConfig` field at
311
- * HEAD; the `crayon` medium is `uMedium==4`).
299
+ * Partial<AuroraConfig>` holds (every key is a first-class `AuroraConfig` field;
300
+ * the `crayon` medium is `uMedium==4`).
312
301
  */
313
302
  export declare const PAPER_WASH_GROUND: {
314
303
  readonly medium: "crayon";
@@ -1,13 +1,10 @@
1
1
  export type AuroraRenderMode = "webgl" | "css" | "auto";
2
2
  /**
3
- * Detect a SOFTWARE / CPU WebGL renderer (SwiftShader, llvmpipe, the Microsoft
4
- * Basic Render Driver) via the shared `probeWebGL2Renderer` capability helper
5
- * (BB.W-CI-GREEN — the substrate owns the SINGLE `getContext("webgl2")`
6
- * bootstrap; this consumer reads the renderer STRING through it rather than
7
- * creating a second probe context, per `proof:webgl-substrate-single`).
3
+ * Detect a SOFTWARE, CPU WebGL renderer (SwiftShader, llvmpipe, the Microsoft
4
+ * Basic Render Driver) through the shared `probeWebGL2Renderer` capability helper,
5
+ * so this consumer does not create another context.
8
6
  *
9
- * WHY this is a `"css"` signal (the N.W5 Defect-A root cause, proven live under
10
- * the playwright SwiftShader harness): a full-viewport WebGL2 surface is a
7
+ * A full-viewport WebGL2 surface is a
11
8
  * compositor layer the rasteriser must re-raster on every composite. On a
12
9
  * software rasteriser that per-composite cost is so high that a REAL pointer
13
10
  * interaction — which forces a composite — starves the renderer's input ack and
@@ -19,68 +16,56 @@ export type AuroraRenderMode = "webgl" | "css" | "auto";
19
16
  * same palette, composites cheaply, and never stalls input. A blocklisted-GPU
20
17
  * user gets a smooth atmosphere instead of a janky/hanging one.
21
18
  *
22
- * A `null` probe (no WebGL2 / extension masked / throw) returns `false` — we
19
+ * A `null` probe (no WebGL2, extension masked, throw) returns `false` — we
23
20
  * never downgrade a renderer we cannot PROVE is software (the `"css"` path is the
24
21
  * conservative-but-lossy choice, so a false miss keeps the richer default).
25
22
  */
26
23
  export declare function isSoftwareWebGLRenderer(): boolean;
27
24
  /**
28
- * Resolve-mode options. The software-raster GUARD is the safe DEFAULT (see
29
- * {@link resolveRenderMode}); the single ESCAPE is `forceWebGLUnderSoftwareRaster`
30
- * (BB.W-AURORA-SWRASTER).
25
+ * Resolve-mode options. The software-raster guard is the safe default; the named
26
+ * escape is `forceWebGLUnderSoftwareRaster`.
31
27
  */
32
28
  export interface ResolveRenderModeOptions {
33
29
  /**
34
30
  * Opt OUT of the universal software-raster guard. When `true`, a forced
35
31
  * `mode:"webgl"`/`mode:"capture"` arm ARMS the live WebGL2 surface even on a
36
- * detected software renderer (SwiftShader / llvmpipe / MS Basic Render) — for
32
+ * detected software renderer (SwiftShader, llvmpipe, MS Basic Render) — for
37
33
  * a deterministic test that ACCEPTS the per-composite raster cost. Default
38
34
  * `false`: the guard is the SAFE default (a software-raster signal forces
39
35
  * `"css"` regardless of the requested mode, so a consumer who pins
40
- * `mode:"webgl"` on a headless / GPU-blocklisted device gets the static
36
+ * `mode:"webgl"` on a headless, GPU-blocklisted device gets the static
41
37
  * ground, never the page-wedging hang). The escape is NAMED + recorded,
42
38
  * never silent.
43
39
  */
44
40
  forceWebGLUnderSoftwareRaster?: boolean;
45
41
  }
46
42
  /**
47
- * Resolve `"auto"` to a concrete substrate per device tier — AND universalize the
48
- * software-raster guard out of the `"auto"`-only branch (BB.W-AURORA-SWRASTER).
43
+ * Resolve `"auto"` to a concrete substrate per device tier and apply the
44
+ * software-raster guard to every GPU-arming mode.
49
45
  *
50
- * THE GUARD (the universal first leg). A SOFTWARE WebGL renderer (SwiftShader /
51
- * llvmpipe / MS Basic Render — the GPU-blocklisted / headless path) forces `"css"`
46
+ * A software WebGL renderer (SwiftShader, llvmpipe, or MS Basic Render) forces `"css"`
52
47
  * for ANY WebGL-ARMING requested mode (`"webgl"` OR `"auto"`), not only `"auto"`.
53
48
  * A full-viewport software-rastered GL layer is so expensive to re-raster on every
54
49
  * composite that a pointer interaction starves the renderer's input ack and the
55
- * page goes UNRESPONSIVE (the headless-Chromium hang the speedtest harness
56
- * documents). A consumer (or a capture harness) that pins `mode:"webgl"` /
57
- * `mode:"capture"` on such a device MUST still fall to the static ground — so the
50
+ * page becomes unresponsive. A consumer that pins `mode:"webgl"` or
51
+ * `mode:"capture"` on such a device must still fall to the static ground, so the
58
52
  * probe runs BEFORE the `mode !== "auto"` short-circuit when the requested mode
59
53
  * would arm WebGL. The single ESCAPE is `options.forceWebGLUnderSoftwareRaster`
60
54
  * (default `false` — the guard is the safe default).
61
55
  *
62
- * BC.W-VIZ-AURORA (T1) — the DEAD-STATIC `"auto"` fall is RETIRED. The
63
- * `lowConcurrency` (`hardwareConcurrency <= 4`) and `saveData` heuristics are
64
- * GONE: they predate the offscreen-park + the `AV_AURORA_DPR_MAX` sub-2× cap +
65
- * the demand-gate that make a full-viewport aurora cheap, and `<= 4` is
66
- * false-positive-prone in 2026 (a capable base-M-series laptop / a throttled VM
67
- * tab reports 4 logical cores → it got a FROZEN static gradient that reads as
68
- * "the aurora is broken", USER-DEFECTS §E "renders SLOW"). So `"auto"` arms the
69
- * GPU on every Chrome-113/Safari-26/Firefox-141 device.
56
+ * `"auto"` arms the GPU unless the software-renderer guard fires. Core-count and
57
+ * save-data heuristics do not select a static substrate.
70
58
  *
71
59
  * Reduced-motion is handled SOLELY by the substrate's live `matchMedia` freeze
72
- * (`createCanvasLifecycle` paints ONE static frame then parks, and re-arms on
73
- * un-reduce) — NOT a render-mode fall (the old `"css"` fall never armed WebGL,
74
- * so an un-reduce mid-session could never wake it; the substrate freeze does).
75
- * The ONLY `"css"` signal that remains is the genuine software-raster GUARD
76
- * (the universal first leg above) — and even that is subsumed by
77
- * `BC.W-WEBGPU-EVERYWHERE`'s try-WebGPU-then-rebuild-WebGL2 picker.
60
+ * (`createCanvasLifecycle` paints one static frame then parks and re-arms on
61
+ * un-reduce), not by changing render mode. The only automatic `"css"` signal is
62
+ * the software-raster guard.
78
63
  *
79
- * THE CAPABLE PATH IS BYTE-UNTOUCHED: `isSoftwareWebGLRenderer()` returns `false`
64
+ * `isSoftwareWebGLRenderer()` returns `false`
80
65
  * on a real GPU (or a null probe — never a false downgrade), so a forced
81
66
  * `mode:"webgl"` on hardware passes through exactly as before.
82
67
  *
83
- * SSR / missing-API safe: if `navigator` / `window` / the probes are
68
+ * SSR, missing-API safe: if `navigator`, `window`, the probes are
84
69
  * unavailable we ASSUME a capable device and resolve `"webgl"` (the warm wash
85
70
  * still composites either way — the only question is whether it animates).
86
71
  *
@@ -1,3 +1 @@
1
- export declare const IMAGE_BLUR_RINGS = 3;
2
- export declare const IMAGE_BLUR_SECTORS = 8;
3
1
  export declare const IMAGE_FRAGMENT_SRC: string;
@@ -1,3 +1 @@
1
- export declare const IMAGE_BLUR_RINGS_WGSL = 3;
2
- export declare const IMAGE_BLUR_SECTORS_WGSL = 8;
3
- export declare const AURORA_IMAGE_WGSL = "\nconst MAX_NUCLEI: i32 = 6;\nconst PI: f32 = 3.141592653589793;\nconst BLUR_RINGS: i32 = 3;\nconst BLUR_SECTORS: i32 = 8;\n\n// The image program's OWN uniform struct (packed vec4 lanes \u2014 trivial std140/WGSL\n// alignment). DISTINCT from the palette program's 576-byte struct (a separate program).\nstruct ImageUniforms {\n // scalars0: (uTime, uWarpAmount, uWarpScale, uWarpDrift)\n scalars0: vec4<f32>,\n // scalars1: (uSoftmaxBeta, uNucleiDrift, uCursorStrength, uCursorRadius)\n scalars1: vec4<f32>,\n // scalars2: (uSaturation, uPaperGrain, uAlpha, uVividness)\n scalars2: vec4<f32>,\n // image: (uBlurMin, uBlurMax, uImageAspect, _)\n image: vec4<f32>,\n // cursor: (uCursor.x, uCursor.y, _, _)\n cursor: vec4<f32>,\n // ints: (uNucleiCount, uNoiseOctaves, _, _)\n ints: vec4<i32>,\n // nuc0[i] = (pos.x, pos.y, radius, valueBias); nuc1[i] = (driftRadius, driftPhase, elong, angle)\n nuc0: array<vec4<f32>, 6>,\n nuc1: array<vec4<f32>, 6>,\n};\n\n@group(0) @binding(0) var<uniform> u: ImageUniforms;\n@group(0) @binding(1) var imgTex: texture_2d<f32>;\n@group(0) @binding(2) var imgSampler: sampler;\n\nconst K_NUCLEI: f32 = 14.0;\nconst K_WARP: f32 = 5.0;\n\n// \u2500\u2500 Noise (aurora-local hash21/vnoise/fbm \u2014 the same compact foundation) \u2500\u2500\nfn hash21(p0: vec2<f32>) -> f32 {\n var p = fract(p0 * vec2<f32>(123.34, 456.21));\n p = p + dot(p, p + 45.32);\n return fract(p.x * p.y);\n}\nfn vnoise(p: vec2<f32>) -> f32 {\n let i = floor(p);\n let f = fract(p);\n let uu = f * f * (3.0 - 2.0 * f);\n let a = hash21(i);\n let b = hash21(i + vec2<f32>(1.0, 0.0));\n let c = hash21(i + vec2<f32>(0.0, 1.0));\n let d = hash21(i + vec2<f32>(1.0, 1.0));\n return mix(mix(a, b, uu.x), mix(c, d, uu.x), uu.y);\n}\nconst FBM_ROT: mat2x2<f32> = mat2x2<f32>(0.8, 0.6, -0.6, 0.8);\nfn fbm(p0: vec2<f32>) -> f32 {\n var v = 0.0;\n var a = 0.5;\n var p = p0;\n let octaves = u.ints.y;\n for (var i = 0; i < 5; i = i + 1) {\n if (i >= octaves) { break; }\n v = v + a * vnoise(p);\n p = FBM_ROT * p * 2.02;\n a = a * 0.5;\n }\n return v;\n}\nfn ign(p: vec2<f32>) -> f32 {\n return fract(52.9829189 * fract(dot(p, vec2<f32>(0.06711056, 0.00583715))));\n}\n\n\nfn srgbToLinearCh(c: f32) -> f32 {\n if (c <= 0.04045) { return c / 12.92; }\n return pow((c + 0.055) / 1.055, 2.4);\n}\nfn srgbToLinear(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfn linearToSrgbCh(c: f32) -> f32 {\n if (c <= 0.0031308) { return c * 12.92; }\n return 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nfn linearToSrgb(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS, row-major \u2192 WGSL columns (= the transpose).\nconst LINEAR_SRGB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients, row-major \u2192 WGSL columns.\nconst LMS_TO_OKLAB: mat3x3<f32> = mat3x3<f32>(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF, row-major \u2192 WGSL columns.\nconst OKLAB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB, row-major \u2192 WGSL columns.\nconst LMS_TO_LINEAR_SRGB: mat3x3<f32> = mat3x3<f32>(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\nfn cbrt3(v: vec3<f32>) -> vec3<f32> {\n return sign(v) * pow(abs(v), vec3<f32>(1.0 / 3.0));\n}\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nfn srgbToOklab(c: vec3<f32>) -> vec3<f32> {\n let lin = srgbToLinear(c);\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nfn oklabToLinearSrgb(lab: vec3<f32>) -> vec3<f32> {\n let lms_ = OKLAB_TO_LMS * lab;\n let lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS, folded to [0, 2pi). Mirrors value.js rawOklabToOklch.\nfn oklabToOklch(lab: vec3<f32>) -> vec3<f32> {\n let C = length(lab.yz);\n var H = atan2(lab.z, lab.y);\n if (H < 0.0) { H = H + 2.0 * PI; }\n return vec3<f32>(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nfn oklchToOklab(lch: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\nfn linOklab(lin: vec3<f32>) -> vec3<f32> {\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\n}\n\n// The Quilez double-warp (fbm) + the cursor swirl \u2014 the drift that moves the blur zone.\nfn domainWarp(p: vec2<f32>, t: f32) -> vec2<f32> {\n let warpAmount = u.scalars0.y;\n let warpScale = u.scalars0.z;\n let warpDrift = u.scalars0.w;\n let cursorStrength = u.scalars1.z;\n let cursorRadius = u.scalars1.w;\n let cursor = u.cursor.xy;\n let q = vec2<f32>(fbm(p * warpScale + vec2<f32>(0.0, 0.0) + t * warpDrift * K_WARP),\n fbm(p * warpScale + vec2<f32>(5.2, 1.3) + t * warpDrift * K_WARP));\n let r = vec2<f32>(fbm(p * warpScale + 4.0 * q + vec2<f32>(1.7, 9.2)),\n fbm(p * warpScale + 4.0 * q + vec2<f32>(8.3, 2.8)));\n var warped = p + warpAmount * r;\n if (cursorStrength > 0.001) {\n let toP = p - cursor;\n let d = length(toP);\n let rr = max(cursorRadius, 0.01);\n let w = exp(-(d * d) / (rr * rr * 0.45));\n let ang = w * cursorStrength * 2.1;\n let ca = cos(ang);\n let sa = sin(ang);\n let rotated = vec2<f32>(ca * toP.x - sa * toP.y, sa * toP.x + ca * toP.y) + cursor;\n warped = mix(warped, rotated + warpAmount * r * 0.7, w * cursorStrength);\n }\n return warped;\n}\n\n// The drifting BLUR ZONE \u2014 the anisotropic-Gaussian nuclei softmax (the SAME field the\n// palette program reads), drift-coupled.\nfn zoneField(p: vec2<f32>, t: f32) -> f32 {\n let nucleiCount = u.ints.x;\n let nucleiDrift = u.scalars1.y;\n let softmaxBeta = u.scalars1.x;\n var accum = 0.0;\n var accumW = 0.0;\n for (var i = 0; i < MAX_NUCLEI; i = i + 1) {\n if (i >= nucleiCount) { break; }\n let n0 = u.nuc0[i]; // pos.x, pos.y, radius, valueBias\n let n1 = u.nuc1[i]; // driftRadius, driftPhase, elong, angle\n let posI = n0.xy + n1.x * vec2<f32>(\n cos(t * nucleiDrift * K_NUCLEI + n1.y),\n sin(t * nucleiDrift * K_NUCLEI + n1.y * 1.13));\n let diff = p - posI;\n let ca = cos(n1.w);\n let sa = sin(n1.w);\n let local = vec2<f32>(ca * diff.x + sa * diff.y, -sa * diff.x + ca * diff.y);\n let along = local.x / max(n1.z, 0.01);\n let d2 = along * along + local.y * local.y;\n let rad = max(n0.z, 0.01);\n let w = exp(-softmaxBeta * d2 / (rad * rad));\n accum = accum + w * (0.5 + 0.5 * n0.w);\n accumW = accumW + w;\n }\n return clamp(accum / max(accumW, 1e-4), 0.0, 1.0);\n}\n\nfn coverUv(uv: vec2<f32>) -> vec2<f32> {\n let aspect = max(u.image.z, 0.0001);\n var c = uv - vec2<f32>(0.5);\n c.x = c.x * aspect;\n let s = 1.0 / max(aspect, 1.0);\n return c * s + vec2<f32>(0.5);\n}\n\n// The bounded 24-tap zone blur \u2014 a FIXED 3-ring \u00D7 8-sector stratified kernel, radius\n// per-fragment, sampled in LINEAR light. textureSampleLevel (explicit LOD 0) \u2014 WGSL has\n// no implicit derivative in a varying-radius loop.\nfn zoneBlur(uv: vec2<f32>, radius: f32) -> vec3<f32> {\n let aspect = max(u.image.z, 0.0001);\n var sum = srgbToLinear(textureSampleLevel(imgTex, imgSampler, coverUv(uv), 0.0).rgb);\n var wsum = 1.0;\n for (var ring = 1; ring <= BLUR_RINGS; ring = ring + 1) {\n let rr = radius * (f32(ring) / f32(BLUR_RINGS));\n for (var s = 0; s < BLUR_SECTORS; s = s + 1) {\n let a = (f32(s) + 0.5 * f32(ring)) / f32(BLUR_SECTORS) * 2.0 * PI;\n let off = vec2<f32>(cos(a) / aspect, sin(a)) * rr;\n sum = sum + srgbToLinear(textureSampleLevel(imgTex, imgSampler, coverUv(uv + off), 0.0).rgb);\n wsum = wsum + 1.0;\n }\n }\n return sum / wsum;\n}\n\nconst VIVID_TARGET: f32 = 0.115;\nconst VIVID_EPS: f32 = 0.012;\nconst VIVID_WARM_ANCHOR: vec2<f32> = vec2<f32>(0.34202, 0.93969);\nfn vividnessFloor(c: vec3<f32>, vividness: f32) -> vec3<f32> {\n if (vividness <= 0.0001) { return c; }\n var lab = linOklab(c);\n let C = length(lab.yz);\n let modeLift = mix(1.18, 1.0, clamp(lab.x * 1.4, 0.0, 1.0));\n let Cmin = vividness * VIVID_TARGET * modeLift;\n var hueDir = VIVID_WARM_ANCHOR;\n if (C > VIVID_EPS) { hueDir = lab.yz / C; }\n let yz = hueDir * max(C, Cmin);\n lab = vec3<f32>(lab.x, yz.x, yz.y);\n return max(oklabToLinearSrgb(lab), vec3<f32>(0.0));\n}\n\nfn saturate3(c: vec3<f32>, amt: f32) -> vec3<f32> {\n var lch = oklabToOklch(linOklab(c));\n lch.y = max(lch.y * amt, 0.0);\n return max(oklabToLinearSrgb(oklchToOklab(lch)), vec3<f32>(0.0));\n}\n\nfn aces(color0: vec3<f32>) -> vec3<f32> {\n let startCompression = 0.8 - 0.04;\n let desaturation = 0.15;\n var color = color0;\n let x = min(color.r, min(color.g, color.b));\n var offset = 0.04;\n if (x < 0.08) { offset = x - 6.25 * x * x; }\n color = color - offset;\n let peak = max(color.r, max(color.g, color.b));\n if (peak < startCompression) { return clamp(color, vec3<f32>(0.0), vec3<f32>(1.0)); }\n let d = 1.0 - startCompression;\n let newPeak = 1.0 - d * d / (peak + d - startCompression);\n color = color * (newPeak / peak);\n let g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0);\n return clamp(mix(color, newPeak * vec3<f32>(1.0), g), vec3<f32>(0.0), vec3<f32>(1.0));\n}\n\nstruct VSOut {\n @builtin(position) pos: vec4<f32>,\n @location(0) uv: vec2<f32>,\n};\n\n@vertex\nfn vs_main(@builtin(vertex_index) vi: u32) -> VSOut {\n var p = vec2<f32>(-1.0, -1.0);\n if (vi == 1u) { p = vec2<f32>(3.0, -1.0); }\n else if (vi == 2u) { p = vec2<f32>(-1.0, 3.0); }\n var out: VSOut;\n out.pos = vec4<f32>(p, 0.0, 1.0);\n out.uv = p * 0.5 + 0.5;\n return out;\n}\n\n@fragment\nfn fs_main(in: VSOut) -> @location(0) vec4<f32> {\n let t = u.scalars0.x;\n let saturation = u.scalars2.x;\n let paperGrain = u.scalars2.y;\n let alpha = u.scalars2.z;\n let vividness = u.scalars2.w;\n let blurMin = u.image.x;\n let blurMax = u.image.y;\n\n let uv = in.uv;\n let p_warp = domainWarp(uv, t);\n let zone = zoneField(p_warp, t);\n\n let radius = mix(blurMin, blurMax, zone);\n var col = zoneBlur(uv, radius);\n\n col = saturate3(col, saturation);\n col = vividnessFloor(col, vividness);\n\n col = aces(col);\n let fragCoord = in.pos.xy;\n let grain = hash21(fragCoord + t * 17.0);\n col = col + (grain - 0.5) * paperGrain;\n col = clamp(col * 0.985 + 0.008, vec3<f32>(0.0), vec3<f32>(1.0));\n\n col = linearToSrgb(col);\n col = col + (1.0 / 255.0) * (ign(fragCoord) - 0.5);\n\n return vec4<f32>(col * alpha, alpha);\n}\n";
1
+ export declare const AURORA_IMAGE_WGSL = "\nconst MAX_NUCLEI: i32 = 8;\nconst PI: f32 = 3.141592653589793;\nconst BLUR_RINGS: i32 = 3;\nconst BLUR_SECTORS: i32 = 8;\n\n// The image program's OWN uniform struct (packed vec4 lanes \u2014 trivial std140/WGSL\n// alignment). DISTINCT from the palette program's 672-byte struct (a separate program).\nstruct ImageUniforms {\n // scalars0: (uTime, uWarpAmount, uWarpScale, uWarpDrift)\n scalars0: vec4<f32>,\n // scalars1: (uSoftmaxBeta, uNucleiDrift, uCursorStrength, uCursorRadius)\n scalars1: vec4<f32>,\n // scalars2: (uSaturation, uPaperGrain, uAlpha, uVividness)\n scalars2: vec4<f32>,\n // image: (uBlurMin, uBlurMax, uImageAspect, _)\n image: vec4<f32>,\n // cursor: (uCursor.x, uCursor.y, _, _)\n cursor: vec4<f32>,\n // ints: (uNucleiCount, uNoiseOctaves, _, _)\n ints: vec4<i32>,\n // nuc0[i] = (pos.x, pos.y, radius, valueBias); nuc1[i] = (driftRadius, driftPhase, elong, angle)\n nuc0: array<vec4<f32>, 8>,\n nuc1: array<vec4<f32>, 8>,\n};\n\n@group(0) @binding(0) var<uniform> u: ImageUniforms;\n@group(0) @binding(1) var imgTex: texture_2d<f32>;\n@group(0) @binding(2) var imgSampler: sampler;\n\nconst K_NUCLEI: f32 = 14.0;\nconst K_WARP: f32 = 5.0;\n\n// \u2500\u2500 Noise (aurora-local hash21/vnoise/fbm \u2014 the same compact foundation) \u2500\u2500\nfn hash21(p0: vec2<f32>) -> f32 {\n var p = fract(p0 * vec2<f32>(123.34, 456.21));\n p = p + dot(p, p + 45.32);\n return fract(p.x * p.y);\n}\nfn vnoise(p: vec2<f32>) -> f32 {\n let i = floor(p);\n let f = fract(p);\n let uu = f * f * (3.0 - 2.0 * f);\n let a = hash21(i);\n let b = hash21(i + vec2<f32>(1.0, 0.0));\n let c = hash21(i + vec2<f32>(0.0, 1.0));\n let d = hash21(i + vec2<f32>(1.0, 1.0));\n return mix(mix(a, b, uu.x), mix(c, d, uu.x), uu.y);\n}\nconst FBM_ROT: mat2x2<f32> = mat2x2<f32>(0.8, 0.6, -0.6, 0.8);\nfn fbm(p0: vec2<f32>) -> f32 {\n var v = 0.0;\n var a = 0.5;\n var p = p0;\n let octaves = u.ints.y;\n for (var i = 0; i < 5; i = i + 1) {\n if (i >= octaves) { break; }\n v = v + a * vnoise(p);\n p = FBM_ROT * p * 2.02;\n a = a * 0.5;\n }\n return v;\n}\nfn ign(p: vec2<f32>) -> f32 {\n return fract(52.9829189 * fract(dot(p, vec2<f32>(0.06711056, 0.00583715))));\n}\n\n\nfn srgbToLinearCh(c: f32) -> f32 {\n if (c <= 0.04045) { return c / 12.92; }\n return pow((c + 0.055) / 1.055, 2.4);\n}\nfn srgbToLinear(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfn linearToSrgbCh(c: f32) -> f32 {\n if (c <= 0.0031308) { return c * 12.92; }\n return 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nfn linearToSrgb(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS, row-major \u2192 WGSL columns (= the transpose).\nconst LINEAR_SRGB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients, row-major \u2192 WGSL columns.\nconst LMS_TO_OKLAB: mat3x3<f32> = mat3x3<f32>(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF, row-major \u2192 WGSL columns.\nconst OKLAB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB, row-major \u2192 WGSL columns.\nconst LMS_TO_LINEAR_SRGB: mat3x3<f32> = mat3x3<f32>(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\nfn cbrt3(v: vec3<f32>) -> vec3<f32> {\n return sign(v) * pow(abs(v), vec3<f32>(1.0 / 3.0));\n}\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nfn srgbToOklab(c: vec3<f32>) -> vec3<f32> {\n let lin = srgbToLinear(c);\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nfn oklabToLinearSrgb(lab: vec3<f32>) -> vec3<f32> {\n let lms_ = OKLAB_TO_LMS * lab;\n let lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS, folded to [0, 2pi). Mirrors value.js rawOklabToOklch.\nfn oklabToOklch(lab: vec3<f32>) -> vec3<f32> {\n let C = length(lab.yz);\n var H = atan2(lab.z, lab.y);\n if (H < 0.0) { H = H + 2.0 * PI; }\n return vec3<f32>(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nfn oklchToOklab(lch: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\nfn linOklab(lin: vec3<f32>) -> vec3<f32> {\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\n}\n\n// The Quilez double-warp (fbm) + the cursor swirl \u2014 the drift that moves the blur zone.\nfn domainWarp(p: vec2<f32>, t: f32) -> vec2<f32> {\n let warpAmount = u.scalars0.y;\n let warpScale = u.scalars0.z;\n let warpDrift = u.scalars0.w;\n let cursorStrength = u.scalars1.z;\n let cursorRadius = u.scalars1.w;\n let cursor = u.cursor.xy;\n let q = vec2<f32>(fbm(p * warpScale + vec2<f32>(0.0, 0.0) + t * warpDrift * K_WARP),\n fbm(p * warpScale + vec2<f32>(5.2, 1.3) + t * warpDrift * K_WARP));\n let r = vec2<f32>(fbm(p * warpScale + 4.0 * q + vec2<f32>(1.7, 9.2)),\n fbm(p * warpScale + 4.0 * q + vec2<f32>(8.3, 2.8)));\n var warped = p + warpAmount * r;\n if (cursorStrength > 0.001) {\n let toP = p - cursor;\n let d = length(toP);\n let rr = max(cursorRadius, 0.01);\n let w = exp(-(d * d) / (rr * rr * 0.45));\n let ang = w * cursorStrength * 2.1;\n let ca = cos(ang);\n let sa = sin(ang);\n let rotated = vec2<f32>(ca * toP.x - sa * toP.y, sa * toP.x + ca * toP.y) + cursor;\n warped = mix(warped, rotated + warpAmount * r * 0.7, w * cursorStrength);\n }\n return warped;\n}\n\n// The drifting BLUR ZONE \u2014 the anisotropic-Gaussian nuclei softmax (the SAME field the\n// palette program reads), drift-coupled.\nfn zoneField(p: vec2<f32>, t: f32) -> f32 {\n let nucleiCount = u.ints.x;\n let nucleiDrift = u.scalars1.y;\n let softmaxBeta = u.scalars1.x;\n var accum = 0.0;\n var accumW = 0.0;\n for (var i = 0; i < MAX_NUCLEI; i = i + 1) {\n if (i >= nucleiCount) { break; }\n let n0 = u.nuc0[i]; // pos.x, pos.y, radius, valueBias\n let n1 = u.nuc1[i]; // driftRadius, driftPhase, elong, angle\n let posI = n0.xy + n1.x * vec2<f32>(\n cos(t * nucleiDrift * K_NUCLEI + n1.y),\n sin(t * nucleiDrift * K_NUCLEI + n1.y * 1.13));\n let diff = p - posI;\n let ca = cos(n1.w);\n let sa = sin(n1.w);\n let local = vec2<f32>(ca * diff.x + sa * diff.y, -sa * diff.x + ca * diff.y);\n let along = local.x / max(n1.z, 0.01);\n let d2 = along * along + local.y * local.y;\n let rad = max(n0.z, 0.01);\n let w = exp(-softmaxBeta * d2 / (rad * rad));\n accum = accum + w * (0.5 + 0.5 * n0.w);\n accumW = accumW + w;\n }\n return clamp(accum / max(accumW, 1e-4), 0.0, 1.0);\n}\n\nfn coverUv(uv: vec2<f32>) -> vec2<f32> {\n let aspect = max(u.image.z, 0.0001);\n var c = uv - vec2<f32>(0.5);\n c.x = c.x * aspect;\n let s = 1.0 / max(aspect, 1.0);\n return c * s + vec2<f32>(0.5);\n}\n\n// The bounded 24-tap zone blur \u2014 a FIXED 3-ring \u00D7 8-sector stratified kernel, radius\n// per-fragment, sampled in LINEAR light. textureSampleLevel (explicit LOD 0) \u2014 WGSL has\n// no implicit derivative in a varying-radius loop.\nfn zoneBlur(uv: vec2<f32>, radius: f32) -> vec3<f32> {\n let aspect = max(u.image.z, 0.0001);\n var sum = srgbToLinear(textureSampleLevel(imgTex, imgSampler, coverUv(uv), 0.0).rgb);\n var wsum = 1.0;\n for (var ring = 1; ring <= BLUR_RINGS; ring = ring + 1) {\n let rr = radius * (f32(ring) / f32(BLUR_RINGS));\n for (var s = 0; s < BLUR_SECTORS; s = s + 1) {\n let a = (f32(s) + 0.5 * f32(ring)) / f32(BLUR_SECTORS) * 2.0 * PI;\n let off = vec2<f32>(cos(a) / aspect, sin(a)) * rr;\n sum = sum + srgbToLinear(textureSampleLevel(imgTex, imgSampler, coverUv(uv + off), 0.0).rgb);\n wsum = wsum + 1.0;\n }\n }\n return sum / wsum;\n}\n\nconst VIVID_TARGET: f32 = 0.115;\nconst VIVID_EPS: f32 = 0.012;\nconst VIVID_WARM_ANCHOR: vec2<f32> = vec2<f32>(0.34202, 0.93969);\nfn vividnessFloor(c: vec3<f32>, vividness: f32) -> vec3<f32> {\n if (vividness <= 0.0001) { return c; }\n var lab = linOklab(c);\n let C = length(lab.yz);\n let modeLift = mix(1.18, 1.0, clamp(lab.x * 1.4, 0.0, 1.0));\n let Cmin = vividness * VIVID_TARGET * modeLift;\n var hueDir = VIVID_WARM_ANCHOR;\n if (C > VIVID_EPS) { hueDir = lab.yz / C; }\n let yz = hueDir * max(C, Cmin);\n lab = vec3<f32>(lab.x, yz.x, yz.y);\n return max(oklabToLinearSrgb(lab), vec3<f32>(0.0));\n}\n\nfn saturate3(c: vec3<f32>, amt: f32) -> vec3<f32> {\n var lch = oklabToOklch(linOklab(c));\n lch.y = max(lch.y * amt, 0.0);\n return max(oklabToLinearSrgb(oklchToOklab(lch)), vec3<f32>(0.0));\n}\n\nfn aces(color0: vec3<f32>) -> vec3<f32> {\n let startCompression = 0.8 - 0.04;\n let desaturation = 0.15;\n var color = color0;\n let x = min(color.r, min(color.g, color.b));\n var offset = 0.04;\n if (x < 0.08) { offset = x - 6.25 * x * x; }\n color = color - offset;\n let peak = max(color.r, max(color.g, color.b));\n if (peak < startCompression) { return clamp(color, vec3<f32>(0.0), vec3<f32>(1.0)); }\n let d = 1.0 - startCompression;\n let newPeak = 1.0 - d * d / (peak + d - startCompression);\n color = color * (newPeak / peak);\n let g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0);\n return clamp(mix(color, newPeak * vec3<f32>(1.0), g), vec3<f32>(0.0), vec3<f32>(1.0));\n}\n\nstruct VSOut {\n @builtin(position) pos: vec4<f32>,\n @location(0) uv: vec2<f32>,\n};\n\n@vertex\nfn vs_main(@builtin(vertex_index) vi: u32) -> VSOut {\n var p = vec2<f32>(-1.0, -1.0);\n if (vi == 1u) { p = vec2<f32>(3.0, -1.0); }\n else if (vi == 2u) { p = vec2<f32>(-1.0, 3.0); }\n var out: VSOut;\n out.pos = vec4<f32>(p, 0.0, 1.0);\n out.uv = p * 0.5 + 0.5;\n return out;\n}\n\n@fragment\nfn fs_main(in: VSOut) -> @location(0) vec4<f32> {\n let t = u.scalars0.x;\n let saturation = u.scalars2.x;\n let paperGrain = u.scalars2.y;\n let alpha = u.scalars2.z;\n let vividness = u.scalars2.w;\n let blurMin = u.image.x;\n let blurMax = u.image.y;\n\n let uv = in.uv;\n let p_warp = domainWarp(uv, t);\n let zone = zoneField(p_warp, t);\n\n let radius = mix(blurMin, blurMax, zone);\n var col = zoneBlur(uv, radius);\n\n let cursorDelta = uv - u.cursor.xy;\n let cursorRadius = max(u.scalars1.w, 0.01);\n let cursorLean = exp(-dot(cursorDelta, cursorDelta) / (cursorRadius * cursorRadius * 0.5));\n col = col * (1.0 + 0.12 * cursorLean * u.scalars1.z);\n\n col = saturate3(col, saturation);\n col = vividnessFloor(col, vividness);\n\n col = aces(col);\n let fragCoord = in.pos.xy;\n let grain = hash21(fragCoord + t * 17.0);\n col = col + (grain - 0.5) * paperGrain;\n col = clamp(col * 0.985 + 0.008, vec3<f32>(0.0), vec3<f32>(1.0));\n\n col = linearToSrgb(col);\n col = col + (1.0 / 255.0) * (ign(fragCoord) - 0.5);\n\n return vec4<f32>(col * alpha, alpha);\n}\n";