@mkbabb/glass-ui 4.1.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1375) hide show
  1. package/README.md +73 -159
  2. package/dist/CardAction-2uUvjMQK.js +285 -0
  3. package/dist/CollapsibleContent-DiHcB_HH.js +63 -0
  4. package/dist/CommandShortcut-fmdbsEJL.js +302 -0
  5. package/dist/ConfiguratorRow-BV6zPjTM.js +151 -0
  6. package/dist/DataTable-Bxya8nBn.js +518 -0
  7. package/dist/DialogContent-Bl4v10AC.js +192 -0
  8. package/dist/DialogFooter-C0v4Hz2F.js +168 -0
  9. package/dist/FadingScroll-BSRLqQCx.js +76 -0
  10. package/dist/FocusScope-BzKwhsBn.js +23 -0
  11. package/dist/IconChip-CwLmBJ_K.js +57 -0
  12. package/dist/IconTooltip-D9sbK-Mk.js +25 -0
  13. package/dist/Input-DKf-XwUM.js +57 -0
  14. package/dist/InstrumentChassis-Dss5Tjcm.js +65 -0
  15. package/dist/Label-C84TaQiw.js +36 -0
  16. package/dist/Notification-DQv2cOh9.js +43 -0
  17. package/dist/NumberFieldContent-BkE7xPS9.js +140 -0
  18. package/dist/PagerDots-BP6jh7z4.js +279 -0
  19. package/dist/PaperBackdrop-BYwE8_kg.js +31 -0
  20. package/dist/PopoverContent-DOtszFWK.js +251 -0
  21. package/dist/Progress-uWLyXE7J.js +308 -0
  22. package/dist/SelectGroup-BuEptUsa.js +31 -0
  23. package/dist/SelectScrollDownButton-CDtwaWkZ.js +261 -0
  24. package/dist/SelectSeparator-4QGephvr.js +49 -0
  25. package/dist/Separator-DqJ6PfOd.js +44 -0
  26. package/dist/Surface-BWRfwyn8.js +59 -0
  27. package/dist/Switch-BPBfhMU3.js +49 -0
  28. package/dist/Toaster-C_-WeU9W.js +281 -0
  29. package/dist/ToggleGroupItem-DNWx2aSW.js +175 -0
  30. package/dist/TooltipProvider-GtfYdSVf.js +110 -0
  31. package/dist/accent-tone-solve-CBw3L0cy.js +20 -0
  32. package/dist/animated-digit.d.ts +1 -1
  33. package/dist/animated-digit.js +4 -4
  34. package/dist/aurora.d.ts +1 -1
  35. package/dist/aurora.js +1427 -398
  36. package/dist/axes.d.ts +1 -0
  37. package/dist/axes.js +50 -0
  38. package/dist/badge-C0C-rTBu.js +80 -0
  39. package/dist/badge.d.ts +1 -1
  40. package/dist/badge.js +1 -1
  41. package/dist/blob-config.d.ts +5 -0
  42. package/dist/blob-config.js +2 -0
  43. package/dist/blob.d.ts +1 -0
  44. package/dist/blob.js +1582 -0
  45. package/dist/button-BXzhydVB.js +187 -0
  46. package/dist/button.d.ts +1 -1
  47. package/dist/button.js +1 -1
  48. package/dist/canvas.js +1 -1
  49. package/dist/card.d.ts +1 -1
  50. package/dist/card.js +1 -1
  51. package/dist/carousel.d.ts +2 -2
  52. package/dist/carousel.js +177 -131
  53. package/dist/chip.d.ts +10 -0
  54. package/dist/chip.js +81 -0
  55. package/dist/class-names-5jotTFzp.js +97 -0
  56. package/dist/coalesce-metric-B8o7zT9u.js +13 -0
  57. package/dist/collapsible.d.ts +1 -1
  58. package/dist/collapsible.js +1 -1
  59. package/dist/color-Bp5jmv4Z.js +86 -0
  60. package/dist/color-swatch.d.ts +1 -1
  61. package/dist/color-swatch.js +2 -2
  62. package/dist/color.js +3 -2
  63. package/dist/command.d.ts +1 -1
  64. package/dist/command.js +1 -1
  65. package/dist/completion-seal.d.ts +1 -1
  66. package/dist/completion-seal.js +76 -42
  67. package/dist/components/_shared/axes.d.ts +21 -0
  68. package/dist/components/_shared/class-names.d.ts +27 -0
  69. package/dist/components/_shared/index.d.ts +6 -0
  70. package/dist/components/_shared/menuItemVariants.d.ts +51 -0
  71. package/dist/components/_shared/useControlSize.d.ts +46 -0
  72. package/dist/components/_shared/useMotionAxis.d.ts +41 -0
  73. package/dist/components/_shared/useSurfaceAxis.d.ts +64 -0
  74. package/dist/components/alert/Alert.vue.d.ts +19 -0
  75. package/dist/components/alert/index.d.ts +8 -0
  76. package/dist/components/aurora/Aurora.vue.d.ts +104 -0
  77. package/dist/components/aurora/composables/atoms-fields.d.ts +43 -0
  78. package/dist/components/aurora/composables/atoms.d.ts +198 -0
  79. package/dist/components/aurora/composables/auroraImageSource.d.ts +44 -0
  80. package/dist/components/aurora/composables/color.d.ts +111 -0
  81. package/dist/components/aurora/composables/frameLoop.d.ts +66 -0
  82. package/dist/components/aurora/composables/glSetup.d.ts +29 -0
  83. package/dist/components/aurora/composables/runtime.d.ts +140 -0
  84. package/dist/components/aurora/composables/uniformBridge.d.ts +120 -0
  85. package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +60 -0
  86. package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +39 -0
  87. package/dist/components/aurora/composables/useAurora.d.ts +80 -0
  88. package/dist/components/aurora/composables/useCursorInteraction.d.ts +25 -0
  89. package/dist/components/aurora/composables/wgpuSetup.d.ts +50 -0
  90. package/dist/components/aurora/constants/presets.d.ts +326 -0
  91. package/dist/components/aurora/constants/shaders/aurora-image.frag.d.ts +3 -0
  92. package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +3 -0
  93. package/dist/components/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  94. package/dist/components/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  95. package/dist/components/aurora/constants/shaders/brush.glsl.d.ts +1 -0
  96. package/dist/components/aurora/constants/shaders/flow.glsl.d.ts +1 -0
  97. package/dist/components/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
  98. package/dist/components/aurora/constants/shaders/metal-medium.glsl.d.ts +2 -0
  99. package/dist/components/aurora/index.d.ts +13 -0
  100. package/dist/components/avatar/Avatar.vue.d.ts +23 -0
  101. package/dist/components/avatar/index.d.ts +9 -0
  102. package/dist/components/badge/Badge.vue.d.ts +41 -0
  103. package/dist/components/badge/index.d.ts +9 -0
  104. package/dist/components/blob/Blob.vue.d.ts +72 -0
  105. package/dist/components/blob/composables/easing.d.ts +7 -0
  106. package/dist/components/blob/composables/satelliteKinematics.d.ts +20 -0
  107. package/dist/components/blob/composables/uploadBlobUniforms.d.ts +51 -0
  108. package/dist/components/blob/composables/useBlobPointer.d.ts +88 -0
  109. package/dist/components/blob/composables/useBlobSatellites.d.ts +16 -0
  110. package/dist/components/blob/composables/useMetaballRenderer.d.ts +100 -0
  111. package/dist/components/blob/composables/wgpuSetup.d.ts +23 -0
  112. package/dist/components/blob/config.d.ts +3 -0
  113. package/dist/components/blob/constants.d.ts +82 -0
  114. package/dist/components/blob/index.d.ts +8 -0
  115. package/dist/components/blob/presets.d.ts +14 -0
  116. package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  117. package/dist/components/blob/shaders/metaball.wgsl.d.ts +1 -0
  118. package/dist/components/blob/types.d.ts +256 -0
  119. package/dist/components/button/Button.vue.d.ts +31 -0
  120. package/dist/components/button/index.d.ts +9 -0
  121. package/dist/components/card/Card.vue.d.ts +180 -0
  122. package/dist/components/card/CardHeader.vue.d.ts +58 -0
  123. package/dist/components/carousel/Carousel.vue.d.ts +44 -0
  124. package/dist/components/carousel/CarouselContent.vue.d.ts +24 -0
  125. package/dist/components/carousel/CarouselNext.vue.d.ts +21 -0
  126. package/dist/components/carousel/CarouselPrevious.vue.d.ts +21 -0
  127. package/dist/components/carousel/GlassCarouselPager.vue.d.ts +50 -0
  128. package/dist/components/carousel/useCarousel.d.ts +21 -0
  129. package/dist/components/chip/Chip.vue.d.ts +20 -0
  130. package/dist/components/chip/chipVariants.d.ts +43 -0
  131. package/dist/components/chip/index.d.ts +3 -0
  132. package/dist/components/chip/types.d.ts +38 -0
  133. package/dist/components/combobox/Combobox.vue.d.ts +32 -0
  134. package/dist/components/combobox/ComboboxList.vue.d.ts +32 -0
  135. package/dist/components/command/index.d.ts +10 -0
  136. package/dist/components/completion-seal/CompletionSeal.vue.d.ts +28 -0
  137. package/dist/components/completion-seal/constants.d.ts +66 -0
  138. package/dist/components/configurator/Configurator.vue.d.ts +160 -0
  139. package/dist/components/configurator/ConfiguratorRow.vue.d.ts +96 -0
  140. package/dist/components/configurator/index.d.ts +6 -0
  141. package/dist/components/configurator/size.d.ts +26 -0
  142. package/dist/components/constellation/Constellation.vue.d.ts +34 -0
  143. package/dist/components/constellation/composables/constellationGLSetup.d.ts +10 -0
  144. package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  145. package/dist/components/constellation/composables/useConstellation.d.ts +39 -0
  146. package/dist/components/constellation/constants.d.ts +97 -0
  147. package/dist/components/constellation/constellationTypes.d.ts +420 -0
  148. package/dist/components/dialog/DialogContent.vue.d.ts +115 -0
  149. package/dist/components/dock/DockBackgroundToggle.vue.d.ts +46 -0
  150. package/dist/components/dock/DockControl.vue.d.ts +73 -0
  151. package/dist/components/dock/DockCrossfade.vue.d.ts +50 -0
  152. package/dist/components/dock/DockLayer.vue.d.ts +33 -0
  153. package/dist/components/dock/DockLayerGroup.vue.d.ts +65 -0
  154. package/dist/components/dock/DockStack.vue.d.ts +73 -0
  155. package/dist/components/dock/DockTrigger.vue.d.ts +27 -0
  156. package/dist/components/dock/GlassDock.vue.d.ts +33 -0
  157. package/dist/components/dock/composables/dockContext.d.ts +48 -0
  158. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +57 -0
  159. package/dist/components/dock/composables/dockMorphContext.d.ts +89 -0
  160. package/dist/components/dock/composables/dockMorphMeasure.d.ts +86 -0
  161. package/dist/components/dock/composables/index.d.ts +10 -0
  162. package/dist/components/dock/composables/useDockFisheye.d.ts +24 -0
  163. package/dist/components/dock/composables/useDockOverflowFit.d.ts +22 -0
  164. package/dist/components/dock/composables/useDockPopover.d.ts +68 -0
  165. package/dist/components/dock/composables/useDockSearch.d.ts +85 -0
  166. package/dist/components/dock/composables/useDockShellProps.d.ts +178 -0
  167. package/dist/components/dock/composables/useDockSpring.d.ts +71 -0
  168. package/dist/components/dock/composables/useDockTouchGate.d.ts +51 -0
  169. package/dist/components/dock/constants.d.ts +107 -0
  170. package/dist/components/dock/index.d.ts +19 -0
  171. package/dist/components/drawer/Drawer.vue.d.ts +85 -0
  172. package/dist/components/drawer/DrawerContent.vue.d.ts +40 -0
  173. package/dist/components/drawer/composables/useDrawerSnap.d.ts +24 -0
  174. package/dist/components/drawer/constants.d.ts +50 -0
  175. package/dist/components/drawer/index.d.ts +35 -0
  176. package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +24 -0
  177. package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +36 -0
  178. package/dist/components/dropdown-menu/index.d.ts +16 -0
  179. package/dist/components/dropdown-menu/useMenuTrigger.d.ts +14 -0
  180. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +71 -0
  181. package/dist/components/fourier-field/FourierField.vue.d.ts +54 -0
  182. package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
  183. package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
  184. package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
  185. package/dist/components/fourier-field/composables/useFourierField.d.ts +55 -0
  186. package/dist/components/fourier-field/constants.d.ts +134 -0
  187. package/dist/components/fourier-field/index.d.ts +31 -0
  188. package/dist/components/fourier-field/math.d.ts +111 -0
  189. package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  190. package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  191. package/dist/components/fourier-field/shaders/fourier-field.ribbon.d.ts +51 -0
  192. package/dist/components/goo-filter/GooFilter.vue.d.ts +22 -0
  193. package/dist/components/goo-filter/index.d.ts +1 -0
  194. package/dist/components/handmark/brush.d.ts +269 -0
  195. package/dist/components/handmark/composables/useHandMark.d.ts +99 -0
  196. package/dist/components/handmark/constants.d.ts +69 -0
  197. package/dist/components/handmark/geometry.d.ts +65 -0
  198. package/dist/components/handmark/index.d.ts +27 -0
  199. package/dist/components/handmark/noise.d.ts +30 -0
  200. package/dist/components/handmark/types.d.ts +70 -0
  201. package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
  202. package/dist/components/header-ribbon/index.d.ts +2 -0
  203. package/dist/components/header-ribbon/types.d.ts +7 -0
  204. package/dist/components/icon-chip/types.d.ts +92 -0
  205. package/dist/components/index.d.ts +36 -0
  206. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +42 -0
  207. package/dist/components/liquid-grid/composables/liquidGrid.d.ts +113 -0
  208. package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +18 -0
  209. package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +21 -0
  210. package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  211. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +31 -0
  212. package/dist/components/liquid-grid/constants.d.ts +93 -0
  213. package/dist/components/liquid-grid/index.d.ts +5 -0
  214. package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +4 -0
  215. package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +1 -0
  216. package/dist/components/metric-badge/MetricBadge.vue.d.ts +40 -0
  217. package/dist/components/metric-cell/MetricCell.vue.d.ts +108 -0
  218. package/dist/components/metric-stack/MetricRow.vue.d.ts +120 -0
  219. package/dist/components/notification/Notification.vue.d.ts +16 -0
  220. package/dist/components/pager-dots/composables/usePagerWorm.d.ts +26 -0
  221. package/dist/components/pager-dots/constants.d.ts +15 -0
  222. package/dist/components/popover/Popover.vue.d.ts +54 -0
  223. package/dist/components/popover/PopoverContent.vue.d.ts +53 -0
  224. package/dist/components/popover/PopoverTrigger.vue.d.ts +16 -0
  225. package/dist/components/popover/popoverContext.d.ts +17 -0
  226. package/dist/components/progress/Progress.vue.d.ts +54 -0
  227. package/dist/components/progress/ProgressLiquid.vue.d.ts +21 -0
  228. package/dist/components/progress/index.d.ts +6 -0
  229. package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +19 -0
  230. package/dist/components/scroll-progress-rim/index.d.ts +3 -0
  231. package/dist/components/scroll-progress-rim/types.d.ts +2 -0
  232. package/dist/components/search/FuzzySearch.vue.d.ts +22 -0
  233. package/dist/components/search/SearchBar.vue.d.ts +38 -0
  234. package/dist/components/search/searchVariants.d.ts +19 -0
  235. package/dist/components/select/SelectContent.vue.d.ts +42 -0
  236. package/dist/components/slider/Slider.vue.d.ts +40 -0
  237. package/dist/components/slider/index.d.ts +46 -0
  238. package/dist/components/sortable-list/SortableHandle.vue.d.ts +19 -0
  239. package/dist/components/sortable-list/SortableItem.vue.d.ts +22 -0
  240. package/dist/components/sortable-list/SortableList.vue.d.ts +39 -0
  241. package/dist/components/sortable-list/composables/dragController.d.ts +29 -0
  242. package/dist/components/sortable-list/composables/types.d.ts +50 -0
  243. package/dist/components/sortable-list/composables/useSortable.d.ts +5 -0
  244. package/dist/components/sortable-list/context.d.ts +11 -0
  245. package/dist/components/sortable-list/index.d.ts +4 -0
  246. package/dist/components/split-chars/SplitChars.vue.d.ts +53 -0
  247. package/dist/components/stacked-icons/types.d.ts +19 -0
  248. package/dist/components/surface/Surface.vue.d.ts +45 -0
  249. package/dist/components/surface/index.d.ts +2 -0
  250. package/dist/components/tabs/SegmentedTabs.vue.d.ts +101 -0
  251. package/dist/components/tabs/composables/useEyeglassLive.d.ts +17 -0
  252. package/dist/components/tabs/composables/useTabDragMorph.d.ts +42 -0
  253. package/dist/components/tabs/composables/useTabResponsive.d.ts +43 -0
  254. package/dist/components/tabs/composables/useTabRovingFocus.d.ts +51 -0
  255. package/dist/components/tabs/constants.d.ts +1 -0
  256. package/dist/components/timeline/ContinuousMarkers.vue.d.ts +49 -0
  257. package/dist/components/timeline/GlassTimeline.vue.d.ts +114 -0
  258. package/dist/components/timeline/ScrubberTimeline.vue.d.ts +45 -0
  259. package/dist/components/timeline/geometry.d.ts +92 -0
  260. package/dist/components/toast/Toast.vue.d.ts +107 -0
  261. package/dist/components/toast/index.d.ts +9 -0
  262. package/dist/components/toast/use-toast.d.ts +182 -0
  263. package/dist/components/toggle/Toggle.vue.d.ts +29 -0
  264. package/dist/components/toggle/index.d.ts +26 -0
  265. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +74 -0
  266. package/dist/components/watercolor-dot/prng.d.ts +5 -0
  267. package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +31 -0
  268. package/dist/composables/color/accent-tone-solve.d.ts +11 -0
  269. package/dist/composables/color/index.d.ts +18 -1
  270. package/dist/composables/color/useAccentTone.d.ts +6 -8
  271. package/dist/composables/dom/index.d.ts +1 -0
  272. package/dist/composables/dom/useDragVelocity.d.ts +46 -0
  273. package/dist/composables/dom/useUserInvalidAria.d.ts +7 -11
  274. package/dist/composables/glass/ambientHueHistogram.d.ts +27 -0
  275. package/dist/composables/glass/backdropLuminanceSample.d.ts +56 -0
  276. package/dist/composables/glass/backdropSampleMath.d.ts +5 -0
  277. package/dist/composables/glass/textureUpload.d.ts +91 -0
  278. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +27 -1
  279. package/dist/composables/glass/useSpecularPointer.d.ts +23 -4
  280. package/dist/composables/glass/useSpecularTracking.d.ts +1 -1
  281. package/dist/composables/glass/wave/index.d.ts +4 -0
  282. package/dist/composables/glass/wave/waveField.d.ts +136 -0
  283. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
  284. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
  285. package/dist/composables/glass/webgl/backingSize.d.ts +44 -0
  286. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +76 -2
  287. package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +36 -0
  288. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
  289. package/dist/composables/glass/webgl/visibility.d.ts +42 -0
  290. package/dist/composables/glass/webgpu/index.d.ts +1 -0
  291. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +38 -0
  292. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +13 -74
  293. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +96 -0
  294. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +31 -1
  295. package/dist/composables/index.d.ts +1 -2
  296. package/dist/composables/motion/bloomUpField.d.ts +29 -0
  297. package/dist/composables/motion/core/index.d.ts +8 -0
  298. package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
  299. package/dist/composables/motion/gooBarbellGeometry.d.ts +79 -0
  300. package/dist/composables/motion/index.d.ts +2 -0
  301. package/dist/composables/motion/morphSignatures.d.ts +88 -0
  302. package/dist/composables/motion/motionTempo.d.ts +9 -0
  303. package/dist/composables/motion/pointerFieldMappings.d.ts +161 -0
  304. package/dist/composables/motion/springPresets.d.ts +20 -27
  305. package/dist/composables/motion/suite.d.ts +2 -2
  306. package/dist/composables/motion/useBloomUp.d.ts +97 -0
  307. package/dist/composables/motion/useDockCtaReceive.d.ts +29 -54
  308. package/dist/composables/motion/useElementMorph.d.ts +99 -0
  309. package/dist/composables/motion/useGooMorph.d.ts +72 -0
  310. package/dist/composables/motion/useLeadTrail.d.ts +69 -0
  311. package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
  312. package/dist/composables/motion/useLiquidPress.d.ts +21 -0
  313. package/dist/composables/motion/useLiquidReveal.d.ts +19 -30
  314. package/dist/composables/motion/usePointerVelocityField.d.ts +59 -0
  315. package/dist/composables/motion/useRoutePointer.d.ts +41 -0
  316. package/dist/composables/motion/useScrollPin.d.ts +49 -0
  317. package/dist/composables/motion/useScrollScene.d.ts +67 -0
  318. package/dist/composables/motion/useSelectionGroup.d.ts +83 -0
  319. package/dist/composables/motion/useSelectionIndicator.d.ts +90 -0
  320. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  321. package/dist/configurator.d.ts +1 -1
  322. package/dist/configurator.js +3 -3
  323. package/dist/constellation.d.ts +1 -1
  324. package/dist/constellation.js +291 -254
  325. package/dist/controls.d.ts +1 -1
  326. package/dist/controls.js +4 -4
  327. package/dist/createCanvasLifecycle-DlrcvWbb.js +209 -0
  328. package/dist/dark.js +1 -1
  329. package/dist/data-table.d.ts +1 -1
  330. package/dist/data-table.js +1 -1
  331. package/dist/deck.d.ts +1 -1
  332. package/dist/deck.js +6 -6
  333. package/dist/dialog.d.ts +1 -1
  334. package/dist/dialog.js +3 -4
  335. package/dist/dock.d.ts +1 -1
  336. package/dist/dock.js +1111 -1119
  337. package/dist/dockContext-d-WpJN2Z.js +13 -0
  338. package/dist/dom.js +7 -6
  339. package/dist/drawer.d.ts +1 -1
  340. package/dist/drawer.js +181 -163
  341. package/dist/dropdown-menu-DaGlVdp9.js +421 -0
  342. package/dist/dropdown-menu.d.ts +1 -1
  343. package/dist/dropdown-menu.js +1 -1
  344. package/dist/easing.d.ts +10 -1
  345. package/dist/easing.js +148 -148
  346. package/dist/expandable-container.d.ts +1 -1
  347. package/dist/expandable-container.js +85 -66
  348. package/dist/fading-scroll.d.ts +1 -1
  349. package/dist/fading-scroll.js +1 -1
  350. package/dist/focus-scope.d.ts +1 -1
  351. package/dist/focus-scope.js +2 -23
  352. package/dist/forms.d.ts +4 -3
  353. package/dist/forms.js +75 -66
  354. package/dist/fourier-field.d.ts +1 -1
  355. package/dist/fourier-field.js +720 -422
  356. package/dist/fourier-math.d.ts +7 -1
  357. package/dist/fourier-math.js +2 -2
  358. package/dist/glass-ui.css +1 -1
  359. package/dist/glass-ui.js +200 -344
  360. package/dist/handmark.d.ts +3 -1
  361. package/dist/handmark.js +225 -164
  362. package/dist/header-ribbon.d.ts +1 -1
  363. package/dist/header-ribbon.js +6 -6
  364. package/dist/icon-chip.d.ts +1 -1
  365. package/dist/icon-chip.js +1 -1
  366. package/dist/icon-tooltip.d.ts +1 -1
  367. package/dist/icon-tooltip.js +1 -1
  368. package/dist/index.d.ts +43 -43
  369. package/dist/infinite-scroll.d.ts +2 -2
  370. package/dist/infinite-scroll.js +2 -2
  371. package/dist/instrument-chassis.d.ts +1 -1
  372. package/dist/instrument-chassis.js +1 -1
  373. package/dist/keyboard.js +1 -1
  374. package/dist/label.d.ts +1 -1
  375. package/dist/label.js +1 -1
  376. package/dist/labeled-field.d.ts +1 -1
  377. package/dist/labeled-field.js +12 -12
  378. package/dist/liquid-grid.d.ts +1 -0
  379. package/dist/liquid-grid.js +1064 -0
  380. package/dist/math-CIEcwsYi.js +112 -0
  381. package/dist/menuItemVariants-DbO-Fr74.js +36 -0
  382. package/dist/metric-badge.d.ts +1 -1
  383. package/dist/metric-badge.js +79 -2
  384. package/dist/metric-cell.d.ts +1 -1
  385. package/dist/metric-cell.js +9 -9
  386. package/dist/metric-stack.d.ts +1 -1
  387. package/dist/metric-stack.js +23 -23
  388. package/dist/motion-core.js +48 -39
  389. package/dist/motion-curves.d.ts +20 -0
  390. package/dist/motion-curves.js +20 -14
  391. package/dist/motion.js +153 -69
  392. package/dist/motionTempo-CMS5b0Vu.js +7 -0
  393. package/dist/notification.d.ts +1 -1
  394. package/dist/notification.js +1 -1
  395. package/dist/number-field.d.ts +1 -1
  396. package/dist/number-field.js +1 -1
  397. package/dist/pager-dots.d.ts +1 -1
  398. package/dist/pager-dots.js +1 -1
  399. package/dist/paper-backdrop.d.ts +1 -1
  400. package/dist/paper-backdrop.js +1 -1
  401. package/dist/pointerFieldMappings-4VtmkOWv.js +65 -0
  402. package/dist/popover.d.ts +1 -1
  403. package/dist/popover.js +1 -1
  404. package/dist/presets-B07HzyKd.js +95 -0
  405. package/dist/prng-B0PLRmR6.js +15 -0
  406. package/dist/progress.d.ts +1 -1
  407. package/dist/progress.js +2 -2
  408. package/dist/pulse.d.ts +1 -1
  409. package/dist/pulse.js +3 -3
  410. package/dist/reactive.js +2 -2
  411. package/dist/resolveCanvasColor-B3L-akX0.js +93 -0
  412. package/dist/scroll-progress-rim.d.ts +1 -0
  413. package/dist/scroll-progress-rim.js +61 -0
  414. package/dist/search.d.ts +1 -1
  415. package/dist/search.js +123 -123
  416. package/dist/select.d.ts +1 -1
  417. package/dist/select.js +3 -3
  418. package/dist/separator.d.ts +1 -1
  419. package/dist/separator.js +1 -1
  420. package/dist/sidebar.js +1 -1
  421. package/dist/slider-Cxuj_W_H.js +151 -0
  422. package/dist/slider.d.ts +1 -1
  423. package/dist/slider.js +1 -1
  424. package/dist/sortable-list.d.ts +1 -1
  425. package/dist/sortable-list.js +383 -58
  426. package/dist/spa-view.d.ts +1 -1
  427. package/dist/spa-view.js +1 -1
  428. package/dist/springPresets-h5VKJQqG.js +58 -0
  429. package/dist/stacked-icons.d.ts +1 -1
  430. package/dist/stacked-icons.js +56 -41
  431. package/dist/status-dot.d.ts +1 -1
  432. package/dist/status-dot.js +2 -2
  433. package/dist/styles/animations.css +1 -409
  434. package/dist/styles/card-scroll.css +1 -0
  435. package/dist/styles/cards.css +1 -248
  436. package/dist/styles/completion-seal.css +1 -131
  437. package/dist/styles/components.css +1 -47
  438. package/dist/styles/configurator.css +1 -132
  439. package/dist/styles/dialog-placement.css +1 -0
  440. package/dist/styles/dock/adaptive-legibility.css +1 -0
  441. package/dist/styles/dock/crossfade.css +1 -0
  442. package/dist/styles/dock/cta-seat.css +1 -87
  443. package/dist/styles/dock/density.css +1 -447
  444. package/dist/styles/dock/dock.css +1 -0
  445. package/dist/styles/dock/fisheye.css +1 -0
  446. package/dist/styles/dock/layer-group.css +1 -333
  447. package/dist/styles/dock/layers.css +1 -449
  448. package/dist/styles/dock/morph.css +1 -499
  449. package/dist/styles/dock/overflow.css +1 -292
  450. package/dist/styles/dock/popover.css +1 -0
  451. package/dist/styles/dock/search.css +1 -68
  452. package/dist/styles/dock/section.css +1 -59
  453. package/dist/styles/dock/shape.css +1 -124
  454. package/dist/styles/dock/shell-regions.css +1 -0
  455. package/dist/styles/dock/shell.css +1 -500
  456. package/dist/styles/dock-controls/dark-mode-toggle.css +1 -122
  457. package/dist/styles/dock-controls/icon-button.css +1 -157
  458. package/dist/styles/dock-controls/tab-button.css +1 -143
  459. package/dist/styles/dock-controls/touch-floor.css +1 -94
  460. package/dist/styles/dock-controls/triggers.css +1 -135
  461. package/dist/styles/dock-controls.css +1 -74
  462. package/dist/styles/dock.css +1 -158
  463. package/dist/styles/draw-in.css +1 -0
  464. package/dist/styles/drawer.css +1 -240
  465. package/dist/styles/feedback-tone.css +1 -104
  466. package/dist/styles/fonts.css +1 -143
  467. package/dist/styles/glass/a11y-fallback.css +1 -245
  468. package/dist/styles/glass/accent-tone.css +1 -66
  469. package/dist/styles/glass/control-surfaces.css +1 -167
  470. package/dist/styles/glass/deep.css +1 -44
  471. package/dist/styles/glass/defined.css +1 -0
  472. package/dist/styles/glass/glass-atom.css +1 -0
  473. package/dist/styles/glass/glass-capsule.css +1 -0
  474. package/dist/styles/glass/glass-chip.css +1 -0
  475. package/dist/styles/glass/grain-overlay.css +1 -0
  476. package/dist/styles/glass/ladder-undershadow.css +1 -0
  477. package/dist/styles/glass/ladder.css +1 -489
  478. package/dist/styles/glass/liquid-enter.css +1 -0
  479. package/dist/styles/glass/liquid-fill.css +1 -0
  480. package/dist/styles/glass/material.css +1 -301
  481. package/dist/styles/glass/progress-rail.css +1 -78
  482. package/dist/styles/glass/reveal.css +1 -136
  483. package/dist/styles/glass/rim.css +1 -110
  484. package/dist/styles/glass/squircle.css +1 -66
  485. package/dist/styles/glass/surface-axis.css +1 -113
  486. package/dist/styles/glass/surfaces-pager.css +1 -0
  487. package/dist/styles/glass/surfaces.css +1 -401
  488. package/dist/styles/glass-refract.css +1 -114
  489. package/dist/styles/glass-specular-track.css +1 -74
  490. package/dist/styles/glass.css +1 -66
  491. package/dist/styles/icon-chip.css +1 -211
  492. package/dist/styles/index.css +1 -249
  493. package/dist/styles/instrument-chassis.css +1 -453
  494. package/dist/styles/menu.css +1 -127
  495. package/dist/styles/paper.css +1 -68
  496. package/dist/styles/scroll-choreography.css +1 -300
  497. package/dist/styles/scroll-chrome.css +1 -123
  498. package/dist/styles/scroll-driven.css +1 -110
  499. package/dist/styles/scroll-progress-rim.css +1 -0
  500. package/dist/styles/segmented-tabs.css +1 -413
  501. package/dist/styles/select.css +1 -50
  502. package/dist/styles/tabs/segmented-tabs-drag.css +1 -0
  503. package/dist/styles/theme/bridges.css +1 -380
  504. package/dist/styles/theme/dark.css +1 -7
  505. package/dist/styles/theme/literals.css +1 -103
  506. package/dist/styles/theme/radius.css +1 -117
  507. package/dist/styles/theme.css +1 -33
  508. package/dist/styles/tokens/color-radius.css +1 -297
  509. package/dist/styles/tokens/dark-arm-glass.css +1 -0
  510. package/dist/styles/tokens/dark-arm.css +1 -413
  511. package/dist/styles/tokens/glass-deep.css +1 -100
  512. package/dist/styles/tokens/glass-fx.css +1 -376
  513. package/dist/styles/tokens/glass.css +1 -280
  514. package/dist/styles/tokens/light-dark.css +1 -200
  515. package/dist/styles/tokens/motion-registers.css +1 -0
  516. package/dist/styles/tokens/offsets.css +1 -143
  517. package/dist/styles/tokens/on-glass-fg.css +1 -39
  518. package/dist/styles/tokens/property-regs-specular.css +1 -0
  519. package/dist/styles/tokens/property-regs.css +1 -422
  520. package/dist/styles/tokens/scale-paper.css +1 -481
  521. package/dist/styles/tokens/scheme-motion.css +1 -428
  522. package/dist/styles/tokens/scheme-spring.css +1 -0
  523. package/dist/styles/tokens/scroll-tokens.css +1 -123
  524. package/dist/styles/tokens/shadow.css +1 -166
  525. package/dist/styles/tokens/sizing-config.css +1 -110
  526. package/dist/styles/tokens/sizing.css +1 -450
  527. package/dist/styles/tokens.css +1 -45
  528. package/dist/styles/transitions.css +1 -263
  529. package/dist/styles/typography/scale.css +1 -153
  530. package/dist/styles/typography/semantic.css +1 -233
  531. package/dist/styles/typography/utilities.css +1 -174
  532. package/dist/styles/typography.css +1 -46
  533. package/dist/styles/utilities/a11y-overrides.css +1 -184
  534. package/dist/styles/utilities/animate.css +0 -29
  535. package/dist/styles/utilities/base-misc.css +1 -307
  536. package/dist/styles/utilities/base.css +1 -327
  537. package/dist/styles/utilities/btn.css +1 -231
  538. package/dist/styles/utilities/components.css +1 -342
  539. package/dist/styles/utilities/metal.css +1 -215
  540. package/dist/styles/utilities.css +1 -26
  541. package/dist/styles/view-transition.css +1 -67
  542. package/dist/styles/viz-reveal.css +1 -0
  543. package/dist/surface.d.ts +1 -0
  544. package/dist/surface.js +3 -0
  545. package/dist/switch.d.ts +1 -1
  546. package/dist/switch.js +1 -1
  547. package/dist/tabs.d.ts +1 -1
  548. package/dist/tabs.js +217 -260
  549. package/dist/timeline.d.ts +1 -1
  550. package/dist/timeline.js +269 -218
  551. package/dist/toast.d.ts +1 -1
  552. package/dist/toast.js +1 -1
  553. package/dist/toggle-group.d.ts +1 -1
  554. package/dist/toggle-group.js +1 -1
  555. package/dist/tooltip.d.ts +1 -1
  556. package/dist/tooltip.js +1 -1
  557. package/dist/typewriter.d.ts +1 -1
  558. package/dist/typewriter.js +7 -7
  559. package/dist/useAccentTone-D25DxviG.js +23 -0
  560. package/dist/useAnimatedNumber-2XC4aRB6.js +40 -0
  561. package/dist/useConfiguratorState-Dq35N_7t.js +167 -0
  562. package/dist/useControlSize-DJwe-7ZQ.js +9 -0
  563. package/dist/useDockCtaReceive-BgMmeINo.js +161 -0
  564. package/dist/useDocumentVisibility-CpJGUgcJ.js +17 -0
  565. package/dist/useDragMorph-65ihHePq.js +93 -0
  566. package/dist/useDragVelocity-BWcNMCux.js +57 -0
  567. package/dist/useFuzzySearch-KslRxiJY.js +177 -0
  568. package/dist/useGooMorph-CU1pwuC6.js +268 -0
  569. package/dist/useGpuSubstrate-DcY584kE.js +347 -0
  570. package/dist/useIntersectionPause-Cmt5Tnv9.js +39 -0
  571. package/dist/useKeyboardShortcuts-ynVmNFo3.js +104 -0
  572. package/dist/useLeadTrail-DOH4XkL1.js +74 -0
  573. package/dist/useLiquidFlex-Ch4exNvN.js +35 -0
  574. package/dist/useLiquidPress-BXNHydZh.js +40 -0
  575. package/dist/useMotionAxis-DCCXMC-i.js +20 -0
  576. package/dist/usePointerVelocityField-CwXyeW0Z.js +122 -0
  577. package/dist/useRAFLoop-CvOo_kgb.js +109 -0
  578. package/dist/useRoutePointer-DL7I0gY4.js +52 -0
  579. package/dist/useScrollProgress-C-yImzhU.js +35 -0
  580. package/dist/useSelectionGroup-Btpf24aY.js +215 -0
  581. package/dist/useSpring-BBSKFx_0.js +41 -0
  582. package/dist/useSpringMount-CNvvgGiC.js +71 -0
  583. package/dist/useSpringPress-BypV_KO-.js +36 -0
  584. package/dist/useSurfaceAxis-DudiZVOR.js +10 -0
  585. package/dist/useTabRovingFocus-CG1H1k1J.js +143 -0
  586. package/dist/useTouchGate-BlegwvwL.js +84 -0
  587. package/dist/useUserInvalidAria-Bkruei7M.js +25 -0
  588. package/dist/watercolor-dot.d.ts +1 -1
  589. package/dist/watercolor-dot.js +57 -65
  590. package/dist/writeVelocityWeight-D1rvdxJu.js +19 -0
  591. package/package.json +386 -816
  592. package/src/styles/animations.css +82 -23
  593. package/src/styles/card-scroll.css +189 -0
  594. package/src/styles/cards.css +244 -5
  595. package/src/styles/completion-seal.css +75 -1
  596. package/src/styles/configurator.css +234 -7
  597. package/src/styles/dialog-placement.css +68 -0
  598. package/src/styles/dock/adaptive-legibility.css +119 -0
  599. package/src/styles/dock/crossfade.css +139 -0
  600. package/src/styles/dock/density.css +34 -23
  601. package/src/styles/dock/dock.css +199 -0
  602. package/src/styles/dock/fisheye.css +81 -0
  603. package/src/styles/dock/layer-group.css +37 -41
  604. package/src/styles/dock/layers.css +127 -138
  605. package/src/styles/dock/morph.css +85 -129
  606. package/src/styles/dock/overflow.css +107 -67
  607. package/src/styles/dock/popover.css +249 -0
  608. package/src/styles/dock/shape.css +86 -22
  609. package/src/styles/dock/shell-regions.css +73 -0
  610. package/src/styles/dock/shell.css +160 -160
  611. package/src/styles/dock-controls/dark-mode-toggle.css +3 -2
  612. package/src/styles/dock-controls/icon-button.css +77 -13
  613. package/src/styles/dock-controls/tab-button.css +2 -2
  614. package/src/styles/dock-controls/touch-floor.css +25 -0
  615. package/src/styles/dock-controls/triggers.css +23 -1
  616. package/src/styles/dock-controls.css +18 -0
  617. package/src/styles/dock.css +67 -6
  618. package/src/styles/draw-in.css +89 -0
  619. package/src/styles/drawer.css +203 -3
  620. package/src/styles/glass/a11y-fallback.css +19 -76
  621. package/src/styles/glass/control-surfaces.css +20 -16
  622. package/src/styles/glass/deep.css +74 -4
  623. package/src/styles/glass/defined.css +88 -0
  624. package/src/styles/glass/glass-atom.css +247 -0
  625. package/src/styles/glass/glass-capsule.css +175 -0
  626. package/src/styles/glass/glass-chip.css +211 -0
  627. package/src/styles/glass/grain-overlay.css +79 -0
  628. package/src/styles/glass/ladder-undershadow.css +61 -0
  629. package/src/styles/glass/ladder.css +96 -133
  630. package/src/styles/glass/liquid-enter.css +240 -0
  631. package/src/styles/glass/liquid-fill.css +65 -0
  632. package/src/styles/glass/material.css +201 -8
  633. package/src/styles/glass/reveal.css +213 -16
  634. package/src/styles/glass/rim.css +13 -1
  635. package/src/styles/glass/squircle.css +18 -26
  636. package/src/styles/glass/surface-axis.css +24 -1
  637. package/src/styles/glass/surfaces-pager.css +79 -0
  638. package/src/styles/glass/surfaces.css +123 -90
  639. package/src/styles/glass.css +45 -1
  640. package/src/styles/icon-chip.css +45 -0
  641. package/src/styles/index.css +54 -15
  642. package/src/styles/menu.css +66 -6
  643. package/src/styles/paper.css +133 -14
  644. package/src/styles/scroll-choreography.css +151 -157
  645. package/src/styles/scroll-driven.css +18 -5
  646. package/src/styles/scroll-progress-rim.css +87 -0
  647. package/src/styles/segmented-tabs.css +147 -130
  648. package/src/styles/select.css +151 -0
  649. package/src/styles/tabs/segmented-tabs-drag.css +200 -0
  650. package/src/styles/theme/bridges.css +8 -2
  651. package/src/styles/theme/literals.css +2 -1
  652. package/src/styles/theme/radius.css +43 -12
  653. package/src/styles/tokens/color-radius.css +16 -5
  654. package/src/styles/tokens/dark-arm-glass.css +55 -0
  655. package/src/styles/tokens/dark-arm.css +101 -59
  656. package/src/styles/tokens/glass-deep.css +108 -82
  657. package/src/styles/tokens/glass-fx.css +113 -5
  658. package/src/styles/tokens/glass.css +242 -44
  659. package/src/styles/tokens/light-dark.css +22 -6
  660. package/src/styles/tokens/motion-registers.css +93 -0
  661. package/src/styles/tokens/property-regs-specular.css +160 -0
  662. package/src/styles/tokens/property-regs.css +185 -160
  663. package/src/styles/tokens/scale-paper.css +26 -11
  664. package/src/styles/tokens/scheme-motion.css +151 -157
  665. package/src/styles/tokens/scheme-spring.css +292 -0
  666. package/src/styles/tokens/scroll-tokens.css +40 -26
  667. package/src/styles/tokens/shadow.css +79 -13
  668. package/src/styles/tokens/sizing.css +62 -7
  669. package/src/styles/tokens.css +25 -2
  670. package/src/styles/transitions.css +108 -143
  671. package/src/styles/typography/scale.css +10 -0
  672. package/src/styles/typography/semantic.css +5 -5
  673. package/src/styles/typography/utilities.css +25 -2
  674. package/src/styles/utilities/a11y-overrides.css +2 -2
  675. package/src/styles/utilities/base.css +13 -3
  676. package/src/styles/utilities/btn.css +99 -3
  677. package/src/styles/utilities/components.css +16 -21
  678. package/src/styles/utilities/metal.css +86 -29
  679. package/src/styles/viz-reveal.css +63 -0
  680. package/dist/CardAction-8whJrLWt.js +0 -268
  681. package/dist/CollapsibleContent-68dEXIAl.js +0 -63
  682. package/dist/CommandShortcut-D3yxgHNn.js +0 -302
  683. package/dist/ConfiguratorRow-CaP7U3ZA.js +0 -143
  684. package/dist/ContextMenuContent-B3ZsheLV.js +0 -90
  685. package/dist/ContextMenuSubContent-DDRID3qC.js +0 -245
  686. package/dist/DataTable-Bc9kUtu_.js +0 -512
  687. package/dist/DialogContent-6JtTB5x2.js +0 -106
  688. package/dist/DialogFooter-9phqcRIS.js +0 -80
  689. package/dist/DialogScrollContent-TTuovQst.js +0 -93
  690. package/dist/FadingScroll-DLRbH5Xr.js +0 -76
  691. package/dist/HoverCardContent-Bel1gdLZ.js +0 -88
  692. package/dist/HoverPopover-BcIxvyqZ.js +0 -96
  693. package/dist/IconChip-DhbdGdFQ.js +0 -55
  694. package/dist/IconTooltip-B0zimd2H.js +0 -25
  695. package/dist/Input-Cg9DF62r.js +0 -57
  696. package/dist/InstrumentChassis-CxsHSyMj.js +0 -65
  697. package/dist/Label-C2ejNWeC.js +0 -36
  698. package/dist/MetricBadge-RHdBP72w.js +0 -79
  699. package/dist/ModalOverlay-D1VrWyoi.js +0 -53
  700. package/dist/Notification-CphK7AAm.js +0 -43
  701. package/dist/NumberFieldContent-D8cXeyO4.js +0 -140
  702. package/dist/PagerDots-Cjx96la-.js +0 -98
  703. package/dist/PaperBackdrop-CqwjnfLv.js +0 -31
  704. package/dist/PopoverContent-DL7E6vJP.js +0 -127
  705. package/dist/Progress-CnqB7gLm.js +0 -274
  706. package/dist/ScrollingText-CTZbA_cG.js +0 -40
  707. package/dist/SelectGroup-BFiod7X2.js +0 -31
  708. package/dist/SelectScrollDownButton-DAKCBEdW.js +0 -257
  709. package/dist/SelectSeparator-C2UGOkXF.js +0 -49
  710. package/dist/Separator-DQcwC2TR.js +0 -44
  711. package/dist/Switch-B8RscmRu.js +0 -49
  712. package/dist/Toaster-D9qIHjBI.js +0 -274
  713. package/dist/ToggleGroupItem-BLtr3TJq.js +0 -170
  714. package/dist/TooltipProvider-BJ_Y5EGX.js +0 -109
  715. package/dist/api/index.d.ts +0 -33
  716. package/dist/api/types-extra.d.ts +0 -37
  717. package/dist/api.js +0 -2
  718. package/dist/badge-D9XWW4GT.js +0 -53
  719. package/dist/border-progress.d.ts +0 -1
  720. package/dist/border-progress.js +0 -98
  721. package/dist/button-5dY1Dvhd.js +0 -125
  722. package/dist/cn-DJXf4yaB.js +0 -97
  723. package/dist/coalesceMetric-5qIeZnTx.js +0 -13
  724. package/dist/color-Cs0-oxYL.js +0 -116
  725. package/dist/components/custom/aurora/Aurora.vue.d.ts +0 -101
  726. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +0 -39
  727. package/dist/components/custom/aurora/composables/atoms.d.ts +0 -142
  728. package/dist/components/custom/aurora/composables/color.d.ts +0 -93
  729. package/dist/components/custom/aurora/composables/cursorModel.d.ts +0 -78
  730. package/dist/components/custom/aurora/composables/frameLoop.d.ts +0 -39
  731. package/dist/components/custom/aurora/composables/glSetup.d.ts +0 -29
  732. package/dist/components/custom/aurora/composables/runtime.d.ts +0 -127
  733. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +0 -100
  734. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +0 -60
  735. package/dist/components/custom/aurora/composables/useAurora.d.ts +0 -86
  736. package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +0 -33
  737. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +0 -37
  738. package/dist/components/custom/aurora/constants/presets.d.ts +0 -229
  739. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +0 -1
  740. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +0 -1
  741. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +0 -1
  742. package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +0 -1
  743. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +0 -2
  744. package/dist/components/custom/aurora/index.d.ts +0 -13
  745. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +0 -46
  746. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +0 -25
  747. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +0 -18
  748. package/dist/components/custom/border-progress/constants.d.ts +0 -59
  749. package/dist/components/custom/border-progress/index.d.ts +0 -4
  750. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +0 -21
  751. package/dist/components/custom/completion-seal/constants.d.ts +0 -46
  752. package/dist/components/custom/concentric/Concentric.vue.d.ts +0 -39
  753. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +0 -18
  754. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +0 -22
  755. package/dist/components/custom/concentric/composables/ringField.d.ts +0 -85
  756. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +0 -14
  757. package/dist/components/custom/concentric/composables/useConcentric.d.ts +0 -35
  758. package/dist/components/custom/concentric/constants.d.ts +0 -67
  759. package/dist/components/custom/concentric/index.d.ts +0 -5
  760. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +0 -4
  761. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +0 -1
  762. package/dist/components/custom/configurator/Configurator.vue.d.ts +0 -139
  763. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +0 -79
  764. package/dist/components/custom/configurator/density.d.ts +0 -25
  765. package/dist/components/custom/configurator/index.d.ts +0 -6
  766. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +0 -32
  767. package/dist/components/custom/confirm-dialog/index.d.ts +0 -1
  768. package/dist/components/custom/constellation/Constellation.vue.d.ts +0 -33
  769. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +0 -10
  770. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +0 -19
  771. package/dist/components/custom/constellation/composables/useConstellation.d.ts +0 -19
  772. package/dist/components/custom/constellation/constants.d.ts +0 -94
  773. package/dist/components/custom/constellation/constellationTypes.d.ts +0 -407
  774. package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +0 -46
  775. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +0 -29
  776. package/dist/components/custom/dock/DockIconButton.vue.d.ts +0 -62
  777. package/dist/components/custom/dock/DockLayer.vue.d.ts +0 -34
  778. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +0 -51
  779. package/dist/components/custom/dock/DockSelectTrigger.vue.d.ts +0 -29
  780. package/dist/components/custom/dock/DockStack.vue.d.ts +0 -65
  781. package/dist/components/custom/dock/DockTabButton.vue.d.ts +0 -39
  782. package/dist/components/custom/dock/GlassDock.vue.d.ts +0 -31
  783. package/dist/components/custom/dock/composables/dockContext.d.ts +0 -47
  784. package/dist/components/custom/dock/composables/dockLayerContext.d.ts +0 -36
  785. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +0 -93
  786. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +0 -155
  787. package/dist/components/custom/dock/composables/index.d.ts +0 -13
  788. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +0 -15
  789. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +0 -44
  790. package/dist/components/custom/dock/composables/useDockSearch.d.ts +0 -85
  791. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +0 -176
  792. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +0 -90
  793. package/dist/components/custom/dock/constants.d.ts +0 -87
  794. package/dist/components/custom/dock/index.d.ts +0 -21
  795. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +0 -42
  796. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +0 -83
  797. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +0 -39
  798. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +0 -35
  799. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +0 -31
  800. package/dist/components/custom/dot-flow-field/constants.d.ts +0 -69
  801. package/dist/components/custom/dot-flow-field/index.d.ts +0 -5
  802. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +0 -1
  803. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +0 -4
  804. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +0 -1
  805. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +0 -43
  806. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +0 -89
  807. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -52
  808. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +0 -34
  809. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +0 -27
  810. package/dist/components/custom/dot-matrix/constants.d.ts +0 -58
  811. package/dist/components/custom/dot-matrix/index.d.ts +0 -5
  812. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +0 -4
  813. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +0 -1
  814. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +0 -71
  815. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +0 -54
  816. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +0 -15
  817. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +0 -20
  818. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +0 -41
  819. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +0 -42
  820. package/dist/components/custom/fourier-field/constants.d.ts +0 -64
  821. package/dist/components/custom/fourier-field/index.d.ts +0 -31
  822. package/dist/components/custom/fourier-field/math.d.ts +0 -86
  823. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +0 -4
  824. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +0 -1
  825. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +0 -49
  826. package/dist/components/custom/glass-panel/index.d.ts +0 -2
  827. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +0 -71
  828. package/dist/components/custom/goo-blob/composables/easing.d.ts +0 -6
  829. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +0 -41
  830. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +0 -62
  831. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +0 -15
  832. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +0 -69
  833. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +0 -23
  834. package/dist/components/custom/goo-blob/constants.d.ts +0 -57
  835. package/dist/components/custom/goo-blob/index.d.ts +0 -7
  836. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +0 -1
  837. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +0 -1
  838. package/dist/components/custom/goo-blob/types.d.ts +0 -195
  839. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +0 -49
  840. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +0 -24
  841. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +0 -50
  842. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -35
  843. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +0 -31
  844. package/dist/components/custom/goo-dot-matrix/constants.d.ts +0 -76
  845. package/dist/components/custom/goo-dot-matrix/index.d.ts +0 -5
  846. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +0 -11
  847. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +0 -3
  848. package/dist/components/custom/handmark/brush.d.ts +0 -269
  849. package/dist/components/custom/handmark/composables/useHandMark.d.ts +0 -89
  850. package/dist/components/custom/handmark/constants.d.ts +0 -39
  851. package/dist/components/custom/handmark/geometry.d.ts +0 -52
  852. package/dist/components/custom/handmark/index.d.ts +0 -27
  853. package/dist/components/custom/handmark/types.d.ts +0 -62
  854. package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +0 -31
  855. package/dist/components/custom/header-ribbon/index.d.ts +0 -2
  856. package/dist/components/custom/header-ribbon/types.d.ts +0 -7
  857. package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +0 -132
  858. package/dist/components/custom/hover-popover/index.d.ts +0 -1
  859. package/dist/components/custom/icon-chip/types.d.ts +0 -82
  860. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +0 -40
  861. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +0 -108
  862. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +0 -120
  863. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +0 -42
  864. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +0 -90
  865. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +0 -16
  866. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +0 -19
  867. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +0 -16
  868. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +0 -31
  869. package/dist/components/custom/paper-grid/constants.d.ts +0 -57
  870. package/dist/components/custom/paper-grid/index.d.ts +0 -5
  871. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +0 -4
  872. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +0 -1
  873. package/dist/components/custom/scrolling-text/ScrollingText.vue.d.ts +0 -20
  874. package/dist/components/custom/scrolling-text/index.d.ts +0 -1
  875. package/dist/components/custom/search/FuzzySearch.vue.d.ts +0 -22
  876. package/dist/components/custom/search/SearchBar.vue.d.ts +0 -38
  877. package/dist/components/custom/search/searchVariants.d.ts +0 -19
  878. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +0 -50
  879. package/dist/components/custom/selectable-chip/index.d.ts +0 -2
  880. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +0 -23
  881. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +0 -38
  882. package/dist/components/custom/sortable-list/SortableItem.vue.d.ts +0 -38
  883. package/dist/components/custom/sortable-list/SortableList.vue.d.ts +0 -76
  884. package/dist/components/custom/sortable-list/context.d.ts +0 -25
  885. package/dist/components/custom/sortable-list/index.d.ts +0 -4
  886. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +0 -39
  887. package/dist/components/custom/stacked-icons/types.d.ts +0 -18
  888. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +0 -99
  889. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +0 -42
  890. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +0 -58
  891. package/dist/components/custom/tabs/constants.d.ts +0 -36
  892. package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +0 -49
  893. package/dist/components/custom/timeline/GlassTimeline.vue.d.ts +0 -114
  894. package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +0 -29
  895. package/dist/components/custom/timeline/geometry.d.ts +0 -100
  896. package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +0 -41
  897. package/dist/components/custom/toggle-chip/index.d.ts +0 -17
  898. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +0 -72
  899. package/dist/components/custom/watercolor-dot/prng.d.ts +0 -5
  900. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +0 -29
  901. package/dist/components/ui/_shared/index.d.ts +0 -6
  902. package/dist/components/ui/_shared/menuItemVariants.d.ts +0 -51
  903. package/dist/components/ui/_shared/useControlSize.d.ts +0 -46
  904. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +0 -41
  905. package/dist/components/ui/alert/Alert.vue.d.ts +0 -19
  906. package/dist/components/ui/alert/index.d.ts +0 -8
  907. package/dist/components/ui/avatar/Avatar.vue.d.ts +0 -23
  908. package/dist/components/ui/avatar/index.d.ts +0 -9
  909. package/dist/components/ui/badge/Badge.vue.d.ts +0 -20
  910. package/dist/components/ui/badge/index.d.ts +0 -7
  911. package/dist/components/ui/button/Button.vue.d.ts +0 -28
  912. package/dist/components/ui/button/index.d.ts +0 -7
  913. package/dist/components/ui/card/Card.vue.d.ts +0 -168
  914. package/dist/components/ui/card/CardHeader.vue.d.ts +0 -81
  915. package/dist/components/ui/carousel/Carousel.vue.d.ts +0 -37
  916. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +0 -16
  917. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +0 -22
  918. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +0 -22
  919. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +0 -50
  920. package/dist/components/ui/carousel/useCarousel.d.ts +0 -20
  921. package/dist/components/ui/combobox/Combobox.vue.d.ts +0 -29
  922. package/dist/components/ui/combobox/ComboboxList.vue.d.ts +0 -32
  923. package/dist/components/ui/command/index.d.ts +0 -9
  924. package/dist/components/ui/context-menu/ContextMenu.vue.d.ts +0 -18
  925. package/dist/components/ui/context-menu/ContextMenuCheckboxItem.vue.d.ts +0 -24
  926. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +0 -34
  927. package/dist/components/ui/context-menu/ContextMenuItem.vue.d.ts +0 -23
  928. package/dist/components/ui/context-menu/ContextMenuLabel.vue.d.ts +0 -19
  929. package/dist/components/ui/context-menu/ContextMenuRadioGroup.vue.d.ts +0 -18
  930. package/dist/components/ui/context-menu/ContextMenuRadioItem.vue.d.ts +0 -22
  931. package/dist/components/ui/context-menu/ContextMenuSeparator.vue.d.ts +0 -8
  932. package/dist/components/ui/context-menu/ContextMenuShortcut.vue.d.ts +0 -17
  933. package/dist/components/ui/context-menu/ContextMenuSubContent.vue.d.ts +0 -34
  934. package/dist/components/ui/context-menu/ContextMenuSubTrigger.vue.d.ts +0 -19
  935. package/dist/components/ui/context-menu/ContextMenuTrigger.vue.d.ts +0 -14
  936. package/dist/components/ui/context-menu/index.d.ts +0 -12
  937. package/dist/components/ui/dialog/DialogContent.vue.d.ts +0 -84
  938. package/dist/components/ui/drawer/Drawer.vue.d.ts +0 -67
  939. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +0 -47
  940. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +0 -17
  941. package/dist/components/ui/drawer/constants.d.ts +0 -45
  942. package/dist/components/ui/drawer/index.d.ts +0 -25
  943. package/dist/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +0 -18
  944. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +0 -36
  945. package/dist/components/ui/dropdown-menu/index.d.ts +0 -15
  946. package/dist/components/ui/hover-card/HoverCard.vue.d.ts +0 -18
  947. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +0 -23
  948. package/dist/components/ui/hover-card/HoverCardTrigger.vue.d.ts +0 -14
  949. package/dist/components/ui/hover-card/index.d.ts +0 -3
  950. package/dist/components/ui/index.d.ts +0 -41
  951. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +0 -46
  952. package/dist/components/ui/metric-pill/index.d.ts +0 -1
  953. package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +0 -28
  954. package/dist/components/ui/multi-select/index.d.ts +0 -7
  955. package/dist/components/ui/notification/Notification.vue.d.ts +0 -16
  956. package/dist/components/ui/popover/Popover.vue.d.ts +0 -18
  957. package/dist/components/ui/popover/PopoverContent.vue.d.ts +0 -42
  958. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +0 -14
  959. package/dist/components/ui/progress/Progress.vue.d.ts +0 -49
  960. package/dist/components/ui/progress/index.d.ts +0 -5
  961. package/dist/components/ui/select/SelectContent.vue.d.ts +0 -33
  962. package/dist/components/ui/sheet/Sheet.vue.d.ts +0 -18
  963. package/dist/components/ui/sheet/SheetClose.vue.d.ts +0 -14
  964. package/dist/components/ui/sheet/SheetContent.vue.d.ts +0 -59
  965. package/dist/components/ui/sheet/SheetDescription.vue.d.ts +0 -18
  966. package/dist/components/ui/sheet/SheetFooter.vue.d.ts +0 -17
  967. package/dist/components/ui/sheet/SheetHeader.vue.d.ts +0 -17
  968. package/dist/components/ui/sheet/SheetTitle.vue.d.ts +0 -18
  969. package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +0 -14
  970. package/dist/components/ui/sheet/index.d.ts +0 -13
  971. package/dist/components/ui/slider/Slider.vue.d.ts +0 -28
  972. package/dist/components/ui/slider/index.d.ts +0 -46
  973. package/dist/components/ui/tabs/Tabs.vue.d.ts +0 -19
  974. package/dist/components/ui/tabs/TabsContent.vue.d.ts +0 -18
  975. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +0 -11
  976. package/dist/components/ui/tabs/TabsList.vue.d.ts +0 -28
  977. package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +0 -18
  978. package/dist/components/ui/tabs/index.d.ts +0 -5
  979. package/dist/components/ui/toast/Toast.vue.d.ts +0 -107
  980. package/dist/components/ui/toast/index.d.ts +0 -9
  981. package/dist/components/ui/toast/use-toast.d.ts +0 -182
  982. package/dist/components/ui/toggle/Toggle.vue.d.ts +0 -29
  983. package/dist/components/ui/toggle/index.d.ts +0 -26
  984. package/dist/composables/glass/useGlassRenderer.d.ts +0 -44
  985. package/dist/composables/glass/useVizChoreography.d.ts +0 -123
  986. package/dist/composables/sortable/dragController.d.ts +0 -44
  987. package/dist/composables/sortable/types.d.ts +0 -133
  988. package/dist/composables/sortable/useSortable.d.ts +0 -34
  989. package/dist/concentric.d.ts +0 -1
  990. package/dist/concentric.js +0 -836
  991. package/dist/confirm-dialog.d.ts +0 -1
  992. package/dist/confirm-dialog.js +0 -82
  993. package/dist/context-menu.d.ts +0 -1
  994. package/dist/context-menu.js +0 -3
  995. package/dist/createCanvasLifecycle-Gh45Ce-p.js +0 -93
  996. package/dist/dockContext-BNfyPLe9.js +0 -17
  997. package/dist/dot-flow-field.d.ts +0 -1
  998. package/dist/dot-flow-field.js +0 -894
  999. package/dist/dot-matrix.d.ts +0 -1
  1000. package/dist/dot-matrix.js +0 -630
  1001. package/dist/dotMatrixField-D_x9_1qq.js +0 -48
  1002. package/dist/dropdown-menu-aJmV5SqE.js +0 -369
  1003. package/dist/glass-panel.d.ts +0 -1
  1004. package/dist/glass-panel.js +0 -113
  1005. package/dist/goo-blob.d.ts +0 -1
  1006. package/dist/goo-blob.js +0 -346
  1007. package/dist/goo-dot-matrix.d.ts +0 -1
  1008. package/dist/goo-dot-matrix.js +0 -591
  1009. package/dist/hover-card.d.ts +0 -1
  1010. package/dist/hover-card.js +0 -2
  1011. package/dist/hover-popover.d.ts +0 -1
  1012. package/dist/hover-popover.js +0 -2
  1013. package/dist/math-Eb0w3LqU.js +0 -51
  1014. package/dist/menuItemVariants-D8VNHq22.js +0 -36
  1015. package/dist/paper-grid.d.ts +0 -1
  1016. package/dist/paper-grid.js +0 -788
  1017. package/dist/presets-CvOUqtdY.js +0 -84
  1018. package/dist/prng-B-d9eYX8.js +0 -15
  1019. package/dist/resolveCanvasColor-yPyIpJt9.js +0 -93
  1020. package/dist/scrolling-text.d.ts +0 -1
  1021. package/dist/scrolling-text.js +0 -2
  1022. package/dist/selectable-chip.d.ts +0 -1
  1023. package/dist/selectable-chip.js +0 -65
  1024. package/dist/sheet-B2flBfLH.js +0 -218
  1025. package/dist/sheet.d.ts +0 -1
  1026. package/dist/sheet.js +0 -2
  1027. package/dist/slider-2A0rPn79.js +0 -142
  1028. package/dist/spectrum-walk-BVzA7Biz.js +0 -33
  1029. package/dist/springPresets-Ce7OYCm9.js +0 -46
  1030. package/dist/styles/border-progress.css +0 -109
  1031. package/dist/styles/critical-partition.mjs +0 -162
  1032. package/dist/styles/critical.css +0 -12
  1033. package/dist/styles/deferred.css +0 -33
  1034. package/dist/styles/dock/morph-bridge.css +0 -159
  1035. package/dist/styles/dock/stack-rail.css +0 -264
  1036. package/dist/styles/floating-panel.css +0 -51
  1037. package/dist/styles/hover-popover.css +0 -47
  1038. package/dist/toggle-chip.d.ts +0 -1
  1039. package/dist/toggle-chip.js +0 -73
  1040. package/dist/uniformBridgeWGPU-CtAKl45L.js +0 -1204
  1041. package/dist/useAnimatedNumber-CLrxicG9.js +0 -40
  1042. package/dist/useConfiguratorState-4xblKfwd.js +0 -162
  1043. package/dist/useControlSize-SH1UmJCi.js +0 -9
  1044. package/dist/useDockCtaReceive-DfFkmgL1.js +0 -82
  1045. package/dist/useDragMorph-BUgAC-zK.js +0 -102
  1046. package/dist/useFuzzySearch-DIhcYtcw.js +0 -177
  1047. package/dist/useGpuSubstrate-4pTcp6mX.js +0 -294
  1048. package/dist/useIntersectionPause-Dbozzjgm.js +0 -53
  1049. package/dist/useKeyboardShortcuts-BPRp33Im.js +0 -99
  1050. package/dist/useLiquidFlex-UmA6LMZu.js +0 -30
  1051. package/dist/useLiquidPress-BooG97RY.js +0 -39
  1052. package/dist/usePointerVelocityField-QLsy3_kv.js +0 -91
  1053. package/dist/useScrollChrome-D66AVP7C.js +0 -258
  1054. package/dist/useScrollProgress-c3yxmH6a.js +0 -35
  1055. package/dist/useSortable-BVqlJRBR.js +0 -246
  1056. package/dist/useSpring-C0jyvEJB.js +0 -40
  1057. package/dist/useSpringMount-BWDnKIwh.js +0 -71
  1058. package/dist/useSpringPress-B1-Czp-V.js +0 -36
  1059. package/dist/useSurfaceAxis-g0NloYEF.js +0 -7
  1060. package/dist/useTouchGate-CBZTD4SD.js +0 -84
  1061. package/dist/useUserInvalidAria-y5namzeE.js +0 -29
  1062. package/dist/useViewTransition-CUI1nAgn.js +0 -95
  1063. package/dist/utils/cn.d.ts +0 -27
  1064. package/dist/utils/index.d.ts +0 -4
  1065. package/dist/utils/moveBefore.d.ts +0 -15
  1066. package/dist/utils/platformSupport.d.ts +0 -8
  1067. package/dist/vendor-B2qOlYY3.js +0 -239
  1068. package/dist/virtual.d.ts +0 -1
  1069. package/dist/virtual.js +0 -225
  1070. package/src/styles/border-progress.css +0 -109
  1071. package/src/styles/critical-partition.mjs +0 -162
  1072. package/src/styles/dock/morph-bridge.css +0 -159
  1073. package/src/styles/dock/stack-rail.css +0 -264
  1074. package/src/styles/floating-panel.css +0 -49
  1075. package/src/styles/hover-popover.css +0 -45
  1076. /package/dist/{compile-nZ1xVYTp.js → compile-C55K3P9g.js} +0 -0
  1077. /package/dist/components/{ui/_shared → _shared}/ModalOverlay.vue.d.ts +0 -0
  1078. /package/dist/components/{ui/_shared → _shared}/useStalePropWarning.d.ts +0 -0
  1079. /package/dist/components/{ui/accordion → accordion}/Accordion.vue.d.ts +0 -0
  1080. /package/dist/components/{ui/accordion → accordion}/AccordionContent.vue.d.ts +0 -0
  1081. /package/dist/components/{ui/accordion → accordion}/AccordionItem.vue.d.ts +0 -0
  1082. /package/dist/components/{ui/accordion → accordion}/AccordionTrigger.vue.d.ts +0 -0
  1083. /package/dist/components/{ui/accordion → accordion}/index.d.ts +0 -0
  1084. /package/dist/components/{ui/alert → alert}/AlertDescription.vue.d.ts +0 -0
  1085. /package/dist/components/{ui/alert → alert}/AlertTitle.vue.d.ts +0 -0
  1086. /package/dist/components/{custom/animated-digit → animated-digit}/AnimatedDigit.vue.d.ts +0 -0
  1087. /package/dist/components/{custom/animated-digit → animated-digit}/index.d.ts +0 -0
  1088. /package/dist/components/{custom/aurora → aurora}/composables/auroraFallbackGround.d.ts +0 -0
  1089. /package/dist/components/{custom/aurora → aurora}/composables/configSource.d.ts +0 -0
  1090. /package/dist/components/{custom/aurora → aurora}/constants/budget.d.ts +0 -0
  1091. /package/dist/components/{custom/aurora → aurora}/constants/renderMode.d.ts +0 -0
  1092. /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.frag.d.ts +0 -0
  1093. /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.vert.d.ts +0 -0
  1094. /package/dist/components/{custom/aurora → aurora}/constants/shaders/composition.glsl.d.ts +0 -0
  1095. /package/dist/components/{custom/aurora → aurora}/constants/shaders/oil-modes.glsl.d.ts +0 -0
  1096. /package/dist/components/{custom/aurora → aurora}/constants/shaders/procedural-color.wgsl.d.ts +0 -0
  1097. /package/dist/components/{custom/aurora → aurora}/constants/shaders/tonemap.glsl.d.ts +0 -0
  1098. /package/dist/components/{custom/aurora → aurora}/constants/shaders/vangogh-medium.glsl.d.ts +0 -0
  1099. /package/dist/components/{ui/avatar → avatar}/AvatarFallback.vue.d.ts +0 -0
  1100. /package/dist/components/{ui/avatar → avatar}/AvatarImage.vue.d.ts +0 -0
  1101. /package/dist/components/{custom/goo-blob → blob}/composables/buildMetaballProgram.d.ts +0 -0
  1102. /package/dist/components/{custom/goo-blob → blob}/composables/uniformBridgeWGPU.d.ts +0 -0
  1103. /package/dist/components/{custom/goo-blob → blob}/composables/useBlobMood.d.ts +0 -0
  1104. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-noise.wgsl.d.ts +0 -0
  1105. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-palette.wgsl.d.ts +0 -0
  1106. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.frag.d.ts +0 -0
  1107. /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.vert.d.ts +0 -0
  1108. /package/dist/components/{custom/goo-blob → blob}/shaders/oklch-perturb.glsl.d.ts +0 -0
  1109. /package/dist/components/{custom/goo-blob → blob}/shaders/sdf-body.glsl.d.ts +0 -0
  1110. /package/dist/components/{custom/goo-blob → blob}/shaders/watercolor-edges.glsl.d.ts +0 -0
  1111. /package/dist/components/{ui/card → card}/CardAction.vue.d.ts +0 -0
  1112. /package/dist/components/{ui/card → card}/CardContent.vue.d.ts +0 -0
  1113. /package/dist/components/{ui/card → card}/CardDescription.vue.d.ts +0 -0
  1114. /package/dist/components/{ui/card → card}/CardFooter.vue.d.ts +0 -0
  1115. /package/dist/components/{ui/card → card}/CardTitle.vue.d.ts +0 -0
  1116. /package/dist/components/{ui/card → card}/ScrollCard.vue.d.ts +0 -0
  1117. /package/dist/components/{ui/card → card}/ScrollCardHeader.vue.d.ts +0 -0
  1118. /package/dist/components/{ui/card → card}/index.d.ts +0 -0
  1119. /package/dist/components/{ui/carousel → carousel}/CarouselItem.vue.d.ts +0 -0
  1120. /package/dist/components/{ui/carousel → carousel}/CarouselPager.vue.d.ts +0 -0
  1121. /package/dist/components/{ui/carousel → carousel}/index.d.ts +0 -0
  1122. /package/dist/components/{ui/carousel → carousel}/interface.d.ts +0 -0
  1123. /package/dist/components/{ui/checkbox → checkbox}/Checkbox.vue.d.ts +0 -0
  1124. /package/dist/components/{ui/checkbox → checkbox}/index.d.ts +0 -0
  1125. /package/dist/components/{ui/collapsible → collapsible}/Collapsible.vue.d.ts +0 -0
  1126. /package/dist/components/{ui/collapsible → collapsible}/CollapsibleContent.vue.d.ts +0 -0
  1127. /package/dist/components/{ui/collapsible → collapsible}/CollapsibleTrigger.vue.d.ts +0 -0
  1128. /package/dist/components/{ui/collapsible → collapsible}/index.d.ts +0 -0
  1129. /package/dist/components/{custom/color-swatch → color-swatch}/ColorSwatch.vue.d.ts +0 -0
  1130. /package/dist/components/{custom/color-swatch → color-swatch}/index.d.ts +0 -0
  1131. /package/dist/components/{ui/combobox → combobox}/ComboboxAnchor.vue.d.ts +0 -0
  1132. /package/dist/components/{ui/combobox → combobox}/ComboboxEmpty.vue.d.ts +0 -0
  1133. /package/dist/components/{ui/combobox → combobox}/ComboboxGroup.vue.d.ts +0 -0
  1134. /package/dist/components/{ui/combobox → combobox}/ComboboxInput.vue.d.ts +0 -0
  1135. /package/dist/components/{ui/combobox → combobox}/ComboboxItem.vue.d.ts +0 -0
  1136. /package/dist/components/{ui/combobox → combobox}/ComboboxItemIndicator.vue.d.ts +0 -0
  1137. /package/dist/components/{ui/combobox → combobox}/ComboboxSeparator.vue.d.ts +0 -0
  1138. /package/dist/components/{ui/combobox → combobox}/ComboboxViewport.vue.d.ts +0 -0
  1139. /package/dist/components/{ui/combobox → combobox}/index.d.ts +0 -0
  1140. /package/dist/components/{ui/command → command}/Command.vue.d.ts +0 -0
  1141. /package/dist/components/{ui/command → command}/CommandDialog.vue.d.ts +0 -0
  1142. /package/dist/components/{ui/command → command}/CommandEmpty.vue.d.ts +0 -0
  1143. /package/dist/components/{ui/command → command}/CommandGroup.vue.d.ts +0 -0
  1144. /package/dist/components/{ui/command → command}/CommandInput.vue.d.ts +0 -0
  1145. /package/dist/components/{ui/command → command}/CommandItem.vue.d.ts +0 -0
  1146. /package/dist/components/{ui/command → command}/CommandList.vue.d.ts +0 -0
  1147. /package/dist/components/{ui/command → command}/CommandSeparator.vue.d.ts +0 -0
  1148. /package/dist/components/{ui/command → command}/CommandShortcut.vue.d.ts +0 -0
  1149. /package/dist/components/{custom/completion-seal → completion-seal}/composables/useCompletionSeal.d.ts +0 -0
  1150. /package/dist/components/{custom/completion-seal → completion-seal}/index.d.ts +0 -0
  1151. /package/dist/components/{custom/configurator → configurator}/ConfiguratorLayer.vue.d.ts +0 -0
  1152. /package/dist/components/{custom/configurator → configurator}/useConfiguratorState.d.ts +0 -0
  1153. /package/dist/components/{custom/constellation → constellation}/composables/createConstellationField.d.ts +0 -0
  1154. /package/dist/components/{custom/constellation → constellation}/composables/uniformBridgeWGPU.d.ts +0 -0
  1155. /package/dist/components/{custom/constellation → constellation}/constellationField.d.ts +0 -0
  1156. /package/dist/components/{custom/constellation → constellation}/constellationInteraction.d.ts +0 -0
  1157. /package/dist/components/{custom/constellation → constellation}/constellationRender.d.ts +0 -0
  1158. /package/dist/components/{custom/constellation → constellation}/constellationWell.d.ts +0 -0
  1159. /package/dist/components/{custom/constellation → constellation}/index.d.ts +0 -0
  1160. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-lines.glsl.d.ts +0 -0
  1161. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-lines.wgsl.d.ts +0 -0
  1162. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-points.glsl.d.ts +0 -0
  1163. /package/dist/components/{custom/constellation → constellation}/shaders/constellation-points.wgsl.d.ts +0 -0
  1164. /package/dist/components/{custom/controls → controls}/DarkModeToggle.vue.d.ts +0 -0
  1165. /package/dist/components/{custom/controls → controls}/index.d.ts +0 -0
  1166. /package/dist/components/{ui/data-table → data-table}/DataTable.vue.d.ts +0 -0
  1167. /package/dist/components/{ui/data-table → data-table}/DataTablePagination.vue.d.ts +0 -0
  1168. /package/dist/components/{ui/data-table → data-table}/composables/useDataTableResponsive.d.ts +0 -0
  1169. /package/dist/components/{ui/data-table → data-table}/composables/useDataTableRowIdentity.d.ts +0 -0
  1170. /package/dist/components/{ui/data-table → data-table}/index.d.ts +0 -0
  1171. /package/dist/components/{ui/data-table → data-table}/types.d.ts +0 -0
  1172. /package/dist/components/{custom/deck → deck}/DeckPager.vue.d.ts +0 -0
  1173. /package/dist/components/{custom/deck → deck}/composables/useDeck.d.ts +0 -0
  1174. /package/dist/components/{custom/deck → deck}/composables/useDeckKeyboard.d.ts +0 -0
  1175. /package/dist/components/{custom/deck → deck}/composables/useDeckSpring.d.ts +0 -0
  1176. /package/dist/components/{custom/deck → deck}/constants.d.ts +0 -0
  1177. /package/dist/components/{custom/deck → deck}/index.d.ts +0 -0
  1178. /package/dist/components/{ui/dialog → dialog}/Dialog.vue.d.ts +0 -0
  1179. /package/dist/components/{ui/dialog → dialog}/DialogClose.vue.d.ts +0 -0
  1180. /package/dist/components/{ui/dialog → dialog}/DialogDescription.vue.d.ts +0 -0
  1181. /package/dist/components/{ui/dialog → dialog}/DialogFooter.vue.d.ts +0 -0
  1182. /package/dist/components/{ui/dialog → dialog}/DialogHeader.vue.d.ts +0 -0
  1183. /package/dist/components/{ui/dialog → dialog}/DialogScrollContent.vue.d.ts +0 -0
  1184. /package/dist/components/{ui/dialog → dialog}/DialogTitle.vue.d.ts +0 -0
  1185. /package/dist/components/{ui/dialog → dialog}/DialogTrigger.vue.d.ts +0 -0
  1186. /package/dist/components/{ui/dialog → dialog}/index.d.ts +0 -0
  1187. /package/dist/components/{custom/dock → dock}/DockSection.vue.d.ts +0 -0
  1188. /package/dist/components/{custom/dock → dock}/DockSeparator.vue.d.ts +0 -0
  1189. /package/dist/components/{custom/dock → dock}/composables/isTeleportedTarget.d.ts +0 -0
  1190. /package/dist/components/{custom/dock → dock}/composables/useDockClickIntegrity.d.ts +0 -0
  1191. /package/dist/components/{custom/dock → dock}/composables/useDockHold.d.ts +0 -0
  1192. /package/dist/components/{custom/dock → dock}/composables/useDockState.d.ts +0 -0
  1193. /package/dist/components/{ui/drawer → drawer}/DrawerDescription.vue.d.ts +0 -0
  1194. /package/dist/components/{ui/drawer → drawer}/DrawerFooter.vue.d.ts +0 -0
  1195. /package/dist/components/{ui/drawer → drawer}/DrawerHeader.vue.d.ts +0 -0
  1196. /package/dist/components/{ui/drawer → drawer}/DrawerOverlay.vue.d.ts +0 -0
  1197. /package/dist/components/{ui/drawer → drawer}/DrawerTitle.vue.d.ts +0 -0
  1198. /package/dist/components/{ui/drawer → drawer}/composables/drawerSnapContext.d.ts +0 -0
  1199. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuCheckboxItem.vue.d.ts +0 -0
  1200. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuGroup.vue.d.ts +0 -0
  1201. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuItem.vue.d.ts +0 -0
  1202. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuLabel.vue.d.ts +0 -0
  1203. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioGroup.vue.d.ts +0 -0
  1204. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioItem.vue.d.ts +0 -0
  1205. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSeparator.vue.d.ts +0 -0
  1206. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuShortcut.vue.d.ts +0 -0
  1207. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSub.vue.d.ts +0 -0
  1208. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubContent.vue.d.ts +0 -0
  1209. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubTrigger.vue.d.ts +0 -0
  1210. /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuTrigger.vue.d.ts +0 -0
  1211. /package/dist/components/{custom/easing → easing}/EasingConfigurator.vue.d.ts +0 -0
  1212. /package/dist/components/{custom/easing → easing}/EasingPicker.vue.d.ts +0 -0
  1213. /package/dist/components/{custom/easing → easing}/composables/useEasingPicker.d.ts +0 -0
  1214. /package/dist/components/{custom/easing → easing}/constants.d.ts +0 -0
  1215. /package/dist/components/{custom/easing → easing}/index.d.ts +0 -0
  1216. /package/dist/components/{custom/expandable-container → expandable-container}/index.d.ts +0 -0
  1217. /package/dist/components/{custom/fading-scroll → fading-scroll}/FadingScroll.vue.d.ts +0 -0
  1218. /package/dist/components/{custom/fading-scroll → fading-scroll}/composables/useFadingScroll.d.ts +0 -0
  1219. /package/dist/components/{custom/fading-scroll → fading-scroll}/constants.d.ts +0 -0
  1220. /package/dist/components/{custom/fading-scroll → fading-scroll}/index.d.ts +0 -0
  1221. /package/dist/components/{ui/focus-scope → focus-scope}/FocusScope.vue.d.ts +0 -0
  1222. /package/dist/components/{ui/focus-scope → focus-scope}/index.d.ts +0 -0
  1223. /package/dist/components/{custom/fourier-field → fourier-field}/presets.d.ts +0 -0
  1224. /package/dist/components/{custom/fourier-field → fourier-field}/shaders/fourier-field.compute.wgsl.d.ts +0 -0
  1225. /package/dist/components/{custom/handmark → handmark}/HandMark.vue.d.ts +0 -0
  1226. /package/dist/components/{custom/handmark → handmark}/freehand.d.ts +0 -0
  1227. /package/dist/components/{custom/handmark → handmark}/ink.d.ts +0 -0
  1228. /package/dist/components/{custom/handmark → handmark}/texture.d.ts +0 -0
  1229. /package/dist/components/{custom/icon-chip → icon-chip}/IconChip.vue.d.ts +0 -0
  1230. /package/dist/components/{custom/icon-chip → icon-chip}/index.d.ts +0 -0
  1231. /package/dist/components/{custom/icon-tooltip → icon-tooltip}/IconTooltip.vue.d.ts +0 -0
  1232. /package/dist/components/{custom/icon-tooltip → icon-tooltip}/index.d.ts +0 -0
  1233. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/InfiniteScroll.vue.d.ts +0 -0
  1234. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/index.d.ts +0 -0
  1235. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/types.d.ts +0 -0
  1236. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/useInfiniteScroll.d.ts +0 -0
  1237. /package/dist/components/{custom/infinite-scroll → infinite-scroll}/index.d.ts +0 -0
  1238. /package/dist/components/{ui/input → input}/Input.vue.d.ts +0 -0
  1239. /package/dist/components/{ui/input → input}/index.d.ts +0 -0
  1240. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/ChassisDivider.vue.d.ts +0 -0
  1241. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/InstrumentChassis.vue.d.ts +0 -0
  1242. /package/dist/components/{custom/instrument-chassis → instrument-chassis}/index.d.ts +0 -0
  1243. /package/dist/components/{ui/label → label}/Label.vue.d.ts +0 -0
  1244. /package/dist/components/{ui/label → label}/index.d.ts +0 -0
  1245. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledField.vue.d.ts +0 -0
  1246. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledInput.vue.d.ts +0 -0
  1247. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSelect.vue.d.ts +0 -0
  1248. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSlider.vue.d.ts +0 -0
  1249. /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSwitch.vue.d.ts +0 -0
  1250. /package/dist/components/{custom/labeled-field → labeled-field}/index.d.ts +0 -0
  1251. /package/dist/{utils/coalesceMetric.d.ts → components/metric/coalesce-metric.d.ts} +0 -0
  1252. /package/dist/components/{custom/metric-badge → metric-badge}/index.d.ts +0 -0
  1253. /package/dist/components/{custom/metric-cell → metric-cell}/index.d.ts +0 -0
  1254. /package/dist/components/{custom/metric-stack → metric-stack}/MetricStack.vue.d.ts +0 -0
  1255. /package/dist/components/{custom/metric-stack → metric-stack}/index.d.ts +0 -0
  1256. /package/dist/components/{ui/notification → notification}/index.d.ts +0 -0
  1257. /package/dist/components/{ui/number-field → number-field}/NumberField.vue.d.ts +0 -0
  1258. /package/dist/components/{ui/number-field → number-field}/NumberFieldContent.vue.d.ts +0 -0
  1259. /package/dist/components/{ui/number-field → number-field}/NumberFieldDecrement.vue.d.ts +0 -0
  1260. /package/dist/components/{ui/number-field → number-field}/NumberFieldIncrement.vue.d.ts +0 -0
  1261. /package/dist/components/{ui/number-field → number-field}/NumberFieldInput.vue.d.ts +0 -0
  1262. /package/dist/components/{ui/number-field → number-field}/index.d.ts +0 -0
  1263. /package/dist/components/{custom/pager-dots → pager-dots}/PagerDots.vue.d.ts +0 -0
  1264. /package/dist/components/{custom/pager-dots → pager-dots}/index.d.ts +0 -0
  1265. /package/dist/components/{custom/pager-dots → pager-dots}/pagerWindow.d.ts +0 -0
  1266. /package/dist/components/{custom/paper-backdrop → paper-backdrop}/PaperBackdrop.vue.d.ts +0 -0
  1267. /package/dist/components/{custom/paper-backdrop → paper-backdrop}/index.d.ts +0 -0
  1268. /package/dist/components/{ui/popover → popover}/index.d.ts +0 -0
  1269. /package/dist/components/{ui/progress → progress}/ProgressDefault.vue.d.ts +0 -0
  1270. /package/dist/components/{ui/progress → progress}/ProgressGradient.vue.d.ts +0 -0
  1271. /package/dist/components/{ui/progress → progress}/ProgressSectioned.vue.d.ts +0 -0
  1272. /package/dist/components/{ui/progress → progress}/useProgressGeometry.d.ts +0 -0
  1273. /package/dist/components/{custom/pulse → pulse}/Pulse.vue.d.ts +0 -0
  1274. /package/dist/components/{custom/pulse → pulse}/index.d.ts +0 -0
  1275. /package/dist/components/{ui/radio-group → radio-group}/RadioGroup.vue.d.ts +0 -0
  1276. /package/dist/components/{ui/radio-group → radio-group}/RadioGroupItem.vue.d.ts +0 -0
  1277. /package/dist/components/{ui/radio-group → radio-group}/index.d.ts +0 -0
  1278. /package/dist/components/{custom/search → search}/composables/fuzzySearchIndex.d.ts +0 -0
  1279. /package/dist/components/{custom/search → search}/composables/index.d.ts +0 -0
  1280. /package/dist/components/{custom/search → search}/composables/types.d.ts +0 -0
  1281. /package/dist/components/{custom/search → search}/composables/useFuzzySearch.d.ts +0 -0
  1282. /package/dist/components/{custom/search → search}/index.d.ts +0 -0
  1283. /package/dist/components/{ui/section → section}/Section.vue.d.ts +0 -0
  1284. /package/dist/components/{ui/section → section}/index.d.ts +0 -0
  1285. /package/dist/components/{ui/select → select}/Select.vue.d.ts +0 -0
  1286. /package/dist/components/{ui/select → select}/SelectGroup.vue.d.ts +0 -0
  1287. /package/dist/components/{ui/select → select}/SelectItem.vue.d.ts +0 -0
  1288. /package/dist/components/{ui/select → select}/SelectLabel.vue.d.ts +0 -0
  1289. /package/dist/components/{ui/select → select}/SelectScrollDownButton.vue.d.ts +0 -0
  1290. /package/dist/components/{ui/select → select}/SelectScrollUpButton.vue.d.ts +0 -0
  1291. /package/dist/components/{ui/select → select}/SelectSeparator.vue.d.ts +0 -0
  1292. /package/dist/components/{ui/select → select}/SelectTrigger.vue.d.ts +0 -0
  1293. /package/dist/components/{ui/select → select}/SelectValue.vue.d.ts +0 -0
  1294. /package/dist/components/{ui/select → select}/index.d.ts +0 -0
  1295. /package/dist/components/{ui/separator → separator}/Separator.vue.d.ts +0 -0
  1296. /package/dist/components/{ui/separator → separator}/index.d.ts +0 -0
  1297. /package/dist/components/{ui/skeleton → skeleton}/Skeleton.vue.d.ts +0 -0
  1298. /package/dist/components/{ui/skeleton → skeleton}/index.d.ts +0 -0
  1299. /package/dist/{composables/sortable → components/sortable-list/composables}/dropResolver.d.ts +0 -0
  1300. /package/dist/{composables/sortable → components/sortable-list/composables}/ghostRenderer.d.ts +0 -0
  1301. /package/dist/{composables/sortable → components/sortable-list/composables}/index.d.ts +0 -0
  1302. /package/dist/{composables/sortable → components/sortable-list/composables}/touchGate.d.ts +0 -0
  1303. /package/dist/{composables/sortable → components/sortable-list/composables}/transitionTiming.d.ts +0 -0
  1304. /package/dist/components/{custom/spa-view → spa-view}/SpaView.vue.d.ts +0 -0
  1305. /package/dist/components/{custom/spa-view → spa-view}/index.d.ts +0 -0
  1306. /package/dist/components/{custom/split-chars → split-chars}/index.d.ts +0 -0
  1307. /package/dist/components/{custom/stacked-icons → stacked-icons}/StackedIconGroup.vue.d.ts +0 -0
  1308. /package/dist/components/{custom/stacked-icons → stacked-icons}/index.d.ts +0 -0
  1309. /package/dist/components/{custom/status-dot → status-dot}/StatusDot.vue.d.ts +0 -0
  1310. /package/dist/components/{custom/status-dot → status-dot}/index.d.ts +0 -0
  1311. /package/dist/components/{ui/switch → switch}/Switch.vue.d.ts +0 -0
  1312. /package/dist/components/{ui/switch → switch}/index.d.ts +0 -0
  1313. /package/dist/components/{ui/table → table}/Table.vue.d.ts +0 -0
  1314. /package/dist/components/{ui/table → table}/TableBody.vue.d.ts +0 -0
  1315. /package/dist/components/{ui/table → table}/TableCaption.vue.d.ts +0 -0
  1316. /package/dist/components/{ui/table → table}/TableCell.vue.d.ts +0 -0
  1317. /package/dist/components/{ui/table → table}/TableEmpty.vue.d.ts +0 -0
  1318. /package/dist/components/{ui/table → table}/TableHead.vue.d.ts +0 -0
  1319. /package/dist/components/{ui/table → table}/TableHeader.vue.d.ts +0 -0
  1320. /package/dist/components/{ui/table → table}/TableRow.vue.d.ts +0 -0
  1321. /package/dist/components/{ui/table → table}/index.d.ts +0 -0
  1322. /package/dist/components/{custom/tabs → tabs}/index.d.ts +0 -0
  1323. /package/dist/components/{ui/tags-input → tags-input}/TagsInput.vue.d.ts +0 -0
  1324. /package/dist/components/{ui/tags-input → tags-input}/TagsInputInput.vue.d.ts +0 -0
  1325. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItem.vue.d.ts +0 -0
  1326. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemDelete.vue.d.ts +0 -0
  1327. /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemText.vue.d.ts +0 -0
  1328. /package/dist/components/{ui/tags-input → tags-input}/index.d.ts +0 -0
  1329. /package/dist/components/{ui/textarea → textarea}/Textarea.vue.d.ts +0 -0
  1330. /package/dist/components/{ui/textarea → textarea}/index.d.ts +0 -0
  1331. /package/dist/components/{custom/timeline → timeline}/ContinuousRail.vue.d.ts +0 -0
  1332. /package/dist/components/{custom/timeline → timeline}/ContinuousTimeline.vue.d.ts +0 -0
  1333. /package/dist/components/{custom/timeline → timeline}/SegmentedTimeline.vue.d.ts +0 -0
  1334. /package/dist/components/{custom/timeline → timeline}/index.d.ts +0 -0
  1335. /package/dist/components/{custom/timeline → timeline}/types.d.ts +0 -0
  1336. /package/dist/components/{ui/toast → toast}/ToastAction.vue.d.ts +0 -0
  1337. /package/dist/components/{ui/toast → toast}/ToastClose.vue.d.ts +0 -0
  1338. /package/dist/components/{ui/toast → toast}/ToastDescription.vue.d.ts +0 -0
  1339. /package/dist/components/{ui/toast → toast}/ToastTitle.vue.d.ts +0 -0
  1340. /package/dist/components/{ui/toast → toast}/Toaster.vue.d.ts +0 -0
  1341. /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroup.vue.d.ts +0 -0
  1342. /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroupItem.vue.d.ts +0 -0
  1343. /package/dist/components/{ui/toggle-group → toggle-group}/index.d.ts +0 -0
  1344. /package/dist/components/{ui/toggle-group → toggle-group}/toggleGroupContext.d.ts +0 -0
  1345. /package/dist/components/{ui/tooltip → tooltip}/Tooltip.vue.d.ts +0 -0
  1346. /package/dist/components/{ui/tooltip → tooltip}/TooltipContent.vue.d.ts +0 -0
  1347. /package/dist/components/{ui/tooltip → tooltip}/TooltipProvider.vue.d.ts +0 -0
  1348. /package/dist/components/{ui/tooltip → tooltip}/TooltipTrigger.vue.d.ts +0 -0
  1349. /package/dist/components/{ui/tooltip → tooltip}/index.d.ts +0 -0
  1350. /package/dist/components/{custom/typewriter → typewriter}/TypewriterText.vue.d.ts +0 -0
  1351. /package/dist/components/{custom/typewriter → typewriter}/composables/index.d.ts +0 -0
  1352. /package/dist/components/{custom/typewriter → typewriter}/composables/useTypewriter.d.ts +0 -0
  1353. /package/dist/components/{custom/typewriter → typewriter}/index.d.ts +0 -0
  1354. /package/dist/components/{custom/typewriter → typewriter}/types.d.ts +0 -0
  1355. /package/dist/components/{custom/typewriter → typewriter}/utils/keyboard.d.ts +0 -0
  1356. /package/dist/components/{custom/typewriter → typewriter}/utils/pausePatterns.d.ts +0 -0
  1357. /package/dist/components/{custom/typewriter → typewriter}/utils/timing.d.ts +0 -0
  1358. /package/dist/components/{custom/typewriter → typewriter}/utils/typoStateMachine.d.ts +0 -0
  1359. /package/dist/components/{custom/watercolor-dot → watercolor-dot}/index.d.ts +0 -0
  1360. /package/dist/{utils → composables/glass/procedural}/prng.d.ts +0 -0
  1361. /package/dist/{constants--C2DkLW8.js → constants-D8lSMkOz.js} +0 -0
  1362. /package/dist/{createContext-CpBNTRMI.js → createContext-BQ1Gy_LB.js} +0 -0
  1363. /package/dist/{flow.glsl-B2P7e0MT.js → flow.glsl-CVqPSj8_.js} +0 -0
  1364. /package/dist/{procedural-color.wgsl-m7Zgv35j.js → procedural-color.wgsl-ByduxnzV.js} +0 -0
  1365. /package/dist/{scrollReader-DI1NWxUw.js → scrollReader-DzYqPQ6V.js} +0 -0
  1366. /package/dist/{supportsCssTimeline-BWenxvHU.js → supportsCssTimeline-Ie4xJFbD.js} +0 -0
  1367. /package/dist/{useGlobalDark-CmjB9E32.js → useGlobalDark-DjKMEQE2.js} +0 -0
  1368. /package/dist/{useInterval-CNdua40W.js → useInterval-ZATRi-1T.js} +0 -0
  1369. /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DDuoBeBo.js} +0 -0
  1370. /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-DVT5kwv6.js} +0 -0
  1371. /package/dist/{useTextHighlight-NmBM5V_4.js → useTextHighlight-C46Le9u_.js} +0 -0
  1372. /package/dist/{useTimer-BHJOKr35.js → useTimer-CkDV8SC2.js} +0 -0
  1373. /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-c0isoKL8.js} +0 -0
  1374. /package/dist/{vReveal-D9k0jADx.js → vReveal-DUmiEkX_.js} +0 -0
  1375. /package/dist/{vSpecular-EX7loENl.js → vSpecular-DlYN0UZy.js} +0 -0
@@ -1,15 +1,17 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
2
- import { n as t } from "./useResolveTokenColor-vAylyR0x.js";
3
- import { t as n } from "./usePointerVelocityField-QLsy3_kv.js";
4
- import { n as r, o as i, r as a, s as o } from "./procedural-color.wgsl-m7Zgv35j.js";
5
- import { a as s, t as c } from "./useGpuSubstrate-4pTcp6mX.js";
6
- import { c as l, t as u } from "./color-Cs0-oxYL.js";
7
- import { t as d } from "./useGlobalDark-CmjB9E32.js";
8
- import { n as f, t as p } from "./prng-B-d9eYX8.js";
9
- import { a as m, i as h, n as g, r as _, t as v } from "./math-Eb0w3LqU.js";
10
- import { computed as y, createElementBlock as b, createElementVNode as x, defineComponent as S, normalizeClass as C, onMounted as w, onScopeDispose as T, openBlock as E, shallowRef as D, useTemplateRef as O, watch as k } from "vue";
11
- //#region src/components/custom/fourier-field/constants.ts
12
- var A = 64, j = 384, M = [{
2
+ import { n as t } from "./useResolveTokenColor-DVT5kwv6.js";
3
+ import { t as n } from "./usePointerVelocityField-CwXyeW0Z.js";
4
+ import { t as r } from "./useRoutePointer-DL7I0gY4.js";
5
+ import { d as i, u as a } from "./pointerFieldMappings-4VtmkOWv.js";
6
+ import { t as o } from "./useGlobalDark-DjKMEQE2.js";
7
+ import { n as s, o as c, r as l, s as u } from "./procedural-color.wgsl-ByduxnzV.js";
8
+ import { a as d, t as f } from "./useGpuSubstrate-DcY584kE.js";
9
+ import { c as p, t as m } from "./color-Bp5jmv4Z.js";
10
+ import { n as h, t as g } from "./prng-B0PLRmR6.js";
11
+ import { a as _, c as v, i as y, n as b, o as x, r as S, s as C, t as w } from "./math-CIEcwsYi.js";
12
+ import { computed as T, createElementBlock as E, createElementVNode as D, defineComponent as O, normalizeClass as k, onMounted as A, onScopeDispose as j, openBlock as M, shallowRef as N, useTemplateRef as P, watch as F } from "vue";
13
+ //#region src/components/fourier-field/constants.ts
14
+ var I = 64, ee = 384, te = .15, L = .4, R = 2.5 / (L + (1 - L) * .5) + .05, ne = .55, z = .35, re = [{
13
15
  L: .62,
14
16
  C: .19,
15
17
  h: 34
@@ -17,26 +19,38 @@ var A = 64, j = 384, M = [{
17
19
  L: .86,
18
20
  C: .06,
19
21
  h: 70
20
- }], N = {
22
+ }], ie = {
21
23
  source: "elliptic",
22
24
  harmonics: 6,
23
25
  showEpicycles: !0,
24
26
  epicycleArms: 6,
25
27
  rainbowChain: !0,
26
28
  trailArc: .43,
27
- trailWidth: 3,
29
+ trailWidth: 5,
28
30
  intensity: 1,
29
31
  harmonicScale: .24,
30
32
  speed: 1,
31
- palette: M,
33
+ palette: re,
32
34
  respectReducedMotion: !0,
33
- interactive: !0
34
- }, P = "\nconst MAX_PHASORS: i32 = 64;\nconst TAU: f32 = 6.283185307179586;\n\nstruct Phasor {\n // (re, im, index, _pad)\n data: vec4<f32>,\n};\n\n// ── Compute uniforms (the typed-struct source-of-truth — see uniformBridgeWGPU.ts) ──\nstruct ComputeUniforms {\n // c0: (headT, trailArc, _pad, _pad)\n c0: vec4<f32>,\n // ints: (harmonicN, epicycleArmN, sampleCount, phasorCount)\n ints: vec4<i32>,\n};\n\n@group(0) @binding(0) var<uniform> u: ComputeUniforms;\n@group(0) @binding(1) var<storage, read> phasors: array<Phasor>;\n// curveSamples[i] = (x, y, age, _pad)\n@group(0) @binding(2) var<storage, read_write> curveSamples: array<vec4<f32>>;\n// chainTips[k] = (x, y, _pad, _pad) — the running tip after stacking phasor k\n@group(0) @binding(3) var<storage, read_write> chainTips: array<vec4<f32>>;\n\n// The PARTIAL-SUM curve point at parameter t over the first n phasors — the WGSL\n// transcription of math.ts:78-95 (partialSumAt). EXACTLY:\n// c += vec2(re·cos − im·sin, re·sin + im·cos) with angle = TAU·index·t.\nfn partialSumAt(t: f32, n: i32) -> vec2<f32> {\n var c = vec2<f32>(0.0, 0.0);\n let phasorCount = u.ints.w;\n let lim = min(n, phasorCount);\n for (var i = 0; i < MAX_PHASORS; i = i + 1) {\n if (i >= lim) { break; }\n let p = phasors[i].data;\n let re = p.x;\n let im = p.y;\n let index = p.z;\n let angle = TAU * index * t;\n let cs = cos(angle);\n let sn = sin(angle);\n c = c + vec2<f32>(re * cs - im * sn, re * sn + im * cs);\n }\n return c;\n}\n\n// The epicycle chain tip after stacking the first k phasors at head_t — the WGSL\n// transcription of math.ts:41-60 (positionsAt, read at the running tip). The running tip\n// after phasor (k−1) is exactly the partial sum over the first k terms.\nfn epicycleChainTip(t: f32, k: i32) -> vec2<f32> {\n return partialSumAt(t, k);\n}\n\n@compute @workgroup_size(64)\nfn cs_main(@builtin(global_invocation_id) gid: vec3<u32>) {\n let i = i32(gid.x);\n let headT = u.c0.x;\n let trailArc = u.c0.y;\n let harmonicN = u.ints.x;\n let armN = u.ints.y;\n let sampleCount = u.ints.z;\n\n // ── The comet body samples ──\n if (i < sampleCount) {\n // age: 0 at the oldest tail (i = sampleCount−1), 1 at the head (i = 0).\n let denom = max(f32(sampleCount - 1), 1.0);\n let frac = f32(i) / denom; // 0 = head, 1 = tail\n let age = 1.0 - frac; // 1 = head, 0 = tail\n // sample back along the period from the head by trailArc.\n var t = headT - trailArc * frac;\n t = t - floor(t); // fract → [0,1)\n let pt = partialSumAt(t, harmonicN);\n curveSamples[i] = vec4<f32>(pt.x, pt.y, age, 0.0);\n }\n\n // ── The epicycle chain tips (k = 0..armN, capped to harmonicN) ──\n // chainTips[0] is the origin; chainTips[k] is the tip after phasor (k−1).\n let armLim = min(armN, harmonicN);\n if (i <= armLim && i <= MAX_PHASORS) {\n let tip = epicycleChainTip(headT, i);\n chainTips[i] = vec4<f32>(tip.x, tip.y, 0.0, 0.0);\n }\n}\n", F = `
35
+ interactive: !0,
36
+ squashGain: ne,
37
+ celGain: z
38
+ }, ae = "\nconst MAX_PHASORS: i32 = 64;\nconst TAU: f32 = 6.283185307179586;\n\nstruct Phasor {\n // (re, im, index, _pad)\n data: vec4<f32>,\n};\n\n// ── Compute uniforms (the typed-struct source-of-truth — see uniformBridgeWGPU.ts) ──\nstruct ComputeUniforms {\n // c0: (headT, trailArc, _pad, _pad)\n c0: vec4<f32>,\n // ints: (harmonicN, epicycleArmN, sampleCount, phasorCount)\n ints: vec4<i32>,\n};\n\n@group(0) @binding(0) var<uniform> u: ComputeUniforms;\n@group(0) @binding(1) var<storage, read> phasors: array<Phasor>;\n// curveSamples[i] = (x, y, age, _pad)\n@group(0) @binding(2) var<storage, read_write> curveSamples: array<vec4<f32>>;\n// chainTips[k] = (x, y, _pad, _pad) — the running tip after stacking phasor k\n@group(0) @binding(3) var<storage, read_write> chainTips: array<vec4<f32>>;\n\n// The PARTIAL-SUM curve point at parameter t over the first n phasors — the WGSL\n// transcription of math.ts:78-95 (partialSumAt). EXACTLY:\n// c += vec2(re·cos − im·sin, re·sin + im·cos) with angle = TAU·index·t.\nfn partialSumAt(t: f32, n: i32) -> vec2<f32> {\n var c = vec2<f32>(0.0, 0.0);\n let phasorCount = u.ints.w;\n let lim = min(n, phasorCount);\n for (var i = 0; i < MAX_PHASORS; i = i + 1) {\n if (i >= lim) { break; }\n let p = phasors[i].data;\n let re = p.x;\n let im = p.y;\n let index = p.z;\n let angle = TAU * index * t;\n let cs = cos(angle);\n let sn = sin(angle);\n c = c + vec2<f32>(re * cs - im * sn, re * sn + im * cs);\n }\n return c;\n}\n\n// The epicycle chain tip after stacking the first k phasors at head_t — the WGSL\n// transcription of math.ts:41-60 (positionsAt, read at the running tip). The running tip\n// after phasor (k−1) is exactly the partial sum over the first k terms.\nfn epicycleChainTip(t: f32, k: i32) -> vec2<f32> {\n return partialSumAt(t, k);\n}\n\n@compute @workgroup_size(64)\nfn cs_main(@builtin(global_invocation_id) gid: vec3<u32>) {\n let i = i32(gid.x);\n let headT = u.c0.x;\n let trailArc = u.c0.y;\n let harmonicN = u.ints.x;\n let armN = u.ints.y;\n let sampleCount = u.ints.z;\n\n // ── The comet body samples ──\n if (i < sampleCount) {\n // age: 0 at the oldest tail (i = sampleCount−1), 1 at the head (i = 0).\n let denom = max(f32(sampleCount - 1), 1.0);\n let frac = f32(i) / denom; // 0 = head, 1 = tail\n let age = 1.0 - frac; // 1 = head, 0 = tail\n // sample back along the period from the head by trailArc.\n var t = headT - trailArc * frac;\n t = t - floor(t); // fract → [0,1)\n let pt = partialSumAt(t, harmonicN);\n curveSamples[i] = vec4<f32>(pt.x, pt.y, age, 0.0);\n }\n\n // ── The epicycle chain tips (k = 0..armN, capped to harmonicN) ──\n // chainTips[0] is the origin; chainTips[k] is the tip after phasor (k−1).\n let armLim = min(armN, harmonicN);\n if (i <= armLim && i <= MAX_PHASORS) {\n let tip = epicycleChainTip(headT, i);\n chainTips[i] = vec4<f32>(tip.x, tip.y, 0.0, 0.0);\n }\n}\n", oe = `
39
+ // The instanced-ribbon LAYER selector (a pipeline-overridable constant — 5 pipelines share the
40
+ // ONE module, each specializing this): 0 trail · 1 epicycle · 2 head · 3 cel-rope · 4 cel-arm.
41
+ override LAYER: i32 = 0;
42
+
35
43
  const PI: f32 = 3.141592653589793;
36
- const TAU: f32 = 6.283185307179586;
37
- const MAX_CURVE_SAMPLES: i32 = 384;
38
- const MAX_PHASORS: i32 = 64;
39
- const MAX_FOURIER_STOPS: i32 = 4;
44
+ // BD.W-FOURIER-LOOM §2b — the degenerate-tangent guard (must equal FOURIER_TANGENT_EPS in
45
+ // constants.ts + the GL CPU bead path so a cusp resolves IDENTICALLY across both engines).
46
+ const TANGENT_EPS: f32 = 1e-4;
47
+ const SPEED_REF_HALFWIDTHS: f32 = 6.0;
48
+ // BG.W-FOURIER-BEAUTY B1 — the THICK luminous RIBBON. RIBBON_TAIL_FRAC is MIRRORED verbatim
49
+ // from constants.ts (the WGSL twin cannot import a TS const); proof:viz FB1 cross-checks the
50
+ // two copies are equal so the mid-body floor (RIBBON_HEAD_FLOOR_PX) can never drift off it.
51
+ const RIBBON_TAIL_FRAC: f32 = 0.4;
52
+ const RIBBON_UNDERGLOW_SCALE: f32 = 2.2;
53
+ const RIBBON_UNDERGLOW_ALPHA: f32 = 0.16;
40
54
 
41
55
  // ── Render uniforms (the typed-struct source-of-truth — see uniformBridgeWGPU.ts) ──
42
56
  struct RenderUniforms {
@@ -46,6 +60,8 @@ struct RenderUniforms {
46
60
  r1: vec4<f32>,
47
61
  // r2: (trailFloor, intensity, showEpicycles, rainbowChain)
48
62
  r2: vec4<f32>,
63
+ // r3: (squashGain, celGain, edgeMargin, _pad) — FOURIER-LOOM §2b/§3b + the ribbon bbox slop
64
+ r3: vec4<f32>,
49
65
  // ints: (sampleCount, armCount, stopCount, _pad)
50
66
  ints: vec4<i32>,
51
67
  // palette stops: linear-sRGB rgb + _pad
@@ -53,15 +69,14 @@ struct RenderUniforms {
53
69
  };
54
70
 
55
71
  @group(0) @binding(0) var<uniform> u: RenderUniforms;
56
- // curveSamples[i] = (x, y, age, _pad) in MODEL space
72
+ // curveSamples[i] = (x, y, age, _pad) in MODEL space — the render VERTEX-PULLS these.
57
73
  @group(0) @binding(1) var<storage, read> curveSamples: array<vec4<f32>>;
58
- // chainTips[k] = (x, y, _pad, _pad) in MODEL space
74
+ // chainTips[k] = (x, y, _pad, _pad) in MODEL space.
59
75
  @group(0) @binding(2) var<storage, read> chainTips: array<vec4<f32>>;
60
76
 
61
- ${r}
62
- ${a}
77
+ ${s}
78
+ ${l}
63
79
 
64
- // Sample the multi-stop palette (linear-sRGB stops, OKLab mix). t in [0,1].
65
80
  fn samplePaletteLin(t: f32) -> vec3<f32> {
66
81
  let stopCount = u.ints.z;
67
82
  if (stopCount <= 1) { return u.palette[0].rgb; }
@@ -75,21 +90,17 @@ fn samplePaletteLin(t: f32) -> vec3<f32> {
75
90
  return oklabToLinearSrgb(mix(labA, labB, f));
76
91
  }
77
92
 
78
- // A warm-anchored chain hue sweep over the palette base — the rainbow chain register.
79
- // Tilts the base hue by a tight warm-ward band so the chain stays colourful but warm.
80
93
  fn chainColorLin(seg: f32, rainbow: bool) -> vec3<f32> {
81
94
  let baseLin = u.palette[0].rgb;
82
95
  if (!rainbow) { return baseLin; }
83
96
  let lab = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * baseLin);
84
97
  let lch = oklabToOklch(lab);
85
- // warm-anchored: a touch cool at the root climbing warm toward the tips.
86
- let hueShift = mix(-0.45, 1.15, clamp(seg, 0.0, 1.0)); // radians (~ -26°..+66°)
98
+ let hueShift = mix(-0.45, 1.15, clamp(seg, 0.0, 1.0));
87
99
  let h = lch.z + hueShift;
88
100
  let lifted = vec3<f32>(0.66, max(lch.y, 0.14), h);
89
101
  return oklabToLinearSrgb(oklchToOklab(lifted));
90
102
  }
91
103
 
92
- // Distance from point p to segment ab (model space).
93
104
  fn segDist(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>) -> f32 {
94
105
  let pa = p - a;
95
106
  let ba = b - a;
@@ -97,120 +108,252 @@ fn segDist(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>) -> f32 {
97
108
  return length(pa - ba * h);
98
109
  }
99
110
 
111
+ // BD.W-FOURIER-LOOM §2b — the head travel frame + the volume-preserving anisotropic distance.
112
+ struct HeadFrame { T: vec2<f32>, sHat: f32, };
113
+ fn headFrame(head: vec2<f32>, headBack: vec2<f32>, halfW: f32) -> HeadFrame {
114
+ let d = head - headBack;
115
+ let s = length(d);
116
+ var out: HeadFrame;
117
+ if (s <= TANGENT_EPS) {
118
+ out.T = vec2<f32>(1.0, 0.0);
119
+ out.sHat = 0.0;
120
+ return out;
121
+ }
122
+ out.T = d / s;
123
+ let refScale = max(halfW * SPEED_REF_HALFWIDTHS, 1e-6);
124
+ out.sHat = clamp(s / refScale, 0.0, 1.0);
125
+ return out;
126
+ }
127
+
128
+ fn headAniso(p: vec2<f32>, head: vec2<f32>, fr: HeadFrame, k: f32) -> f32 {
129
+ let g = 1.0 + k * fr.sHat;
130
+ let n = vec2<f32>(-fr.T.y, fr.T.x);
131
+ let rel = p - head;
132
+ let along = dot(rel, fr.T) / g;
133
+ let across = dot(rel, n) * g;
134
+ return length(vec2<f32>(along, across));
135
+ }
136
+
137
+ // The cel ink lags behind the travel — the SAME −T·halfW·1.4 offset both engines apply (the
138
+ // head frame is read straight off the compute-filled curveSamples[0]/[1], parity by construction).
139
+ fn celOffset(halfW: f32) -> vec2<f32> {
140
+ let fr = headFrame(curveSamples[0].xy, curveSamples[1].xy, halfW);
141
+ return -fr.T * halfW * 1.4;
142
+ }
143
+
144
+ // The unit quad as two triangles (6 verts) in [0,1]² — the instanced vertex expands it.
145
+ fn quadCorner(vi: u32) -> vec2<f32> {
146
+ var c = array<vec2<f32>, 6>(
147
+ vec2<f32>(0.0, 0.0), vec2<f32>(1.0, 0.0), vec2<f32>(0.0, 1.0),
148
+ vec2<f32>(0.0, 1.0), vec2<f32>(1.0, 0.0), vec2<f32>(1.0, 1.0),
149
+ );
150
+ return c[vi];
151
+ }
152
+
100
153
  struct VSOut {
101
154
  @builtin(position) pos: vec4<f32>,
102
- @location(0) model: vec2<f32>, // model-space coordinate of this fragment
155
+ @location(0) p: vec2<f32>, // model-space fragment coordinate
156
+ @location(1) a: vec2<f32>,
157
+ @location(2) b: vec2<f32>,
158
+ @location(3) segData: vec3<f32>, // (age, strokeHalf, arg2)
103
159
  };
104
160
 
105
161
  @vertex
106
- fn vs_main(@builtin(vertex_index) vi: u32) -> VSOut {
107
- // Full-screen triangle (covers the viewport with 3 verts).
108
- var p = array<vec2<f32>, 3>(
109
- vec2<f32>(-1.0, -3.0), vec2<f32>(-1.0, 1.0), vec2<f32>(3.0, 1.0),
110
- );
111
- let clip = p[vi];
112
- // Inverse of the model→clip fit: clip = (model − center)·scale, aspect-corrected x.
113
- // → model = center + clip·(1/scale), x un-aspect-corrected.
162
+ fn vs_main(@builtin(vertex_index) vi: u32, @builtin(instance_index) inst: u32) -> VSOut {
163
+ let corner = quadCorner(vi);
114
164
  let center = u.r0.xy;
115
165
  let scale = max(u.r0.z, 1e-6);
116
166
  let aspect = max(u.r0.w, 1e-4);
117
- let model = center + vec2<f32>(clip.x * aspect, clip.y) / scale;
167
+ let halfW = u.r1.x * 0.5;
168
+ let margin = u.r3.z;
118
169
 
170
+ var a: vec2<f32> = vec2<f32>(0.0);
171
+ var b: vec2<f32> = vec2<f32>(0.0);
172
+ var strokeHalf: f32 = halfW;
173
+ var age: f32 = 0.0;
174
+ var arg2: f32 = 0.0;
175
+ var isCapsule: bool = true;
176
+ var ext: f32 = halfW;
177
+
178
+ if (LAYER == 0) {
179
+ // TRAIL — the curve capsule; the covered extent is the head-width under-glow.
180
+ a = curveSamples[inst].xy;
181
+ b = curveSamples[inst + 1u].xy;
182
+ age = max(curveSamples[inst].z, curveSamples[inst + 1u].z);
183
+ ext = halfW * RIBBON_UNDERGLOW_SCALE;
184
+ isCapsule = true;
185
+ } else if (LAYER == 1) {
186
+ // EPICYCLE — the chain AABB around a (radius = |b−a|).
187
+ a = chainTips[inst].xy;
188
+ b = chainTips[inst + 1u].xy;
189
+ arg2 = f32(inst) / max(f32(u.ints.y - 1), 1.0);
190
+ ext = length(b - a) + halfW * 0.7;
191
+ isCapsule = false;
192
+ } else if (LAYER == 2) {
193
+ // HEAD — the comet head at curveSamples[0], AABB by the halo radius.
194
+ a = curveSamples[0].xy;
195
+ b = curveSamples[1].xy;
196
+ ext = halfW * 4.5;
197
+ isCapsule = false;
198
+ } else if (LAYER == 3) {
199
+ // CEL-ROPE — the curve capsule, offset opposite travel; full-width ink.
200
+ let off = celOffset(halfW);
201
+ a = curveSamples[inst].xy + off;
202
+ b = curveSamples[inst + 1u].xy + off;
203
+ arg2 = 1.0;
204
+ ext = halfW;
205
+ isCapsule = true;
206
+ } else {
207
+ // CEL-ARM (LAYER == 4) — the chain capsule, offset; the narrower arm ink (0.55·halfW).
208
+ let off = celOffset(halfW);
209
+ a = chainTips[inst].xy + off;
210
+ b = chainTips[inst + 1u].xy + off;
211
+ strokeHalf = halfW * 0.55;
212
+ arg2 = 0.7;
213
+ ext = halfW * 0.55;
214
+ isCapsule = true;
215
+ }
216
+ ext = ext + margin;
217
+
218
+ var pos: vec2<f32>;
219
+ if (isCapsule) {
220
+ let d = b - a;
221
+ let len = length(d);
222
+ var dir = vec2<f32>(1.0, 0.0);
223
+ if (len > 1e-6) { dir = d / len; }
224
+ let perp = vec2<f32>(-dir.y, dir.x);
225
+ let along = mix(a - dir * ext, b + dir * ext, corner.x);
226
+ pos = along + perp * (corner.y * 2.0 - 1.0) * ext;
227
+ } else {
228
+ pos = a + (corner * 2.0 - vec2<f32>(1.0)) * ext;
229
+ }
230
+
231
+ let clipX = (pos.x - center.x) * scale / aspect;
232
+ let clipY = (pos.y - center.y) * scale;
119
233
  var out: VSOut;
120
- out.pos = vec4<f32>(clip, 0.0, 1.0);
121
- out.model = model;
234
+ out.pos = vec4<f32>(clipX, clipY, 0.0, 1.0);
235
+ out.p = pos;
236
+ out.a = a;
237
+ out.b = b;
238
+ out.segData = vec3<f32>(age, strokeHalf, arg2);
122
239
  return out;
123
240
  }
124
241
 
125
242
  @fragment
126
243
  fn fs_main(in: VSOut) -> @location(0) vec4<f32> {
127
- let p = in.model;
128
- // AA feather: one device pixel in model units (fwidth of the model coord).
244
+ let p = in.p;
129
245
  let aa = max(fwidth(p.x) + fwidth(p.y), 1e-5) * 0.75;
130
-
131
- let trailWidth = u.r1.x; // already in model units (packed CPU-side)
132
- let peak = u.r1.y * u.r2.y; // peakAlpha · intensity
246
+ let peak = u.r1.y * u.r2.y;
133
247
  let headGlow = u.r1.z * u.r2.y;
134
248
  let fadeExp = u.r1.w;
135
249
  let trailFloor = u.r2.x;
136
- let sampleCount = u.ints.x;
137
- let armCount = u.ints.y;
138
- let showEpicycles = u.r2.z > 0.5;
139
250
  let rainbow = u.r2.w > 0.5;
140
- let halfW = trailWidth * 0.5;
141
-
142
- var accum = vec4<f32>(0.0); // premultiplied accumulation
143
-
144
- // ── Epicycle scaffolding (orbit rings + arms + joint dots) UNDER the curve ──
145
- if (showEpicycles && armCount >= 1) {
146
- for (var k = 0; k < MAX_PHASORS; k = k + 1) {
147
- if (k >= armCount) { break; }
148
- let a = chainTips[k].xy;
149
- let b = chainTips[k + 1].xy;
150
- let seg = f32(k) / max(f32(armCount - 1), 1.0);
151
- let lin = chainColorLin(seg, rainbow);
152
- // orbit RING around a (radius = arm length).
153
- let radius = length(b - a);
154
- let dRing = abs(length(p - a) - radius);
155
- let ringW = max(halfW * 0.45, aa);
156
- let ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;
157
- // ARM segment a→b.
158
- let dArm = segDist(p, a, b);
159
- let armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
160
- // joint DOT at a.
161
- let dotR = max(halfW * 0.7, aa * 2.0);
162
- let dDot = length(p - a);
163
- let dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);
164
- let m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;
165
- let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));
166
- // over-composite (premultiplied).
167
- accum = vec4<f32>(rgb * m, m) + accum * (1.0 - m);
168
- }
169
- }
251
+ let squashGain = u.r3.x;
252
+ let celGain = u.r3.y;
253
+ let halfW = in.segData.y;
254
+ let age = in.segData.x;
255
+ let arg2 = in.segData.z;
256
+ let a = in.a;
257
+ let b = in.b;
170
258
 
171
- // ── The comet TRAIL — min-distance to the curve polyline, per-segment age fade ──
172
- for (var i = 0; i < MAX_CURVE_SAMPLES; i = i + 1) {
173
- if (i >= sampleCount - 1) { break; }
174
- let sa = curveSamples[i];
175
- let sb = curveSamples[i + 1];
176
- let d = segDist(p, sa.xy, sb.xy);
177
- let cover = 1.0 - smoothstep(halfW, halfW + aa, d);
178
- if (cover < 0.002) { continue; }
179
- let age = max(sa.z, sb.z); // 1 at head, 0 at tail
180
- var a = peak * pow(age, fadeExp);
181
- a = max(a, peak * trailFloor);
182
- a = a * cover;
183
- let lin = samplePaletteLin(1.0 - age * 0.4); // warm core, lighter tail
259
+ if (LAYER == 0) {
260
+ // ── TRAIL — the tapered luminous ribbon over its own soft under-glow ──
261
+ let d = segDist(p, a, b);
262
+ let ribbonHalf = halfW * (RIBBON_TAIL_FRAC + (1.0 - RIBBON_TAIL_FRAC) * age);
263
+ let lin = samplePaletteLin(1.0 - age * 0.4);
184
264
  let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));
185
- accum = vec4<f32>(rgb * a, a) + accum * (1.0 - a);
186
- }
187
-
188
- // ── The comet HEAD — halo + saturated core + white specular at curveSamples[0] ──
189
- if (sampleCount >= 1) {
190
- let head = curveSamples[0].xy;
191
- let dHead = length(p - head);
265
+ let glowHalf = ribbonHalf * RIBBON_UNDERGLOW_SCALE;
266
+ let glowCover = 1.0 - smoothstep(glowHalf, glowHalf + aa * 3.0, d);
267
+ let ga = peak * RIBBON_UNDERGLOW_ALPHA * pow(age, fadeExp) * glowCover;
268
+ let cover = 1.0 - smoothstep(ribbonHalf, ribbonHalf + aa, d);
269
+ let ca = max(peak * pow(age, fadeExp), peak * trailFloor) * cover;
270
+ let outA = ca + ga * (1.0 - ca);
271
+ return vec4<f32>(rgb * outA, outA);
272
+ } else if (LAYER == 1) {
273
+ // ── EPICYCLE — orbit RING + ARM + joint DOT union (MAX-blended, no join seam) ──
274
+ let lin = chainColorLin(arg2, rainbow);
275
+ let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));
276
+ let radius = length(b - a);
277
+ let dRing = abs(length(p - a) - radius);
278
+ let ringW = max(halfW * 0.45, aa);
279
+ let ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;
280
+ let dArm = segDist(p, a, b);
281
+ let armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
282
+ let dotR = max(halfW * 0.7, aa * 2.0);
283
+ let dDot = length(p - a);
284
+ let dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);
285
+ let m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;
286
+ return vec4<f32>(rgb * m, m);
287
+ } else if (LAYER == 2) {
288
+ // ── HEAD — squash-and-stretch (§2b): halo + saturated core + white specular ──
289
+ let head = a;
290
+ let headBack = b;
291
+ let fr = headFrame(head, headBack, halfW);
292
+ let dHead = headAniso(p, head, fr, squashGain);
192
293
  let coreR = halfW * 1.5;
193
294
  let haloR = coreR * 3.0;
194
- let headLin = samplePaletteLin(0.0);
195
- let headRgb = clamp(linearToSrgb(headLin), vec3<f32>(0.0), vec3<f32>(1.0));
196
- // soft halo
295
+ let headRgb = clamp(linearToSrgb(samplePaletteLin(0.0)), vec3<f32>(0.0), vec3<f32>(1.0));
197
296
  let halo = (1.0 - smoothstep(0.0, haloR, dHead)) * headGlow * 0.35;
198
- accum = vec4<f32>(headRgb * halo, halo) + accum * (1.0 - halo);
199
- // saturated core
297
+ var accum = vec4<f32>(headRgb * halo, halo);
200
298
  let core = (1.0 - smoothstep(coreR, coreR + aa, dHead)) * headGlow;
201
299
  accum = vec4<f32>(headRgb * core, core) + accum * (1.0 - core);
202
- // white specular
203
300
  let spec = (1.0 - smoothstep(coreR * 0.4, coreR * 0.4 + aa, dHead)) * headGlow * 0.9;
204
301
  accum = vec4<f32>(vec3<f32>(1.0) * spec, spec) + accum * (1.0 - spec);
302
+ return accum;
303
+ } else {
304
+ // ── CEL — the technicolor ink shadow (rope LAYER==3 / arm LAYER==4) ──
305
+ let celA = clamp(celGain, 0.0, 1.0);
306
+ let d = segDist(p, a, b);
307
+ let cover = 1.0 - smoothstep(halfW, halfW + aa, d);
308
+ let m = cover * celA * peak * arg2; // arg2 = celStrength (1.0 rope / 0.7 arm)
309
+ return vec4<f32>(0.0, 0.0, 0.0, m);
205
310
  }
206
-
207
- return accum;
208
311
  }
209
- `, I = {
312
+ `, B = {
313
+ trail: 0,
314
+ epicycle: 1,
315
+ head: 2,
316
+ "cel-rope": 3,
317
+ "cel-arm": 4
318
+ };
319
+ function se(e) {
320
+ let t = Math.max(0, Math.floor(e.sampleCount) - 1), n = e.showEpicycles ? Math.max(0, Math.floor(e.armCount)) : 0, r = e.celGain > .001, i = [];
321
+ return r && t > 0 && i.push({
322
+ kind: "cel-rope",
323
+ instanceCount: t,
324
+ blend: "over"
325
+ }), r && n > 0 && i.push({
326
+ kind: "cel-arm",
327
+ instanceCount: n,
328
+ blend: "over"
329
+ }), n > 0 && i.push({
330
+ kind: "epicycle",
331
+ instanceCount: n,
332
+ blend: "max"
333
+ }), t > 0 && i.push({
334
+ kind: "trail",
335
+ instanceCount: t,
336
+ blend: "over"
337
+ }), i.push({
338
+ kind: "head",
339
+ instanceCount: 1,
340
+ blend: "over"
341
+ }), i;
342
+ }
343
+ var ce = new Float32Array([
344
+ 0,
345
+ 0,
346
+ 1,
347
+ 0,
348
+ 0,
349
+ 1,
350
+ 1,
351
+ 1
352
+ ]), V = {
210
353
  c0: 0,
211
354
  ints: 4
212
355
  };
213
- function L() {
356
+ function H() {
214
357
  let e = /* @__PURE__ */ new ArrayBuffer(32);
215
358
  return {
216
359
  buffer: e,
@@ -218,29 +361,30 @@ function L() {
218
361
  i32: new Int32Array(e)
219
362
  };
220
363
  }
221
- function R(e, t, n, r, i, a, o) {
364
+ function U(e, t, n, r, i, a, o) {
222
365
  let { f32: s, i32: c } = e;
223
- return s[I.c0 + 0] = t, s[I.c0 + 1] = n, s[I.c0 + 2] = 0, s[I.c0 + 3] = 0, c[I.ints + 0] = r, c[I.ints + 1] = i, c[I.ints + 2] = a, c[I.ints + 3] = o, e;
366
+ return s[V.c0 + 0] = t, s[V.c0 + 1] = n, s[V.c0 + 2] = 0, s[V.c0 + 3] = 0, c[V.ints + 0] = r, c[V.ints + 1] = i, c[V.ints + 2] = a, c[V.ints + 3] = o, e;
224
367
  }
225
- var z = 128, B = {
368
+ var le = 144, W = {
226
369
  r0: 0,
227
370
  r1: 4,
228
371
  r2: 8,
229
- ints: 12,
230
- palette: 16
372
+ r3: 12,
373
+ ints: 16,
374
+ palette: 20
231
375
  };
232
- function V() {
233
- let e = new ArrayBuffer(z);
376
+ function G() {
377
+ let e = new ArrayBuffer(le);
234
378
  return {
235
379
  buffer: e,
236
380
  f32: new Float32Array(e),
237
381
  i32: new Int32Array(e)
238
382
  };
239
383
  }
240
- function H(e) {
384
+ function K(e) {
241
385
  let t = Infinity, n = Infinity, r = -Infinity, i = -Infinity, a = e;
242
386
  for (let e = 0; e < 720; e++) {
243
- let o = m(a, e / 720), [s, c] = o[o.length - 1];
387
+ let o = v(a, e / 720), [s, c] = o[o.length - 1];
244
388
  s < t && (t = s), c < n && (n = c), s > r && (r = s), c > i && (i = c);
245
389
  }
246
390
  if (!isFinite(t)) return {
@@ -255,22 +399,22 @@ function H(e) {
255
399
  scale: c
256
400
  };
257
401
  }
258
- function U(e, t, n) {
259
- let r = Math.max(n, 1) / 2;
260
- return e / Math.max(t, 1e-6) / r;
402
+ function ue(e, t, n) {
403
+ let r = Math.max(e, R), i = Math.max(n, 1) / 2;
404
+ return r / Math.max(t, 1e-6) / i;
261
405
  }
262
- function W(e, t, n, r, i, a, o, s, c, u, d, f, p, m) {
263
- let { f32: h, i32: g } = e;
264
- h[B.r0 + 0] = t.centerX, h[B.r0 + 1] = t.centerY, h[B.r0 + 2] = t.scale, h[B.r0 + 3] = n, h[B.r1 + 0] = r, h[B.r1 + 1] = i, h[B.r1 + 2] = a, h[B.r1 + 3] = o, h[B.r2 + 0] = s, h[B.r2 + 1] = c, h[B.r2 + 2] = +!!u, h[B.r2 + 3] = +!!d;
265
- let _ = Math.min(m.length, 4);
266
- g[B.ints + 0] = f, g[B.ints + 1] = p, g[B.ints + 2] = _, g[B.ints + 3] = 0;
406
+ function de(e, t, n, r, i, a, o, s, c, l, u, d, f, m, h, g, _) {
407
+ let { f32: v, i32: y } = e;
408
+ v[W.r0 + 0] = t.centerX, v[W.r0 + 1] = t.centerY, v[W.r0 + 2] = t.scale, v[W.r0 + 3] = n, v[W.r1 + 0] = r, v[W.r1 + 1] = i, v[W.r1 + 2] = a, v[W.r1 + 3] = o, v[W.r2 + 0] = s, v[W.r2 + 1] = c, v[W.r2 + 2] = +!!l, v[W.r2 + 3] = +!!u, v[W.r3 + 0] = d, v[W.r3 + 1] = f, v[W.r3 + 2] = m, v[W.r3 + 3] = 0;
409
+ let b = Math.min(_.length, 4);
410
+ y[W.ints + 0] = h, y[W.ints + 1] = g, y[W.ints + 2] = b, y[W.ints + 3] = 0;
267
411
  for (let e = 0; e < 4; e++) {
268
- let t = B.palette + e * 4, n = l(m[Math.min(e, _ - 1)] ?? m[0]);
269
- h[t + 0] = n[0], h[t + 1] = n[1], h[t + 2] = n[2], h[t + 3] = 0;
412
+ let t = W.palette + e * 4, n = p(_[Math.min(e, b - 1)] ?? _[0]);
413
+ v[t + 0] = n[0], v[t + 1] = n[1], v[t + 2] = n[2], v[t + 3] = 0;
270
414
  }
271
415
  return e;
272
416
  }
273
- function ee(e) {
417
+ function fe(e) {
274
418
  let t = Math.min(e.length, 64), n = new Float32Array(256);
275
419
  for (let r = 0; r < t; r++) {
276
420
  let t = e[r], i = r * 4;
@@ -279,175 +423,198 @@ function ee(e) {
279
423
  return n;
280
424
  }
281
425
  //#endregion
282
- //#region src/components/custom/fourier-field/composables/fourierFieldWGPUSetup.ts
283
- var G = 64, K = 128, q = 8, te = 1, J = 2, Y = 4, ne = 64, re = .92, ie = .95, ae = 1.35, oe = .34;
284
- function se(e) {
285
- let { canvas: t, config: n, getSpectrum: r, getPalette: i, getHeadT: a, shouldContinue: o, onFrame: c } = e;
426
+ //#region src/components/fourier-field/composables/fourierFieldWGPUSetup.ts
427
+ var q = 64, J = 128, Y = 8, X = 1, Z = 2, Q = 4, pe = 64, me = .92, he = .95, ge = 1.35, _e = .34;
428
+ function ve(e) {
429
+ let { canvas: t, config: n, getSpectrum: r, getPalette: i, getHeadT: a, shouldContinue: o, onFrame: s } = e, c = e.getPointerLean;
286
430
  return function(e, l, u) {
287
- let d = e.createShaderModule({
431
+ let f = e.createShaderModule({
288
432
  label: "[FourierField] fourier-field.compute.wgsl",
289
- code: P
290
- }), f = e.createShaderModule({
433
+ code: ae
434
+ }), p = e.createShaderModule({
291
435
  label: "[FourierField] fourier-field.render.wgsl",
292
- code: F
293
- }), p = e.createBuffer({
436
+ code: oe
437
+ }), m = e.createBuffer({
294
438
  label: "[FourierField] phasors",
295
439
  size: 1024,
296
- usage: K | q
297
- }), m = e.createBuffer({
440
+ usage: J | Y
441
+ }), h = e.createBuffer({
298
442
  label: "[FourierField] curve-samples",
299
443
  size: 384 * 16,
300
- usage: K
301
- }), h = e.createBuffer({
444
+ usage: J
445
+ }), g = e.createBuffer({
302
446
  label: "[FourierField] chain-tips",
303
447
  size: 1040,
304
- usage: K
305
- }), g = e.createBuffer({
306
- label: "[FourierField] compute-uniforms",
307
- size: L().buffer.byteLength,
308
- usage: G | q
448
+ usage: J
309
449
  }), _ = e.createBuffer({
450
+ label: "[FourierField] compute-uniforms",
451
+ size: H().buffer.byteLength,
452
+ usage: q | Y
453
+ }), v = e.createBuffer({
310
454
  label: "[FourierField] render-uniforms",
311
- size: V().buffer.byteLength,
312
- usage: G | q
313
- }), v = e.createBindGroupLayout({
455
+ size: G().buffer.byteLength,
456
+ usage: q | Y
457
+ }), y = e.createBindGroupLayout({
314
458
  label: "[FourierField] compute-bgl",
315
459
  entries: [
316
460
  {
317
461
  binding: 0,
318
- visibility: Y,
462
+ visibility: Q,
319
463
  buffer: { type: "uniform" }
320
464
  },
321
465
  {
322
466
  binding: 1,
323
- visibility: Y,
467
+ visibility: Q,
324
468
  buffer: { type: "read-only-storage" }
325
469
  },
326
470
  {
327
471
  binding: 2,
328
- visibility: Y,
472
+ visibility: Q,
329
473
  buffer: { type: "storage" }
330
474
  },
331
475
  {
332
476
  binding: 3,
333
- visibility: Y,
477
+ visibility: Q,
334
478
  buffer: { type: "storage" }
335
479
  }
336
480
  ]
337
- }), y = e.createComputePipeline({
481
+ }), b = e.createComputePipeline({
338
482
  label: "[FourierField] compute-pipeline",
339
- layout: e.createPipelineLayout({ bindGroupLayouts: [v] }),
483
+ layout: e.createPipelineLayout({ bindGroupLayouts: [y] }),
340
484
  compute: {
341
- module: d,
485
+ module: f,
342
486
  entryPoint: "cs_main"
343
487
  }
344
- }), b = e.createBindGroup({
488
+ }), x = e.createBindGroup({
345
489
  label: "[FourierField] compute-bg",
346
- layout: v,
490
+ layout: y,
347
491
  entries: [
348
492
  {
349
493
  binding: 0,
350
- resource: { buffer: g }
494
+ resource: { buffer: _ }
351
495
  },
352
496
  {
353
497
  binding: 1,
354
- resource: { buffer: p }
498
+ resource: { buffer: m }
355
499
  },
356
500
  {
357
501
  binding: 2,
358
- resource: { buffer: m }
502
+ resource: { buffer: h }
359
503
  },
360
504
  {
361
505
  binding: 3,
362
- resource: { buffer: h }
506
+ resource: { buffer: g }
363
507
  }
364
508
  ]
365
- }), x = e.createBindGroupLayout({
509
+ }), S = e.createBindGroupLayout({
366
510
  label: "[FourierField] render-bgl",
367
511
  entries: [
368
512
  {
369
513
  binding: 0,
370
- visibility: te | J,
514
+ visibility: X | Z,
371
515
  buffer: { type: "uniform" }
372
516
  },
373
517
  {
374
518
  binding: 1,
375
- visibility: J,
519
+ visibility: X | Z,
376
520
  buffer: { type: "read-only-storage" }
377
521
  },
378
522
  {
379
523
  binding: 2,
380
- visibility: J,
524
+ visibility: X | Z,
381
525
  buffer: { type: "read-only-storage" }
382
526
  }
383
527
  ]
384
- }), S = e.createRenderPipeline({
385
- label: "[FourierField] render-pipeline",
386
- layout: e.createPipelineLayout({ bindGroupLayouts: [x] }),
528
+ }), C = e.createPipelineLayout({ bindGroupLayouts: [S] }), w = {
529
+ color: {
530
+ srcFactor: "one",
531
+ dstFactor: "one-minus-src-alpha",
532
+ operation: "add"
533
+ },
534
+ alpha: {
535
+ srcFactor: "one",
536
+ dstFactor: "one-minus-src-alpha",
537
+ operation: "add"
538
+ }
539
+ }, T = {
540
+ color: {
541
+ srcFactor: "one",
542
+ dstFactor: "one",
543
+ operation: "max"
544
+ },
545
+ alpha: {
546
+ srcFactor: "one",
547
+ dstFactor: "one",
548
+ operation: "max"
549
+ }
550
+ }, E = (t, n) => e.createRenderPipeline({
551
+ label: `[FourierField] ribbon-pipeline-L${t}`,
552
+ layout: C,
387
553
  vertex: {
388
- module: f,
389
- entryPoint: "vs_main"
554
+ module: p,
555
+ entryPoint: "vs_main",
556
+ constants: { LAYER: t }
390
557
  },
391
558
  fragment: {
392
- module: f,
559
+ module: p,
393
560
  entryPoint: "fs_main",
561
+ constants: { LAYER: t },
394
562
  targets: [{
395
563
  format: u,
396
- blend: {
397
- color: {
398
- srcFactor: "one",
399
- dstFactor: "one-minus-src-alpha",
400
- operation: "add"
401
- },
402
- alpha: {
403
- srcFactor: "one",
404
- dstFactor: "one-minus-src-alpha",
405
- operation: "add"
406
- }
407
- }
564
+ blend: n
408
565
  }]
409
566
  },
410
567
  primitive: { topology: "triangle-list" }
411
- }), C = e.createBindGroup({
568
+ }), D = {
569
+ trail: E(B.trail, w),
570
+ epicycle: E(B.epicycle, T),
571
+ head: E(B.head, w),
572
+ "cel-rope": E(B["cel-rope"], w),
573
+ "cel-arm": E(B["cel-arm"], w)
574
+ }, O = e.createBindGroup({
412
575
  label: "[FourierField] render-bg",
413
- layout: x,
576
+ layout: S,
414
577
  entries: [
415
578
  {
416
579
  binding: 0,
417
- resource: { buffer: _ }
580
+ resource: { buffer: v }
418
581
  },
419
582
  {
420
583
  binding: 1,
421
- resource: { buffer: m }
584
+ resource: { buffer: h }
422
585
  },
423
586
  {
424
587
  binding: 2,
425
- resource: { buffer: h }
588
+ resource: { buffer: g }
426
589
  }
427
590
  ]
428
- }), w = L(), T = V(), E = null, D = {
591
+ }), k = H(), A = G(), j = null, M = {
429
592
  centerX: 0,
430
593
  centerY: 0,
431
594
  scale: 1
432
- }, O = 0;
433
- function k() {
595
+ }, N = 0;
596
+ function P() {
434
597
  let t = r();
435
- t !== E && (E = t, O = Math.min(t.length, 64), D = H(t), e.queue.writeBuffer(p, 0, ee(t)));
436
- }
437
- function A() {
438
- let e = s(), n = t.clientWidth || 320, r = t.clientHeight || 320, i = Math.max(1, Math.round(n * e)), a = Math.max(1, Math.round(r * e));
439
- (t.width !== i || t.height !== a) && (t.width = i, t.height = a);
598
+ t !== j && (j = t, N = Math.min(t.length, 64), M = K(t), e.queue.writeBuffer(m, 0, fe(t)));
440
599
  }
441
- function j(r) {
442
- c?.(r), k();
443
- let o = a(), s = Math.max(1, Math.min(Math.round(n.harmonics), O)), u = n.showEpicycles ? Math.max(1, Math.min(Math.round(n.epicycleArms), s)) : 0;
444
- R(w, o, n.trailArc, s, u, 384, O), e.queue.writeBuffer(g, 0, w.buffer);
445
- let d = Math.min(t.clientWidth || 320, t.clientHeight || 320), f = (t.clientWidth || 320) / Math.max(t.clientHeight || 320, 1), p = U(n.trailWidth, D.scale, d);
446
- W(T, D, f, p, re, ie, ae, oe, n.intensity, n.showEpicycles, n.rainbowChain, 384, u, i()), e.queue.writeBuffer(_, 0, T.buffer);
447
- let m = e.createCommandEncoder({ label: "[FourierField] frame" }), h = m.beginComputePass();
448
- h.setPipeline(y), h.setBindGroup(0, b), h.dispatchWorkgroups(Math.ceil(384 / ne)), h.end();
449
- let v = l.getCurrentTexture().createView(), x = m.beginRenderPass({ colorAttachments: [{
450
- view: v,
600
+ function F(e) {}
601
+ function I(r) {
602
+ s?.(r), P();
603
+ let o = a(), u = Math.max(1, Math.min(Math.round(n.harmonics), N)), f = n.showEpicycles ? Math.max(1, Math.min(Math.round(n.epicycleArms), u)) : 0;
604
+ U(k, o, n.trailArc, u, f, 384, N), e.queue.writeBuffer(_, 0, k.buffer);
605
+ let p = Math.min(t.width, t.height) / Math.max(d(), 1), m = t.width / Math.max(t.height, 1), h = ue(n.trailWidth, M.scale, p), g = 12 / (Math.max(M.scale, 1e-6) * Math.max(p, 1)), y = c?.() ?? {
606
+ x: 0,
607
+ y: 0
608
+ };
609
+ de(A, y.x !== 0 || y.y !== 0 ? {
610
+ ...M,
611
+ centerX: M.centerX - y.x,
612
+ centerY: M.centerY - y.y
613
+ } : M, m, h, me, he, ge, _e, n.intensity, n.showEpicycles, n.rainbowChain, n.squashGain, n.celGain, g, 384, f, i()), e.queue.writeBuffer(v, 0, A.buffer);
614
+ let S = e.createCommandEncoder({ label: "[FourierField] frame" }), C = S.beginComputePass();
615
+ C.setPipeline(b), C.setBindGroup(0, x), C.dispatchWorkgroups(Math.ceil(384 / pe)), C.end();
616
+ let w = l.getCurrentTexture().createView(), T = S.beginRenderPass({ colorAttachments: [{
617
+ view: w,
451
618
  clearValue: {
452
619
  r: 0,
453
620
  g: 0,
@@ -457,44 +624,61 @@ function se(e) {
457
624
  loadOp: "clear",
458
625
  storeOp: "store"
459
626
  }] });
460
- x.setPipeline(S), x.setBindGroup(0, C), x.draw(3, 1, 0, 0), x.end(), e.queue.submit([m.finish()]);
627
+ T.setBindGroup(0, O);
628
+ let E = se({
629
+ sampleCount: 384,
630
+ armCount: f,
631
+ showEpicycles: n.showEpicycles,
632
+ celGain: n.celGain
633
+ });
634
+ for (let e of E) T.setPipeline(D[e.kind]), T.draw(6, e.instanceCount, 0, 0);
635
+ T.end(), e.queue.submit([S.finish()]);
461
636
  }
462
637
  return {
463
- frame: j,
638
+ frame: I,
464
639
  shouldContinue: o,
465
- resize: A,
640
+ resize: F,
466
641
  teardown: () => {
467
- p.destroy(), m.destroy(), h.destroy(), g.destroy(), _.destroy();
642
+ m.destroy(), h.destroy(), g.destroy(), _.destroy(), v.destroy();
468
643
  }
469
644
  };
470
645
  };
471
646
  }
472
647
  //#endregion
473
- //#region src/components/custom/fourier-field/shaders/fourier-field.glsl.ts
474
- var ce = "#version 300 es\nin vec2 aPosition;\nout vec2 vClip;\nvoid main() {\n vClip = aPosition;\n gl_Position = vec4(aPosition, 0.0, 1.0);\n}\n", le = `#version 300 es
648
+ //#region src/components/fourier-field/shaders/fourier-field.glsl.ts
649
+ var ye = "#version 300 es\n// BI.W-FOURIER-RIBBON §2b — 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 ∈ [0,1]²\nin vec4 aSeg; // (ax, ay, bx, by) — segment endpoints in MODEL space\nin vec4 aData; // (age, strokeHalf, arg2, _pad) — strokeHalf/age/arg2 per layer\n\nuniform vec4 uFit; // (centerX, centerY, scale, aspect) — model→clip fit\nuniform int uLayer; // 0 trail · 1 epicycle · 2 head · 3 cel-rope · 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 — 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→b 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 → clip (the inverse of the fs's p = center + vClip·aspect / 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", be = `#version 300 es
475
650
  precision highp float;
476
651
 
477
- #define MAX_CURVE_SAMPLES 256
478
- #define MAX_PHASORS 64
652
+ #define MAX_FOURIER_STOPS 4
653
+ // BD.W-FOURIER-LOOM §2b — MUST equal the WGSL twin + FOURIER_TANGENT_EPS (constants.ts).
654
+ #define TANGENT_EPS 1e-4
655
+ #define SPEED_REF_HALFWIDTHS 6.0
656
+ // BG.W-FOURIER-BEAUTY B1 — the THICK luminous RIBBON. RIBBON_TAIL_FRAC is MIRRORED verbatim
657
+ // from constants.ts (the GLSL twin cannot import a TS const); proof:viz FB1 cross-checks the
658
+ // two copies are equal so the mid-body floor (RIBBON_HEAD_FLOOR_PX) can never drift off it.
659
+ #define RIBBON_TAIL_FRAC 0.4
660
+ #define RIBBON_UNDERGLOW_SCALE 2.2
661
+ #define RIBBON_UNDERGLOW_ALPHA 0.16
479
662
 
480
- in vec2 vClip;
663
+ in vec2 vP;
664
+ in vec2 vA;
665
+ in vec2 vB;
666
+ in float vAge;
667
+ in float vHalf;
668
+ in float vArg2;
481
669
  out vec4 fragColor;
482
670
 
483
- uniform vec4 uFit; // (centerX, centerY, scale, aspect)
484
- uniform vec4 uTrail; // (trailWidth, peakAlpha, headGlowAlpha, trailFadeExp)
485
- uniform vec4 uEnv; // (trailFloor, intensity, showEpicycles, rainbowChain)
486
- uniform int uSampleCount;
487
- uniform int uArmCount;
671
+ uniform vec4 uTrail; // (trailWidth, peakAlpha, headGlowAlpha, trailFadeExp)
672
+ uniform vec4 uEnv; // (trailFloor, intensity, showEpicycles, rainbowChain)
673
+ uniform vec4 uLoom; // (squashGain, celGain, _pad, _pad) — FOURIER-LOOM §2b/§3b
674
+ uniform int uLayer; // 0 trail · 1 epicycle · 2 head · 3 cel-rope · 4 cel-arm
488
675
  uniform int uStopCount;
489
- uniform vec3 uPalette[4]; // linear-sRGB stops
490
- // curveSamples[i] = (x, y, age) in MODEL space; chainTips[k] = (x, y) in MODEL space.
491
- uniform vec3 uCurve[MAX_CURVE_SAMPLES];
492
- uniform vec2 uChain[MAX_PHASORS];
676
+ uniform vec3 uPalette[MAX_FOURIER_STOPS]; // linear-sRGB stops
493
677
 
494
678
  const float PI = 3.141592653589793;
495
679
 
496
- ${i}
497
- ${o}
680
+ ${c}
681
+ ${u}
498
682
 
499
683
  // Negative-safe cube root (the WGSL chunk's cbrt3 twin; the GLSL chunk inlines it).
500
684
  vec3 cbrt3(vec3 v) { return sign(v) * pow(abs(v), vec3(1.0 / 3.0)); }
@@ -528,80 +712,102 @@ float segDist(vec2 p, vec2 a, vec2 b) {
528
712
  return length(pa - ba * h);
529
713
  }
530
714
 
531
- void main() {
532
- vec2 center = uFit.xy;
533
- float scale = max(uFit.z, 1e-6);
534
- float aspect = max(uFit.w, 1e-4);
535
- // clip → model (the inverse of model→clip fit).
536
- vec2 p = center + vec2(vClip.x * aspect, vClip.y) / scale;
715
+ // BD.W-FOURIER-LOOM §2b — the head travel frame (T, ŝ), the GLSL twin of the WGSL headFrame.
716
+ struct HeadFrame { vec2 T; float sHat; };
717
+ HeadFrame headFrame(vec2 head, vec2 headBack, float halfW) {
718
+ vec2 d = head - headBack;
719
+ float s = length(d);
720
+ HeadFrame fr;
721
+ if (s <= TANGENT_EPS) { fr.T = vec2(1.0, 0.0); fr.sHat = 0.0; return fr; }
722
+ fr.T = d / s;
723
+ float refScale = max(halfW * SPEED_REF_HALFWIDTHS, 1e-6);
724
+ fr.sHat = clamp(s / refScale, 0.0, 1.0);
725
+ return fr;
726
+ }
537
727
 
728
+ // The volume-preserving anisotropic head distance (the WGSL headAniso twin).
729
+ float headAniso(vec2 p, vec2 head, HeadFrame fr, float k) {
730
+ float g = 1.0 + k * fr.sHat;
731
+ vec2 n = vec2(-fr.T.y, fr.T.x);
732
+ vec2 rel = p - head;
733
+ float along = dot(rel, fr.T) / g;
734
+ float across = dot(rel, n) * g;
735
+ return length(vec2(along, across));
736
+ }
737
+
738
+ void main() {
739
+ vec2 p = vP;
538
740
  float aa = max(fwidth(p.x) + fwidth(p.y), 1e-5) * 0.75;
539
- float trailWidth = uTrail.x; // already in model units (packed CPU-side)
540
741
  float peak = uTrail.y * uEnv.y;
541
742
  float headGlow = uTrail.z * uEnv.y;
542
743
  float fadeExp = uTrail.w;
543
744
  float trailFloor = uEnv.x;
544
- bool showEpicycles = uEnv.z > 0.5;
545
745
  bool rainbow = uEnv.w > 0.5;
546
- float halfW = trailWidth * 0.5;
547
-
548
- vec4 accum = vec4(0.0);
549
-
550
- if (showEpicycles && uArmCount >= 1) {
551
- for (int k = 0; k < MAX_PHASORS; k++) {
552
- if (k >= uArmCount) break;
553
- vec2 a = uChain[k];
554
- vec2 b = uChain[k + 1];
555
- float seg = float(k) / max(float(uArmCount - 1), 1.0);
556
- vec3 lin = chainColorLin(seg, rainbow);
557
- float radius = length(b - a);
558
- float dRing = abs(length(p - a) - radius);
559
- float ringW = max(halfW * 0.45, aa);
560
- float ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;
561
- float dArm = segDist(p, a, b);
562
- float armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
563
- float dotR = max(halfW * 0.7, aa * 2.0);
564
- float dDot = length(p - a);
565
- float dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);
566
- float m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;
567
- vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));
568
- accum = vec4(rgb * m, m) + accum * (1.0 - m);
569
- }
570
- }
746
+ float squashGain = uLoom.x;
747
+ float celGain = uLoom.y;
748
+ float halfW = vHalf;
571
749
 
572
- for (int i = 0; i < MAX_CURVE_SAMPLES; i++) {
573
- if (i >= uSampleCount - 1) break;
574
- vec3 sa = uCurve[i];
575
- vec3 sb = uCurve[i + 1];
576
- float d = segDist(p, sa.xy, sb.xy);
577
- float cover = 1.0 - smoothstep(halfW, halfW + aa, d);
578
- if (cover < 0.002) continue;
579
- float age = max(sa.z, sb.z);
580
- float a = peak * pow(age, fadeExp);
581
- a = max(a, peak * trailFloor) * cover;
750
+ if (uLayer == 0) {
751
+ // ── TRAIL — the tapered luminous ribbon over its own soft under-glow ──
752
+ float age = vAge;
753
+ float d = segDist(p, vA, vB);
754
+ // B1 — the head→tail TAPER: the ribbon half-width scales with age (thick head, thin tail).
755
+ float ribbonHalf = halfW * (RIBBON_TAIL_FRAC + (1.0 - RIBBON_TAIL_FRAC) * age);
582
756
  vec3 lin = samplePaletteLin(1.0 - age * 0.4);
583
757
  vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));
584
- accum = vec4(rgb * a, a) + accum * (1.0 - a);
585
- }
586
-
587
- if (uSampleCount >= 1) {
588
- vec2 head = uCurve[0].xy;
589
- float dHead = length(p - head);
758
+ // B1 — the soft UNDER-GLOW: a wider, low-alpha copy UNDER the crisp ribbon (ONE color event).
759
+ float glowHalf = ribbonHalf * RIBBON_UNDERGLOW_SCALE;
760
+ float glowCover = 1.0 - smoothstep(glowHalf, glowHalf + aa * 3.0, d);
761
+ float ga = peak * RIBBON_UNDERGLOW_ALPHA * pow(age, fadeExp) * glowCover;
762
+ // the crisp tapered ribbon core.
763
+ float cover = 1.0 - smoothstep(ribbonHalf, ribbonHalf + aa, d);
764
+ float ca = max(peak * pow(age, fadeExp), peak * trailFloor) * cover;
765
+ // core OVER glow OVER transparent (both premultiplied on the SAME rgb → out = rgb·outA).
766
+ float outA = ca + ga * (1.0 - ca);
767
+ fragColor = vec4(rgb * outA, outA);
768
+ } else if (uLayer == 1) {
769
+ // ── EPICYCLE — orbit RING + ARM + joint DOT union (MAX-blended, no join seam) ──
770
+ float seg = vArg2;
771
+ vec3 lin = chainColorLin(seg, rainbow);
772
+ vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));
773
+ float radius = length(vB - vA);
774
+ float dRing = abs(length(p - vA) - radius);
775
+ float ringW = max(halfW * 0.45, aa);
776
+ float ringMask = (1.0 - smoothstep(ringW, ringW + aa, dRing)) * 0.5;
777
+ float dArm = segDist(p, vA, vB);
778
+ float armMask = 1.0 - smoothstep(halfW * 0.55, halfW * 0.55 + aa, dArm);
779
+ float dotR = max(halfW * 0.7, aa * 2.0);
780
+ float dDot = length(p - vA);
781
+ float dotMask = 1.0 - smoothstep(dotR, dotR + aa, dDot);
782
+ float m = clamp(max(max(ringMask, armMask), dotMask), 0.0, 1.0) * peak * 0.7;
783
+ fragColor = vec4(rgb * m, m);
784
+ } else if (uLayer == 2) {
785
+ // ── HEAD — squash-and-stretch (§2b): halo + saturated core + white specular ──
786
+ vec2 head = vA;
787
+ vec2 headBack = vB;
788
+ HeadFrame fr = headFrame(head, headBack, halfW);
789
+ float dHead = headAniso(p, head, fr, squashGain);
590
790
  float coreR = halfW * 1.5;
591
791
  float haloR = coreR * 3.0;
592
792
  vec3 headRgb = clamp(linearToSrgb(samplePaletteLin(0.0)), vec3(0.0), vec3(1.0));
593
793
  float halo = (1.0 - smoothstep(0.0, haloR, dHead)) * headGlow * 0.35;
594
- accum = vec4(headRgb * halo, halo) + accum * (1.0 - halo);
794
+ vec4 accum = vec4(headRgb * halo, halo);
595
795
  float core = (1.0 - smoothstep(coreR, coreR + aa, dHead)) * headGlow;
596
796
  accum = vec4(headRgb * core, core) + accum * (1.0 - core);
597
797
  float spec = (1.0 - smoothstep(coreR * 0.4, coreR * 0.4 + aa, dHead)) * headGlow * 0.9;
598
798
  accum = vec4(vec3(1.0) * spec, spec) + accum * (1.0 - spec);
799
+ fragColor = accum;
800
+ } else {
801
+ // ── CEL — the technicolor ink shadow (rope uLayer==3 / arm uLayer==4) ──
802
+ float celA = clamp(celGain, 0.0, 1.0);
803
+ float d = segDist(p, vA, vB);
804
+ float cover = 1.0 - smoothstep(halfW, halfW + aa, d);
805
+ float m = cover * celA * peak * vArg2; // vArg2 = celStrength (1.0 rope / 0.7 arm)
806
+ fragColor = vec4(0.0, 0.0, 0.0, m);
599
807
  }
600
-
601
- fragColor = accum;
602
808
  }
603
- `, X = 256, Z = 64, ue = .92, de = .95, fe = 1.35, pe = .34;
604
- function Q(e, t, n) {
809
+ `, xe = 256, $ = 64, Se = .92, Ce = .95, we = 1.35, Te = .34;
810
+ function Ee(e, t, n) {
605
811
  let r = e.createShader(t);
606
812
  if (e.shaderSource(r, n), e.compileShader(r), !e.getShaderParameter(r, e.COMPILE_STATUS)) {
607
813
  let t = e.getShaderInfoLog(r);
@@ -609,158 +815,234 @@ function Q(e, t, n) {
609
815
  }
610
816
  return r;
611
817
  }
612
- function me(e) {
613
- let { canvas: t, config: n, getSpectrum: r, getPalette: i, getHeadT: a, shouldContinue: o, onFrame: c } = e;
818
+ function De(e) {
819
+ let { canvas: t, config: n, getSpectrum: r, getPalette: i, getHeadT: a, shouldContinue: o, onFrame: s } = e, c = e.getPointerLean;
614
820
  return function(e) {
615
- let u = Q(e, e.VERTEX_SHADER, ce), d = Q(e, e.FRAGMENT_SHADER, le), f = e.createProgram();
616
- if (e.attachShader(f, u), e.attachShader(f, d), e.linkProgram(f), !e.getProgramParameter(f, e.LINK_STATUS)) throw Error(`[FourierField] link failed: ${e.getProgramInfoLog(f)}`);
617
- e.deleteShader(u), e.deleteShader(d);
618
- let p = e.createVertexArray();
619
- e.bindVertexArray(p);
620
- let m = e.createBuffer();
621
- e.bindBuffer(e.ARRAY_BUFFER, m), e.bufferData(e.ARRAY_BUFFER, new Float32Array([
622
- -1,
623
- -1,
624
- 3,
625
- -1,
626
- -1,
627
- 3
628
- ]), e.STATIC_DRAW);
629
- let g = e.getAttribLocation(f, "aPosition");
630
- e.enableVertexAttribArray(g), e.vertexAttribPointer(g, 2, e.FLOAT, !1, 0, 0), e.bindVertexArray(null);
631
- let _ = (t) => e.getUniformLocation(f, t), v = _("uFit"), y = _("uTrail"), b = _("uEnv"), x = _("uSampleCount"), S = _("uArmCount"), C = _("uStopCount"), w = _("uPalette[0]"), T = _("uCurve[0]"), E = _("uChain[0]"), D = new Float32Array(X * 3), O = new Float32Array((Z + 1) * 2), k = new Float32Array(12), A = null, j = {
821
+ let l = Ee(e, e.VERTEX_SHADER, ye), u = Ee(e, e.FRAGMENT_SHADER, be), f = e.createProgram();
822
+ if (e.attachShader(f, l), e.attachShader(f, u), e.linkProgram(f), !e.getProgramParameter(f, e.LINK_STATUS)) throw Error(`[FourierField] link failed: ${e.getProgramInfoLog(f)}`);
823
+ e.deleteShader(l), e.deleteShader(u);
824
+ let m = e.createVertexArray();
825
+ e.bindVertexArray(m);
826
+ let h = e.createBuffer();
827
+ e.bindBuffer(e.ARRAY_BUFFER, h), e.bufferData(e.ARRAY_BUFFER, ce, e.STATIC_DRAW);
828
+ let g = e.getAttribLocation(f, "aCorner");
829
+ e.enableVertexAttribArray(g), e.vertexAttribPointer(g, 2, e.FLOAT, !1, 0, 0), e.vertexAttribDivisor(g, 0);
830
+ let _ = (xe - 1) * 2 + $ * 2 + 1, v = new Float32Array(_ * 8), y = e.createBuffer();
831
+ e.bindBuffer(e.ARRAY_BUFFER, y), e.bufferData(e.ARRAY_BUFFER, v.byteLength, e.DYNAMIC_DRAW);
832
+ let b = e.getAttribLocation(f, "aSeg"), x = e.getAttribLocation(f, "aData");
833
+ e.enableVertexAttribArray(b), e.enableVertexAttribArray(x), e.vertexAttribPointer(b, 4, e.FLOAT, !1, 32, 0), e.vertexAttribPointer(x, 4, e.FLOAT, !1, 32, 16), e.vertexAttribDivisor(b, 1), e.vertexAttribDivisor(x, 1), e.bindVertexArray(null);
834
+ let S = (t) => e.getUniformLocation(f, t), w = S("uFit"), T = S("uTrail"), E = S("uEnv"), D = S("uLoom"), O = S("uLayer"), k = S("uEdgeMargin"), A = S("uStopCount"), j = S("uPalette[0]"), M = new Float32Array(xe * 3), N = new Float32Array(($ + 1) * 2), P = new Float32Array(12), F = null, I = {
632
835
  centerX: 0,
633
836
  centerY: 0,
634
837
  scale: 1
635
- }, M = 0;
636
- function N() {
838
+ }, ee = 0;
839
+ function te() {
637
840
  let e = r();
638
- e !== A && (A = e, M = Math.min(e.length, Z), j = H(e));
841
+ e !== F && (F = e, ee = Math.min(e.length, $), I = K(e));
639
842
  }
640
- function P() {
641
- let n = s(), r = t.clientWidth || 320, i = t.clientHeight || 320, a = Math.max(1, Math.round(r * n)), o = Math.max(1, Math.round(i * n));
642
- (t.width !== a || t.height !== o) && (t.width = a, t.height = o), e.viewport(0, 0, t.width, t.height);
843
+ function L(n) {
844
+ e.viewport(0, 0, n?.w ?? t.width, n?.h ?? t.height);
643
845
  }
644
- function F(r) {
645
- c?.(r), N();
646
- let o = A;
846
+ function R(r) {
847
+ s?.(r), te();
848
+ let o = F;
647
849
  if (!o) return;
648
- let s = a(), u = Math.max(1, Math.min(Math.round(n.harmonics), M)), d = n.showEpicycles ? Math.max(1, Math.min(Math.round(n.epicycleArms), u)) : 0, m = X, g = Math.max(m - 1, 1);
649
- for (let e = 0; e < m; e++) {
650
- let t = e / g, r = 1 - t, i = s - n.trailArc * t;
850
+ let l = a(), u = Math.max(1, Math.min(Math.round(n.harmonics), ee)), h = n.showEpicycles ? Math.max(1, Math.min(Math.round(n.epicycleArms), u)) : 0, g = xe, _ = Math.max(g - 1, 1);
851
+ for (let e = 0; e < g; e++) {
852
+ let t = e / _, r = 1 - t, i = l - n.trailArc * t;
651
853
  i -= Math.floor(i);
652
- let [a, c] = h(o, i, u), l = e * 3;
653
- D[l + 0] = a, D[l + 1] = c, D[l + 2] = r;
854
+ let [a, s] = C(o, i, u), c = e * 3;
855
+ M[c + 0] = a, M[c + 1] = s, M[c + 2] = r;
654
856
  }
655
- let _ = Math.min(d, u);
656
- for (let e = 0; e <= Z; e++) {
857
+ let S = Math.min(h, u);
858
+ for (let e = 0; e <= $; e++) {
657
859
  let t = e * 2;
658
- if (e <= _) {
659
- let [n, r] = h(o, s, e);
660
- O[t + 0] = n, O[t + 1] = r;
661
- } else O[t + 0] = 0, O[t + 1] = 0;
860
+ if (e <= S) {
861
+ let [n, r] = C(o, l, e);
862
+ N[t + 0] = n, N[t + 1] = r;
863
+ } else N[t + 0] = 0, N[t + 1] = 0;
864
+ }
865
+ let L = t.width / Math.max(t.height, 1), R = Math.min(t.width, t.height) / Math.max(d(), 1), ne = ue(n.trailWidth, I.scale, R), z = ne * .5, re = 12 / (Math.max(I.scale, 1e-6) * Math.max(R, 1)), ie = M[0], ae = M[1], oe = M[3], ce = M[4], V = ie - oe, H = ae - ce, U = Math.hypot(V, H), le = U > 1e-4 ? V / U : 1, W = U > 1e-4 ? H / U : 0, G = -le * z * 1.4, K = -W * z * 1.4, de = se({
866
+ sampleCount: g,
867
+ armCount: h,
868
+ showEpicycles: n.showEpicycles,
869
+ celGain: n.celGain
870
+ }), fe = /* @__PURE__ */ new Map(), q = 0, J = (e, t, n, r, i, a, o) => {
871
+ v[q++] = e, v[q++] = t, v[q++] = n, v[q++] = r, v[q++] = i, v[q++] = a, v[q++] = o, v[q++] = 0;
872
+ };
873
+ for (let e of de) if (fe.set(e.kind, q), e.kind === "cel-rope") for (let e = 0; e < g - 1; e++) {
874
+ let t = e * 3;
875
+ J(M[t] + G, M[t + 1] + K, M[t + 3] + G, M[t + 4] + K, 0, z, 1);
662
876
  }
663
- let P = t.clientWidth || 320, F = t.clientHeight || 320, I = Math.min(P, F), L = P / Math.max(F, 1), R = U(n.trailWidth, j.scale, I), z = i(), B = Math.min(z.length, 4);
877
+ else if (e.kind === "cel-arm") for (let e = 0; e < h; e++) {
878
+ let t = e * 2;
879
+ J(N[t] + G, N[t + 1] + K, N[t + 2] + G, N[t + 3] + K, 0, z * .55, .7);
880
+ }
881
+ else if (e.kind === "epicycle") {
882
+ let e = Math.max(h - 1, 1);
883
+ for (let t = 0; t < h; t++) {
884
+ let n = t * 2;
885
+ J(N[n], N[n + 1], N[n + 2], N[n + 3], 0, z, t / e);
886
+ }
887
+ } else if (e.kind === "trail") for (let e = 0; e < g - 1; e++) {
888
+ let t = e * 3, n = Math.max(M[t + 2], M[t + 5]);
889
+ J(M[t], M[t + 1], M[t + 3], M[t + 4], n, z, 0);
890
+ }
891
+ else J(M[0], M[1], M[3], M[4], 0, z, 0);
892
+ let Y = q, X = i(), Z = Math.min(X.length, 4);
664
893
  for (let e = 0; e < 4; e++) {
665
- let t = l(z[Math.min(e, B - 1)] ?? z[0]);
666
- k[e * 3 + 0] = t[0], k[e * 3 + 1] = t[1], k[e * 3 + 2] = t[2];
894
+ let t = p(X[Math.min(e, Z - 1)] ?? X[0]);
895
+ P[e * 3 + 0] = t[0], P[e * 3 + 1] = t[1], P[e * 3 + 2] = t[2];
896
+ }
897
+ e.useProgram(f), e.bindVertexArray(m), e.enable(e.BLEND), e.clearColor(0, 0, 0, 0), e.clear(e.COLOR_BUFFER_BIT), e.bindBuffer(e.ARRAY_BUFFER, y), e.bufferSubData(e.ARRAY_BUFFER, 0, v.subarray(0, Y));
898
+ let Q = c?.() ?? {
899
+ x: 0,
900
+ y: 0
901
+ };
902
+ e.uniform4f(w, I.centerX - Q.x, I.centerY - Q.y, I.scale, L), e.uniform4f(T, ne, Se, Ce, we), e.uniform4f(E, Te, n.intensity, +!!n.showEpicycles, +!!n.rainbowChain), e.uniform4f(D, n.squashGain, n.celGain, 0, 0), e.uniform1f(k, re), e.uniform1i(A, Z), e.uniform3fv(j, P);
903
+ for (let t of de) {
904
+ let n = (fe.get(t.kind) ?? 0) * 4;
905
+ e.vertexAttribPointer(b, 4, e.FLOAT, !1, 32, n), e.vertexAttribPointer(x, 4, e.FLOAT, !1, 32, n + 16), e.uniform1i(O, B[t.kind]), t.blend === "max" ? (e.blendEquation(e.MAX), e.blendFunc(e.ONE, e.ONE)) : (e.blendEquation(e.FUNC_ADD), e.blendFunc(e.ONE, e.ONE_MINUS_SRC_ALPHA)), e.drawArraysInstanced(e.TRIANGLE_STRIP, 0, 4, t.instanceCount);
667
906
  }
668
- e.useProgram(f), e.bindVertexArray(p), e.enable(e.BLEND), e.blendFunc(e.ONE, e.ONE_MINUS_SRC_ALPHA), e.clearColor(0, 0, 0, 0), e.clear(e.COLOR_BUFFER_BIT), e.uniform4f(v, j.centerX, j.centerY, j.scale, L), e.uniform4f(y, R, ue, de, fe), e.uniform4f(b, pe, n.intensity, +!!n.showEpicycles, +!!n.rainbowChain), e.uniform1i(x, m), e.uniform1i(S, d), e.uniform1i(C, B), e.uniform3fv(w, k), e.uniform3fv(T, D), e.uniform2fv(E, O), e.drawArrays(e.TRIANGLES, 0, 3);
907
+ e.blendEquation(e.FUNC_ADD);
669
908
  }
670
909
  return {
671
- frame: F,
910
+ frame: R,
672
911
  shouldContinue: o,
673
- resize: P,
912
+ resize: L,
674
913
  teardown: () => {
675
- e.deleteProgram(f), e.deleteBuffer(m), e.deleteVertexArray(p);
914
+ e.deleteProgram(f), e.deleteBuffer(h), e.deleteBuffer(y), e.deleteVertexArray(m);
676
915
  }
677
916
  };
678
917
  };
679
918
  }
680
919
  //#endregion
681
- //#region src/components/custom/fourier-field/composables/useFourierField.ts
682
- function $(e, t) {
683
- let { config: r, getSpectrum: i, getPalette: a } = t, o = t.mode ?? "live", s = t.frozenT ?? .34, l = t.periodS ?? 16, u = 0, d = -1, f = 0, p = n({ respectReducedMotion: r.respectReducedMotion }), m = () => (t.freeze?.() ?? !1) || (S?.reducedMotion ?? !1);
684
- function h(e) {
685
- let t = d >= 0 ? (e - d) * 1e3 : 16.7;
686
- if (d = e, p.tick(t), m()) {
687
- u = s, f = 0;
920
+ //#region src/components/fourier-field/composables/useFourierField.ts
921
+ function Oe(e, t) {
922
+ let { config: r, getSpectrum: o, getPalette: s } = t, c = t.mode ?? "live", l = t.frozenT ?? .34, u = t.periodS ?? 16, p = 0, m = -1, h = 0, g = 0;
923
+ function _(e) {
924
+ if (h === 0 && g === 0) return;
925
+ let t = -64 * h - 2 * .62 * 8 * g;
926
+ g += t * e, h += g * e, Math.abs(h) < 1e-4 && Math.abs(g) < 1e-4 && (h = 0, g = 0);
927
+ }
928
+ let v = n({ respectReducedMotion: r.respectReducedMotion }), y = () => (t.freeze?.() ?? !1) || (N?.reducedMotion ?? !1);
929
+ function b(e) {
930
+ x(e);
931
+ }
932
+ function x(e) {
933
+ let n = m >= 0 ? (e - m) * 1e3 : 16.7;
934
+ m = e;
935
+ let i = t.routePointer?.();
936
+ if (i && (v.setActive(i.active), i.active && v.setPointer(i.x, i.y)), v.tick(n), y()) {
937
+ p = l, h = 0, g = 0;
688
938
  return;
689
939
  }
690
- let n = Math.min(Math.max(t / 1e3, 0), .05);
691
- if (r.interactive && p.active.value) {
692
- u = p.smoothedPosition.value.x % 1, u < 0 && (u += 1), f = p.burst.value * 4;
940
+ let a = Math.min(Math.max(n / 1e3, 0), .05);
941
+ if (r.interactive && v.active.value) {
942
+ let e = r.speed / u + v.velocity.value.x * te + h;
943
+ p = (p + e * a) % 1, p < 0 && (p += 1);
944
+ let t = v.burst.value * 4;
945
+ t !== 0 && (h = t, g = 0), _(a);
693
946
  return;
694
947
  }
695
- let i = r.speed / l + f;
696
- u = (u + i * n) % 1, u < 0 && (u += 1), f *= .92 ** (n * 60), Math.abs(f) < 1e-4 && (f = 0);
948
+ let o = r.speed / u + h;
949
+ p = (p + o * a) % 1, p < 0 && (p += 1), _(a);
697
950
  }
698
- let g = () => u, _ = (e) => {
699
- p.onPointerMove(e), r.interactive && S?.wake();
700
- }, v = () => {
701
- p.onPointerEnter(), r.interactive && S?.wake();
702
- }, y = (e) => e.parentElement ?? e;
703
- function b(e) {
704
- let t = y(e);
705
- t.addEventListener("pointermove", _), t.addEventListener("pointerenter", v), t.addEventListener("pointerleave", p.onPointerLeave);
951
+ let S = () => p, C = null, w = {
952
+ centerX: 0,
953
+ centerY: 0,
954
+ scale: 1
955
+ }, T = () => {
956
+ let e = o();
957
+ return e !== C && (C = e, w = K(e)), w;
958
+ }, E = () => {
959
+ if (!r.interactive) return {
960
+ x: 0,
961
+ y: 0
962
+ };
963
+ let t = e.value;
964
+ if (!t || !t.width || !t.height) return {
965
+ x: 0,
966
+ y: 0
967
+ };
968
+ let { leanX: n, leanY: o } = a(i(v), {
969
+ aspect: t.width / t.height,
970
+ scale: Math.max(T().scale, 1e-6)
971
+ });
972
+ return {
973
+ x: n,
974
+ y: o
975
+ };
976
+ }, D = (e) => {
977
+ v.onPointerMove(e), r.interactive && N?.wake();
978
+ }, O = () => {
979
+ v.onPointerEnter(), r.interactive && N?.wake();
980
+ }, k = (e) => e.parentElement ?? e;
981
+ function A(e) {
982
+ let t = k(e);
983
+ t.addEventListener("pointermove", D), t.addEventListener("pointerenter", O), t.addEventListener("pointerleave", v.onPointerLeave);
706
984
  }
707
- function x(e) {
708
- let t = y(e);
709
- t.removeEventListener("pointermove", _), t.removeEventListener("pointerenter", v), t.removeEventListener("pointerleave", p.onPointerLeave);
985
+ function M(e) {
986
+ let t = k(e);
987
+ t.removeEventListener("pointermove", D), t.removeEventListener("pointerenter", O), t.removeEventListener("pointerleave", v.onPointerLeave);
710
988
  }
711
- let S = null, C = () => {
989
+ let N = null, P = () => {
712
990
  let t = e.value;
713
- return t ? (S || (b(t), S = c(t, {
714
- mode: o,
991
+ return t ? (N || (A(t), N = f(t, {
992
+ mode: c,
715
993
  respectReducedMotion: r.respectReducedMotion,
716
- setupWGPU: se({
994
+ dprPolicy: d,
995
+ revealBloom: !0,
996
+ setupWGPU: ve({
717
997
  canvas: t,
718
998
  config: r,
719
- getSpectrum: i,
720
- getPalette: a,
721
- getHeadT: g,
999
+ getSpectrum: o,
1000
+ getPalette: s,
1001
+ getHeadT: S,
722
1002
  shouldContinue: () => !0,
723
- onFrame: h
1003
+ onFrame: b,
1004
+ getPointerLean: E
724
1005
  }),
725
- setupGL: me({
1006
+ setupGL: De({
726
1007
  canvas: t,
727
1008
  config: r,
728
- getSpectrum: i,
729
- getPalette: a,
730
- getHeadT: g,
1009
+ getSpectrum: o,
1010
+ getPalette: s,
1011
+ getHeadT: S,
731
1012
  shouldContinue: () => !0,
732
- onFrame: h
1013
+ onFrame: b,
1014
+ getPointerLean: E
733
1015
  })
734
- }), S.armAsync()), S) : null;
1016
+ }), N.armAsync()), N) : null;
735
1017
  };
736
- queueMicrotask(() => C());
737
- let w = {
1018
+ queueMicrotask(() => P());
1019
+ let F = {
738
1020
  get backend() {
739
- return C()?.backend ?? "webgpu";
1021
+ return P()?.backend ?? "webgpu";
740
1022
  },
741
- pause: () => C()?.suspend("manual"),
742
- resume: () => C()?.resume("manual"),
743
- wake: () => C()?.wake(),
744
- renderAt: (e) => C()?.renderAt(e),
1023
+ pause: () => P()?.suspend("manual"),
1024
+ resume: () => P()?.resume("manual"),
1025
+ wake: () => P()?.wake(),
1026
+ renderAt: (e) => P()?.renderAt(e),
745
1027
  get reducedMotion() {
746
- return S?.reducedMotion ?? !1;
1028
+ return N?.reducedMotion ?? !1;
747
1029
  },
748
1030
  get headT() {
749
- return u;
1031
+ return p;
750
1032
  },
751
1033
  setHeadT: (e) => {
752
- u = (e % 1 + 1) % 1, C()?.wake();
1034
+ p = (e % 1 + 1) % 1, P()?.wake();
753
1035
  },
754
1036
  dispose: () => {
755
1037
  let t = e.value;
756
- t && x(t), p.dispose(), S?.dispose();
1038
+ t && M(t), v.dispose(), N?.dispose();
757
1039
  }
758
1040
  };
759
- return T(() => w.dispose()), w;
1041
+ return j(() => F.dispose()), F;
760
1042
  }
761
1043
  //#endregion
762
- //#region src/components/custom/fourier-field/FourierField.vue
763
- var he = /* @__PURE__ */ e(/* @__PURE__ */ S({
1044
+ //#region src/components/fourier-field/FourierField.vue
1045
+ var ke = /* @__PURE__ */ e(/* @__PURE__ */ O({
764
1046
  __name: "FourierField",
765
1047
  props: {
766
1048
  config: {},
@@ -776,38 +1058,46 @@ var he = /* @__PURE__ */ e(/* @__PURE__ */ S({
776
1058
  intensity: {}
777
1059
  },
778
1060
  setup(e, { expose: n }) {
779
- let r = e, i = O("hostRef"), a = O("canvasRef"), { isDark: o } = d(), s = y(() => {
780
- let e = r.config ?? N, t = r.intensity == null ? e.intensity : Math.max(0, Math.min(2, r.intensity)), n = r.config ? e.interactive : !1;
1061
+ let i = e, a = P("hostRef"), s = P("canvasRef"), { isDark: c } = o(), l = r(), u = T(() => {
1062
+ let e = i.config ?? ie, t = i.intensity == null ? e.intensity : Math.max(0, Math.min(2, i.intensity)), n = i.config ? e.interactive : !0;
781
1063
  return {
782
1064
  ...e,
783
1065
  intensity: t,
784
1066
  interactive: n
785
1067
  };
786
- }), c = y(() => r.spectrum && r.spectrum.length > 0 ? r.spectrum : _(f(p((r.freeze ? "fourier-field/frozen" : r.seed || "fourier-field") + r.seed)), {
787
- harmonics: Math.min(s.value.harmonics + 4, 62),
788
- harmonicScale: s.value.harmonicScale
789
- })), l = () => c.value;
790
- function m(e) {
1068
+ }), d = T(() => !!i.config && u.value.interactive), f = i.config ? void 0 : () => ({
1069
+ x: l.pointer.value.x,
1070
+ y: l.pointer.value.y,
1071
+ active: l.active.value
1072
+ }), p = T(() => {
1073
+ if (i.spectrum && i.spectrum.length > 0) return i.spectrum;
1074
+ let e = w[u.value.source];
1075
+ return e ? x(e) : _(h(g((i.freeze ? "fourier-field/frozen" : i.seed || "fourier-field") + i.seed)), {
1076
+ harmonics: Math.min(u.value.harmonics + 4, 62),
1077
+ harmonicScale: u.value.harmonicScale
1078
+ });
1079
+ }), v = () => p.value;
1080
+ function y(e) {
791
1081
  if (!e.includes("var(") && !e.includes("light-dark(")) return e;
792
- let n = i.value;
1082
+ let n = a.value;
793
1083
  if (typeof window > "u" || !n) return e;
794
1084
  if (e.includes("var(")) return t(e, n);
795
1085
  let r = n.style.color;
796
1086
  n.style.color = e;
797
- let a = getComputedStyle(n).color;
798
- return n.style.color = r, a || e;
1087
+ let i = getComputedStyle(n).color;
1088
+ return n.style.color = r, i || e;
799
1089
  }
800
- let h = D(s.value.palette);
801
- function g() {
802
- if (r.getPalette) {
803
- h.value = r.getPalette();
1090
+ let b = N(u.value.palette);
1091
+ function S() {
1092
+ if (i.getPalette) {
1093
+ b.value = i.getPalette();
804
1094
  return;
805
1095
  }
806
- if (o.value, r.color) {
807
- let e = m(r.color);
1096
+ if (c.value, i.color) {
1097
+ let e = y(i.color);
808
1098
  if (e.includes("var(") || e.includes("light-dark(")) return;
809
- let t = u(e);
810
- h.value = [{
1099
+ let t = m(e);
1100
+ b.value = [{
811
1101
  L: Math.max(.5, t.L),
812
1102
  C: Math.max(.12, t.C),
813
1103
  h: t.h
@@ -818,36 +1108,44 @@ var he = /* @__PURE__ */ e(/* @__PURE__ */ S({
818
1108
  }];
819
1109
  return;
820
1110
  }
821
- h.value = s.value.palette;
1111
+ b.value = u.value.palette;
822
1112
  }
823
- let v = $(a, {
824
- config: s.value,
825
- getSpectrum: l,
826
- getPalette: () => h.value,
827
- freeze: () => r.freeze
1113
+ let C = Oe(s, {
1114
+ config: new Proxy({}, {
1115
+ get: (e, t) => Reflect.get(u.value, t),
1116
+ has: (e, t) => Reflect.has(u.value, t),
1117
+ ownKeys: () => Reflect.ownKeys(u.value),
1118
+ getOwnPropertyDescriptor: (e, t) => Reflect.getOwnPropertyDescriptor(u.value, t)
1119
+ }),
1120
+ getSpectrum: v,
1121
+ getPalette: () => b.value,
1122
+ freeze: () => i.freeze,
1123
+ routePointer: f
828
1124
  });
829
- return k([
830
- () => r.color,
831
- () => r.getPalette,
832
- o
833
- ], g, { immediate: !0 }), w(g), k(o, () => v.wake()), k(() => r.freeze, () => v.wake()), n({
834
- backend: () => v.backend,
835
- pause: v.pause,
836
- resume: v.resume,
837
- wake: v.wake,
838
- renderAt: v.renderAt,
839
- setHeadT: v.setHeadT
840
- }), (e, t) => (E(), b("div", {
1125
+ return F(() => i.config, () => C.wake(), { deep: !0 }), F([
1126
+ () => i.color,
1127
+ () => i.getPalette,
1128
+ c
1129
+ ], S, { immediate: !0 }), A(() => {
1130
+ S();
1131
+ }), F(c, () => C.wake()), F(() => i.freeze, () => C.wake()), n({
1132
+ backend: () => C.backend,
1133
+ pause: C.pause,
1134
+ resume: C.resume,
1135
+ wake: C.wake,
1136
+ renderAt: C.renderAt,
1137
+ setHeadT: C.setHeadT
1138
+ }), (e, t) => (M(), E("div", {
841
1139
  ref_key: "hostRef",
842
- ref: i,
843
- class: C(["fourier-field", { "fourier-field--interactive": s.value.interactive }])
844
- }, [x("canvas", {
845
- ref_key: "canvasRef",
846
1140
  ref: a,
1141
+ class: k(["fourier-field", { "fourier-field--interactive": d.value }])
1142
+ }, [D("canvas", {
1143
+ ref_key: "canvasRef",
1144
+ ref: s,
847
1145
  class: "fourier-field-canvas",
848
1146
  "aria-hidden": "true"
849
1147
  }, null, 512)], 2));
850
1148
  }
851
- }), [["__scopeId", "data-v-b0591225"]]);
1149
+ }), [["__scopeId", "data-v-2b2aeb28"]]);
852
1150
  //#endregion
853
- export { N as DEFAULT_FOURIER_CONFIG, he as FourierField, j as MAX_CURVE_SAMPLES, A as MAX_PHASORS, M as WARM_IDENTITY_PALETTE, v as comp, g as dftFromPoints, _ as makeEllipticSpectrum, h as partialSumAt, m as positionsAt, $ as useFourierField };
1151
+ export { ie as DEFAULT_FOURIER_CONFIG, w as FOURIER_FIGURES, b as FOURIER_FIGURE_KEYS, ke as FourierField, ee as MAX_CURVE_SAMPLES, I as MAX_PHASORS, re as WARM_IDENTITY_PALETTE, S as comp, y as dftFromPoints, _ as makeEllipticSpectrum, x as makeHarmonicFigure, C as partialSumAt, v as positionsAt, Oe as useFourierField };