@mkbabb/glass-ui 4.2.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 (1377) 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 +5 -5
  34. package/dist/aurora.d.ts +1 -1
  35. package/dist/aurora.js +1395 -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 +165 -248
  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/satelliteKinematics.d.ts +20 -0
  106. package/dist/components/blob/composables/uploadBlobUniforms.d.ts +51 -0
  107. package/dist/components/blob/composables/useBlobPointer.d.ts +88 -0
  108. package/dist/components/blob/composables/useMetaballRenderer.d.ts +100 -0
  109. package/dist/components/blob/composables/wgpuSetup.d.ts +23 -0
  110. package/dist/components/blob/config.d.ts +3 -0
  111. package/dist/components/blob/constants.d.ts +82 -0
  112. package/dist/components/blob/index.d.ts +8 -0
  113. package/dist/components/blob/presets.d.ts +14 -0
  114. package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  115. package/dist/components/blob/types.d.ts +256 -0
  116. package/dist/components/button/Button.vue.d.ts +31 -0
  117. package/dist/components/button/index.d.ts +9 -0
  118. package/dist/components/card/Card.vue.d.ts +180 -0
  119. package/dist/components/card/CardHeader.vue.d.ts +58 -0
  120. package/dist/components/card/ScrollCard.vue.d.ts +33 -0
  121. package/dist/components/carousel/Carousel.vue.d.ts +44 -0
  122. package/dist/components/carousel/CarouselContent.vue.d.ts +24 -0
  123. package/dist/components/carousel/CarouselNext.vue.d.ts +21 -0
  124. package/dist/components/carousel/CarouselPrevious.vue.d.ts +21 -0
  125. package/dist/components/carousel/GlassCarouselPager.vue.d.ts +50 -0
  126. package/dist/components/carousel/useCarousel.d.ts +21 -0
  127. package/dist/components/chip/Chip.vue.d.ts +20 -0
  128. package/dist/components/chip/chipVariants.d.ts +43 -0
  129. package/dist/components/chip/index.d.ts +3 -0
  130. package/dist/components/chip/types.d.ts +38 -0
  131. package/dist/components/combobox/Combobox.vue.d.ts +32 -0
  132. package/dist/components/combobox/ComboboxList.vue.d.ts +32 -0
  133. package/dist/components/command/index.d.ts +10 -0
  134. package/dist/components/completion-seal/CompletionSeal.vue.d.ts +28 -0
  135. package/dist/components/completion-seal/constants.d.ts +66 -0
  136. package/dist/components/configurator/Configurator.vue.d.ts +160 -0
  137. package/dist/components/configurator/ConfiguratorRow.vue.d.ts +96 -0
  138. package/dist/components/configurator/index.d.ts +6 -0
  139. package/dist/components/configurator/size.d.ts +26 -0
  140. package/dist/components/constellation/Constellation.vue.d.ts +34 -0
  141. package/dist/components/constellation/composables/constellationGLSetup.d.ts +10 -0
  142. package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  143. package/dist/components/constellation/composables/useConstellation.d.ts +39 -0
  144. package/dist/components/constellation/constants.d.ts +97 -0
  145. package/dist/components/constellation/constellationTypes.d.ts +420 -0
  146. package/dist/components/dialog/DialogContent.vue.d.ts +115 -0
  147. package/dist/components/dock/DockBackgroundToggle.vue.d.ts +46 -0
  148. package/dist/components/dock/DockControl.vue.d.ts +73 -0
  149. package/dist/components/dock/DockCrossfade.vue.d.ts +50 -0
  150. package/dist/components/dock/DockLayer.vue.d.ts +33 -0
  151. package/dist/components/dock/DockLayerGroup.vue.d.ts +65 -0
  152. package/dist/components/dock/DockStack.vue.d.ts +73 -0
  153. package/dist/components/dock/DockTrigger.vue.d.ts +27 -0
  154. package/dist/components/dock/GlassDock.vue.d.ts +33 -0
  155. package/dist/components/dock/composables/dockContext.d.ts +48 -0
  156. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +57 -0
  157. package/dist/components/dock/composables/dockMorphContext.d.ts +89 -0
  158. package/dist/components/dock/composables/index.d.ts +10 -0
  159. package/dist/components/dock/composables/useDockFisheye.d.ts +24 -0
  160. package/dist/components/dock/composables/useDockOverflowFit.d.ts +22 -0
  161. package/dist/components/dock/composables/useDockPopover.d.ts +68 -0
  162. package/dist/components/dock/composables/useDockSearch.d.ts +85 -0
  163. package/dist/components/dock/composables/useDockShellProps.d.ts +178 -0
  164. package/dist/components/dock/composables/useDockSpring.d.ts +71 -0
  165. package/dist/components/dock/composables/useDockTouchGate.d.ts +51 -0
  166. package/dist/components/dock/constants.d.ts +107 -0
  167. package/dist/components/dock/index.d.ts +19 -0
  168. package/dist/components/drawer/Drawer.vue.d.ts +85 -0
  169. package/dist/components/drawer/DrawerContent.vue.d.ts +40 -0
  170. package/dist/components/drawer/composables/useDrawerSnap.d.ts +24 -0
  171. package/dist/components/drawer/constants.d.ts +50 -0
  172. package/dist/components/drawer/index.d.ts +35 -0
  173. package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +24 -0
  174. package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +36 -0
  175. package/dist/components/dropdown-menu/index.d.ts +16 -0
  176. package/dist/components/dropdown-menu/useMenuTrigger.d.ts +14 -0
  177. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +71 -0
  178. package/dist/components/fourier-field/FourierField.vue.d.ts +54 -0
  179. package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
  180. package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
  181. package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
  182. package/dist/components/fourier-field/composables/useFourierField.d.ts +55 -0
  183. package/dist/components/fourier-field/constants.d.ts +134 -0
  184. package/dist/components/fourier-field/index.d.ts +31 -0
  185. package/dist/components/fourier-field/math.d.ts +111 -0
  186. package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  187. package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  188. package/dist/components/fourier-field/shaders/fourier-field.ribbon.d.ts +51 -0
  189. package/dist/components/handmark/composables/useHandMark.d.ts +99 -0
  190. package/dist/components/handmark/constants.d.ts +69 -0
  191. package/dist/components/handmark/geometry.d.ts +65 -0
  192. package/dist/components/handmark/noise.d.ts +30 -0
  193. package/dist/components/handmark/types.d.ts +70 -0
  194. package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
  195. package/dist/components/header-ribbon/index.d.ts +2 -0
  196. package/dist/components/header-ribbon/types.d.ts +7 -0
  197. package/dist/components/index.d.ts +36 -0
  198. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +42 -0
  199. package/dist/components/liquid-grid/composables/liquidGrid.d.ts +113 -0
  200. package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +18 -0
  201. package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +21 -0
  202. package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  203. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +31 -0
  204. package/dist/components/liquid-grid/constants.d.ts +93 -0
  205. package/dist/components/liquid-grid/index.d.ts +5 -0
  206. package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +4 -0
  207. package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +1 -0
  208. package/dist/components/metric-badge/MetricBadge.vue.d.ts +40 -0
  209. package/dist/components/metric-cell/MetricCell.vue.d.ts +108 -0
  210. package/dist/components/metric-stack/MetricRow.vue.d.ts +120 -0
  211. package/dist/components/notification/Notification.vue.d.ts +16 -0
  212. package/dist/components/pager-dots/composables/usePagerWorm.d.ts +26 -0
  213. package/dist/components/pager-dots/constants.d.ts +15 -0
  214. package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +21 -0
  215. package/dist/components/popover/Popover.vue.d.ts +54 -0
  216. package/dist/components/popover/PopoverContent.vue.d.ts +53 -0
  217. package/dist/components/popover/PopoverTrigger.vue.d.ts +16 -0
  218. package/dist/components/popover/popoverContext.d.ts +17 -0
  219. package/dist/components/progress/Progress.vue.d.ts +54 -0
  220. package/dist/components/progress/ProgressLiquid.vue.d.ts +21 -0
  221. package/dist/components/progress/index.d.ts +6 -0
  222. package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +19 -0
  223. package/dist/components/scroll-progress-rim/index.d.ts +3 -0
  224. package/dist/components/scroll-progress-rim/types.d.ts +2 -0
  225. package/dist/components/search/FuzzySearch.vue.d.ts +22 -0
  226. package/dist/components/search/SearchBar.vue.d.ts +38 -0
  227. package/dist/components/search/searchVariants.d.ts +19 -0
  228. package/dist/components/select/SelectContent.vue.d.ts +42 -0
  229. package/dist/components/slider/Slider.vue.d.ts +40 -0
  230. package/dist/components/slider/index.d.ts +46 -0
  231. package/dist/components/sortable-list/SortableHandle.vue.d.ts +19 -0
  232. package/dist/components/sortable-list/SortableItem.vue.d.ts +22 -0
  233. package/dist/components/sortable-list/SortableList.vue.d.ts +39 -0
  234. package/dist/components/sortable-list/composables/dragController.d.ts +29 -0
  235. package/dist/components/sortable-list/composables/types.d.ts +50 -0
  236. package/dist/components/sortable-list/composables/useSortable.d.ts +5 -0
  237. package/dist/components/sortable-list/context.d.ts +11 -0
  238. package/dist/components/sortable-list/index.d.ts +4 -0
  239. package/dist/components/split-chars/SplitChars.vue.d.ts +53 -0
  240. package/dist/components/stacked-icons/types.d.ts +19 -0
  241. package/dist/components/surface/Surface.vue.d.ts +45 -0
  242. package/dist/components/surface/index.d.ts +2 -0
  243. package/dist/components/tabs/SegmentedTabs.vue.d.ts +101 -0
  244. package/dist/components/tabs/composables/useEyeglassLive.d.ts +17 -0
  245. package/dist/components/tabs/composables/useTabDragMorph.d.ts +42 -0
  246. package/dist/components/tabs/composables/useTabResponsive.d.ts +43 -0
  247. package/dist/components/tabs/composables/useTabRovingFocus.d.ts +51 -0
  248. package/dist/components/tabs/constants.d.ts +1 -0
  249. package/dist/components/timeline/ContinuousMarkers.vue.d.ts +49 -0
  250. package/dist/components/timeline/GlassTimeline.vue.d.ts +114 -0
  251. package/dist/components/toast/Toast.vue.d.ts +107 -0
  252. package/dist/components/toast/index.d.ts +9 -0
  253. package/dist/components/toast/use-toast.d.ts +182 -0
  254. package/dist/components/toggle/Toggle.vue.d.ts +29 -0
  255. package/dist/components/toggle/index.d.ts +26 -0
  256. package/dist/components/watercolor-dot/prng.d.ts +5 -0
  257. package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +31 -0
  258. package/dist/composables/color/accent-tone-solve.d.ts +11 -0
  259. package/dist/composables/color/index.d.ts +18 -1
  260. package/dist/composables/color/useAccentTone.d.ts +6 -8
  261. package/dist/composables/dom/useUserInvalidAria.d.ts +7 -11
  262. package/dist/composables/glass/ambientHueHistogram.d.ts +27 -0
  263. package/dist/composables/glass/backdropLuminanceSample.d.ts +56 -0
  264. package/dist/composables/glass/backdropSampleMath.d.ts +5 -0
  265. package/dist/composables/glass/textureUpload.d.ts +91 -0
  266. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +27 -1
  267. package/dist/composables/glass/useSpecularPointer.d.ts +23 -4
  268. package/dist/composables/glass/useSpecularTracking.d.ts +1 -1
  269. package/dist/composables/glass/wave/waveField.d.ts +22 -1
  270. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -1
  271. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -1
  272. package/dist/composables/glass/webgl/backingSize.d.ts +44 -0
  273. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +36 -55
  274. package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +36 -0
  275. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +1 -1
  276. package/dist/composables/glass/webgl/visibility.d.ts +42 -0
  277. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +5 -4
  278. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +3 -111
  279. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +96 -0
  280. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +30 -0
  281. package/dist/composables/index.d.ts +1 -2
  282. package/dist/composables/motion/bloomUpField.d.ts +29 -0
  283. package/dist/composables/motion/core/index.d.ts +6 -2
  284. package/dist/composables/motion/gooBarbellGeometry.d.ts +79 -0
  285. package/dist/composables/motion/index.d.ts +1 -1
  286. package/dist/composables/motion/morphSignatures.d.ts +88 -0
  287. package/dist/composables/motion/motionTempo.d.ts +9 -0
  288. package/dist/composables/motion/pointerFieldMappings.d.ts +161 -0
  289. package/dist/composables/motion/springPresets.d.ts +17 -23
  290. package/dist/composables/motion/useDockCtaReceive.d.ts +32 -39
  291. package/dist/composables/motion/useElementMorph.d.ts +99 -0
  292. package/dist/composables/motion/useLeadTrail.d.ts +69 -0
  293. package/dist/composables/motion/useLiquidPress.d.ts +9 -0
  294. package/dist/composables/motion/useLiquidReveal.d.ts +15 -29
  295. package/dist/composables/motion/usePointerVelocityField.d.ts +59 -0
  296. package/dist/composables/motion/useRoutePointer.d.ts +41 -0
  297. package/dist/composables/motion/useSelectionGroup.d.ts +83 -0
  298. package/dist/composables/motion/useSelectionIndicator.d.ts +90 -0
  299. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  300. package/dist/configurator.d.ts +1 -1
  301. package/dist/configurator.js +3 -3
  302. package/dist/constellation.d.ts +1 -1
  303. package/dist/constellation.js +292 -255
  304. package/dist/controls.d.ts +1 -1
  305. package/dist/controls.js +5 -5
  306. package/dist/createCanvasLifecycle-DlrcvWbb.js +209 -0
  307. package/dist/dark.js +1 -1
  308. package/dist/data-table.d.ts +1 -1
  309. package/dist/data-table.js +1 -1
  310. package/dist/deck.d.ts +1 -1
  311. package/dist/deck.js +6 -6
  312. package/dist/dialog.d.ts +1 -1
  313. package/dist/dialog.js +3 -4
  314. package/dist/dock.d.ts +1 -1
  315. package/dist/dock.js +1038 -1591
  316. package/dist/dockContext-d-WpJN2Z.js +13 -0
  317. package/dist/dom.js +6 -6
  318. package/dist/drawer.d.ts +1 -1
  319. package/dist/drawer.js +169 -161
  320. package/dist/dropdown-menu-DaGlVdp9.js +421 -0
  321. package/dist/dropdown-menu.d.ts +1 -1
  322. package/dist/dropdown-menu.js +1 -1
  323. package/dist/easing.d.ts +10 -1
  324. package/dist/easing.js +148 -148
  325. package/dist/expandable-container.d.ts +1 -1
  326. package/dist/expandable-container.js +85 -66
  327. package/dist/fading-scroll.d.ts +1 -1
  328. package/dist/fading-scroll.js +1 -1
  329. package/dist/focus-scope.d.ts +1 -1
  330. package/dist/focus-scope.js +2 -23
  331. package/dist/forms.d.ts +4 -3
  332. package/dist/forms.js +75 -66
  333. package/dist/fourier-field.d.ts +1 -1
  334. package/dist/fourier-field.js +608 -554
  335. package/dist/fourier-math.d.ts +7 -1
  336. package/dist/fourier-math.js +2 -2
  337. package/dist/glass-ui.css +1 -1
  338. package/dist/glass-ui.js +192 -340
  339. package/dist/handmark.d.ts +3 -1
  340. package/dist/handmark.js +179 -161
  341. package/dist/header-ribbon.d.ts +1 -1
  342. package/dist/header-ribbon.js +7 -7
  343. package/dist/icon-chip.d.ts +1 -1
  344. package/dist/icon-chip.js +1 -1
  345. package/dist/icon-tooltip.d.ts +1 -1
  346. package/dist/icon-tooltip.js +1 -1
  347. package/dist/index.d.ts +42 -45
  348. package/dist/infinite-scroll.d.ts +2 -2
  349. package/dist/infinite-scroll.js +2 -2
  350. package/dist/instrument-chassis.d.ts +1 -1
  351. package/dist/instrument-chassis.js +1 -1
  352. package/dist/keyboard.js +1 -1
  353. package/dist/label.d.ts +1 -1
  354. package/dist/label.js +1 -1
  355. package/dist/labeled-field.d.ts +1 -1
  356. package/dist/labeled-field.js +13 -13
  357. package/dist/liquid-grid.d.ts +1 -0
  358. package/dist/liquid-grid.js +1064 -0
  359. package/dist/math-CIEcwsYi.js +112 -0
  360. package/dist/menuItemVariants-DbO-Fr74.js +36 -0
  361. package/dist/metric-badge.d.ts +1 -1
  362. package/dist/metric-badge.js +79 -2
  363. package/dist/metric-cell.d.ts +1 -1
  364. package/dist/metric-cell.js +9 -9
  365. package/dist/metric-stack.d.ts +1 -1
  366. package/dist/metric-stack.js +23 -23
  367. package/dist/motion-core.js +48 -42
  368. package/dist/motion-curves.d.ts +20 -0
  369. package/dist/motion-curves.js +2 -2
  370. package/dist/motion.js +94 -210
  371. package/dist/motionTempo-CMS5b0Vu.js +7 -0
  372. package/dist/notification.d.ts +1 -1
  373. package/dist/notification.js +1 -1
  374. package/dist/number-field.d.ts +1 -1
  375. package/dist/number-field.js +1 -1
  376. package/dist/pager-dots.d.ts +1 -1
  377. package/dist/pager-dots.js +1 -1
  378. package/dist/paper-backdrop.d.ts +1 -1
  379. package/dist/paper-backdrop.js +1 -1
  380. package/dist/pointerFieldMappings-4VtmkOWv.js +65 -0
  381. package/dist/popover.d.ts +1 -1
  382. package/dist/popover.js +1 -1
  383. package/dist/presets-B07HzyKd.js +95 -0
  384. package/dist/prng-B0PLRmR6.js +15 -0
  385. package/dist/progress.d.ts +1 -1
  386. package/dist/progress.js +2 -2
  387. package/dist/pulse.d.ts +1 -1
  388. package/dist/pulse.js +4 -4
  389. package/dist/reactive.js +2 -2
  390. package/dist/resolveCanvasColor-B3L-akX0.js +93 -0
  391. package/dist/scroll-progress-rim.d.ts +1 -0
  392. package/dist/scroll-progress-rim.js +61 -0
  393. package/dist/search.d.ts +1 -1
  394. package/dist/search.js +123 -123
  395. package/dist/select.d.ts +1 -1
  396. package/dist/select.js +3 -3
  397. package/dist/separator.d.ts +1 -1
  398. package/dist/separator.js +1 -1
  399. package/dist/sidebar.js +1 -1
  400. package/dist/slider-Cxuj_W_H.js +151 -0
  401. package/dist/slider.d.ts +1 -1
  402. package/dist/slider.js +1 -1
  403. package/dist/sortable-list.d.ts +1 -1
  404. package/dist/sortable-list.js +384 -59
  405. package/dist/spa-view.d.ts +1 -1
  406. package/dist/spa-view.js +1 -1
  407. package/dist/springPresets-h5VKJQqG.js +58 -0
  408. package/dist/stacked-icons.d.ts +1 -1
  409. package/dist/stacked-icons.js +6 -6
  410. package/dist/status-dot.d.ts +1 -1
  411. package/dist/status-dot.js +2 -2
  412. package/dist/styles/animations.css +1 -409
  413. package/dist/styles/card-scroll.css +1 -0
  414. package/dist/styles/cards.css +1 -448
  415. package/dist/styles/completion-seal.css +1 -131
  416. package/dist/styles/components.css +1 -45
  417. package/dist/styles/configurator.css +1 -297
  418. package/dist/styles/dialog-placement.css +1 -0
  419. package/dist/styles/dock/adaptive-legibility.css +1 -119
  420. package/dist/styles/dock/crossfade.css +1 -0
  421. package/dist/styles/dock/cta-seat.css +1 -87
  422. package/dist/styles/dock/density.css +1 -455
  423. package/dist/styles/dock/dock.css +1 -0
  424. package/dist/styles/dock/fisheye.css +1 -0
  425. package/dist/styles/dock/layer-group.css +1 -333
  426. package/dist/styles/dock/layers.css +1 -413
  427. package/dist/styles/dock/morph.css +1 -430
  428. package/dist/styles/dock/overflow.css +1 -292
  429. package/dist/styles/dock/popover.css +1 -0
  430. package/dist/styles/dock/search.css +1 -68
  431. package/dist/styles/dock/section.css +1 -59
  432. package/dist/styles/dock/shape.css +1 -250
  433. package/dist/styles/dock/shell-regions.css +1 -0
  434. package/dist/styles/dock/shell.css +1 -498
  435. package/dist/styles/dock-controls/dark-mode-toggle.css +1 -122
  436. package/dist/styles/dock-controls/icon-button.css +1 -189
  437. package/dist/styles/dock-controls/tab-button.css +1 -143
  438. package/dist/styles/dock-controls/touch-floor.css +1 -94
  439. package/dist/styles/dock-controls/triggers.css +1 -157
  440. package/dist/styles/dock-controls.css +1 -92
  441. package/dist/styles/dock.css +1 -173
  442. package/dist/styles/draw-in.css +1 -0
  443. package/dist/styles/drawer.css +1 -406
  444. package/dist/styles/feedback-tone.css +1 -104
  445. package/dist/styles/fonts.css +1 -143
  446. package/dist/styles/glass/a11y-fallback.css +1 -245
  447. package/dist/styles/glass/accent-tone.css +1 -66
  448. package/dist/styles/glass/control-surfaces.css +1 -167
  449. package/dist/styles/glass/deep.css +1 -44
  450. package/dist/styles/glass/defined.css +1 -0
  451. package/dist/styles/glass/glass-atom.css +1 -244
  452. package/dist/styles/glass/glass-capsule.css +1 -143
  453. package/dist/styles/glass/glass-chip.css +1 -215
  454. package/dist/styles/glass/grain-overlay.css +1 -0
  455. package/dist/styles/glass/ladder-undershadow.css +1 -0
  456. package/dist/styles/glass/ladder.css +1 -489
  457. package/dist/styles/glass/liquid-enter.css +1 -252
  458. package/dist/styles/glass/liquid-fill.css +1 -0
  459. package/dist/styles/glass/material.css +1 -370
  460. package/dist/styles/glass/progress-rail.css +1 -78
  461. package/dist/styles/glass/reveal.css +1 -156
  462. package/dist/styles/glass/rim.css +1 -122
  463. package/dist/styles/glass/squircle.css +1 -66
  464. package/dist/styles/glass/surface-axis.css +1 -113
  465. package/dist/styles/glass/surfaces-pager.css +1 -0
  466. package/dist/styles/glass/surfaces.css +1 -411
  467. package/dist/styles/glass-refract.css +1 -114
  468. package/dist/styles/glass-specular-track.css +1 -74
  469. package/dist/styles/glass.css +1 -77
  470. package/dist/styles/icon-chip.css +1 -256
  471. package/dist/styles/index.css +1 -260
  472. package/dist/styles/instrument-chassis.css +1 -453
  473. package/dist/styles/menu.css +1 -127
  474. package/dist/styles/paper.css +1 -284
  475. package/dist/styles/scroll-choreography.css +1 -357
  476. package/dist/styles/scroll-chrome.css +1 -123
  477. package/dist/styles/scroll-driven.css +1 -110
  478. package/dist/styles/scroll-progress-rim.css +1 -0
  479. package/dist/styles/segmented-tabs.css +1 -447
  480. package/dist/styles/select.css +1 -201
  481. package/dist/styles/tabs/segmented-tabs-drag.css +1 -0
  482. package/dist/styles/theme/bridges.css +1 -380
  483. package/dist/styles/theme/dark.css +1 -7
  484. package/dist/styles/theme/literals.css +1 -103
  485. package/dist/styles/theme/radius.css +1 -117
  486. package/dist/styles/theme.css +1 -33
  487. package/dist/styles/tokens/color-radius.css +1 -297
  488. package/dist/styles/tokens/dark-arm-glass.css +1 -0
  489. package/dist/styles/tokens/dark-arm.css +1 -462
  490. package/dist/styles/tokens/glass-deep.css +1 -104
  491. package/dist/styles/tokens/glass-fx.css +1 -454
  492. package/dist/styles/tokens/glass.css +1 -412
  493. package/dist/styles/tokens/light-dark.css +1 -200
  494. package/dist/styles/tokens/motion-registers.css +1 -0
  495. package/dist/styles/tokens/offsets.css +1 -143
  496. package/dist/styles/tokens/on-glass-fg.css +1 -39
  497. package/dist/styles/tokens/property-regs-specular.css +1 -0
  498. package/dist/styles/tokens/property-regs.css +1 -566
  499. package/dist/styles/tokens/scale-paper.css +1 -493
  500. package/dist/styles/tokens/scheme-motion.css +1 -363
  501. package/dist/styles/tokens/scheme-spring.css +1 -239
  502. package/dist/styles/tokens/scroll-tokens.css +1 -123
  503. package/dist/styles/tokens/shadow.css +1 -226
  504. package/dist/styles/tokens/sizing-config.css +1 -110
  505. package/dist/styles/tokens/sizing.css +1 -450
  506. package/dist/styles/tokens.css +1 -52
  507. package/dist/styles/transitions.css +1 -263
  508. package/dist/styles/typography/scale.css +1 -153
  509. package/dist/styles/typography/semantic.css +1 -233
  510. package/dist/styles/typography/utilities.css +1 -174
  511. package/dist/styles/typography.css +1 -46
  512. package/dist/styles/utilities/a11y-overrides.css +1 -184
  513. package/dist/styles/utilities/animate.css +0 -29
  514. package/dist/styles/utilities/base-misc.css +1 -307
  515. package/dist/styles/utilities/base.css +1 -327
  516. package/dist/styles/utilities/btn.css +1 -301
  517. package/dist/styles/utilities/components.css +1 -342
  518. package/dist/styles/utilities/metal.css +1 -215
  519. package/dist/styles/utilities.css +1 -26
  520. package/dist/styles/view-transition.css +1 -67
  521. package/dist/styles/viz-reveal.css +1 -0
  522. package/dist/surface.d.ts +1 -0
  523. package/dist/surface.js +3 -0
  524. package/dist/switch.d.ts +1 -1
  525. package/dist/switch.js +1 -1
  526. package/dist/tabs.d.ts +1 -1
  527. package/dist/tabs.js +189 -249
  528. package/dist/timeline.d.ts +1 -1
  529. package/dist/timeline.js +199 -183
  530. package/dist/toast.d.ts +1 -1
  531. package/dist/toast.js +1 -1
  532. package/dist/toggle-group.d.ts +1 -1
  533. package/dist/toggle-group.js +1 -1
  534. package/dist/tooltip.d.ts +1 -1
  535. package/dist/tooltip.js +1 -1
  536. package/dist/typewriter.d.ts +1 -1
  537. package/dist/typewriter.js +8 -8
  538. package/dist/useAccentTone-D25DxviG.js +23 -0
  539. package/dist/useAnimatedNumber-2XC4aRB6.js +40 -0
  540. package/dist/useConfiguratorState-Dq35N_7t.js +167 -0
  541. package/dist/useControlSize-DJwe-7ZQ.js +9 -0
  542. package/dist/useDockCtaReceive-BgMmeINo.js +161 -0
  543. package/dist/useDocumentVisibility-CpJGUgcJ.js +17 -0
  544. package/dist/useDragMorph-65ihHePq.js +93 -0
  545. package/dist/useFuzzySearch-KslRxiJY.js +177 -0
  546. package/dist/useGooMorph-CU1pwuC6.js +268 -0
  547. package/dist/useGpuSubstrate-DcY584kE.js +347 -0
  548. package/dist/useIntersectionPause-Cmt5Tnv9.js +39 -0
  549. package/dist/useKeyboardShortcuts-ynVmNFo3.js +104 -0
  550. package/dist/useLeadTrail-DOH4XkL1.js +74 -0
  551. package/dist/useLiquidPress-BXNHydZh.js +40 -0
  552. package/dist/useMotionAxis-DCCXMC-i.js +20 -0
  553. package/dist/usePointerVelocityField-CwXyeW0Z.js +122 -0
  554. package/dist/useRAFLoop-CvOo_kgb.js +109 -0
  555. package/dist/useRoutePointer-DL7I0gY4.js +52 -0
  556. package/dist/useScrollProgress-C-yImzhU.js +35 -0
  557. package/dist/useSelectionGroup-Btpf24aY.js +215 -0
  558. package/dist/useSpring-BBSKFx_0.js +41 -0
  559. package/dist/useSpringMount-CNvvgGiC.js +71 -0
  560. package/dist/useSpringPress-BypV_KO-.js +36 -0
  561. package/dist/useSurfaceAxis-DudiZVOR.js +10 -0
  562. package/dist/useTabRovingFocus-CG1H1k1J.js +143 -0
  563. package/dist/useTouchGate-BlegwvwL.js +84 -0
  564. package/dist/useUserInvalidAria-Bkruei7M.js +25 -0
  565. package/dist/watercolor-dot.d.ts +1 -1
  566. package/dist/watercolor-dot.js +52 -50
  567. package/package.json +386 -827
  568. package/src/styles/animations.css +82 -23
  569. package/src/styles/card-scroll.css +189 -0
  570. package/src/styles/cards.css +45 -6
  571. package/src/styles/completion-seal.css +75 -1
  572. package/src/styles/configurator.css +63 -1
  573. package/src/styles/dialog-placement.css +68 -0
  574. package/src/styles/dock/adaptive-legibility.css +1 -1
  575. package/src/styles/dock/crossfade.css +139 -0
  576. package/src/styles/dock/density.css +16 -13
  577. package/src/styles/dock/dock.css +199 -0
  578. package/src/styles/dock/fisheye.css +81 -0
  579. package/src/styles/dock/layer-group.css +37 -41
  580. package/src/styles/dock/layers.css +46 -21
  581. package/src/styles/dock/morph.css +41 -16
  582. package/src/styles/dock/overflow.css +107 -67
  583. package/src/styles/dock/popover.css +249 -0
  584. package/src/styles/dock/shape.css +77 -139
  585. package/src/styles/dock/shell-regions.css +73 -0
  586. package/src/styles/dock/shell.css +159 -157
  587. package/src/styles/dock-controls/dark-mode-toggle.css +3 -2
  588. package/src/styles/dock-controls/icon-button.css +43 -11
  589. package/src/styles/dock-controls/tab-button.css +2 -2
  590. package/src/styles/dock-controls/touch-floor.css +25 -0
  591. package/src/styles/dock.css +60 -14
  592. package/src/styles/draw-in.css +89 -0
  593. package/src/styles/drawer.css +77 -41
  594. package/src/styles/glass/a11y-fallback.css +19 -76
  595. package/src/styles/glass/control-surfaces.css +20 -16
  596. package/src/styles/glass/deep.css +74 -4
  597. package/src/styles/glass/defined.css +88 -0
  598. package/src/styles/glass/glass-atom.css +23 -20
  599. package/src/styles/glass/glass-capsule.css +32 -0
  600. package/src/styles/glass/glass-chip.css +13 -17
  601. package/src/styles/glass/grain-overlay.css +79 -0
  602. package/src/styles/glass/ladder-undershadow.css +61 -0
  603. package/src/styles/glass/ladder.css +96 -133
  604. package/src/styles/glass/liquid-enter.css +12 -24
  605. package/src/styles/glass/liquid-fill.css +65 -0
  606. package/src/styles/glass/material.css +134 -10
  607. package/src/styles/glass/reveal.css +197 -20
  608. package/src/styles/glass/squircle.css +18 -26
  609. package/src/styles/glass/surface-axis.css +24 -1
  610. package/src/styles/glass/surfaces-pager.css +79 -0
  611. package/src/styles/glass/surfaces.css +121 -98
  612. package/src/styles/glass.css +34 -1
  613. package/src/styles/index.css +54 -26
  614. package/src/styles/menu.css +66 -6
  615. package/src/styles/paper.css +105 -202
  616. package/src/styles/scroll-choreography.css +29 -92
  617. package/src/styles/scroll-driven.css +18 -5
  618. package/src/styles/scroll-progress-rim.css +87 -0
  619. package/src/styles/segmented-tabs.css +67 -88
  620. package/src/styles/tabs/segmented-tabs-drag.css +200 -0
  621. package/src/styles/theme/bridges.css +8 -2
  622. package/src/styles/theme/literals.css +2 -1
  623. package/src/styles/theme/radius.css +43 -12
  624. package/src/styles/tokens/color-radius.css +15 -4
  625. package/src/styles/tokens/dark-arm-glass.css +55 -0
  626. package/src/styles/tokens/dark-arm.css +62 -69
  627. package/src/styles/tokens/glass-deep.css +102 -80
  628. package/src/styles/tokens/glass-fx.css +35 -5
  629. package/src/styles/tokens/glass.css +144 -78
  630. package/src/styles/tokens/light-dark.css +20 -4
  631. package/src/styles/tokens/motion-registers.css +93 -0
  632. package/src/styles/tokens/property-regs-specular.css +160 -0
  633. package/src/styles/tokens/property-regs.css +67 -186
  634. package/src/styles/tokens/scale-paper.css +6 -3
  635. package/src/styles/tokens/scheme-motion.css +59 -0
  636. package/src/styles/tokens/scheme-spring.css +146 -93
  637. package/src/styles/tokens/scroll-tokens.css +25 -11
  638. package/src/styles/tokens/shadow.css +28 -22
  639. package/src/styles/tokens/sizing.css +62 -7
  640. package/src/styles/tokens.css +16 -0
  641. package/src/styles/transitions.css +108 -143
  642. package/src/styles/typography/scale.css +10 -0
  643. package/src/styles/typography/semantic.css +5 -5
  644. package/src/styles/typography/utilities.css +25 -2
  645. package/src/styles/utilities/a11y-overrides.css +2 -2
  646. package/src/styles/utilities/base.css +13 -3
  647. package/src/styles/utilities/btn.css +29 -3
  648. package/src/styles/utilities/components.css +16 -21
  649. package/src/styles/utilities/metal.css +86 -29
  650. package/src/styles/viz-reveal.css +63 -0
  651. package/dist/CardAction-DlVP2evz.js +0 -272
  652. package/dist/CollapsibleContent-D7UNsXQr.js +0 -63
  653. package/dist/CommandShortcut-By-VQcLO.js +0 -302
  654. package/dist/ConfiguratorRow-YMXdINHx.js +0 -143
  655. package/dist/ContextMenuContent-CMWn6huB.js +0 -90
  656. package/dist/ContextMenuSubContent-DvwWCUc0.js +0 -245
  657. package/dist/DataTable-C4tG3eIJ.js +0 -512
  658. package/dist/DialogContent-D8U9ZfWS.js +0 -121
  659. package/dist/DialogFooter-DoLy0ewI.js +0 -80
  660. package/dist/DialogScrollContent-BMekN7gq.js +0 -93
  661. package/dist/FadingScroll-P8B30rAD.js +0 -76
  662. package/dist/HoverCardContent-DAmGYglo.js +0 -88
  663. package/dist/HoverPopover-DYpBOzzF.js +0 -96
  664. package/dist/IconChip-CQa7XZYc.js +0 -57
  665. package/dist/IconTooltip-_df8M3xm.js +0 -25
  666. package/dist/Input-CyU4_hIC.js +0 -57
  667. package/dist/InstrumentChassis-UUJX0-mW.js +0 -65
  668. package/dist/Label-B_HPqi_q.js +0 -36
  669. package/dist/MetricBadge-DQt_dGah.js +0 -79
  670. package/dist/ModalOverlay-DfAf7o15.js +0 -53
  671. package/dist/Notification-BlSPJhtZ.js +0 -43
  672. package/dist/NumberFieldContent-Z3VxGu_6.js +0 -140
  673. package/dist/PagerDots-CYlqVFd4.js +0 -196
  674. package/dist/PaperBackdrop-DYWgrnh8.js +0 -42
  675. package/dist/PopoverContent-BuKyHZSz.js +0 -127
  676. package/dist/Progress-C9SsdwIZ.js +0 -274
  677. package/dist/ScrollingText-DY3W1Jfh.js +0 -40
  678. package/dist/SelectGroup-Dcczq44n.js +0 -31
  679. package/dist/SelectScrollDownButton-3mFHX_R-.js +0 -260
  680. package/dist/SelectSeparator-CNRGG7Ew.js +0 -49
  681. package/dist/Separator-Cf9-JFgi.js +0 -44
  682. package/dist/Switch-uf-UKPA2.js +0 -49
  683. package/dist/Toaster-ozrsR4mP.js +0 -274
  684. package/dist/ToggleGroupItem-BpzaVzNm.js +0 -170
  685. package/dist/TooltipProvider-QQVM_80r.js +0 -109
  686. package/dist/api/index.d.ts +0 -34
  687. package/dist/api/types-extra.d.ts +0 -39
  688. package/dist/api.js +0 -2
  689. package/dist/badge-Bt14yURi.js +0 -72
  690. package/dist/border-progress.d.ts +0 -1
  691. package/dist/border-progress.js +0 -98
  692. package/dist/button-D1W9PrzI.js +0 -130
  693. package/dist/chipVariants-BJQ0I2kB.js +0 -18
  694. package/dist/cn-DJXf4yaB.js +0 -97
  695. package/dist/coalesceMetric-5qIeZnTx.js +0 -13
  696. package/dist/color-B9jZdhJX.js +0 -116
  697. package/dist/components/custom/aurora/Aurora.vue.d.ts +0 -101
  698. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +0 -39
  699. package/dist/components/custom/aurora/composables/atoms.d.ts +0 -142
  700. package/dist/components/custom/aurora/composables/color.d.ts +0 -93
  701. package/dist/components/custom/aurora/composables/cursorModel.d.ts +0 -78
  702. package/dist/components/custom/aurora/composables/frameLoop.d.ts +0 -39
  703. package/dist/components/custom/aurora/composables/glSetup.d.ts +0 -29
  704. package/dist/components/custom/aurora/composables/runtime.d.ts +0 -127
  705. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +0 -100
  706. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +0 -60
  707. package/dist/components/custom/aurora/composables/useAurora.d.ts +0 -86
  708. package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +0 -33
  709. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +0 -37
  710. package/dist/components/custom/aurora/constants/presets.d.ts +0 -258
  711. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +0 -1
  712. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +0 -1
  713. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +0 -1
  714. package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +0 -1
  715. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +0 -2
  716. package/dist/components/custom/aurora/index.d.ts +0 -13
  717. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +0 -46
  718. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +0 -25
  719. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +0 -18
  720. package/dist/components/custom/border-progress/constants.d.ts +0 -59
  721. package/dist/components/custom/border-progress/index.d.ts +0 -4
  722. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +0 -21
  723. package/dist/components/custom/completion-seal/constants.d.ts +0 -46
  724. package/dist/components/custom/concentric/Concentric.vue.d.ts +0 -42
  725. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +0 -23
  726. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +0 -26
  727. package/dist/components/custom/concentric/composables/levelField.d.ts +0 -50
  728. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +0 -17
  729. package/dist/components/custom/concentric/composables/useConcentric.d.ts +0 -35
  730. package/dist/components/custom/concentric/constants.d.ts +0 -88
  731. package/dist/components/custom/concentric/index.d.ts +0 -5
  732. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +0 -4
  733. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +0 -1
  734. package/dist/components/custom/configurator/Configurator.vue.d.ts +0 -160
  735. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +0 -79
  736. package/dist/components/custom/configurator/density.d.ts +0 -25
  737. package/dist/components/custom/configurator/index.d.ts +0 -6
  738. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +0 -32
  739. package/dist/components/custom/confirm-dialog/index.d.ts +0 -1
  740. package/dist/components/custom/constellation/Constellation.vue.d.ts +0 -33
  741. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +0 -10
  742. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +0 -19
  743. package/dist/components/custom/constellation/composables/useConstellation.d.ts +0 -19
  744. package/dist/components/custom/constellation/constants.d.ts +0 -94
  745. package/dist/components/custom/constellation/constellationTypes.d.ts +0 -407
  746. package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +0 -46
  747. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +0 -30
  748. package/dist/components/custom/dock/DockIconButton.vue.d.ts +0 -72
  749. package/dist/components/custom/dock/DockLayer.vue.d.ts +0 -34
  750. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +0 -51
  751. package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +0 -19
  752. package/dist/components/custom/dock/DockSelectTrigger.vue.d.ts +0 -29
  753. package/dist/components/custom/dock/DockStack.vue.d.ts +0 -78
  754. package/dist/components/custom/dock/DockTabButton.vue.d.ts +0 -39
  755. package/dist/components/custom/dock/GlassDock.vue.d.ts +0 -47
  756. package/dist/components/custom/dock/composables/dockContext.d.ts +0 -47
  757. package/dist/components/custom/dock/composables/dockLayerContext.d.ts +0 -36
  758. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +0 -79
  759. package/dist/components/custom/dock/composables/index.d.ts +0 -14
  760. package/dist/components/custom/dock/composables/railProjection.d.ts +0 -45
  761. package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +0 -192
  762. package/dist/components/custom/dock/composables/useDockFission.d.ts +0 -158
  763. package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +0 -18
  764. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +0 -15
  765. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +0 -44
  766. package/dist/components/custom/dock/composables/useDockSearch.d.ts +0 -85
  767. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +0 -214
  768. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +0 -90
  769. package/dist/components/custom/dock/constants.d.ts +0 -98
  770. package/dist/components/custom/dock/index.d.ts +0 -24
  771. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +0 -42
  772. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +0 -104
  773. package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +0 -8
  774. package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +0 -9
  775. package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +0 -12
  776. package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +0 -7
  777. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +0 -65
  778. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +0 -35
  779. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +0 -32
  780. package/dist/components/custom/dot-flow-field/constants.d.ts +0 -120
  781. package/dist/components/custom/dot-flow-field/index.d.ts +0 -5
  782. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +0 -1
  783. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +0 -33
  784. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +0 -2
  785. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +0 -43
  786. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +0 -89
  787. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -61
  788. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +0 -34
  789. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +0 -34
  790. package/dist/components/custom/dot-matrix/constants.d.ts +0 -72
  791. package/dist/components/custom/dot-matrix/index.d.ts +0 -5
  792. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +0 -4
  793. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +0 -1
  794. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +0 -71
  795. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +0 -58
  796. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +0 -24
  797. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +0 -31
  798. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +0 -56
  799. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +0 -63
  800. package/dist/components/custom/fourier-field/constants.d.ts +0 -117
  801. package/dist/components/custom/fourier-field/index.d.ts +0 -31
  802. package/dist/components/custom/fourier-field/math.d.ts +0 -86
  803. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +0 -4
  804. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +0 -1
  805. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +0 -49
  806. package/dist/components/custom/glass-panel/index.d.ts +0 -2
  807. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +0 -71
  808. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +0 -41
  809. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +0 -62
  810. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +0 -69
  811. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +0 -23
  812. package/dist/components/custom/goo-blob/constants.d.ts +0 -82
  813. package/dist/components/custom/goo-blob/index.d.ts +0 -7
  814. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +0 -1
  815. package/dist/components/custom/goo-blob/types.d.ts +0 -244
  816. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +0 -49
  817. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +0 -24
  818. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +0 -79
  819. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -45
  820. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +0 -31
  821. package/dist/components/custom/goo-dot-matrix/constants.d.ts +0 -115
  822. package/dist/components/custom/goo-dot-matrix/index.d.ts +0 -5
  823. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +0 -13
  824. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +0 -4
  825. package/dist/components/custom/handmark/composables/useHandMark.d.ts +0 -89
  826. package/dist/components/custom/handmark/constants.d.ts +0 -59
  827. package/dist/components/custom/handmark/geometry.d.ts +0 -85
  828. package/dist/components/custom/handmark/types.d.ts +0 -62
  829. package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +0 -31
  830. package/dist/components/custom/header-ribbon/index.d.ts +0 -2
  831. package/dist/components/custom/header-ribbon/types.d.ts +0 -7
  832. package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +0 -132
  833. package/dist/components/custom/hover-popover/index.d.ts +0 -1
  834. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +0 -40
  835. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +0 -108
  836. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +0 -120
  837. package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +0 -39
  838. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +0 -42
  839. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +0 -105
  840. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +0 -18
  841. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +0 -21
  842. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +0 -16
  843. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +0 -31
  844. package/dist/components/custom/paper-grid/constants.d.ts +0 -95
  845. package/dist/components/custom/paper-grid/index.d.ts +0 -5
  846. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +0 -4
  847. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +0 -1
  848. package/dist/components/custom/scrolling-text/ScrollingText.vue.d.ts +0 -20
  849. package/dist/components/custom/scrolling-text/index.d.ts +0 -1
  850. package/dist/components/custom/search/FuzzySearch.vue.d.ts +0 -22
  851. package/dist/components/custom/search/SearchBar.vue.d.ts +0 -38
  852. package/dist/components/custom/search/searchVariants.d.ts +0 -19
  853. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +0 -50
  854. package/dist/components/custom/selectable-chip/chipVariants.d.ts +0 -39
  855. package/dist/components/custom/selectable-chip/index.d.ts +0 -2
  856. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +0 -15
  857. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +0 -38
  858. package/dist/components/custom/sortable-list/SortableItem.vue.d.ts +0 -38
  859. package/dist/components/custom/sortable-list/SortableList.vue.d.ts +0 -76
  860. package/dist/components/custom/sortable-list/context.d.ts +0 -25
  861. package/dist/components/custom/sortable-list/index.d.ts +0 -4
  862. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +0 -39
  863. package/dist/components/custom/stacked-icons/types.d.ts +0 -18
  864. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +0 -99
  865. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +0 -42
  866. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +0 -58
  867. package/dist/components/custom/tabs/constants.d.ts +0 -44
  868. package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +0 -49
  869. package/dist/components/custom/timeline/GlassTimeline.vue.d.ts +0 -114
  870. package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +0 -41
  871. package/dist/components/custom/toggle-chip/index.d.ts +0 -28
  872. package/dist/components/custom/watercolor-dot/prng.d.ts +0 -5
  873. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +0 -29
  874. package/dist/components/ui/_shared/index.d.ts +0 -6
  875. package/dist/components/ui/_shared/menuItemVariants.d.ts +0 -51
  876. package/dist/components/ui/_shared/useControlSize.d.ts +0 -46
  877. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +0 -55
  878. package/dist/components/ui/alert/Alert.vue.d.ts +0 -19
  879. package/dist/components/ui/alert/index.d.ts +0 -8
  880. package/dist/components/ui/avatar/Avatar.vue.d.ts +0 -23
  881. package/dist/components/ui/avatar/index.d.ts +0 -9
  882. package/dist/components/ui/badge/Badge.vue.d.ts +0 -34
  883. package/dist/components/ui/badge/index.d.ts +0 -8
  884. package/dist/components/ui/button/Button.vue.d.ts +0 -29
  885. package/dist/components/ui/button/index.d.ts +0 -7
  886. package/dist/components/ui/card/Card.vue.d.ts +0 -168
  887. package/dist/components/ui/card/CardHeader.vue.d.ts +0 -81
  888. package/dist/components/ui/card/ScrollCard.vue.d.ts +0 -33
  889. package/dist/components/ui/carousel/Carousel.vue.d.ts +0 -37
  890. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +0 -14
  891. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +0 -22
  892. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +0 -22
  893. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +0 -50
  894. package/dist/components/ui/carousel/useCarousel.d.ts +0 -20
  895. package/dist/components/ui/combobox/Combobox.vue.d.ts +0 -29
  896. package/dist/components/ui/combobox/ComboboxList.vue.d.ts +0 -32
  897. package/dist/components/ui/command/index.d.ts +0 -9
  898. package/dist/components/ui/context-menu/ContextMenu.vue.d.ts +0 -18
  899. package/dist/components/ui/context-menu/ContextMenuCheckboxItem.vue.d.ts +0 -24
  900. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +0 -34
  901. package/dist/components/ui/context-menu/ContextMenuItem.vue.d.ts +0 -23
  902. package/dist/components/ui/context-menu/ContextMenuLabel.vue.d.ts +0 -19
  903. package/dist/components/ui/context-menu/ContextMenuRadioGroup.vue.d.ts +0 -18
  904. package/dist/components/ui/context-menu/ContextMenuRadioItem.vue.d.ts +0 -22
  905. package/dist/components/ui/context-menu/ContextMenuSeparator.vue.d.ts +0 -8
  906. package/dist/components/ui/context-menu/ContextMenuShortcut.vue.d.ts +0 -17
  907. package/dist/components/ui/context-menu/ContextMenuSubContent.vue.d.ts +0 -34
  908. package/dist/components/ui/context-menu/ContextMenuSubTrigger.vue.d.ts +0 -19
  909. package/dist/components/ui/context-menu/ContextMenuTrigger.vue.d.ts +0 -14
  910. package/dist/components/ui/context-menu/index.d.ts +0 -12
  911. package/dist/components/ui/dialog/DialogContent.vue.d.ts +0 -93
  912. package/dist/components/ui/drawer/Drawer.vue.d.ts +0 -86
  913. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +0 -47
  914. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +0 -17
  915. package/dist/components/ui/drawer/constants.d.ts +0 -47
  916. package/dist/components/ui/drawer/index.d.ts +0 -35
  917. package/dist/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +0 -18
  918. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +0 -36
  919. package/dist/components/ui/dropdown-menu/index.d.ts +0 -15
  920. package/dist/components/ui/hover-card/HoverCard.vue.d.ts +0 -18
  921. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +0 -23
  922. package/dist/components/ui/hover-card/HoverCardTrigger.vue.d.ts +0 -14
  923. package/dist/components/ui/hover-card/index.d.ts +0 -3
  924. package/dist/components/ui/index.d.ts +0 -41
  925. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +0 -46
  926. package/dist/components/ui/metric-pill/index.d.ts +0 -1
  927. package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +0 -28
  928. package/dist/components/ui/multi-select/index.d.ts +0 -7
  929. package/dist/components/ui/notification/Notification.vue.d.ts +0 -16
  930. package/dist/components/ui/popover/Popover.vue.d.ts +0 -18
  931. package/dist/components/ui/popover/PopoverContent.vue.d.ts +0 -42
  932. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +0 -14
  933. package/dist/components/ui/progress/Progress.vue.d.ts +0 -49
  934. package/dist/components/ui/progress/index.d.ts +0 -5
  935. package/dist/components/ui/select/SelectContent.vue.d.ts +0 -42
  936. package/dist/components/ui/sheet/Sheet.vue.d.ts +0 -18
  937. package/dist/components/ui/sheet/SheetClose.vue.d.ts +0 -14
  938. package/dist/components/ui/sheet/SheetContent.vue.d.ts +0 -59
  939. package/dist/components/ui/sheet/SheetDescription.vue.d.ts +0 -18
  940. package/dist/components/ui/sheet/SheetFooter.vue.d.ts +0 -17
  941. package/dist/components/ui/sheet/SheetHeader.vue.d.ts +0 -17
  942. package/dist/components/ui/sheet/SheetTitle.vue.d.ts +0 -18
  943. package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +0 -14
  944. package/dist/components/ui/sheet/index.d.ts +0 -13
  945. package/dist/components/ui/slider/Slider.vue.d.ts +0 -37
  946. package/dist/components/ui/slider/index.d.ts +0 -46
  947. package/dist/components/ui/tabs/Tabs.vue.d.ts +0 -19
  948. package/dist/components/ui/tabs/TabsContent.vue.d.ts +0 -18
  949. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +0 -11
  950. package/dist/components/ui/tabs/TabsList.vue.d.ts +0 -28
  951. package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +0 -18
  952. package/dist/components/ui/tabs/index.d.ts +0 -5
  953. package/dist/components/ui/toast/Toast.vue.d.ts +0 -107
  954. package/dist/components/ui/toast/index.d.ts +0 -9
  955. package/dist/components/ui/toast/use-toast.d.ts +0 -182
  956. package/dist/components/ui/toggle/Toggle.vue.d.ts +0 -29
  957. package/dist/components/ui/toggle/index.d.ts +0 -26
  958. package/dist/composables/glass/useGlassRenderer.d.ts +0 -44
  959. package/dist/composables/glass/useVizChoreography.d.ts +0 -123
  960. package/dist/composables/motion/core/useHaptic.d.ts +0 -48
  961. package/dist/composables/motion/useCelebrationBurst.d.ts +0 -50
  962. package/dist/composables/motion/useLiquidMorph.d.ts +0 -108
  963. package/dist/composables/motion/useMorphField.d.ts +0 -157
  964. package/dist/composables/sortable/dragController.d.ts +0 -44
  965. package/dist/composables/sortable/types.d.ts +0 -133
  966. package/dist/composables/sortable/useSortable.d.ts +0 -34
  967. package/dist/concentric.d.ts +0 -1
  968. package/dist/concentric.js +0 -805
  969. package/dist/confirm-dialog.d.ts +0 -1
  970. package/dist/confirm-dialog.js +0 -82
  971. package/dist/context-menu.d.ts +0 -1
  972. package/dist/context-menu.js +0 -3
  973. package/dist/createCanvasLifecycle-CuCrGRfq.js +0 -173
  974. package/dist/dockContext-gFVS2gMg.js +0 -18
  975. package/dist/dot-flow-field.d.ts +0 -1
  976. package/dist/dot-flow-field.js +0 -1485
  977. package/dist/dot-matrix.d.ts +0 -1
  978. package/dist/dot-matrix.js +0 -774
  979. package/dist/dotMatrixField-CRO0ZFk4.js +0 -48
  980. package/dist/dropdown-menu-CCfcCQ68.js +0 -369
  981. package/dist/glass-panel.d.ts +0 -1
  982. package/dist/glass-panel.js +0 -113
  983. package/dist/goo-blob.d.ts +0 -1
  984. package/dist/goo-blob.js +0 -348
  985. package/dist/goo-dot-matrix.d.ts +0 -1
  986. package/dist/goo-dot-matrix.js +0 -811
  987. package/dist/hover-card.d.ts +0 -1
  988. package/dist/hover-card.js +0 -2
  989. package/dist/hover-popover.d.ts +0 -1
  990. package/dist/hover-popover.js +0 -2
  991. package/dist/math-5RcIgCB4.js +0 -51
  992. package/dist/menuItemVariants-DAXquKja.js +0 -36
  993. package/dist/paper-grid.d.ts +0 -1
  994. package/dist/paper-grid.js +0 -761
  995. package/dist/paperGrid-CXCSMbZ1.js +0 -191
  996. package/dist/presets-QvYgnFIZ.js +0 -85
  997. package/dist/prng-B5tIXTtj.js +0 -15
  998. package/dist/resolveCanvasColor-DsSJk06I.js +0 -93
  999. package/dist/scrolling-text.d.ts +0 -1
  1000. package/dist/scrolling-text.js +0 -2
  1001. package/dist/selectable-chip.d.ts +0 -1
  1002. package/dist/selectable-chip.js +0 -48
  1003. package/dist/sheet-DUCIoOe0.js +0 -218
  1004. package/dist/sheet.d.ts +0 -1
  1005. package/dist/sheet.js +0 -2
  1006. package/dist/slider-CcICPe3u.js +0 -149
  1007. package/dist/spectrum-walk-cBNSx_zm.js +0 -33
  1008. package/dist/springPresets-DfoQ6XRY.js +0 -64
  1009. package/dist/styles/border-progress.css +0 -109
  1010. package/dist/styles/critical-partition.mjs +0 -195
  1011. package/dist/styles/critical.css +0 -12
  1012. package/dist/styles/deferred.css +0 -35
  1013. package/dist/styles/dock/fission-bridge.css +0 -552
  1014. package/dist/styles/dock/morph-bridge.css +0 -172
  1015. package/dist/styles/dock/stack-rail.css +0 -352
  1016. package/dist/styles/floating-panel.css +0 -51
  1017. package/dist/styles/glass/liquid-morph.css +0 -850
  1018. package/dist/styles/hover-popover.css +0 -47
  1019. package/dist/styles/jubilance.css +0 -65
  1020. package/dist/styles/motion/morph-field.css +0 -229
  1021. package/dist/toggle-chip.d.ts +0 -1
  1022. package/dist/toggle-chip.js +0 -46
  1023. package/dist/uniformBridgeWGPU-BCse1SHU.js +0 -1268
  1024. package/dist/useAnimatedNumber-BntskVdQ.js +0 -40
  1025. package/dist/useConfiguratorState-22BcULzF.js +0 -164
  1026. package/dist/useControlSize-DAZ062x7.js +0 -9
  1027. package/dist/useDockCtaReceive-DX7RDb6_.js +0 -88
  1028. package/dist/useDragMorph-DGLSewwB.js +0 -102
  1029. package/dist/useFuzzySearch-0fTYOhS4.js +0 -177
  1030. package/dist/useGooMorph-Cs13NgYL.js +0 -104
  1031. package/dist/useGpuSubstrate-Ceet70xq.js +0 -347
  1032. package/dist/useHaptic-CPz5BT9I.js +0 -134
  1033. package/dist/useIntersectionPause-DO8Vl4gs.js +0 -53
  1034. package/dist/useKeyboardShortcuts-BEut54Tk.js +0 -99
  1035. package/dist/useLiquidPress-CtOQ8Z0_.js +0 -43
  1036. package/dist/useMorphField-ogBM7ubT.js +0 -141
  1037. package/dist/usePointerVelocityField-BrkqZFhj.js +0 -91
  1038. package/dist/useScrollChrome-JuImi1DM.js +0 -258
  1039. package/dist/useScrollProgress-A0M6qRl7.js +0 -35
  1040. package/dist/useSortable-DQV_UNDw.js +0 -246
  1041. package/dist/useSpring-C0jyvEJB.js +0 -40
  1042. package/dist/useSpringMount-DFxtzmkR.js +0 -71
  1043. package/dist/useSpringPress-VM9RgVq3.js +0 -36
  1044. package/dist/useSurfaceAxis-Ci7Dnaw2.js +0 -7
  1045. package/dist/useTouchGate-B1Lf9XqN.js +0 -84
  1046. package/dist/useUserInvalidAria-EmmwWPOl.js +0 -29
  1047. package/dist/utils/cn.d.ts +0 -27
  1048. package/dist/utils/index.d.ts +0 -4
  1049. package/dist/utils/moveBefore.d.ts +0 -15
  1050. package/dist/utils/platformSupport.d.ts +0 -8
  1051. package/dist/vendor-B2qOlYY3.js +0 -239
  1052. package/dist/virtual.d.ts +0 -1
  1053. package/dist/virtual.js +0 -225
  1054. package/src/styles/border-progress.css +0 -109
  1055. package/src/styles/critical-partition.mjs +0 -195
  1056. package/src/styles/dock/fission-bridge.css +0 -552
  1057. package/src/styles/dock/morph-bridge.css +0 -172
  1058. package/src/styles/dock/stack-rail.css +0 -352
  1059. package/src/styles/floating-panel.css +0 -49
  1060. package/src/styles/glass/liquid-morph.css +0 -850
  1061. package/src/styles/hover-popover.css +0 -45
  1062. package/src/styles/jubilance.css +0 -65
  1063. package/src/styles/motion/morph-field.css +0 -229
  1064. /package/dist/{_plugin-vue_export-helper-gLzyemvl.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  1065. /package/dist/{compile-INR_tPk_.js → compile-C55K3P9g.js} +0 -0
  1066. /package/dist/components/{ui/_shared → _shared}/ModalOverlay.vue.d.ts +0 -0
  1067. /package/dist/components/{ui/_shared → _shared}/useStalePropWarning.d.ts +0 -0
  1068. /package/dist/components/{ui/accordion → accordion}/Accordion.vue.d.ts +0 -0
  1069. /package/dist/components/{ui/accordion → accordion}/AccordionContent.vue.d.ts +0 -0
  1070. /package/dist/components/{ui/accordion → accordion}/AccordionItem.vue.d.ts +0 -0
  1071. /package/dist/components/{ui/accordion → accordion}/AccordionTrigger.vue.d.ts +0 -0
  1072. /package/dist/components/{ui/accordion → accordion}/index.d.ts +0 -0
  1073. /package/dist/components/{ui/alert → alert}/AlertDescription.vue.d.ts +0 -0
  1074. /package/dist/components/{ui/alert → alert}/AlertTitle.vue.d.ts +0 -0
  1075. /package/dist/components/{custom/animated-digit → animated-digit}/AnimatedDigit.vue.d.ts +0 -0
  1076. /package/dist/components/{custom/animated-digit → animated-digit}/index.d.ts +0 -0
  1077. /package/dist/components/{custom/aurora → aurora}/composables/auroraFallbackGround.d.ts +0 -0
  1078. /package/dist/components/{custom/aurora → aurora}/composables/configSource.d.ts +0 -0
  1079. /package/dist/components/{custom/aurora → aurora}/constants/budget.d.ts +0 -0
  1080. /package/dist/components/{custom/aurora → aurora}/constants/renderMode.d.ts +0 -0
  1081. /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.frag.d.ts +0 -0
  1082. /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.vert.d.ts +0 -0
  1083. /package/dist/components/{custom/aurora → aurora}/constants/shaders/composition.glsl.d.ts +0 -0
  1084. /package/dist/components/{custom/aurora → aurora}/constants/shaders/oil-modes.glsl.d.ts +0 -0
  1085. /package/dist/components/{custom/aurora → aurora}/constants/shaders/procedural-color.wgsl.d.ts +0 -0
  1086. /package/dist/components/{custom/aurora → aurora}/constants/shaders/tonemap.glsl.d.ts +0 -0
  1087. /package/dist/components/{custom/aurora → aurora}/constants/shaders/vangogh-medium.glsl.d.ts +0 -0
  1088. /package/dist/components/{ui/avatar → avatar}/AvatarFallback.vue.d.ts +0 -0
  1089. /package/dist/components/{ui/avatar → avatar}/AvatarImage.vue.d.ts +0 -0
  1090. /package/dist/components/{custom/goo-blob → blob}/composables/buildMetaballProgram.d.ts +0 -0
  1091. /package/dist/components/{custom/goo-blob → blob}/composables/easing.d.ts +0 -0
  1092. /package/dist/components/{custom/goo-blob → blob}/composables/uniformBridgeWGPU.d.ts +0 -0
  1093. /package/dist/components/{custom/goo-blob → blob}/composables/useBlobMood.d.ts +0 -0
  1094. /package/dist/components/{custom/goo-blob → blob}/composables/useBlobSatellites.d.ts +0 -0
  1095. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-noise.wgsl.d.ts +0 -0
  1096. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-palette.wgsl.d.ts +0 -0
  1097. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.frag.d.ts +0 -0
  1098. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.vert.d.ts +0 -0
  1099. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.wgsl.d.ts +0 -0
  1100. /package/dist/components/{custom/goo-blob → blob}/shaders/oklch-perturb.glsl.d.ts +0 -0
  1101. /package/dist/components/{custom/goo-blob → blob}/shaders/sdf-body.glsl.d.ts +0 -0
  1102. /package/dist/components/{custom/goo-blob → blob}/shaders/watercolor-edges.glsl.d.ts +0 -0
  1103. /package/dist/components/{ui/card → card}/CardAction.vue.d.ts +0 -0
  1104. /package/dist/components/{ui/card → card}/CardContent.vue.d.ts +0 -0
  1105. /package/dist/components/{ui/card → card}/CardDescription.vue.d.ts +0 -0
  1106. /package/dist/components/{ui/card → card}/CardFooter.vue.d.ts +0 -0
  1107. /package/dist/components/{ui/card → card}/CardTitle.vue.d.ts +0 -0
  1108. /package/dist/components/{ui/card → card}/ScrollCardHeader.vue.d.ts +0 -0
  1109. /package/dist/components/{ui/card → card}/index.d.ts +0 -0
  1110. /package/dist/components/{ui/carousel → carousel}/CarouselItem.vue.d.ts +0 -0
  1111. /package/dist/components/{ui/carousel → carousel}/CarouselPager.vue.d.ts +0 -0
  1112. /package/dist/components/{ui/carousel → carousel}/index.d.ts +0 -0
  1113. /package/dist/components/{ui/carousel → carousel}/interface.d.ts +0 -0
  1114. /package/dist/components/{ui/checkbox → checkbox}/Checkbox.vue.d.ts +0 -0
  1115. /package/dist/components/{ui/checkbox → checkbox}/index.d.ts +0 -0
  1116. /package/dist/components/{ui/collapsible → collapsible}/Collapsible.vue.d.ts +0 -0
  1117. /package/dist/components/{ui/collapsible → collapsible}/CollapsibleContent.vue.d.ts +0 -0
  1118. /package/dist/components/{ui/collapsible → collapsible}/CollapsibleTrigger.vue.d.ts +0 -0
  1119. /package/dist/components/{ui/collapsible → collapsible}/index.d.ts +0 -0
  1120. /package/dist/components/{custom/color-swatch → color-swatch}/ColorSwatch.vue.d.ts +0 -0
  1121. /package/dist/components/{custom/color-swatch → color-swatch}/index.d.ts +0 -0
  1122. /package/dist/components/{ui/combobox → combobox}/ComboboxAnchor.vue.d.ts +0 -0
  1123. /package/dist/components/{ui/combobox → combobox}/ComboboxEmpty.vue.d.ts +0 -0
  1124. /package/dist/components/{ui/combobox → combobox}/ComboboxGroup.vue.d.ts +0 -0
  1125. /package/dist/components/{ui/combobox → combobox}/ComboboxInput.vue.d.ts +0 -0
  1126. /package/dist/components/{ui/combobox → combobox}/ComboboxItem.vue.d.ts +0 -0
  1127. /package/dist/components/{ui/combobox → combobox}/ComboboxItemIndicator.vue.d.ts +0 -0
  1128. /package/dist/components/{ui/combobox → combobox}/ComboboxSeparator.vue.d.ts +0 -0
  1129. /package/dist/components/{ui/combobox → combobox}/ComboboxViewport.vue.d.ts +0 -0
  1130. /package/dist/components/{ui/combobox → combobox}/index.d.ts +0 -0
  1131. /package/dist/components/{ui/command → command}/Command.vue.d.ts +0 -0
  1132. /package/dist/components/{ui/command → command}/CommandDialog.vue.d.ts +0 -0
  1133. /package/dist/components/{ui/command → command}/CommandEmpty.vue.d.ts +0 -0
  1134. /package/dist/components/{ui/command → command}/CommandGroup.vue.d.ts +0 -0
  1135. /package/dist/components/{ui/command → command}/CommandInput.vue.d.ts +0 -0
  1136. /package/dist/components/{ui/command → command}/CommandItem.vue.d.ts +0 -0
  1137. /package/dist/components/{ui/command → command}/CommandList.vue.d.ts +0 -0
  1138. /package/dist/components/{ui/command → command}/CommandSeparator.vue.d.ts +0 -0
  1139. /package/dist/components/{ui/command → command}/CommandShortcut.vue.d.ts +0 -0
  1140. /package/dist/components/{custom/completion-seal → completion-seal}/composables/useCompletionSeal.d.ts +0 -0
  1141. /package/dist/components/{custom/completion-seal → completion-seal}/index.d.ts +0 -0
  1142. /package/dist/components/{custom/configurator → configurator}/ConfiguratorLayer.vue.d.ts +0 -0
  1143. /package/dist/components/{custom/configurator → configurator}/useConfiguratorState.d.ts +0 -0
  1144. /package/dist/components/{custom/constellation → constellation}/composables/createConstellationField.d.ts +0 -0
  1145. /package/dist/components/{custom/constellation → constellation}/composables/uniformBridgeWGPU.d.ts +0 -0
  1146. /package/dist/components/{custom/constellation → constellation}/constellationField.d.ts +0 -0
  1147. /package/dist/components/{custom/constellation → constellation}/constellationInteraction.d.ts +0 -0
  1148. /package/dist/components/{custom/constellation → constellation}/constellationRender.d.ts +0 -0
  1149. /package/dist/components/{custom/constellation → constellation}/constellationWell.d.ts +0 -0
  1150. /package/dist/components/{custom/constellation → constellation}/index.d.ts +0 -0
  1151. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-lines.glsl.d.ts +0 -0
  1152. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-lines.wgsl.d.ts +0 -0
  1153. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-points.glsl.d.ts +0 -0
  1154. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-points.wgsl.d.ts +0 -0
  1155. /package/dist/components/{custom/controls → controls}/DarkModeToggle.vue.d.ts +0 -0
  1156. /package/dist/components/{custom/controls → controls}/index.d.ts +0 -0
  1157. /package/dist/components/{ui/data-table → data-table}/DataTable.vue.d.ts +0 -0
  1158. /package/dist/components/{ui/data-table → data-table}/DataTablePagination.vue.d.ts +0 -0
  1159. /package/dist/components/{ui/data-table → data-table}/composables/useDataTableResponsive.d.ts +0 -0
  1160. /package/dist/components/{ui/data-table → data-table}/composables/useDataTableRowIdentity.d.ts +0 -0
  1161. /package/dist/components/{ui/data-table → data-table}/index.d.ts +0 -0
  1162. /package/dist/components/{ui/data-table → data-table}/types.d.ts +0 -0
  1163. /package/dist/components/{custom/deck → deck}/DeckPager.vue.d.ts +0 -0
  1164. /package/dist/components/{custom/deck → deck}/composables/useDeck.d.ts +0 -0
  1165. /package/dist/components/{custom/deck → deck}/composables/useDeckKeyboard.d.ts +0 -0
  1166. /package/dist/components/{custom/deck → deck}/composables/useDeckSpring.d.ts +0 -0
  1167. /package/dist/components/{custom/deck → deck}/constants.d.ts +0 -0
  1168. /package/dist/components/{custom/deck → deck}/index.d.ts +0 -0
  1169. /package/dist/components/{ui/dialog → dialog}/Dialog.vue.d.ts +0 -0
  1170. /package/dist/components/{ui/dialog → dialog}/DialogClose.vue.d.ts +0 -0
  1171. /package/dist/components/{ui/dialog → dialog}/DialogDescription.vue.d.ts +0 -0
  1172. /package/dist/components/{ui/dialog → dialog}/DialogFooter.vue.d.ts +0 -0
  1173. /package/dist/components/{ui/dialog → dialog}/DialogHeader.vue.d.ts +0 -0
  1174. /package/dist/components/{ui/dialog → dialog}/DialogScrollContent.vue.d.ts +0 -0
  1175. /package/dist/components/{ui/dialog → dialog}/DialogTitle.vue.d.ts +0 -0
  1176. /package/dist/components/{ui/dialog → dialog}/DialogTrigger.vue.d.ts +0 -0
  1177. /package/dist/components/{ui/dialog → dialog}/index.d.ts +0 -0
  1178. /package/dist/components/{custom/dock → dock}/DockSection.vue.d.ts +0 -0
  1179. /package/dist/components/{custom/dock → dock}/DockSeparator.vue.d.ts +0 -0
  1180. /package/dist/components/{custom/dock → dock}/composables/dockMorphMeasure.d.ts +0 -0
  1181. /package/dist/components/{custom/dock → dock}/composables/isTeleportedTarget.d.ts +0 -0
  1182. /package/dist/components/{custom/dock → dock}/composables/useDockClickIntegrity.d.ts +0 -0
  1183. /package/dist/components/{custom/dock → dock}/composables/useDockHold.d.ts +0 -0
  1184. /package/dist/components/{custom/dock → dock}/composables/useDockState.d.ts +0 -0
  1185. /package/dist/components/{ui/drawer → drawer}/DrawerDescription.vue.d.ts +0 -0
  1186. /package/dist/components/{ui/drawer → drawer}/DrawerFooter.vue.d.ts +0 -0
  1187. /package/dist/components/{ui/drawer → drawer}/DrawerHeader.vue.d.ts +0 -0
  1188. /package/dist/components/{ui/drawer → drawer}/DrawerOverlay.vue.d.ts +0 -0
  1189. /package/dist/components/{ui/drawer → drawer}/DrawerTitle.vue.d.ts +0 -0
  1190. /package/dist/components/{ui/drawer → drawer}/composables/drawerSnapContext.d.ts +0 -0
  1191. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuCheckboxItem.vue.d.ts +0 -0
  1192. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuGroup.vue.d.ts +0 -0
  1193. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuItem.vue.d.ts +0 -0
  1194. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuLabel.vue.d.ts +0 -0
  1195. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioGroup.vue.d.ts +0 -0
  1196. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioItem.vue.d.ts +0 -0
  1197. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSeparator.vue.d.ts +0 -0
  1198. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuShortcut.vue.d.ts +0 -0
  1199. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSub.vue.d.ts +0 -0
  1200. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubContent.vue.d.ts +0 -0
  1201. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubTrigger.vue.d.ts +0 -0
  1202. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuTrigger.vue.d.ts +0 -0
  1203. /package/dist/components/{custom/easing → easing}/EasingConfigurator.vue.d.ts +0 -0
  1204. /package/dist/components/{custom/easing → easing}/EasingPicker.vue.d.ts +0 -0
  1205. /package/dist/components/{custom/easing → easing}/composables/useEasingPicker.d.ts +0 -0
  1206. /package/dist/components/{custom/easing → easing}/constants.d.ts +0 -0
  1207. /package/dist/components/{custom/easing → easing}/index.d.ts +0 -0
  1208. /package/dist/components/{custom/expandable-container → expandable-container}/index.d.ts +0 -0
  1209. /package/dist/components/{custom/fading-scroll → fading-scroll}/FadingScroll.vue.d.ts +0 -0
  1210. /package/dist/components/{custom/fading-scroll → fading-scroll}/composables/useFadingScroll.d.ts +0 -0
  1211. /package/dist/components/{custom/fading-scroll → fading-scroll}/constants.d.ts +0 -0
  1212. /package/dist/components/{custom/fading-scroll → fading-scroll}/index.d.ts +0 -0
  1213. /package/dist/components/{ui/focus-scope → focus-scope}/FocusScope.vue.d.ts +0 -0
  1214. /package/dist/components/{ui/focus-scope → focus-scope}/index.d.ts +0 -0
  1215. /package/dist/components/{custom/fourier-field → fourier-field}/presets.d.ts +0 -0
  1216. /package/dist/components/{custom/fourier-field → fourier-field}/shaders/fourier-field.compute.wgsl.d.ts +0 -0
  1217. /package/dist/components/{custom/goo-filter → goo-filter}/GooFilter.vue.d.ts +0 -0
  1218. /package/dist/components/{custom/goo-filter → goo-filter}/index.d.ts +0 -0
  1219. /package/dist/components/{custom/handmark → handmark}/HandMark.vue.d.ts +0 -0
  1220. /package/dist/components/{custom/handmark → handmark}/brush.d.ts +0 -0
  1221. /package/dist/components/{custom/handmark → handmark}/freehand.d.ts +0 -0
  1222. /package/dist/components/{custom/handmark → handmark}/index.d.ts +0 -0
  1223. /package/dist/components/{custom/handmark → handmark}/ink.d.ts +0 -0
  1224. /package/dist/components/{custom/handmark → handmark}/texture.d.ts +0 -0
  1225. /package/dist/components/{custom/icon-chip → icon-chip}/IconChip.vue.d.ts +0 -0
  1226. /package/dist/components/{custom/icon-chip → icon-chip}/index.d.ts +0 -0
  1227. /package/dist/components/{custom/icon-chip → icon-chip}/types.d.ts +0 -0
  1228. /package/dist/components/{custom/icon-tooltip → icon-tooltip}/IconTooltip.vue.d.ts +0 -0
  1229. /package/dist/components/{custom/icon-tooltip → icon-tooltip}/index.d.ts +0 -0
  1230. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/InfiniteScroll.vue.d.ts +0 -0
  1231. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/index.d.ts +0 -0
  1232. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/types.d.ts +0 -0
  1233. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/useInfiniteScroll.d.ts +0 -0
  1234. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/index.d.ts +0 -0
  1235. /package/dist/components/{ui/input → input}/Input.vue.d.ts +0 -0
  1236. /package/dist/components/{ui/input → input}/index.d.ts +0 -0
  1237. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/ChassisDivider.vue.d.ts +0 -0
  1238. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/InstrumentChassis.vue.d.ts +0 -0
  1239. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/index.d.ts +0 -0
  1240. /package/dist/components/{ui/label → label}/Label.vue.d.ts +0 -0
  1241. /package/dist/components/{ui/label → label}/index.d.ts +0 -0
  1242. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledField.vue.d.ts +0 -0
  1243. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledInput.vue.d.ts +0 -0
  1244. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSelect.vue.d.ts +0 -0
  1245. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSlider.vue.d.ts +0 -0
  1246. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSwitch.vue.d.ts +0 -0
  1247. /package/dist/components/{custom/labeled-field → labeled-field}/index.d.ts +0 -0
  1248. /package/dist/{utils/coalesceMetric.d.ts → components/metric/coalesce-metric.d.ts} +0 -0
  1249. /package/dist/components/{custom/metric-badge → metric-badge}/index.d.ts +0 -0
  1250. /package/dist/components/{custom/metric-cell → metric-cell}/index.d.ts +0 -0
  1251. /package/dist/components/{custom/metric-stack → metric-stack}/MetricStack.vue.d.ts +0 -0
  1252. /package/dist/components/{custom/metric-stack → metric-stack}/index.d.ts +0 -0
  1253. /package/dist/components/{ui/notification → notification}/index.d.ts +0 -0
  1254. /package/dist/components/{ui/number-field → number-field}/NumberField.vue.d.ts +0 -0
  1255. /package/dist/components/{ui/number-field → number-field}/NumberFieldContent.vue.d.ts +0 -0
  1256. /package/dist/components/{ui/number-field → number-field}/NumberFieldDecrement.vue.d.ts +0 -0
  1257. /package/dist/components/{ui/number-field → number-field}/NumberFieldIncrement.vue.d.ts +0 -0
  1258. /package/dist/components/{ui/number-field → number-field}/NumberFieldInput.vue.d.ts +0 -0
  1259. /package/dist/components/{ui/number-field → number-field}/index.d.ts +0 -0
  1260. /package/dist/components/{custom/pager-dots → pager-dots}/PagerDots.vue.d.ts +0 -0
  1261. /package/dist/components/{custom/pager-dots → pager-dots}/index.d.ts +0 -0
  1262. /package/dist/components/{custom/pager-dots → pager-dots}/pagerWindow.d.ts +0 -0
  1263. /package/dist/components/{custom/paper-backdrop → paper-backdrop}/index.d.ts +0 -0
  1264. /package/dist/components/{ui/popover → popover}/index.d.ts +0 -0
  1265. /package/dist/components/{ui/progress → progress}/ProgressDefault.vue.d.ts +0 -0
  1266. /package/dist/components/{ui/progress → progress}/ProgressGradient.vue.d.ts +0 -0
  1267. /package/dist/components/{ui/progress → progress}/ProgressSectioned.vue.d.ts +0 -0
  1268. /package/dist/components/{ui/progress → progress}/useProgressGeometry.d.ts +0 -0
  1269. /package/dist/components/{custom/pulse → pulse}/Pulse.vue.d.ts +0 -0
  1270. /package/dist/components/{custom/pulse → pulse}/index.d.ts +0 -0
  1271. /package/dist/components/{ui/radio-group → radio-group}/RadioGroup.vue.d.ts +0 -0
  1272. /package/dist/components/{ui/radio-group → radio-group}/RadioGroupItem.vue.d.ts +0 -0
  1273. /package/dist/components/{ui/radio-group → radio-group}/index.d.ts +0 -0
  1274. /package/dist/components/{custom/search → search}/composables/fuzzySearchIndex.d.ts +0 -0
  1275. /package/dist/components/{custom/search → search}/composables/index.d.ts +0 -0
  1276. /package/dist/components/{custom/search → search}/composables/types.d.ts +0 -0
  1277. /package/dist/components/{custom/search → search}/composables/useFuzzySearch.d.ts +0 -0
  1278. /package/dist/components/{custom/search → search}/index.d.ts +0 -0
  1279. /package/dist/components/{ui/section → section}/Section.vue.d.ts +0 -0
  1280. /package/dist/components/{ui/section → section}/index.d.ts +0 -0
  1281. /package/dist/components/{ui/select → select}/Select.vue.d.ts +0 -0
  1282. /package/dist/components/{ui/select → select}/SelectGroup.vue.d.ts +0 -0
  1283. /package/dist/components/{ui/select → select}/SelectItem.vue.d.ts +0 -0
  1284. /package/dist/components/{ui/select → select}/SelectLabel.vue.d.ts +0 -0
  1285. /package/dist/components/{ui/select → select}/SelectScrollDownButton.vue.d.ts +0 -0
  1286. /package/dist/components/{ui/select → select}/SelectScrollUpButton.vue.d.ts +0 -0
  1287. /package/dist/components/{ui/select → select}/SelectSeparator.vue.d.ts +0 -0
  1288. /package/dist/components/{ui/select → select}/SelectTrigger.vue.d.ts +0 -0
  1289. /package/dist/components/{ui/select → select}/SelectValue.vue.d.ts +0 -0
  1290. /package/dist/components/{ui/select → select}/index.d.ts +0 -0
  1291. /package/dist/components/{ui/separator → separator}/Separator.vue.d.ts +0 -0
  1292. /package/dist/components/{ui/separator → separator}/index.d.ts +0 -0
  1293. /package/dist/components/{ui/skeleton → skeleton}/Skeleton.vue.d.ts +0 -0
  1294. /package/dist/components/{ui/skeleton → skeleton}/index.d.ts +0 -0
  1295. /package/dist/{composables/sortable → components/sortable-list/composables}/dropResolver.d.ts +0 -0
  1296. /package/dist/{composables/sortable → components/sortable-list/composables}/ghostRenderer.d.ts +0 -0
  1297. /package/dist/{composables/sortable → components/sortable-list/composables}/index.d.ts +0 -0
  1298. /package/dist/{composables/sortable → components/sortable-list/composables}/touchGate.d.ts +0 -0
  1299. /package/dist/{composables/sortable → components/sortable-list/composables}/transitionTiming.d.ts +0 -0
  1300. /package/dist/components/{custom/spa-view → spa-view}/SpaView.vue.d.ts +0 -0
  1301. /package/dist/components/{custom/spa-view → spa-view}/index.d.ts +0 -0
  1302. /package/dist/components/{custom/split-chars → split-chars}/index.d.ts +0 -0
  1303. /package/dist/components/{custom/stacked-icons → stacked-icons}/StackedIconGroup.vue.d.ts +0 -0
  1304. /package/dist/components/{custom/stacked-icons → stacked-icons}/index.d.ts +0 -0
  1305. /package/dist/components/{custom/status-dot → status-dot}/StatusDot.vue.d.ts +0 -0
  1306. /package/dist/components/{custom/status-dot → status-dot}/index.d.ts +0 -0
  1307. /package/dist/components/{ui/switch → switch}/Switch.vue.d.ts +0 -0
  1308. /package/dist/components/{ui/switch → switch}/index.d.ts +0 -0
  1309. /package/dist/components/{ui/table → table}/Table.vue.d.ts +0 -0
  1310. /package/dist/components/{ui/table → table}/TableBody.vue.d.ts +0 -0
  1311. /package/dist/components/{ui/table → table}/TableCaption.vue.d.ts +0 -0
  1312. /package/dist/components/{ui/table → table}/TableCell.vue.d.ts +0 -0
  1313. /package/dist/components/{ui/table → table}/TableEmpty.vue.d.ts +0 -0
  1314. /package/dist/components/{ui/table → table}/TableHead.vue.d.ts +0 -0
  1315. /package/dist/components/{ui/table → table}/TableHeader.vue.d.ts +0 -0
  1316. /package/dist/components/{ui/table → table}/TableRow.vue.d.ts +0 -0
  1317. /package/dist/components/{ui/table → table}/index.d.ts +0 -0
  1318. /package/dist/components/{custom/tabs → tabs}/index.d.ts +0 -0
  1319. /package/dist/components/{ui/tags-input → tags-input}/TagsInput.vue.d.ts +0 -0
  1320. /package/dist/components/{ui/tags-input → tags-input}/TagsInputInput.vue.d.ts +0 -0
  1321. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItem.vue.d.ts +0 -0
  1322. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemDelete.vue.d.ts +0 -0
  1323. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemText.vue.d.ts +0 -0
  1324. /package/dist/components/{ui/tags-input → tags-input}/index.d.ts +0 -0
  1325. /package/dist/components/{ui/textarea → textarea}/Textarea.vue.d.ts +0 -0
  1326. /package/dist/components/{ui/textarea → textarea}/index.d.ts +0 -0
  1327. /package/dist/components/{custom/timeline → timeline}/ContinuousRail.vue.d.ts +0 -0
  1328. /package/dist/components/{custom/timeline → timeline}/ContinuousTimeline.vue.d.ts +0 -0
  1329. /package/dist/components/{custom/timeline → timeline}/ScrubberTimeline.vue.d.ts +0 -0
  1330. /package/dist/components/{custom/timeline → timeline}/SegmentedTimeline.vue.d.ts +0 -0
  1331. /package/dist/components/{custom/timeline → timeline}/geometry.d.ts +0 -0
  1332. /package/dist/components/{custom/timeline → timeline}/index.d.ts +0 -0
  1333. /package/dist/components/{custom/timeline → timeline}/types.d.ts +0 -0
  1334. /package/dist/components/{ui/toast → toast}/ToastAction.vue.d.ts +0 -0
  1335. /package/dist/components/{ui/toast → toast}/ToastClose.vue.d.ts +0 -0
  1336. /package/dist/components/{ui/toast → toast}/ToastDescription.vue.d.ts +0 -0
  1337. /package/dist/components/{ui/toast → toast}/ToastTitle.vue.d.ts +0 -0
  1338. /package/dist/components/{ui/toast → toast}/Toaster.vue.d.ts +0 -0
  1339. /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroup.vue.d.ts +0 -0
  1340. /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroupItem.vue.d.ts +0 -0
  1341. /package/dist/components/{ui/toggle-group → toggle-group}/index.d.ts +0 -0
  1342. /package/dist/components/{ui/toggle-group → toggle-group}/toggleGroupContext.d.ts +0 -0
  1343. /package/dist/components/{ui/tooltip → tooltip}/Tooltip.vue.d.ts +0 -0
  1344. /package/dist/components/{ui/tooltip → tooltip}/TooltipContent.vue.d.ts +0 -0
  1345. /package/dist/components/{ui/tooltip → tooltip}/TooltipProvider.vue.d.ts +0 -0
  1346. /package/dist/components/{ui/tooltip → tooltip}/TooltipTrigger.vue.d.ts +0 -0
  1347. /package/dist/components/{ui/tooltip → tooltip}/index.d.ts +0 -0
  1348. /package/dist/components/{custom/typewriter → typewriter}/TypewriterText.vue.d.ts +0 -0
  1349. /package/dist/components/{custom/typewriter → typewriter}/composables/index.d.ts +0 -0
  1350. /package/dist/components/{custom/typewriter → typewriter}/composables/useTypewriter.d.ts +0 -0
  1351. /package/dist/components/{custom/typewriter → typewriter}/index.d.ts +0 -0
  1352. /package/dist/components/{custom/typewriter → typewriter}/types.d.ts +0 -0
  1353. /package/dist/components/{custom/typewriter → typewriter}/utils/keyboard.d.ts +0 -0
  1354. /package/dist/components/{custom/typewriter → typewriter}/utils/pausePatterns.d.ts +0 -0
  1355. /package/dist/components/{custom/typewriter → typewriter}/utils/timing.d.ts +0 -0
  1356. /package/dist/components/{custom/typewriter → typewriter}/utils/typoStateMachine.d.ts +0 -0
  1357. /package/dist/components/{custom/watercolor-dot → watercolor-dot}/WatercolorDot.vue.d.ts +0 -0
  1358. /package/dist/components/{custom/watercolor-dot → watercolor-dot}/index.d.ts +0 -0
  1359. /package/dist/{utils → composables/glass/procedural}/prng.d.ts +0 -0
  1360. /package/dist/{constants-BWj7DkMn.js → constants-D8lSMkOz.js} +0 -0
  1361. /package/dist/{createContext-Cd23P9j0.js → createContext-BQ1Gy_LB.js} +0 -0
  1362. /package/dist/{flow.glsl-DqEGRpl4.js → flow.glsl-CVqPSj8_.js} +0 -0
  1363. /package/dist/{procedural-color.wgsl-C1Y5PkM6.js → procedural-color.wgsl-ByduxnzV.js} +0 -0
  1364. /package/dist/{scrollReader-rc3Ns_NM.js → scrollReader-DzYqPQ6V.js} +0 -0
  1365. /package/dist/{supportsCssTimeline-BWenxvHU.js → supportsCssTimeline-Ie4xJFbD.js} +0 -0
  1366. /package/dist/{useDragVelocity-CjcfX3dA.js → useDragVelocity-BWcNMCux.js} +0 -0
  1367. /package/dist/{useGlobalDark-B4HO9LXG.js → useGlobalDark-DjKMEQE2.js} +0 -0
  1368. /package/dist/{useInterval-BVUI-sez.js → useInterval-ZATRi-1T.js} +0 -0
  1369. /package/dist/{useLiquidFlex-Cc6PjVJD.js → useLiquidFlex-Ch4exNvN.js} +0 -0
  1370. /package/dist/{useResizeObserver-DdEn3v2f.js → useResizeObserver-DDuoBeBo.js} +0 -0
  1371. /package/dist/{useResolveTokenColor-ChOnCckA.js → useResolveTokenColor-DVT5kwv6.js} +0 -0
  1372. /package/dist/{useTextHighlight-Bma3UlKA.js → useTextHighlight-C46Le9u_.js} +0 -0
  1373. /package/dist/{useTimer-BBLGPXR8.js → useTimer-CkDV8SC2.js} +0 -0
  1374. /package/dist/{useViewportReady-C9pYnn7K.js → useViewportReady-c0isoKL8.js} +0 -0
  1375. /package/dist/{vReveal-CT1KtwZA.js → vReveal-DUmiEkX_.js} +0 -0
  1376. /package/dist/{vSpecular-EX7loENl.js → vSpecular-DlYN0UZy.js} +0 -0
  1377. /package/dist/{writeVelocityWeight-Bh83xZfs.js → writeVelocityWeight-D1rvdxJu.js} +0 -0
@@ -0,0 +1,41 @@
1
+ import type { OklchStop } from "../../../composables/color";
2
+ import { type BasisComponent } from "../math";
3
+ /** One phasor lane in the storage buffer: (re, im, index, _pad). */
4
+ export declare const FOURIER_PHASOR_BYTES = 16;
5
+ export declare const FOURIER_COMPUTE_UNIFORM_BYTES = 32;
6
+ export interface FourierUniformScratch {
7
+ buffer: ArrayBuffer;
8
+ f32: Float32Array;
9
+ i32: Int32Array;
10
+ }
11
+ export declare function createFourierComputeScratch(): FourierUniformScratch;
12
+ /** Pack the compute uniforms in place. */
13
+ export declare function packFourierComputeUniforms(scratch: FourierUniformScratch, headT: number, trailArc: number, harmonicN: number, epicycleArmN: number, sampleCount: number, phasorCount: number): FourierUniformScratch;
14
+ export declare const FOURIER_RENDER_UNIFORM_BYTES: number;
15
+ export declare function createFourierRenderScratch(): FourierUniformScratch;
16
+ /** The model→clip fit transform (center + uniform scale) — computed once per spectrum. */
17
+ export interface FourierFit {
18
+ centerX: number;
19
+ centerY: number;
20
+ /** The uniform scale s such that (model − center)·s maps the curve into clip [-1,1] with margin. */
21
+ scale: number;
22
+ }
23
+ /**
24
+ * Stable view-fit: sample the FULL reconstruction once over the period, bound its bbox,
25
+ * and derive the center + a margin-padded uniform scale. The render's fullscreen pass
26
+ * inverts this transform per fragment so the curve never clips and the scale is fixed.
27
+ */
28
+ export declare function computeFourierFit(spectrum: readonly BasisComponent[]): FourierFit;
29
+ /**
30
+ * Convert a CSS-px stroke width to MODEL units (the shader's space). The fit `scale` maps
31
+ * model → clip; clip spans [-1,1] over the min CSS dimension → cssPx-per-clip = canvasCssMin/2.
32
+ * model-per-cssPx = (1/scale)·(2/canvasCssMin).
33
+ */
34
+ export declare function trailWidthToModel(trailWidthPx: number, scale: number, canvasCssMin: number): number;
35
+ /** Pack the render uniforms in place. */
36
+ export declare function packFourierRenderUniforms(scratch: FourierUniformScratch, fit: FourierFit, aspect: number, trailWidthModel: number, peakAlpha: number, headGlowAlpha: number, trailFadeExp: number, trailFloor: number, intensity: number, showEpicycles: boolean, rainbowChain: boolean, squashGain: number, celGain: number, edgeMargin: number, sampleCount: number, armCount: number, palette: OklchStop[]): FourierUniformScratch;
37
+ /**
38
+ * Pack the phasor storage table (re, im, index, _pad) from the CPU-minted spectrum. The
39
+ * WGSL SUMS this per frame — it is the ONLY spectrum upload (no WGSL-side mint).
40
+ */
41
+ export declare function packPhasorTable(spectrum: readonly BasisComponent[]): Float32Array;
@@ -0,0 +1,55 @@
1
+ import { type Ref } from "vue";
2
+ import { type GpuBackend } from "../../../composables/glass/webgpu/useGpuSubstrate";
3
+ import type { OklchStop } from "../../../composables/color";
4
+ import type { FourierFieldConfig } from "../constants";
5
+ import type { BasisComponent } from "../math";
6
+ export interface UseFourierFieldOptions {
7
+ config: FourierFieldConfig;
8
+ /** The active phasor spectrum (CPU-minted; re-read each frame so a source-swap reaches the buffer). */
9
+ getSpectrum: () => readonly BasisComponent[];
10
+ /** Resolve the curve-color palette as OKLCh (the demo themes it; default warm-identity). */
11
+ getPalette: () => OklchStop[];
12
+ /** When true, hold the deterministic best-frame and never advance (the capture / freeze lever). */
13
+ freeze?: () => boolean;
14
+ /** The static deterministic best-frame parameter under `freeze`/PRM. Default 0.34. */
15
+ frozenT?: number;
16
+ /** Base forward period for one full traversal at 1× speed, in seconds. Default 16. */
17
+ periodS?: number;
18
+ /** `"capture"` → renderAt-only (the deterministic π capture path). Default `"live"`. */
19
+ mode?: "live" | "capture";
20
+ /**
21
+ * BI.W-FIELD-CORE — the route pointer BROADCASTER read (the SUBTLE-interactive background
22
+ * register). A full-bleed `pointer-events:none` field cannot listen for its own pointer, so
23
+ * an ambient consumer reads the route-level `useRoutePointer` and feeds the shared field
24
+ * from here each frame (viewport-normalized ≈ host-normalized for a full-bleed field). The
25
+ * lean/bias then read on a background field WITHOUT the field owning a pointer listener.
26
+ * Omit for the studio (which binds its own host listeners).
27
+ */
28
+ routePointer?: () => {
29
+ x: number;
30
+ y: number;
31
+ active: boolean;
32
+ } | null;
33
+ }
34
+ /** The uniform handle a consumer wires its lifecycle against (backend-agnostic). */
35
+ export interface FourierFieldHandle {
36
+ /** The resolved backend (`"webgpu"` where supported, else the WebGL2 GLSL fallback). */
37
+ readonly backend: GpuBackend;
38
+ /** Park the loop (the WCAG-2.2.2 pause seam — `DockBackgroundToggle` wires this). */
39
+ pause: () => void;
40
+ /** Re-arm the loop. */
41
+ resume: () => void;
42
+ /** Re-arm a parked loop on demand. */
43
+ wake: () => void;
44
+ /** Draw one frame out-of-loop (capture / thumbnail). */
45
+ renderAt: (timeSec: number) => void;
46
+ /** The live `prefers-reduced-motion: reduce` state. */
47
+ readonly reducedMotion: boolean;
48
+ /** The current loop parameter `head_t ∈ [0,1)` (the scrubber reads/writes it). */
49
+ readonly headT: number;
50
+ /** Scrub the clock directly (the transport scrubber / a pointer drag). */
51
+ setHeadT: (t: number) => void;
52
+ /** Tear down the renderer + release GPU/GL resources. */
53
+ dispose: () => void;
54
+ }
55
+ export declare function useFourierField(canvasRef: Ref<HTMLCanvasElement | null>, options: UseFourierFieldOptions): FourierFieldHandle;
@@ -0,0 +1,134 @@
1
+ import type { OklchStop } from "../../composables/color";
2
+ /**
3
+ * Curve-sampling resolution for the stable view-fit bbox pass — the renderer samples the
4
+ * epicycle curve this many times once at mount to size it to the canvas with a fixed
5
+ * margin (so the curve never clips and the scale is constant across the run). 720 = one
6
+ * sample per half-degree of the unit period.
7
+ */
8
+ export declare const FOURIER_FIT_SAMPLES = 720;
9
+ /**
10
+ * The phasor-table uniform ceiling — the WGSL `MAX_PHASORS` #define. The configurator's
11
+ * harmonic count maxes here; a >64-term custom trace books a storage-buffer widen (cheap —
12
+ * the flow-field already uses a storage buffer). The curated ℱ/heart/star set + the
13
+ * generated elliptic spectrum all sit under it.
14
+ */
15
+ export declare const MAX_PHASORS = 64;
16
+ /**
17
+ * The comet-curve sample ceiling — the storage-buffer array bound. The compute pass
18
+ * writes the partial-sum curve point at `M` samples back along the period from the head;
19
+ * the render pass reads them as the comet polyline. 384 gives a smooth bold stroke.
20
+ */
21
+ export declare const MAX_CURVE_SAMPLES = 384;
22
+ /** The palette-stop ceiling — the WGSL `MAX_FOURIER_STOPS` #define. */
23
+ export declare const MAX_FOURIER_STOPS = 4;
24
+ /**
25
+ * The cursor-velocity → head_t clock-coupling gain (BD.W-VIZ-BROKEN-FIX D6 — the weighted
26
+ * scrub). The cursor MOTION (not its absolute X) nudges the loop clock: a flick fast-
27
+ * forwards, a still cursor lets the field drift at its config speed. Velocity-continuous —
28
+ * the head never teleports (the prior `headT = pointerX` absolute-X scrub read as "not
29
+ * following" a 2-D cursor).
30
+ */
31
+ export declare const SCRUB_GAIN = 0.15;
32
+ /**
33
+ * The comet ribbon's TAIL width as a fraction of the head width (the head→tail taper). At the
34
+ * head (age 1) the stroke is the full `trailWidth`; at the tail (age 0) it is `RIBBON_TAIL_FRAC`
35
+ * of it. The taper is `f(age) = RIBBON_TAIL_FRAC + (1 − RIBBON_TAIL_FRAC)·age` (LINEAR, so the
36
+ * age-0.5 MID-BODY is `RIBBON_TAIL_FRAC + (1 − RIBBON_TAIL_FRAC)·0.5` of the head). Declared
37
+ * ONCE here + MIRRORED verbatim as the `RIBBON_TAIL_FRAC` const in BOTH shaders (the GLSL twin
38
+ * cannot import a TS constant); `proof:viz` FB1 cross-checks the three copies are equal so the
39
+ * mid-body floor below can never drift off the taper.
40
+ */
41
+ export declare const RIBBON_TAIL_FRAC = 0.4;
42
+ /** The mid-body taper fraction (age 0.5) — the width the {@link RIBBON_HEAD_FLOOR_PX} floor targets. */
43
+ export declare const RIBBON_MID_TAPER_FRAC: number;
44
+ /**
45
+ * The MID-BODY minimum in CSS px (the B1 "≥2.5px CSS mid-body at every DPR, never a 1px
46
+ * hairline polyline" bar). The width is DPR-independent by construction (converted to model
47
+ * via `canvasCssMin` = backing ÷ dpr), so a CSS-px floor holds at every DPR.
48
+ */
49
+ export declare const RIBBON_MID_FLOOR_PX = 2.5;
50
+ /**
51
+ * The HEAD-width floor in CSS px (the `trailWidth` clamp in `trailWidthToModel`). Sized so the
52
+ * mid-body (head × {@link RIBBON_MID_TAPER_FRAC}) clears {@link RIBBON_MID_FLOOR_PX} — even a
53
+ * consumer setting `trailWidth: 1` gets a ≥2.5px mid-body. A hair over the exact quotient for
54
+ * float safety.
55
+ */
56
+ export declare const RIBBON_HEAD_FLOOR_PX: number;
57
+ /**
58
+ * The degenerate-tangent guard (BD.W-FOURIER-LOOM §2b). At a cusp the head's instantaneous
59
+ * speed `s = length(head − headBack)` collapses to ~0 and the unit tangent `T = d/s` blows
60
+ * up; below `FOURIER_TANGENT_EPS` the shaders + the GL CPU bead path all fall back to the
61
+ * LAST stable tangent, so `s→0` resolves IDENTICALLY across both engines (the cross-engine
62
+ * cusp-parity fence — one shared constant, no per-engine drift).
63
+ */
64
+ export declare const FOURIER_TANGENT_EPS = 0.0001;
65
+ /**
66
+ * The head squash-and-stretch gain (BD.W-FOURIER-LOOM §2b). The round head bead becomes a
67
+ * volume-preserving anisotropic ellipse: the tangent extent scales `1 + k·ŝ`, the normal
68
+ * extent `1/(1 + k·ŝ)`, where `ŝ` is the normalized head speed. The library identity carries
69
+ * a SMALL non-zero gain (cartoon-weight at rest — the head is never a dead disc); a consumer
70
+ * vivid preset turns it to 11. `0` = the byte-frozen round disc.
71
+ */
72
+ export declare const FOURIER_SQUASH_GAIN = 0.55;
73
+ /**
74
+ * The cartoon cel-shadow gain (BD.W-FOURIER-LOOM §3b). Each chain ring/arm/dot + the comet
75
+ * rope paints a second darker copy OFFSET opposite its travel — the 1940s technicolor ink.
76
+ * The library identity carries a SMALL non-zero gain (a quiet weight under the chain); a
77
+ * consumer vivid preset floors it UP. `0` = no cel pass (byte-frozen). The offset rides the
78
+ * head tangent, mirrored on both engines off the SAME `curveSamples` tangent.
79
+ */
80
+ export declare const FOURIER_CEL_GAIN = 0.35;
81
+ /**
82
+ * The full author schema — the studio's `useConfiguratorState` model. Every field is a
83
+ * tunable the demo configurator drives; the composable resolves it into the uniform table.
84
+ */
85
+ export interface FourierFieldConfig {
86
+ /** The active phasor spectrum source key — `"elliptic"` (generated) or a curated shape key. */
87
+ source: string;
88
+ /** TRUNCATE the partial sum — the harmonic count N (1..min(spectrum.length, MAX_PHASORS)). */
89
+ harmonics: number;
90
+ /** Draw the rotating epicycle chain (orthogonal to N). */
91
+ showEpicycles: boolean;
92
+ /** How many chain arms to draw (1..N; ≤ the harmonic count). */
93
+ epicycleArms: number;
94
+ /** Paint the chain as a warm-anchored hue sweep vs one analogous hue. */
95
+ rainbowChain: boolean;
96
+ /** Comet-body length as a fraction of the period (0.15..1.0). */
97
+ trailArc: number;
98
+ /** Comet stroke weight in CSS px (1..6). */
99
+ trailWidth: number;
100
+ /** Outer loudness envelope (per-layer alpha multiply, 0..2). */
101
+ intensity: number;
102
+ /** Character of the generated elliptic spectrum (0.05..0.4 — smooth ellipse → crinkled). */
103
+ harmonicScale: number;
104
+ /** Clock speed multiplier (0.25/0.5/1/2). */
105
+ speed: number;
106
+ /** The curve-color ramp (the library viz palette; warm default). Resolved via the ColorResolver. */
107
+ palette: OklchStop[];
108
+ /** ONE static frame then park under `prefers-reduced-motion: reduce`. */
109
+ respectReducedMotion: boolean;
110
+ /** Pointer scrubs `head_t` + a flick injects clock momentum (the W-VIZ-INTERACTION consume). */
111
+ interactive: boolean;
112
+ /**
113
+ * Head squash-and-stretch gain (BD.W-FOURIER-LOOM §2b). The head bead stretches along the
114
+ * curve tangent on straights, squashes across it on corners (volume-preserving). The
115
+ * library identity carries a small non-zero default (cartoon-weight at rest); a vivid
116
+ * consumer preset turns it to 11. 0 = the byte-frozen round disc.
117
+ */
118
+ squashGain: number;
119
+ /**
120
+ * Cartoon cel-shadow gain (BD.W-FOURIER-LOOM §3b). A second darker copy of the chain + rope,
121
+ * offset opposite the head travel (the technicolor ink). The library identity carries a
122
+ * small non-zero default; a vivid consumer preset floors it UP. 0 = no cel pass.
123
+ */
124
+ celGain: number;
125
+ }
126
+ /**
127
+ * The warm-cream identity palette (the library default — NOT teal). A two-stop warm-amber
128
+ * ramp over the warm-cream foreground family, resolved via the ColorResolver. The chain's
129
+ * rainbow sweep is warm-anchored over THIS base; a consumer (the demo) themes it through a
130
+ * preset, never a token edit.
131
+ */
132
+ export declare const WARM_IDENTITY_PALETTE: OklchStop[];
133
+ /** The shipped warm-identity default config. */
134
+ export declare const DEFAULT_FOURIER_CONFIG: FourierFieldConfig;
@@ -0,0 +1,31 @@
1
+ import type { ColorResolver, OklchStop } from "../../composables/color";
2
+ import type { FourierFieldConfig } from "./constants";
3
+ import type { BasisComponent } from "./math";
4
+ export { default as FourierField } from "./FourierField.vue";
5
+ export { comp, positionsAt, partialSumAt, dftFromPoints, makeEllipticSpectrum, makeHarmonicFigure, FOURIER_FIGURES, FOURIER_FIGURE_KEYS, type BasisComponent, type EllipticSpectrumOptions, type HarmonicTerm, } from "./math";
6
+ export { DEFAULT_FOURIER_CONFIG, WARM_IDENTITY_PALETTE, MAX_PHASORS, MAX_CURVE_SAMPLES, type FourierFieldConfig, } from "./constants";
7
+ export { useFourierField, type FourierFieldHandle, type UseFourierFieldOptions, } from "./composables/useFourierField";
8
+ /**
9
+ * The props a consumer forwards when wrapping `<FourierField>` (the GPU-substrate epicycle
10
+ * field; ships via `/fourier-field`). Mirrors the component's inline `defineProps` shape (an
11
+ * SFC cannot export its inline props type). BC.W-VIZ-FOURIER — the `variant: "hero"|"final"`
12
+ * enum is RETIRED (folds into config presets); the renderer is the WGSL-primary GPU substrate.
13
+ */
14
+ export interface FourierFieldProps {
15
+ /** The full author config (the studio's `useConfiguratorState` model). Defaults to the warm identity. */
16
+ config?: FourierFieldConfig;
17
+ /** An explicit CPU-minted spectrum (a curated shape's DFT). When absent, a seeded elliptic spectrum is generated. */
18
+ spectrum?: readonly BasisComponent[];
19
+ /** Resolve the curve palette as OKLCh (the studio themes it). */
20
+ getPalette?: () => OklchStop[];
21
+ /** Ambient-consumer color seam — a `var()`/`light-dark()` token or a literal; derives a warm palette. */
22
+ color?: string;
23
+ /** The color resolver (the GooBlob/Aurora seam) — required when `color` is a `var()` token. */
24
+ colorResolver?: ColorResolver;
25
+ /** Extra seed mixed into the generated elliptic spectrum PRNG. Default "". */
26
+ seed?: string;
27
+ /** Paint ONE static deterministic best-frame and never animate (the capture lever). Default false. */
28
+ freeze?: boolean;
29
+ /** Outer loudness envelope (scales the per-layer alpha). Overrides `config.intensity` when set; clamped [0, 2]. */
30
+ intensity?: number;
31
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * One Fourier phasor. `index` is the integer frequency (a counter-rotating pair
3
+ * is `+1` and `-1`); `coefficient` is the complex coefficient `[re, im]`;
4
+ * `amplitude`/`phase` are its polar form (carried for callers that prefer the
5
+ * polar read — the reconstruction uses the rectangular `coefficient`).
6
+ */
7
+ export interface BasisComponent {
8
+ index: number;
9
+ coefficient: [number, number];
10
+ amplitude: number;
11
+ phase: number;
12
+ }
13
+ /**
14
+ * Build a {@link BasisComponent} from a frequency index and its rectangular
15
+ * coefficient `(re, im)`, deriving the polar `amplitude`/`phase`.
16
+ */
17
+ export declare function comp(index: number, re: number, im: number): BasisComponent;
18
+ /**
19
+ * The epicycle chain at parameter `t`: the running tip of each phasor stacked on
20
+ * the last, starting at the origin. `positions[0]` is `[0, 0]`; the final entry
21
+ * is the curve point — the inverse-DFT sum `Σ c_k * exp(2*pi*i*k*t)` at the same
22
+ * `t`. `maxCircles` truncates the chain (draw fewer arms than the spectrum
23
+ * carries).
24
+ */
25
+ export declare function positionsAt(components: BasisComponent[], t: number, maxCircles?: number): [number, number][];
26
+ /**
27
+ * The PARTIAL-SUM curve point at parameter `t` over the FIRST `maxTerms` phasors
28
+ * — the inverse-DFT truncated summation `Σ_{k<maxTerms} c_k * exp(2*pi*i*k*t)`.
29
+ * It is {@link positionsAt} truncated at `maxTerms` and read at the FINAL tip:
30
+ * the single curve POINT (not the whole chain). The truncation axis is the SAME
31
+ * one `positionsAt`'s `maxCircles` arg drives — `maxCircles` reads the whole
32
+ * chain truncated, `partialSumAt` reads only its endpoint — so the studio's
33
+ * N-harmonics slider can draw the assembling chain (`positionsAt(.., N)`) AND the
34
+ * resolving curve point (`partialSumAt(.., t, N)`) off the ONE axis. Sweeping `t`
35
+ * over `[0,1)` and joining the points traces the partial-sum CURVE: at `maxTerms`
36
+ * = 1 a single ellipse, growing toward the full reconstruction as `maxTerms`
37
+ * climbs to `components.length` (the reference's "watch it sum" beauty).
38
+ *
39
+ * `maxTerms` omitted (or ≥ `components.length`) is the full reconstruction — the
40
+ * same point `positionsAt(components, t)` returns at its final tip.
41
+ */
42
+ export declare function partialSumAt(components: BasisComponent[], t: number, maxTerms?: number): [number, number];
43
+ /**
44
+ * The forward DFT — the inverse of {@link positionsAt}. Takes a closed sequence
45
+ * of `[x, y]` samples around a curve (treated as the complex signal `x + i·y`,
46
+ * uniformly spaced in the parameter `t ∈ [0, 1)`) and returns the
47
+ * {@link BasisComponent} spectrum that {@link positionsAt} reconstructs.
48
+ *
49
+ * Frequencies run symmetrically around 0 — `0, +1, -1, +2, -2, …` up to the
50
+ * Nyquist limit — which is the index ordering the epicycle chain wants (the big
51
+ * low-order phasors first). The DC term (`index 0`) is the curve's centroid; the
52
+ * caller can subtract it (draw the chain centered) or keep it (draw at the
53
+ * sampled position).
54
+ *
55
+ * General: any point set drives it (a glyph outline, a hand-traced path, a
56
+ * digitized signature). It is NOT a special case — it is the literal forward
57
+ * transform whose inverse already ships as `positionsAt`.
58
+ */
59
+ export declare function dftFromPoints(points: [number, number][]): BasisComponent[];
60
+ /** Tuning for {@link makeEllipticSpectrum}. */
61
+ export interface EllipticSpectrumOptions {
62
+ /**
63
+ * How many smaller higher-order harmonics to layer on top of the dominant
64
+ * counter-rotating pair (the dominant pair is always present). Default 4.
65
+ * The `final` preset passes a larger count for a denser, busier curve.
66
+ */
67
+ harmonics?: number;
68
+ /**
69
+ * Peak magnitude of the higher-order harmonics relative to the dominant
70
+ * phasor. Smaller keeps the curve a clean, smooth ellipse with a little
71
+ * character; larger crinkles it. Default ~0.22.
72
+ */
73
+ harmonicScale?: number;
74
+ }
75
+ /**
76
+ * Emit a procedural elliptic spectrum: a DOMINANT counter-rotating pair (index
77
+ * `+1` and `-1`) of UNEQUAL magnitude — the inequality is what draws a tilted
78
+ * ellipse rather than a circle — plus a few smaller higher-order harmonics with
79
+ * random small magnitudes and phases for character. Lower orders carry more
80
+ * weight (a `1 / order` falloff), so the curve stays large, smooth and
81
+ * few-big-phasor; the `harmonics` knob lifts it to the denser `final` look.
82
+ *
83
+ * Deterministic in `rng`: the same seeded `() => number` yields the same
84
+ * spectrum, so a frozen frame reproduces exactly.
85
+ */
86
+ export declare function makeEllipticSpectrum(rng: () => number, opts?: EllipticSpectrumOptions): BasisComponent[];
87
+ /** One integer-index harmonic term of a {@link FOURIER_FIGURES} recipe (polar form). */
88
+ export interface HarmonicTerm {
89
+ /** The INTEGER frequency index (a closed figure requires integers — the period-1 fence). */
90
+ index: number;
91
+ /** The phasor magnitude (relative; the figure is scale-fit at render). */
92
+ mag: number;
93
+ /** The phase offset in turns (0..1 — multiplied by 2π; a phase rotates the figure). */
94
+ phase: number;
95
+ }
96
+ /**
97
+ * Build a {@link BasisComponent} spectrum from a closed-figure recipe (a list of integer-index
98
+ * {@link HarmonicTerm}s). The recipe's `phase` is in TURNS; the rectangular coefficient is
99
+ * `mag·(cos, sin)` at `2π·phase`. The result CLOSES (all indices integer) — feed it straight
100
+ * to `partialSumAt`/`positionsAt`.
101
+ */
102
+ export declare function makeHarmonicFigure(terms: readonly HarmonicTerm[]): BasisComponent[];
103
+ /**
104
+ * The curated FLOWER / closed-epicycle figure catalogue — few-term integer-ratio harmonic
105
+ * stacks, each a deliberate figure (the symmetry order is `|p − q|` for the dominant pair).
106
+ * Selectable/cyclable by key; the LIBRARY beauty register the `boring` random ellipse lacked.
107
+ * The magnitudes stay large + few-phasor so the figure reads bold, not crinkled.
108
+ */
109
+ export declare const FOURIER_FIGURES: Record<string, HarmonicTerm[]>;
110
+ /** The ordered figure keys (the demo/consumer cycle order). */
111
+ export declare const FOURIER_FIGURE_KEYS: string[];
@@ -0,0 +1,4 @@
1
+ /** The instanced ribbon VERTEX — expands the unit quad to each instance's covered bbox. */
2
+ export declare const FOURIER_FIELD_VERT_GLSL = "#version 300 es\n// BI.W-FOURIER-RIBBON \u00A72b \u2014 MUST equal the WGSL twin + FOURIER_TANGENT_EPS (constants.ts).\n#define RIBBON_UNDERGLOW_SCALE 2.2\n\nin vec2 aCorner; // the unit quad corner \u2208 [0,1]\u00B2\nin vec4 aSeg; // (ax, ay, bx, by) \u2014 segment endpoints in MODEL space\nin vec4 aData; // (age, strokeHalf, arg2, _pad) \u2014 strokeHalf/age/arg2 per layer\n\nuniform vec4 uFit; // (centerX, centerY, scale, aspect) \u2014 model\u2192clip fit\nuniform int uLayer; // 0 trail \u00B7 1 epicycle \u00B7 2 head \u00B7 3 cel-rope \u00B7 4 cel-arm\nuniform float uEdgeMargin; // AA-feather slop in MODEL units (a few CSS px), padding the bbox\n\nout vec2 vP; // the MODEL-space fragment coordinate (the fs runs the SDF on it)\nout vec2 vA;\nout vec2 vB;\nout float vAge;\nout float vHalf;\nout float vArg2;\n\nvoid main() {\n vec2 a = aSeg.xy;\n vec2 b = aSeg.zw;\n float strokeHalf = aData.y;\n vA = a; vB = b; vAge = aData.x; vHalf = strokeHalf; vArg2 = aData.z;\n\n vec2 pos;\n if (uLayer == 1 || uLayer == 2) {\n // AABB around a \u2014 the epicycle orbit RING (radius = |b-a|) or the head HALO.\n float ext = (uLayer == 1) ? (length(b - a) + strokeHalf * 0.7) : (strokeHalf * 4.5);\n ext += uEdgeMargin;\n pos = a + (aCorner * 2.0 - 1.0) * ext;\n } else {\n // Capsule along a\u2192b padded by the covered extent (trail under-glow / cel stroke).\n float ext = (uLayer == 0) ? (strokeHalf * RIBBON_UNDERGLOW_SCALE) : strokeHalf;\n ext += uEdgeMargin;\n vec2 d = b - a;\n float len = length(d);\n vec2 dir = len > 1e-6 ? d / len : vec2(1.0, 0.0);\n vec2 perp = vec2(-dir.y, dir.x);\n vec2 along = mix(a - dir * ext, b + dir * ext, aCorner.x);\n pos = along + perp * (aCorner.y * 2.0 - 1.0) * ext;\n }\n\n vP = pos;\n vec2 center = uFit.xy;\n float scale = max(uFit.z, 1e-6);\n float aspect = max(uFit.w, 1e-4);\n // model \u2192 clip (the inverse of the fs's p = center + vClip\u00B7aspect / scale).\n float clipX = (pos.x - center.x) * scale / aspect;\n float clipY = (pos.y - center.y) * scale;\n gl_Position = vec4(clipX, clipY, 0.0, 1.0);\n}\n";
3
+ /** The instanced ribbon FRAGMENT — the exact per-layer SDF over-composite, loop-free. */
4
+ export declare const FOURIER_FIELD_FRAG_GLSL = "#version 300 es\nprecision highp float;\n\n#define MAX_FOURIER_STOPS 4\n// BD.W-FOURIER-LOOM \u00A72b \u2014 MUST equal the WGSL twin + FOURIER_TANGENT_EPS (constants.ts).\n#define TANGENT_EPS 1e-4\n#define SPEED_REF_HALFWIDTHS 6.0\n// BG.W-FOURIER-BEAUTY B1 \u2014 the THICK luminous RIBBON. RIBBON_TAIL_FRAC is MIRRORED verbatim\n// from constants.ts (the GLSL twin cannot import a TS const); proof:viz FB1 cross-checks the\n// two copies are equal so the mid-body floor (RIBBON_HEAD_FLOOR_PX) can never drift off it.\n#define RIBBON_TAIL_FRAC 0.4\n#define RIBBON_UNDERGLOW_SCALE 2.2\n#define RIBBON_UNDERGLOW_ALPHA 0.16\n\nin vec2 vP;\nin vec2 vA;\nin vec2 vB;\nin float vAge;\nin float vHalf;\nin float vArg2;\nout vec4 fragColor;\n\nuniform vec4 uTrail; // (trailWidth, peakAlpha, headGlowAlpha, trailFadeExp)\nuniform vec4 uEnv; // (trailFloor, intensity, showEpicycles, rainbowChain)\nuniform vec4 uLoom; // (squashGain, celGain, _pad, _pad) \u2014 FOURIER-LOOM \u00A72b/\u00A73b\nuniform int uLayer; // 0 trail \u00B7 1 epicycle \u00B7 2 head \u00B7 3 cel-rope \u00B7 4 cel-arm\nuniform int uStopCount;\nuniform vec3 uPalette[MAX_FOURIER_STOPS]; // linear-sRGB stops\n\nconst float PI = 3.141592653589793;\n\n\nfloat srgbToLinearCh(float c) {\n return c <= 0.04045 ? c / 12.92 : pow((c + 0.055) / 1.055, 2.4);\n}\nvec3 srgbToLinear(vec3 c) {\n return vec3(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfloat linearToSrgbCh(float c) {\n return c <= 0.0031308 ? c * 12.92 : 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nvec3 linearToSrgb(vec3 c) {\n return vec3(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS (constants.ts), row-major; written here as GLSL\n// columns (= the transpose) so mat3 * vec3 evaluates the row-major M\u00B7v.\nconst mat3 LINEAR_SRGB_TO_LMS = mat3(\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 (gamut.ts lines 295-297 \u2014\n// these differ at the ~1e-9 digit from LMS_TO_OKLAB_MATRIX; use the inline ones to\n// mirror the exact value.js path), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_OKLAB = mat3(\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 (constants.ts), row-major \u2192 GLSL columns. Rows:\n// l = [1, 0.3963377774, 0.2158037573], m = [1, -0.1055613458, -0.0638541728],\n// s = [1, -0.0894841775, -1.2914855480].\nconst mat3 OKLAB_TO_LMS = mat3(\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 (constants.ts), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_LINEAR_SRGB = mat3(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nvec3 srgbToOklab(vec3 c) {\n vec3 lin = srgbToLinear(c);\n vec3 lms = LINEAR_SRGB_TO_LMS * lin;\n vec3 lmsCbrt = sign(lms) * pow(abs(lms), vec3(1.0 / 3.0));\n return LMS_TO_OKLAB * lmsCbrt;\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nvec3 oklabToLinearSrgb(vec3 lab) {\n vec3 lms_ = OKLAB_TO_LMS * lab;\n vec3 lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS. Mirrors value.js rawOklabToOklch (which returns\n// degrees; we stay in radians and only fold to [0, 2pi)).\nvec3 oklabToOklch(vec3 lab) {\n float C = length(lab.yz);\n float H = atan(lab.z, lab.y);\n if (H < 0.0) H += 2.0 * PI;\n return vec3(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nvec3 oklchToOklab(vec3 lch) {\n return vec3(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\n// Negative-safe cube root (the WGSL chunk's cbrt3 twin; the GLSL chunk inlines it).\nvec3 cbrt3(vec3 v) { return sign(v) * pow(abs(v), vec3(1.0 / 3.0)); }\n\nvec3 samplePaletteLin(float t) {\n if (uStopCount <= 1) return uPalette[0];\n float n = float(uStopCount);\n float ft = clamp(t, 0.0, 1.0) * (n - 1.0);\n int i0 = int(floor(ft));\n int i1 = min(i0 + 1, uStopCount - 1);\n float f = ft - float(i0);\n vec3 labA = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * uPalette[i0]);\n vec3 labB = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * uPalette[i1]);\n return oklabToLinearSrgb(mix(labA, labB, f));\n}\n\nvec3 chainColorLin(float seg, bool rainbow) {\n vec3 baseLin = uPalette[0];\n if (!rainbow) return baseLin;\n vec3 lab = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * baseLin);\n vec3 lch = oklabToOklch(lab);\n float hueShift = mix(-0.45, 1.15, clamp(seg, 0.0, 1.0));\n vec3 lifted = vec3(0.66, max(lch.y, 0.14), lch.z + hueShift);\n return oklabToLinearSrgb(oklchToOklab(lifted));\n}\n\nfloat segDist(vec2 p, vec2 a, vec2 b) {\n vec2 pa = p - a;\n vec2 ba = b - a;\n float h = clamp(dot(pa, ba) / max(dot(ba, ba), 1e-8), 0.0, 1.0);\n return length(pa - ba * h);\n}\n\n// BD.W-FOURIER-LOOM \u00A72b \u2014 the head travel frame (T, \u015D), the GLSL twin of the WGSL headFrame.\nstruct HeadFrame { vec2 T; float sHat; };\nHeadFrame headFrame(vec2 head, vec2 headBack, float halfW) {\n vec2 d = head - headBack;\n float s = length(d);\n HeadFrame fr;\n if (s <= TANGENT_EPS) { fr.T = vec2(1.0, 0.0); fr.sHat = 0.0; return fr; }\n fr.T = d / s;\n float refScale = max(halfW * SPEED_REF_HALFWIDTHS, 1e-6);\n fr.sHat = clamp(s / refScale, 0.0, 1.0);\n return fr;\n}\n\n// The volume-preserving anisotropic head distance (the WGSL headAniso twin).\nfloat headAniso(vec2 p, vec2 head, HeadFrame fr, float k) {\n float g = 1.0 + k * fr.sHat;\n vec2 n = vec2(-fr.T.y, fr.T.x);\n vec2 rel = p - head;\n float along = dot(rel, fr.T) / g;\n float across = dot(rel, n) * g;\n return length(vec2(along, across));\n}\n\nvoid main() {\n vec2 p = vP;\n float aa = max(fwidth(p.x) + fwidth(p.y), 1e-5) * 0.75;\n float peak = uTrail.y * uEnv.y;\n float headGlow = uTrail.z * uEnv.y;\n float fadeExp = uTrail.w;\n float trailFloor = uEnv.x;\n bool rainbow = uEnv.w > 0.5;\n float squashGain = uLoom.x;\n float celGain = uLoom.y;\n float halfW = vHalf;\n\n if (uLayer == 0) {\n // \u2500\u2500 TRAIL \u2014 the tapered luminous ribbon over its own soft under-glow \u2500\u2500\n float age = vAge;\n float d = segDist(p, vA, vB);\n // B1 \u2014 the head\u2192tail TAPER: the ribbon half-width scales with age (thick head, thin tail).\n float ribbonHalf = halfW * (RIBBON_TAIL_FRAC + (1.0 - RIBBON_TAIL_FRAC) * age);\n vec3 lin = samplePaletteLin(1.0 - age * 0.4);\n vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));\n // B1 \u2014 the soft UNDER-GLOW: a wider, low-alpha copy UNDER the crisp ribbon (ONE color event).\n float glowHalf = ribbonHalf * RIBBON_UNDERGLOW_SCALE;\n float glowCover = 1.0 - smoothstep(glowHalf, glowHalf + aa * 3.0, d);\n float ga = peak * RIBBON_UNDERGLOW_ALPHA * pow(age, fadeExp) * glowCover;\n // the crisp tapered ribbon core.\n float cover = 1.0 - smoothstep(ribbonHalf, ribbonHalf + aa, d);\n float ca = max(peak * pow(age, fadeExp), peak * trailFloor) * cover;\n // core OVER glow OVER transparent (both premultiplied on the SAME rgb \u2192 out = rgb\u00B7outA).\n float outA = ca + ga * (1.0 - ca);\n fragColor = vec4(rgb * outA, outA);\n } else if (uLayer == 1) {\n // \u2500\u2500 EPICYCLE \u2014 orbit RING + ARM + joint DOT union (MAX-blended, no join seam) \u2500\u2500\n float seg = vArg2;\n vec3 lin = chainColorLin(seg, rainbow);\n vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));\n float radius = length(vB - vA);\n float dRing = abs(length(p - vA) - radius);\n float ringW = max(halfW * 0.45, aa);\n float ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;\n float dArm = segDist(p, vA, vB);\n float armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);\n float dotR = max(halfW * 0.7, aa * 2.0);\n float dDot = length(p - vA);\n float dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);\n float m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;\n fragColor = vec4(rgb * m, m);\n } else if (uLayer == 2) {\n // \u2500\u2500 HEAD \u2014 squash-and-stretch (\u00A72b): halo + saturated core + white specular \u2500\u2500\n vec2 head = vA;\n vec2 headBack = vB;\n HeadFrame fr = headFrame(head, headBack, halfW);\n float dHead = headAniso(p, head, fr, squashGain);\n float coreR = halfW * 1.5;\n float haloR = coreR * 3.0;\n vec3 headRgb = clamp(linearToSrgb(samplePaletteLin(0.0)), vec3(0.0), vec3(1.0));\n float halo = (1.0 - smoothstep(0.0, haloR, dHead)) * headGlow * 0.35;\n vec4 accum = vec4(headRgb * halo, halo);\n float core = (1.0 - smoothstep(coreR, coreR + aa, dHead)) * headGlow;\n accum = vec4(headRgb * core, core) + accum * (1.0 - core);\n float spec = (1.0 - smoothstep(coreR * 0.4, coreR * 0.4 + aa, dHead)) * headGlow * 0.9;\n accum = vec4(vec3(1.0) * spec, spec) + accum * (1.0 - spec);\n fragColor = accum;\n } else {\n // \u2500\u2500 CEL \u2014 the technicolor ink shadow (rope uLayer==3 / arm uLayer==4) \u2500\u2500\n float celA = clamp(celGain, 0.0, 1.0);\n float d = segDist(p, vA, vB);\n float cover = 1.0 - smoothstep(halfW, halfW + aa, d);\n float m = cover * celA * peak * vArg2; // vArg2 = celStrength (1.0 rope / 0.7 arm)\n fragColor = vec4(0.0, 0.0, 0.0, m);\n }\n}\n";
@@ -0,0 +1 @@
1
+ export declare const FOURIER_FIELD_RENDER_WGSL = "\n// The instanced-ribbon LAYER selector (a pipeline-overridable constant \u2014 5 pipelines share the\n// ONE module, each specializing this): 0 trail \u00B7 1 epicycle \u00B7 2 head \u00B7 3 cel-rope \u00B7 4 cel-arm.\noverride LAYER: i32 = 0;\n\nconst PI: f32 = 3.141592653589793;\n// BD.W-FOURIER-LOOM \u00A72b \u2014 the degenerate-tangent guard (must equal FOURIER_TANGENT_EPS in\n// constants.ts + the GL CPU bead path so a cusp resolves IDENTICALLY across both engines).\nconst TANGENT_EPS: f32 = 1e-4;\nconst SPEED_REF_HALFWIDTHS: f32 = 6.0;\n// BG.W-FOURIER-BEAUTY B1 \u2014 the THICK luminous RIBBON. RIBBON_TAIL_FRAC is MIRRORED verbatim\n// from constants.ts (the WGSL twin cannot import a TS const); proof:viz FB1 cross-checks the\n// two copies are equal so the mid-body floor (RIBBON_HEAD_FLOOR_PX) can never drift off it.\nconst RIBBON_TAIL_FRAC: f32 = 0.4;\nconst RIBBON_UNDERGLOW_SCALE: f32 = 2.2;\nconst RIBBON_UNDERGLOW_ALPHA: f32 = 0.16;\n\n// \u2500\u2500 Render uniforms (the typed-struct source-of-truth \u2014 see uniformBridgeWGPU.ts) \u2500\u2500\nstruct RenderUniforms {\n // r0: (centerX, centerY, scale, aspect) \u2014 model\u2192clip fit transform\n r0: vec4<f32>,\n // r1: (trailWidth, peakAlpha, headGlowAlpha, trailFadeExp)\n r1: vec4<f32>,\n // r2: (trailFloor, intensity, showEpicycles, rainbowChain)\n r2: vec4<f32>,\n // r3: (squashGain, celGain, edgeMargin, _pad) \u2014 FOURIER-LOOM \u00A72b/\u00A73b + the ribbon bbox slop\n r3: vec4<f32>,\n // ints: (sampleCount, armCount, stopCount, _pad)\n ints: vec4<i32>,\n // palette stops: linear-sRGB rgb + _pad\n palette: array<vec4<f32>, 4>,\n};\n\n@group(0) @binding(0) var<uniform> u: RenderUniforms;\n// curveSamples[i] = (x, y, age, _pad) in MODEL space \u2014 the render VERTEX-PULLS these.\n@group(0) @binding(1) var<storage, read> curveSamples: array<vec4<f32>>;\n// chainTips[k] = (x, y, _pad, _pad) in MODEL space.\n@group(0) @binding(2) var<storage, read> chainTips: array<vec4<f32>>;\n\n\nfn srgbToLinearCh(c: f32) -> f32 {\n if (c <= 0.04045) { return c / 12.92; }\n return pow((c + 0.055) / 1.055, 2.4);\n}\nfn srgbToLinear(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfn linearToSrgbCh(c: f32) -> f32 {\n if (c <= 0.0031308) { return c * 12.92; }\n return 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nfn linearToSrgb(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS, row-major \u2192 WGSL columns (= the transpose).\nconst LINEAR_SRGB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients, row-major \u2192 WGSL columns.\nconst LMS_TO_OKLAB: mat3x3<f32> = mat3x3<f32>(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF, row-major \u2192 WGSL columns.\nconst OKLAB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB, row-major \u2192 WGSL columns.\nconst LMS_TO_LINEAR_SRGB: mat3x3<f32> = mat3x3<f32>(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\nfn cbrt3(v: vec3<f32>) -> vec3<f32> {\n return sign(v) * pow(abs(v), vec3<f32>(1.0 / 3.0));\n}\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nfn srgbToOklab(c: vec3<f32>) -> vec3<f32> {\n let lin = srgbToLinear(c);\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nfn oklabToLinearSrgb(lab: vec3<f32>) -> vec3<f32> {\n let lms_ = OKLAB_TO_LMS * lab;\n let lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS, folded to [0, 2pi). Mirrors value.js rawOklabToOklch.\nfn oklabToOklch(lab: vec3<f32>) -> vec3<f32> {\n let C = length(lab.yz);\n var H = atan2(lab.z, lab.y);\n if (H < 0.0) { H = H + 2.0 * PI; }\n return vec3<f32>(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nfn oklchToOklab(lch: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\nfn samplePaletteLin(t: f32) -> vec3<f32> {\n let stopCount = u.ints.z;\n if (stopCount <= 1) { return u.palette[0].rgb; }\n let n = f32(stopCount);\n let ft = clamp(t, 0.0, 1.0) * (n - 1.0);\n let i0 = i32(floor(ft));\n let i1 = min(i0 + 1, stopCount - 1);\n let f = ft - f32(i0);\n let labA = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * u.palette[i0].rgb);\n let labB = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * u.palette[i1].rgb);\n return oklabToLinearSrgb(mix(labA, labB, f));\n}\n\nfn chainColorLin(seg: f32, rainbow: bool) -> vec3<f32> {\n let baseLin = u.palette[0].rgb;\n if (!rainbow) { return baseLin; }\n let lab = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * baseLin);\n let lch = oklabToOklch(lab);\n let hueShift = mix(-0.45, 1.15, clamp(seg, 0.0, 1.0));\n let h = lch.z + hueShift;\n let lifted = vec3<f32>(0.66, max(lch.y, 0.14), h);\n return oklabToLinearSrgb(oklchToOklab(lifted));\n}\n\nfn segDist(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>) -> f32 {\n let pa = p - a;\n let ba = b - a;\n let h = clamp(dot(pa, ba) / max(dot(ba, ba), 1e-8), 0.0, 1.0);\n return length(pa - ba * h);\n}\n\n// BD.W-FOURIER-LOOM \u00A72b \u2014 the head travel frame + the volume-preserving anisotropic distance.\nstruct HeadFrame { T: vec2<f32>, sHat: f32, };\nfn headFrame(head: vec2<f32>, headBack: vec2<f32>, halfW: f32) -> HeadFrame {\n let d = head - headBack;\n let s = length(d);\n var out: HeadFrame;\n if (s <= TANGENT_EPS) {\n out.T = vec2<f32>(1.0, 0.0);\n out.sHat = 0.0;\n return out;\n }\n out.T = d / s;\n let refScale = max(halfW * SPEED_REF_HALFWIDTHS, 1e-6);\n out.sHat = clamp(s / refScale, 0.0, 1.0);\n return out;\n}\n\nfn headAniso(p: vec2<f32>, head: vec2<f32>, fr: HeadFrame, k: f32) -> f32 {\n let g = 1.0 + k * fr.sHat;\n let n = vec2<f32>(-fr.T.y, fr.T.x);\n let rel = p - head;\n let along = dot(rel, fr.T) / g;\n let across = dot(rel, n) * g;\n return length(vec2<f32>(along, across));\n}\n\n// The cel ink lags behind the travel \u2014 the SAME \u2212T\u00B7halfW\u00B71.4 offset both engines apply (the\n// head frame is read straight off the compute-filled curveSamples[0]/[1], parity by construction).\nfn celOffset(halfW: f32) -> vec2<f32> {\n let fr = headFrame(curveSamples[0].xy, curveSamples[1].xy, halfW);\n return -fr.T * halfW * 1.4;\n}\n\n// The unit quad as two triangles (6 verts) in [0,1]\u00B2 \u2014 the instanced vertex expands it.\nfn quadCorner(vi: u32) -> vec2<f32> {\n var c = array<vec2<f32>, 6>(\n vec2<f32>(0.0, 0.0), vec2<f32>(1.0, 0.0), vec2<f32>(0.0, 1.0),\n vec2<f32>(0.0, 1.0), vec2<f32>(1.0, 0.0), vec2<f32>(1.0, 1.0),\n );\n return c[vi];\n}\n\nstruct VSOut {\n @builtin(position) pos: vec4<f32>,\n @location(0) p: vec2<f32>, // model-space fragment coordinate\n @location(1) a: vec2<f32>,\n @location(2) b: vec2<f32>,\n @location(3) segData: vec3<f32>, // (age, strokeHalf, arg2)\n};\n\n@vertex\nfn vs_main(@builtin(vertex_index) vi: u32, @builtin(instance_index) inst: u32) -> VSOut {\n let corner = quadCorner(vi);\n let center = u.r0.xy;\n let scale = max(u.r0.z, 1e-6);\n let aspect = max(u.r0.w, 1e-4);\n let halfW = u.r1.x * 0.5;\n let margin = u.r3.z;\n\n var a: vec2<f32> = vec2<f32>(0.0);\n var b: vec2<f32> = vec2<f32>(0.0);\n var strokeHalf: f32 = halfW;\n var age: f32 = 0.0;\n var arg2: f32 = 0.0;\n var isCapsule: bool = true;\n var ext: f32 = halfW;\n\n if (LAYER == 0) {\n // TRAIL \u2014 the curve capsule; the covered extent is the head-width under-glow.\n a = curveSamples[inst].xy;\n b = curveSamples[inst + 1u].xy;\n age = max(curveSamples[inst].z, curveSamples[inst + 1u].z);\n ext = halfW * RIBBON_UNDERGLOW_SCALE;\n isCapsule = true;\n } else if (LAYER == 1) {\n // EPICYCLE \u2014 the chain AABB around a (radius = |b\u2212a|).\n a = chainTips[inst].xy;\n b = chainTips[inst + 1u].xy;\n arg2 = f32(inst) / max(f32(u.ints.y - 1), 1.0);\n ext = length(b - a) + halfW * 0.7;\n isCapsule = false;\n } else if (LAYER == 2) {\n // HEAD \u2014 the comet head at curveSamples[0], AABB by the halo radius.\n a = curveSamples[0].xy;\n b = curveSamples[1].xy;\n ext = halfW * 4.5;\n isCapsule = false;\n } else if (LAYER == 3) {\n // CEL-ROPE \u2014 the curve capsule, offset opposite travel; full-width ink.\n let off = celOffset(halfW);\n a = curveSamples[inst].xy + off;\n b = curveSamples[inst + 1u].xy + off;\n arg2 = 1.0;\n ext = halfW;\n isCapsule = true;\n } else {\n // CEL-ARM (LAYER == 4) \u2014 the chain capsule, offset; the narrower arm ink (0.55\u00B7halfW).\n let off = celOffset(halfW);\n a = chainTips[inst].xy + off;\n b = chainTips[inst + 1u].xy + off;\n strokeHalf = halfW * 0.55;\n arg2 = 0.7;\n ext = halfW * 0.55;\n isCapsule = true;\n }\n ext = ext + margin;\n\n var pos: vec2<f32>;\n if (isCapsule) {\n let d = b - a;\n let len = length(d);\n var dir = vec2<f32>(1.0, 0.0);\n if (len > 1e-6) { dir = d / len; }\n let perp = vec2<f32>(-dir.y, dir.x);\n let along = mix(a - dir * ext, b + dir * ext, corner.x);\n pos = along + perp * (corner.y * 2.0 - 1.0) * ext;\n } else {\n pos = a + (corner * 2.0 - vec2<f32>(1.0)) * ext;\n }\n\n let clipX = (pos.x - center.x) * scale / aspect;\n let clipY = (pos.y - center.y) * scale;\n var out: VSOut;\n out.pos = vec4<f32>(clipX, clipY, 0.0, 1.0);\n out.p = pos;\n out.a = a;\n out.b = b;\n out.segData = vec3<f32>(age, strokeHalf, arg2);\n return out;\n}\n\n@fragment\nfn fs_main(in: VSOut) -> @location(0) vec4<f32> {\n let p = in.p;\n let aa = max(fwidth(p.x) + fwidth(p.y), 1e-5) * 0.75;\n let peak = u.r1.y * u.r2.y;\n let headGlow = u.r1.z * u.r2.y;\n let fadeExp = u.r1.w;\n let trailFloor = u.r2.x;\n let rainbow = u.r2.w > 0.5;\n let squashGain = u.r3.x;\n let celGain = u.r3.y;\n let halfW = in.segData.y;\n let age = in.segData.x;\n let arg2 = in.segData.z;\n let a = in.a;\n let b = in.b;\n\n if (LAYER == 0) {\n // \u2500\u2500 TRAIL \u2014 the tapered luminous ribbon over its own soft under-glow \u2500\u2500\n let d = segDist(p, a, b);\n let ribbonHalf = halfW * (RIBBON_TAIL_FRAC + (1.0 - RIBBON_TAIL_FRAC) * age);\n let lin = samplePaletteLin(1.0 - age * 0.4);\n let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));\n let glowHalf = ribbonHalf * RIBBON_UNDERGLOW_SCALE;\n let glowCover = 1.0 - smoothstep(glowHalf, glowHalf + aa * 3.0, d);\n let ga = peak * RIBBON_UNDERGLOW_ALPHA * pow(age, fadeExp) * glowCover;\n let cover = 1.0 - smoothstep(ribbonHalf, ribbonHalf + aa, d);\n let ca = max(peak * pow(age, fadeExp), peak * trailFloor) * cover;\n let outA = ca + ga * (1.0 - ca);\n return vec4<f32>(rgb * outA, outA);\n } else if (LAYER == 1) {\n // \u2500\u2500 EPICYCLE \u2014 orbit RING + ARM + joint DOT union (MAX-blended, no join seam) \u2500\u2500\n let lin = chainColorLin(arg2, rainbow);\n let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));\n let radius = length(b - a);\n let dRing = abs(length(p - a) - radius);\n let ringW = max(halfW * 0.45, aa);\n let ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;\n let dArm = segDist(p, a, b);\n let armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);\n let dotR = max(halfW * 0.7, aa * 2.0);\n let dDot = length(p - a);\n let dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);\n let m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;\n return vec4<f32>(rgb * m, m);\n } else if (LAYER == 2) {\n // \u2500\u2500 HEAD \u2014 squash-and-stretch (\u00A72b): halo + saturated core + white specular \u2500\u2500\n let head = a;\n let headBack = b;\n let fr = headFrame(head, headBack, halfW);\n let dHead = headAniso(p, head, fr, squashGain);\n let coreR = halfW * 1.5;\n let haloR = coreR * 3.0;\n let headRgb = clamp(linearToSrgb(samplePaletteLin(0.0)), vec3<f32>(0.0), vec3<f32>(1.0));\n let halo = (1.0 - smoothstep(0.0, haloR, dHead)) * headGlow * 0.35;\n var accum = vec4<f32>(headRgb * halo, halo);\n let core = (1.0 - smoothstep(coreR, coreR + aa, dHead)) * headGlow;\n accum = vec4<f32>(headRgb * core, core) + accum * (1.0 - core);\n let spec = (1.0 - smoothstep(coreR * 0.4, coreR * 0.4 + aa, dHead)) * headGlow * 0.9;\n accum = vec4<f32>(vec3<f32>(1.0) * spec, spec) + accum * (1.0 - spec);\n return accum;\n } else {\n // \u2500\u2500 CEL \u2014 the technicolor ink shadow (rope LAYER==3 / arm LAYER==4) \u2500\u2500\n let celA = clamp(celGain, 0.0, 1.0);\n let d = segDist(p, a, b);\n let cover = 1.0 - smoothstep(halfW, halfW + aa, d);\n let m = cover * celA * peak * arg2; // arg2 = celStrength (1.0 rope / 0.7 arm)\n return vec4<f32>(0.0, 0.0, 0.0, m);\n }\n}\n";
@@ -0,0 +1,51 @@
1
+ /**
2
+ * The ordered ribbon LAYER kinds — the fullscreen loop's draw order, one instanced draw each:
3
+ * cel-rope → cel-arm (the technicolor ink shadow, painted FIRST, UNDER the lit chain)
4
+ * epicycle (the orbit rings + arms + joint dots — the scaffold under the curve)
5
+ * trail (the tapered luminous ribbon over its own under-glow)
6
+ * head (the squash-and-stretch comet head — halo + core + specular)
7
+ */
8
+ export type RibbonLayerKind = "cel-rope" | "cel-arm" | "epicycle" | "trail" | "head";
9
+ /**
10
+ * The blend mode a layer draws with. `over` is the premultiplied source-over
11
+ * (`ONE, ONE_MINUS_SRC_ALPHA`) every layer but the epicycle uses. `max` (per-channel
12
+ * `blendEquation MAX`) is the FB5 fix for the epicycle-join over-composite SEAM: adjacent
13
+ * arms' rings/dots overlap, and over-compositing them separately double-darkened the joins
14
+ * (the named 9× residual); MAX makes the epicycle group a per-channel UNION so overlapping
15
+ * arms take the brighter contribution instead of stacking.
16
+ */
17
+ export type RibbonBlend = "over" | "max";
18
+ /** The shader LAYER selector (WGSL override `LAYER` / GLSL `uLayer`) per kind. */
19
+ export declare const RIBBON_LAYER_ID: Readonly<Record<RibbonLayerKind, number>>;
20
+ export interface RibbonLayer {
21
+ readonly kind: RibbonLayerKind;
22
+ /** The instance count for this layer's single `drawInstanced` (0 layers are omitted). */
23
+ readonly instanceCount: number;
24
+ readonly blend: RibbonBlend;
25
+ }
26
+ export interface RibbonPlanInput {
27
+ /** The comet-curve sample count — the trail draws `sampleCount − 1` capsule instances. */
28
+ readonly sampleCount: number;
29
+ /** The epicycle arm count (0 / `showEpicycles: false` → no epicycle + no cel-arm layer). */
30
+ readonly armCount: number;
31
+ readonly showEpicycles: boolean;
32
+ /** The cel-shadow gain — `0` omits the cel-rope + cel-arm layers (byte-frozen). */
33
+ readonly celGain: number;
34
+ }
35
+ /**
36
+ * The per-frame ribbon DRAW PLAN both backends iterate — the ordered list of instanced draws
37
+ * that reproduces the fullscreen loop's paint (cel first/under, head last/over). An empty
38
+ * layer (no arms, no cel) is omitted, never a zero-instance draw.
39
+ */
40
+ export declare function planRibbonLayers(input: RibbonPlanInput): RibbonLayer[];
41
+ /**
42
+ * The unit quad as a 4-vertex TRIANGLE_STRIP for the WebGL2 instanced draw — corners
43
+ * (0,0)(1,0)(0,1)(1,1) in `[0,1]²`; the instanced vertex expands each corner to the
44
+ * per-instance capsule (a→b padded) or AABB (ring / head halo) bbox. The WGPU render pass
45
+ * builds the SAME quad from `vertex_index` in-shader (a 6-vertex two-triangle list), so it
46
+ * consumes only {@link planRibbonLayers}, never this buffer.
47
+ */
48
+ export declare const RIBBON_QUAD_STRIP: Float32Array<ArrayBuffer>;
49
+ export declare const RIBBON_QUAD_STRIP_VERTS = 4;
50
+ /** Floats per ribbon instance in the WebGL2 attribute buffer: `aSeg`(vec4) + `aData`(vec4). */
51
+ export declare const RIBBON_INSTANCE_FLOATS = 8;
@@ -0,0 +1,99 @@
1
+ /**
2
+ * useHandMark.ts — the headless reactive core (L2/L3/L4; SPEC §9).
3
+ * ─────────────────────────────────────────────────────────────────────────────
4
+ * Sits between the props and the SFC template so a future React/web-component skin
5
+ * reuses L1–L4. It orchestrates: resolve brush → shapeGeom → ink → animation. It
6
+ * owns NO DOM (the SFC anchors/measures/mounts the filter); it owns the reactive
7
+ * pipeline + the draw-on / boil state machine.
8
+ *
9
+ * Two draw-on mechanisms, picked by a FIELD (never an instrument `if`):
10
+ * - clean ink (no grain): `stroke-dashoffset` on `pathLength="1"` — the slides
11
+ * recipe, geometry-agnostic, compositor-cheap, no filter to re-raster.
12
+ * - grained ink (crayon): a `clip-path: inset()` WIPE — the filter rasters ONCE
13
+ * and the reveal mutates only the clip (`ds-crayon-handmark §5.1`). NEVER
14
+ * dashoffset under a filter (it would re-raster the graph per frame — the Δ4
15
+ * gate).
16
+ *
17
+ * PRM: every draw-on collapses to instant (finished static state); boil no-ops
18
+ * (`useLineBoil.start()` early-returns under reduced motion).
19
+ */
20
+ import { type Ref } from "vue";
21
+ import { type Brush, type BrushName } from "../brush";
22
+ /**
23
+ * The boil clock surface the SFC binds — the `useLineBoil` return shape, declared
24
+ * structurally over glass-ui's OWN `Ref` (pencil-boil ships a nested `@vue`, so its
25
+ * `Ref` symbol differs; the no-op stub is built with this `ref`, hence the surface
26
+ * is named here rather than `ReturnType<typeof useLineBoil>`).
27
+ */
28
+ export interface BoilClock {
29
+ currentFrame: Ref<number>;
30
+ start: () => void;
31
+ stop: () => void;
32
+ }
33
+ import { type ShapeGeom } from "../geometry";
34
+ import { type SVGFragment } from "../ink";
35
+ import type { HandAnimation, HandMarkProps, HandShape, MarkBox } from "../types";
36
+ export interface UseHandMarkInput {
37
+ brush: BrushName | Partial<Brush>;
38
+ shape: HandShape;
39
+ color: string;
40
+ seed: number;
41
+ overrides?: Partial<Brush>;
42
+ animation: HandAnimation;
43
+ boilFps: number;
44
+ boilFrames: number;
45
+ roughness: number | null;
46
+ segments: number | null;
47
+ jagged: boolean;
48
+ /** NATURAL underline morphology (C-2) — procedural off the house-seeded engine. */
49
+ natural: boolean;
50
+ /** NATURAL-underline excursion knob (BG.W-HANDMARK-PERFECT (c)); `null` ⇒ derive from brush wobble. */
51
+ amplitude: number | null;
52
+ box: MarkBox | null;
53
+ path: string | null;
54
+ filterId: string;
55
+ /**
56
+ * The MEASURED text baseline as a fraction of the `.hm` box height (text-mode
57
+ * underline anchor). `null` until the SFC measures it (ResizeObserver +
58
+ * `document.fonts.ready`) — geometry falls back to the legacy constant for that
59
+ * one pre-measure frame. Ignored in positioned (`box`) mode.
60
+ */
61
+ baselineFrac: number | null;
62
+ /**
63
+ * The aspect-correct marking-space HEIGHT (BG.W-HANDMARK-PERFECT (a)) — `VB_W /
64
+ * boxAspect` from the SFC-measured `.hm` box px-aspect, so `preserveAspectRatio="none"`
65
+ * scales the text-mode wobble SHAPE uniformly (the humps stop crushing flat on a short
66
+ * word). Defaults to `VB_H`; used ONLY for the measured text-mode marks (the positioned/
67
+ * box path keeps `VB_H` byte-for-byte).
68
+ */
69
+ vbH: number;
70
+ }
71
+ /**
72
+ * Normalise raw HandMarkProps (with their defaults applied) into the core input.
73
+ * `baselineFrac` is the SFC's MEASURED text baseline (text-mode underline anchor) —
74
+ * passed in (not a prop) because it is a runtime measurement, `null` until measured.
75
+ */
76
+ export declare function normalizeProps(props: HandMarkProps, filterId: string, baselineFrac?: number | null, vbH?: number): UseHandMarkInput;
77
+ export interface HandMarkCore {
78
+ /** the resolved effective brush vector. */
79
+ brush: Ref<Brush>;
80
+ /** the static base geometry (boil re-perturbs THIS). */
81
+ baseGeom: Ref<ShapeGeom>;
82
+ /** the live SVG fragment (paths + filter defs). */
83
+ fragment: Ref<SVGFragment>;
84
+ /** the live `d` (escape-hatch path > boiled geometry > static base). */
85
+ pathD: Ref<string>;
86
+ /** does the brush emit a grain filter? (drives the draw-on mechanism). */
87
+ grained: Ref<boolean>;
88
+ /** the draw-on mechanism for this mark: dashoffset (pen) | clip (crayon). */
89
+ drawKind: Ref<"dashoffset" | "clip">;
90
+ /** does this animation draw on at all? */
91
+ draws: Ref<boolean>;
92
+ /** does this animation boil? */
93
+ boils: Ref<boolean>;
94
+ /** the boil clock (a real `useLineBoil` only when the mark boils; else a no-op stub). */
95
+ boil: BoilClock;
96
+ /** arm/disarm boil (draw-then-boil holds it until the draw finishes). */
97
+ boilArmed: Ref<boolean>;
98
+ }
99
+ export declare function useHandMark(input: Ref<UseHandMarkInput>): HandMarkCore;