@mkbabb/glass-ui 4.1.0 → 5.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 (1375) hide show
  1. package/README.md +73 -159
  2. package/dist/CardAction-2uUvjMQK.js +285 -0
  3. package/dist/CollapsibleContent-DiHcB_HH.js +63 -0
  4. package/dist/CommandShortcut-fmdbsEJL.js +302 -0
  5. package/dist/ConfiguratorRow-BV6zPjTM.js +151 -0
  6. package/dist/DataTable-Bxya8nBn.js +518 -0
  7. package/dist/DialogContent-Bl4v10AC.js +192 -0
  8. package/dist/DialogFooter-C0v4Hz2F.js +168 -0
  9. package/dist/FadingScroll-BSRLqQCx.js +76 -0
  10. package/dist/FocusScope-BzKwhsBn.js +23 -0
  11. package/dist/IconChip-CwLmBJ_K.js +57 -0
  12. package/dist/IconTooltip-D9sbK-Mk.js +25 -0
  13. package/dist/Input-DKf-XwUM.js +57 -0
  14. package/dist/InstrumentChassis-Dss5Tjcm.js +65 -0
  15. package/dist/Label-C84TaQiw.js +36 -0
  16. package/dist/Notification-DQv2cOh9.js +43 -0
  17. package/dist/NumberFieldContent-BkE7xPS9.js +140 -0
  18. package/dist/PagerDots-BP6jh7z4.js +279 -0
  19. package/dist/PaperBackdrop-BYwE8_kg.js +31 -0
  20. package/dist/PopoverContent-DOtszFWK.js +251 -0
  21. package/dist/Progress-uWLyXE7J.js +308 -0
  22. package/dist/SelectGroup-BuEptUsa.js +31 -0
  23. package/dist/SelectScrollDownButton-CDtwaWkZ.js +261 -0
  24. package/dist/SelectSeparator-4QGephvr.js +49 -0
  25. package/dist/Separator-DqJ6PfOd.js +44 -0
  26. package/dist/Surface-BWRfwyn8.js +59 -0
  27. package/dist/Switch-BPBfhMU3.js +49 -0
  28. package/dist/Toaster-C_-WeU9W.js +281 -0
  29. package/dist/ToggleGroupItem-DNWx2aSW.js +175 -0
  30. package/dist/TooltipProvider-GtfYdSVf.js +110 -0
  31. package/dist/accent-tone-solve-CBw3L0cy.js +20 -0
  32. package/dist/animated-digit.d.ts +1 -1
  33. package/dist/animated-digit.js +4 -4
  34. package/dist/aurora.d.ts +1 -1
  35. package/dist/aurora.js +1427 -398
  36. package/dist/axes.d.ts +1 -0
  37. package/dist/axes.js +50 -0
  38. package/dist/badge-C0C-rTBu.js +80 -0
  39. package/dist/badge.d.ts +1 -1
  40. package/dist/badge.js +1 -1
  41. package/dist/blob-config.d.ts +5 -0
  42. package/dist/blob-config.js +2 -0
  43. package/dist/blob.d.ts +1 -0
  44. package/dist/blob.js +1582 -0
  45. package/dist/button-BXzhydVB.js +187 -0
  46. package/dist/button.d.ts +1 -1
  47. package/dist/button.js +1 -1
  48. package/dist/canvas.js +1 -1
  49. package/dist/card.d.ts +1 -1
  50. package/dist/card.js +1 -1
  51. package/dist/carousel.d.ts +2 -2
  52. package/dist/carousel.js +177 -131
  53. package/dist/chip.d.ts +10 -0
  54. package/dist/chip.js +81 -0
  55. package/dist/class-names-5jotTFzp.js +97 -0
  56. package/dist/coalesce-metric-B8o7zT9u.js +13 -0
  57. package/dist/collapsible.d.ts +1 -1
  58. package/dist/collapsible.js +1 -1
  59. package/dist/color-Bp5jmv4Z.js +86 -0
  60. package/dist/color-swatch.d.ts +1 -1
  61. package/dist/color-swatch.js +2 -2
  62. package/dist/color.js +3 -2
  63. package/dist/command.d.ts +1 -1
  64. package/dist/command.js +1 -1
  65. package/dist/completion-seal.d.ts +1 -1
  66. package/dist/completion-seal.js +76 -42
  67. package/dist/components/_shared/axes.d.ts +21 -0
  68. package/dist/components/_shared/class-names.d.ts +27 -0
  69. package/dist/components/_shared/index.d.ts +6 -0
  70. package/dist/components/_shared/menuItemVariants.d.ts +51 -0
  71. package/dist/components/_shared/useControlSize.d.ts +46 -0
  72. package/dist/components/_shared/useMotionAxis.d.ts +41 -0
  73. package/dist/components/_shared/useSurfaceAxis.d.ts +64 -0
  74. package/dist/components/alert/Alert.vue.d.ts +19 -0
  75. package/dist/components/alert/index.d.ts +8 -0
  76. package/dist/components/aurora/Aurora.vue.d.ts +104 -0
  77. package/dist/components/aurora/composables/atoms-fields.d.ts +43 -0
  78. package/dist/components/aurora/composables/atoms.d.ts +198 -0
  79. package/dist/components/aurora/composables/auroraImageSource.d.ts +44 -0
  80. package/dist/components/aurora/composables/color.d.ts +111 -0
  81. package/dist/components/aurora/composables/frameLoop.d.ts +66 -0
  82. package/dist/components/aurora/composables/glSetup.d.ts +29 -0
  83. package/dist/components/aurora/composables/runtime.d.ts +140 -0
  84. package/dist/components/aurora/composables/uniformBridge.d.ts +120 -0
  85. package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +60 -0
  86. package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +39 -0
  87. package/dist/components/aurora/composables/useAurora.d.ts +80 -0
  88. package/dist/components/aurora/composables/useCursorInteraction.d.ts +25 -0
  89. package/dist/components/aurora/composables/wgpuSetup.d.ts +50 -0
  90. package/dist/components/aurora/constants/presets.d.ts +326 -0
  91. package/dist/components/aurora/constants/shaders/aurora-image.frag.d.ts +3 -0
  92. package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +3 -0
  93. package/dist/components/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  94. package/dist/components/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  95. package/dist/components/aurora/constants/shaders/brush.glsl.d.ts +1 -0
  96. package/dist/components/aurora/constants/shaders/flow.glsl.d.ts +1 -0
  97. package/dist/components/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
  98. package/dist/components/aurora/constants/shaders/metal-medium.glsl.d.ts +2 -0
  99. package/dist/components/aurora/index.d.ts +13 -0
  100. package/dist/components/avatar/Avatar.vue.d.ts +23 -0
  101. package/dist/components/avatar/index.d.ts +9 -0
  102. package/dist/components/badge/Badge.vue.d.ts +41 -0
  103. package/dist/components/badge/index.d.ts +9 -0
  104. package/dist/components/blob/Blob.vue.d.ts +72 -0
  105. package/dist/components/blob/composables/easing.d.ts +7 -0
  106. package/dist/components/blob/composables/satelliteKinematics.d.ts +20 -0
  107. package/dist/components/blob/composables/uploadBlobUniforms.d.ts +51 -0
  108. package/dist/components/blob/composables/useBlobPointer.d.ts +88 -0
  109. package/dist/components/blob/composables/useBlobSatellites.d.ts +16 -0
  110. package/dist/components/blob/composables/useMetaballRenderer.d.ts +100 -0
  111. package/dist/components/blob/composables/wgpuSetup.d.ts +23 -0
  112. package/dist/components/blob/config.d.ts +3 -0
  113. package/dist/components/blob/constants.d.ts +82 -0
  114. package/dist/components/blob/index.d.ts +8 -0
  115. package/dist/components/blob/presets.d.ts +14 -0
  116. package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  117. package/dist/components/blob/shaders/metaball.wgsl.d.ts +1 -0
  118. package/dist/components/blob/types.d.ts +256 -0
  119. package/dist/components/button/Button.vue.d.ts +31 -0
  120. package/dist/components/button/index.d.ts +9 -0
  121. package/dist/components/card/Card.vue.d.ts +180 -0
  122. package/dist/components/card/CardHeader.vue.d.ts +58 -0
  123. package/dist/components/carousel/Carousel.vue.d.ts +44 -0
  124. package/dist/components/carousel/CarouselContent.vue.d.ts +24 -0
  125. package/dist/components/carousel/CarouselNext.vue.d.ts +21 -0
  126. package/dist/components/carousel/CarouselPrevious.vue.d.ts +21 -0
  127. package/dist/components/carousel/GlassCarouselPager.vue.d.ts +50 -0
  128. package/dist/components/carousel/useCarousel.d.ts +21 -0
  129. package/dist/components/chip/Chip.vue.d.ts +20 -0
  130. package/dist/components/chip/chipVariants.d.ts +43 -0
  131. package/dist/components/chip/index.d.ts +3 -0
  132. package/dist/components/chip/types.d.ts +38 -0
  133. package/dist/components/combobox/Combobox.vue.d.ts +32 -0
  134. package/dist/components/combobox/ComboboxList.vue.d.ts +32 -0
  135. package/dist/components/command/index.d.ts +10 -0
  136. package/dist/components/completion-seal/CompletionSeal.vue.d.ts +28 -0
  137. package/dist/components/completion-seal/constants.d.ts +66 -0
  138. package/dist/components/configurator/Configurator.vue.d.ts +160 -0
  139. package/dist/components/configurator/ConfiguratorRow.vue.d.ts +96 -0
  140. package/dist/components/configurator/index.d.ts +6 -0
  141. package/dist/components/configurator/size.d.ts +26 -0
  142. package/dist/components/constellation/Constellation.vue.d.ts +34 -0
  143. package/dist/components/constellation/composables/constellationGLSetup.d.ts +10 -0
  144. package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  145. package/dist/components/constellation/composables/useConstellation.d.ts +39 -0
  146. package/dist/components/constellation/constants.d.ts +97 -0
  147. package/dist/components/constellation/constellationTypes.d.ts +420 -0
  148. package/dist/components/dialog/DialogContent.vue.d.ts +115 -0
  149. package/dist/components/dock/DockBackgroundToggle.vue.d.ts +46 -0
  150. package/dist/components/dock/DockControl.vue.d.ts +73 -0
  151. package/dist/components/dock/DockCrossfade.vue.d.ts +50 -0
  152. package/dist/components/dock/DockLayer.vue.d.ts +33 -0
  153. package/dist/components/dock/DockLayerGroup.vue.d.ts +65 -0
  154. package/dist/components/dock/DockStack.vue.d.ts +73 -0
  155. package/dist/components/dock/DockTrigger.vue.d.ts +27 -0
  156. package/dist/components/dock/GlassDock.vue.d.ts +33 -0
  157. package/dist/components/dock/composables/dockContext.d.ts +48 -0
  158. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +57 -0
  159. package/dist/components/dock/composables/dockMorphContext.d.ts +89 -0
  160. package/dist/components/dock/composables/dockMorphMeasure.d.ts +86 -0
  161. package/dist/components/dock/composables/index.d.ts +10 -0
  162. package/dist/components/dock/composables/useDockFisheye.d.ts +24 -0
  163. package/dist/components/dock/composables/useDockOverflowFit.d.ts +22 -0
  164. package/dist/components/dock/composables/useDockPopover.d.ts +68 -0
  165. package/dist/components/dock/composables/useDockSearch.d.ts +85 -0
  166. package/dist/components/dock/composables/useDockShellProps.d.ts +178 -0
  167. package/dist/components/dock/composables/useDockSpring.d.ts +71 -0
  168. package/dist/components/dock/composables/useDockTouchGate.d.ts +51 -0
  169. package/dist/components/dock/constants.d.ts +107 -0
  170. package/dist/components/dock/index.d.ts +19 -0
  171. package/dist/components/drawer/Drawer.vue.d.ts +85 -0
  172. package/dist/components/drawer/DrawerContent.vue.d.ts +40 -0
  173. package/dist/components/drawer/composables/useDrawerSnap.d.ts +24 -0
  174. package/dist/components/drawer/constants.d.ts +50 -0
  175. package/dist/components/drawer/index.d.ts +35 -0
  176. package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +24 -0
  177. package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +36 -0
  178. package/dist/components/dropdown-menu/index.d.ts +16 -0
  179. package/dist/components/dropdown-menu/useMenuTrigger.d.ts +14 -0
  180. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +71 -0
  181. package/dist/components/fourier-field/FourierField.vue.d.ts +54 -0
  182. package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
  183. package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
  184. package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
  185. package/dist/components/fourier-field/composables/useFourierField.d.ts +55 -0
  186. package/dist/components/fourier-field/constants.d.ts +134 -0
  187. package/dist/components/fourier-field/index.d.ts +31 -0
  188. package/dist/components/fourier-field/math.d.ts +111 -0
  189. package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  190. package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  191. package/dist/components/fourier-field/shaders/fourier-field.ribbon.d.ts +51 -0
  192. package/dist/components/goo-filter/GooFilter.vue.d.ts +22 -0
  193. package/dist/components/goo-filter/index.d.ts +1 -0
  194. package/dist/components/handmark/brush.d.ts +269 -0
  195. package/dist/components/handmark/composables/useHandMark.d.ts +99 -0
  196. package/dist/components/handmark/constants.d.ts +69 -0
  197. package/dist/components/handmark/geometry.d.ts +65 -0
  198. package/dist/components/handmark/index.d.ts +27 -0
  199. package/dist/components/handmark/noise.d.ts +30 -0
  200. package/dist/components/handmark/types.d.ts +70 -0
  201. package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
  202. package/dist/components/header-ribbon/index.d.ts +2 -0
  203. package/dist/components/header-ribbon/types.d.ts +7 -0
  204. package/dist/components/icon-chip/types.d.ts +92 -0
  205. package/dist/components/index.d.ts +36 -0
  206. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +42 -0
  207. package/dist/components/liquid-grid/composables/liquidGrid.d.ts +113 -0
  208. package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +18 -0
  209. package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +21 -0
  210. package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  211. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +31 -0
  212. package/dist/components/liquid-grid/constants.d.ts +93 -0
  213. package/dist/components/liquid-grid/index.d.ts +5 -0
  214. package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +4 -0
  215. package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +1 -0
  216. package/dist/components/metric-badge/MetricBadge.vue.d.ts +40 -0
  217. package/dist/components/metric-cell/MetricCell.vue.d.ts +108 -0
  218. package/dist/components/metric-stack/MetricRow.vue.d.ts +120 -0
  219. package/dist/components/notification/Notification.vue.d.ts +16 -0
  220. package/dist/components/pager-dots/composables/usePagerWorm.d.ts +26 -0
  221. package/dist/components/pager-dots/constants.d.ts +15 -0
  222. package/dist/components/popover/Popover.vue.d.ts +54 -0
  223. package/dist/components/popover/PopoverContent.vue.d.ts +53 -0
  224. package/dist/components/popover/PopoverTrigger.vue.d.ts +16 -0
  225. package/dist/components/popover/popoverContext.d.ts +17 -0
  226. package/dist/components/progress/Progress.vue.d.ts +54 -0
  227. package/dist/components/progress/ProgressLiquid.vue.d.ts +21 -0
  228. package/dist/components/progress/index.d.ts +6 -0
  229. package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +19 -0
  230. package/dist/components/scroll-progress-rim/index.d.ts +3 -0
  231. package/dist/components/scroll-progress-rim/types.d.ts +2 -0
  232. package/dist/components/search/FuzzySearch.vue.d.ts +22 -0
  233. package/dist/components/search/SearchBar.vue.d.ts +38 -0
  234. package/dist/components/search/searchVariants.d.ts +19 -0
  235. package/dist/components/select/SelectContent.vue.d.ts +42 -0
  236. package/dist/components/slider/Slider.vue.d.ts +40 -0
  237. package/dist/components/slider/index.d.ts +46 -0
  238. package/dist/components/sortable-list/SortableHandle.vue.d.ts +19 -0
  239. package/dist/components/sortable-list/SortableItem.vue.d.ts +22 -0
  240. package/dist/components/sortable-list/SortableList.vue.d.ts +39 -0
  241. package/dist/components/sortable-list/composables/dragController.d.ts +29 -0
  242. package/dist/components/sortable-list/composables/types.d.ts +50 -0
  243. package/dist/components/sortable-list/composables/useSortable.d.ts +5 -0
  244. package/dist/components/sortable-list/context.d.ts +11 -0
  245. package/dist/components/sortable-list/index.d.ts +4 -0
  246. package/dist/components/split-chars/SplitChars.vue.d.ts +53 -0
  247. package/dist/components/stacked-icons/types.d.ts +19 -0
  248. package/dist/components/surface/Surface.vue.d.ts +45 -0
  249. package/dist/components/surface/index.d.ts +2 -0
  250. package/dist/components/tabs/SegmentedTabs.vue.d.ts +101 -0
  251. package/dist/components/tabs/composables/useEyeglassLive.d.ts +17 -0
  252. package/dist/components/tabs/composables/useTabDragMorph.d.ts +42 -0
  253. package/dist/components/tabs/composables/useTabResponsive.d.ts +43 -0
  254. package/dist/components/tabs/composables/useTabRovingFocus.d.ts +51 -0
  255. package/dist/components/tabs/constants.d.ts +1 -0
  256. package/dist/components/timeline/ContinuousMarkers.vue.d.ts +49 -0
  257. package/dist/components/timeline/GlassTimeline.vue.d.ts +114 -0
  258. package/dist/components/timeline/ScrubberTimeline.vue.d.ts +45 -0
  259. package/dist/components/timeline/geometry.d.ts +92 -0
  260. package/dist/components/toast/Toast.vue.d.ts +107 -0
  261. package/dist/components/toast/index.d.ts +9 -0
  262. package/dist/components/toast/use-toast.d.ts +182 -0
  263. package/dist/components/toggle/Toggle.vue.d.ts +29 -0
  264. package/dist/components/toggle/index.d.ts +26 -0
  265. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +74 -0
  266. package/dist/components/watercolor-dot/prng.d.ts +5 -0
  267. package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +31 -0
  268. package/dist/composables/color/accent-tone-solve.d.ts +11 -0
  269. package/dist/composables/color/index.d.ts +18 -1
  270. package/dist/composables/color/useAccentTone.d.ts +6 -8
  271. package/dist/composables/dom/index.d.ts +1 -0
  272. package/dist/composables/dom/useDragVelocity.d.ts +46 -0
  273. package/dist/composables/dom/useUserInvalidAria.d.ts +7 -11
  274. package/dist/composables/glass/ambientHueHistogram.d.ts +27 -0
  275. package/dist/composables/glass/backdropLuminanceSample.d.ts +56 -0
  276. package/dist/composables/glass/backdropSampleMath.d.ts +5 -0
  277. package/dist/composables/glass/textureUpload.d.ts +91 -0
  278. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +27 -1
  279. package/dist/composables/glass/useSpecularPointer.d.ts +23 -4
  280. package/dist/composables/glass/useSpecularTracking.d.ts +1 -1
  281. package/dist/composables/glass/wave/index.d.ts +4 -0
  282. package/dist/composables/glass/wave/waveField.d.ts +136 -0
  283. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
  284. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
  285. package/dist/composables/glass/webgl/backingSize.d.ts +44 -0
  286. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +76 -2
  287. package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +36 -0
  288. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
  289. package/dist/composables/glass/webgl/visibility.d.ts +42 -0
  290. package/dist/composables/glass/webgpu/index.d.ts +1 -0
  291. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +38 -0
  292. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +13 -74
  293. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +96 -0
  294. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +31 -1
  295. package/dist/composables/index.d.ts +1 -2
  296. package/dist/composables/motion/bloomUpField.d.ts +29 -0
  297. package/dist/composables/motion/core/index.d.ts +8 -0
  298. package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
  299. package/dist/composables/motion/gooBarbellGeometry.d.ts +79 -0
  300. package/dist/composables/motion/index.d.ts +2 -0
  301. package/dist/composables/motion/morphSignatures.d.ts +88 -0
  302. package/dist/composables/motion/motionTempo.d.ts +9 -0
  303. package/dist/composables/motion/pointerFieldMappings.d.ts +161 -0
  304. package/dist/composables/motion/springPresets.d.ts +20 -27
  305. package/dist/composables/motion/suite.d.ts +2 -2
  306. package/dist/composables/motion/useBloomUp.d.ts +97 -0
  307. package/dist/composables/motion/useDockCtaReceive.d.ts +29 -54
  308. package/dist/composables/motion/useElementMorph.d.ts +99 -0
  309. package/dist/composables/motion/useGooMorph.d.ts +72 -0
  310. package/dist/composables/motion/useLeadTrail.d.ts +69 -0
  311. package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
  312. package/dist/composables/motion/useLiquidPress.d.ts +21 -0
  313. package/dist/composables/motion/useLiquidReveal.d.ts +19 -30
  314. package/dist/composables/motion/usePointerVelocityField.d.ts +59 -0
  315. package/dist/composables/motion/useRoutePointer.d.ts +41 -0
  316. package/dist/composables/motion/useScrollPin.d.ts +49 -0
  317. package/dist/composables/motion/useScrollScene.d.ts +67 -0
  318. package/dist/composables/motion/useSelectionGroup.d.ts +83 -0
  319. package/dist/composables/motion/useSelectionIndicator.d.ts +90 -0
  320. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  321. package/dist/configurator.d.ts +1 -1
  322. package/dist/configurator.js +3 -3
  323. package/dist/constellation.d.ts +1 -1
  324. package/dist/constellation.js +291 -254
  325. package/dist/controls.d.ts +1 -1
  326. package/dist/controls.js +4 -4
  327. package/dist/createCanvasLifecycle-DlrcvWbb.js +209 -0
  328. package/dist/dark.js +1 -1
  329. package/dist/data-table.d.ts +1 -1
  330. package/dist/data-table.js +1 -1
  331. package/dist/deck.d.ts +1 -1
  332. package/dist/deck.js +6 -6
  333. package/dist/dialog.d.ts +1 -1
  334. package/dist/dialog.js +3 -4
  335. package/dist/dock.d.ts +1 -1
  336. package/dist/dock.js +1111 -1119
  337. package/dist/dockContext-d-WpJN2Z.js +13 -0
  338. package/dist/dom.js +7 -6
  339. package/dist/drawer.d.ts +1 -1
  340. package/dist/drawer.js +181 -163
  341. package/dist/dropdown-menu-DaGlVdp9.js +421 -0
  342. package/dist/dropdown-menu.d.ts +1 -1
  343. package/dist/dropdown-menu.js +1 -1
  344. package/dist/easing.d.ts +10 -1
  345. package/dist/easing.js +148 -148
  346. package/dist/expandable-container.d.ts +1 -1
  347. package/dist/expandable-container.js +85 -66
  348. package/dist/fading-scroll.d.ts +1 -1
  349. package/dist/fading-scroll.js +1 -1
  350. package/dist/focus-scope.d.ts +1 -1
  351. package/dist/focus-scope.js +2 -23
  352. package/dist/forms.d.ts +4 -3
  353. package/dist/forms.js +75 -66
  354. package/dist/fourier-field.d.ts +1 -1
  355. package/dist/fourier-field.js +720 -422
  356. package/dist/fourier-math.d.ts +7 -1
  357. package/dist/fourier-math.js +2 -2
  358. package/dist/glass-ui.css +1 -1
  359. package/dist/glass-ui.js +200 -344
  360. package/dist/handmark.d.ts +3 -1
  361. package/dist/handmark.js +225 -164
  362. package/dist/header-ribbon.d.ts +1 -1
  363. package/dist/header-ribbon.js +6 -6
  364. package/dist/icon-chip.d.ts +1 -1
  365. package/dist/icon-chip.js +1 -1
  366. package/dist/icon-tooltip.d.ts +1 -1
  367. package/dist/icon-tooltip.js +1 -1
  368. package/dist/index.d.ts +43 -43
  369. package/dist/infinite-scroll.d.ts +2 -2
  370. package/dist/infinite-scroll.js +2 -2
  371. package/dist/instrument-chassis.d.ts +1 -1
  372. package/dist/instrument-chassis.js +1 -1
  373. package/dist/keyboard.js +1 -1
  374. package/dist/label.d.ts +1 -1
  375. package/dist/label.js +1 -1
  376. package/dist/labeled-field.d.ts +1 -1
  377. package/dist/labeled-field.js +12 -12
  378. package/dist/liquid-grid.d.ts +1 -0
  379. package/dist/liquid-grid.js +1064 -0
  380. package/dist/math-CIEcwsYi.js +112 -0
  381. package/dist/menuItemVariants-DbO-Fr74.js +36 -0
  382. package/dist/metric-badge.d.ts +1 -1
  383. package/dist/metric-badge.js +79 -2
  384. package/dist/metric-cell.d.ts +1 -1
  385. package/dist/metric-cell.js +9 -9
  386. package/dist/metric-stack.d.ts +1 -1
  387. package/dist/metric-stack.js +23 -23
  388. package/dist/motion-core.js +48 -39
  389. package/dist/motion-curves.d.ts +20 -0
  390. package/dist/motion-curves.js +20 -14
  391. package/dist/motion.js +153 -69
  392. package/dist/motionTempo-CMS5b0Vu.js +7 -0
  393. package/dist/notification.d.ts +1 -1
  394. package/dist/notification.js +1 -1
  395. package/dist/number-field.d.ts +1 -1
  396. package/dist/number-field.js +1 -1
  397. package/dist/pager-dots.d.ts +1 -1
  398. package/dist/pager-dots.js +1 -1
  399. package/dist/paper-backdrop.d.ts +1 -1
  400. package/dist/paper-backdrop.js +1 -1
  401. package/dist/pointerFieldMappings-4VtmkOWv.js +65 -0
  402. package/dist/popover.d.ts +1 -1
  403. package/dist/popover.js +1 -1
  404. package/dist/presets-B07HzyKd.js +95 -0
  405. package/dist/prng-B0PLRmR6.js +15 -0
  406. package/dist/progress.d.ts +1 -1
  407. package/dist/progress.js +2 -2
  408. package/dist/pulse.d.ts +1 -1
  409. package/dist/pulse.js +3 -3
  410. package/dist/reactive.js +2 -2
  411. package/dist/resolveCanvasColor-B3L-akX0.js +93 -0
  412. package/dist/scroll-progress-rim.d.ts +1 -0
  413. package/dist/scroll-progress-rim.js +61 -0
  414. package/dist/search.d.ts +1 -1
  415. package/dist/search.js +123 -123
  416. package/dist/select.d.ts +1 -1
  417. package/dist/select.js +3 -3
  418. package/dist/separator.d.ts +1 -1
  419. package/dist/separator.js +1 -1
  420. package/dist/sidebar.js +1 -1
  421. package/dist/slider-Cxuj_W_H.js +151 -0
  422. package/dist/slider.d.ts +1 -1
  423. package/dist/slider.js +1 -1
  424. package/dist/sortable-list.d.ts +1 -1
  425. package/dist/sortable-list.js +383 -58
  426. package/dist/spa-view.d.ts +1 -1
  427. package/dist/spa-view.js +1 -1
  428. package/dist/springPresets-h5VKJQqG.js +58 -0
  429. package/dist/stacked-icons.d.ts +1 -1
  430. package/dist/stacked-icons.js +56 -41
  431. package/dist/status-dot.d.ts +1 -1
  432. package/dist/status-dot.js +2 -2
  433. package/dist/styles/animations.css +1 -409
  434. package/dist/styles/card-scroll.css +1 -0
  435. package/dist/styles/cards.css +1 -248
  436. package/dist/styles/completion-seal.css +1 -131
  437. package/dist/styles/components.css +1 -47
  438. package/dist/styles/configurator.css +1 -132
  439. package/dist/styles/dialog-placement.css +1 -0
  440. package/dist/styles/dock/adaptive-legibility.css +1 -0
  441. package/dist/styles/dock/crossfade.css +1 -0
  442. package/dist/styles/dock/cta-seat.css +1 -87
  443. package/dist/styles/dock/density.css +1 -447
  444. package/dist/styles/dock/dock.css +1 -0
  445. package/dist/styles/dock/fisheye.css +1 -0
  446. package/dist/styles/dock/layer-group.css +1 -333
  447. package/dist/styles/dock/layers.css +1 -449
  448. package/dist/styles/dock/morph.css +1 -499
  449. package/dist/styles/dock/overflow.css +1 -292
  450. package/dist/styles/dock/popover.css +1 -0
  451. package/dist/styles/dock/search.css +1 -68
  452. package/dist/styles/dock/section.css +1 -59
  453. package/dist/styles/dock/shape.css +1 -124
  454. package/dist/styles/dock/shell-regions.css +1 -0
  455. package/dist/styles/dock/shell.css +1 -500
  456. package/dist/styles/dock-controls/dark-mode-toggle.css +1 -122
  457. package/dist/styles/dock-controls/icon-button.css +1 -157
  458. package/dist/styles/dock-controls/tab-button.css +1 -143
  459. package/dist/styles/dock-controls/touch-floor.css +1 -94
  460. package/dist/styles/dock-controls/triggers.css +1 -135
  461. package/dist/styles/dock-controls.css +1 -74
  462. package/dist/styles/dock.css +1 -158
  463. package/dist/styles/draw-in.css +1 -0
  464. package/dist/styles/drawer.css +1 -240
  465. package/dist/styles/feedback-tone.css +1 -104
  466. package/dist/styles/fonts.css +1 -143
  467. package/dist/styles/glass/a11y-fallback.css +1 -245
  468. package/dist/styles/glass/accent-tone.css +1 -66
  469. package/dist/styles/glass/control-surfaces.css +1 -167
  470. package/dist/styles/glass/deep.css +1 -44
  471. package/dist/styles/glass/defined.css +1 -0
  472. package/dist/styles/glass/glass-atom.css +1 -0
  473. package/dist/styles/glass/glass-capsule.css +1 -0
  474. package/dist/styles/glass/glass-chip.css +1 -0
  475. package/dist/styles/glass/grain-overlay.css +1 -0
  476. package/dist/styles/glass/ladder-undershadow.css +1 -0
  477. package/dist/styles/glass/ladder.css +1 -489
  478. package/dist/styles/glass/liquid-enter.css +1 -0
  479. package/dist/styles/glass/liquid-fill.css +1 -0
  480. package/dist/styles/glass/material.css +1 -301
  481. package/dist/styles/glass/progress-rail.css +1 -78
  482. package/dist/styles/glass/reveal.css +1 -136
  483. package/dist/styles/glass/rim.css +1 -110
  484. package/dist/styles/glass/squircle.css +1 -66
  485. package/dist/styles/glass/surface-axis.css +1 -113
  486. package/dist/styles/glass/surfaces-pager.css +1 -0
  487. package/dist/styles/glass/surfaces.css +1 -401
  488. package/dist/styles/glass-refract.css +1 -114
  489. package/dist/styles/glass-specular-track.css +1 -74
  490. package/dist/styles/glass.css +1 -66
  491. package/dist/styles/icon-chip.css +1 -211
  492. package/dist/styles/index.css +1 -249
  493. package/dist/styles/instrument-chassis.css +1 -453
  494. package/dist/styles/menu.css +1 -127
  495. package/dist/styles/paper.css +1 -68
  496. package/dist/styles/scroll-choreography.css +1 -300
  497. package/dist/styles/scroll-chrome.css +1 -123
  498. package/dist/styles/scroll-driven.css +1 -110
  499. package/dist/styles/scroll-progress-rim.css +1 -0
  500. package/dist/styles/segmented-tabs.css +1 -413
  501. package/dist/styles/select.css +1 -50
  502. package/dist/styles/tabs/segmented-tabs-drag.css +1 -0
  503. package/dist/styles/theme/bridges.css +1 -380
  504. package/dist/styles/theme/dark.css +1 -7
  505. package/dist/styles/theme/literals.css +1 -103
  506. package/dist/styles/theme/radius.css +1 -117
  507. package/dist/styles/theme.css +1 -33
  508. package/dist/styles/tokens/color-radius.css +1 -297
  509. package/dist/styles/tokens/dark-arm-glass.css +1 -0
  510. package/dist/styles/tokens/dark-arm.css +1 -413
  511. package/dist/styles/tokens/glass-deep.css +1 -100
  512. package/dist/styles/tokens/glass-fx.css +1 -376
  513. package/dist/styles/tokens/glass.css +1 -280
  514. package/dist/styles/tokens/light-dark.css +1 -200
  515. package/dist/styles/tokens/motion-registers.css +1 -0
  516. package/dist/styles/tokens/offsets.css +1 -143
  517. package/dist/styles/tokens/on-glass-fg.css +1 -39
  518. package/dist/styles/tokens/property-regs-specular.css +1 -0
  519. package/dist/styles/tokens/property-regs.css +1 -422
  520. package/dist/styles/tokens/scale-paper.css +1 -481
  521. package/dist/styles/tokens/scheme-motion.css +1 -428
  522. package/dist/styles/tokens/scheme-spring.css +1 -0
  523. package/dist/styles/tokens/scroll-tokens.css +1 -123
  524. package/dist/styles/tokens/shadow.css +1 -166
  525. package/dist/styles/tokens/sizing-config.css +1 -110
  526. package/dist/styles/tokens/sizing.css +1 -450
  527. package/dist/styles/tokens.css +1 -45
  528. package/dist/styles/transitions.css +1 -263
  529. package/dist/styles/typography/scale.css +1 -153
  530. package/dist/styles/typography/semantic.css +1 -233
  531. package/dist/styles/typography/utilities.css +1 -174
  532. package/dist/styles/typography.css +1 -46
  533. package/dist/styles/utilities/a11y-overrides.css +1 -184
  534. package/dist/styles/utilities/animate.css +0 -29
  535. package/dist/styles/utilities/base-misc.css +1 -307
  536. package/dist/styles/utilities/base.css +1 -327
  537. package/dist/styles/utilities/btn.css +1 -231
  538. package/dist/styles/utilities/components.css +1 -342
  539. package/dist/styles/utilities/metal.css +1 -215
  540. package/dist/styles/utilities.css +1 -26
  541. package/dist/styles/view-transition.css +1 -67
  542. package/dist/styles/viz-reveal.css +1 -0
  543. package/dist/surface.d.ts +1 -0
  544. package/dist/surface.js +3 -0
  545. package/dist/switch.d.ts +1 -1
  546. package/dist/switch.js +1 -1
  547. package/dist/tabs.d.ts +1 -1
  548. package/dist/tabs.js +217 -260
  549. package/dist/timeline.d.ts +1 -1
  550. package/dist/timeline.js +269 -218
  551. package/dist/toast.d.ts +1 -1
  552. package/dist/toast.js +1 -1
  553. package/dist/toggle-group.d.ts +1 -1
  554. package/dist/toggle-group.js +1 -1
  555. package/dist/tooltip.d.ts +1 -1
  556. package/dist/tooltip.js +1 -1
  557. package/dist/typewriter.d.ts +1 -1
  558. package/dist/typewriter.js +7 -7
  559. package/dist/useAccentTone-D25DxviG.js +23 -0
  560. package/dist/useAnimatedNumber-2XC4aRB6.js +40 -0
  561. package/dist/useConfiguratorState-Dq35N_7t.js +167 -0
  562. package/dist/useControlSize-DJwe-7ZQ.js +9 -0
  563. package/dist/useDockCtaReceive-BgMmeINo.js +161 -0
  564. package/dist/useDocumentVisibility-CpJGUgcJ.js +17 -0
  565. package/dist/useDragMorph-65ihHePq.js +93 -0
  566. package/dist/useDragVelocity-BWcNMCux.js +57 -0
  567. package/dist/useFuzzySearch-KslRxiJY.js +177 -0
  568. package/dist/useGooMorph-CU1pwuC6.js +268 -0
  569. package/dist/useGpuSubstrate-DcY584kE.js +347 -0
  570. package/dist/useIntersectionPause-Cmt5Tnv9.js +39 -0
  571. package/dist/useKeyboardShortcuts-ynVmNFo3.js +104 -0
  572. package/dist/useLeadTrail-DOH4XkL1.js +74 -0
  573. package/dist/useLiquidFlex-Ch4exNvN.js +35 -0
  574. package/dist/useLiquidPress-BXNHydZh.js +40 -0
  575. package/dist/useMotionAxis-DCCXMC-i.js +20 -0
  576. package/dist/usePointerVelocityField-CwXyeW0Z.js +122 -0
  577. package/dist/useRAFLoop-CvOo_kgb.js +109 -0
  578. package/dist/useRoutePointer-DL7I0gY4.js +52 -0
  579. package/dist/useScrollProgress-C-yImzhU.js +35 -0
  580. package/dist/useSelectionGroup-Btpf24aY.js +215 -0
  581. package/dist/useSpring-BBSKFx_0.js +41 -0
  582. package/dist/useSpringMount-CNvvgGiC.js +71 -0
  583. package/dist/useSpringPress-BypV_KO-.js +36 -0
  584. package/dist/useSurfaceAxis-DudiZVOR.js +10 -0
  585. package/dist/useTabRovingFocus-CG1H1k1J.js +143 -0
  586. package/dist/useTouchGate-BlegwvwL.js +84 -0
  587. package/dist/useUserInvalidAria-Bkruei7M.js +25 -0
  588. package/dist/watercolor-dot.d.ts +1 -1
  589. package/dist/watercolor-dot.js +57 -65
  590. package/dist/writeVelocityWeight-D1rvdxJu.js +19 -0
  591. package/package.json +386 -816
  592. package/src/styles/animations.css +82 -23
  593. package/src/styles/card-scroll.css +189 -0
  594. package/src/styles/cards.css +244 -5
  595. package/src/styles/completion-seal.css +75 -1
  596. package/src/styles/configurator.css +234 -7
  597. package/src/styles/dialog-placement.css +68 -0
  598. package/src/styles/dock/adaptive-legibility.css +119 -0
  599. package/src/styles/dock/crossfade.css +139 -0
  600. package/src/styles/dock/density.css +34 -23
  601. package/src/styles/dock/dock.css +199 -0
  602. package/src/styles/dock/fisheye.css +81 -0
  603. package/src/styles/dock/layer-group.css +37 -41
  604. package/src/styles/dock/layers.css +127 -138
  605. package/src/styles/dock/morph.css +85 -129
  606. package/src/styles/dock/overflow.css +107 -67
  607. package/src/styles/dock/popover.css +249 -0
  608. package/src/styles/dock/shape.css +86 -22
  609. package/src/styles/dock/shell-regions.css +73 -0
  610. package/src/styles/dock/shell.css +160 -160
  611. package/src/styles/dock-controls/dark-mode-toggle.css +3 -2
  612. package/src/styles/dock-controls/icon-button.css +77 -13
  613. package/src/styles/dock-controls/tab-button.css +2 -2
  614. package/src/styles/dock-controls/touch-floor.css +25 -0
  615. package/src/styles/dock-controls/triggers.css +23 -1
  616. package/src/styles/dock-controls.css +18 -0
  617. package/src/styles/dock.css +67 -6
  618. package/src/styles/draw-in.css +89 -0
  619. package/src/styles/drawer.css +203 -3
  620. package/src/styles/glass/a11y-fallback.css +19 -76
  621. package/src/styles/glass/control-surfaces.css +20 -16
  622. package/src/styles/glass/deep.css +74 -4
  623. package/src/styles/glass/defined.css +88 -0
  624. package/src/styles/glass/glass-atom.css +247 -0
  625. package/src/styles/glass/glass-capsule.css +175 -0
  626. package/src/styles/glass/glass-chip.css +211 -0
  627. package/src/styles/glass/grain-overlay.css +79 -0
  628. package/src/styles/glass/ladder-undershadow.css +61 -0
  629. package/src/styles/glass/ladder.css +96 -133
  630. package/src/styles/glass/liquid-enter.css +240 -0
  631. package/src/styles/glass/liquid-fill.css +65 -0
  632. package/src/styles/glass/material.css +201 -8
  633. package/src/styles/glass/reveal.css +213 -16
  634. package/src/styles/glass/rim.css +13 -1
  635. package/src/styles/glass/squircle.css +18 -26
  636. package/src/styles/glass/surface-axis.css +24 -1
  637. package/src/styles/glass/surfaces-pager.css +79 -0
  638. package/src/styles/glass/surfaces.css +123 -90
  639. package/src/styles/glass.css +45 -1
  640. package/src/styles/icon-chip.css +45 -0
  641. package/src/styles/index.css +54 -15
  642. package/src/styles/menu.css +66 -6
  643. package/src/styles/paper.css +133 -14
  644. package/src/styles/scroll-choreography.css +151 -157
  645. package/src/styles/scroll-driven.css +18 -5
  646. package/src/styles/scroll-progress-rim.css +87 -0
  647. package/src/styles/segmented-tabs.css +147 -130
  648. package/src/styles/select.css +151 -0
  649. package/src/styles/tabs/segmented-tabs-drag.css +200 -0
  650. package/src/styles/theme/bridges.css +8 -2
  651. package/src/styles/theme/literals.css +2 -1
  652. package/src/styles/theme/radius.css +43 -12
  653. package/src/styles/tokens/color-radius.css +16 -5
  654. package/src/styles/tokens/dark-arm-glass.css +55 -0
  655. package/src/styles/tokens/dark-arm.css +101 -59
  656. package/src/styles/tokens/glass-deep.css +108 -82
  657. package/src/styles/tokens/glass-fx.css +113 -5
  658. package/src/styles/tokens/glass.css +242 -44
  659. package/src/styles/tokens/light-dark.css +22 -6
  660. package/src/styles/tokens/motion-registers.css +93 -0
  661. package/src/styles/tokens/property-regs-specular.css +160 -0
  662. package/src/styles/tokens/property-regs.css +185 -160
  663. package/src/styles/tokens/scale-paper.css +26 -11
  664. package/src/styles/tokens/scheme-motion.css +151 -157
  665. package/src/styles/tokens/scheme-spring.css +292 -0
  666. package/src/styles/tokens/scroll-tokens.css +40 -26
  667. package/src/styles/tokens/shadow.css +79 -13
  668. package/src/styles/tokens/sizing.css +62 -7
  669. package/src/styles/tokens.css +25 -2
  670. package/src/styles/transitions.css +108 -143
  671. package/src/styles/typography/scale.css +10 -0
  672. package/src/styles/typography/semantic.css +5 -5
  673. package/src/styles/typography/utilities.css +25 -2
  674. package/src/styles/utilities/a11y-overrides.css +2 -2
  675. package/src/styles/utilities/base.css +13 -3
  676. package/src/styles/utilities/btn.css +99 -3
  677. package/src/styles/utilities/components.css +16 -21
  678. package/src/styles/utilities/metal.css +86 -29
  679. package/src/styles/viz-reveal.css +63 -0
  680. package/dist/CardAction-8whJrLWt.js +0 -268
  681. package/dist/CollapsibleContent-68dEXIAl.js +0 -63
  682. package/dist/CommandShortcut-D3yxgHNn.js +0 -302
  683. package/dist/ConfiguratorRow-CaP7U3ZA.js +0 -143
  684. package/dist/ContextMenuContent-B3ZsheLV.js +0 -90
  685. package/dist/ContextMenuSubContent-DDRID3qC.js +0 -245
  686. package/dist/DataTable-Bc9kUtu_.js +0 -512
  687. package/dist/DialogContent-6JtTB5x2.js +0 -106
  688. package/dist/DialogFooter-9phqcRIS.js +0 -80
  689. package/dist/DialogScrollContent-TTuovQst.js +0 -93
  690. package/dist/FadingScroll-DLRbH5Xr.js +0 -76
  691. package/dist/HoverCardContent-Bel1gdLZ.js +0 -88
  692. package/dist/HoverPopover-BcIxvyqZ.js +0 -96
  693. package/dist/IconChip-DhbdGdFQ.js +0 -55
  694. package/dist/IconTooltip-B0zimd2H.js +0 -25
  695. package/dist/Input-Cg9DF62r.js +0 -57
  696. package/dist/InstrumentChassis-CxsHSyMj.js +0 -65
  697. package/dist/Label-C2ejNWeC.js +0 -36
  698. package/dist/MetricBadge-RHdBP72w.js +0 -79
  699. package/dist/ModalOverlay-D1VrWyoi.js +0 -53
  700. package/dist/Notification-CphK7AAm.js +0 -43
  701. package/dist/NumberFieldContent-D8cXeyO4.js +0 -140
  702. package/dist/PagerDots-Cjx96la-.js +0 -98
  703. package/dist/PaperBackdrop-CqwjnfLv.js +0 -31
  704. package/dist/PopoverContent-DL7E6vJP.js +0 -127
  705. package/dist/Progress-CnqB7gLm.js +0 -274
  706. package/dist/ScrollingText-CTZbA_cG.js +0 -40
  707. package/dist/SelectGroup-BFiod7X2.js +0 -31
  708. package/dist/SelectScrollDownButton-DAKCBEdW.js +0 -257
  709. package/dist/SelectSeparator-C2UGOkXF.js +0 -49
  710. package/dist/Separator-DQcwC2TR.js +0 -44
  711. package/dist/Switch-B8RscmRu.js +0 -49
  712. package/dist/Toaster-D9qIHjBI.js +0 -274
  713. package/dist/ToggleGroupItem-BLtr3TJq.js +0 -170
  714. package/dist/TooltipProvider-BJ_Y5EGX.js +0 -109
  715. package/dist/api/index.d.ts +0 -33
  716. package/dist/api/types-extra.d.ts +0 -37
  717. package/dist/api.js +0 -2
  718. package/dist/badge-D9XWW4GT.js +0 -53
  719. package/dist/border-progress.d.ts +0 -1
  720. package/dist/border-progress.js +0 -98
  721. package/dist/button-5dY1Dvhd.js +0 -125
  722. package/dist/cn-DJXf4yaB.js +0 -97
  723. package/dist/coalesceMetric-5qIeZnTx.js +0 -13
  724. package/dist/color-Cs0-oxYL.js +0 -116
  725. package/dist/components/custom/aurora/Aurora.vue.d.ts +0 -101
  726. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +0 -39
  727. package/dist/components/custom/aurora/composables/atoms.d.ts +0 -142
  728. package/dist/components/custom/aurora/composables/color.d.ts +0 -93
  729. package/dist/components/custom/aurora/composables/cursorModel.d.ts +0 -78
  730. package/dist/components/custom/aurora/composables/frameLoop.d.ts +0 -39
  731. package/dist/components/custom/aurora/composables/glSetup.d.ts +0 -29
  732. package/dist/components/custom/aurora/composables/runtime.d.ts +0 -127
  733. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +0 -100
  734. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +0 -60
  735. package/dist/components/custom/aurora/composables/useAurora.d.ts +0 -86
  736. package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +0 -33
  737. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +0 -37
  738. package/dist/components/custom/aurora/constants/presets.d.ts +0 -229
  739. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +0 -1
  740. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +0 -1
  741. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +0 -1
  742. package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +0 -1
  743. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +0 -2
  744. package/dist/components/custom/aurora/index.d.ts +0 -13
  745. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +0 -46
  746. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +0 -25
  747. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +0 -18
  748. package/dist/components/custom/border-progress/constants.d.ts +0 -59
  749. package/dist/components/custom/border-progress/index.d.ts +0 -4
  750. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +0 -21
  751. package/dist/components/custom/completion-seal/constants.d.ts +0 -46
  752. package/dist/components/custom/concentric/Concentric.vue.d.ts +0 -39
  753. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +0 -18
  754. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +0 -22
  755. package/dist/components/custom/concentric/composables/ringField.d.ts +0 -85
  756. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +0 -14
  757. package/dist/components/custom/concentric/composables/useConcentric.d.ts +0 -35
  758. package/dist/components/custom/concentric/constants.d.ts +0 -67
  759. package/dist/components/custom/concentric/index.d.ts +0 -5
  760. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +0 -4
  761. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +0 -1
  762. package/dist/components/custom/configurator/Configurator.vue.d.ts +0 -139
  763. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +0 -79
  764. package/dist/components/custom/configurator/density.d.ts +0 -25
  765. package/dist/components/custom/configurator/index.d.ts +0 -6
  766. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +0 -32
  767. package/dist/components/custom/confirm-dialog/index.d.ts +0 -1
  768. package/dist/components/custom/constellation/Constellation.vue.d.ts +0 -33
  769. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +0 -10
  770. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +0 -19
  771. package/dist/components/custom/constellation/composables/useConstellation.d.ts +0 -19
  772. package/dist/components/custom/constellation/constants.d.ts +0 -94
  773. package/dist/components/custom/constellation/constellationTypes.d.ts +0 -407
  774. package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +0 -46
  775. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +0 -29
  776. package/dist/components/custom/dock/DockIconButton.vue.d.ts +0 -62
  777. package/dist/components/custom/dock/DockLayer.vue.d.ts +0 -34
  778. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +0 -51
  779. package/dist/components/custom/dock/DockSelectTrigger.vue.d.ts +0 -29
  780. package/dist/components/custom/dock/DockStack.vue.d.ts +0 -65
  781. package/dist/components/custom/dock/DockTabButton.vue.d.ts +0 -39
  782. package/dist/components/custom/dock/GlassDock.vue.d.ts +0 -31
  783. package/dist/components/custom/dock/composables/dockContext.d.ts +0 -47
  784. package/dist/components/custom/dock/composables/dockLayerContext.d.ts +0 -36
  785. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +0 -93
  786. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +0 -155
  787. package/dist/components/custom/dock/composables/index.d.ts +0 -13
  788. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +0 -15
  789. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +0 -44
  790. package/dist/components/custom/dock/composables/useDockSearch.d.ts +0 -85
  791. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +0 -176
  792. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +0 -90
  793. package/dist/components/custom/dock/constants.d.ts +0 -87
  794. package/dist/components/custom/dock/index.d.ts +0 -21
  795. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +0 -42
  796. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +0 -83
  797. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +0 -39
  798. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +0 -35
  799. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +0 -31
  800. package/dist/components/custom/dot-flow-field/constants.d.ts +0 -69
  801. package/dist/components/custom/dot-flow-field/index.d.ts +0 -5
  802. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +0 -1
  803. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +0 -4
  804. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +0 -1
  805. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +0 -43
  806. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +0 -89
  807. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -52
  808. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +0 -34
  809. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +0 -27
  810. package/dist/components/custom/dot-matrix/constants.d.ts +0 -58
  811. package/dist/components/custom/dot-matrix/index.d.ts +0 -5
  812. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +0 -4
  813. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +0 -1
  814. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +0 -71
  815. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +0 -54
  816. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +0 -15
  817. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +0 -20
  818. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +0 -41
  819. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +0 -42
  820. package/dist/components/custom/fourier-field/constants.d.ts +0 -64
  821. package/dist/components/custom/fourier-field/index.d.ts +0 -31
  822. package/dist/components/custom/fourier-field/math.d.ts +0 -86
  823. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +0 -4
  824. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +0 -1
  825. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +0 -49
  826. package/dist/components/custom/glass-panel/index.d.ts +0 -2
  827. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +0 -71
  828. package/dist/components/custom/goo-blob/composables/easing.d.ts +0 -6
  829. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +0 -41
  830. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +0 -62
  831. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +0 -15
  832. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +0 -69
  833. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +0 -23
  834. package/dist/components/custom/goo-blob/constants.d.ts +0 -57
  835. package/dist/components/custom/goo-blob/index.d.ts +0 -7
  836. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +0 -1
  837. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +0 -1
  838. package/dist/components/custom/goo-blob/types.d.ts +0 -195
  839. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +0 -49
  840. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +0 -24
  841. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +0 -50
  842. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -35
  843. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +0 -31
  844. package/dist/components/custom/goo-dot-matrix/constants.d.ts +0 -76
  845. package/dist/components/custom/goo-dot-matrix/index.d.ts +0 -5
  846. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +0 -11
  847. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +0 -3
  848. package/dist/components/custom/handmark/brush.d.ts +0 -269
  849. package/dist/components/custom/handmark/composables/useHandMark.d.ts +0 -89
  850. package/dist/components/custom/handmark/constants.d.ts +0 -39
  851. package/dist/components/custom/handmark/geometry.d.ts +0 -52
  852. package/dist/components/custom/handmark/index.d.ts +0 -27
  853. package/dist/components/custom/handmark/types.d.ts +0 -62
  854. package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +0 -31
  855. package/dist/components/custom/header-ribbon/index.d.ts +0 -2
  856. package/dist/components/custom/header-ribbon/types.d.ts +0 -7
  857. package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +0 -132
  858. package/dist/components/custom/hover-popover/index.d.ts +0 -1
  859. package/dist/components/custom/icon-chip/types.d.ts +0 -82
  860. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +0 -40
  861. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +0 -108
  862. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +0 -120
  863. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +0 -42
  864. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +0 -90
  865. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +0 -16
  866. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +0 -19
  867. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +0 -16
  868. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +0 -31
  869. package/dist/components/custom/paper-grid/constants.d.ts +0 -57
  870. package/dist/components/custom/paper-grid/index.d.ts +0 -5
  871. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +0 -4
  872. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +0 -1
  873. package/dist/components/custom/scrolling-text/ScrollingText.vue.d.ts +0 -20
  874. package/dist/components/custom/scrolling-text/index.d.ts +0 -1
  875. package/dist/components/custom/search/FuzzySearch.vue.d.ts +0 -22
  876. package/dist/components/custom/search/SearchBar.vue.d.ts +0 -38
  877. package/dist/components/custom/search/searchVariants.d.ts +0 -19
  878. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +0 -50
  879. package/dist/components/custom/selectable-chip/index.d.ts +0 -2
  880. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +0 -23
  881. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +0 -38
  882. package/dist/components/custom/sortable-list/SortableItem.vue.d.ts +0 -38
  883. package/dist/components/custom/sortable-list/SortableList.vue.d.ts +0 -76
  884. package/dist/components/custom/sortable-list/context.d.ts +0 -25
  885. package/dist/components/custom/sortable-list/index.d.ts +0 -4
  886. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +0 -39
  887. package/dist/components/custom/stacked-icons/types.d.ts +0 -18
  888. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +0 -99
  889. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +0 -42
  890. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +0 -58
  891. package/dist/components/custom/tabs/constants.d.ts +0 -36
  892. package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +0 -49
  893. package/dist/components/custom/timeline/GlassTimeline.vue.d.ts +0 -114
  894. package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +0 -29
  895. package/dist/components/custom/timeline/geometry.d.ts +0 -100
  896. package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +0 -41
  897. package/dist/components/custom/toggle-chip/index.d.ts +0 -17
  898. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +0 -72
  899. package/dist/components/custom/watercolor-dot/prng.d.ts +0 -5
  900. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +0 -29
  901. package/dist/components/ui/_shared/index.d.ts +0 -6
  902. package/dist/components/ui/_shared/menuItemVariants.d.ts +0 -51
  903. package/dist/components/ui/_shared/useControlSize.d.ts +0 -46
  904. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +0 -41
  905. package/dist/components/ui/alert/Alert.vue.d.ts +0 -19
  906. package/dist/components/ui/alert/index.d.ts +0 -8
  907. package/dist/components/ui/avatar/Avatar.vue.d.ts +0 -23
  908. package/dist/components/ui/avatar/index.d.ts +0 -9
  909. package/dist/components/ui/badge/Badge.vue.d.ts +0 -20
  910. package/dist/components/ui/badge/index.d.ts +0 -7
  911. package/dist/components/ui/button/Button.vue.d.ts +0 -28
  912. package/dist/components/ui/button/index.d.ts +0 -7
  913. package/dist/components/ui/card/Card.vue.d.ts +0 -168
  914. package/dist/components/ui/card/CardHeader.vue.d.ts +0 -81
  915. package/dist/components/ui/carousel/Carousel.vue.d.ts +0 -37
  916. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +0 -16
  917. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +0 -22
  918. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +0 -22
  919. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +0 -50
  920. package/dist/components/ui/carousel/useCarousel.d.ts +0 -20
  921. package/dist/components/ui/combobox/Combobox.vue.d.ts +0 -29
  922. package/dist/components/ui/combobox/ComboboxList.vue.d.ts +0 -32
  923. package/dist/components/ui/command/index.d.ts +0 -9
  924. package/dist/components/ui/context-menu/ContextMenu.vue.d.ts +0 -18
  925. package/dist/components/ui/context-menu/ContextMenuCheckboxItem.vue.d.ts +0 -24
  926. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +0 -34
  927. package/dist/components/ui/context-menu/ContextMenuItem.vue.d.ts +0 -23
  928. package/dist/components/ui/context-menu/ContextMenuLabel.vue.d.ts +0 -19
  929. package/dist/components/ui/context-menu/ContextMenuRadioGroup.vue.d.ts +0 -18
  930. package/dist/components/ui/context-menu/ContextMenuRadioItem.vue.d.ts +0 -22
  931. package/dist/components/ui/context-menu/ContextMenuSeparator.vue.d.ts +0 -8
  932. package/dist/components/ui/context-menu/ContextMenuShortcut.vue.d.ts +0 -17
  933. package/dist/components/ui/context-menu/ContextMenuSubContent.vue.d.ts +0 -34
  934. package/dist/components/ui/context-menu/ContextMenuSubTrigger.vue.d.ts +0 -19
  935. package/dist/components/ui/context-menu/ContextMenuTrigger.vue.d.ts +0 -14
  936. package/dist/components/ui/context-menu/index.d.ts +0 -12
  937. package/dist/components/ui/dialog/DialogContent.vue.d.ts +0 -84
  938. package/dist/components/ui/drawer/Drawer.vue.d.ts +0 -67
  939. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +0 -47
  940. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +0 -17
  941. package/dist/components/ui/drawer/constants.d.ts +0 -45
  942. package/dist/components/ui/drawer/index.d.ts +0 -25
  943. package/dist/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +0 -18
  944. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +0 -36
  945. package/dist/components/ui/dropdown-menu/index.d.ts +0 -15
  946. package/dist/components/ui/hover-card/HoverCard.vue.d.ts +0 -18
  947. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +0 -23
  948. package/dist/components/ui/hover-card/HoverCardTrigger.vue.d.ts +0 -14
  949. package/dist/components/ui/hover-card/index.d.ts +0 -3
  950. package/dist/components/ui/index.d.ts +0 -41
  951. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +0 -46
  952. package/dist/components/ui/metric-pill/index.d.ts +0 -1
  953. package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +0 -28
  954. package/dist/components/ui/multi-select/index.d.ts +0 -7
  955. package/dist/components/ui/notification/Notification.vue.d.ts +0 -16
  956. package/dist/components/ui/popover/Popover.vue.d.ts +0 -18
  957. package/dist/components/ui/popover/PopoverContent.vue.d.ts +0 -42
  958. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +0 -14
  959. package/dist/components/ui/progress/Progress.vue.d.ts +0 -49
  960. package/dist/components/ui/progress/index.d.ts +0 -5
  961. package/dist/components/ui/select/SelectContent.vue.d.ts +0 -33
  962. package/dist/components/ui/sheet/Sheet.vue.d.ts +0 -18
  963. package/dist/components/ui/sheet/SheetClose.vue.d.ts +0 -14
  964. package/dist/components/ui/sheet/SheetContent.vue.d.ts +0 -59
  965. package/dist/components/ui/sheet/SheetDescription.vue.d.ts +0 -18
  966. package/dist/components/ui/sheet/SheetFooter.vue.d.ts +0 -17
  967. package/dist/components/ui/sheet/SheetHeader.vue.d.ts +0 -17
  968. package/dist/components/ui/sheet/SheetTitle.vue.d.ts +0 -18
  969. package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +0 -14
  970. package/dist/components/ui/sheet/index.d.ts +0 -13
  971. package/dist/components/ui/slider/Slider.vue.d.ts +0 -28
  972. package/dist/components/ui/slider/index.d.ts +0 -46
  973. package/dist/components/ui/tabs/Tabs.vue.d.ts +0 -19
  974. package/dist/components/ui/tabs/TabsContent.vue.d.ts +0 -18
  975. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +0 -11
  976. package/dist/components/ui/tabs/TabsList.vue.d.ts +0 -28
  977. package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +0 -18
  978. package/dist/components/ui/tabs/index.d.ts +0 -5
  979. package/dist/components/ui/toast/Toast.vue.d.ts +0 -107
  980. package/dist/components/ui/toast/index.d.ts +0 -9
  981. package/dist/components/ui/toast/use-toast.d.ts +0 -182
  982. package/dist/components/ui/toggle/Toggle.vue.d.ts +0 -29
  983. package/dist/components/ui/toggle/index.d.ts +0 -26
  984. package/dist/composables/glass/useGlassRenderer.d.ts +0 -44
  985. package/dist/composables/glass/useVizChoreography.d.ts +0 -123
  986. package/dist/composables/sortable/dragController.d.ts +0 -44
  987. package/dist/composables/sortable/types.d.ts +0 -133
  988. package/dist/composables/sortable/useSortable.d.ts +0 -34
  989. package/dist/concentric.d.ts +0 -1
  990. package/dist/concentric.js +0 -836
  991. package/dist/confirm-dialog.d.ts +0 -1
  992. package/dist/confirm-dialog.js +0 -82
  993. package/dist/context-menu.d.ts +0 -1
  994. package/dist/context-menu.js +0 -3
  995. package/dist/createCanvasLifecycle-Gh45Ce-p.js +0 -93
  996. package/dist/dockContext-BNfyPLe9.js +0 -17
  997. package/dist/dot-flow-field.d.ts +0 -1
  998. package/dist/dot-flow-field.js +0 -894
  999. package/dist/dot-matrix.d.ts +0 -1
  1000. package/dist/dot-matrix.js +0 -630
  1001. package/dist/dotMatrixField-D_x9_1qq.js +0 -48
  1002. package/dist/dropdown-menu-aJmV5SqE.js +0 -369
  1003. package/dist/glass-panel.d.ts +0 -1
  1004. package/dist/glass-panel.js +0 -113
  1005. package/dist/goo-blob.d.ts +0 -1
  1006. package/dist/goo-blob.js +0 -346
  1007. package/dist/goo-dot-matrix.d.ts +0 -1
  1008. package/dist/goo-dot-matrix.js +0 -591
  1009. package/dist/hover-card.d.ts +0 -1
  1010. package/dist/hover-card.js +0 -2
  1011. package/dist/hover-popover.d.ts +0 -1
  1012. package/dist/hover-popover.js +0 -2
  1013. package/dist/math-Eb0w3LqU.js +0 -51
  1014. package/dist/menuItemVariants-D8VNHq22.js +0 -36
  1015. package/dist/paper-grid.d.ts +0 -1
  1016. package/dist/paper-grid.js +0 -788
  1017. package/dist/presets-CvOUqtdY.js +0 -84
  1018. package/dist/prng-B-d9eYX8.js +0 -15
  1019. package/dist/resolveCanvasColor-yPyIpJt9.js +0 -93
  1020. package/dist/scrolling-text.d.ts +0 -1
  1021. package/dist/scrolling-text.js +0 -2
  1022. package/dist/selectable-chip.d.ts +0 -1
  1023. package/dist/selectable-chip.js +0 -65
  1024. package/dist/sheet-B2flBfLH.js +0 -218
  1025. package/dist/sheet.d.ts +0 -1
  1026. package/dist/sheet.js +0 -2
  1027. package/dist/slider-2A0rPn79.js +0 -142
  1028. package/dist/spectrum-walk-BVzA7Biz.js +0 -33
  1029. package/dist/springPresets-Ce7OYCm9.js +0 -46
  1030. package/dist/styles/border-progress.css +0 -109
  1031. package/dist/styles/critical-partition.mjs +0 -162
  1032. package/dist/styles/critical.css +0 -12
  1033. package/dist/styles/deferred.css +0 -33
  1034. package/dist/styles/dock/morph-bridge.css +0 -159
  1035. package/dist/styles/dock/stack-rail.css +0 -264
  1036. package/dist/styles/floating-panel.css +0 -51
  1037. package/dist/styles/hover-popover.css +0 -47
  1038. package/dist/toggle-chip.d.ts +0 -1
  1039. package/dist/toggle-chip.js +0 -73
  1040. package/dist/uniformBridgeWGPU-CtAKl45L.js +0 -1204
  1041. package/dist/useAnimatedNumber-CLrxicG9.js +0 -40
  1042. package/dist/useConfiguratorState-4xblKfwd.js +0 -162
  1043. package/dist/useControlSize-SH1UmJCi.js +0 -9
  1044. package/dist/useDockCtaReceive-DfFkmgL1.js +0 -82
  1045. package/dist/useDragMorph-BUgAC-zK.js +0 -102
  1046. package/dist/useFuzzySearch-DIhcYtcw.js +0 -177
  1047. package/dist/useGpuSubstrate-4pTcp6mX.js +0 -294
  1048. package/dist/useIntersectionPause-Dbozzjgm.js +0 -53
  1049. package/dist/useKeyboardShortcuts-BPRp33Im.js +0 -99
  1050. package/dist/useLiquidFlex-UmA6LMZu.js +0 -30
  1051. package/dist/useLiquidPress-BooG97RY.js +0 -39
  1052. package/dist/usePointerVelocityField-QLsy3_kv.js +0 -91
  1053. package/dist/useScrollChrome-D66AVP7C.js +0 -258
  1054. package/dist/useScrollProgress-c3yxmH6a.js +0 -35
  1055. package/dist/useSortable-BVqlJRBR.js +0 -246
  1056. package/dist/useSpring-C0jyvEJB.js +0 -40
  1057. package/dist/useSpringMount-BWDnKIwh.js +0 -71
  1058. package/dist/useSpringPress-B1-Czp-V.js +0 -36
  1059. package/dist/useSurfaceAxis-g0NloYEF.js +0 -7
  1060. package/dist/useTouchGate-CBZTD4SD.js +0 -84
  1061. package/dist/useUserInvalidAria-y5namzeE.js +0 -29
  1062. package/dist/useViewTransition-CUI1nAgn.js +0 -95
  1063. package/dist/utils/cn.d.ts +0 -27
  1064. package/dist/utils/index.d.ts +0 -4
  1065. package/dist/utils/moveBefore.d.ts +0 -15
  1066. package/dist/utils/platformSupport.d.ts +0 -8
  1067. package/dist/vendor-B2qOlYY3.js +0 -239
  1068. package/dist/virtual.d.ts +0 -1
  1069. package/dist/virtual.js +0 -225
  1070. package/src/styles/border-progress.css +0 -109
  1071. package/src/styles/critical-partition.mjs +0 -162
  1072. package/src/styles/dock/morph-bridge.css +0 -159
  1073. package/src/styles/dock/stack-rail.css +0 -264
  1074. package/src/styles/floating-panel.css +0 -49
  1075. package/src/styles/hover-popover.css +0 -45
  1076. /package/dist/{compile-nZ1xVYTp.js → compile-C55K3P9g.js} +0 -0
  1077. /package/dist/components/{ui/_shared → _shared}/ModalOverlay.vue.d.ts +0 -0
  1078. /package/dist/components/{ui/_shared → _shared}/useStalePropWarning.d.ts +0 -0
  1079. /package/dist/components/{ui/accordion → accordion}/Accordion.vue.d.ts +0 -0
  1080. /package/dist/components/{ui/accordion → accordion}/AccordionContent.vue.d.ts +0 -0
  1081. /package/dist/components/{ui/accordion → accordion}/AccordionItem.vue.d.ts +0 -0
  1082. /package/dist/components/{ui/accordion → accordion}/AccordionTrigger.vue.d.ts +0 -0
  1083. /package/dist/components/{ui/accordion → accordion}/index.d.ts +0 -0
  1084. /package/dist/components/{ui/alert → alert}/AlertDescription.vue.d.ts +0 -0
  1085. /package/dist/components/{ui/alert → alert}/AlertTitle.vue.d.ts +0 -0
  1086. /package/dist/components/{custom/animated-digit → animated-digit}/AnimatedDigit.vue.d.ts +0 -0
  1087. /package/dist/components/{custom/animated-digit → animated-digit}/index.d.ts +0 -0
  1088. /package/dist/components/{custom/aurora → aurora}/composables/auroraFallbackGround.d.ts +0 -0
  1089. /package/dist/components/{custom/aurora → aurora}/composables/configSource.d.ts +0 -0
  1090. /package/dist/components/{custom/aurora → aurora}/constants/budget.d.ts +0 -0
  1091. /package/dist/components/{custom/aurora → aurora}/constants/renderMode.d.ts +0 -0
  1092. /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.frag.d.ts +0 -0
  1093. /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.vert.d.ts +0 -0
  1094. /package/dist/components/{custom/aurora → aurora}/constants/shaders/composition.glsl.d.ts +0 -0
  1095. /package/dist/components/{custom/aurora → aurora}/constants/shaders/oil-modes.glsl.d.ts +0 -0
  1096. /package/dist/components/{custom/aurora → aurora}/constants/shaders/procedural-color.wgsl.d.ts +0 -0
  1097. /package/dist/components/{custom/aurora → aurora}/constants/shaders/tonemap.glsl.d.ts +0 -0
  1098. /package/dist/components/{custom/aurora → aurora}/constants/shaders/vangogh-medium.glsl.d.ts +0 -0
  1099. /package/dist/components/{ui/avatar → avatar}/AvatarFallback.vue.d.ts +0 -0
  1100. /package/dist/components/{ui/avatar → avatar}/AvatarImage.vue.d.ts +0 -0
  1101. /package/dist/components/{custom/goo-blob → blob}/composables/buildMetaballProgram.d.ts +0 -0
  1102. /package/dist/components/{custom/goo-blob → blob}/composables/uniformBridgeWGPU.d.ts +0 -0
  1103. /package/dist/components/{custom/goo-blob → blob}/composables/useBlobMood.d.ts +0 -0
  1104. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-noise.wgsl.d.ts +0 -0
  1105. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-palette.wgsl.d.ts +0 -0
  1106. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.frag.d.ts +0 -0
  1107. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.vert.d.ts +0 -0
  1108. /package/dist/components/{custom/goo-blob → blob}/shaders/oklch-perturb.glsl.d.ts +0 -0
  1109. /package/dist/components/{custom/goo-blob → blob}/shaders/sdf-body.glsl.d.ts +0 -0
  1110. /package/dist/components/{custom/goo-blob → blob}/shaders/watercolor-edges.glsl.d.ts +0 -0
  1111. /package/dist/components/{ui/card → card}/CardAction.vue.d.ts +0 -0
  1112. /package/dist/components/{ui/card → card}/CardContent.vue.d.ts +0 -0
  1113. /package/dist/components/{ui/card → card}/CardDescription.vue.d.ts +0 -0
  1114. /package/dist/components/{ui/card → card}/CardFooter.vue.d.ts +0 -0
  1115. /package/dist/components/{ui/card → card}/CardTitle.vue.d.ts +0 -0
  1116. /package/dist/components/{ui/card → card}/ScrollCard.vue.d.ts +0 -0
  1117. /package/dist/components/{ui/card → card}/ScrollCardHeader.vue.d.ts +0 -0
  1118. /package/dist/components/{ui/card → card}/index.d.ts +0 -0
  1119. /package/dist/components/{ui/carousel → carousel}/CarouselItem.vue.d.ts +0 -0
  1120. /package/dist/components/{ui/carousel → carousel}/CarouselPager.vue.d.ts +0 -0
  1121. /package/dist/components/{ui/carousel → carousel}/index.d.ts +0 -0
  1122. /package/dist/components/{ui/carousel → carousel}/interface.d.ts +0 -0
  1123. /package/dist/components/{ui/checkbox → checkbox}/Checkbox.vue.d.ts +0 -0
  1124. /package/dist/components/{ui/checkbox → checkbox}/index.d.ts +0 -0
  1125. /package/dist/components/{ui/collapsible → collapsible}/Collapsible.vue.d.ts +0 -0
  1126. /package/dist/components/{ui/collapsible → collapsible}/CollapsibleContent.vue.d.ts +0 -0
  1127. /package/dist/components/{ui/collapsible → collapsible}/CollapsibleTrigger.vue.d.ts +0 -0
  1128. /package/dist/components/{ui/collapsible → collapsible}/index.d.ts +0 -0
  1129. /package/dist/components/{custom/color-swatch → color-swatch}/ColorSwatch.vue.d.ts +0 -0
  1130. /package/dist/components/{custom/color-swatch → color-swatch}/index.d.ts +0 -0
  1131. /package/dist/components/{ui/combobox → combobox}/ComboboxAnchor.vue.d.ts +0 -0
  1132. /package/dist/components/{ui/combobox → combobox}/ComboboxEmpty.vue.d.ts +0 -0
  1133. /package/dist/components/{ui/combobox → combobox}/ComboboxGroup.vue.d.ts +0 -0
  1134. /package/dist/components/{ui/combobox → combobox}/ComboboxInput.vue.d.ts +0 -0
  1135. /package/dist/components/{ui/combobox → combobox}/ComboboxItem.vue.d.ts +0 -0
  1136. /package/dist/components/{ui/combobox → combobox}/ComboboxItemIndicator.vue.d.ts +0 -0
  1137. /package/dist/components/{ui/combobox → combobox}/ComboboxSeparator.vue.d.ts +0 -0
  1138. /package/dist/components/{ui/combobox → combobox}/ComboboxViewport.vue.d.ts +0 -0
  1139. /package/dist/components/{ui/combobox → combobox}/index.d.ts +0 -0
  1140. /package/dist/components/{ui/command → command}/Command.vue.d.ts +0 -0
  1141. /package/dist/components/{ui/command → command}/CommandDialog.vue.d.ts +0 -0
  1142. /package/dist/components/{ui/command → command}/CommandEmpty.vue.d.ts +0 -0
  1143. /package/dist/components/{ui/command → command}/CommandGroup.vue.d.ts +0 -0
  1144. /package/dist/components/{ui/command → command}/CommandInput.vue.d.ts +0 -0
  1145. /package/dist/components/{ui/command → command}/CommandItem.vue.d.ts +0 -0
  1146. /package/dist/components/{ui/command → command}/CommandList.vue.d.ts +0 -0
  1147. /package/dist/components/{ui/command → command}/CommandSeparator.vue.d.ts +0 -0
  1148. /package/dist/components/{ui/command → command}/CommandShortcut.vue.d.ts +0 -0
  1149. /package/dist/components/{custom/completion-seal → completion-seal}/composables/useCompletionSeal.d.ts +0 -0
  1150. /package/dist/components/{custom/completion-seal → completion-seal}/index.d.ts +0 -0
  1151. /package/dist/components/{custom/configurator → configurator}/ConfiguratorLayer.vue.d.ts +0 -0
  1152. /package/dist/components/{custom/configurator → configurator}/useConfiguratorState.d.ts +0 -0
  1153. /package/dist/components/{custom/constellation → constellation}/composables/createConstellationField.d.ts +0 -0
  1154. /package/dist/components/{custom/constellation → constellation}/composables/uniformBridgeWGPU.d.ts +0 -0
  1155. /package/dist/components/{custom/constellation → constellation}/constellationField.d.ts +0 -0
  1156. /package/dist/components/{custom/constellation → constellation}/constellationInteraction.d.ts +0 -0
  1157. /package/dist/components/{custom/constellation → constellation}/constellationRender.d.ts +0 -0
  1158. /package/dist/components/{custom/constellation → constellation}/constellationWell.d.ts +0 -0
  1159. /package/dist/components/{custom/constellation → constellation}/index.d.ts +0 -0
  1160. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-lines.glsl.d.ts +0 -0
  1161. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-lines.wgsl.d.ts +0 -0
  1162. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-points.glsl.d.ts +0 -0
  1163. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-points.wgsl.d.ts +0 -0
  1164. /package/dist/components/{custom/controls → controls}/DarkModeToggle.vue.d.ts +0 -0
  1165. /package/dist/components/{custom/controls → controls}/index.d.ts +0 -0
  1166. /package/dist/components/{ui/data-table → data-table}/DataTable.vue.d.ts +0 -0
  1167. /package/dist/components/{ui/data-table → data-table}/DataTablePagination.vue.d.ts +0 -0
  1168. /package/dist/components/{ui/data-table → data-table}/composables/useDataTableResponsive.d.ts +0 -0
  1169. /package/dist/components/{ui/data-table → data-table}/composables/useDataTableRowIdentity.d.ts +0 -0
  1170. /package/dist/components/{ui/data-table → data-table}/index.d.ts +0 -0
  1171. /package/dist/components/{ui/data-table → data-table}/types.d.ts +0 -0
  1172. /package/dist/components/{custom/deck → deck}/DeckPager.vue.d.ts +0 -0
  1173. /package/dist/components/{custom/deck → deck}/composables/useDeck.d.ts +0 -0
  1174. /package/dist/components/{custom/deck → deck}/composables/useDeckKeyboard.d.ts +0 -0
  1175. /package/dist/components/{custom/deck → deck}/composables/useDeckSpring.d.ts +0 -0
  1176. /package/dist/components/{custom/deck → deck}/constants.d.ts +0 -0
  1177. /package/dist/components/{custom/deck → deck}/index.d.ts +0 -0
  1178. /package/dist/components/{ui/dialog → dialog}/Dialog.vue.d.ts +0 -0
  1179. /package/dist/components/{ui/dialog → dialog}/DialogClose.vue.d.ts +0 -0
  1180. /package/dist/components/{ui/dialog → dialog}/DialogDescription.vue.d.ts +0 -0
  1181. /package/dist/components/{ui/dialog → dialog}/DialogFooter.vue.d.ts +0 -0
  1182. /package/dist/components/{ui/dialog → dialog}/DialogHeader.vue.d.ts +0 -0
  1183. /package/dist/components/{ui/dialog → dialog}/DialogScrollContent.vue.d.ts +0 -0
  1184. /package/dist/components/{ui/dialog → dialog}/DialogTitle.vue.d.ts +0 -0
  1185. /package/dist/components/{ui/dialog → dialog}/DialogTrigger.vue.d.ts +0 -0
  1186. /package/dist/components/{ui/dialog → dialog}/index.d.ts +0 -0
  1187. /package/dist/components/{custom/dock → dock}/DockSection.vue.d.ts +0 -0
  1188. /package/dist/components/{custom/dock → dock}/DockSeparator.vue.d.ts +0 -0
  1189. /package/dist/components/{custom/dock → dock}/composables/isTeleportedTarget.d.ts +0 -0
  1190. /package/dist/components/{custom/dock → dock}/composables/useDockClickIntegrity.d.ts +0 -0
  1191. /package/dist/components/{custom/dock → dock}/composables/useDockHold.d.ts +0 -0
  1192. /package/dist/components/{custom/dock → dock}/composables/useDockState.d.ts +0 -0
  1193. /package/dist/components/{ui/drawer → drawer}/DrawerDescription.vue.d.ts +0 -0
  1194. /package/dist/components/{ui/drawer → drawer}/DrawerFooter.vue.d.ts +0 -0
  1195. /package/dist/components/{ui/drawer → drawer}/DrawerHeader.vue.d.ts +0 -0
  1196. /package/dist/components/{ui/drawer → drawer}/DrawerOverlay.vue.d.ts +0 -0
  1197. /package/dist/components/{ui/drawer → drawer}/DrawerTitle.vue.d.ts +0 -0
  1198. /package/dist/components/{ui/drawer → drawer}/composables/drawerSnapContext.d.ts +0 -0
  1199. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuCheckboxItem.vue.d.ts +0 -0
  1200. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuGroup.vue.d.ts +0 -0
  1201. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuItem.vue.d.ts +0 -0
  1202. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuLabel.vue.d.ts +0 -0
  1203. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioGroup.vue.d.ts +0 -0
  1204. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioItem.vue.d.ts +0 -0
  1205. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSeparator.vue.d.ts +0 -0
  1206. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuShortcut.vue.d.ts +0 -0
  1207. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSub.vue.d.ts +0 -0
  1208. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubContent.vue.d.ts +0 -0
  1209. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubTrigger.vue.d.ts +0 -0
  1210. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuTrigger.vue.d.ts +0 -0
  1211. /package/dist/components/{custom/easing → easing}/EasingConfigurator.vue.d.ts +0 -0
  1212. /package/dist/components/{custom/easing → easing}/EasingPicker.vue.d.ts +0 -0
  1213. /package/dist/components/{custom/easing → easing}/composables/useEasingPicker.d.ts +0 -0
  1214. /package/dist/components/{custom/easing → easing}/constants.d.ts +0 -0
  1215. /package/dist/components/{custom/easing → easing}/index.d.ts +0 -0
  1216. /package/dist/components/{custom/expandable-container → expandable-container}/index.d.ts +0 -0
  1217. /package/dist/components/{custom/fading-scroll → fading-scroll}/FadingScroll.vue.d.ts +0 -0
  1218. /package/dist/components/{custom/fading-scroll → fading-scroll}/composables/useFadingScroll.d.ts +0 -0
  1219. /package/dist/components/{custom/fading-scroll → fading-scroll}/constants.d.ts +0 -0
  1220. /package/dist/components/{custom/fading-scroll → fading-scroll}/index.d.ts +0 -0
  1221. /package/dist/components/{ui/focus-scope → focus-scope}/FocusScope.vue.d.ts +0 -0
  1222. /package/dist/components/{ui/focus-scope → focus-scope}/index.d.ts +0 -0
  1223. /package/dist/components/{custom/fourier-field → fourier-field}/presets.d.ts +0 -0
  1224. /package/dist/components/{custom/fourier-field → fourier-field}/shaders/fourier-field.compute.wgsl.d.ts +0 -0
  1225. /package/dist/components/{custom/handmark → handmark}/HandMark.vue.d.ts +0 -0
  1226. /package/dist/components/{custom/handmark → handmark}/freehand.d.ts +0 -0
  1227. /package/dist/components/{custom/handmark → handmark}/ink.d.ts +0 -0
  1228. /package/dist/components/{custom/handmark → handmark}/texture.d.ts +0 -0
  1229. /package/dist/components/{custom/icon-chip → icon-chip}/IconChip.vue.d.ts +0 -0
  1230. /package/dist/components/{custom/icon-chip → icon-chip}/index.d.ts +0 -0
  1231. /package/dist/components/{custom/icon-tooltip → icon-tooltip}/IconTooltip.vue.d.ts +0 -0
  1232. /package/dist/components/{custom/icon-tooltip → icon-tooltip}/index.d.ts +0 -0
  1233. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/InfiniteScroll.vue.d.ts +0 -0
  1234. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/index.d.ts +0 -0
  1235. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/types.d.ts +0 -0
  1236. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/useInfiniteScroll.d.ts +0 -0
  1237. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/index.d.ts +0 -0
  1238. /package/dist/components/{ui/input → input}/Input.vue.d.ts +0 -0
  1239. /package/dist/components/{ui/input → input}/index.d.ts +0 -0
  1240. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/ChassisDivider.vue.d.ts +0 -0
  1241. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/InstrumentChassis.vue.d.ts +0 -0
  1242. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/index.d.ts +0 -0
  1243. /package/dist/components/{ui/label → label}/Label.vue.d.ts +0 -0
  1244. /package/dist/components/{ui/label → label}/index.d.ts +0 -0
  1245. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledField.vue.d.ts +0 -0
  1246. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledInput.vue.d.ts +0 -0
  1247. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSelect.vue.d.ts +0 -0
  1248. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSlider.vue.d.ts +0 -0
  1249. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSwitch.vue.d.ts +0 -0
  1250. /package/dist/components/{custom/labeled-field → labeled-field}/index.d.ts +0 -0
  1251. /package/dist/{utils/coalesceMetric.d.ts → components/metric/coalesce-metric.d.ts} +0 -0
  1252. /package/dist/components/{custom/metric-badge → metric-badge}/index.d.ts +0 -0
  1253. /package/dist/components/{custom/metric-cell → metric-cell}/index.d.ts +0 -0
  1254. /package/dist/components/{custom/metric-stack → metric-stack}/MetricStack.vue.d.ts +0 -0
  1255. /package/dist/components/{custom/metric-stack → metric-stack}/index.d.ts +0 -0
  1256. /package/dist/components/{ui/notification → notification}/index.d.ts +0 -0
  1257. /package/dist/components/{ui/number-field → number-field}/NumberField.vue.d.ts +0 -0
  1258. /package/dist/components/{ui/number-field → number-field}/NumberFieldContent.vue.d.ts +0 -0
  1259. /package/dist/components/{ui/number-field → number-field}/NumberFieldDecrement.vue.d.ts +0 -0
  1260. /package/dist/components/{ui/number-field → number-field}/NumberFieldIncrement.vue.d.ts +0 -0
  1261. /package/dist/components/{ui/number-field → number-field}/NumberFieldInput.vue.d.ts +0 -0
  1262. /package/dist/components/{ui/number-field → number-field}/index.d.ts +0 -0
  1263. /package/dist/components/{custom/pager-dots → pager-dots}/PagerDots.vue.d.ts +0 -0
  1264. /package/dist/components/{custom/pager-dots → pager-dots}/index.d.ts +0 -0
  1265. /package/dist/components/{custom/pager-dots → pager-dots}/pagerWindow.d.ts +0 -0
  1266. /package/dist/components/{custom/paper-backdrop → paper-backdrop}/PaperBackdrop.vue.d.ts +0 -0
  1267. /package/dist/components/{custom/paper-backdrop → paper-backdrop}/index.d.ts +0 -0
  1268. /package/dist/components/{ui/popover → popover}/index.d.ts +0 -0
  1269. /package/dist/components/{ui/progress → progress}/ProgressDefault.vue.d.ts +0 -0
  1270. /package/dist/components/{ui/progress → progress}/ProgressGradient.vue.d.ts +0 -0
  1271. /package/dist/components/{ui/progress → progress}/ProgressSectioned.vue.d.ts +0 -0
  1272. /package/dist/components/{ui/progress → progress}/useProgressGeometry.d.ts +0 -0
  1273. /package/dist/components/{custom/pulse → pulse}/Pulse.vue.d.ts +0 -0
  1274. /package/dist/components/{custom/pulse → pulse}/index.d.ts +0 -0
  1275. /package/dist/components/{ui/radio-group → radio-group}/RadioGroup.vue.d.ts +0 -0
  1276. /package/dist/components/{ui/radio-group → radio-group}/RadioGroupItem.vue.d.ts +0 -0
  1277. /package/dist/components/{ui/radio-group → radio-group}/index.d.ts +0 -0
  1278. /package/dist/components/{custom/search → search}/composables/fuzzySearchIndex.d.ts +0 -0
  1279. /package/dist/components/{custom/search → search}/composables/index.d.ts +0 -0
  1280. /package/dist/components/{custom/search → search}/composables/types.d.ts +0 -0
  1281. /package/dist/components/{custom/search → search}/composables/useFuzzySearch.d.ts +0 -0
  1282. /package/dist/components/{custom/search → search}/index.d.ts +0 -0
  1283. /package/dist/components/{ui/section → section}/Section.vue.d.ts +0 -0
  1284. /package/dist/components/{ui/section → section}/index.d.ts +0 -0
  1285. /package/dist/components/{ui/select → select}/Select.vue.d.ts +0 -0
  1286. /package/dist/components/{ui/select → select}/SelectGroup.vue.d.ts +0 -0
  1287. /package/dist/components/{ui/select → select}/SelectItem.vue.d.ts +0 -0
  1288. /package/dist/components/{ui/select → select}/SelectLabel.vue.d.ts +0 -0
  1289. /package/dist/components/{ui/select → select}/SelectScrollDownButton.vue.d.ts +0 -0
  1290. /package/dist/components/{ui/select → select}/SelectScrollUpButton.vue.d.ts +0 -0
  1291. /package/dist/components/{ui/select → select}/SelectSeparator.vue.d.ts +0 -0
  1292. /package/dist/components/{ui/select → select}/SelectTrigger.vue.d.ts +0 -0
  1293. /package/dist/components/{ui/select → select}/SelectValue.vue.d.ts +0 -0
  1294. /package/dist/components/{ui/select → select}/index.d.ts +0 -0
  1295. /package/dist/components/{ui/separator → separator}/Separator.vue.d.ts +0 -0
  1296. /package/dist/components/{ui/separator → separator}/index.d.ts +0 -0
  1297. /package/dist/components/{ui/skeleton → skeleton}/Skeleton.vue.d.ts +0 -0
  1298. /package/dist/components/{ui/skeleton → skeleton}/index.d.ts +0 -0
  1299. /package/dist/{composables/sortable → components/sortable-list/composables}/dropResolver.d.ts +0 -0
  1300. /package/dist/{composables/sortable → components/sortable-list/composables}/ghostRenderer.d.ts +0 -0
  1301. /package/dist/{composables/sortable → components/sortable-list/composables}/index.d.ts +0 -0
  1302. /package/dist/{composables/sortable → components/sortable-list/composables}/touchGate.d.ts +0 -0
  1303. /package/dist/{composables/sortable → components/sortable-list/composables}/transitionTiming.d.ts +0 -0
  1304. /package/dist/components/{custom/spa-view → spa-view}/SpaView.vue.d.ts +0 -0
  1305. /package/dist/components/{custom/spa-view → spa-view}/index.d.ts +0 -0
  1306. /package/dist/components/{custom/split-chars → split-chars}/index.d.ts +0 -0
  1307. /package/dist/components/{custom/stacked-icons → stacked-icons}/StackedIconGroup.vue.d.ts +0 -0
  1308. /package/dist/components/{custom/stacked-icons → stacked-icons}/index.d.ts +0 -0
  1309. /package/dist/components/{custom/status-dot → status-dot}/StatusDot.vue.d.ts +0 -0
  1310. /package/dist/components/{custom/status-dot → status-dot}/index.d.ts +0 -0
  1311. /package/dist/components/{ui/switch → switch}/Switch.vue.d.ts +0 -0
  1312. /package/dist/components/{ui/switch → switch}/index.d.ts +0 -0
  1313. /package/dist/components/{ui/table → table}/Table.vue.d.ts +0 -0
  1314. /package/dist/components/{ui/table → table}/TableBody.vue.d.ts +0 -0
  1315. /package/dist/components/{ui/table → table}/TableCaption.vue.d.ts +0 -0
  1316. /package/dist/components/{ui/table → table}/TableCell.vue.d.ts +0 -0
  1317. /package/dist/components/{ui/table → table}/TableEmpty.vue.d.ts +0 -0
  1318. /package/dist/components/{ui/table → table}/TableHead.vue.d.ts +0 -0
  1319. /package/dist/components/{ui/table → table}/TableHeader.vue.d.ts +0 -0
  1320. /package/dist/components/{ui/table → table}/TableRow.vue.d.ts +0 -0
  1321. /package/dist/components/{ui/table → table}/index.d.ts +0 -0
  1322. /package/dist/components/{custom/tabs → tabs}/index.d.ts +0 -0
  1323. /package/dist/components/{ui/tags-input → tags-input}/TagsInput.vue.d.ts +0 -0
  1324. /package/dist/components/{ui/tags-input → tags-input}/TagsInputInput.vue.d.ts +0 -0
  1325. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItem.vue.d.ts +0 -0
  1326. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemDelete.vue.d.ts +0 -0
  1327. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemText.vue.d.ts +0 -0
  1328. /package/dist/components/{ui/tags-input → tags-input}/index.d.ts +0 -0
  1329. /package/dist/components/{ui/textarea → textarea}/Textarea.vue.d.ts +0 -0
  1330. /package/dist/components/{ui/textarea → textarea}/index.d.ts +0 -0
  1331. /package/dist/components/{custom/timeline → timeline}/ContinuousRail.vue.d.ts +0 -0
  1332. /package/dist/components/{custom/timeline → timeline}/ContinuousTimeline.vue.d.ts +0 -0
  1333. /package/dist/components/{custom/timeline → timeline}/SegmentedTimeline.vue.d.ts +0 -0
  1334. /package/dist/components/{custom/timeline → timeline}/index.d.ts +0 -0
  1335. /package/dist/components/{custom/timeline → timeline}/types.d.ts +0 -0
  1336. /package/dist/components/{ui/toast → toast}/ToastAction.vue.d.ts +0 -0
  1337. /package/dist/components/{ui/toast → toast}/ToastClose.vue.d.ts +0 -0
  1338. /package/dist/components/{ui/toast → toast}/ToastDescription.vue.d.ts +0 -0
  1339. /package/dist/components/{ui/toast → toast}/ToastTitle.vue.d.ts +0 -0
  1340. /package/dist/components/{ui/toast → toast}/Toaster.vue.d.ts +0 -0
  1341. /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroup.vue.d.ts +0 -0
  1342. /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroupItem.vue.d.ts +0 -0
  1343. /package/dist/components/{ui/toggle-group → toggle-group}/index.d.ts +0 -0
  1344. /package/dist/components/{ui/toggle-group → toggle-group}/toggleGroupContext.d.ts +0 -0
  1345. /package/dist/components/{ui/tooltip → tooltip}/Tooltip.vue.d.ts +0 -0
  1346. /package/dist/components/{ui/tooltip → tooltip}/TooltipContent.vue.d.ts +0 -0
  1347. /package/dist/components/{ui/tooltip → tooltip}/TooltipProvider.vue.d.ts +0 -0
  1348. /package/dist/components/{ui/tooltip → tooltip}/TooltipTrigger.vue.d.ts +0 -0
  1349. /package/dist/components/{ui/tooltip → tooltip}/index.d.ts +0 -0
  1350. /package/dist/components/{custom/typewriter → typewriter}/TypewriterText.vue.d.ts +0 -0
  1351. /package/dist/components/{custom/typewriter → typewriter}/composables/index.d.ts +0 -0
  1352. /package/dist/components/{custom/typewriter → typewriter}/composables/useTypewriter.d.ts +0 -0
  1353. /package/dist/components/{custom/typewriter → typewriter}/index.d.ts +0 -0
  1354. /package/dist/components/{custom/typewriter → typewriter}/types.d.ts +0 -0
  1355. /package/dist/components/{custom/typewriter → typewriter}/utils/keyboard.d.ts +0 -0
  1356. /package/dist/components/{custom/typewriter → typewriter}/utils/pausePatterns.d.ts +0 -0
  1357. /package/dist/components/{custom/typewriter → typewriter}/utils/timing.d.ts +0 -0
  1358. /package/dist/components/{custom/typewriter → typewriter}/utils/typoStateMachine.d.ts +0 -0
  1359. /package/dist/components/{custom/watercolor-dot → watercolor-dot}/index.d.ts +0 -0
  1360. /package/dist/{utils → composables/glass/procedural}/prng.d.ts +0 -0
  1361. /package/dist/{constants--C2DkLW8.js → constants-D8lSMkOz.js} +0 -0
  1362. /package/dist/{createContext-CpBNTRMI.js → createContext-BQ1Gy_LB.js} +0 -0
  1363. /package/dist/{flow.glsl-B2P7e0MT.js → flow.glsl-CVqPSj8_.js} +0 -0
  1364. /package/dist/{procedural-color.wgsl-m7Zgv35j.js → procedural-color.wgsl-ByduxnzV.js} +0 -0
  1365. /package/dist/{scrollReader-DI1NWxUw.js → scrollReader-DzYqPQ6V.js} +0 -0
  1366. /package/dist/{supportsCssTimeline-BWenxvHU.js → supportsCssTimeline-Ie4xJFbD.js} +0 -0
  1367. /package/dist/{useGlobalDark-CmjB9E32.js → useGlobalDark-DjKMEQE2.js} +0 -0
  1368. /package/dist/{useInterval-CNdua40W.js → useInterval-ZATRi-1T.js} +0 -0
  1369. /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DDuoBeBo.js} +0 -0
  1370. /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-DVT5kwv6.js} +0 -0
  1371. /package/dist/{useTextHighlight-NmBM5V_4.js → useTextHighlight-C46Le9u_.js} +0 -0
  1372. /package/dist/{useTimer-BHJOKr35.js → useTimer-CkDV8SC2.js} +0 -0
  1373. /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-c0isoKL8.js} +0 -0
  1374. /package/dist/{vReveal-D9k0jADx.js → vReveal-DUmiEkX_.js} +0 -0
  1375. /package/dist/{vSpecular-EX7loENl.js → vSpecular-DlYN0UZy.js} +0 -0
@@ -1,60 +0,0 @@
1
- /**
2
- * Aurora WGSL uniform bridge — the typed-struct SOURCE OF TRUTH for the WebGPU primary.
3
- *
4
- * The WGSL `Uniforms` struct (`aurora.wgsl.ts`) and the JS `ArrayBuffer` write offsets
5
- * are generated from the SAME layout table here, so a std140-vs-WGSL alignment mismatch
6
- * (the parity-ΔE-blowout trap the wave's §Triumvirate names) is structurally impossible:
7
- * the field order + the byte offsets are ONE declaration.
8
- *
9
- * The struct packs every scalar into a vec4 lane + every per-nucleus row / palette stop
10
- * into a vec4 so the array stride is the natural 16 bytes (no std140 16-byte-array-stride
11
- * surprise). The byte layout (all offsets in bytes, std140-compatible — vec4 align 16):
12
- *
13
- * scalars0 : vec4<f32> off 0 (uTime, uSoftmaxBeta, uValueVariance, uWarpAmount)
14
- * scalars1 : vec4<f32> off 16 (uWarpScale, uWarpDrift, uSaturation, uPaperGrain)
15
- * scalars2 : vec4<f32> off 32 (uAlpha, uNucleiDrift, uPaletteDrift, uBreathDepth)
16
- * scalars3 : vec4<f32> off 48 (uBreathPeriod, uCursorStrength, uCursorRadius, _)
17
- * cursor : vec4<f32> off 64 (uCursor.x, uCursor.y, _, _)
18
- * ints0 : vec4<i32> off 80 (uStopCount, uNucleiCount, uWarpMode, uNoiseOctaves)
19
- * ints1 : vec4<i32> off 96 (uMedium, uHuePath, _, _)
20
- * palette : array<vec4<f32>, 8> off 112 (rgb linear-sRGB stop + pad)
21
- * nuc0 : array<vec4<f32>, 6> off 240 (pos.x, pos.y, radius, paletteBias)
22
- * nuc1 : array<vec4<f32>, 6> off 336 (valueBias, driftRadius, driftPhase, elong)
23
- * nuc2 : array<vec4<f32>, 6> off 432 (angle, _, _, _)
24
- * scalars4 : vec4<f32> off 528 (uStrokeAmount, uStrokeScale, uStrokeAnisotropy, uCanvasGrain)
25
- * scalars5 : vec4<f32> off 544 (uWetEdge, uGranulation, uBrokenColor, uKuwaharaQ)
26
- * kuwahara : vec4<f32> off 560 (uKuwaharaRadius, uKuwaharaSectors, _, _)
27
- * total : 576 bytes (16-aligned)
28
- *
29
- * BC.W-VIZ-AURORA (T4) — the painterly-medium scalar lanes (scalars4/scalars5/kuwahara)
30
- * are APPENDED after the arrays, so EVERY pre-existing offset is byte-identical and the
31
- * smooth-default parity capture is byte-equivalent (these lanes pack 0 on a smooth config).
32
- * The WGSL `Uniforms` struct (`aurora.wgsl.ts`) carries the SAME three trailing lanes —
33
- * the typed-struct lockstep: a one-sided add reds the parity-ΔE.
34
- *
35
- * Y-origin: config authoring is CSS-top-origin (0 = top); the bridge flips Y at the
36
- * uniform boundary (`flipY`), exactly as the GLSL `uniformBridge` does.
37
- */
38
- import { type AuroraConfig } from "../constants/presets";
39
- import type { CursorState } from "./cursorModel";
40
- /** The total uniform-buffer byte size (16-aligned). */
41
- export declare const AURORA_WGPU_UNIFORM_BYTES = 576;
42
- /**
43
- * The packed scratch buffer + the dual ArrayBuffer views. A slider drag refills this
44
- * in place (no per-frame allocation) — mirroring the GLSL bridge's pre-allocated
45
- * upload buffers. The Float32 view writes the float lanes; the Int32 view writes the
46
- * two int lanes (a WGSL `i32` shares the buffer at the 16-byte-aligned offsets).
47
- */
48
- export interface AuroraWGPUUniformScratch {
49
- buffer: ArrayBuffer;
50
- f32: Float32Array;
51
- i32: Int32Array;
52
- paletteScratch: Float32Array;
53
- }
54
- export declare function createAuroraWGPUUniformScratch(): AuroraWGPUUniformScratch;
55
- /**
56
- * Pack an {@link AuroraConfig} + the live cursor + the frame time into the uniform
57
- * scratch buffer. The byte layout mirrors the WGSL `Uniforms` struct EXACTLY. Returns
58
- * the same scratch (the caller `queue.writeBuffer`s `scratch.buffer`).
59
- */
60
- export declare function packAuroraWGPUUniforms(scratch: AuroraWGPUUniformScratch, cfg: AuroraConfig, cursor: CursorState, timeSec: number): AuroraWGPUUniformScratch;
@@ -1,86 +0,0 @@
1
- import { type Ref } from "vue";
2
- import { type AuroraRuntimeOptions } from "./runtime";
3
- import { type ConfigSource } from "./configSource";
4
- import type { AuroraConfig } from "../constants/presets";
5
- /**
6
- * Adaptive-substrate options threaded down from `Aurora.vue` (AM.W1). The
7
- * render mode is the RESOLVED concrete substrate (`"auto"` already collapsed
8
- * to `"webgl"`/`"css"` at the component boundary via `resolveRenderMode`).
9
- */
10
- export interface UseAuroraAdaptiveOptions {
11
- /**
12
- * Resolved render substrate. `"css"` short-circuits the WebGL arm schedule
13
- * entirely — no webgl2 context is ever created; the `Aurora.vue`
14
- * placeholder stays the permanent surface. `"webgl"` (default) arms the
15
- * deferred WebGL path as before.
16
- */
17
- renderMode?: "webgl" | "css";
18
- }
19
- /**
20
- * Public return shape of {@link useAurora}.
21
- *
22
- * O.W4 Lane B — Fix 2 (Rγ L2): authored to replace the previous anonymous
23
- * inline-typed literal. Parallels sibling composable return interfaces
24
- * (`ConfiguratorState<T>`, `SidebarState`, `UseSortableReturn`); consumers
25
- * can now annotate variables holding `useAurora` results without reaching
26
- * for `ReturnType<typeof useAurora>`.
27
- *
28
- * NOT a /api discovery-surface candidate (per /api preamble: composable
29
- * option/return types change with implementation). Exposed only via the
30
- * `@mkbabb/glass-ui/aurora` package barrel.
31
- */
32
- export interface UseAuroraReturn {
33
- setCursor: (x: number, y: number, strength?: number) => void;
34
- clearCursor: () => void;
35
- setCursorRadius: (r: number) => void;
36
- /**
37
- * AW.W8.1 — feed a pointer delta into the velocity-reactive flow (a fast flick →
38
- * a transient swirl-burst). PRM-gated at the runtime (the cursor write-path
39
- * early-out). The aurora demo wires this from its stage pointermove listener.
40
- */
41
- injectCursorVelocity: (dx: number, dy: number) => void;
42
- renderAt: (t: number) => void;
43
- pause: () => void;
44
- resume: () => void;
45
- /**
46
- * `true` once the WebGL runtime has armed (shader compiled + linked, first
47
- * frame drawable). `Aurora.vue` watches this to cross-fade the canvas in
48
- * over the static CSS-gradient placeholder. Eager / capture consumers see
49
- * it flip `true` synchronously within `onMounted`; deferred consumers see
50
- * it flip on the post-first-paint idle tick.
51
- */
52
- isArmed: Readonly<Ref<boolean>>;
53
- }
54
- /**
55
- * Vue-side wrapper for the imperative `createAurora` runtime.
56
- *
57
- * Accepts the config as a plain object, a ref, or a getter. Internally we
58
- * watch it deeply with `{ deep: true }` so both:
59
- * (a) parent swaps the reference (e.g. preset switch), and
60
- * (b) parent mutates the reactive object (slider drag),
61
- * trigger a uniform re-upload. Passing a raw object works for single-config
62
- * use; passing a getter or ref works for preset-switch scenarios.
63
- *
64
- * Lazy-arm: by default (`initStrategy: "deferred"`) `createAurora` constructs
65
- * a cheap, un-armed instance and the expensive WebGL init (shader compile +
66
- * GPU link — the dominant synchronous cost) is deferred past first paint via
67
- * `requestIdleCallback`, gated on the canvas's first viewport intersection
68
- * (composing `useIntersectionPause`). `Aurora.vue` paints a CSS-gradient
69
- * placeholder under the canvas so the consumer's first paint is never blocked
70
- * on the shader. Capture / `initStrategy: "eager"` consumers arm synchronously
71
- * inside `createAurora` and skip the defer entirely.
72
- *
73
- * Init-failure contract (O invariant 24 — "fails explicitly by default"). A
74
- * WebGL2/shader-compile/link failure is a library-internal contract violation.
75
- * On the DEFERRED path the failure lands on an idle tick, OUTSIDE any
76
- * mount-time error boundary, so the consumer MUST handle it through exactly one
77
- * of three paths:
78
- * 1. pass an `onInitError(err)` handler in `runtimeOptions` (the explicit
79
- * opt-in — receives the error directly), OR
80
- * 2. install a Vue global `app.config.errorHandler` (the re-surfaced
81
- * microtask rejection reaches it), OR
82
- * 3. knowingly accept the unhandled rejection (the dev console still gets it).
83
- * Armed deferred with NO `onInitError`, `useAurora` dev-warns ONCE so the
84
- * silent-by-omission case is visible. WebGL2-unavailable still throws HARD.
85
- */
86
- export declare function useAurora(canvasRef: Ref<HTMLCanvasElement | null>, configSource: ConfigSource<AuroraConfig>, runtimeOptions?: AuroraRuntimeOptions, adaptiveOptions?: UseAuroraAdaptiveOptions): UseAuroraReturn;
@@ -1,33 +0,0 @@
1
- import { type Ref } from "vue";
2
- import { type ConfigSource } from "./configSource";
3
- import type { AuroraConfig } from "../constants/presets";
4
- export interface CursorInteractionOptions {
5
- /** Fires `setCursor(x,y,strength)` for continuous swirl. */
6
- setCursor: (x: number, y: number, strength?: number) => void;
7
- clearCursor: () => void;
8
- /**
9
- * Nucleus-ring hit fraction: a nucleus is "hit" when distance ≤ radius × this.
10
- * 0.35 matches the overlay's default ring thickness.
11
- */
12
- hitFraction?: number;
13
- /**
14
- * AW.W8.1 — feed the per-move pointer delta into the velocity-reactive flow (a
15
- * fast flick → a transient swirl-burst). The runtime's `injectCursorVelocity`
16
- * EARLY-OUTS on reduced-motion (the cursor write-path PRM check), so a parked
17
- * loop with a live pointermove does NOT move the field under reduce. Optional —
18
- * absent keeps the position-only steady swirl.
19
- */
20
- injectVelocity?: (dx: number, dy: number) => void;
21
- }
22
- /**
23
- * Wires pointer events on the stage element to (a) continuous cursor swirl,
24
- * and (b) CRUD on `getCfg().nuclei` — spawn (alt-click), remove (shift-click /
25
- * right-click), drag, delete key.
26
- *
27
- * Accepts the config as a plain object, ref, or getter; every pointer event
28
- * re-resolves the current config, so CRUD always targets the active preset
29
- * even after a preset switch swaps the underlying config reference.
30
- */
31
- export declare function useCursorInteraction(stageRef: Ref<HTMLElement | null>, configSource: ConfigSource<AuroraConfig>, options: CursorInteractionOptions): {
32
- isDragging: () => number | null;
33
- };
@@ -1,37 +0,0 @@
1
- /**
2
- * Aurora WGSL setup seam — the WebGPU twin of `glSetup` + `frameLoop`.
3
- *
4
- * `createAuroraWGPUSetup` returns a `setupWGPU(device, context, format)` callback the
5
- * `useGpuSubstrate` picker invokes on the async arm (AND on every device-restore). It
6
- * builds the render pipeline (the `aurora.wgsl` full-screen-triangle pass), the uniform
7
- * buffer (the `uniformBridgeWGPU` typed-struct source-of-truth), and the bind group, then
8
- * returns the substrate's per-frame hooks (`frame`/`shouldContinue`/`resize`/`time`/
9
- * `teardown`).
10
- *
11
- * The render-demand gate + the cursor-advance + the DPR resize mirror the WebGL2
12
- * `frameLoop`/`runtime.resize` exactly — the loop is substrate-AGNOSTIC, so the same
13
- * `getConfig`/`getReducedMotion`/`cursor` closures drive both backends.
14
- */
15
- import type { WebGPUCanvasFrame } from "../../../../composables/glass/webgpu/useWebGPUCanvas";
16
- import { type CursorState } from "./cursorModel";
17
- import type { AuroraConfig } from "../constants/presets";
18
- import type { UsePointerVelocityField } from "../../../../composables/motion/usePointerVelocityField";
19
- export interface AuroraWGPUSetupDeps {
20
- canvas: HTMLCanvasElement;
21
- cursor: CursorState;
22
- getConfig: () => AuroraConfig;
23
- getReducedMotion: () => boolean;
24
- /**
25
- * BC.W-VIZ-AURORA (T5) — the shared viz-pointer-physics field (BB.B4). FED
26
- * `tick(deltaMs)` from the WGPU frame callback (the SAME field instance the WebGL2
27
- * loop feeds — one source, no own rAF); the renderer reads `acceleration` for the
28
- * iOS-27 gel snap-back.
29
- */
30
- pointerField: UsePointerVelocityField;
31
- }
32
- /**
33
- * Build the aurora `setupWGPU(device, context, format)` callback. Closes over the
34
- * aurora-specific state (cursor/config/reduced-motion) the runtime owns — identical to
35
- * the closures the WebGL2 `setup` threads.
36
- */
37
- export declare function createAuroraWGPUSetup(deps: AuroraWGPUSetupDeps): (device: GPUDevice, context: GPUCanvasContext, format: GPUTextureFormat) => WebGPUCanvasFrame;
@@ -1,229 +0,0 @@
1
- /**
2
- * Aurora v4.1 — library config shape.
3
- *
4
- * Authored presets (Sky, Dawn, Meadow, Deliberative, Day9, Oil Impasto,
5
- * Oil Gestural, Oil Van Gogh, Crayon Sunset, Crayon Rainbow, Crayon Ocean)
6
- * live in the consumer — see demo/stories/aurora/presets.ts.
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
11
- * type-check ergonomics.
12
- */
13
- import type { OklchStop } from "../../../../composables/color";
14
- export type { OklchStop };
15
- import type { HueInterpolationMethod } from "@mkbabb/value.js";
16
- export type AuroraHuePath = HueInterpolationMethod;
17
- export interface AuroraNucleus {
18
- /** 0..1 in CSS-top-origin space (0 = top, 1 = bottom). Runtime flips Y. */
19
- x: number;
20
- y: number;
21
- /** Radius of Gaussian falloff, in normalized canvas units. 0.15..0.8. */
22
- radius: number;
23
- /** 0..1 — which palette stop this nucleus pulls toward. */
24
- paletteBias: number;
25
- /** -0.3..0.3 — lightness pull within the nucleus's zone of influence. */
26
- valueBias: number;
27
- /** 0..0.08 — orbit amplitude for slow drift (the visible-travel gate). */
28
- driftRadius: number;
29
- /** 0..2π — phase seed. */
30
- driftPhase: number;
31
- /**
32
- * Major:minor axis ratio. 1.0 = isotropic (default). Range [1, 3]. The
33
- * nucleus's Gaussian becomes an ellipse stretched along `angle`.
34
- */
35
- elongation?: number;
36
- /**
37
- * Major-axis orientation in degrees, CSS-top-origin (matches y-flip).
38
- * Default 0 (horizontal). Range [-180, 180]. Runtime converts to radians.
39
- */
40
- angle?: number;
41
- }
42
- export type AuroraMedium = "smooth" | "pastel" | "watercolor" | "oil" | "crayon" | "vangogh" | "oil-pastel" | "kuwahara";
43
- /** Oil-stroke sub-mode. Applied only when `medium === "oil"`. Routes inside the shader. */
44
- export type StrokeMode = "oil" | "knife" | "chunky";
45
- export type FlowPattern = "none" | "radial" | "swirl" | "diagonal" | "multi" | "tensor";
46
- /**
47
- * AW.W4.1 — how a stroke's orientation is sourced. `flow` keeps the hand-authored
48
- * `flowField` pattern + per-cell jitter (the named legacy choice); `tensor`
49
- * substitutes the structure-tensor minor-eigenvector (the color field's own
50
- * edge-tangent flow). No default that hides one as a duplicate of the other.
51
- */
52
- export type StrokeOrient = "flow" | "tensor";
53
- export type WarpMode = "fbm" | "cellular" | "hybrid" | "curl";
54
- /**
55
- * AW.W6/W8 — the interactivity flag SHAPE (declared at W6, default OFF; behavior
56
- * wired at W8). Each axis opts the aurora into a pointer/scroll response:
57
- * - `light` — the cursor drives the impasto `uLightDir` (cursor-as-light + idle orbit).
58
- * - `flow` — pointer/scroll VELOCITY injects a transient swirl-burst (velocity-reactive).
59
- * - `scroll` — palette/breath progress couples to scroll (via `useScrollProgress`).
60
- * - `wake` — the WebGPU stateful pointer wake (a ping-pong velocity texture; AW.W8.2).
61
- * Every axis is suppressed under `prefers-reduced-motion` + the DockBackgroundToggle
62
- * pause (the master tempo scalar is the single suppression seam). The wispy-sky
63
- * default carries no `interactivity` (every axis OFF — the default stays static).
64
- */
65
- export interface AuroraInteractivity {
66
- light?: boolean;
67
- flow?: boolean;
68
- scroll?: boolean;
69
- wake?: boolean;
70
- }
71
- export interface AuroraFlow {
72
- pattern: FlowPattern;
73
- /** 0..1 CSS-top-origin. Runtime flips Y. */
74
- focalX: number;
75
- focalY: number;
76
- /** Degrees. Only used for "diagonal". */
77
- angle: number;
78
- /** 0..1 curl intensity (attenuated per-pattern inside the shader). */
79
- curl: number;
80
- }
81
- export interface AuroraConfig {
82
- palette: OklchStop[];
83
- nuclei: AuroraNucleus[];
84
- softmaxBeta: number;
85
- valueVariance: number;
86
- warpAmount: number;
87
- warpScale: number;
88
- warpDrift: number;
89
- warpMode: WarpMode;
90
- noiseOctaves: 3 | 4 | 5;
91
- medium: AuroraMedium;
92
- /**
93
- * W5 — the hue-arc method for the OKLCh palette interpolation. Optional;
94
- * omitted = `"shorter"` (the OKLab-rectangular ramp — the muddy-midtone-free
95
- * default). `"increasing"`/`"decreasing"` request the OKLCh hue-arc for a
96
- * deliberate rainbow sweep across the stops. Aliased on `/api` as `AuroraHuePath`.
97
- */
98
- huePath?: AuroraHuePath;
99
- flow: AuroraFlow;
100
- /**
101
- * AW.W4.1 — how the painterly stroke direction is sourced. Optional; omitted =
102
- * `"flow"` (the hand-authored `flowField` pattern — the pre-W4 path, so an
103
- * unset config renders identically). `"tensor"` substitutes the structure-tensor
104
- * minor eigenvector (the color field's own edge-tangent flow); the `vangogh` /
105
- * `oil-pastel` mediums force it.
106
- */
107
- strokeOrient?: StrokeOrient;
108
- strokeAmount: number;
109
- strokeScale: number;
110
- strokeAnisotropy: number;
111
- strokeLayers: 1 | 2;
112
- strokeMode: StrokeMode;
113
- wetEdge: number;
114
- granulation: number;
115
- impasto: number;
116
- brokenColor: number;
117
- canvasGrain: number;
118
- /**
119
- * BC.W-VIZ-AURORA (T4) — the anisotropic-Kuwahara painterly-finish knobs (the
120
- * `medium:"kuwahara"` register; the WGSL primary's keystone). Optional; omitted =
121
- * the recipe defaults (radius 0.010 procedural-patch units, q 4.0 the SOFT
122
- * variance-weight exponent). Sectors are fixed at 8 (the soft-blend overlap floor —
123
- * not an authoring axis). These ride the appended WGSL `kuwahara`/`scalars5` struct
124
- * lanes; a smooth/non-kuwahara config leaves them at the default (a no-op).
125
- */
126
- kuwaharaRadius?: number;
127
- kuwaharaQ?: number;
128
- /**
129
- * AW.W4.2 — the impasto relight direction (the movable directional source the
130
- * accumulated paint-height field catches). Optional; omitted = upper-left
131
- * (matching the prior fixed-rim default, so the still default reads identically).
132
- * Unit-ish [x, y, z] in screen space (z toward the viewer). AW.W8 drives this
133
- * from the cursor (cursor-as-light); the shader re-normalizes it.
134
- */
135
- lightDir?: [number, number, number];
136
- /**
137
- * AW.W4.2 / AX.W11 — the relight tint (the impasto catch-light). Optional;
138
- * omitted = the canonical warm-white the shared `warmCatchLight` OKLCh helper
139
- * derives (the `(0.985, 0.0125, 77.5°)` anchor — perceptually the prior eyeballed
140
- * warm-white, now on the OKLCh core). Author it either as a raw LINEAR-light
141
- * `[r,g,b]` triple OR as an `{L,C,h}` OKLCh anchor (the bridge derives the linear
142
- * triple via `warmCatchLight`). The diffuse + Blinn-specular terms modulate by it.
143
- */
144
- lightColor?: [number, number, number] | OklchStop;
145
- nucleiDrift: number;
146
- paletteDrift: number;
147
- breathDepth: number;
148
- breathPeriod: number;
149
- saturation: number;
150
- paperGrain: number;
151
- alpha: number;
152
- /**
153
- * AW.W6/W8 — the pointer/scroll interactivity opt-in (default OFF — the wispy-sky
154
- * default stays static). W6 declares the SHAPE; W8 wires the cursor-as-light /
155
- * velocity-reactive flow / scroll-coupling / WebGPU-wake behavior. Omitted = every
156
- * axis off. Aliased on `/api` as part of the `AuroraConfig` surface.
157
- */
158
- interactivity?: AuroraInteractivity;
159
- }
160
- /**
161
- * Pointer-cursor API exposed by `createAurora`. Values in 0..1 (CSS-top-origin).
162
- * Runtime flips Y and eases internally.
163
- */
164
- export interface AuroraCursorApi {
165
- setCursor(x: number, y: number, strength?: number): void;
166
- clearCursor(): void;
167
- setCursorRadius(r: number): void;
168
- }
169
- export interface AuroraInstance extends AuroraCursorApi {
170
- /**
171
- * Run the expensive WebGL init — context creation, shader compile + GPU
172
- * link, first uniform upload, rAF arm. Idempotent. On the `"eager"` /
173
- * capture `initStrategy` `createAurora` already calls this before
174
- * returning; on `"deferred"` the consumer (e.g. `useAurora`) invokes it
175
- * past first paint. Throws on WebGL2/compile/link failure (O invariant
176
- * 24). A no-op once armed or once `dispose()` has run.
177
- */
178
- arm(): void;
179
- /**
180
- * BC.W-VIZ-AURORA (T2) — the device-resolved arm PROMISE. On the WebGPU
181
- * backend `renderAt`/`arm` are no-ops until this resolves the async
182
- * adapter→device→configure→setup prelude. A CAPTURE consumer (thumbnail bake)
183
- * MUST `await armAsync()` before the first `renderAt` or the frame is BLANK
184
- * (the dead-preview defect). The WebGL2 fallback resolves immediately.
185
- */
186
- armAsync(): Promise<void>;
187
- update(cfg: AuroraConfig): void;
188
- /** Render a single deterministic frame at time `t` (seconds). Used for thumbnail bakes. */
189
- renderAt(timeSec: number): void;
190
- pause(): void;
191
- resume(): void;
192
- setReducedMotion(flag: boolean): void;
193
- dispose(): void;
194
- }
195
- export declare const MAX_NUCLEI = 6;
196
- export declare const MAX_STOPS = 8;
197
- /**
198
- * A neutral starting point for consumers that build their own config from scratch.
199
- * Not a themed preset — the demo's 11 authored presets override every field.
200
- */
201
- export declare const DEFAULT_AURORA_CONFIG: AuroraConfig;
202
- /**
203
- * `PAPER_WASH_GROUND` — the library-canon recessive-ground crayon calibration
204
- * (BA.W-ATLAS-RECONCILE A-4a; d6 9467bd16 adopt). A pure PRESET PARTIAL (no
205
- * palette/nuclei/motion) pinning the recessive crayon-ground deposition dials so a
206
- * data-ground aurora reads as paper-on-tooth without each consumer dial-tuning the
207
- * same recessive calibration by hand. It carries NO palette/nuclei — the consumer
208
- * spreads it over its own pole-derived pigment (page-glow IS data-glow):
209
- * `const cfg = { ...consumerBase, ...PAPER_WASH_GROUND }`.
210
- *
211
- * House-rule clean (presets-in-consumers): this is the LIBRARY's own recessive-ground
212
- * IDENTITY, not a consumer theme — admissible at the root. `satisfies
213
- * Partial<AuroraConfig>` holds (every key is a first-class `AuroraConfig` field at
214
- * HEAD; the `crayon` medium is `uMedium==4`).
215
- */
216
- export declare const PAPER_WASH_GROUND: {
217
- readonly medium: "crayon";
218
- readonly strokeOrient: "tensor";
219
- readonly granulation: 0.3;
220
- readonly canvasGrain: 0.5;
221
- readonly strokeAmount: 0.35;
222
- readonly strokeAnisotropy: 0.5;
223
- readonly strokeLayers: 1;
224
- readonly impasto: 0;
225
- readonly brokenColor: 0;
226
- readonly wetEdge: 0;
227
- readonly saturation: 0.92;
228
- readonly paperGrain: 0.008;
229
- };
@@ -1 +0,0 @@
1
- export declare const AURORA_MEDIUMS_WGSL = "\n// \u2500\u2500 Painterly luma + medium scalar accessors \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst W_LUMA: vec3<f32> = vec3<f32>(0.2126, 0.7152, 0.0722);\n\nfn mStrokeAmount() -> f32 { return u.scalars4.x; }\nfn mStrokeScale() -> f32 { return u.scalars4.y; }\nfn mStrokeAnisotropy() -> f32 { return u.scalars4.z; }\nfn mCanvasGrain() -> f32 { return u.scalars4.w; }\nfn mWetEdge() -> f32 { return u.scalars5.x; }\nfn mGranulation() -> f32 { return u.scalars5.y; }\nfn mBrokenColor() -> f32 { return u.scalars5.z; }\nfn mKuwaharaQ() -> f32 { return u.scalars5.w; }\nfn mKuwaharaRadius() -> f32 { return u.kuwahara.x; }\n\n// \u2500\u2500 Base color re-sample (the edge-mask operator the mediums Sobel/sector-sample) \u2500\u2500\n// The WGSL twin of mediums.glsl.ts sampleBase: warp -> nuclei field -> palette -> value.\nfn sampleBase(p: vec2<f32>, t: f32) -> vec3<f32> {\n let pw = domainWarp(p, t);\n let nf = nucleiField(pw, t);\n var c = samplePalette(nf.paletteId);\n c = c * (1.0 + u.scalars0.z * nf.valueMod);\n return c;\n}\n\n// \u2500\u2500 Broken color (hue + chroma jitter at constant OKLCh L) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfn brokenColorJitter(c: vec3<f32>, hueSeed: f32, valueSeed: f32, strength: f32) -> vec3<f32> {\n let amt = clamp(mBrokenColor() * strength, 0.0, 1.0);\n if (amt <= 0.001) { return c; }\n var lch = oklabToOklch(linOklab(c));\n lch.z = lch.z + (hueSeed - 0.5) * (32.0 * PI / 180.0) * amt;\n lch.y = max(lch.y * (1.0 + (valueSeed - 0.5) * 0.28 * amt), 0.0);\n return max(oklabToLinearSrgb(oklchToOklab(lch)), vec3<f32>(0.0));\n}\n\n// \u2500\u2500 Structure-tensor / edge-tangent-flow (AW.W4.1; the WGSL twin) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// Returns vec3(tangent.x, tangent.y, A) \u2014 the minor-eigenvector edge-tangent + coherence.\nfn structureTensorField(p: vec2<f32>, t: f32, fallbackDir: vec2<f32>) -> vec3<f32> {\n let e = 0.0035;\n let l00 = dot(sampleBase(p + vec2<f32>(-e, -e), t), W_LUMA);\n let l10 = dot(sampleBase(p + vec2<f32>(0.0, -e), t), W_LUMA);\n let l20 = dot(sampleBase(p + vec2<f32>( e, -e), t), W_LUMA);\n let l01 = dot(sampleBase(p + vec2<f32>(-e, 0.0), t), W_LUMA);\n let l21 = dot(sampleBase(p + vec2<f32>( e, 0.0), t), W_LUMA);\n let l02 = dot(sampleBase(p + vec2<f32>(-e, e), t), W_LUMA);\n let l12 = dot(sampleBase(p + vec2<f32>(0.0, e), t), W_LUMA);\n let l22 = dot(sampleBase(p + vec2<f32>( e, e), t), W_LUMA);\n let Gx = (l20 + 2.0 * l21 + l22) - (l00 + 2.0 * l01 + l02);\n let Gy = (l02 + 2.0 * l12 + l22) - (l00 + 2.0 * l10 + l20);\n let Jxx = Gx * Gx;\n let Jyy = Gy * Gy;\n let Jxy = Gx * Gy;\n let tr = Jxx + Jyy;\n let disc = sqrt(max((Jxx - Jyy) * (Jxx - Jyy) + 4.0 * Jxy * Jxy, 0.0));\n let lambdaMaj = 0.5 * (tr + disc);\n let lambdaMin = 0.5 * (tr - disc);\n var tangent: vec2<f32>;\n if (disc < 1e-7) {\n tangent = fallbackDir;\n } else {\n let theta = 0.5 * atan2(2.0 * Jxy, Jxx - Jyy);\n tangent = vec2<f32>(-sin(theta), cos(theta));\n }\n var A = (lambdaMaj - lambdaMin) / (lambdaMaj + lambdaMin + 1e-6);\n A = clamp(A, 0.0, 1.0);\n if (dot(tangent, fallbackDir) < 0.0) { tangent = -tangent; }\n let blendW = pow(A, 0.28);\n let dir = normalize(mix(fallbackDir, tangent, blendW) + vec2<f32>(1e-6, 1e-6));\n return vec3<f32>(dir, A);\n}\n\n// \u2500\u2500 Flow field (the WGSL twin \u2014 the simple flow seed the medium fallback dirs use) \u2500\u2500\nfn flowField(p: vec2<f32>, t: f32) -> vec2<f32> {\n // Curl-noise-driven swirl (the medium-default dir; the full radial/swirl/diagonal\n // dispatch rides uniforms the WGSL struct does not carry \u2014 the procedural mediums\n // use this multi/curl seed as the fallback the structure tensor relaxes toward).\n let n = fbm(p * 2.0 + vec2<f32>(t * 0.02, t * 0.02));\n let a = n * 6.2831853;\n var dir = vec2<f32>(cos(a), sin(a));\n // Cursor swirl bias (matches the GLSL flow cursor term \u2014 the steady attraction).\n let cursorStrength = u.scalars3.y;\n let cursorRadius = u.scalars3.z;\n let cursor = u.cursor.xy;\n if (cursorStrength > 0.001) {\n let toCur = cursor - p;\n let d = length(toCur);\n let r = max(cursorRadius, 0.01);\n let w = exp(-(d * d) / (r * r * 0.5));\n let tangent = vec2<f32>(-toCur.y, toCur.x) / max(d, 1e-4);\n let a0 = atan2(dir.y, dir.x);\n let a1 = atan2(tangent.y, tangent.x);\n var da = a1 - a0;\n da = atan2(sin(da), cos(da));\n let aa = a0 + da * w * cursorStrength;\n dir = vec2<f32>(cos(aa), sin(aa));\n }\n return dir;\n}\n\n// \u2500\u2500 Watercolor \u2014 wet-edge cauliflowers + granulation + wash banding \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfn mediumWatercolor(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n var col = col0;\n let eps = 0.004;\n let cx1 = sampleBase(p + vec2<f32>(eps, 0.0), t);\n let cx2 = sampleBase(p - vec2<f32>(eps, 0.0), t);\n let cy1 = sampleBase(p + vec2<f32>(0.0, eps), t);\n let cy2 = sampleBase(p - vec2<f32>(0.0, eps), t);\n let gx = dot(cx1 - cx2, W_LUMA);\n let gy = dot(cy1 - cy2, W_LUMA);\n let edge = sqrt(gx * gx + gy * gy) / (2.0 * eps);\n let mask = smoothstep(0.0, 2.5, edge);\n col = col * mix(1.0, 0.78, mask * mWetEdge());\n\n let paper = 0.5 * vnoise(p * 160.0) + 0.5 * vnoise(p * 360.0);\n let pigLoad = 1.0 - dot(col, W_LUMA);\n col = col * (1.0 - mGranulation() * pigLoad * (paper - 0.5));\n\n let band = fbm(vec2<f32>(p.x * 1.5, p.y * 0.4));\n col = col * (1.0 + 0.04 * (band - 0.5));\n return col;\n}\n\n// \u2500\u2500 Pastel \u2014 anisotropic stroke noise along the flow + tooth grain \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfn mediumPastel(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n var col = col0;\n let flow = flowField(p, t);\n let perp = vec2<f32>(-flow.y, flow.x);\n let strokeScale = mStrokeScale();\n let along = dot(p, flow) * strokeScale;\n var across = dot(p, perp) * strokeScale;\n across = across + 0.03 * (vnoise(p * 260.0) - 0.5);\n\n let aniso = mix(1.0, 0.18, mStrokeAnisotropy());\n let stroke = fbm(vec2<f32>(along * aniso, across));\n col = col * mix(1.0, 0.82 + 0.32 * stroke, mStrokeAmount());\n\n let tooth = vnoise(p * 800.0);\n col = col * (1.0 - 0.08 * mStrokeAmount() * (tooth - 0.5));\n return col;\n}\n\n// \u2500\u2500 Crayon \u2014 DRY wax pigment on paper tooth (the tooth-multiply + scumble) \u2500\u2500\nfn mediumCrayon(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n let flow = structureTensorField(p, t, flowField(p, t)).xy;\n let ang = atan2(flow.y, flow.x);\n let ca = cos(-ang);\n let sa = sin(-ang);\n let pr = vec2<f32>(p.x * ca - p.y * sa, p.x * sa + p.y * ca);\n\n let aniso = mix(0.45, 0.95, mStrokeAnisotropy());\n let scale = max(mStrokeScale() * 1.6, 180.0);\n\n let t1 = vnoise(vec2<f32>(pr.x * scale * aniso, pr.y * scale));\n let t2 = vnoise(vec2<f32>(pr.x * scale * aniso * 0.4, pr.y * scale * 0.4) + vec2<f32>(11.0, 11.0));\n let t3 = vnoise(vec2<f32>(pr.x * scale * aniso * 2.1, pr.y * scale * 2.1) + vec2<f32>(23.0, 23.0));\n let tooth = 0.55 * t1 + 0.30 * t2 + 0.15 * t3;\n\n let pressure = clamp(mStrokeAmount(), 0.0, 1.0);\n let bite = mix(0.18, 0.46, pressure);\n var result = col0 * (1.0 - bite * (0.5 - tooth));\n\n let scumbleMask = smoothstep(0.42, 0.78, vnoise(vec2<f32>(pr.x * scale * 0.55, pr.y * scale * 0.22) + vec2<f32>(7.0, 7.0)));\n let scumbleCoverage = scumbleMask * pressure * 0.7;\n let paper = col0 * mix(0.80, 0.94, pressure);\n result = mix(paper, result, scumbleCoverage);\n\n let pigmentCell = floor(pr * max(scale * 0.18, 32.0));\n let pigmentMask = smoothstep(0.28, 0.82, vnoise(pr * scale * 0.21 + vec2<f32>(19.0, 19.0)));\n result = brokenColorJitter(\n result,\n hash21(pigmentCell + vec2<f32>(17.0, 17.0)),\n hash21(pigmentCell * 2.1 + vec2<f32>(31.0, 31.0)),\n 0.45 + 0.55 * pigmentMask\n );\n\n result = saturate3(result, 1.08);\n return result;\n}\n\n// \u2500\u2500 Kuwahara \u2014 the SOFT anisotropic generalized Kuwahara painterly finish \u2500\u2500\u2500\u2500\n// THE KEYSTONE (Kyprianidis 2010). Aurora is a PROCEDURAL field (no input texture) so the\n// operator runs over sampleBase directly: an elliptical kernel oriented along the structure\n// tensor (elongated along the edge-tangent, narrowed across by the anisotropy), 8 OVERLAPPING\n// sectors via SMOOTH gaussian-angular weights, blended by 1/(1+var^q) (the SOFT criterion \u2192\n// no 8-spoke pinwheel by construction). 4 rings \u00D7 8 angular taps = 32 procedural samples.\nfn mediumKuwahara(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n let stf = structureTensorField(p, t, flowField(p, t));\n let tangent = stf.xy;\n let A = stf.z;\n // The studio knob drives the patch radius; clamp into the procedural patch band.\n let radius = clamp(mKuwaharaRadius() + mStrokeScale() * 0.00018, 0.006, 0.024);\n let aniso = mix(1.0, 0.34, clamp(A, 0.0, 1.0));\n let ax = tangent;\n let ay = vec2<f32>(-tangent.y, tangent.x);\n\n // Per-sector weighted sums (8 sectors). WGSL has no runtime-indexed local arrays of\n // vectors as cleanly as GLSL, so unroll the sector accumulators explicitly.\n var mSum: array<vec3<f32>, 8>;\n var sSum: array<vec3<f32>, 8>;\n var wSum: array<f32, 8>;\n for (var i = 0; i < 8; i = i + 1) {\n mSum[i] = vec3<f32>(0.0);\n sSum[i] = vec3<f32>(0.0);\n wSum[i] = 0.0;\n }\n\n let RINGS = 4;\n let TAPS = 8;\n for (var r = 1; r <= RINGS; r = r + 1) {\n let rr = f32(r) / f32(RINGS);\n let radial = 1.0 - 0.6 * rr;\n for (var a = 0; a < TAPS; a = a + 1) {\n let ang = 6.2831853 * f32(a) / f32(TAPS);\n let dirE = ax * cos(ang) + ay * (sin(ang) * aniso);\n let off = dirE * (radius * rr);\n let c = sampleBase(p + off, t);\n for (var k = 0; k < 8; k = k + 1) {\n let sectorAng = 6.2831853 * f32(k) / 8.0;\n var d = ang - sectorAng;\n d = atan2(sin(d), cos(d));\n let sw = exp(-d * d * 2.2) * radial;\n mSum[k] = mSum[k] + c * sw;\n sSum[k] = sSum[k] + c * c * sw;\n wSum[k] = wSum[k] + sw;\n }\n }\n }\n\n let q = max(mKuwaharaQ(), 1.0);\n var accum = vec3<f32>(0.0);\n var accumW = 0.0;\n for (var k = 0; k < 8; k = k + 1) {\n let wk = max(wSum[k], 1e-4);\n let mean = mSum[k] / wk;\n let var3 = max(sSum[k] / wk - mean * mean, vec3<f32>(0.0));\n let variance = dot(var3, W_LUMA);\n let sectorW = 1.0 / (1.0 + pow(variance * 320.0, q));\n accum = accum + mean * sectorW;\n accumW = accumW + sectorW;\n }\n var result = accum / max(accumW, 1e-4);\n\n // Anchor in near-flat zones so the smoothing only bites at edges.\n let center = sampleBase(p, t);\n result = mix(center, result, clamp(0.35 + 0.65 * A, 0.0, 1.0));\n\n // Faint canvas tooth + pigment-saturation so the flattened patches read as oil paint.\n let tooth = vnoise(p * 300.0) - 0.5;\n result = result * (1.0 + tooth * 0.06 * mCanvasGrain());\n result = saturate3(result, 1.04);\n\n return mix(col0, result, clamp(mStrokeAmount(), 0.0, 1.0));\n}\n\n// \u2500\u2500 Medium dispatch (the WGSL twin of the GLSL main() if-ladder) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// uMedium: 0 smooth \u00B7 1 pastel \u00B7 2 watercolor \u00B7 3 oil \u00B7 4 crayon \u00B7 5 vangogh \u00B7\n// 6 oil-pastel \u00B7 7 kuwahara. The cheap peer mediums (pastel/watercolor/crayon) +\n// kuwahara port their own bodies; the oil/vangogh/oil-pastel STROKE cascade renders\n// the anisotropic-Kuwahara PAINTERLY finish here (a real oil-paint read, never the\n// smooth core \u2014 the \"NO FALLBACKS on Safari\" mandate; the full per-dab Starry-Night\n// stroke WGSL is the booked W-AURORA-WGPU-MEDIUMS-STROKES tail).\nfn applyMedium(col: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n let medium = u.ints1.x;\n if (medium == 1) { return mediumPastel(col, p, t); }\n if (medium == 2) { return mediumWatercolor(col, p, t); }\n if (medium == 4) { return mediumCrayon(col, p, t); }\n // oil(3) / vangogh(5) / oil-pastel(6) / kuwahara(7) all render the painterly\n // anisotropic-Kuwahara finish on the WGSL primary (the WebGL2 fallback carries the\n // full per-dab stroke cascade for oil/vangogh/oil-pastel).\n if (medium == 3 || medium == 5 || medium == 6 || medium == 7) {\n return mediumKuwahara(col, p, t);\n }\n return col;\n}\n";
@@ -1 +0,0 @@
1
- export declare const AURORA_WGSL = "\nconst MAX_NUCLEI: i32 = 6;\nconst MAX_STOPS: i32 = 8;\nconst PI: f32 = 3.141592653589793;\n\n// \u2500\u2500 Uniforms (the typed-struct source-of-truth \u2014 see aurora.wgsl.uniforms.ts) \u2500\u2500\n// Scalars are packed into vec4 lanes to keep the std140/WGSL 16-byte struct alignment\n// trivial. nuc0[i] = (pos.x, pos.y, radius, paletteBias); nuc1[i] = (valueBias,\n// driftRadius, driftPhase, elong); nuc2[i] = (angle, _, _, _). palette[i].rgb is the\n// CPU-baked linear-sRGB stop.\nstruct Uniforms {\n // scalars0: (uTime, uSoftmaxBeta, uValueVariance, uWarpAmount)\n scalars0: vec4<f32>,\n // scalars1: (uWarpScale, uWarpDrift, uSaturation, uPaperGrain)\n scalars1: vec4<f32>,\n // scalars2: (uAlpha, uNucleiDrift, uPaletteDrift, uBreathDepth)\n scalars2: vec4<f32>,\n // scalars3: (uBreathPeriod, uCursorStrength, uCursorRadius, _pad)\n scalars3: vec4<f32>,\n // cursor: (uCursor.x, uCursor.y, _pad, _pad)\n cursor: vec4<f32>,\n // ints: (uStopCount, uNucleiCount, uWarpMode, uNoiseOctaves)\n ints0: vec4<i32>,\n // ints1: (uMedium, uHuePath, _, _)\n ints1: vec4<i32>,\n palette: array<vec4<f32>, 8>,\n nuc0: array<vec4<f32>, 6>,\n nuc1: array<vec4<f32>, 6>,\n nuc2: array<vec4<f32>, 6>,\n // BC.W-VIZ-AURORA (T4) \u2014 the painterly-medium scalar lanes. APPENDED after the\n // arrays so EVERY existing offset (and the smooth-default parity capture) is\n // byte-identical (these lanes are written 0 on a smooth config). scalars4:\n // (uStrokeAmount, uStrokeScale, uStrokeAnisotropy, uCanvasGrain). scalars5:\n // (uWetEdge, uGranulation, uBrokenColor, uKuwaharaQ). kuwahara: (uKuwaharaRadius,\n // uKuwaharaSectors, _, _) \u2014 the Kuwahara radius/sectors/q in lockstep with\n // packAuroraWGPUUniforms (the typed-struct discipline).\n scalars4: vec4<f32>,\n scalars5: vec4<f32>,\n kuwahara: vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n// \u2500\u2500 Authoring-scale \u2192 rad/sec lifts (byte-identical to aurora.frag.ts) \u2500\u2500\nconst K_NUCLEI: f32 = 14.0;\nconst K_PAL: f32 = 24.0;\nconst K_WARP: f32 = 5.0;\n\n// \u2500\u2500 Noise (aurora-local hash21/vnoise/fbm \u2014 legitimately divergent per AV.W2 \u00A73a) \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}\n\nfn hash22(p0: vec2<f32>) -> vec2<f32> {\n let p = vec2<f32>(dot(p0, vec2<f32>(127.1, 311.7)),\n dot(p0, vec2<f32>(269.5, 183.3)));\n return fract(sin(p) * 43758.5453);\n}\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}\n\nconst FBM_ROT: mat2x2<f32> = mat2x2<f32>(0.8, 0.6, -0.6, 0.8);\n\nfn fbm(p0: vec2<f32>) -> f32 {\n var v = 0.0;\n var a = 0.5;\n var p = p0;\n let octaves = u.ints0.w;\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}\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\n// value.js interpolateHue in the NORMALIZED-TURNS domain. methods: 0 shorter,\n// 1 longer, 2 increasing, 3 decreasing.\nfn interpolateHueTurns(h0: f32, h1: f32, t: f32, method: i32) -> f32 {\n let TAU = 2.0 * PI;\n var a = h0 / TAU;\n var b = h1 / TAU;\n let i = b - a;\n if (method == 0) { // shorter\n if (i > 0.5) { a = a + 1.0; } else if (i < -0.5) { b = b + 1.0; }\n } else if (method == 1) { // longer\n if (i > 0.0 && i < 0.5) { a = a + 1.0; } else if (i > -0.5 && i <= 0.0) { b = b + 1.0; }\n } else if (method == 2) { // increasing\n if (i < 0.0) { b = b + 1.0; }\n } else { // decreasing\n if (i > 0.0) { a = a + 1.0; }\n }\n var r = a + t * (b - a);\n r = fract(r); // fract is non-negative in WGSL\n return r * TAU; // back to radians\n}\n\n// Linear-sRGB endpoint pair \u2192 OKLab-rectangular interpolation \u2192 linear sRGB.\nfn mixPaletteOklab(linA: vec3<f32>, linB: vec3<f32>, t: f32) -> vec3<f32> {\n let labA = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * linA);\n let labB = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * linB);\n let lab = mix(labA, labB, t);\n return oklabToLinearSrgb(lab);\n}\n\n// Linear-sRGB endpoint pair \u2192 OKLCh hue-arc interpolation \u2192 linear sRGB.\nfn mixPaletteOklchArc(linA: vec3<f32>, linB: vec3<f32>, t: f32, method: i32) -> vec3<f32> {\n let labA = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * linA);\n let labB = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * linB);\n let lchA = oklabToOklch(labA);\n let lchB = oklabToOklch(labB);\n let L = mix(lchA.x, lchB.x, t);\n let C = mix(lchA.y, lchB.y, t);\n let H = interpolateHueTurns(lchA.z, lchB.z, t, method);\n return oklabToLinearSrgb(oklchToOklab(vec3<f32>(L, C, H)));\n}\n\n// The ramp dispatcher (the samplePalette splices it). tRaw is the raw inter-stop\n// parameter [0,1]; the smoothstep ease + the huePath branch live here so the ramp is\n// one source. increasing(2)/decreasing(3) take the OKLCh hue-arc; every other method\n// takes the OKLab-rectangular straight line.\nfn samplePaletteRamp(a: vec3<f32>, b: vec3<f32>, tRaw: f32, huePath: i32) -> vec3<f32> {\n let t = smoothstep(0.0, 1.0, tRaw);\n if (huePath == 2 || huePath == 3) {\n return mixPaletteOklchArc(a, b, t, huePath);\n }\n return mixPaletteOklab(a, b, t);\n}\n\n// Interleaved Gradient Noise (Jimenez) \u2014 display-space 1-LSB dither.\nfn ign(p: vec2<f32>) -> f32 {\n return fract(52.9829189 * fract(dot(p, vec2<f32>(0.06711056, 0.00583715))));\n}\n\n// Cellular / Worley f1.\nfn cellular(p: vec2<f32>) -> f32 {\n let i = floor(p);\n let f = fract(p);\n var m = 1e9;\n for (var y = -1; y <= 1; y = y + 1) {\n for (var x = -1; x <= 1; x = x + 1) {\n let g = vec2<f32>(f32(x), f32(y));\n let o = hash22(i + g);\n let r = g + o - f;\n m = min(m, dot(r, r));\n }\n }\n return sqrt(m);\n}\n\n// \u2500\u2500 Warp (Quilez double warp + the three warp modes + the cursor swirl) \u2500\u2500\nfn domainWarp(p: vec2<f32>, t: f32) -> vec2<f32> {\n let warpScale = u.scalars1.x;\n let warpDrift = u.scalars1.y;\n let warpAmount = u.scalars0.w;\n let warpMode = u.ints0.z;\n let cursorStrength = u.scalars3.y;\n let cursorRadius = u.scalars3.z;\n let cursor = u.cursor.xy;\n\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\n var warp = r;\n if (warpMode == 1) {\n // cellular \u2014 chunky territories\n let c1 = cellular(p * warpScale * 1.5 + vec2<f32>(t * warpDrift * K_WARP * 2.0, 0.0));\n let c2 = cellular(p * warpScale * 1.5 + vec2<f32>(11.0, 7.0 + t * warpDrift * K_WARP * 2.0));\n warp = vec2<f32>(c1, c2);\n } else if (warpMode == 2) {\n // hybrid \u2014 fbm + cellular averaged\n let c1 = cellular(p * warpScale * 1.2);\n let c2 = cellular(p * warpScale * 1.2 + vec2<f32>(11.0, 7.0));\n warp = mix(r, vec2<f32>(c1, c2), 0.5);\n }\n var warped = p + warpAmount * warp;\n\n // Cursor swirl \u2014 rotate p around the cursor with radial falloff.\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 var rotated = vec2<f32>(ca * toP.x - sa * toP.y, sa * toP.x + ca * toP.y) + cursor;\n let pinch = w * cursorStrength * 0.08;\n rotated = mix(rotated, cursor, pinch);\n warped = mix(warped, rotated + warpAmount * warp * 0.7, w * cursorStrength);\n }\n return warped;\n}\n\n// \u2500\u2500 Palette LUT \u2500\u2500\nfn samplePalette(id0: f32) -> vec3<f32> {\n let id = clamp(id0, 0.0, 1.0);\n let stopCount = u.ints0.x;\n let scaled = id * f32(stopCount - 1);\n let i0 = i32(floor(scaled));\n let i1 = min(i0 + 1, stopCount - 1);\n let t = fract(scaled);\n return samplePaletteRamp(u.palette[i0].rgb, u.palette[i1].rgb, t, u.ints1.y);\n}\n\n// \u2500\u2500 Nuclei field (anisotropic Gaussian softmax + drift + palette drift) \u2500\u2500\nstruct NucleiResult { paletteId: f32, valueMod: f32 };\n\nfn nucleiField(p: vec2<f32>, t: f32) -> NucleiResult {\n let nucleiCount = u.ints0.y;\n let nucleiDrift = u.scalars2.y;\n let paletteDrift = u.scalars2.z;\n let softmaxBeta = u.scalars0.y;\n\n var accumBias = 0.0;\n var accumValue = 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, paletteBias\n let n1 = u.nuc1[i]; // valueBias, driftRadius, driftPhase, elong\n let angle = u.nuc2[i].x;\n let driftRadius = n1.y;\n let driftPhase = n1.z;\n let posI = n0.xy + driftRadius * vec2<f32>(\n cos(t * nucleiDrift * K_NUCLEI + driftPhase),\n sin(t * nucleiDrift * K_NUCLEI + driftPhase * 1.13)\n );\n let diff = p - posI;\n let ca = cos(angle);\n let sa = sin(angle);\n let local = vec2<f32>(ca * diff.x + sa * diff.y, -sa * diff.x + ca * diff.y);\n let along = local.x / max(n1.w, 0.01);\n let across = local.y;\n let d2 = along * along + across * across;\n let r = max(n0.z, 0.01);\n let w = exp(-softmaxBeta * d2 / (r * r));\n accumBias = accumBias + w * n0.w;\n accumValue = accumValue + w * n1.x;\n accumW = accumW + w;\n }\n var paletteId = accumBias / max(accumW, 1e-4);\n let valueMod = accumValue / max(accumW, 1e-4);\n\n let palAmp = clamp(paletteDrift * 6.0, 0.0, 0.06);\n paletteId = paletteId + palAmp * sin(t * paletteDrift * K_PAL);\n paletteId = clamp(paletteId, 0.0, 1.0);\n return NucleiResult(paletteId, valueMod);\n}\n\n// \u2500\u2500 Color utils (OKLCh saturation) \u2500\u2500\nfn linOklab(lin: vec3<f32>) -> vec3<f32> {\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\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\n// \u2500\u2500 PBR-Neutral tonemap (named aces() in the GLSL \u2014 the tonemap slot) \u2500\u2500\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\n// \u2500\u2500 BC.W-VIZ-AURORA (T4) \u2014 the painterly-medium bodies (the keystone WGSL port) \u2500\u2500\n// Spliced HERE, after every helper the mediums consume is defined (domainWarp,\n// nucleiField, samplePalette, linOklab, saturate3, oklabToOklch/oklchToOklab,\n// hash21/vnoise/fbm) and before the vertex/fragment stages. applyMedium(col,p,t)\n// is the dispatch the fragment stage calls.\n\n// \u2500\u2500 Painterly luma + medium scalar accessors \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst W_LUMA: vec3<f32> = vec3<f32>(0.2126, 0.7152, 0.0722);\n\nfn mStrokeAmount() -> f32 { return u.scalars4.x; }\nfn mStrokeScale() -> f32 { return u.scalars4.y; }\nfn mStrokeAnisotropy() -> f32 { return u.scalars4.z; }\nfn mCanvasGrain() -> f32 { return u.scalars4.w; }\nfn mWetEdge() -> f32 { return u.scalars5.x; }\nfn mGranulation() -> f32 { return u.scalars5.y; }\nfn mBrokenColor() -> f32 { return u.scalars5.z; }\nfn mKuwaharaQ() -> f32 { return u.scalars5.w; }\nfn mKuwaharaRadius() -> f32 { return u.kuwahara.x; }\n\n// \u2500\u2500 Base color re-sample (the edge-mask operator the mediums Sobel/sector-sample) \u2500\u2500\n// The WGSL twin of mediums.glsl.ts sampleBase: warp -> nuclei field -> palette -> value.\nfn sampleBase(p: vec2<f32>, t: f32) -> vec3<f32> {\n let pw = domainWarp(p, t);\n let nf = nucleiField(pw, t);\n var c = samplePalette(nf.paletteId);\n c = c * (1.0 + u.scalars0.z * nf.valueMod);\n return c;\n}\n\n// \u2500\u2500 Broken color (hue + chroma jitter at constant OKLCh L) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfn brokenColorJitter(c: vec3<f32>, hueSeed: f32, valueSeed: f32, strength: f32) -> vec3<f32> {\n let amt = clamp(mBrokenColor() * strength, 0.0, 1.0);\n if (amt <= 0.001) { return c; }\n var lch = oklabToOklch(linOklab(c));\n lch.z = lch.z + (hueSeed - 0.5) * (32.0 * PI / 180.0) * amt;\n lch.y = max(lch.y * (1.0 + (valueSeed - 0.5) * 0.28 * amt), 0.0);\n return max(oklabToLinearSrgb(oklchToOklab(lch)), vec3<f32>(0.0));\n}\n\n// \u2500\u2500 Structure-tensor / edge-tangent-flow (AW.W4.1; the WGSL twin) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// Returns vec3(tangent.x, tangent.y, A) \u2014 the minor-eigenvector edge-tangent + coherence.\nfn structureTensorField(p: vec2<f32>, t: f32, fallbackDir: vec2<f32>) -> vec3<f32> {\n let e = 0.0035;\n let l00 = dot(sampleBase(p + vec2<f32>(-e, -e), t), W_LUMA);\n let l10 = dot(sampleBase(p + vec2<f32>(0.0, -e), t), W_LUMA);\n let l20 = dot(sampleBase(p + vec2<f32>( e, -e), t), W_LUMA);\n let l01 = dot(sampleBase(p + vec2<f32>(-e, 0.0), t), W_LUMA);\n let l21 = dot(sampleBase(p + vec2<f32>( e, 0.0), t), W_LUMA);\n let l02 = dot(sampleBase(p + vec2<f32>(-e, e), t), W_LUMA);\n let l12 = dot(sampleBase(p + vec2<f32>(0.0, e), t), W_LUMA);\n let l22 = dot(sampleBase(p + vec2<f32>( e, e), t), W_LUMA);\n let Gx = (l20 + 2.0 * l21 + l22) - (l00 + 2.0 * l01 + l02);\n let Gy = (l02 + 2.0 * l12 + l22) - (l00 + 2.0 * l10 + l20);\n let Jxx = Gx * Gx;\n let Jyy = Gy * Gy;\n let Jxy = Gx * Gy;\n let tr = Jxx + Jyy;\n let disc = sqrt(max((Jxx - Jyy) * (Jxx - Jyy) + 4.0 * Jxy * Jxy, 0.0));\n let lambdaMaj = 0.5 * (tr + disc);\n let lambdaMin = 0.5 * (tr - disc);\n var tangent: vec2<f32>;\n if (disc < 1e-7) {\n tangent = fallbackDir;\n } else {\n let theta = 0.5 * atan2(2.0 * Jxy, Jxx - Jyy);\n tangent = vec2<f32>(-sin(theta), cos(theta));\n }\n var A = (lambdaMaj - lambdaMin) / (lambdaMaj + lambdaMin + 1e-6);\n A = clamp(A, 0.0, 1.0);\n if (dot(tangent, fallbackDir) < 0.0) { tangent = -tangent; }\n let blendW = pow(A, 0.28);\n let dir = normalize(mix(fallbackDir, tangent, blendW) + vec2<f32>(1e-6, 1e-6));\n return vec3<f32>(dir, A);\n}\n\n// \u2500\u2500 Flow field (the WGSL twin \u2014 the simple flow seed the medium fallback dirs use) \u2500\u2500\nfn flowField(p: vec2<f32>, t: f32) -> vec2<f32> {\n // Curl-noise-driven swirl (the medium-default dir; the full radial/swirl/diagonal\n // dispatch rides uniforms the WGSL struct does not carry \u2014 the procedural mediums\n // use this multi/curl seed as the fallback the structure tensor relaxes toward).\n let n = fbm(p * 2.0 + vec2<f32>(t * 0.02, t * 0.02));\n let a = n * 6.2831853;\n var dir = vec2<f32>(cos(a), sin(a));\n // Cursor swirl bias (matches the GLSL flow cursor term \u2014 the steady attraction).\n let cursorStrength = u.scalars3.y;\n let cursorRadius = u.scalars3.z;\n let cursor = u.cursor.xy;\n if (cursorStrength > 0.001) {\n let toCur = cursor - p;\n let d = length(toCur);\n let r = max(cursorRadius, 0.01);\n let w = exp(-(d * d) / (r * r * 0.5));\n let tangent = vec2<f32>(-toCur.y, toCur.x) / max(d, 1e-4);\n let a0 = atan2(dir.y, dir.x);\n let a1 = atan2(tangent.y, tangent.x);\n var da = a1 - a0;\n da = atan2(sin(da), cos(da));\n let aa = a0 + da * w * cursorStrength;\n dir = vec2<f32>(cos(aa), sin(aa));\n }\n return dir;\n}\n\n// \u2500\u2500 Watercolor \u2014 wet-edge cauliflowers + granulation + wash banding \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfn mediumWatercolor(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n var col = col0;\n let eps = 0.004;\n let cx1 = sampleBase(p + vec2<f32>(eps, 0.0), t);\n let cx2 = sampleBase(p - vec2<f32>(eps, 0.0), t);\n let cy1 = sampleBase(p + vec2<f32>(0.0, eps), t);\n let cy2 = sampleBase(p - vec2<f32>(0.0, eps), t);\n let gx = dot(cx1 - cx2, W_LUMA);\n let gy = dot(cy1 - cy2, W_LUMA);\n let edge = sqrt(gx * gx + gy * gy) / (2.0 * eps);\n let mask = smoothstep(0.0, 2.5, edge);\n col = col * mix(1.0, 0.78, mask * mWetEdge());\n\n let paper = 0.5 * vnoise(p * 160.0) + 0.5 * vnoise(p * 360.0);\n let pigLoad = 1.0 - dot(col, W_LUMA);\n col = col * (1.0 - mGranulation() * pigLoad * (paper - 0.5));\n\n let band = fbm(vec2<f32>(p.x * 1.5, p.y * 0.4));\n col = col * (1.0 + 0.04 * (band - 0.5));\n return col;\n}\n\n// \u2500\u2500 Pastel \u2014 anisotropic stroke noise along the flow + tooth grain \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfn mediumPastel(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n var col = col0;\n let flow = flowField(p, t);\n let perp = vec2<f32>(-flow.y, flow.x);\n let strokeScale = mStrokeScale();\n let along = dot(p, flow) * strokeScale;\n var across = dot(p, perp) * strokeScale;\n across = across + 0.03 * (vnoise(p * 260.0) - 0.5);\n\n let aniso = mix(1.0, 0.18, mStrokeAnisotropy());\n let stroke = fbm(vec2<f32>(along * aniso, across));\n col = col * mix(1.0, 0.82 + 0.32 * stroke, mStrokeAmount());\n\n let tooth = vnoise(p * 800.0);\n col = col * (1.0 - 0.08 * mStrokeAmount() * (tooth - 0.5));\n return col;\n}\n\n// \u2500\u2500 Crayon \u2014 DRY wax pigment on paper tooth (the tooth-multiply + scumble) \u2500\u2500\nfn mediumCrayon(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n let flow = structureTensorField(p, t, flowField(p, t)).xy;\n let ang = atan2(flow.y, flow.x);\n let ca = cos(-ang);\n let sa = sin(-ang);\n let pr = vec2<f32>(p.x * ca - p.y * sa, p.x * sa + p.y * ca);\n\n let aniso = mix(0.45, 0.95, mStrokeAnisotropy());\n let scale = max(mStrokeScale() * 1.6, 180.0);\n\n let t1 = vnoise(vec2<f32>(pr.x * scale * aniso, pr.y * scale));\n let t2 = vnoise(vec2<f32>(pr.x * scale * aniso * 0.4, pr.y * scale * 0.4) + vec2<f32>(11.0, 11.0));\n let t3 = vnoise(vec2<f32>(pr.x * scale * aniso * 2.1, pr.y * scale * 2.1) + vec2<f32>(23.0, 23.0));\n let tooth = 0.55 * t1 + 0.30 * t2 + 0.15 * t3;\n\n let pressure = clamp(mStrokeAmount(), 0.0, 1.0);\n let bite = mix(0.18, 0.46, pressure);\n var result = col0 * (1.0 - bite * (0.5 - tooth));\n\n let scumbleMask = smoothstep(0.42, 0.78, vnoise(vec2<f32>(pr.x * scale * 0.55, pr.y * scale * 0.22) + vec2<f32>(7.0, 7.0)));\n let scumbleCoverage = scumbleMask * pressure * 0.7;\n let paper = col0 * mix(0.80, 0.94, pressure);\n result = mix(paper, result, scumbleCoverage);\n\n let pigmentCell = floor(pr * max(scale * 0.18, 32.0));\n let pigmentMask = smoothstep(0.28, 0.82, vnoise(pr * scale * 0.21 + vec2<f32>(19.0, 19.0)));\n result = brokenColorJitter(\n result,\n hash21(pigmentCell + vec2<f32>(17.0, 17.0)),\n hash21(pigmentCell * 2.1 + vec2<f32>(31.0, 31.0)),\n 0.45 + 0.55 * pigmentMask\n );\n\n result = saturate3(result, 1.08);\n return result;\n}\n\n// \u2500\u2500 Kuwahara \u2014 the SOFT anisotropic generalized Kuwahara painterly finish \u2500\u2500\u2500\u2500\n// THE KEYSTONE (Kyprianidis 2010). Aurora is a PROCEDURAL field (no input texture) so the\n// operator runs over sampleBase directly: an elliptical kernel oriented along the structure\n// tensor (elongated along the edge-tangent, narrowed across by the anisotropy), 8 OVERLAPPING\n// sectors via SMOOTH gaussian-angular weights, blended by 1/(1+var^q) (the SOFT criterion \u2192\n// no 8-spoke pinwheel by construction). 4 rings \u00D7 8 angular taps = 32 procedural samples.\nfn mediumKuwahara(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n let stf = structureTensorField(p, t, flowField(p, t));\n let tangent = stf.xy;\n let A = stf.z;\n // The studio knob drives the patch radius; clamp into the procedural patch band.\n let radius = clamp(mKuwaharaRadius() + mStrokeScale() * 0.00018, 0.006, 0.024);\n let aniso = mix(1.0, 0.34, clamp(A, 0.0, 1.0));\n let ax = tangent;\n let ay = vec2<f32>(-tangent.y, tangent.x);\n\n // Per-sector weighted sums (8 sectors). WGSL has no runtime-indexed local arrays of\n // vectors as cleanly as GLSL, so unroll the sector accumulators explicitly.\n var mSum: array<vec3<f32>, 8>;\n var sSum: array<vec3<f32>, 8>;\n var wSum: array<f32, 8>;\n for (var i = 0; i < 8; i = i + 1) {\n mSum[i] = vec3<f32>(0.0);\n sSum[i] = vec3<f32>(0.0);\n wSum[i] = 0.0;\n }\n\n let RINGS = 4;\n let TAPS = 8;\n for (var r = 1; r <= RINGS; r = r + 1) {\n let rr = f32(r) / f32(RINGS);\n let radial = 1.0 - 0.6 * rr;\n for (var a = 0; a < TAPS; a = a + 1) {\n let ang = 6.2831853 * f32(a) / f32(TAPS);\n let dirE = ax * cos(ang) + ay * (sin(ang) * aniso);\n let off = dirE * (radius * rr);\n let c = sampleBase(p + off, t);\n for (var k = 0; k < 8; k = k + 1) {\n let sectorAng = 6.2831853 * f32(k) / 8.0;\n var d = ang - sectorAng;\n d = atan2(sin(d), cos(d));\n let sw = exp(-d * d * 2.2) * radial;\n mSum[k] = mSum[k] + c * sw;\n sSum[k] = sSum[k] + c * c * sw;\n wSum[k] = wSum[k] + sw;\n }\n }\n }\n\n let q = max(mKuwaharaQ(), 1.0);\n var accum = vec3<f32>(0.0);\n var accumW = 0.0;\n for (var k = 0; k < 8; k = k + 1) {\n let wk = max(wSum[k], 1e-4);\n let mean = mSum[k] / wk;\n let var3 = max(sSum[k] / wk - mean * mean, vec3<f32>(0.0));\n let variance = dot(var3, W_LUMA);\n let sectorW = 1.0 / (1.0 + pow(variance * 320.0, q));\n accum = accum + mean * sectorW;\n accumW = accumW + sectorW;\n }\n var result = accum / max(accumW, 1e-4);\n\n // Anchor in near-flat zones so the smoothing only bites at edges.\n let center = sampleBase(p, t);\n result = mix(center, result, clamp(0.35 + 0.65 * A, 0.0, 1.0));\n\n // Faint canvas tooth + pigment-saturation so the flattened patches read as oil paint.\n let tooth = vnoise(p * 300.0) - 0.5;\n result = result * (1.0 + tooth * 0.06 * mCanvasGrain());\n result = saturate3(result, 1.04);\n\n return mix(col0, result, clamp(mStrokeAmount(), 0.0, 1.0));\n}\n\n// \u2500\u2500 Medium dispatch (the WGSL twin of the GLSL main() if-ladder) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// uMedium: 0 smooth \u00B7 1 pastel \u00B7 2 watercolor \u00B7 3 oil \u00B7 4 crayon \u00B7 5 vangogh \u00B7\n// 6 oil-pastel \u00B7 7 kuwahara. The cheap peer mediums (pastel/watercolor/crayon) +\n// kuwahara port their own bodies; the oil/vangogh/oil-pastel STROKE cascade renders\n// the anisotropic-Kuwahara PAINTERLY finish here (a real oil-paint read, never the\n// smooth core \u2014 the \"NO FALLBACKS on Safari\" mandate; the full per-dab Starry-Night\n// stroke WGSL is the booked W-AURORA-WGPU-MEDIUMS-STROKES tail).\nfn applyMedium(col: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n let medium = u.ints1.x;\n if (medium == 1) { return mediumPastel(col, p, t); }\n if (medium == 2) { return mediumWatercolor(col, p, t); }\n if (medium == 4) { return mediumCrayon(col, p, t); }\n // oil(3) / vangogh(5) / oil-pastel(6) / kuwahara(7) all render the painterly\n // anisotropic-Kuwahara finish on the WGSL primary (the WebGL2 fallback carries the\n // full per-dab stroke cascade for oil/vangogh/oil-pastel).\n if (medium == 3 || medium == 5 || medium == 6 || medium == 7) {\n return mediumKuwahara(col, p, t);\n }\n return col;\n}\n\n\n// \u2500\u2500 Full-screen triangle vertex stage (the pilot idiom \u2014 no vertex buffer) \u2500\u2500\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 // NDC corners of the covering triangle (-1,-1), (3,-1), (-1,3).\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 // vUv = aPos * 0.5 + 0.5 (the aurora.vert convention).\n out.uv = p * 0.5 + 0.5;\n return out;\n}\n\n// \u2500\u2500 Fragment stage (the main() transcription) \u2500\u2500\n@fragment\nfn fs_main(in: VSOut) -> @location(0) vec4<f32> {\n let t = u.scalars0.x;\n let valueVariance = u.scalars0.z;\n let breathDepth = u.scalars2.w;\n let breathPeriod = u.scalars3.x;\n let saturation = u.scalars1.z;\n let paperGrain = u.scalars1.w;\n let alpha = u.scalars2.x;\n\n let uv = in.uv;\n let pN = uv;\n\n let p_warp = domainWarp(pN, t);\n\n let nf = nucleiField(p_warp, t);\n var col = samplePalette(nf.paletteId);\n col = col * (1.0 + valueVariance * nf.valueMod);\n\n // Breath \u2014 slow global luminance wobble.\n let breath = sin(t * 6.2831 / max(breathPeriod, 1.0));\n col = col * (1.0 + breathDepth * breath * 0.5);\n\n // BC.W-VIZ-AURORA (T4) \u2014 the painterly-medium dispatch. uMedium 0 (smooth) is a\n // no-op pass-through so the DEFAULT smooth config is byte-identical to the prior\n // WGSL primary (the parity capture); uMedium 1-7 render the ported painterly\n // bodies (pastel/watercolor/crayon/kuwahara) or the anisotropic-Kuwahara finish\n // (oil/vangogh/oil-pastel) \u2014 never a silent smooth degrade on Safari 26.\n col = applyMedium(col, pN, t);\n\n // Saturation trim.\n col = saturate3(col, saturation);\n\n // Tonemap + film grain.\n col = aces(col);\n // gl_FragCoord.xy \u2192 the device-pixel position (the WGSL @builtin(position)).\n let fragCoord = in.pos.xy;\n let grain = hash21(fragCoord + t * 17.0);\n col = col + (grain - 0.5) * paperGrain;\n\n col = clamp(col * 0.985 + 0.008, vec3<f32>(0.0), vec3<f32>(1.0));\n\n // MANDATORY OETF \u2014 closes the seam (the whole pipeline above runs in LINEAR).\n col = linearToSrgb(col);\n\n // 1-LSB triangular IGN dither in DISPLAY space, AFTER the OETF.\n col = col + (1.0 / 255.0) * (ign(fragCoord) - 0.5);\n\n // Premultiply on DISPLAY-space color (matches the WebGL2 path: OETF, then premul).\n return vec4<f32>(col * alpha, alpha);\n}\n";
@@ -1 +0,0 @@
1
- export declare const AURORA_BRUSH_GLSL = "// \u2500\u2500 Curved swept brushstroke primitive \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// A stroke is a curved spine from A to B with quadratic bulge K (sideways offset\n// at midpoint). Width varies along length via a shape profile. Edge is ragged\n// (bristle-modulated), ends are rounded blobs, inside has streak modulation.\n//\n// For pixel p, we invert an approximate projection onto the curved spine:\n// 1) project p onto straight AB axis -> along0, cross0\n// 2) at parameter along0, spine offset = 4\u00B7K\u00B7along0\u00B7(1-along0) perpendicular\n// 3) cross = cross0 - spineOffset, refine along one iteration\n// Coverage blends paint atop col based on per-stroke color sampled from the\n// underlying base at spine midpoint \u2014 so overlapping strokes from different\n// palette regions meet at hard, ragged demarcations.\n\nstruct StrokeHit {\n float coverage; // 0..1\n vec3 color;\n float alongT; // 0..1 along spine, for internal modulation\n float crossN; // cross distance / current half-width, signed\n float edgeN; // distance to edge in half-widths (0 = at edge, 1 = at spine)\n};\n\nStrokeHit noHit() { return StrokeHit(0.0, vec3(0.0), 0.0, 0.0, 0.0); }\n\nvec2 rotateDir(vec2 dir, float angle) {\n float ca = cos(angle), sa = sin(angle);\n return vec2(dir.x * ca - dir.y * sa, dir.x * sa + dir.y * ca);\n}\n\nvec2 safeDir(vec2 dir) {\n float len = length(dir);\n return len > 1e-4 ? dir / len : vec2(1.0, 0.0);\n}\n\n// Shape profile along the stroke. type:\n// 0 tapered \u2014 thin-fat-thin (classic brush)\n// 1 load-drag \u2014 fat start, tapers to a point\n// 2 dab \u2014 ellipse-like, round center\n// 3 even \u2014 near-constant, slight end taper\n// 4 comma \u2014 van-Gogh atomic dab: ASYMMETRIC taper, fat near one end and\n// drawn to a fine point at the other (the divisionist crescent\n// mark). The width peak sits off-centre (~0.32) so the two ends\n// taper at DIFFERENT rates \u2014 a loaded round head + a dragged tail.\nfloat strokeShape(float t, int type) {\n t = clamp(t, 0.0, 1.0);\n if (type == 1) {\n // loaded at t=0, tapering\n return pow(1.0 - t, 0.55) * smoothstep(0.0, 0.08, t);\n } else if (type == 2) {\n // dab / blob\n float d = t - 0.5;\n return exp(-d * d * 12.0);\n } else if (type == 3) {\n // mostly even, slight end softening\n return smoothstep(0.0, 0.08, t) * smoothstep(1.0, 0.92, t) * 0.95 + 0.05;\n } else if (type == 4) {\n // comma / crescent \u2014 width peaks at ~0.32 then drags to a fine tail. The two\n // sides of the peak fall at different exponents (a fat round head, a long thin\n // tail), so the mark reads as a directional van-Gogh comma, not a symmetric oval.\n float peak = 0.32;\n float head = smoothstep(0.0, peak, t); // rounded loaded head\n float tail = pow(clamp((1.0 - t) / (1.0 - peak), 0.0, 1.0), 1.6); // dragged thin tail\n return clamp(min(head, tail) * 1.04, 0.0, 1.0);\n }\n // 0 tapered\n return smoothstep(0.0, 0.22, t) * smoothstep(1.0, 0.78, t);\n}\n\n// A single curved stroke.\n// a, b \u2014 endpoints\n// halfW \u2014 base half-width (world units)\n// bulge \u2014 signed perpendicular midpoint offset, in world units\n// shapeType \u2014 0..3\n// bristleFreq \u2014 spatial frequency of edge raggedness\n// bristleAmp \u2014 0..0.5 fraction of halfW chewed away at edge extrema\n// streakSeed \u2014 uniqueness seed for internal streaks\n// colAtMid \u2014 pre-sampled color at midpoint\nStrokeHit curvedStroke(vec2 p, vec2 a, vec2 b, float halfW,\n float bulge, int shapeType,\n float bristleFreq, float bristleAmp,\n float streakSeed, vec3 colAtMid) {\n vec2 ab = b - a;\n float L = length(ab);\n if (L < 1e-5) return noHit();\n vec2 tang = ab / L;\n vec2 norm = vec2(-tang.y, tang.x);\n\n vec2 rel = p - a;\n float along0 = dot(rel, tang) / L; // straight projection 0..1 along AB\n float cross0 = dot(rel, norm); // signed cross\n\n // Spine sideways offset due to bulge (parabolic)\n float bend = 4.0 * bulge * along0 * (1.0 - along0);\n float cross1 = cross0 - bend;\n\n // One refinement step: as the spine bends, the closest-point along shifts.\n // Spine tangent differs from straight tangent; first-order correction:\n float dBend = 4.0 * bulge * (1.0 - 2.0 * along0); // d(bend)/d(along)\n float along1 = along0 + (cross1 * dBend) / (L * (1.0 + dBend * dBend / (L * L)));\n\n // Bristle-ragged edge: half-width gets chewed by 1D noise along the spine\n float edgeNoise = fbm(vec2(along1 * bristleFreq, streakSeed * 7.3)) - 0.5;\n float edgeNoise2 = fbm(vec2(along1 * bristleFreq * 2.3, streakSeed * 3.1 + 17.0)) - 0.5;\n float edgeMod = 1.0 - bristleAmp * (0.6 + 0.4 * edgeNoise) * (0.5 + edgeNoise2);\n\n // Width profile along the stroke\n float shape = strokeShape(along1, shapeType);\n float halfWNow = halfW * shape * edgeMod;\n\n // Inside-segment coverage\n float cov = 0.0;\n if (along1 >= 0.0 && along1 <= 1.0 && halfWNow > 1e-6) {\n float cn = abs(cross1) / halfWNow;\n // fwidth-derived AA: half-width from the field's screen-space gradient so the\n // edge holds ~1px regardless of zoom/DPR (mirrors metaball.frag.ts:252-255).\n float aaC = max(fwidth(cn), 1e-6);\n cov = 1.0 - smoothstep(1.0 - aaC, 1.0 + aaC, cn);\n }\n\n // End-cap blobs (rounded tips, not perpendicular cuts)\n float capA = 0.0, capB = 0.0;\n {\n vec2 capCenterA = a + norm * (bulge * 0.0); // at a\n vec2 capCenterB = a + tang * L + norm * bend * 0.0 + norm * 0.0; // at b; bend is 0 at endpoints\n capCenterB = b;\n float endShapeA = strokeShape(0.02, shapeType);\n float endShapeB = strokeShape(0.98, shapeType);\n float rA = halfW * endShapeA * (0.9 + 0.2 * fbm(vec2(streakSeed * 13.0)));\n float rB = halfW * endShapeB * (0.9 + 0.2 * fbm(vec2(streakSeed * 19.0 + 5.0)));\n float dA = length(p - capCenterA);\n float dB = length(p - capCenterB);\n // fwidth-derived AA on the clean Euclidean cap distances (mirrors metaball.frag.ts:252-255).\n float aaA = max(fwidth(dA), 1e-6);\n float aaB = max(fwidth(dB), 1e-6);\n capA = 1.0 - smoothstep(rA - aaA, rA + aaA, dA);\n capB = 1.0 - smoothstep(rB - aaB, rB + aaB, dB);\n // Only apply caps if we're BEYOND the segment; otherwise the segment wins.\n capA *= (along1 < 0.05) ? 1.0 : 0.0;\n capB *= (along1 > 0.95) ? 1.0 : 0.0;\n }\n\n float coverage = max(cov, max(capA, capB));\n if (coverage < 0.002) return noHit();\n\n // Edge distance (for impasto later): 0 at edge, 1 at spine\n float edgeDist = halfWNow > 1e-6 ? clamp(1.0 - abs(cross1) / halfWNow, 0.0, 1.0) : 0.0;\n\n return StrokeHit(\n coverage,\n colAtMid,\n clamp(along1, 0.0, 1.0),\n halfWNow > 1e-6 ? cross1 / halfWNow : 0.0,\n edgeDist\n );\n}\n\n// The painterly STROKE mediums (those that deposit via paintStrokeLayers/paintOver):\n// oil (3), van-Gogh (5), oil-pastel (6). For these the stroke OVER-composite runs in\n// OKLab so overlapping complementaries mix through a chromatic path, not the linear-\n// RGB grey mud; the smooth/atmospheric pole never reaches paintOver so it pays nothing.\nbool isPainterlyStroke() {\n return uMedium == 3 || uMedium == 5 || uMedium == 6;\n}\n\n// OKLab OVER-composite: lerp L,a,b of the over-color toward the under-color (the\n// Ottosson matrices spliced from procedural-color.glsl.ts \u2014 no new color math). Two\n// complementary-hued strokes overlapping transition through OKLab, where the midpoint\n// holds chroma, instead of the linear mix() that desaturates toward grey (slice 8 F2).\nvec3 paintOverOklab(vec3 under, vec3 over, float alpha) {\n vec3 labU = linOklab(under);\n vec3 labO = linOklab(over);\n return max(oklabToLinearSrgb(mix(labU, labO, alpha)), vec3(0.0));\n}\n\n// Composite stroke over col with internal streaking + ACCUMULATE paint HEIGHT.\n// streakAmp \u2014 0..0.2 how much internal streaks darken/lighten\n// impastoAmp \u2014 0..1 paint-thickness contribution (the height the relight reads)\n// hardness \u2014 0..1 how crisp the compositing transition is (1 = razor, 0 = creamy)\n//\n// AW.W4.2 \u2014 the fixed-RGB edge rim (the phantom upper-left light) is RETIRED. Each\n// stroke now deposits PAINT HEIGHT into the height accumulator (coverage x per-stroke\n// thickness, perturbed by the bristle/streak fbm for ridges/grooves); mediumOil\n// derives a normal from the accumulated height gradient (dFdx/dFdy) and relights it\n// once with the movable uLightDir source (relightImpasto), in linear before aces().\n//\n// AX.W13 \u2014 the internal streak now perturbs HUE + CHROMA in OKLCh (not value-only),\n// so a single stroke carries a small hue gradient (broken color at the ATOM level \u2014\n// adjacent strokes shimmer like real impasto, not flat stamped swatches; slice 8 F5);\n// and the OVER-composite runs in OKLab on the painterly stroke mediums so overlapping\n// complementaries mix as pigment, not the linear-mix grey (slice 8 F2).\n// impastoFloor \u2014 the per-stroke height-crown floor: oil's 0.4+0.6*edgeN reads\n// floor=0.4 (the crown tapers to 40% at the stroke edge); the van-Gogh\n// profile passes floor=1.0 so each atomic dab catches a FULL-height\n// glint (scope item 1d). The crown magnitude is floor + (1-floor)*edgeN.\nvoid paintOver(inout vec3 col, inout float height, StrokeHit s,\n float streakFreq, float streakAmp,\n float impastoAmp, float hardness, float streakSeed,\n float impastoFloor) {\n if (s.coverage < 0.002) return;\n float strokeOpacity = clamp(uStrokeAmount, 0.0, 1.0);\n if (strokeOpacity <= 0.001) return;\n vec3 c = s.color;\n\n // Internal streaks \u2014 fbm along spine, modulated by cross position. Gives\n // the loaded-brush look: some bristles carry more pigment than others.\n float streakA = fbm(vec2(s.alongT * streakFreq, s.crossN * 2.7 + streakSeed));\n float streakB = fbm(vec2(s.alongT * streakFreq * 0.6 + streakSeed * 3.7, s.crossN * 4.1));\n float streak = 0.6 * (streakA - 0.5) + 0.4 * (streakB - 0.5);\n\n // \u2500\u2500 WITHIN-stroke OKLCh broken color (AX.W13, slice 8 F5). The streak fBm perturbs\n // the stroke's HUE + CHROMA along alongT/crossN, seeded per-stroke, so a single\n // stroke reads a small hue gradient (the atom-level broken-color shimmer). Value is\n // carried by the same streak so the loaded-brush light/dark survives. Gated to the\n // painterly stroke mediums + uBrokenColor (the smooth pole keeps the cheap value-only\n // streak). A second decorrelated fBm drives the hue axis so hue \u2260 a scaled value.\n float hueStreak = fbm(vec2(s.alongT * streakFreq * 0.45 + streakSeed * 5.3,\n s.crossN * 1.9 + streakSeed * 1.7)) - 0.5;\n if (isPainterlyStroke() && uBrokenColor > 0.001) {\n vec3 lch = oklabToOklch(linOklab(c));\n // \u00B1~10\u00B0 within-stroke hue swing + \u00B1~9% chroma, scaled by uBrokenColor. Smaller\n // than the per-stroke cell jitter (brokenColorJitter) \u2014 this is the intra-stroke\n // gradient layered on top of the per-cell pigment patch.\n lch.z += hueStreak * (20.0 * PI / 180.0) * uBrokenColor;\n lch.y = max(lch.y * (1.0 + (streak) * 0.18 * uBrokenColor), 0.0);\n c = max(oklabToLinearSrgb(oklchToOklab(lch)), vec3(0.0));\n }\n // Value streak (the loaded-brush light/dark across the bristles) \u2014 kept for every\n // medium that reaches paintOver (the smooth pole never does). The along-spine value\n // modulation is the loaded-brush light/dark that gives each stroke its OWN directional\n // luminance band \u2014 the structure-tensor signal a low-contrast color field (a uniform-hue\n // oil field) has no other source for (the \u00A74.2 anisotropy lift on the flat-palette case).\n c *= 1.0 + streak * streakAmp * 3.2;\n\n // Cross-stroke ridge/valley shading \u2014 a catch-light along the spine centre, darkening to\n // the stroke edges. This is the strongest DIRECTIONAL luminance cue: it carves a bright\n // ridge down the stroke's length and dark grooves between adjacent strokes, so a field of\n // parallel strokes reads as parallel light/dark bands (the high-A van-Gogh signature) even\n // where the underlying colour is flat. s.edgeN is 0 at the edge, 1 at the spine.\n float ridgeShade = smoothstep(0.0, 0.55, s.edgeN);\n c *= 1.0 + (ridgeShade - 0.5) * 0.30;\n\n float softLimit = mix(0.35, 0.98, hardness);\n float alpha = smoothstep(0.0, 1.0 - softLimit, s.coverage) * strokeOpacity;\n // OKLab OVER-composite on the painterly stroke mediums (overlap mixes as pigment,\n // not grey); the smooth pole never reaches paintOver, so it keeps the cheap path.\n col = isPainterlyStroke() ? paintOverOklab(col, c, alpha) : mix(col, c, alpha);\n\n // \u2500\u2500 Accumulate paint HEIGHT (AW.W4.2). Thickness peaks at the stroke spine and\n // falls toward the impastoFloor at the edge (edgeN: 0=edge, 1=spine), perturbed by\n // the bristle streak so ridges/grooves form. The relight reads the gradient of this\n // field. The van-Gogh profile's floor=1.0 gives every atomic dab a full-height crown.\n float ridge = 0.7 + 0.3 * (streak + 0.5);\n float crown = impastoFloor + (1.0 - impastoFloor) * s.edgeN;\n height += s.coverage * impastoAmp * crown * ridge * alpha;\n}\n\n// AW.W4.2 \u2014 relight the accumulated paint height. Derive a normal from the height\n// gradient (dFdx/dFdy \u2014 derivatives are in-pattern; fwidth is already used for AA),\n// then apply diffuse + Blinn specular from the movable uLightDir/uLightColor source.\n// LINEAR-space lighting BEFORE aces() (the tonemap/OETF stay locked); thin strokes\n// inherit a low shininess, thick impasto raises it (high-height ridges catch a sharp\n// glint). canvasBase is the tooth height so the canvas weave also catches the light.\nvec3 relightImpasto(vec3 col, float height, float canvasBase) {\n float h = height + canvasBase;\n // Height-gradient normal. heightScale trades relief depth for surface flatness.\n float heightScale = 6.0;\n vec3 N = normalize(vec3(-dFdx(h) * 40.0, -dFdy(h) * 40.0, 1.0 / heightScale));\n vec3 L = normalize(uLightDir);\n vec3 V = vec3(0.0, 0.0, 1.0); // view straight on\n vec3 H = normalize(L + V);\n float diff = max(dot(N, L), 0.0);\n // Thick impasto \u2192 high shininess (sharp glint); thin paint \u2192 broad soft sheen.\n float shininess = mix(8.0, 64.0, clamp(height * 2.0, 0.0, 1.0));\n float spec = pow(max(dot(N, H), 0.0), shininess);\n // Modulate the lit terms by how much paint sits here (no relief on bare ground).\n float relief = clamp(h * 1.5, 0.0, 1.0);\n vec3 lit = col * (1.0 + uImpasto * relief * (diff - 0.5) * 0.5 * uLightColor);\n // The specular glint is gated to ACCUMULATED-thick paint (height\u00B2) \u2014 a per-fine-stroke\n // sharp glint on every thin fill dab read as bright isotropic SPECKLE that buried the\n // directional stroke bands (the \u00A74.2 anisotropy / \u00A74.3 slope sink on the low-contrast\n // oil field). Only where real impasto has built up does the raked glint fire, so the\n // highlight tracks the macro ridges, not the fine speckle.\n float specGate = clamp(height, 0.0, 1.0);\n lit += uImpasto * relief * spec * specGate * 0.5 * uLightColor;\n return lit;\n}\n\n// Best-of-9-neighbor placement: sample 3x3 surrounding cells and take the\n// stroke that covers this pixel most. Breaks the grid by per-cell jitter and\n// sparse density via noise thresholding.\n// energyGrade \u2014 the SBR energy-grade magnitude (0 = none, the oil/oil-pastel\n// baseline; 1 = the full van-Gogh Starry-Night cascade \u2014 long\n// confident strokes in the lights/coherent zones, short dabs in\n// the darks/flat zones). The van-Gogh profile carries 1.0 (the\n// energy grade is a PROFILE field, not a buried uMedium==5 branch).\nStrokeHit bestOil(vec2 p, float cellSize, float lenMul, float halfWMul,\n float jitterAmt, float density, int shapeType,\n float bristleAmp, vec2 flow, float t, float seed,\n float energyGrade) {\n vec2 cell = floor(p / cellSize);\n\n StrokeHit best = noHit();\n // 3x3 neighborhood\n for (int dy = -1; dy <= 1; dy++) {\n for (int dx = -1; dx <= 1; dx++) {\n vec2 cc = cell + vec2(float(dx), float(dy));\n vec2 hh = hash22(cc + seed) - 0.5;\n // Density gate \u2014 noise threshold; sparse placement.\n float gate = hash21(cc * 1.7 + seed * 0.3);\n if (gate > density) continue;\n\n vec2 center = (cc + 0.5 + hh * jitterAmt) * cellSize;\n\n // Per-stroke direction source \u2014 the AW.W4.1 strokeOrient switch:\n // uStrokeOrient==0 (flow) \u2014 the layer-provided hand-authored flowField.\n // uStrokeOrient==1 (tensor) \u2014 the structure-tensor minor eigenvector at the\n // cell center (the color field's edge-tangent),\n // so strokes hug the color zones (van Gogh).\n // coh carries the per-cell coherence A for the W4.3 energy grading (long\n // confident strokes where structure is coherent, stubby dabs in flat zones).\n vec2 f;\n float coh = 1.0;\n if (uStrokeOrient == 1) {\n vec3 tf = structureTensorField(center, t, safeDir(flow));\n f = safeDir(tf.xy);\n coh = tf.z;\n } else {\n f = safeDir(flow);\n }\n // Per-stroke deterministic local perturbation so alternate stroke layers stay\n // live. Tensor strokes get FAR less angular jitter (the field already orients them\n // \u2014 over-jittering the tensor strokes scatters their directions and the rendered\n // field reads isotropic, the \u00A74.2 anisotropy floor). The flow-oriented (non-tensor)\n // strokes keep the full jitter (they have no per-cell orientation source).\n float jScale = (uStrokeOrient == 1) ? 0.15 : 1.0;\n float angJ = (hash21(cc + seed + 11.0) - 0.5) * 0.9 * jScale; // +/- 0.45/0.07 rad\n float curlScale = (uStrokeOrient == 1) ? 0.30 : 1.0;\n float localCurl = (fbm(center * (2.6 + seed * 0.11) + seed * 1.9) - 0.5) * 0.55 * uFlowCurl * curlScale;\n vec2 dir = rotateDir(f, angJ + localCurl);\n\n // AX.W13 \u2014 the SBR energy grade is a PROFILE field (energyGrade), not a buried\n // uMedium==5 branch. The van-Gogh profile passes energyGrade=1.0 (the full\n // Starry-Night cascade); oil/oil-pastel pass 0.0 (uniform length). The grade\n // modulates stroke length by local luminance (bright \u2192 long confident strokes,\n // dark \u2192 short dabs, the Kolmogorov/Batchelor congruence) AND by coherence\n // (coherent zones \u2192 long, flat \u2192 stubby), lerped in by energyGrade so a profile\n // can dial the cascade from off (0) to full (1).\n float energy = 1.0;\n if (energyGrade > 0.001) {\n float luma = clamp(dot(sampleBase(center, t), W_LUMA), 0.0, 1.0);\n float graded = mix(0.5, 1.5, luma) * mix(0.6, 1.0, coh);\n energy = mix(1.0, graded, energyGrade);\n }\n\n float lenV = cellSize * lenMul * (0.65 + 0.55 * hash21(cc + seed + 23.0)) * energy;\n float halfW = cellSize * halfWMul * (0.70 + 0.55 * hash21(cc + seed + 41.0));\n float bulge = (hash21(cc + seed + 53.0) - 0.5) * lenV * 0.35;\n\n vec2 a = center - dir * (lenV * 0.5);\n vec2 b = center + dir * (lenV * 0.5);\n\n vec3 colMid = brokenColorJitter(\n sampleBase(center, t),\n hash21(cc + seed + 89.0),\n hash21(cc * 2.3 + seed + 97.0),\n 1.0\n );\n\n StrokeHit h = curvedStroke(p, a, b, halfW, bulge, shapeType,\n 7.0, bristleAmp,\n hash21(cc + seed + 67.0), colMid);\n if (h.coverage > best.coverage) best = h;\n }\n }\n return best;\n}\n";
@@ -1 +0,0 @@
1
- export declare const AURORA_FLOW_GLSL = "// \u2500\u2500 Flow field \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// Structure-tensor prototype (body defined post-sampleBase in the mediums block).\n// Returns vec3(dir.x, dir.y, coherence) \u2014 the minor-eigenvector tangent + A.\nvec3 structureTensorField(vec2 p, float t, vec2 fallbackDir);\n\nvec2 flowField(vec2 p, float t) {\n vec2 dir = vec2(1.0, 0.0);\n if (uFlowPattern == 1) {\n // radial\n dir = normalize(p - uFlowFocal + 1e-4);\n } else if (uFlowPattern == 2) {\n // swirl \u2014 tangent to radial\n vec2 rad = normalize(p - uFlowFocal + 1e-4);\n dir = vec2(-rad.y, rad.x);\n } else if (uFlowPattern == 3) {\n // diagonal\n float a = radians(uFlowAngle);\n dir = vec2(cos(a), sin(a));\n } else if (uFlowPattern == 4) {\n // multi \u2014 curl-noise driven\n float n = fbm(p * 2.0 + t * 0.02);\n float a = n * 6.2831;\n dir = vec2(cos(a), sin(a));\n } else if (uFlowPattern == 5) {\n // tensor / ETF \u2014 the color field's OWN edge-tangent flow (AW.W4.1). The\n // diagonal angle seeds the smooth fallback the coherence-weighted blend\n // relaxes toward in low-structure zones. Returns directly (no curl/cursor\n // post-mix \u2014 the tensor field already carries the structure orientation;\n // the cursor warp still drives the underlying color field in domainWarp).\n float a = radians(uFlowAngle);\n vec2 fallback = vec2(cos(a), sin(a));\n return structureTensorField(p, t, fallback).xy;\n }\n // curl \u2014 perturb by noise. Radial gets much less curl so rays stay clean.\n if (uFlowCurl > 0.0) {\n float n = fbm(p * 3.0) - 0.5;\n float curlAmt = uFlowCurl;\n if (uFlowPattern == 1) curlAmt *= 0.25; // radial: preserve ray clarity\n if (uFlowPattern == 2) curlAmt *= 0.55; // swirl: allow moderate curl\n float a = atan(dir.y, dir.x) + n * 3.14159 * curlAmt;\n dir = vec2(cos(a), sin(a));\n }\n // cursor influence \u2014 swirl around the cursor position\n if (uCursorStrength > 0.001) {\n vec2 toCur = uCursor - p;\n float d = length(toCur);\n float r = max(uCursorRadius, 0.01);\n float w = exp(-(d * d) / (r * r * 0.5));\n // swirl tangent\n vec2 tangent = vec2(-toCur.y, toCur.x) / max(d, 1e-4);\n float a0 = atan(dir.y, dir.x);\n float a1 = atan(tangent.y, tangent.x);\n // blend angle\n float da = a1 - a0;\n da = atan(sin(da), cos(da)); // wrap to [-pi, pi]\n float a = a0 + da * w * uCursorStrength;\n dir = vec2(cos(a), sin(a));\n }\n // AW.W8.1 \u2014 velocity-reactive swirl-BURST: a fast flick (uCursorBurst, decaying\n // over ~1s) injects a transient flow bias along the pointer velocity, distinct from\n // the steady attraction above (the stateless swirl is SUPERSEDED by this form). The\n // burst is gated by the master tempo scalar on the CPU side (it decays to 0 under\n // PRM/pause), so this term cannot leak motion under reduced-motion.\n if (uCursorBurst > 0.001) {\n vec2 toCur = uCursor - p;\n float d = length(toCur);\n float r = max(uCursorRadius, 0.01);\n float w = exp(-(d * d) / (r * r * 0.7));\n // Bias the flow toward the velocity direction, scaled by the decaying burst.\n vec2 velDir = uCursorVelocity / max(length(uCursorVelocity), 1e-4);\n float a0 = atan(dir.y, dir.x);\n float a1 = atan(velDir.y, velDir.x);\n float da = atan(sin(a1 - a0), cos(a1 - a0));\n float a = a0 + da * w * uCursorBurst * 0.8;\n dir = vec2(cos(a), sin(a));\n }\n return dir;\n}\n";