@mkbabb/glass-ui 4.2.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -159
- package/dist/CardAction-2uUvjMQK.js +285 -0
- package/dist/CollapsibleContent-DiHcB_HH.js +63 -0
- package/dist/CommandShortcut-fmdbsEJL.js +302 -0
- package/dist/ConfiguratorRow-BV6zPjTM.js +151 -0
- package/dist/DataTable-Bxya8nBn.js +518 -0
- package/dist/DialogContent-Bl4v10AC.js +192 -0
- package/dist/DialogFooter-C0v4Hz2F.js +168 -0
- package/dist/FadingScroll-BSRLqQCx.js +76 -0
- package/dist/FocusScope-BzKwhsBn.js +23 -0
- package/dist/IconChip-CwLmBJ_K.js +57 -0
- package/dist/IconTooltip-D9sbK-Mk.js +25 -0
- package/dist/Input-DKf-XwUM.js +57 -0
- package/dist/InstrumentChassis-Dss5Tjcm.js +65 -0
- package/dist/Label-C84TaQiw.js +36 -0
- package/dist/Notification-DQv2cOh9.js +43 -0
- package/dist/NumberFieldContent-BkE7xPS9.js +140 -0
- package/dist/PagerDots-BP6jh7z4.js +279 -0
- package/dist/PaperBackdrop-BYwE8_kg.js +31 -0
- package/dist/PopoverContent-DOtszFWK.js +251 -0
- package/dist/Progress-uWLyXE7J.js +308 -0
- package/dist/SelectGroup-BuEptUsa.js +31 -0
- package/dist/SelectScrollDownButton-CDtwaWkZ.js +261 -0
- package/dist/SelectSeparator-4QGephvr.js +49 -0
- package/dist/Separator-DqJ6PfOd.js +44 -0
- package/dist/Surface-BWRfwyn8.js +59 -0
- package/dist/Switch-BPBfhMU3.js +49 -0
- package/dist/Toaster-C_-WeU9W.js +281 -0
- package/dist/ToggleGroupItem-DNWx2aSW.js +175 -0
- package/dist/TooltipProvider-GtfYdSVf.js +110 -0
- package/dist/accent-tone-solve-CBw3L0cy.js +20 -0
- package/dist/animated-digit.d.ts +1 -1
- package/dist/animated-digit.js +5 -5
- package/dist/aurora.d.ts +1 -1
- package/dist/aurora.js +1395 -398
- package/dist/axes.d.ts +1 -0
- package/dist/axes.js +50 -0
- package/dist/badge-C0C-rTBu.js +80 -0
- package/dist/badge.d.ts +1 -1
- package/dist/badge.js +1 -1
- package/dist/blob-config.d.ts +5 -0
- package/dist/blob-config.js +2 -0
- package/dist/blob.d.ts +1 -0
- package/dist/blob.js +1582 -0
- package/dist/button-BXzhydVB.js +187 -0
- package/dist/button.d.ts +1 -1
- package/dist/button.js +1 -1
- package/dist/canvas.js +1 -1
- package/dist/card.d.ts +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +2 -2
- package/dist/carousel.js +165 -248
- package/dist/chip.d.ts +10 -0
- package/dist/chip.js +81 -0
- package/dist/class-names-5jotTFzp.js +97 -0
- package/dist/coalesce-metric-B8o7zT9u.js +13 -0
- package/dist/collapsible.d.ts +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color-Bp5jmv4Z.js +86 -0
- package/dist/color-swatch.d.ts +1 -1
- package/dist/color-swatch.js +2 -2
- package/dist/color.js +3 -2
- package/dist/command.d.ts +1 -1
- package/dist/command.js +1 -1
- package/dist/completion-seal.d.ts +1 -1
- package/dist/completion-seal.js +76 -42
- package/dist/components/_shared/axes.d.ts +21 -0
- package/dist/components/_shared/class-names.d.ts +27 -0
- package/dist/components/_shared/index.d.ts +6 -0
- package/dist/components/_shared/menuItemVariants.d.ts +51 -0
- package/dist/components/_shared/useControlSize.d.ts +46 -0
- package/dist/components/_shared/useMotionAxis.d.ts +41 -0
- package/dist/components/_shared/useSurfaceAxis.d.ts +64 -0
- package/dist/components/alert/Alert.vue.d.ts +19 -0
- package/dist/components/alert/index.d.ts +8 -0
- package/dist/components/aurora/Aurora.vue.d.ts +104 -0
- package/dist/components/aurora/composables/atoms-fields.d.ts +43 -0
- package/dist/components/aurora/composables/atoms.d.ts +198 -0
- package/dist/components/aurora/composables/auroraImageSource.d.ts +44 -0
- package/dist/components/aurora/composables/color.d.ts +111 -0
- package/dist/components/aurora/composables/frameLoop.d.ts +66 -0
- package/dist/components/aurora/composables/glSetup.d.ts +29 -0
- package/dist/components/aurora/composables/runtime.d.ts +140 -0
- package/dist/components/aurora/composables/uniformBridge.d.ts +120 -0
- package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +60 -0
- package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +39 -0
- package/dist/components/aurora/composables/useAurora.d.ts +80 -0
- package/dist/components/aurora/composables/useCursorInteraction.d.ts +25 -0
- package/dist/components/aurora/composables/wgpuSetup.d.ts +50 -0
- package/dist/components/aurora/constants/presets.d.ts +326 -0
- package/dist/components/aurora/constants/shaders/aurora-image.frag.d.ts +3 -0
- package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +3 -0
- package/dist/components/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
- package/dist/components/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
- package/dist/components/aurora/constants/shaders/brush.glsl.d.ts +1 -0
- package/dist/components/aurora/constants/shaders/flow.glsl.d.ts +1 -0
- package/dist/components/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
- package/dist/components/aurora/constants/shaders/metal-medium.glsl.d.ts +2 -0
- package/dist/components/aurora/index.d.ts +13 -0
- package/dist/components/avatar/Avatar.vue.d.ts +23 -0
- package/dist/components/avatar/index.d.ts +9 -0
- package/dist/components/badge/Badge.vue.d.ts +41 -0
- package/dist/components/badge/index.d.ts +9 -0
- package/dist/components/blob/Blob.vue.d.ts +72 -0
- package/dist/components/blob/composables/satelliteKinematics.d.ts +20 -0
- package/dist/components/blob/composables/uploadBlobUniforms.d.ts +51 -0
- package/dist/components/blob/composables/useBlobPointer.d.ts +88 -0
- package/dist/components/blob/composables/useMetaballRenderer.d.ts +100 -0
- package/dist/components/blob/composables/wgpuSetup.d.ts +23 -0
- package/dist/components/blob/config.d.ts +3 -0
- package/dist/components/blob/constants.d.ts +82 -0
- package/dist/components/blob/index.d.ts +8 -0
- package/dist/components/blob/presets.d.ts +14 -0
- package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
- package/dist/components/blob/types.d.ts +256 -0
- package/dist/components/button/Button.vue.d.ts +31 -0
- package/dist/components/button/index.d.ts +9 -0
- package/dist/components/card/Card.vue.d.ts +180 -0
- package/dist/components/card/CardHeader.vue.d.ts +58 -0
- package/dist/components/card/ScrollCard.vue.d.ts +33 -0
- package/dist/components/carousel/Carousel.vue.d.ts +44 -0
- package/dist/components/carousel/CarouselContent.vue.d.ts +24 -0
- package/dist/components/carousel/CarouselNext.vue.d.ts +21 -0
- package/dist/components/carousel/CarouselPrevious.vue.d.ts +21 -0
- package/dist/components/carousel/GlassCarouselPager.vue.d.ts +50 -0
- package/dist/components/carousel/useCarousel.d.ts +21 -0
- package/dist/components/chip/Chip.vue.d.ts +20 -0
- package/dist/components/chip/chipVariants.d.ts +43 -0
- package/dist/components/chip/index.d.ts +3 -0
- package/dist/components/chip/types.d.ts +38 -0
- package/dist/components/combobox/Combobox.vue.d.ts +32 -0
- package/dist/components/combobox/ComboboxList.vue.d.ts +32 -0
- package/dist/components/command/index.d.ts +10 -0
- package/dist/components/completion-seal/CompletionSeal.vue.d.ts +28 -0
- package/dist/components/completion-seal/constants.d.ts +66 -0
- package/dist/components/configurator/Configurator.vue.d.ts +160 -0
- package/dist/components/configurator/ConfiguratorRow.vue.d.ts +96 -0
- package/dist/components/configurator/index.d.ts +6 -0
- package/dist/components/configurator/size.d.ts +26 -0
- package/dist/components/constellation/Constellation.vue.d.ts +34 -0
- package/dist/components/constellation/composables/constellationGLSetup.d.ts +10 -0
- package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +19 -0
- package/dist/components/constellation/composables/useConstellation.d.ts +39 -0
- package/dist/components/constellation/constants.d.ts +97 -0
- package/dist/components/constellation/constellationTypes.d.ts +420 -0
- package/dist/components/dialog/DialogContent.vue.d.ts +115 -0
- package/dist/components/dock/DockBackgroundToggle.vue.d.ts +46 -0
- package/dist/components/dock/DockControl.vue.d.ts +73 -0
- package/dist/components/dock/DockCrossfade.vue.d.ts +50 -0
- package/dist/components/dock/DockLayer.vue.d.ts +33 -0
- package/dist/components/dock/DockLayerGroup.vue.d.ts +65 -0
- package/dist/components/dock/DockStack.vue.d.ts +73 -0
- package/dist/components/dock/DockTrigger.vue.d.ts +27 -0
- package/dist/components/dock/GlassDock.vue.d.ts +33 -0
- package/dist/components/dock/composables/dockContext.d.ts +48 -0
- package/dist/components/dock/composables/dockCrossfadeContext.d.ts +57 -0
- package/dist/components/dock/composables/dockMorphContext.d.ts +89 -0
- package/dist/components/dock/composables/index.d.ts +10 -0
- package/dist/components/dock/composables/useDockFisheye.d.ts +24 -0
- package/dist/components/dock/composables/useDockOverflowFit.d.ts +22 -0
- package/dist/components/dock/composables/useDockPopover.d.ts +68 -0
- package/dist/components/dock/composables/useDockSearch.d.ts +85 -0
- package/dist/components/dock/composables/useDockShellProps.d.ts +178 -0
- package/dist/components/dock/composables/useDockSpring.d.ts +71 -0
- package/dist/components/dock/composables/useDockTouchGate.d.ts +51 -0
- package/dist/components/dock/constants.d.ts +107 -0
- package/dist/components/dock/index.d.ts +19 -0
- package/dist/components/drawer/Drawer.vue.d.ts +85 -0
- package/dist/components/drawer/DrawerContent.vue.d.ts +40 -0
- package/dist/components/drawer/composables/useDrawerSnap.d.ts +24 -0
- package/dist/components/drawer/constants.d.ts +50 -0
- package/dist/components/drawer/index.d.ts +35 -0
- package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +24 -0
- package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +36 -0
- package/dist/components/dropdown-menu/index.d.ts +16 -0
- package/dist/components/dropdown-menu/useMenuTrigger.d.ts +14 -0
- package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +71 -0
- package/dist/components/fourier-field/FourierField.vue.d.ts +54 -0
- package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
- package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
- package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
- package/dist/components/fourier-field/composables/useFourierField.d.ts +55 -0
- package/dist/components/fourier-field/constants.d.ts +134 -0
- package/dist/components/fourier-field/index.d.ts +31 -0
- package/dist/components/fourier-field/math.d.ts +111 -0
- package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
- package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
- package/dist/components/fourier-field/shaders/fourier-field.ribbon.d.ts +51 -0
- package/dist/components/handmark/composables/useHandMark.d.ts +99 -0
- package/dist/components/handmark/constants.d.ts +69 -0
- package/dist/components/handmark/geometry.d.ts +65 -0
- package/dist/components/handmark/noise.d.ts +30 -0
- package/dist/components/handmark/types.d.ts +70 -0
- package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
- package/dist/components/header-ribbon/index.d.ts +2 -0
- package/dist/components/header-ribbon/types.d.ts +7 -0
- package/dist/components/index.d.ts +36 -0
- package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +42 -0
- package/dist/components/liquid-grid/composables/liquidGrid.d.ts +113 -0
- package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +18 -0
- package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +21 -0
- package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +16 -0
- package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +31 -0
- package/dist/components/liquid-grid/constants.d.ts +93 -0
- package/dist/components/liquid-grid/index.d.ts +5 -0
- package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +4 -0
- package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +1 -0
- package/dist/components/metric-badge/MetricBadge.vue.d.ts +40 -0
- package/dist/components/metric-cell/MetricCell.vue.d.ts +108 -0
- package/dist/components/metric-stack/MetricRow.vue.d.ts +120 -0
- package/dist/components/notification/Notification.vue.d.ts +16 -0
- package/dist/components/pager-dots/composables/usePagerWorm.d.ts +26 -0
- package/dist/components/pager-dots/constants.d.ts +15 -0
- package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +21 -0
- package/dist/components/popover/Popover.vue.d.ts +54 -0
- package/dist/components/popover/PopoverContent.vue.d.ts +53 -0
- package/dist/components/popover/PopoverTrigger.vue.d.ts +16 -0
- package/dist/components/popover/popoverContext.d.ts +17 -0
- package/dist/components/progress/Progress.vue.d.ts +54 -0
- package/dist/components/progress/ProgressLiquid.vue.d.ts +21 -0
- package/dist/components/progress/index.d.ts +6 -0
- package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +19 -0
- package/dist/components/scroll-progress-rim/index.d.ts +3 -0
- package/dist/components/scroll-progress-rim/types.d.ts +2 -0
- package/dist/components/search/FuzzySearch.vue.d.ts +22 -0
- package/dist/components/search/SearchBar.vue.d.ts +38 -0
- package/dist/components/search/searchVariants.d.ts +19 -0
- package/dist/components/select/SelectContent.vue.d.ts +42 -0
- package/dist/components/slider/Slider.vue.d.ts +40 -0
- package/dist/components/slider/index.d.ts +46 -0
- package/dist/components/sortable-list/SortableHandle.vue.d.ts +19 -0
- package/dist/components/sortable-list/SortableItem.vue.d.ts +22 -0
- package/dist/components/sortable-list/SortableList.vue.d.ts +39 -0
- package/dist/components/sortable-list/composables/dragController.d.ts +29 -0
- package/dist/components/sortable-list/composables/types.d.ts +50 -0
- package/dist/components/sortable-list/composables/useSortable.d.ts +5 -0
- package/dist/components/sortable-list/context.d.ts +11 -0
- package/dist/components/sortable-list/index.d.ts +4 -0
- package/dist/components/split-chars/SplitChars.vue.d.ts +53 -0
- package/dist/components/stacked-icons/types.d.ts +19 -0
- package/dist/components/surface/Surface.vue.d.ts +45 -0
- package/dist/components/surface/index.d.ts +2 -0
- package/dist/components/tabs/SegmentedTabs.vue.d.ts +101 -0
- package/dist/components/tabs/composables/useEyeglassLive.d.ts +17 -0
- package/dist/components/tabs/composables/useTabDragMorph.d.ts +42 -0
- package/dist/components/tabs/composables/useTabResponsive.d.ts +43 -0
- package/dist/components/tabs/composables/useTabRovingFocus.d.ts +51 -0
- package/dist/components/tabs/constants.d.ts +1 -0
- package/dist/components/timeline/ContinuousMarkers.vue.d.ts +49 -0
- package/dist/components/timeline/GlassTimeline.vue.d.ts +114 -0
- package/dist/components/toast/Toast.vue.d.ts +107 -0
- package/dist/components/toast/index.d.ts +9 -0
- package/dist/components/toast/use-toast.d.ts +182 -0
- package/dist/components/toggle/Toggle.vue.d.ts +29 -0
- package/dist/components/toggle/index.d.ts +26 -0
- package/dist/components/watercolor-dot/prng.d.ts +5 -0
- package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +31 -0
- package/dist/composables/color/accent-tone-solve.d.ts +11 -0
- package/dist/composables/color/index.d.ts +18 -1
- package/dist/composables/color/useAccentTone.d.ts +6 -8
- package/dist/composables/dom/useUserInvalidAria.d.ts +7 -11
- package/dist/composables/glass/ambientHueHistogram.d.ts +27 -0
- package/dist/composables/glass/backdropLuminanceSample.d.ts +56 -0
- package/dist/composables/glass/backdropSampleMath.d.ts +5 -0
- package/dist/composables/glass/textureUpload.d.ts +91 -0
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +27 -1
- package/dist/composables/glass/useSpecularPointer.d.ts +23 -4
- package/dist/composables/glass/useSpecularTracking.d.ts +1 -1
- package/dist/composables/glass/wave/waveField.d.ts +22 -1
- package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -1
- package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -1
- package/dist/composables/glass/webgl/backingSize.d.ts +44 -0
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +36 -55
- package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +36 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +1 -1
- package/dist/composables/glass/webgl/visibility.d.ts +42 -0
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +5 -4
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +3 -111
- package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +96 -0
- package/dist/composables/glass/webgpu/webgpuDevice.d.ts +30 -0
- package/dist/composables/index.d.ts +1 -2
- package/dist/composables/motion/bloomUpField.d.ts +29 -0
- package/dist/composables/motion/core/index.d.ts +6 -2
- package/dist/composables/motion/gooBarbellGeometry.d.ts +79 -0
- package/dist/composables/motion/index.d.ts +1 -1
- package/dist/composables/motion/morphSignatures.d.ts +88 -0
- package/dist/composables/motion/motionTempo.d.ts +9 -0
- package/dist/composables/motion/pointerFieldMappings.d.ts +161 -0
- package/dist/composables/motion/springPresets.d.ts +17 -23
- package/dist/composables/motion/useDockCtaReceive.d.ts +32 -39
- package/dist/composables/motion/useElementMorph.d.ts +99 -0
- package/dist/composables/motion/useLeadTrail.d.ts +69 -0
- package/dist/composables/motion/useLiquidPress.d.ts +9 -0
- package/dist/composables/motion/useLiquidReveal.d.ts +15 -29
- package/dist/composables/motion/usePointerVelocityField.d.ts +59 -0
- package/dist/composables/motion/useRoutePointer.d.ts +41 -0
- package/dist/composables/motion/useSelectionGroup.d.ts +83 -0
- package/dist/composables/motion/useSelectionIndicator.d.ts +90 -0
- package/dist/composables/motion/useSpringPress.d.ts +5 -5
- package/dist/configurator.d.ts +1 -1
- package/dist/configurator.js +3 -3
- package/dist/constellation.d.ts +1 -1
- package/dist/constellation.js +292 -255
- package/dist/controls.d.ts +1 -1
- package/dist/controls.js +5 -5
- package/dist/createCanvasLifecycle-DlrcvWbb.js +209 -0
- package/dist/dark.js +1 -1
- package/dist/data-table.d.ts +1 -1
- package/dist/data-table.js +1 -1
- package/dist/deck.d.ts +1 -1
- package/dist/deck.js +6 -6
- package/dist/dialog.d.ts +1 -1
- package/dist/dialog.js +3 -4
- package/dist/dock.d.ts +1 -1
- package/dist/dock.js +1038 -1591
- package/dist/dockContext-d-WpJN2Z.js +13 -0
- package/dist/dom.js +6 -6
- package/dist/drawer.d.ts +1 -1
- package/dist/drawer.js +169 -161
- package/dist/dropdown-menu-DaGlVdp9.js +421 -0
- package/dist/dropdown-menu.d.ts +1 -1
- package/dist/dropdown-menu.js +1 -1
- package/dist/easing.d.ts +10 -1
- package/dist/easing.js +148 -148
- package/dist/expandable-container.d.ts +1 -1
- package/dist/expandable-container.js +85 -66
- package/dist/fading-scroll.d.ts +1 -1
- package/dist/fading-scroll.js +1 -1
- package/dist/focus-scope.d.ts +1 -1
- package/dist/focus-scope.js +2 -23
- package/dist/forms.d.ts +4 -3
- package/dist/forms.js +75 -66
- package/dist/fourier-field.d.ts +1 -1
- package/dist/fourier-field.js +608 -554
- package/dist/fourier-math.d.ts +7 -1
- package/dist/fourier-math.js +2 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +192 -340
- package/dist/handmark.d.ts +3 -1
- package/dist/handmark.js +179 -161
- package/dist/header-ribbon.d.ts +1 -1
- package/dist/header-ribbon.js +7 -7
- package/dist/icon-chip.d.ts +1 -1
- package/dist/icon-chip.js +1 -1
- package/dist/icon-tooltip.d.ts +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +42 -45
- package/dist/infinite-scroll.d.ts +2 -2
- package/dist/infinite-scroll.js +2 -2
- package/dist/instrument-chassis.d.ts +1 -1
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.d.ts +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.d.ts +1 -1
- package/dist/labeled-field.js +13 -13
- package/dist/liquid-grid.d.ts +1 -0
- package/dist/liquid-grid.js +1064 -0
- package/dist/math-CIEcwsYi.js +112 -0
- package/dist/menuItemVariants-DbO-Fr74.js +36 -0
- package/dist/metric-badge.d.ts +1 -1
- package/dist/metric-badge.js +79 -2
- package/dist/metric-cell.d.ts +1 -1
- package/dist/metric-cell.js +9 -9
- package/dist/metric-stack.d.ts +1 -1
- package/dist/metric-stack.js +23 -23
- package/dist/motion-core.js +48 -42
- package/dist/motion-curves.d.ts +20 -0
- package/dist/motion-curves.js +2 -2
- package/dist/motion.js +94 -210
- package/dist/motionTempo-CMS5b0Vu.js +7 -0
- package/dist/notification.d.ts +1 -1
- package/dist/notification.js +1 -1
- package/dist/number-field.d.ts +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.d.ts +1 -1
- package/dist/pager-dots.js +1 -1
- package/dist/paper-backdrop.d.ts +1 -1
- package/dist/paper-backdrop.js +1 -1
- package/dist/pointerFieldMappings-4VtmkOWv.js +65 -0
- package/dist/popover.d.ts +1 -1
- package/dist/popover.js +1 -1
- package/dist/presets-B07HzyKd.js +95 -0
- package/dist/prng-B0PLRmR6.js +15 -0
- package/dist/progress.d.ts +1 -1
- package/dist/progress.js +2 -2
- package/dist/pulse.d.ts +1 -1
- package/dist/pulse.js +4 -4
- package/dist/reactive.js +2 -2
- package/dist/resolveCanvasColor-B3L-akX0.js +93 -0
- package/dist/scroll-progress-rim.d.ts +1 -0
- package/dist/scroll-progress-rim.js +61 -0
- package/dist/search.d.ts +1 -1
- package/dist/search.js +123 -123
- package/dist/select.d.ts +1 -1
- package/dist/select.js +3 -3
- package/dist/separator.d.ts +1 -1
- package/dist/separator.js +1 -1
- package/dist/sidebar.js +1 -1
- package/dist/slider-Cxuj_W_H.js +151 -0
- package/dist/slider.d.ts +1 -1
- package/dist/slider.js +1 -1
- package/dist/sortable-list.d.ts +1 -1
- package/dist/sortable-list.js +384 -59
- package/dist/spa-view.d.ts +1 -1
- package/dist/spa-view.js +1 -1
- package/dist/springPresets-h5VKJQqG.js +58 -0
- package/dist/stacked-icons.d.ts +1 -1
- package/dist/stacked-icons.js +6 -6
- package/dist/status-dot.d.ts +1 -1
- package/dist/status-dot.js +2 -2
- package/dist/styles/animations.css +1 -409
- package/dist/styles/card-scroll.css +1 -0
- package/dist/styles/cards.css +1 -448
- package/dist/styles/completion-seal.css +1 -131
- package/dist/styles/components.css +1 -45
- package/dist/styles/configurator.css +1 -297
- package/dist/styles/dialog-placement.css +1 -0
- package/dist/styles/dock/adaptive-legibility.css +1 -119
- package/dist/styles/dock/crossfade.css +1 -0
- package/dist/styles/dock/cta-seat.css +1 -87
- package/dist/styles/dock/density.css +1 -455
- package/dist/styles/dock/dock.css +1 -0
- package/dist/styles/dock/fisheye.css +1 -0
- package/dist/styles/dock/layer-group.css +1 -333
- package/dist/styles/dock/layers.css +1 -413
- package/dist/styles/dock/morph.css +1 -430
- package/dist/styles/dock/overflow.css +1 -292
- package/dist/styles/dock/popover.css +1 -0
- package/dist/styles/dock/search.css +1 -68
- package/dist/styles/dock/section.css +1 -59
- package/dist/styles/dock/shape.css +1 -250
- package/dist/styles/dock/shell-regions.css +1 -0
- package/dist/styles/dock/shell.css +1 -498
- package/dist/styles/dock-controls/dark-mode-toggle.css +1 -122
- package/dist/styles/dock-controls/icon-button.css +1 -189
- package/dist/styles/dock-controls/tab-button.css +1 -143
- package/dist/styles/dock-controls/touch-floor.css +1 -94
- package/dist/styles/dock-controls/triggers.css +1 -157
- package/dist/styles/dock-controls.css +1 -92
- package/dist/styles/dock.css +1 -173
- package/dist/styles/draw-in.css +1 -0
- package/dist/styles/drawer.css +1 -406
- package/dist/styles/feedback-tone.css +1 -104
- package/dist/styles/fonts.css +1 -143
- package/dist/styles/glass/a11y-fallback.css +1 -245
- package/dist/styles/glass/accent-tone.css +1 -66
- package/dist/styles/glass/control-surfaces.css +1 -167
- package/dist/styles/glass/deep.css +1 -44
- package/dist/styles/glass/defined.css +1 -0
- package/dist/styles/glass/glass-atom.css +1 -244
- package/dist/styles/glass/glass-capsule.css +1 -143
- package/dist/styles/glass/glass-chip.css +1 -215
- package/dist/styles/glass/grain-overlay.css +1 -0
- package/dist/styles/glass/ladder-undershadow.css +1 -0
- package/dist/styles/glass/ladder.css +1 -489
- package/dist/styles/glass/liquid-enter.css +1 -252
- package/dist/styles/glass/liquid-fill.css +1 -0
- package/dist/styles/glass/material.css +1 -370
- package/dist/styles/glass/progress-rail.css +1 -78
- package/dist/styles/glass/reveal.css +1 -156
- package/dist/styles/glass/rim.css +1 -122
- package/dist/styles/glass/squircle.css +1 -66
- package/dist/styles/glass/surface-axis.css +1 -113
- package/dist/styles/glass/surfaces-pager.css +1 -0
- package/dist/styles/glass/surfaces.css +1 -411
- package/dist/styles/glass-refract.css +1 -114
- package/dist/styles/glass-specular-track.css +1 -74
- package/dist/styles/glass.css +1 -77
- package/dist/styles/icon-chip.css +1 -256
- package/dist/styles/index.css +1 -260
- package/dist/styles/instrument-chassis.css +1 -453
- package/dist/styles/menu.css +1 -127
- package/dist/styles/paper.css +1 -284
- package/dist/styles/scroll-choreography.css +1 -357
- package/dist/styles/scroll-chrome.css +1 -123
- package/dist/styles/scroll-driven.css +1 -110
- package/dist/styles/scroll-progress-rim.css +1 -0
- package/dist/styles/segmented-tabs.css +1 -447
- package/dist/styles/select.css +1 -201
- package/dist/styles/tabs/segmented-tabs-drag.css +1 -0
- package/dist/styles/theme/bridges.css +1 -380
- package/dist/styles/theme/dark.css +1 -7
- package/dist/styles/theme/literals.css +1 -103
- package/dist/styles/theme/radius.css +1 -117
- package/dist/styles/theme.css +1 -33
- package/dist/styles/tokens/color-radius.css +1 -297
- package/dist/styles/tokens/dark-arm-glass.css +1 -0
- package/dist/styles/tokens/dark-arm.css +1 -462
- package/dist/styles/tokens/glass-deep.css +1 -104
- package/dist/styles/tokens/glass-fx.css +1 -454
- package/dist/styles/tokens/glass.css +1 -412
- package/dist/styles/tokens/light-dark.css +1 -200
- package/dist/styles/tokens/motion-registers.css +1 -0
- package/dist/styles/tokens/offsets.css +1 -143
- package/dist/styles/tokens/on-glass-fg.css +1 -39
- package/dist/styles/tokens/property-regs-specular.css +1 -0
- package/dist/styles/tokens/property-regs.css +1 -566
- package/dist/styles/tokens/scale-paper.css +1 -493
- package/dist/styles/tokens/scheme-motion.css +1 -363
- package/dist/styles/tokens/scheme-spring.css +1 -239
- package/dist/styles/tokens/scroll-tokens.css +1 -123
- package/dist/styles/tokens/shadow.css +1 -226
- package/dist/styles/tokens/sizing-config.css +1 -110
- package/dist/styles/tokens/sizing.css +1 -450
- package/dist/styles/tokens.css +1 -52
- package/dist/styles/transitions.css +1 -263
- package/dist/styles/typography/scale.css +1 -153
- package/dist/styles/typography/semantic.css +1 -233
- package/dist/styles/typography/utilities.css +1 -174
- package/dist/styles/typography.css +1 -46
- package/dist/styles/utilities/a11y-overrides.css +1 -184
- package/dist/styles/utilities/animate.css +0 -29
- package/dist/styles/utilities/base-misc.css +1 -307
- package/dist/styles/utilities/base.css +1 -327
- package/dist/styles/utilities/btn.css +1 -301
- package/dist/styles/utilities/components.css +1 -342
- package/dist/styles/utilities/metal.css +1 -215
- package/dist/styles/utilities.css +1 -26
- package/dist/styles/view-transition.css +1 -67
- package/dist/styles/viz-reveal.css +1 -0
- package/dist/surface.d.ts +1 -0
- package/dist/surface.js +3 -0
- package/dist/switch.d.ts +1 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.js +189 -249
- package/dist/timeline.d.ts +1 -1
- package/dist/timeline.js +199 -183
- package/dist/toast.d.ts +1 -1
- package/dist/toast.js +1 -1
- package/dist/toggle-group.d.ts +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.d.ts +1 -1
- package/dist/typewriter.js +8 -8
- package/dist/useAccentTone-D25DxviG.js +23 -0
- package/dist/useAnimatedNumber-2XC4aRB6.js +40 -0
- package/dist/useConfiguratorState-Dq35N_7t.js +167 -0
- package/dist/useControlSize-DJwe-7ZQ.js +9 -0
- package/dist/useDockCtaReceive-BgMmeINo.js +161 -0
- package/dist/useDocumentVisibility-CpJGUgcJ.js +17 -0
- package/dist/useDragMorph-65ihHePq.js +93 -0
- package/dist/useFuzzySearch-KslRxiJY.js +177 -0
- package/dist/useGooMorph-CU1pwuC6.js +268 -0
- package/dist/useGpuSubstrate-DcY584kE.js +347 -0
- package/dist/useIntersectionPause-Cmt5Tnv9.js +39 -0
- package/dist/useKeyboardShortcuts-ynVmNFo3.js +104 -0
- package/dist/useLeadTrail-DOH4XkL1.js +74 -0
- package/dist/useLiquidPress-BXNHydZh.js +40 -0
- package/dist/useMotionAxis-DCCXMC-i.js +20 -0
- package/dist/usePointerVelocityField-CwXyeW0Z.js +122 -0
- package/dist/useRAFLoop-CvOo_kgb.js +109 -0
- package/dist/useRoutePointer-DL7I0gY4.js +52 -0
- package/dist/useScrollProgress-C-yImzhU.js +35 -0
- package/dist/useSelectionGroup-Btpf24aY.js +215 -0
- package/dist/useSpring-BBSKFx_0.js +41 -0
- package/dist/useSpringMount-CNvvgGiC.js +71 -0
- package/dist/useSpringPress-BypV_KO-.js +36 -0
- package/dist/useSurfaceAxis-DudiZVOR.js +10 -0
- package/dist/useTabRovingFocus-CG1H1k1J.js +143 -0
- package/dist/useTouchGate-BlegwvwL.js +84 -0
- package/dist/useUserInvalidAria-Bkruei7M.js +25 -0
- package/dist/watercolor-dot.d.ts +1 -1
- package/dist/watercolor-dot.js +52 -50
- package/package.json +386 -827
- package/src/styles/animations.css +82 -23
- package/src/styles/card-scroll.css +189 -0
- package/src/styles/cards.css +45 -6
- package/src/styles/completion-seal.css +75 -1
- package/src/styles/configurator.css +63 -1
- package/src/styles/dialog-placement.css +68 -0
- package/src/styles/dock/adaptive-legibility.css +1 -1
- package/src/styles/dock/crossfade.css +139 -0
- package/src/styles/dock/density.css +16 -13
- package/src/styles/dock/dock.css +199 -0
- package/src/styles/dock/fisheye.css +81 -0
- package/src/styles/dock/layer-group.css +37 -41
- package/src/styles/dock/layers.css +46 -21
- package/src/styles/dock/morph.css +41 -16
- package/src/styles/dock/overflow.css +107 -67
- package/src/styles/dock/popover.css +249 -0
- package/src/styles/dock/shape.css +77 -139
- package/src/styles/dock/shell-regions.css +73 -0
- package/src/styles/dock/shell.css +159 -157
- package/src/styles/dock-controls/dark-mode-toggle.css +3 -2
- package/src/styles/dock-controls/icon-button.css +43 -11
- package/src/styles/dock-controls/tab-button.css +2 -2
- package/src/styles/dock-controls/touch-floor.css +25 -0
- package/src/styles/dock.css +60 -14
- package/src/styles/draw-in.css +89 -0
- package/src/styles/drawer.css +77 -41
- package/src/styles/glass/a11y-fallback.css +19 -76
- package/src/styles/glass/control-surfaces.css +20 -16
- package/src/styles/glass/deep.css +74 -4
- package/src/styles/glass/defined.css +88 -0
- package/src/styles/glass/glass-atom.css +23 -20
- package/src/styles/glass/glass-capsule.css +32 -0
- package/src/styles/glass/glass-chip.css +13 -17
- package/src/styles/glass/grain-overlay.css +79 -0
- package/src/styles/glass/ladder-undershadow.css +61 -0
- package/src/styles/glass/ladder.css +96 -133
- package/src/styles/glass/liquid-enter.css +12 -24
- package/src/styles/glass/liquid-fill.css +65 -0
- package/src/styles/glass/material.css +134 -10
- package/src/styles/glass/reveal.css +197 -20
- package/src/styles/glass/squircle.css +18 -26
- package/src/styles/glass/surface-axis.css +24 -1
- package/src/styles/glass/surfaces-pager.css +79 -0
- package/src/styles/glass/surfaces.css +121 -98
- package/src/styles/glass.css +34 -1
- package/src/styles/index.css +54 -26
- package/src/styles/menu.css +66 -6
- package/src/styles/paper.css +105 -202
- package/src/styles/scroll-choreography.css +29 -92
- package/src/styles/scroll-driven.css +18 -5
- package/src/styles/scroll-progress-rim.css +87 -0
- package/src/styles/segmented-tabs.css +67 -88
- package/src/styles/tabs/segmented-tabs-drag.css +200 -0
- package/src/styles/theme/bridges.css +8 -2
- package/src/styles/theme/literals.css +2 -1
- package/src/styles/theme/radius.css +43 -12
- package/src/styles/tokens/color-radius.css +15 -4
- package/src/styles/tokens/dark-arm-glass.css +55 -0
- package/src/styles/tokens/dark-arm.css +62 -69
- package/src/styles/tokens/glass-deep.css +102 -80
- package/src/styles/tokens/glass-fx.css +35 -5
- package/src/styles/tokens/glass.css +144 -78
- package/src/styles/tokens/light-dark.css +20 -4
- package/src/styles/tokens/motion-registers.css +93 -0
- package/src/styles/tokens/property-regs-specular.css +160 -0
- package/src/styles/tokens/property-regs.css +67 -186
- package/src/styles/tokens/scale-paper.css +6 -3
- package/src/styles/tokens/scheme-motion.css +59 -0
- package/src/styles/tokens/scheme-spring.css +146 -93
- package/src/styles/tokens/scroll-tokens.css +25 -11
- package/src/styles/tokens/shadow.css +28 -22
- package/src/styles/tokens/sizing.css +62 -7
- package/src/styles/tokens.css +16 -0
- package/src/styles/transitions.css +108 -143
- package/src/styles/typography/scale.css +10 -0
- package/src/styles/typography/semantic.css +5 -5
- package/src/styles/typography/utilities.css +25 -2
- package/src/styles/utilities/a11y-overrides.css +2 -2
- package/src/styles/utilities/base.css +13 -3
- package/src/styles/utilities/btn.css +29 -3
- package/src/styles/utilities/components.css +16 -21
- package/src/styles/utilities/metal.css +86 -29
- package/src/styles/viz-reveal.css +63 -0
- package/dist/CardAction-DlVP2evz.js +0 -272
- package/dist/CollapsibleContent-D7UNsXQr.js +0 -63
- package/dist/CommandShortcut-By-VQcLO.js +0 -302
- package/dist/ConfiguratorRow-YMXdINHx.js +0 -143
- package/dist/ContextMenuContent-CMWn6huB.js +0 -90
- package/dist/ContextMenuSubContent-DvwWCUc0.js +0 -245
- package/dist/DataTable-C4tG3eIJ.js +0 -512
- package/dist/DialogContent-D8U9ZfWS.js +0 -121
- package/dist/DialogFooter-DoLy0ewI.js +0 -80
- package/dist/DialogScrollContent-BMekN7gq.js +0 -93
- package/dist/FadingScroll-P8B30rAD.js +0 -76
- package/dist/HoverCardContent-DAmGYglo.js +0 -88
- package/dist/HoverPopover-DYpBOzzF.js +0 -96
- package/dist/IconChip-CQa7XZYc.js +0 -57
- package/dist/IconTooltip-_df8M3xm.js +0 -25
- package/dist/Input-CyU4_hIC.js +0 -57
- package/dist/InstrumentChassis-UUJX0-mW.js +0 -65
- package/dist/Label-B_HPqi_q.js +0 -36
- package/dist/MetricBadge-DQt_dGah.js +0 -79
- package/dist/ModalOverlay-DfAf7o15.js +0 -53
- package/dist/Notification-BlSPJhtZ.js +0 -43
- package/dist/NumberFieldContent-Z3VxGu_6.js +0 -140
- package/dist/PagerDots-CYlqVFd4.js +0 -196
- package/dist/PaperBackdrop-DYWgrnh8.js +0 -42
- package/dist/PopoverContent-BuKyHZSz.js +0 -127
- package/dist/Progress-C9SsdwIZ.js +0 -274
- package/dist/ScrollingText-DY3W1Jfh.js +0 -40
- package/dist/SelectGroup-Dcczq44n.js +0 -31
- package/dist/SelectScrollDownButton-3mFHX_R-.js +0 -260
- package/dist/SelectSeparator-CNRGG7Ew.js +0 -49
- package/dist/Separator-Cf9-JFgi.js +0 -44
- package/dist/Switch-uf-UKPA2.js +0 -49
- package/dist/Toaster-ozrsR4mP.js +0 -274
- package/dist/ToggleGroupItem-BpzaVzNm.js +0 -170
- package/dist/TooltipProvider-QQVM_80r.js +0 -109
- package/dist/api/index.d.ts +0 -34
- package/dist/api/types-extra.d.ts +0 -39
- package/dist/api.js +0 -2
- package/dist/badge-Bt14yURi.js +0 -72
- package/dist/border-progress.d.ts +0 -1
- package/dist/border-progress.js +0 -98
- package/dist/button-D1W9PrzI.js +0 -130
- package/dist/chipVariants-BJQ0I2kB.js +0 -18
- package/dist/cn-DJXf4yaB.js +0 -97
- package/dist/coalesceMetric-5qIeZnTx.js +0 -13
- package/dist/color-B9jZdhJX.js +0 -116
- package/dist/components/custom/aurora/Aurora.vue.d.ts +0 -101
- package/dist/components/custom/aurora/composables/atoms-fields.d.ts +0 -39
- package/dist/components/custom/aurora/composables/atoms.d.ts +0 -142
- package/dist/components/custom/aurora/composables/color.d.ts +0 -93
- package/dist/components/custom/aurora/composables/cursorModel.d.ts +0 -78
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +0 -39
- package/dist/components/custom/aurora/composables/glSetup.d.ts +0 -29
- package/dist/components/custom/aurora/composables/runtime.d.ts +0 -127
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +0 -100
- package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +0 -60
- package/dist/components/custom/aurora/composables/useAurora.d.ts +0 -86
- package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +0 -33
- package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +0 -37
- package/dist/components/custom/aurora/constants/presets.d.ts +0 -258
- package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +0 -1
- package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +0 -1
- package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +0 -1
- package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +0 -1
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +0 -2
- package/dist/components/custom/aurora/index.d.ts +0 -13
- package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +0 -46
- package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +0 -25
- package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +0 -18
- package/dist/components/custom/border-progress/constants.d.ts +0 -59
- package/dist/components/custom/border-progress/index.d.ts +0 -4
- package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +0 -21
- package/dist/components/custom/completion-seal/constants.d.ts +0 -46
- package/dist/components/custom/concentric/Concentric.vue.d.ts +0 -42
- package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +0 -23
- package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +0 -26
- package/dist/components/custom/concentric/composables/levelField.d.ts +0 -50
- package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +0 -17
- package/dist/components/custom/concentric/composables/useConcentric.d.ts +0 -35
- package/dist/components/custom/concentric/constants.d.ts +0 -88
- package/dist/components/custom/concentric/index.d.ts +0 -5
- package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +0 -4
- package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +0 -1
- package/dist/components/custom/configurator/Configurator.vue.d.ts +0 -160
- package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +0 -79
- package/dist/components/custom/configurator/density.d.ts +0 -25
- package/dist/components/custom/configurator/index.d.ts +0 -6
- package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +0 -32
- package/dist/components/custom/confirm-dialog/index.d.ts +0 -1
- package/dist/components/custom/constellation/Constellation.vue.d.ts +0 -33
- package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +0 -10
- package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +0 -19
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +0 -19
- package/dist/components/custom/constellation/constants.d.ts +0 -94
- package/dist/components/custom/constellation/constellationTypes.d.ts +0 -407
- package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +0 -46
- package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +0 -30
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +0 -72
- package/dist/components/custom/dock/DockLayer.vue.d.ts +0 -34
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +0 -51
- package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +0 -19
- package/dist/components/custom/dock/DockSelectTrigger.vue.d.ts +0 -29
- package/dist/components/custom/dock/DockStack.vue.d.ts +0 -78
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +0 -39
- package/dist/components/custom/dock/GlassDock.vue.d.ts +0 -47
- package/dist/components/custom/dock/composables/dockContext.d.ts +0 -47
- package/dist/components/custom/dock/composables/dockLayerContext.d.ts +0 -36
- package/dist/components/custom/dock/composables/dockMorphContext.d.ts +0 -79
- package/dist/components/custom/dock/composables/index.d.ts +0 -14
- package/dist/components/custom/dock/composables/railProjection.d.ts +0 -45
- package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +0 -192
- package/dist/components/custom/dock/composables/useDockFission.d.ts +0 -158
- package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +0 -18
- package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +0 -15
- package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +0 -44
- package/dist/components/custom/dock/composables/useDockSearch.d.ts +0 -85
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +0 -214
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +0 -90
- package/dist/components/custom/dock/constants.d.ts +0 -98
- package/dist/components/custom/dock/index.d.ts +0 -24
- package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +0 -42
- package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +0 -104
- package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +0 -8
- package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +0 -9
- package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +0 -12
- package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +0 -7
- package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +0 -65
- package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +0 -35
- package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +0 -32
- package/dist/components/custom/dot-flow-field/constants.d.ts +0 -120
- package/dist/components/custom/dot-flow-field/index.d.ts +0 -5
- package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +0 -1
- package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +0 -33
- package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +0 -2
- package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +0 -43
- package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +0 -89
- package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -61
- package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +0 -34
- package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +0 -34
- package/dist/components/custom/dot-matrix/constants.d.ts +0 -72
- package/dist/components/custom/dot-matrix/index.d.ts +0 -5
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +0 -4
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +0 -1
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +0 -71
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +0 -58
- package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +0 -24
- package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +0 -31
- package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +0 -56
- package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +0 -63
- package/dist/components/custom/fourier-field/constants.d.ts +0 -117
- package/dist/components/custom/fourier-field/index.d.ts +0 -31
- package/dist/components/custom/fourier-field/math.d.ts +0 -86
- package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +0 -4
- package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +0 -1
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +0 -49
- package/dist/components/custom/glass-panel/index.d.ts +0 -2
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +0 -71
- package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +0 -41
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +0 -62
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +0 -69
- package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +0 -23
- package/dist/components/custom/goo-blob/constants.d.ts +0 -82
- package/dist/components/custom/goo-blob/index.d.ts +0 -7
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +0 -1
- package/dist/components/custom/goo-blob/types.d.ts +0 -244
- package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +0 -49
- package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +0 -24
- package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +0 -79
- package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +0 -45
- package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +0 -31
- package/dist/components/custom/goo-dot-matrix/constants.d.ts +0 -115
- package/dist/components/custom/goo-dot-matrix/index.d.ts +0 -5
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +0 -13
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +0 -4
- package/dist/components/custom/handmark/composables/useHandMark.d.ts +0 -89
- package/dist/components/custom/handmark/constants.d.ts +0 -59
- package/dist/components/custom/handmark/geometry.d.ts +0 -85
- package/dist/components/custom/handmark/types.d.ts +0 -62
- package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +0 -31
- package/dist/components/custom/header-ribbon/index.d.ts +0 -2
- package/dist/components/custom/header-ribbon/types.d.ts +0 -7
- package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +0 -132
- package/dist/components/custom/hover-popover/index.d.ts +0 -1
- package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +0 -40
- package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +0 -108
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +0 -120
- package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +0 -39
- package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +0 -42
- package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +0 -105
- package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +0 -18
- package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +0 -21
- package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +0 -16
- package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +0 -31
- package/dist/components/custom/paper-grid/constants.d.ts +0 -95
- package/dist/components/custom/paper-grid/index.d.ts +0 -5
- package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +0 -4
- package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +0 -1
- package/dist/components/custom/scrolling-text/ScrollingText.vue.d.ts +0 -20
- package/dist/components/custom/scrolling-text/index.d.ts +0 -1
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +0 -22
- package/dist/components/custom/search/SearchBar.vue.d.ts +0 -38
- package/dist/components/custom/search/searchVariants.d.ts +0 -19
- package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +0 -50
- package/dist/components/custom/selectable-chip/chipVariants.d.ts +0 -39
- package/dist/components/custom/selectable-chip/index.d.ts +0 -2
- package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +0 -15
- package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +0 -38
- package/dist/components/custom/sortable-list/SortableItem.vue.d.ts +0 -38
- package/dist/components/custom/sortable-list/SortableList.vue.d.ts +0 -76
- package/dist/components/custom/sortable-list/context.d.ts +0 -25
- package/dist/components/custom/sortable-list/index.d.ts +0 -4
- package/dist/components/custom/split-chars/SplitChars.vue.d.ts +0 -39
- package/dist/components/custom/stacked-icons/types.d.ts +0 -18
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +0 -99
- package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +0 -42
- package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +0 -58
- package/dist/components/custom/tabs/constants.d.ts +0 -44
- package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +0 -49
- package/dist/components/custom/timeline/GlassTimeline.vue.d.ts +0 -114
- package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +0 -41
- package/dist/components/custom/toggle-chip/index.d.ts +0 -28
- package/dist/components/custom/watercolor-dot/prng.d.ts +0 -5
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +0 -29
- package/dist/components/ui/_shared/index.d.ts +0 -6
- package/dist/components/ui/_shared/menuItemVariants.d.ts +0 -51
- package/dist/components/ui/_shared/useControlSize.d.ts +0 -46
- package/dist/components/ui/_shared/useSurfaceAxis.d.ts +0 -55
- package/dist/components/ui/alert/Alert.vue.d.ts +0 -19
- package/dist/components/ui/alert/index.d.ts +0 -8
- package/dist/components/ui/avatar/Avatar.vue.d.ts +0 -23
- package/dist/components/ui/avatar/index.d.ts +0 -9
- package/dist/components/ui/badge/Badge.vue.d.ts +0 -34
- package/dist/components/ui/badge/index.d.ts +0 -8
- package/dist/components/ui/button/Button.vue.d.ts +0 -29
- package/dist/components/ui/button/index.d.ts +0 -7
- package/dist/components/ui/card/Card.vue.d.ts +0 -168
- package/dist/components/ui/card/CardHeader.vue.d.ts +0 -81
- package/dist/components/ui/card/ScrollCard.vue.d.ts +0 -33
- package/dist/components/ui/carousel/Carousel.vue.d.ts +0 -37
- package/dist/components/ui/carousel/CarouselContent.vue.d.ts +0 -14
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +0 -22
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +0 -22
- package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +0 -50
- package/dist/components/ui/carousel/useCarousel.d.ts +0 -20
- package/dist/components/ui/combobox/Combobox.vue.d.ts +0 -29
- package/dist/components/ui/combobox/ComboboxList.vue.d.ts +0 -32
- package/dist/components/ui/command/index.d.ts +0 -9
- package/dist/components/ui/context-menu/ContextMenu.vue.d.ts +0 -18
- package/dist/components/ui/context-menu/ContextMenuCheckboxItem.vue.d.ts +0 -24
- package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +0 -34
- package/dist/components/ui/context-menu/ContextMenuItem.vue.d.ts +0 -23
- package/dist/components/ui/context-menu/ContextMenuLabel.vue.d.ts +0 -19
- package/dist/components/ui/context-menu/ContextMenuRadioGroup.vue.d.ts +0 -18
- package/dist/components/ui/context-menu/ContextMenuRadioItem.vue.d.ts +0 -22
- package/dist/components/ui/context-menu/ContextMenuSeparator.vue.d.ts +0 -8
- package/dist/components/ui/context-menu/ContextMenuShortcut.vue.d.ts +0 -17
- package/dist/components/ui/context-menu/ContextMenuSubContent.vue.d.ts +0 -34
- package/dist/components/ui/context-menu/ContextMenuSubTrigger.vue.d.ts +0 -19
- package/dist/components/ui/context-menu/ContextMenuTrigger.vue.d.ts +0 -14
- package/dist/components/ui/context-menu/index.d.ts +0 -12
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +0 -93
- package/dist/components/ui/drawer/Drawer.vue.d.ts +0 -86
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +0 -47
- package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +0 -17
- package/dist/components/ui/drawer/constants.d.ts +0 -47
- package/dist/components/ui/drawer/index.d.ts +0 -35
- package/dist/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +0 -18
- package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +0 -36
- package/dist/components/ui/dropdown-menu/index.d.ts +0 -15
- package/dist/components/ui/hover-card/HoverCard.vue.d.ts +0 -18
- package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +0 -23
- package/dist/components/ui/hover-card/HoverCardTrigger.vue.d.ts +0 -14
- package/dist/components/ui/hover-card/index.d.ts +0 -3
- package/dist/components/ui/index.d.ts +0 -41
- package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +0 -46
- package/dist/components/ui/metric-pill/index.d.ts +0 -1
- package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +0 -28
- package/dist/components/ui/multi-select/index.d.ts +0 -7
- package/dist/components/ui/notification/Notification.vue.d.ts +0 -16
- package/dist/components/ui/popover/Popover.vue.d.ts +0 -18
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +0 -42
- package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +0 -14
- package/dist/components/ui/progress/Progress.vue.d.ts +0 -49
- package/dist/components/ui/progress/index.d.ts +0 -5
- package/dist/components/ui/select/SelectContent.vue.d.ts +0 -42
- package/dist/components/ui/sheet/Sheet.vue.d.ts +0 -18
- package/dist/components/ui/sheet/SheetClose.vue.d.ts +0 -14
- package/dist/components/ui/sheet/SheetContent.vue.d.ts +0 -59
- package/dist/components/ui/sheet/SheetDescription.vue.d.ts +0 -18
- package/dist/components/ui/sheet/SheetFooter.vue.d.ts +0 -17
- package/dist/components/ui/sheet/SheetHeader.vue.d.ts +0 -17
- package/dist/components/ui/sheet/SheetTitle.vue.d.ts +0 -18
- package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +0 -14
- package/dist/components/ui/sheet/index.d.ts +0 -13
- package/dist/components/ui/slider/Slider.vue.d.ts +0 -37
- package/dist/components/ui/slider/index.d.ts +0 -46
- package/dist/components/ui/tabs/Tabs.vue.d.ts +0 -19
- package/dist/components/ui/tabs/TabsContent.vue.d.ts +0 -18
- package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +0 -11
- package/dist/components/ui/tabs/TabsList.vue.d.ts +0 -28
- package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +0 -18
- package/dist/components/ui/tabs/index.d.ts +0 -5
- package/dist/components/ui/toast/Toast.vue.d.ts +0 -107
- package/dist/components/ui/toast/index.d.ts +0 -9
- package/dist/components/ui/toast/use-toast.d.ts +0 -182
- package/dist/components/ui/toggle/Toggle.vue.d.ts +0 -29
- package/dist/components/ui/toggle/index.d.ts +0 -26
- package/dist/composables/glass/useGlassRenderer.d.ts +0 -44
- package/dist/composables/glass/useVizChoreography.d.ts +0 -123
- package/dist/composables/motion/core/useHaptic.d.ts +0 -48
- package/dist/composables/motion/useCelebrationBurst.d.ts +0 -50
- package/dist/composables/motion/useLiquidMorph.d.ts +0 -108
- package/dist/composables/motion/useMorphField.d.ts +0 -157
- package/dist/composables/sortable/dragController.d.ts +0 -44
- package/dist/composables/sortable/types.d.ts +0 -133
- package/dist/composables/sortable/useSortable.d.ts +0 -34
- package/dist/concentric.d.ts +0 -1
- package/dist/concentric.js +0 -805
- package/dist/confirm-dialog.d.ts +0 -1
- package/dist/confirm-dialog.js +0 -82
- package/dist/context-menu.d.ts +0 -1
- package/dist/context-menu.js +0 -3
- package/dist/createCanvasLifecycle-CuCrGRfq.js +0 -173
- package/dist/dockContext-gFVS2gMg.js +0 -18
- package/dist/dot-flow-field.d.ts +0 -1
- package/dist/dot-flow-field.js +0 -1485
- package/dist/dot-matrix.d.ts +0 -1
- package/dist/dot-matrix.js +0 -774
- package/dist/dotMatrixField-CRO0ZFk4.js +0 -48
- package/dist/dropdown-menu-CCfcCQ68.js +0 -369
- package/dist/glass-panel.d.ts +0 -1
- package/dist/glass-panel.js +0 -113
- package/dist/goo-blob.d.ts +0 -1
- package/dist/goo-blob.js +0 -348
- package/dist/goo-dot-matrix.d.ts +0 -1
- package/dist/goo-dot-matrix.js +0 -811
- package/dist/hover-card.d.ts +0 -1
- package/dist/hover-card.js +0 -2
- package/dist/hover-popover.d.ts +0 -1
- package/dist/hover-popover.js +0 -2
- package/dist/math-5RcIgCB4.js +0 -51
- package/dist/menuItemVariants-DAXquKja.js +0 -36
- package/dist/paper-grid.d.ts +0 -1
- package/dist/paper-grid.js +0 -761
- package/dist/paperGrid-CXCSMbZ1.js +0 -191
- package/dist/presets-QvYgnFIZ.js +0 -85
- package/dist/prng-B5tIXTtj.js +0 -15
- package/dist/resolveCanvasColor-DsSJk06I.js +0 -93
- package/dist/scrolling-text.d.ts +0 -1
- package/dist/scrolling-text.js +0 -2
- package/dist/selectable-chip.d.ts +0 -1
- package/dist/selectable-chip.js +0 -48
- package/dist/sheet-DUCIoOe0.js +0 -218
- package/dist/sheet.d.ts +0 -1
- package/dist/sheet.js +0 -2
- package/dist/slider-CcICPe3u.js +0 -149
- package/dist/spectrum-walk-cBNSx_zm.js +0 -33
- package/dist/springPresets-DfoQ6XRY.js +0 -64
- package/dist/styles/border-progress.css +0 -109
- package/dist/styles/critical-partition.mjs +0 -195
- package/dist/styles/critical.css +0 -12
- package/dist/styles/deferred.css +0 -35
- package/dist/styles/dock/fission-bridge.css +0 -552
- package/dist/styles/dock/morph-bridge.css +0 -172
- package/dist/styles/dock/stack-rail.css +0 -352
- package/dist/styles/floating-panel.css +0 -51
- package/dist/styles/glass/liquid-morph.css +0 -850
- package/dist/styles/hover-popover.css +0 -47
- package/dist/styles/jubilance.css +0 -65
- package/dist/styles/motion/morph-field.css +0 -229
- package/dist/toggle-chip.d.ts +0 -1
- package/dist/toggle-chip.js +0 -46
- package/dist/uniformBridgeWGPU-BCse1SHU.js +0 -1268
- package/dist/useAnimatedNumber-BntskVdQ.js +0 -40
- package/dist/useConfiguratorState-22BcULzF.js +0 -164
- package/dist/useControlSize-DAZ062x7.js +0 -9
- package/dist/useDockCtaReceive-DX7RDb6_.js +0 -88
- package/dist/useDragMorph-DGLSewwB.js +0 -102
- package/dist/useFuzzySearch-0fTYOhS4.js +0 -177
- package/dist/useGooMorph-Cs13NgYL.js +0 -104
- package/dist/useGpuSubstrate-Ceet70xq.js +0 -347
- package/dist/useHaptic-CPz5BT9I.js +0 -134
- package/dist/useIntersectionPause-DO8Vl4gs.js +0 -53
- package/dist/useKeyboardShortcuts-BEut54Tk.js +0 -99
- package/dist/useLiquidPress-CtOQ8Z0_.js +0 -43
- package/dist/useMorphField-ogBM7ubT.js +0 -141
- package/dist/usePointerVelocityField-BrkqZFhj.js +0 -91
- package/dist/useScrollChrome-JuImi1DM.js +0 -258
- package/dist/useScrollProgress-A0M6qRl7.js +0 -35
- package/dist/useSortable-DQV_UNDw.js +0 -246
- package/dist/useSpring-C0jyvEJB.js +0 -40
- package/dist/useSpringMount-DFxtzmkR.js +0 -71
- package/dist/useSpringPress-VM9RgVq3.js +0 -36
- package/dist/useSurfaceAxis-Ci7Dnaw2.js +0 -7
- package/dist/useTouchGate-B1Lf9XqN.js +0 -84
- package/dist/useUserInvalidAria-EmmwWPOl.js +0 -29
- package/dist/utils/cn.d.ts +0 -27
- package/dist/utils/index.d.ts +0 -4
- package/dist/utils/moveBefore.d.ts +0 -15
- package/dist/utils/platformSupport.d.ts +0 -8
- package/dist/vendor-B2qOlYY3.js +0 -239
- package/dist/virtual.d.ts +0 -1
- package/dist/virtual.js +0 -225
- package/src/styles/border-progress.css +0 -109
- package/src/styles/critical-partition.mjs +0 -195
- package/src/styles/dock/fission-bridge.css +0 -552
- package/src/styles/dock/morph-bridge.css +0 -172
- package/src/styles/dock/stack-rail.css +0 -352
- package/src/styles/floating-panel.css +0 -49
- package/src/styles/glass/liquid-morph.css +0 -850
- package/src/styles/hover-popover.css +0 -45
- package/src/styles/jubilance.css +0 -65
- package/src/styles/motion/morph-field.css +0 -229
- /package/dist/{_plugin-vue_export-helper-gLzyemvl.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
- /package/dist/{compile-INR_tPk_.js → compile-C55K3P9g.js} +0 -0
- /package/dist/components/{ui/_shared → _shared}/ModalOverlay.vue.d.ts +0 -0
- /package/dist/components/{ui/_shared → _shared}/useStalePropWarning.d.ts +0 -0
- /package/dist/components/{ui/accordion → accordion}/Accordion.vue.d.ts +0 -0
- /package/dist/components/{ui/accordion → accordion}/AccordionContent.vue.d.ts +0 -0
- /package/dist/components/{ui/accordion → accordion}/AccordionItem.vue.d.ts +0 -0
- /package/dist/components/{ui/accordion → accordion}/AccordionTrigger.vue.d.ts +0 -0
- /package/dist/components/{ui/accordion → accordion}/index.d.ts +0 -0
- /package/dist/components/{ui/alert → alert}/AlertDescription.vue.d.ts +0 -0
- /package/dist/components/{ui/alert → alert}/AlertTitle.vue.d.ts +0 -0
- /package/dist/components/{custom/animated-digit → animated-digit}/AnimatedDigit.vue.d.ts +0 -0
- /package/dist/components/{custom/animated-digit → animated-digit}/index.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/composables/auroraFallbackGround.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/composables/configSource.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/constants/budget.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/constants/renderMode.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.frag.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/constants/shaders/aurora.vert.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/constants/shaders/composition.glsl.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/constants/shaders/oil-modes.glsl.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/constants/shaders/procedural-color.wgsl.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/constants/shaders/tonemap.glsl.d.ts +0 -0
- /package/dist/components/{custom/aurora → aurora}/constants/shaders/vangogh-medium.glsl.d.ts +0 -0
- /package/dist/components/{ui/avatar → avatar}/AvatarFallback.vue.d.ts +0 -0
- /package/dist/components/{ui/avatar → avatar}/AvatarImage.vue.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/composables/buildMetaballProgram.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/composables/easing.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/composables/uniformBridgeWGPU.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/composables/useBlobMood.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/composables/useBlobSatellites.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-noise.wgsl.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/shaders/metaball-palette.wgsl.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.frag.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.vert.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/shaders/metaball.wgsl.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/shaders/oklch-perturb.glsl.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/shaders/sdf-body.glsl.d.ts +0 -0
- /package/dist/components/{custom/goo-blob → blob}/shaders/watercolor-edges.glsl.d.ts +0 -0
- /package/dist/components/{ui/card → card}/CardAction.vue.d.ts +0 -0
- /package/dist/components/{ui/card → card}/CardContent.vue.d.ts +0 -0
- /package/dist/components/{ui/card → card}/CardDescription.vue.d.ts +0 -0
- /package/dist/components/{ui/card → card}/CardFooter.vue.d.ts +0 -0
- /package/dist/components/{ui/card → card}/CardTitle.vue.d.ts +0 -0
- /package/dist/components/{ui/card → card}/ScrollCardHeader.vue.d.ts +0 -0
- /package/dist/components/{ui/card → card}/index.d.ts +0 -0
- /package/dist/components/{ui/carousel → carousel}/CarouselItem.vue.d.ts +0 -0
- /package/dist/components/{ui/carousel → carousel}/CarouselPager.vue.d.ts +0 -0
- /package/dist/components/{ui/carousel → carousel}/index.d.ts +0 -0
- /package/dist/components/{ui/carousel → carousel}/interface.d.ts +0 -0
- /package/dist/components/{ui/checkbox → checkbox}/Checkbox.vue.d.ts +0 -0
- /package/dist/components/{ui/checkbox → checkbox}/index.d.ts +0 -0
- /package/dist/components/{ui/collapsible → collapsible}/Collapsible.vue.d.ts +0 -0
- /package/dist/components/{ui/collapsible → collapsible}/CollapsibleContent.vue.d.ts +0 -0
- /package/dist/components/{ui/collapsible → collapsible}/CollapsibleTrigger.vue.d.ts +0 -0
- /package/dist/components/{ui/collapsible → collapsible}/index.d.ts +0 -0
- /package/dist/components/{custom/color-swatch → color-swatch}/ColorSwatch.vue.d.ts +0 -0
- /package/dist/components/{custom/color-swatch → color-swatch}/index.d.ts +0 -0
- /package/dist/components/{ui/combobox → combobox}/ComboboxAnchor.vue.d.ts +0 -0
- /package/dist/components/{ui/combobox → combobox}/ComboboxEmpty.vue.d.ts +0 -0
- /package/dist/components/{ui/combobox → combobox}/ComboboxGroup.vue.d.ts +0 -0
- /package/dist/components/{ui/combobox → combobox}/ComboboxInput.vue.d.ts +0 -0
- /package/dist/components/{ui/combobox → combobox}/ComboboxItem.vue.d.ts +0 -0
- /package/dist/components/{ui/combobox → combobox}/ComboboxItemIndicator.vue.d.ts +0 -0
- /package/dist/components/{ui/combobox → combobox}/ComboboxSeparator.vue.d.ts +0 -0
- /package/dist/components/{ui/combobox → combobox}/ComboboxViewport.vue.d.ts +0 -0
- /package/dist/components/{ui/combobox → combobox}/index.d.ts +0 -0
- /package/dist/components/{ui/command → command}/Command.vue.d.ts +0 -0
- /package/dist/components/{ui/command → command}/CommandDialog.vue.d.ts +0 -0
- /package/dist/components/{ui/command → command}/CommandEmpty.vue.d.ts +0 -0
- /package/dist/components/{ui/command → command}/CommandGroup.vue.d.ts +0 -0
- /package/dist/components/{ui/command → command}/CommandInput.vue.d.ts +0 -0
- /package/dist/components/{ui/command → command}/CommandItem.vue.d.ts +0 -0
- /package/dist/components/{ui/command → command}/CommandList.vue.d.ts +0 -0
- /package/dist/components/{ui/command → command}/CommandSeparator.vue.d.ts +0 -0
- /package/dist/components/{ui/command → command}/CommandShortcut.vue.d.ts +0 -0
- /package/dist/components/{custom/completion-seal → completion-seal}/composables/useCompletionSeal.d.ts +0 -0
- /package/dist/components/{custom/completion-seal → completion-seal}/index.d.ts +0 -0
- /package/dist/components/{custom/configurator → configurator}/ConfiguratorLayer.vue.d.ts +0 -0
- /package/dist/components/{custom/configurator → configurator}/useConfiguratorState.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/composables/createConstellationField.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/composables/uniformBridgeWGPU.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/constellationField.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/constellationInteraction.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/constellationRender.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/constellationWell.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/index.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/shaders/constellation-lines.glsl.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/shaders/constellation-lines.wgsl.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/shaders/constellation-points.glsl.d.ts +0 -0
- /package/dist/components/{custom/constellation → constellation}/shaders/constellation-points.wgsl.d.ts +0 -0
- /package/dist/components/{custom/controls → controls}/DarkModeToggle.vue.d.ts +0 -0
- /package/dist/components/{custom/controls → controls}/index.d.ts +0 -0
- /package/dist/components/{ui/data-table → data-table}/DataTable.vue.d.ts +0 -0
- /package/dist/components/{ui/data-table → data-table}/DataTablePagination.vue.d.ts +0 -0
- /package/dist/components/{ui/data-table → data-table}/composables/useDataTableResponsive.d.ts +0 -0
- /package/dist/components/{ui/data-table → data-table}/composables/useDataTableRowIdentity.d.ts +0 -0
- /package/dist/components/{ui/data-table → data-table}/index.d.ts +0 -0
- /package/dist/components/{ui/data-table → data-table}/types.d.ts +0 -0
- /package/dist/components/{custom/deck → deck}/DeckPager.vue.d.ts +0 -0
- /package/dist/components/{custom/deck → deck}/composables/useDeck.d.ts +0 -0
- /package/dist/components/{custom/deck → deck}/composables/useDeckKeyboard.d.ts +0 -0
- /package/dist/components/{custom/deck → deck}/composables/useDeckSpring.d.ts +0 -0
- /package/dist/components/{custom/deck → deck}/constants.d.ts +0 -0
- /package/dist/components/{custom/deck → deck}/index.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/Dialog.vue.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/DialogClose.vue.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/DialogDescription.vue.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/DialogFooter.vue.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/DialogHeader.vue.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/DialogScrollContent.vue.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/DialogTitle.vue.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/DialogTrigger.vue.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/index.d.ts +0 -0
- /package/dist/components/{custom/dock → dock}/DockSection.vue.d.ts +0 -0
- /package/dist/components/{custom/dock → dock}/DockSeparator.vue.d.ts +0 -0
- /package/dist/components/{custom/dock → dock}/composables/dockMorphMeasure.d.ts +0 -0
- /package/dist/components/{custom/dock → dock}/composables/isTeleportedTarget.d.ts +0 -0
- /package/dist/components/{custom/dock → dock}/composables/useDockClickIntegrity.d.ts +0 -0
- /package/dist/components/{custom/dock → dock}/composables/useDockHold.d.ts +0 -0
- /package/dist/components/{custom/dock → dock}/composables/useDockState.d.ts +0 -0
- /package/dist/components/{ui/drawer → drawer}/DrawerDescription.vue.d.ts +0 -0
- /package/dist/components/{ui/drawer → drawer}/DrawerFooter.vue.d.ts +0 -0
- /package/dist/components/{ui/drawer → drawer}/DrawerHeader.vue.d.ts +0 -0
- /package/dist/components/{ui/drawer → drawer}/DrawerOverlay.vue.d.ts +0 -0
- /package/dist/components/{ui/drawer → drawer}/DrawerTitle.vue.d.ts +0 -0
- /package/dist/components/{ui/drawer → drawer}/composables/drawerSnapContext.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuCheckboxItem.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuGroup.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuItem.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuLabel.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioGroup.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuRadioItem.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSeparator.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuShortcut.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSub.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubContent.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuSubTrigger.vue.d.ts +0 -0
- /package/dist/components/{ui/dropdown-menu → dropdown-menu}/DropdownMenuTrigger.vue.d.ts +0 -0
- /package/dist/components/{custom/easing → easing}/EasingConfigurator.vue.d.ts +0 -0
- /package/dist/components/{custom/easing → easing}/EasingPicker.vue.d.ts +0 -0
- /package/dist/components/{custom/easing → easing}/composables/useEasingPicker.d.ts +0 -0
- /package/dist/components/{custom/easing → easing}/constants.d.ts +0 -0
- /package/dist/components/{custom/easing → easing}/index.d.ts +0 -0
- /package/dist/components/{custom/expandable-container → expandable-container}/index.d.ts +0 -0
- /package/dist/components/{custom/fading-scroll → fading-scroll}/FadingScroll.vue.d.ts +0 -0
- /package/dist/components/{custom/fading-scroll → fading-scroll}/composables/useFadingScroll.d.ts +0 -0
- /package/dist/components/{custom/fading-scroll → fading-scroll}/constants.d.ts +0 -0
- /package/dist/components/{custom/fading-scroll → fading-scroll}/index.d.ts +0 -0
- /package/dist/components/{ui/focus-scope → focus-scope}/FocusScope.vue.d.ts +0 -0
- /package/dist/components/{ui/focus-scope → focus-scope}/index.d.ts +0 -0
- /package/dist/components/{custom/fourier-field → fourier-field}/presets.d.ts +0 -0
- /package/dist/components/{custom/fourier-field → fourier-field}/shaders/fourier-field.compute.wgsl.d.ts +0 -0
- /package/dist/components/{custom/goo-filter → goo-filter}/GooFilter.vue.d.ts +0 -0
- /package/dist/components/{custom/goo-filter → goo-filter}/index.d.ts +0 -0
- /package/dist/components/{custom/handmark → handmark}/HandMark.vue.d.ts +0 -0
- /package/dist/components/{custom/handmark → handmark}/brush.d.ts +0 -0
- /package/dist/components/{custom/handmark → handmark}/freehand.d.ts +0 -0
- /package/dist/components/{custom/handmark → handmark}/index.d.ts +0 -0
- /package/dist/components/{custom/handmark → handmark}/ink.d.ts +0 -0
- /package/dist/components/{custom/handmark → handmark}/texture.d.ts +0 -0
- /package/dist/components/{custom/icon-chip → icon-chip}/IconChip.vue.d.ts +0 -0
- /package/dist/components/{custom/icon-chip → icon-chip}/index.d.ts +0 -0
- /package/dist/components/{custom/icon-chip → icon-chip}/types.d.ts +0 -0
- /package/dist/components/{custom/icon-tooltip → icon-tooltip}/IconTooltip.vue.d.ts +0 -0
- /package/dist/components/{custom/icon-tooltip → icon-tooltip}/index.d.ts +0 -0
- /package/dist/components/{custom/infinite-scroll → infinite-scroll}/InfiniteScroll.vue.d.ts +0 -0
- /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/index.d.ts +0 -0
- /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/types.d.ts +0 -0
- /package/dist/components/{custom/infinite-scroll → infinite-scroll}/composables/useInfiniteScroll.d.ts +0 -0
- /package/dist/components/{custom/infinite-scroll → infinite-scroll}/index.d.ts +0 -0
- /package/dist/components/{ui/input → input}/Input.vue.d.ts +0 -0
- /package/dist/components/{ui/input → input}/index.d.ts +0 -0
- /package/dist/components/{custom/instrument-chassis → instrument-chassis}/ChassisDivider.vue.d.ts +0 -0
- /package/dist/components/{custom/instrument-chassis → instrument-chassis}/InstrumentChassis.vue.d.ts +0 -0
- /package/dist/components/{custom/instrument-chassis → instrument-chassis}/index.d.ts +0 -0
- /package/dist/components/{ui/label → label}/Label.vue.d.ts +0 -0
- /package/dist/components/{ui/label → label}/index.d.ts +0 -0
- /package/dist/components/{custom/labeled-field → labeled-field}/LabeledField.vue.d.ts +0 -0
- /package/dist/components/{custom/labeled-field → labeled-field}/LabeledInput.vue.d.ts +0 -0
- /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSelect.vue.d.ts +0 -0
- /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSlider.vue.d.ts +0 -0
- /package/dist/components/{custom/labeled-field → labeled-field}/LabeledSwitch.vue.d.ts +0 -0
- /package/dist/components/{custom/labeled-field → labeled-field}/index.d.ts +0 -0
- /package/dist/{utils/coalesceMetric.d.ts → components/metric/coalesce-metric.d.ts} +0 -0
- /package/dist/components/{custom/metric-badge → metric-badge}/index.d.ts +0 -0
- /package/dist/components/{custom/metric-cell → metric-cell}/index.d.ts +0 -0
- /package/dist/components/{custom/metric-stack → metric-stack}/MetricStack.vue.d.ts +0 -0
- /package/dist/components/{custom/metric-stack → metric-stack}/index.d.ts +0 -0
- /package/dist/components/{ui/notification → notification}/index.d.ts +0 -0
- /package/dist/components/{ui/number-field → number-field}/NumberField.vue.d.ts +0 -0
- /package/dist/components/{ui/number-field → number-field}/NumberFieldContent.vue.d.ts +0 -0
- /package/dist/components/{ui/number-field → number-field}/NumberFieldDecrement.vue.d.ts +0 -0
- /package/dist/components/{ui/number-field → number-field}/NumberFieldIncrement.vue.d.ts +0 -0
- /package/dist/components/{ui/number-field → number-field}/NumberFieldInput.vue.d.ts +0 -0
- /package/dist/components/{ui/number-field → number-field}/index.d.ts +0 -0
- /package/dist/components/{custom/pager-dots → pager-dots}/PagerDots.vue.d.ts +0 -0
- /package/dist/components/{custom/pager-dots → pager-dots}/index.d.ts +0 -0
- /package/dist/components/{custom/pager-dots → pager-dots}/pagerWindow.d.ts +0 -0
- /package/dist/components/{custom/paper-backdrop → paper-backdrop}/index.d.ts +0 -0
- /package/dist/components/{ui/popover → popover}/index.d.ts +0 -0
- /package/dist/components/{ui/progress → progress}/ProgressDefault.vue.d.ts +0 -0
- /package/dist/components/{ui/progress → progress}/ProgressGradient.vue.d.ts +0 -0
- /package/dist/components/{ui/progress → progress}/ProgressSectioned.vue.d.ts +0 -0
- /package/dist/components/{ui/progress → progress}/useProgressGeometry.d.ts +0 -0
- /package/dist/components/{custom/pulse → pulse}/Pulse.vue.d.ts +0 -0
- /package/dist/components/{custom/pulse → pulse}/index.d.ts +0 -0
- /package/dist/components/{ui/radio-group → radio-group}/RadioGroup.vue.d.ts +0 -0
- /package/dist/components/{ui/radio-group → radio-group}/RadioGroupItem.vue.d.ts +0 -0
- /package/dist/components/{ui/radio-group → radio-group}/index.d.ts +0 -0
- /package/dist/components/{custom/search → search}/composables/fuzzySearchIndex.d.ts +0 -0
- /package/dist/components/{custom/search → search}/composables/index.d.ts +0 -0
- /package/dist/components/{custom/search → search}/composables/types.d.ts +0 -0
- /package/dist/components/{custom/search → search}/composables/useFuzzySearch.d.ts +0 -0
- /package/dist/components/{custom/search → search}/index.d.ts +0 -0
- /package/dist/components/{ui/section → section}/Section.vue.d.ts +0 -0
- /package/dist/components/{ui/section → section}/index.d.ts +0 -0
- /package/dist/components/{ui/select → select}/Select.vue.d.ts +0 -0
- /package/dist/components/{ui/select → select}/SelectGroup.vue.d.ts +0 -0
- /package/dist/components/{ui/select → select}/SelectItem.vue.d.ts +0 -0
- /package/dist/components/{ui/select → select}/SelectLabel.vue.d.ts +0 -0
- /package/dist/components/{ui/select → select}/SelectScrollDownButton.vue.d.ts +0 -0
- /package/dist/components/{ui/select → select}/SelectScrollUpButton.vue.d.ts +0 -0
- /package/dist/components/{ui/select → select}/SelectSeparator.vue.d.ts +0 -0
- /package/dist/components/{ui/select → select}/SelectTrigger.vue.d.ts +0 -0
- /package/dist/components/{ui/select → select}/SelectValue.vue.d.ts +0 -0
- /package/dist/components/{ui/select → select}/index.d.ts +0 -0
- /package/dist/components/{ui/separator → separator}/Separator.vue.d.ts +0 -0
- /package/dist/components/{ui/separator → separator}/index.d.ts +0 -0
- /package/dist/components/{ui/skeleton → skeleton}/Skeleton.vue.d.ts +0 -0
- /package/dist/components/{ui/skeleton → skeleton}/index.d.ts +0 -0
- /package/dist/{composables/sortable → components/sortable-list/composables}/dropResolver.d.ts +0 -0
- /package/dist/{composables/sortable → components/sortable-list/composables}/ghostRenderer.d.ts +0 -0
- /package/dist/{composables/sortable → components/sortable-list/composables}/index.d.ts +0 -0
- /package/dist/{composables/sortable → components/sortable-list/composables}/touchGate.d.ts +0 -0
- /package/dist/{composables/sortable → components/sortable-list/composables}/transitionTiming.d.ts +0 -0
- /package/dist/components/{custom/spa-view → spa-view}/SpaView.vue.d.ts +0 -0
- /package/dist/components/{custom/spa-view → spa-view}/index.d.ts +0 -0
- /package/dist/components/{custom/split-chars → split-chars}/index.d.ts +0 -0
- /package/dist/components/{custom/stacked-icons → stacked-icons}/StackedIconGroup.vue.d.ts +0 -0
- /package/dist/components/{custom/stacked-icons → stacked-icons}/index.d.ts +0 -0
- /package/dist/components/{custom/status-dot → status-dot}/StatusDot.vue.d.ts +0 -0
- /package/dist/components/{custom/status-dot → status-dot}/index.d.ts +0 -0
- /package/dist/components/{ui/switch → switch}/Switch.vue.d.ts +0 -0
- /package/dist/components/{ui/switch → switch}/index.d.ts +0 -0
- /package/dist/components/{ui/table → table}/Table.vue.d.ts +0 -0
- /package/dist/components/{ui/table → table}/TableBody.vue.d.ts +0 -0
- /package/dist/components/{ui/table → table}/TableCaption.vue.d.ts +0 -0
- /package/dist/components/{ui/table → table}/TableCell.vue.d.ts +0 -0
- /package/dist/components/{ui/table → table}/TableEmpty.vue.d.ts +0 -0
- /package/dist/components/{ui/table → table}/TableHead.vue.d.ts +0 -0
- /package/dist/components/{ui/table → table}/TableHeader.vue.d.ts +0 -0
- /package/dist/components/{ui/table → table}/TableRow.vue.d.ts +0 -0
- /package/dist/components/{ui/table → table}/index.d.ts +0 -0
- /package/dist/components/{custom/tabs → tabs}/index.d.ts +0 -0
- /package/dist/components/{ui/tags-input → tags-input}/TagsInput.vue.d.ts +0 -0
- /package/dist/components/{ui/tags-input → tags-input}/TagsInputInput.vue.d.ts +0 -0
- /package/dist/components/{ui/tags-input → tags-input}/TagsInputItem.vue.d.ts +0 -0
- /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemDelete.vue.d.ts +0 -0
- /package/dist/components/{ui/tags-input → tags-input}/TagsInputItemText.vue.d.ts +0 -0
- /package/dist/components/{ui/tags-input → tags-input}/index.d.ts +0 -0
- /package/dist/components/{ui/textarea → textarea}/Textarea.vue.d.ts +0 -0
- /package/dist/components/{ui/textarea → textarea}/index.d.ts +0 -0
- /package/dist/components/{custom/timeline → timeline}/ContinuousRail.vue.d.ts +0 -0
- /package/dist/components/{custom/timeline → timeline}/ContinuousTimeline.vue.d.ts +0 -0
- /package/dist/components/{custom/timeline → timeline}/ScrubberTimeline.vue.d.ts +0 -0
- /package/dist/components/{custom/timeline → timeline}/SegmentedTimeline.vue.d.ts +0 -0
- /package/dist/components/{custom/timeline → timeline}/geometry.d.ts +0 -0
- /package/dist/components/{custom/timeline → timeline}/index.d.ts +0 -0
- /package/dist/components/{custom/timeline → timeline}/types.d.ts +0 -0
- /package/dist/components/{ui/toast → toast}/ToastAction.vue.d.ts +0 -0
- /package/dist/components/{ui/toast → toast}/ToastClose.vue.d.ts +0 -0
- /package/dist/components/{ui/toast → toast}/ToastDescription.vue.d.ts +0 -0
- /package/dist/components/{ui/toast → toast}/ToastTitle.vue.d.ts +0 -0
- /package/dist/components/{ui/toast → toast}/Toaster.vue.d.ts +0 -0
- /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroup.vue.d.ts +0 -0
- /package/dist/components/{ui/toggle-group → toggle-group}/ToggleGroupItem.vue.d.ts +0 -0
- /package/dist/components/{ui/toggle-group → toggle-group}/index.d.ts +0 -0
- /package/dist/components/{ui/toggle-group → toggle-group}/toggleGroupContext.d.ts +0 -0
- /package/dist/components/{ui/tooltip → tooltip}/Tooltip.vue.d.ts +0 -0
- /package/dist/components/{ui/tooltip → tooltip}/TooltipContent.vue.d.ts +0 -0
- /package/dist/components/{ui/tooltip → tooltip}/TooltipProvider.vue.d.ts +0 -0
- /package/dist/components/{ui/tooltip → tooltip}/TooltipTrigger.vue.d.ts +0 -0
- /package/dist/components/{ui/tooltip → tooltip}/index.d.ts +0 -0
- /package/dist/components/{custom/typewriter → typewriter}/TypewriterText.vue.d.ts +0 -0
- /package/dist/components/{custom/typewriter → typewriter}/composables/index.d.ts +0 -0
- /package/dist/components/{custom/typewriter → typewriter}/composables/useTypewriter.d.ts +0 -0
- /package/dist/components/{custom/typewriter → typewriter}/index.d.ts +0 -0
- /package/dist/components/{custom/typewriter → typewriter}/types.d.ts +0 -0
- /package/dist/components/{custom/typewriter → typewriter}/utils/keyboard.d.ts +0 -0
- /package/dist/components/{custom/typewriter → typewriter}/utils/pausePatterns.d.ts +0 -0
- /package/dist/components/{custom/typewriter → typewriter}/utils/timing.d.ts +0 -0
- /package/dist/components/{custom/typewriter → typewriter}/utils/typoStateMachine.d.ts +0 -0
- /package/dist/components/{custom/watercolor-dot → watercolor-dot}/WatercolorDot.vue.d.ts +0 -0
- /package/dist/components/{custom/watercolor-dot → watercolor-dot}/index.d.ts +0 -0
- /package/dist/{utils → composables/glass/procedural}/prng.d.ts +0 -0
- /package/dist/{constants-BWj7DkMn.js → constants-D8lSMkOz.js} +0 -0
- /package/dist/{createContext-Cd23P9j0.js → createContext-BQ1Gy_LB.js} +0 -0
- /package/dist/{flow.glsl-DqEGRpl4.js → flow.glsl-CVqPSj8_.js} +0 -0
- /package/dist/{procedural-color.wgsl-C1Y5PkM6.js → procedural-color.wgsl-ByduxnzV.js} +0 -0
- /package/dist/{scrollReader-rc3Ns_NM.js → scrollReader-DzYqPQ6V.js} +0 -0
- /package/dist/{supportsCssTimeline-BWenxvHU.js → supportsCssTimeline-Ie4xJFbD.js} +0 -0
- /package/dist/{useDragVelocity-CjcfX3dA.js → useDragVelocity-BWcNMCux.js} +0 -0
- /package/dist/{useGlobalDark-B4HO9LXG.js → useGlobalDark-DjKMEQE2.js} +0 -0
- /package/dist/{useInterval-BVUI-sez.js → useInterval-ZATRi-1T.js} +0 -0
- /package/dist/{useLiquidFlex-Cc6PjVJD.js → useLiquidFlex-Ch4exNvN.js} +0 -0
- /package/dist/{useResizeObserver-DdEn3v2f.js → useResizeObserver-DDuoBeBo.js} +0 -0
- /package/dist/{useResolveTokenColor-ChOnCckA.js → useResolveTokenColor-DVT5kwv6.js} +0 -0
- /package/dist/{useTextHighlight-Bma3UlKA.js → useTextHighlight-C46Le9u_.js} +0 -0
- /package/dist/{useTimer-BBLGPXR8.js → useTimer-CkDV8SC2.js} +0 -0
- /package/dist/{useViewportReady-C9pYnn7K.js → useViewportReady-c0isoKL8.js} +0 -0
- /package/dist/{vReveal-CT1KtwZA.js → vReveal-DUmiEkX_.js} +0 -0
- /package/dist/{vSpecular-EX7loENl.js → vSpecular-DlYN0UZy.js} +0 -0
- /package/dist/{writeVelocityWeight-Bh83xZfs.js → writeVelocityWeight-D1rvdxJu.js} +0 -0
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/** The full-screen-triangle vertex shader (the substrate's standard fullscreen pass). */
|
|
2
|
-
export declare const FLOW_FIELD_VERT_GLSL = "#version 300 es\nprecision highp float;\nin vec2 aPosition;\nout vec2 vUv;\nvoid main() {\n vUv = aPosition; // [-1,1]\u00B2 domain\n gl_Position = vec4(aPosition, 0.0, 1.0);\n}";
|
|
3
|
-
/** The dot-lattice + sweeping-brightness fragment source (the anchored-grid model). */
|
|
4
|
-
export declare const FLOW_FIELD_FRAG_GLSL = "#version 300 es\nprecision highp float;\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define FLOW_GRAVITY 9.81\n#define CURL_EPS 0.012\n#define MAX_WAVE_COMPONENTS 8\n#define MAX_FLOW_STOPS 4\n\nin vec2 vUv;\nout vec4 fragColor;\n\nuniform float uTime;\nuniform float uWindSpeed;\nuniform float uCurlStrength;\nuniform float uDomainHalf;\nuniform float uAspect;\nuniform float uGridPitchDomain; // lattice pitch in DOMAIN units\nuniform float uDotRadiusDomain; // dot radius in DOMAIN units\nuniform float uDisplaceAmp; // sub-cell drift in pitch fractions\nuniform float uContrast;\nuniform float uBaseBright;\nuniform float uWaveBandCenter;\nuniform float uWaveBandWidth;\nuniform float uGlobeMask;\nuniform int uWaveCount;\nuniform int uStopCount;\nuniform float uHasBackground;\nuniform vec3 uBg;\nuniform vec4 uWaves[MAX_WAVE_COMPONENTS]; // (amplitude, wavelength, directionDeg, phase)\nuniform vec3 uPalette[MAX_FLOW_STOPS]; // linear-sRGB stops\n\nconst mat2 FBM_ROT = mat2(0.8, 0.6, -0.6, 0.8);\n\n\nfloat srgbToLinearCh(float c) {\n return c <= 0.04045 ? c / 12.92 : pow((c + 0.055) / 1.055, 2.4);\n}\nvec3 srgbToLinear(vec3 c) {\n return vec3(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfloat linearToSrgbCh(float c) {\n return c <= 0.0031308 ? c * 12.92 : 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nvec3 linearToSrgb(vec3 c) {\n return vec3(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS (constants.ts), row-major; written here as GLSL\n// columns (= the transpose) so mat3 * vec3 evaluates the row-major M\u00B7v.\nconst mat3 LINEAR_SRGB_TO_LMS = mat3(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients (gamut.ts lines 295-297 \u2014\n// these differ at the ~1e-9 digit from LMS_TO_OKLAB_MATRIX; use the inline ones to\n// mirror the exact value.js path), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_OKLAB = mat3(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF (constants.ts), row-major \u2192 GLSL columns. Rows:\n// l = [1, 0.3963377774, 0.2158037573], m = [1, -0.1055613458, -0.0638541728],\n// s = [1, -0.0894841775, -1.2914855480].\nconst mat3 OKLAB_TO_LMS = mat3(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB (constants.ts), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_LINEAR_SRGB = mat3(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nvec3 srgbToOklab(vec3 c) {\n vec3 lin = srgbToLinear(c);\n vec3 lms = LINEAR_SRGB_TO_LMS * lin;\n vec3 lmsCbrt = sign(lms) * pow(abs(lms), vec3(1.0 / 3.0));\n return LMS_TO_OKLAB * lmsCbrt;\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nvec3 oklabToLinearSrgb(vec3 lab) {\n vec3 lms_ = OKLAB_TO_LMS * lab;\n vec3 lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS. Mirrors value.js rawOklabToOklch (which returns\n// degrees; we stay in radians and only fold to [0, 2pi)).\nvec3 oklabToOklch(vec3 lab) {\n float C = length(lab.yz);\n float H = atan(lab.z, lab.y);\n if (H < 0.0) H += 2.0 * PI;\n return vec3(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nvec3 oklchToOklab(vec3 lch) {\n return vec3(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\n// \u2500\u2500 The Gerstner-sum analytic \u2207\u22A5h velocity (transcribes flowField.ts gerstnerVelocity) \u2500\u2500\nvec2 gerstnerVelocity(vec2 p, float t) {\n float dhdx = 0.0;\n float dhdy = 0.0;\n for (int i = 0; i < MAX_WAVE_COMPONENTS; i++) {\n if (i >= uWaveCount) break;\n vec4 w = uWaves[i];\n float k = TAU / max(w.y, 1e-4);\n float dirRad = w.z * PI / 180.0;\n vec2 d = vec2(cos(dirRad), sin(dirRad));\n float omega = sqrt(FLOW_GRAVITY * k) * uWindSpeed;\n float theta = k * (d.x * p.x + d.y * p.y) - omega * t + w.w;\n float akc = w.x * k * cos(theta);\n dhdx += akc * d.x;\n dhdy += akc * d.y;\n }\n return vec2(dhdy, -dhdx);\n}\n\n// \u2500\u2500 The scalar Gerstner HEIGHT (transcribes flowField.ts sampleHeight) \u2500\u2500\nfloat sampleHeight(vec2 o, float t) {\n float h = 0.0;\n float ampSum = 0.0;\n for (int i = 0; i < MAX_WAVE_COMPONENTS; i++) {\n if (i >= uWaveCount) break;\n vec4 w = uWaves[i];\n float k = TAU / max(w.y, 1e-4);\n float dirRad = w.z * PI / 180.0;\n vec2 d = vec2(cos(dirRad), sin(dirRad));\n float omega = sqrt(FLOW_GRAVITY * k) * uWindSpeed;\n float theta = k * (d.x * o.x + d.y * o.y) - omega * t + w.w;\n h += w.x * sin(theta);\n ampSum += abs(w.x);\n }\n return h / max(ampSum, 1e-4);\n}\n\n// \u2500\u2500 Shared curl-noise basis (the GLSL twin of flow.glsl.ts curlFBM) \u2500\u2500\nfloat hash21(vec2 p) {\n vec3 p3 = fract(vec3(p.x, p.y, p.x) * 0.1031);\n p3 += dot(p3, p3.yzx + 33.33);\n return fract((p3.x + p3.y) * p3.z);\n}\nfloat valueNoise(vec2 p) {\n vec2 i = floor(p);\n vec2 f = fract(p);\n vec2 u2 = f * f * f * (f * (f * 6.0 - 15.0) + 10.0);\n float a = hash21(i + vec2(0.0, 0.0));\n float b = hash21(i + vec2(1.0, 0.0));\n float c = hash21(i + vec2(0.0, 1.0));\n float d = hash21(i + vec2(1.0, 1.0));\n return mix(mix(a, b, u2.x), mix(c, d, u2.x), u2.y);\n}\nfloat potentialFBM(vec2 p0) {\n float v = 0.0;\n float amp = 0.5;\n float freq = 1.0;\n vec2 p = p0;\n for (int i = 0; i < 3; i++) {\n v += amp * valueNoise(p * freq);\n p = FBM_ROT * p;\n freq *= 2.0;\n amp *= 0.5;\n }\n return v;\n}\nvec2 curlFBM(vec2 p) {\n float dx = potentialFBM(p + vec2(CURL_EPS, 0.0)) - potentialFBM(p - vec2(CURL_EPS, 0.0));\n float dy = potentialFBM(p + vec2(0.0, CURL_EPS)) - potentialFBM(p - vec2(0.0, CURL_EPS));\n vec2 g = vec2(dx, dy) / (2.0 * CURL_EPS);\n return vec2(g.y, -g.x);\n}\nvec2 sampleVelocity(vec2 p, float t) {\n vec2 v = gerstnerVelocity(p, t);\n if (uCurlStrength > 0.0) {\n vec2 c = curlFBM(vec2(p.x * 0.55 + t * 0.15, p.y * 0.55));\n v += c * uCurlStrength;\n }\n return v;\n}\n// sub-cell displacement (transcribes flowField.ts sampleDisplacement \u2014 tanh soft-clamp).\nvec2 sampleDisplacement(vec2 o, float t) {\n vec2 v = sampleVelocity(o, t);\n float mag = length(v);\n if (mag < 1e-5) return vec2(0.0);\n return v * (tanh(mag) / mag);\n}\n\n// The sweeping bright-stripe band (transcribes flowField.ts waveBand).\nfloat waveBand(float h, float center, float width) {\n float w = max(width, 1e-3);\n float d = abs(h - center);\n return 1.0 - smoothstep(0.0, w, d);\n}\n\n// The optional soft-disc globe mask (the reference's two-sphere composition).\nfloat globeMask(vec2 o, float t, float on) {\n if (on <= 0.5) return 1.0;\n float cx = 0.35 * sin(t * 0.13);\n float cy = 0.28 * cos(t * 0.11);\n float d = length(o - vec2(cx, cy));\n return 1.0 - smoothstep(0.45, 0.75, d);\n}\n\nvec3 samplePaletteLin(float t) {\n if (uStopCount <= 1) return uPalette[0];\n float n = float(uStopCount);\n float ft = clamp(t, 0.0, 1.0) * (n - 1.0);\n int i0 = int(floor(ft));\n int i1 = min(i0 + 1, uStopCount - 1);\n float f = ft - float(i0);\n vec3 lmsA = LINEAR_SRGB_TO_LMS * uPalette[i0];\n vec3 lmsB = LINEAR_SRGB_TO_LMS * uPalette[i1];\n vec3 labA = LMS_TO_OKLAB * (sign(lmsA) * pow(abs(lmsA), vec3(1.0 / 3.0)));\n vec3 labB = LMS_TO_OKLAB * (sign(lmsB) * pow(abs(lmsB), vec3(1.0 / 3.0)));\n return oklabToLinearSrgb(mix(labA, labB, f));\n}\n\nvoid main() {\n float aspect = max(uAspect, 1e-4);\n // Domain-space pixel (aspect-corrected x so the lattice stays square).\n vec2 p = vec2(vUv.x * aspect, vUv.y);\n float pitch = max(uGridPitchDomain, 1e-3);\n\n // The nearest lattice cell ORIGIN (the anchored grid \u2014 the deterministic gridOrigin\n // mapping, evaluated per-pixel: round p/pitch to the nearest cell center).\n vec2 cell = floor(p / pitch + 0.5);\n vec2 o = cell * pitch;\n\n // The dot DRIFTS toward o + disp\u00B7displaceAmp\u00B7pitch (the same sub-cell offset the\n // compute kernel writes \u2014 here evaluated analytically per pixel).\n vec2 disp = sampleDisplacement(o, uTime);\n vec2 dotCenter = o + disp * (uDisplaceAmp * pitch);\n\n // The soft circle around the (drifted) dot center.\n float dist = length(p - dotCenter);\n float radius = max(uDotRadiusDomain, 1e-4);\n float mask = 1.0 - smoothstep(radius * 0.6, radius, dist);\n if (mask < 0.002) {\n if (uHasBackground > 0.5) {\n fragColor = vec4(clamp(linearToSrgb(uBg), vec3(0.0), vec3(1.0)), 1.0);\n } else {\n fragColor = vec4(0.0);\n }\n return;\n }\n\n // The brightness lights the dot \u2014 the SWEEPING band over the height at the anchor.\n float h = sampleHeight(o, uTime);\n float band = waveBand(h, uWaveBandCenter, uWaveBandWidth);\n float bright = (uBaseBright + band * uContrast) * globeMask(o, uTime, uGlobeMask);\n bright = clamp(bright, 0.0, 1.6);\n\n float tone = clamp(bright, 0.0, 1.0);\n vec3 lin = samplePaletteLin(tone) * bright;\n vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));\n float alpha = mask * clamp(bright * 0.8 + 0.12, 0.0, 1.0);\n\n if (uHasBackground > 0.5) {\n vec3 bg = clamp(linearToSrgb(uBg), vec3(0.0), vec3(1.0));\n fragColor = vec4(mix(bg, rgb, alpha), 1.0);\n return;\n }\n fragColor = vec4(rgb * alpha, alpha);\n}";
|
|
5
|
-
/** The fullscreen-quad vertex pass for the GPGPU/trail passes (a [-1,1] clip quad). */
|
|
6
|
-
export declare const FLOW_FIELD_QUAD_VERT_GLSL = "#version 300 es\nprecision highp float;\nin vec2 aPosition;\nout vec2 vUv;\nvoid main() {\n vUv = aPosition * 0.5 + 0.5; // [0,1] texel space\n gl_Position = vec4(aPosition, 0.0, 1.0);\n}";
|
|
7
|
-
/**
|
|
8
|
-
* The STATE-TEXTURE GPGPU advect pass (proof:dotflow-fence F4 — the GPGPU export replacing
|
|
9
|
-
* the FLOW_FIELD_FRAG_GLSL mandate). One texel per mote, RGBA = (pos.x, pos.y, speed, life).
|
|
10
|
-
* Each frame: read prev state, advect along the curl current + the cursor VORTEX with
|
|
11
|
-
* momentum (turnRate), decrement life, density-weighted respawn on death/out-of-domain.
|
|
12
|
-
* The math twin of cs_flow (WGSL) — F3 round-trips the SAME sampleVelocity.
|
|
13
|
-
*/
|
|
14
|
-
export declare const FLOW_FIELD_STATE_GLSL = "#version 300 es\nprecision highp float;\nin vec2 vUv;\nout vec4 fragColor;\n\nuniform sampler2D uState; // prev particle state (RGBA = pos.xy, speed, life)\nuniform float uDt;\nuniform float uDomainHalf;\nuniform float uTurnRate;\nuniform float uSpeedScale;\nuniform float uLifetimeSec;\nuniform float uEdgeBias;\nuniform vec2 uCursor; // pointer in domain space\nuniform vec2 uPointerVel; // pointer velocity (domain/s)\nuniform float uBurst; // flick-burst impulse\nuniform float uPointerActive; // 0/1\nuniform float uVortexRadius;\nuniform float uVortexSpin;\nuniform float uDragGain;\nuniform float uBurstShove;\n\n\n#define PI 3.141592653589793\n#define TAU 6.283185307179586\n#define FLOW_GRAVITY 9.81\n#define CURL_EPS 0.012\n#define MAX_WAVE_COMPONENTS 8\nconst mat2 FBM_ROT = mat2(0.8, 0.6, -0.6, 0.8);\n\nuniform float uTime;\nuniform float uWindSpeed;\nuniform float uCurlStrength;\nuniform int uWaveCount;\nuniform vec4 uWaves[MAX_WAVE_COMPONENTS]; // (amplitude, wavelength, directionDeg, phase)\n\nvec2 gerstnerVelocity(vec2 p, float t) {\n float dhdx = 0.0; float dhdy = 0.0;\n for (int i = 0; i < MAX_WAVE_COMPONENTS; i++) {\n if (i >= uWaveCount) break;\n vec4 w = uWaves[i];\n float k = TAU / max(w.y, 1e-4);\n float dirRad = w.z * PI / 180.0;\n vec2 d = vec2(cos(dirRad), sin(dirRad));\n float omega = sqrt(FLOW_GRAVITY * k) * uWindSpeed;\n float theta = k * (d.x * p.x + d.y * p.y) - omega * t + w.w;\n float akc = w.x * k * cos(theta);\n dhdx += akc * d.x; dhdy += akc * d.y;\n }\n return vec2(dhdy, -dhdx);\n}\nfloat hash21f(vec2 p) {\n vec3 p3 = fract(vec3(p.x, p.y, p.x) * 0.1031);\n p3 += dot(p3, p3.yzx + 33.33);\n return fract((p3.x + p3.y) * p3.z);\n}\nfloat valueNoiseF(vec2 p) {\n vec2 i = floor(p); vec2 f = fract(p);\n vec2 u2 = f * f * f * (f * (f * 6.0 - 15.0) + 10.0);\n float a = hash21f(i + vec2(0.0, 0.0));\n float b = hash21f(i + vec2(1.0, 0.0));\n float c = hash21f(i + vec2(0.0, 1.0));\n float d = hash21f(i + vec2(1.0, 1.0));\n return mix(mix(a, b, u2.x), mix(c, d, u2.x), u2.y);\n}\nfloat potentialFBMf(vec2 p0) {\n float v = 0.0; float amp = 0.5; float freq = 1.0; vec2 p = p0;\n for (int i = 0; i < 3; i++) { v += amp * valueNoiseF(p * freq); p = FBM_ROT * p; freq *= 2.0; amp *= 0.5; }\n return v;\n}\nvec2 curlFBMf(vec2 p) {\n float dx = potentialFBMf(p + vec2(CURL_EPS, 0.0)) - potentialFBMf(p - vec2(CURL_EPS, 0.0));\n float dy = potentialFBMf(p + vec2(0.0, CURL_EPS)) - potentialFBMf(p - vec2(0.0, CURL_EPS));\n vec2 g = vec2(dx, dy) / (2.0 * CURL_EPS);\n return vec2(g.y, -g.x);\n}\nvec2 sampleVelocityF(vec2 p, float t) {\n vec2 v = gerstnerVelocity(p, t);\n if (uCurlStrength > 0.0) { v += curlFBMf(vec2(p.x * 0.55 + t * 0.15, p.y * 0.55)) * uCurlStrength; }\n return v;\n}\n\n\nvec2 pointerVortex(vec2 p) {\n if (uPointerActive < 0.5) return vec2(0.0);\n vec2 r = p - uCursor;\n float d = length(r);\n float radius = max(uVortexRadius, 1e-3);\n float fall = exp(-(d * d) / (radius * radius));\n vec2 swirl = normalize(vec2(-r.y, r.x) + vec2(1e-6, 0.0));\n vec2 radial = r / max(d, 1e-4);\n vec2 v = swirl * uVortexSpin + uPointerVel * uDragGain + radial * uBurst * uBurstShove;\n return v * fall;\n}\n\nvec2 respawn(vec2 seed, float t) {\n float rx = hash21f(seed + vec2(t * 0.37, 1.7)) * 2.0 - 1.0;\n float ry = hash21f(seed.yx + vec2(3.1, t * 0.37)) * 2.0 - 1.0;\n float bias = clamp(uEdgeBias, 0.0, 1.0);\n float bx = sign(rx) * pow(abs(rx), mix(1.0, 0.5, bias));\n float by = sign(ry) * pow(abs(ry), mix(1.0, 0.5, bias));\n return vec2(bx, by) * uDomainHalf;\n}\n\nvoid main() {\n vec4 st = texture(uState, vUv);\n vec2 pos = st.xy;\n float life = st.w;\n float half = uDomainHalf;\n\n bool dead = life <= 0.0;\n bool outOfDomain = max(abs(pos.x), abs(pos.y)) > half * 1.05;\n if (dead || outOfDomain) {\n pos = respawn(vUv, uTime);\n life = max(uLifetimeSec, 1e-3) * hash21f(vUv * 7.0 + uTime * 0.11);\n }\n\n vec2 vField = sampleVelocityF(pos, uTime) + pointerVortex(pos);\n // momentum: low turnRate = weighty arcs (eases into the current's turns).\n vec2 v = vField * uTurnRate * uSpeedScale;\n // forward-Euler advection (pos = pos + v*dt \u2014 the integrand twin of cs_flow).\n pos = pos + v * uDt * 60.0;\n life = life - uDt;\n\n fragColor = vec4(pos, length(v), life);\n}";
|
|
15
|
-
/**
|
|
16
|
-
* The MOTE point-sprite pass — reads the advected state texture by gl_VertexID, places a
|
|
17
|
-
* point sprite at the mote, sizes/brightens/hues it by SPEED·life (the velocity-map). Drawn
|
|
18
|
-
* additively into the trail FBO. The warm-fire palette is spliced via the shared color seam.
|
|
19
|
-
*/
|
|
20
|
-
export declare const FLOW_FIELD_POINT_VERT_GLSL = "#version 300 es\nprecision highp float;\nuniform sampler2D uState;\nuniform int uStateCols;\nuniform float uDomainHalf;\nuniform float uPointSize;\nuniform float uSpeedNorm; // the speed\u2192[0,1] normalizer (modal-speed at ramp middle)\nuniform float uStretchAmp;\nout float vSpeedNorm;\nout float vFade;\nvoid main() {\n int id = gl_VertexID;\n int col = id % uStateCols;\n int row = id / uStateCols;\n vec2 uv = (vec2(float(col), float(row)) + 0.5) / float(uStateCols);\n vec4 st = texture(uState, uv);\n vec2 pos = st.xy;\n float speed = st.z;\n float life = st.w;\n float sn = clamp(speed / max(uSpeedNorm, 1e-4), 0.0, 1.0);\n vSpeedNorm = sn;\n vFade = clamp(life * 3.0, 0.0, 1.0);\n // NDC: domain [-half,half] \u2192 [-1,1].\n gl_Position = vec4(pos / uDomainHalf, 0.0, 1.0);\n // faster motes read as larger hot speed-cores (the cartoon \"more\" as point size).\n gl_PointSize = max(uPointSize * (1.0 + sn * (uStretchAmp + 1.0)), 1.0);\n}";
|
|
21
|
-
export declare const FLOW_FIELD_POINT_FRAG_GLSL = "#version 300 es\nprecision highp float;\n#define MAX_FLOW_STOPS 4\nin float vSpeedNorm;\nin float vFade;\nout vec4 fragColor;\nuniform int uStopCount;\nuniform vec3 uPalette[MAX_FLOW_STOPS];\nuniform float uSpeedGlow;\n\n\nfloat srgbToLinearCh(float c) {\n return c <= 0.04045 ? c / 12.92 : pow((c + 0.055) / 1.055, 2.4);\n}\nvec3 srgbToLinear(vec3 c) {\n return vec3(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfloat linearToSrgbCh(float c) {\n return c <= 0.0031308 ? c * 12.92 : 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nvec3 linearToSrgb(vec3 c) {\n return vec3(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS (constants.ts), row-major; written here as GLSL\n// columns (= the transpose) so mat3 * vec3 evaluates the row-major M\u00B7v.\nconst mat3 LINEAR_SRGB_TO_LMS = mat3(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients (gamut.ts lines 295-297 \u2014\n// these differ at the ~1e-9 digit from LMS_TO_OKLAB_MATRIX; use the inline ones to\n// mirror the exact value.js path), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_OKLAB = mat3(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF (constants.ts), row-major \u2192 GLSL columns. Rows:\n// l = [1, 0.3963377774, 0.2158037573], m = [1, -0.1055613458, -0.0638541728],\n// s = [1, -0.0894841775, -1.2914855480].\nconst mat3 OKLAB_TO_LMS = mat3(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB (constants.ts), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_LINEAR_SRGB = mat3(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nvec3 srgbToOklab(vec3 c) {\n vec3 lin = srgbToLinear(c);\n vec3 lms = LINEAR_SRGB_TO_LMS * lin;\n vec3 lmsCbrt = sign(lms) * pow(abs(lms), vec3(1.0 / 3.0));\n return LMS_TO_OKLAB * lmsCbrt;\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nvec3 oklabToLinearSrgb(vec3 lab) {\n vec3 lms_ = OKLAB_TO_LMS * lab;\n vec3 lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS. Mirrors value.js rawOklabToOklch (which returns\n// degrees; we stay in radians and only fold to [0, 2pi)).\nvec3 oklabToOklch(vec3 lab) {\n float C = length(lab.yz);\n float H = atan(lab.z, lab.y);\n if (H < 0.0) H += 2.0 * PI;\n return vec3(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nvec3 oklchToOklab(vec3 lch) {\n return vec3(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\nvec3 samplePaletteLin(float t) {\n if (uStopCount <= 1) return uPalette[0];\n float n = float(uStopCount);\n float ft = clamp(t, 0.0, 1.0) * (n - 1.0);\n int i0 = int(floor(ft));\n int i1 = min(i0 + 1, uStopCount - 1);\n float f = ft - float(i0);\n vec3 lmsA = LINEAR_SRGB_TO_LMS * uPalette[i0];\n vec3 lmsB = LINEAR_SRGB_TO_LMS * uPalette[i1];\n vec3 labA = LMS_TO_OKLAB * (sign(lmsA) * pow(abs(lmsA), vec3(1.0 / 3.0)));\n vec3 labB = LMS_TO_OKLAB * (sign(lmsB) * pow(abs(lmsB), vec3(1.0 / 3.0)));\n return oklabToLinearSrgb(mix(labA, labB, f));\n}\n\nvoid main() {\n // soft round sprite \u2014 a tight hot core (mask\u00B2 caps the white wash, H2).\n vec2 pc = gl_PointCoord * 2.0 - 1.0;\n float r = length(pc);\n float mask = 1.0 - smoothstep(0.55, 1.0, r);\n if (mask < 0.002) discard;\n float core = mask * mask;\n float bright = (0.35 + vSpeedNorm * uSpeedGlow) * vFade;\n vec3 lin = samplePaletteLin(vSpeedNorm) * bright;\n vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));\n float a = core * clamp(bright, 0.0, 1.0);\n fragColor = vec4(rgb * a, a); // additive premultiplied (the trail braids the ribbons)\n}";
|
|
22
|
-
/**
|
|
23
|
-
* The TRAIL decay-blit — draws the PREVIOUS trail frame back at the derived decay α (toward
|
|
24
|
-
* the warm floor), so the motes drawn additively after it leave fading ribbons of light.
|
|
25
|
-
* The headline gestalt lever. Pinned NEAREST (no half-float-linear extension dependency).
|
|
26
|
-
*/
|
|
27
|
-
export declare const FLOW_FIELD_TRAIL_FRAG_GLSL = "#version 300 es\nprecision highp float;\nin vec2 vUv;\nout vec4 fragColor;\nuniform sampler2D uPrev;\nuniform float uDecay; // per-frame trail persistence (DERIVED from trailHalfLife)\nvoid main() {\n vec4 prev = texture(uPrev, vUv);\n fragColor = prev * uDecay; // fade toward black; the warm floor is the present-blit's\n}";
|
|
28
|
-
/**
|
|
29
|
-
* The PRESENT blit — composites the trail buffer over the warm-near-black floor + the
|
|
30
|
-
* colorful corner-bloom (the §3 colorful-field-behind-glass ground), tone-mapped so the hot
|
|
31
|
-
* cores read without a white wash. The full-bleed ground is HERE, not a parallel plane.
|
|
32
|
-
*/
|
|
33
|
-
export declare const FLOW_FIELD_PRESENT_FRAG_GLSL = "#version 300 es\nprecision highp float;\nin vec2 vUv;\nout vec4 fragColor;\nuniform sampler2D uTrail;\nuniform vec3 uFloor; // the deep warm-near-black floor (linear-sRGB)\nuniform vec3 uBloomColor; // the warm rose/magenta corner-bloom (linear-sRGB)\nuniform float uHasGround; // 0 \u2192 transparent (compose over the page field); 1 \u2192 opaque floor\n\n\nfloat srgbToLinearCh(float c) {\n return c <= 0.04045 ? c / 12.92 : pow((c + 0.055) / 1.055, 2.4);\n}\nvec3 srgbToLinear(vec3 c) {\n return vec3(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfloat linearToSrgbCh(float c) {\n return c <= 0.0031308 ? c * 12.92 : 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nvec3 linearToSrgb(vec3 c) {\n return vec3(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\nvoid main() {\n vec3 trail = texture(uTrail, vUv).rgb;\n // soft tone-map the accumulated additive trail (Reinhard \u2014 hot cores, not white wash).\n vec3 mapped = trail / (trail + vec3(0.85));\n if (uHasGround < 0.5) {\n // compose OVER the page's warm field: emit the lit ribbons premultiplied, no floor.\n vec3 rgb = clamp(linearToSrgb(mapped), vec3(0.0), vec3(1.0));\n float a = clamp(max(mapped.r, max(mapped.g, mapped.b)), 0.0, 1.0);\n fragColor = vec4(rgb * a, a);\n return;\n }\n // the corner-bloom: a faint warm rose radial in one corner (NOT teal).\n float bloom = smoothstep(1.3, 0.0, distance(vUv, vec2(0.12, 0.88)));\n vec3 floorLin = uFloor + uBloomColor * bloom * 0.5;\n vec3 lin = floorLin + mapped; // the ribbons sit OVER the warm floor\n vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));\n fragColor = vec4(rgb, 1.0);\n}";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const FLOW_FIELD_RENDER_WGSL = "\nconst PI: f32 = 3.141592653589793;\nconst TAU: f32 = 6.283185307179586;\nconst MAX_FLOW_STOPS: i32 = 4;\n\nstruct Particle {\n // field: (pos.x, pos.y, height, |disp|) flow: (pos.x, pos.y, speed, life)\n data: vec4<f32>,\n};\n\n// \u2500\u2500 Render uniforms (the typed-struct source-of-truth \u2014 see uniformBridgeWGPU.ts) \u2500\u2500\nstruct RenderUniforms {\n // r0: (uTime, uContrast, uBaseBright, uDomainHalf)\n r0: vec4<f32>,\n // r1: (uDotSize, uSizePulse, uAspect, uGridPitch)\n r1: vec4<f32>,\n // r2: (uWaveBandCenter, uWaveBandWidth, uGlobeMask, uMode) \u2014 uMode: 0=field, 1=flow\n r2: vec4<f32>,\n // ints: (uStopCount, uParticleCount, _pad, _pad)\n ints: vec4<i32>,\n // bg: (background.rgb, hasBackground)\n bg: vec4<f32>,\n // f0: (uSpeedGlow, uSpeedNorm, uShadowOffset, uStretchAmp) \u2014 the flow velocity-map levers\n f0: vec4<f32>,\n // each palette stop: linear-sRGB rgb + _pad\n palette: array<vec4<f32>, 4>,\n};\n\n@group(0) @binding(0) var<uniform> u: RenderUniforms;\n@group(0) @binding(1) var<storage, read> particles: array<Particle>;\n\n\nfn srgbToLinearCh(c: f32) -> f32 {\n if (c <= 0.04045) { return c / 12.92; }\n return pow((c + 0.055) / 1.055, 2.4);\n}\nfn srgbToLinear(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfn linearToSrgbCh(c: f32) -> f32 {\n if (c <= 0.0031308) { return c * 12.92; }\n return 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nfn linearToSrgb(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS, row-major \u2192 WGSL columns (= the transpose).\nconst LINEAR_SRGB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients, row-major \u2192 WGSL columns.\nconst LMS_TO_OKLAB: mat3x3<f32> = mat3x3<f32>(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF, row-major \u2192 WGSL columns.\nconst OKLAB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB, row-major \u2192 WGSL columns.\nconst LMS_TO_LINEAR_SRGB: mat3x3<f32> = mat3x3<f32>(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\nfn cbrt3(v: vec3<f32>) -> vec3<f32> {\n return sign(v) * pow(abs(v), vec3<f32>(1.0 / 3.0));\n}\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nfn srgbToOklab(c: vec3<f32>) -> vec3<f32> {\n let lin = srgbToLinear(c);\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nfn oklabToLinearSrgb(lab: vec3<f32>) -> vec3<f32> {\n let lms_ = OKLAB_TO_LMS * lab;\n let lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS, folded to [0, 2pi). Mirrors value.js rawOklabToOklch.\nfn oklabToOklch(lab: vec3<f32>) -> vec3<f32> {\n let C = length(lab.yz);\n var H = atan2(lab.z, lab.y);\n if (H < 0.0) { H = H + 2.0 * PI; }\n return vec3<f32>(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nfn oklchToOklab(lch: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\n// The sweeping bright-stripe band (transcribes flowField.ts waveBand): a soft two-sided\n// ridge over the normalized height \u2014 1 at the band center, falling to 0 at \u00B1width.\nfn waveBand(h: f32, center: f32, width: f32) -> f32 {\n let w = max(width, 1e-3);\n let d = abs(h - center);\n return 1.0 - smoothstep(0.0, w, d);\n}\n\n// The optional soft-disc globe mask \u2014 a slow Lissajous-drifting radial field (the\n// reference's two-sphere composition). OFF when uGlobeMask <= 0.5 (returns 1).\nfn globeMask(o: vec2<f32>, t: f32, on: f32) -> f32 {\n if (on <= 0.5) { return 1.0; }\n // a slow Lissajous center drift within the domain\n let cx = 0.35 * sin(t * 0.13);\n let cy = 0.28 * cos(t * 0.11);\n let d = length(o - vec2<f32>(cx, cy));\n // a soft disc of radius ~0.6 with a feathered edge\n return 1.0 - smoothstep(0.45, 0.75, d);\n}\n\n// Sample the multi-stop palette (linear-sRGB stops, OKLab mix). t in [0,1].\nfn samplePaletteLin(t: f32) -> vec3<f32> {\n let stopCount = u.ints.x;\n if (stopCount <= 1) { return u.palette[0].rgb; }\n let n = f32(stopCount);\n let ft = clamp(t, 0.0, 1.0) * (n - 1.0);\n let i0 = i32(floor(ft));\n let i1 = min(i0 + 1, stopCount - 1);\n let f = ft - f32(i0);\n let labA = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * u.palette[i0].rgb);\n let labB = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * u.palette[i1].rgb);\n return oklabToLinearSrgb(mix(labA, labB, f));\n}\n\nstruct VSOut {\n @builtin(position) pos: vec4<f32>,\n @location(0) local: vec2<f32>, // [-1,1] billboard-local coords for the soft circle\n @location(1) bright: f32, // brightness [0, ~1.6]\n @location(2) ramp: f32, // palette-ramp coord (field: tone, flow: speedNorm)\n @location(3) flowFade: f32, // flow life-fade [0,1] (field: 1)\n};\n\n@vertex\nfn vs_main(\n @builtin(vertex_index) vi: u32,\n @builtin(instance_index) ii: u32,\n) -> VSOut {\n // Two-triangle quad corners in billboard-local space.\n var corners = array<vec2<f32>, 6>(\n vec2<f32>(-1.0, -1.0), vec2<f32>(1.0, -1.0), vec2<f32>(-1.0, 1.0),\n vec2<f32>(-1.0, 1.0), vec2<f32>(1.0, -1.0), vec2<f32>(1.0, 1.0),\n );\n let local = corners[vi];\n\n let pr = particles[ii].data;\n let p = pr.xy;\n let half = u.r0.w;\n let aspect = u.r1.z;\n let mode = i32(u.r2.w + 0.5);\n\n var bright: f32;\n var ramp: f32;\n var sizeWorld: f32;\n var flowFade: f32 = 1.0;\n\n if (mode == 1) {\n // \u2500\u2500 flow (AURORA CURRENT): speed\u2192hue, speed\u00B7life\u2192brightness, speed\u2192size bloom \u2500\u2500\n let speed = pr.z;\n let life = pr.w;\n let speedNorm = clamp(speed / max(u.f0.y, 1e-4), 0.0, 1.0);\n // life fades the mote over its last third (the trail's tail / overlapping-action).\n flowFade = clamp(life * 3.0, 0.0, 1.0);\n ramp = speedNorm;\n bright = (0.35 + speedNorm * u.f0.x) * flowFade;\n // a speed bloom (the cartoon \"more\" on WGPU \u2014 faster motes read as hot speed-cores) +\n // the \u221A\u03C6 stretch lever scales the bloom (the squash-stretch as an isotropic core here).\n sizeWorld = u.r1.x * (1.0 + speedNorm * (u.f0.w + 1.0));\n } else {\n // \u2500\u2500 field: the sweeping bright band over the anchored lattice (BC.W-VIZ-DOTFLOW) \u2500\u2500\n let h = pr.z;\n let dispMag = pr.w;\n let band = waveBand(h, u.r2.x, u.r2.y);\n bright = (u.r0.z + band * u.r0.y) * globeMask(p, u.r0.x, u.r2.z);\n ramp = clamp(bright, 0.0, 1.0);\n sizeWorld = u.r1.x * (1.0 + dispMag * u.r1.y);\n }\n\n // Position the quad at the dot in clip space. Domain [-half,half] \u2192 NDC [-1,1];\n // the quad half-extent rides sizeWorld (in domain units, aspect-corrected x).\n let ndc = p / half;\n let off = local * sizeWorld / half;\n let offX = off.x / max(aspect, 1e-4);\n\n var out: VSOut;\n out.pos = vec4<f32>(ndc.x + offX, ndc.y + off.y, 0.0, 1.0);\n out.local = local;\n out.bright = bright;\n out.ramp = ramp;\n out.flowFade = flowFade;\n return out;\n}\n\n@fragment\nfn fs_main(in: VSOut) -> @location(0) vec4<f32> {\n // Soft circle \u2014 radial smoothstep over the billboard-local radius.\n let r = length(in.local);\n let feather = 0.4;\n let mask = 1.0 - smoothstep(1.0 - feather, 1.0, r);\n if (mask < 0.002) { return vec4<f32>(0.0); }\n\n let mode = i32(u.r2.w + 0.5);\n let bright = clamp(in.bright, 0.0, 1.6);\n let lin = samplePaletteLin(in.ramp) * bright;\n let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));\n\n if (mode == 1) {\n // flow: additive premultiplied \u2014 a soft glowing core, alpha rides speed\u00B7life.\n let coreAlpha = mask * mask; // a tighter hot core (less white wash \u2014 H2 cap)\n let a = coreAlpha * clamp(bright, 0.0, 1.0);\n return vec4<f32>(rgb * a, a);\n }\n // field: a floor alpha so even an off-band dot stays a faint lattice point.\n let alpha = mask * clamp(bright * 0.8 + 0.12, 0.0, 1.0);\n return vec4<f32>(rgb * alpha, alpha);\n}\n";
|
|
2
|
-
export declare const FLOW_FIELD_TRAIL_WGSL = "\nstruct TrailUniforms {\n // (decay, hasGround, time, _pad)\n p: vec4<f32>,\n // floor.rgb (linear-sRGB) + _pad\n floorC: vec4<f32>,\n // bloom.rgb (linear-sRGB) + _pad\n bloomC: vec4<f32>,\n};\n@group(0) @binding(0) var<uniform> u: TrailUniforms;\n@group(0) @binding(1) var samp: sampler;\n@group(0) @binding(2) var tex: texture_2d<f32>;\n\n\nfn srgbToLinearCh(c: f32) -> f32 {\n if (c <= 0.04045) { return c / 12.92; }\n return pow((c + 0.055) / 1.055, 2.4);\n}\nfn srgbToLinear(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfn linearToSrgbCh(c: f32) -> f32 {\n if (c <= 0.0031308) { return c * 12.92; }\n return 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nfn linearToSrgb(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\nstruct FSQ { @builtin(position) pos: vec4<f32>, @location(0) uv: vec2<f32> };\n\n@vertex\nfn vs_fsq(@builtin(vertex_index) vi: u32) -> FSQ {\n var c = array<vec2<f32>, 3>(\n vec2<f32>(-1.0, -1.0), vec2<f32>(3.0, -1.0), vec2<f32>(-1.0, 3.0),\n );\n let p = c[vi];\n var out: FSQ;\n out.pos = vec4<f32>(p, 0.0, 1.0);\n out.uv = p * 0.5 + 0.5;\n return out;\n}\n\n@fragment\nfn fs_decay(in: FSQ) -> @location(0) vec4<f32> {\n let prev = textureSample(tex, samp, in.uv);\n return prev * u.p.x; // fade toward black\n}\n\n@fragment\nfn fs_present(in: FSQ) -> @location(0) vec4<f32> {\n let trail = textureSample(tex, samp, in.uv).rgb;\n let mapped = trail / (trail + vec3<f32>(0.85)); // Reinhard \u2014 hot cores, not white wash\n if (u.p.y < 0.5) {\n let rgb = clamp(linearToSrgb(mapped), vec3<f32>(0.0), vec3<f32>(1.0));\n let a = clamp(max(mapped.r, max(mapped.g, mapped.b)), 0.0, 1.0);\n return vec4<f32>(rgb * a, a);\n }\n let bloom = smoothstep(1.3, 0.0, distance(in.uv, vec2<f32>(0.12, 0.88)));\n let floorLin = u.floorC.rgb + u.bloomC.rgb * bloom * 0.5;\n let lin = floorLin + mapped;\n let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));\n return vec4<f32>(rgb, 1.0);\n}\n";
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { DotMatrixConfig } from "./constants";
|
|
2
|
-
/**
|
|
3
|
-
* DotMatrix — a globe of fine warm-cream dots on a sphere SURFACE (BC.W-VIZ-DOTMATRIX —
|
|
4
|
-
* the Claude co-work "fine-dot spheres on dark" reference).
|
|
5
|
-
*
|
|
6
|
-
* The dots are laid via the Fibonacci phyllotaxis spiral (even-by-area, no pole-pinching)
|
|
7
|
-
* and depth-shaded so the globe reads as a translucent dot-SHELL — the near hemisphere
|
|
8
|
-
* brighter + larger, the rim/far side fading toward near-invisible (the shape is painted
|
|
9
|
-
* by BRIGHTNESS + DEPTH, not motion; stop the spin and it STILL reads as a sphere). It
|
|
10
|
-
* spins slowly on a gently tilted axis. WebGPU-FIRST: the render pass draws instanced
|
|
11
|
-
* billboard quads + the crisp `fwidth` SDF fragment; a WebGL2 instanced-billboard fallback
|
|
12
|
-
* draws the SAME dots where WebGPU is absent (born-GPU — no Canvas2D). It composes
|
|
13
|
-
* `useDotMatrix` → the `createGpuSubstrate` picker over the ONE canvas lifecycle leaf
|
|
14
|
-
* (offscreen-pause, live-PRM freeze, the shared pointer field) — it never bootstraps its
|
|
15
|
-
* own context.
|
|
16
|
-
*
|
|
17
|
-
* The DEFAULT palette is the warm-cream library identity over a transparent ground (the
|
|
18
|
-
* glass card shows through); the mono-warm-white-on-near-black reference + the two-globe
|
|
19
|
-
* composition are DEMO presets (presets-in-consumers — never a library token). The
|
|
20
|
-
* teal-on-navy is GONE entirely.
|
|
21
|
-
*/
|
|
22
|
-
type __VLS_Props = {
|
|
23
|
-
/** The full author schema (the studio's `useConfiguratorState` model). */
|
|
24
|
-
config?: DotMatrixConfig;
|
|
25
|
-
/**
|
|
26
|
-
* The declarative WCAG-2.2.2 pause seam. `v-model:paused` parks the render loop
|
|
27
|
-
* (the substrate's `manual` suspend) when `true`. Wire `<DockBackgroundToggle>`'s
|
|
28
|
-
* `@update:paused` to this `v-model`.
|
|
29
|
-
*/
|
|
30
|
-
paused?: boolean;
|
|
31
|
-
};
|
|
32
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
33
|
-
pause: () => void;
|
|
34
|
-
resume: () => void;
|
|
35
|
-
wake: () => void;
|
|
36
|
-
renderAt: (timeSec: number) => void;
|
|
37
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
38
|
-
"update:paused": (value: boolean) => any;
|
|
39
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
40
|
-
"onUpdate:paused"?: ((value: boolean) => any) | undefined;
|
|
41
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
42
|
-
declare const _default: typeof __VLS_export;
|
|
43
|
-
export default _default;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/** A 3-vector. */
|
|
2
|
-
export interface Vec3 {
|
|
3
|
-
x: number;
|
|
4
|
-
y: number;
|
|
5
|
-
z: number;
|
|
6
|
-
}
|
|
7
|
-
/** A row-major 3×3 matrix (the spin matrix the WGSL transcribes column-for-column). */
|
|
8
|
-
export type Mat3 = readonly [
|
|
9
|
-
number,
|
|
10
|
-
number,
|
|
11
|
-
number,
|
|
12
|
-
number,
|
|
13
|
-
number,
|
|
14
|
-
number,
|
|
15
|
-
number,
|
|
16
|
-
number,
|
|
17
|
-
number
|
|
18
|
-
];
|
|
19
|
-
/** The depth-fade result — the per-dot opacity + size multipliers. */
|
|
20
|
-
export interface FacingFade {
|
|
21
|
-
/** The camera-facing opacity multiplier ∈ [facingLo, facingLo+facingHi]. */
|
|
22
|
-
opacity: number;
|
|
23
|
-
/** The depth-of-field size taper ∈ [0.6, 1.0]. */
|
|
24
|
-
size: number;
|
|
25
|
-
/** The raw facing term ∈ [0,1] (1 = dead-front, 0 = dead-back). */
|
|
26
|
-
facing: number;
|
|
27
|
-
}
|
|
28
|
-
/** The golden ratio φ = (1+√5)/2 ≈ 1.6180339887. */
|
|
29
|
-
export declare const GOLDEN_RATIO: number;
|
|
30
|
-
/** The golden angle = 2π/φ = π·(3−√5) ≈ 2.39996 rad ≈ 137.508° (the irrational azimuth). */
|
|
31
|
-
export declare const GOLDEN_ANGLE: number;
|
|
32
|
-
/**
|
|
33
|
-
* The Fibonacci-phyllotaxis position for dot `i` of `N` on the UNIT sphere — the
|
|
34
|
-
* area-centered half-offset variant (admits ANY `N`, the cheaper no-`acos` `y = cos(polar)`
|
|
35
|
-
* form). The WGSL `instance_index → unit position` mapping transcribes this EXACTLY (the
|
|
36
|
-
* F3 round-trip anchor):
|
|
37
|
-
*
|
|
38
|
-
* y = 1 − 2·(i + 0.5) / N // y ∈ (−1,1), the cos(polar) — even by AREA
|
|
39
|
-
* r = sqrt(1 − y²) // ring radius at that latitude
|
|
40
|
-
* theta = i · goldenAngle // the golden-angle azimuth spiral
|
|
41
|
-
* pos = (cos(theta)·r, y, sin(theta)·r)
|
|
42
|
-
*
|
|
43
|
-
* This beats lat-long (`theta = 2πi/cols, phi = πj/rows`, which clusters at the poles →
|
|
44
|
-
* banded rings) because the irrational golden ratio gives near-equal AREA with no
|
|
45
|
-
* resonance gaps (extremelearning.com.au; arXiv 0912.4540).
|
|
46
|
-
*/
|
|
47
|
-
export declare function fibonacciDot(i: number, n: number): Vec3;
|
|
48
|
-
/** The opacity floor (a dead-back dot stays a faint shell point, never fully gone). */
|
|
49
|
-
export declare const FACING_LO = 0.15;
|
|
50
|
-
/** The opacity facing-gain (dead-front lifts to facingLo + facingHi). */
|
|
51
|
-
export declare const FACING_HI = 0.85;
|
|
52
|
-
/** The size depth-of-field taper base (a dead-back dot is 0.6× the dead-front size). */
|
|
53
|
-
export declare const SIZE_TAPER_BASE = 0.6;
|
|
54
|
-
/** The size depth-of-field taper gain. */
|
|
55
|
-
export declare const SIZE_TAPER_GAIN = 0.4;
|
|
56
|
-
/**
|
|
57
|
-
* The §T2 depth-fade — the part that makes the dot field READ as a sphere. After the spin,
|
|
58
|
-
* modulate per-dot opacity + size by the rotated-normal's camera-facing-ness (a SOFT
|
|
59
|
-
* falloff, NOT a binary back-face cull — the soft fade is what reads as a translucent
|
|
60
|
-
* shell vs a flat disc). For a sphere centered at origin the surface normal IS the
|
|
61
|
-
* normalized dot position, so the facing term is the rotated-normal's z:
|
|
62
|
-
*
|
|
63
|
-
* facing = clamp(n.z · 0.5 + 0.5, 0, 1) // 1 = dead-front, 0 = dead-back
|
|
64
|
-
* opacity = facingLo + facingHi · facing // 0.15 + 0.85·facing
|
|
65
|
-
* size = 0.6 + 0.4 · facing // the DOF dot-size taper
|
|
66
|
-
*
|
|
67
|
-
* `depthFade` ∈ [0,1] scales the facing GAIN (depthFade=1 → the full 0.85 shell read;
|
|
68
|
-
* depthFade=0 → flat uniform opacity, the no-shell degenerate the gate's clause-6 flat-
|
|
69
|
-
* uniform bite catches).
|
|
70
|
-
*/
|
|
71
|
-
export declare function facingFade(normal: Vec3, depthFade?: number): FacingFade;
|
|
72
|
-
/**
|
|
73
|
-
* The spin matrix at time `t` — a slow Y-rotation about a gently TILTED axis (a tilted
|
|
74
|
-
* globe reads more alive than a dead-vertical spin). The axis is the Y-axis tilted by
|
|
75
|
-
* `axisTilt` (radians) toward +x; the rotation angle is `rate · t`. Returns a row-major
|
|
76
|
-
* mat3 the WGSL transcribes column-for-column (mat3x3 is column-major → the transpose is
|
|
77
|
-
* written as the SAME columns). A fixed `renderAt(t)` drives it deterministically for the
|
|
78
|
-
* π capture (the spin reads at the same `t` on every host).
|
|
79
|
-
*/
|
|
80
|
-
export declare function spinMatrix(t: number, axisTilt: number, rate: number): Mat3;
|
|
81
|
-
/** Apply a row-major mat3 to a Vec3 (the rotated surface normal `n = spin · unitPos`). */
|
|
82
|
-
export declare function applyMat3(m: Mat3, v: Vec3): Vec3;
|
|
83
|
-
/**
|
|
84
|
-
* The breathing radius scalar at time `t` — a gentle `R·(1 + breathDepth·sin(t·breathRate))`
|
|
85
|
-
* pulse, the calmest non-dead register (`breathDepth ≈ 0.02`, far below the dot-flow sweep).
|
|
86
|
-
* Returns the multiplier on the base radius (1 at rest when `depth=0`). The WGSL transcribes
|
|
87
|
-
* the SAME `1 + depth·sin(t·rate)` form.
|
|
88
|
-
*/
|
|
89
|
-
export declare function breathRadius(t: number, depth: number, rate: number): number;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import type { OklchStop } from "../../../../composables/color";
|
|
2
|
-
import { type DotMatrixConfig } from "../constants";
|
|
3
|
-
/** The byte size of one dot in the instance buffer (vec4<f32> = unitPos.xyz + sphereIdx). */
|
|
4
|
-
export declare const DOT_BYTES = 16;
|
|
5
|
-
/** The per-sphere offset of the SECOND globe (the reference two-globe composition). */
|
|
6
|
-
export declare const SPHERE2_OFFSET: {
|
|
7
|
-
readonly x: 0.62;
|
|
8
|
-
readonly y: 0.32;
|
|
9
|
-
};
|
|
10
|
-
/** The per-sphere scale of the SECOND globe (a smaller satellite). */
|
|
11
|
-
export declare const SPHERE2_SCALE = 0.46;
|
|
12
|
-
/** The transient pointer state the interactive arm writes (closed over, never the config). */
|
|
13
|
-
export interface DotPointerState {
|
|
14
|
-
/** Normalized-host pointer (0..1) → NDC offset; (0.5,0.5) is screen center. */
|
|
15
|
-
x: number;
|
|
16
|
-
y: number;
|
|
17
|
-
/** 1 while the pointer is over the host, 0 at rest (decays the parallax/dimple). */
|
|
18
|
-
active: number;
|
|
19
|
-
/** The repel/attract sign × strength (the dimple direction · velocity scale). */
|
|
20
|
-
push: number;
|
|
21
|
-
/** The accel-burst brightness/scale bloom 0..1 (the flick term). */
|
|
22
|
-
bloom: number;
|
|
23
|
-
/**
|
|
24
|
-
* The travel VELOCITY (normalized-host units/sec, the shared field's already-computed
|
|
25
|
-
* `pointer.velocity` — the dead-lever reclaim). Drives the anisotropic squash/stretch +
|
|
26
|
-
* the comet-tail wake direction. Mapped to NDC/frame deltas in the shader.
|
|
27
|
-
*/
|
|
28
|
-
velX: number;
|
|
29
|
-
velY: number;
|
|
30
|
-
/** The flick-take ACCEL magnitude (`hypot(pointer.acceleration)`, also unused today). */
|
|
31
|
-
accelMag: number;
|
|
32
|
-
}
|
|
33
|
-
/** A fresh resting pointer state. */
|
|
34
|
-
export declare function restingPointer(): DotPointerState;
|
|
35
|
-
export declare const DOT_RENDER_UNIFORM_BYTES: number;
|
|
36
|
-
export interface DotUniformScratch {
|
|
37
|
-
buffer: ArrayBuffer;
|
|
38
|
-
f32: Float32Array;
|
|
39
|
-
i32: Int32Array;
|
|
40
|
-
}
|
|
41
|
-
export declare function createDotRenderScratch(): DotUniformScratch;
|
|
42
|
-
/**
|
|
43
|
-
* Build the STATIC Fibonacci-phyllotaxis instance buffer — `dotCount` dots per sphere,
|
|
44
|
-
* each `(unitPos.xyz, sphereIdx)`. The second sphere's dots are CONCATENATED with
|
|
45
|
-
* `sphereIdx = 1` so the shader resolves the per-sphere offset/scale. Built ONCE (the
|
|
46
|
-
* layout is time-invariant; the spin + depth-fade are per-frame). The WGSL
|
|
47
|
-
* `instance_index → unit position` mapping reads this buffer (it does NOT re-derive the
|
|
48
|
-
* phyllotaxis on the GPU — the JS+GPU agree by construction).
|
|
49
|
-
*/
|
|
50
|
-
export declare function buildDotsBuffer(config: DotMatrixConfig): Float32Array;
|
|
51
|
-
/** The total dot instance count for a config (per-sphere × spheres; plane is single). */
|
|
52
|
-
export declare function dotInstanceCount(config: DotMatrixConfig): number;
|
|
53
|
-
/**
|
|
54
|
-
* Pack the per-frame render uniforms in place. `timeSec` drives the spin matrix + the
|
|
55
|
-
* breathing; `pointer` carries the interactive parallax/dimple/bloom; `palette` is the
|
|
56
|
-
* live ColorResolver stops (re-read each frame so a studio edit reaches the buffer).
|
|
57
|
-
*/
|
|
58
|
-
export declare function packDotRenderUniforms(scratch: DotUniformScratch, config: DotMatrixConfig, timeSec: number, resolutionPx: {
|
|
59
|
-
w: number;
|
|
60
|
-
h: number;
|
|
61
|
-
}, dpr: number, pointer: DotPointerState, breathRadius: number, palette: OklchStop[]): DotUniformScratch;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type Ref } from "vue";
|
|
2
|
-
import { type GpuBackend } from "../../../../composables/glass/webgpu/useGpuSubstrate";
|
|
3
|
-
import type { OklchStop } from "../../../../composables/color";
|
|
4
|
-
import type { DotMatrixConfig } from "../constants";
|
|
5
|
-
export interface UseDotMatrixOptions {
|
|
6
|
-
config: DotMatrixConfig;
|
|
7
|
-
/** Resolve the dot-color palette as OKLCh (the demo themes it; default warm-identity). */
|
|
8
|
-
getPalette: () => OklchStop[];
|
|
9
|
-
/** `"capture"` → renderAt-only (the deterministic π capture path). Default `"live"`. */
|
|
10
|
-
mode?: "live" | "capture";
|
|
11
|
-
}
|
|
12
|
-
/** The uniform handle a consumer wires its lifecycle against (backend-agnostic). */
|
|
13
|
-
export interface DotMatrixHandle {
|
|
14
|
-
/** The resolved backend (`"webgpu"` where supported, else the WebGL2 fallback). */
|
|
15
|
-
readonly backend: GpuBackend;
|
|
16
|
-
/** Park the loop (the WCAG-2.2.2 pause seam — `DockBackgroundToggle` wires this). */
|
|
17
|
-
pause: () => void;
|
|
18
|
-
/** Re-arm the loop. */
|
|
19
|
-
resume: () => void;
|
|
20
|
-
/** Re-arm a parked loop on demand (a pointer/setter that re-introduced motion). */
|
|
21
|
-
wake: () => void;
|
|
22
|
-
/** Draw one frame out-of-loop (capture / thumbnail). */
|
|
23
|
-
renderAt: (timeSec: number) => void;
|
|
24
|
-
/** The live `prefers-reduced-motion: reduce` state. */
|
|
25
|
-
readonly reducedMotion: boolean;
|
|
26
|
-
/** Tear down the renderer + release GPU/GL resources. */
|
|
27
|
-
dispose: () => void;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Mount the dot-matrix renderer on `canvasRef`. The WebGPU primary runs the instanced-
|
|
31
|
-
* billboard render pass over the static phyllotaxis dots buffer; the WebGL2 fallback draws
|
|
32
|
-
* the SAME instanced billboards (the ONE math source). Returns the uniform lifecycle handle.
|
|
33
|
-
*/
|
|
34
|
-
export declare function useDotMatrix(canvasRef: Ref<HTMLCanvasElement | null>, options: UseDotMatrixOptions): DotMatrixHandle;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { WebGPUCanvasFrame } from "../../../../composables/glass/webgpu/useWebGPUCanvas";
|
|
2
|
-
import type { WebGLCanvasFrame } from "../../../../composables/glass/webgl/useWebGLCanvas";
|
|
3
|
-
import type { OklchStop } from "../../../../composables/color";
|
|
4
|
-
import { type DotMatrixConfig } from "../constants";
|
|
5
|
-
import { restingPointer, type DotPointerState } from "./uniformBridgeWGPU";
|
|
6
|
-
export interface DotSetupDeps {
|
|
7
|
-
canvas: HTMLCanvasElement;
|
|
8
|
-
config: DotMatrixConfig;
|
|
9
|
-
/** The resolved (ColorResolver) palette stops as OKLCh — re-read each frame. */
|
|
10
|
-
getPalette: () => OklchStop[];
|
|
11
|
-
/** The live transient pointer state (the interactive parallax/dimple/bloom). */
|
|
12
|
-
pointer: DotPointerState;
|
|
13
|
-
/** Demand-gate (the renderer's quiescence layer — substrate-agnostic). */
|
|
14
|
-
shouldContinue: () => boolean;
|
|
15
|
-
/** The per-frame pointer hook — advances the shared field (the no-own-rAF discipline). */
|
|
16
|
-
onFrame?: (timeSec: number) => void;
|
|
17
|
-
/**
|
|
18
|
-
* The live `prefers-reduced-motion` state (read lazily — the handle resolves AFTER the
|
|
19
|
-
* setup closure is built). When true the frame PINS uTime to a fixed √φ rung so the spin
|
|
20
|
-
* AND the per-dot twinkle `sin` are bit-identical across runs (the deterministic static
|
|
21
|
-
* frame — G9). Capture mode is already deterministic via `renderAt(fixedT)`.
|
|
22
|
-
*/
|
|
23
|
-
getReducedMotion?: () => boolean;
|
|
24
|
-
}
|
|
25
|
-
/** Build the dot-matrix `setupWGPU(device, context, format)` callback. */
|
|
26
|
-
export declare function createDotWGPUSetup(deps: DotSetupDeps): (device: GPUDevice, context: GPUCanvasContext, format: GPUTextureFormat) => WebGPUCanvasFrame;
|
|
27
|
-
/**
|
|
28
|
-
* Build the `setupGL(gl)` callback the `createGpuSubstrate` WebGL2 path invokes — the SAME
|
|
29
|
-
* instanced billboards via `gl.drawArraysInstanced`. It seeds the SAME JS phyllotaxis dot
|
|
30
|
-
* buffer the WGSL primary uses + splices the SHARED GLSL color chunk (the ONE color source
|
|
31
|
-
* → no drift between backends). No Canvas2D anywhere (§E).
|
|
32
|
-
*/
|
|
33
|
-
export declare function createDotGLSetup(deps: DotSetupDeps): (gl: WebGL2RenderingContext) => WebGLCanvasFrame;
|
|
34
|
-
export { restingPointer };
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import type { OklchStop } from "../../../composables/color";
|
|
2
|
-
/** Compile-time dot cap — mirrors the WGSL/GLSL instance-buffer array bound. */
|
|
3
|
-
export declare const MAX_DOTS = 4000;
|
|
4
|
-
/** Compile-time palette cap — mirrors the WGSL `MAX_DOT_STOPS` #define. */
|
|
5
|
-
export declare const MAX_DOT_STOPS = 4;
|
|
6
|
-
/** Pointer interaction mode — a repel pushes dots off the surface, attract pulls them in. */
|
|
7
|
-
export type DotPointerMode = "repel" | "attract";
|
|
8
|
-
/** The dot layout register — a 3D phyllotaxis SPHERE (kept) or a flat 2D background PLANE. */
|
|
9
|
-
export type DotLayout = "sphere" | "plane";
|
|
10
|
-
/**
|
|
11
|
-
* The full author schema — the studio's `useConfiguratorState` model. Every field is a
|
|
12
|
-
* tunable the demo configurator drives; the composable resolves it into the uniform table.
|
|
13
|
-
* A NEW schema (no prior `dot-matrix`, no MIGRATION row).
|
|
14
|
-
*/
|
|
15
|
-
export interface DotMatrixConfig {
|
|
16
|
-
/** Dot count on the sphere surface (500–MAX_DOTS; the reference's fine field). */
|
|
17
|
-
dotCount: number;
|
|
18
|
-
/** Sphere radius as a fraction of the view min-dimension (0.2–0.9). */
|
|
19
|
-
radius: number;
|
|
20
|
-
/** Base dot billboard radius in px @ 1× (DPR-aware → crisp). */
|
|
21
|
-
dotSize: number;
|
|
22
|
-
/** The subtle resting opacity (0–1). */
|
|
23
|
-
baseOpacity: number;
|
|
24
|
-
/** Depth-fade strength (0–1; high = strong translucent-shell read). */
|
|
25
|
-
depthFade: number;
|
|
26
|
-
/** The slow dignified Y-spin in rad/s (0–0.3). */
|
|
27
|
-
rotationSpeed: number;
|
|
28
|
-
/** The rotation-axis tilt in degrees (a tilted globe reads more alive; ~23°). */
|
|
29
|
-
axisTilt: number;
|
|
30
|
-
/** The globe count (1 default; the reference two-globe composition is 2). */
|
|
31
|
-
spheres: 1 | 2;
|
|
32
|
-
/** The sub-perceptual breathing radius-pulse depth (0 default; demo 0.02). */
|
|
33
|
-
breathing: number;
|
|
34
|
-
/** The dot-color ramp (the demo themes it mono-white); resolved via the ColorResolver. */
|
|
35
|
-
palette: OklchStop[];
|
|
36
|
-
/** The ground color (the demo sets near-black; default transparent). */
|
|
37
|
-
background: OklchStop | "transparent";
|
|
38
|
-
/** The layout register — 3D sphere (kept preset) or a flat 2D background plane (the default). */
|
|
39
|
-
layout: DotLayout;
|
|
40
|
-
/** Pointer parallax + repel + accel-burst (the §T7 interaction). */
|
|
41
|
-
interactive: boolean;
|
|
42
|
-
/** repel ↔ attract (the dimple direction). */
|
|
43
|
-
pointerMode: DotPointerMode;
|
|
44
|
-
/** The pointer-parallax depth (0–0.3; the screen-center tracks the cursor). */
|
|
45
|
-
parallax: number;
|
|
46
|
-
/** The cursor-gravity well depth — how far a near dot is pulled toward the cursor (NDC). */
|
|
47
|
-
gravityStrength: number;
|
|
48
|
-
/** The cursor-gravity well radius — the falloff width (NDC; WIDE → many dots feel it). */
|
|
49
|
-
gravityRadius: number;
|
|
50
|
-
/**
|
|
51
|
-
* The resting per-dot TWINKLE rate (the living-constellation floor): each dot's opacity
|
|
52
|
-
* breathes on an `instance_index`-hashed phase at this rate (0 = a dead-still field; the
|
|
53
|
-
* demo lifts it). Frozen under PRM (the `sin` reads the pinned capture time).
|
|
54
|
-
*/
|
|
55
|
-
twinkle: number;
|
|
56
|
-
/** ONE static frame then park under `prefers-reduced-motion: reduce`. */
|
|
57
|
-
respectReducedMotion: boolean;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* The warm-cream identity palette (the library default — NOT teal). A two-stop warm-amber
|
|
61
|
-
* ramp over the warm-cream foreground family, mirroring the dot-flow `WARM_IDENTITY_PALETTE`.
|
|
62
|
-
* A consumer (the demo) themes it mono-warm-white-on-near-black through a PRESET, never a
|
|
63
|
-
* token edit.
|
|
64
|
-
*/
|
|
65
|
-
export declare const WARM_IDENTITY_PALETTE: OklchStop[];
|
|
66
|
-
/**
|
|
67
|
-
* The shipped warm-identity default config — the §T5 SUBTLE + CALM register: ONE calm
|
|
68
|
-
* warm-cream globe of fine dots on a transparent ground (the glass card shows through),
|
|
69
|
-
* slowly rotating on a tilted axis. The depth-fade carries the sphere read; the second
|
|
70
|
-
* sphere + the breathing + the near-black ground are DEMO presets (presets-in-consumers).
|
|
71
|
-
*/
|
|
72
|
-
export declare const DEFAULT_DOT_MATRIX_CONFIG: DotMatrixConfig;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { default as DotMatrix } from "./DotMatrix.vue";
|
|
2
|
-
export { useDotMatrix, type DotMatrixHandle, type UseDotMatrixOptions, } from "./composables/useDotMatrix";
|
|
3
|
-
export { type DotMatrixConfig, type DotPointerMode, type DotLayout, DEFAULT_DOT_MATRIX_CONFIG, WARM_IDENTITY_PALETTE, MAX_DOTS, MAX_DOT_STOPS, } from "./constants";
|
|
4
|
-
export { type Vec3, type Mat3, type FacingFade, fibonacciDot, facingFade, spinMatrix, applyMat3, breathRadius, GOLDEN_RATIO, GOLDEN_ANGLE, FACING_LO, FACING_HI, SIZE_TAPER_BASE, SIZE_TAPER_GAIN, } from "./composables/dotMatrixField";
|
|
5
|
-
export type { OklchStop } from "../../../composables/color";
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/** The instanced-billboard VERTEX shader (gl_VertexID quad + instanced dot attribute). */
|
|
2
|
-
export declare const DOT_MATRIX_VERT_GLSL = "#version 300 es\nprecision highp float;\n\n#define MAX_DOT_STOPS 4\n#define GOLDEN_ANGLE 2.399963229728653\n\n// \u2500\u2500 The \u221A\u03C6 proportion ladder (the liquid-lens constants; the line-for-line WGSL twin) \u2500\u2500\n#define PI_CONST 3.141592653589793\n#define TAU 6.283185307179586\n#define PHI 1.618033988749895\n#define SQRT_PHI 1.272019649514069\n#define INV_SQRT_PHI 0.7861513777574233\n#define INV_PHI2 0.3819660112501051\n#define VEL_SCALE 0.18\n#define STRETCH_GAIN 2.4\n#define WAKE_GAIN 12.0\n#define LENS_MAGNIFY SQRT_PHI\n#define RIM_CHROMA 1.0\n#define VIGNETTE_FLOOR INV_PHI2\n#define CAST_OFFSET 0.9\n#define CAST_DARK 0.0\n#define CAST_ALPHA 0.55\n\n// The static quad corner (6 verts: two triangles) + the instanced per-dot data. The draw is\n// 12 verts/instance: gl_VertexID 0..5 the lit dot, 6..11 the cartoon offset-CAST shadow (the\n// SAME instanced draw, zero new buffer). The corner is re-derived from gl_VertexID % 6.\nin vec4 aDot; // (unitPos.xyz, sphereIdx) \u2014 instanced (divisor 1)\n\nuniform vec4 uU0; // (resX, resY, dpr, time)\nuniform vec4 uU1; // (radius, dotSize, baseOpacity, aspect)\nuniform vec4 uU2; // (facingLo, facingHi, sizeLo, sizeHi)\nuniform vec4 uU3; // (parallax, pointerPush, pointerBloom, pointerActive)\nuniform vec4 uU4; // (pointerX, pointerY, sphere2Scale, breathRadius)\nuniform vec4 uU5; // (sphere2OffsetX, sphere2OffsetY, hasBackground, _pad)\nuniform vec4 uU6; // (layout, gravityStrength, gravityRadius, planeScale)\nuniform vec4 uU7; // (velX, velY, twinkleRate, wakeStrength)\nuniform mat3 uSpin; // the slow tilted Y-rotation\n\nout vec2 vLocal; // [-1,1] billboard-local for the SDF circle\nout float vBright; // facing-driven brightness\nout float vAlpha; // facing-driven opacity\nout float vTone; // palette tone (0 = bright cream near-front, 1 = amber rim)\nout float vCast; // 1 = the cartoon offset-cast shadow billboard, 0 = the lit dot\n\nfloat facingTerm(vec3 n) {\n return clamp(n.z * 0.5 + 0.5, 0.0, 1.0); // 1 = dead-front\n}\n\nvoid main() {\n // The two-triangle quad corners (6 verts), re-derived per gl_VertexID (no aCorner buffer).\n vec2 cornerLUT[6] = vec2[6](\n vec2(-1.0, -1.0), vec2(1.0, -1.0), vec2(-1.0, 1.0),\n vec2(-1.0, 1.0), vec2(1.0, -1.0), vec2(1.0, 1.0)\n );\n bool isCast = gl_VertexID >= 6;\n vec2 aCorner = cornerLUT[gl_VertexID % 6];\n\n vec3 unitPos = aDot.xyz;\n float sphereIdx = aDot.w;\n\n float breath = uU4.w;\n float pAct = uU3.w;\n vec2 pointerNdc = vec2(uU4.x * 2.0 - 1.0, 1.0 - uU4.y * 2.0);\n bool isPlane = uU6.x > 0.5;\n float gravStrength = uU6.y;\n float gravRadius = max(uU6.z, 1e-3);\n float planeScale = uU6.w;\n // The reclaimed travel velocity \u2192 the lens-frame vector (host +y is DOWN \u2192 flip to NDC +up).\n vec2 velRaw = vec2(uU7.x, -uU7.y);\n float vmag = length(velRaw) * VEL_SCALE;\n vec2 vdir = length(velRaw) > 1e-5 ? velRaw / max(length(velRaw), 1e-5) : vec2(0.0);\n float wake = uU7.w; // the spring-engaged active (\u03B6=0.7) \u2192 the wake LAGS + overshoots\n float twkRate = uU7.z;\n // The per-dot twinkle phase \u2014 an on-GPU instance hash (no new buffer); uTime pinned under PRM.\n float twkPhase = fract(sin(float(gl_InstanceID) * 12.9898) * 43758.5453) * TAU;\n float twk = twkRate * sin(uU0.w * (twkRate + 0.6) + twkPhase);\n\n vec2 center2d;\n float facing;\n float sizeTaper;\n float burstScale;\n float facingOpacity;\n float burstBright;\n float castLobe = 0.0;\n\n if (isPlane) {\n // \u2500\u2500 The 2D-PLANE register \u2192 the DIRECTIONAL LIQUID LENS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n vec2 base2d = unitPos.xy * planeScale;\n\n // 1. ANTICIPATION \u2014 the lens LEADS its math-center along travel.\n vec2 wellC = pointerNdc + vdir * wake * (gravRadius * INV_PHI2 * 0.4);\n vec2 toLens = wellC - base2d;\n\n // 2. SQUASH / STRETCH \u2014 measure distance in a frame STRETCHED along travel.\n float along = dot(toLens, vdir);\n float perp = dot(toLens, vec2(-vdir.y, vdir.x));\n float stretch = 1.0 + clamp(vmag * STRETCH_GAIN, 0.0, INV_SQRT_PHI);\n float dE = length(vec2(along / stretch, perp * stretch));\n float well = gravStrength * exp(-(dE * dE) / (2.0 * gravRadius * gravRadius)) * pAct;\n vec2 lift = toLens * well;\n\n // 3. COMET-TAIL WAKE \u2014 a pull streamed BEHIND the lens (follow-through).\n float behind = max(0.0, -along);\n float tail = wake * exp(-(behind * behind) / (gravRadius * gravRadius)) * vmag * WAKE_GAIN;\n lift -= vdir * tail * gravRadius;\n vec2 burstPull = toLens * (uU3.z * 0.4 * exp(-(dE * dE) / (gravRadius * gravRadius))) * pAct;\n center2d = base2d + lift + burstPull;\n\n // 4. LENS OPTICS \u2014 magnify + brightness + the chromatic rim.\n float nearness = exp(-(dE * dE) / (2.0 * gravRadius * gravRadius));\n facing = nearness;\n sizeTaper = 0.8 + LENS_MAGNIFY * nearness * pAct;\n burstScale = 1.0 + uU3.z * 0.6 * nearness;\n float wakeGlow = behind * vmag * 1.4 * pAct;\n // 5. CONTENT-DEFERENTIAL VIGNETTE \u2014 dense edges, clear center; the lens re-densifies it.\n float presence = mix(VIGNETTE_FLOOR, 1.0, smoothstep(0.0, 1.0, length(base2d) / max(planeScale, 1e-3)));\n presence = max(presence, nearness * pAct);\n facingOpacity = (uU2.x + uU2.y * (0.5 + twk + 0.6 * nearness * pAct)) * presence;\n burstBright = 1.0 + (0.5 * nearness + wakeGlow + uU3.z * 0.8 * nearness) * pAct;\n castLobe = nearness * pAct;\n } else {\n // \u2500\u2500 The 3D-SPHERE register \u2192 the SAME directional lens (one warp idiom) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n float sphereScale = uU1.x;\n vec2 sphereOffset = vec2(0.0);\n if (sphereIdx > 0.5) {\n sphereScale = uU1.x * uU4.z;\n sphereOffset = vec2(uU5.x, uU5.y);\n }\n vec3 n = uSpin * unitPos;\n facing = facingTerm(n);\n vec2 screenN = n.xy * sphereScale + sphereOffset;\n vec2 toLensS = pointerNdc - screenN;\n float alongS = dot(toLensS, vdir);\n float perpS = dot(toLensS, vec2(-vdir.y, vdir.x));\n float stretchS = 1.0 + clamp(vmag * STRETCH_GAIN, 0.0, INV_SQRT_PHI);\n float dES = length(vec2(alongS / stretchS, perpS * stretchS));\n float pd = dES;\n float well = exp(-(dES * dES) / (2.0 * gravRadius * gravRadius)) * gravStrength * uU3.y * pAct * facing;\n vec2 lift = -toLensS * well;\n float behindS = max(0.0, -alongS);\n float tailS = wake * exp(-(behindS * behindS) / (gravRadius * gravRadius)) * vmag * WAKE_GAIN * facing;\n lift -= vdir * tailS * gravRadius * sign(uU3.y);\n vec2 parallaxOff = pointerNdc * uU3.x * pAct;\n center2d = n.xy * sphereScale * breath + sphereOffset + lift + parallaxOff;\n float nearnessS = exp(-(dES * dES) / (2.0 * gravRadius * gravRadius)) * facing;\n sizeTaper = uU2.z + uU2.w * facing + LENS_MAGNIFY * 0.4 * nearnessS * pAct;\n burstScale = 1.0 + uU3.z * exp(-(dES * dES) / (gravRadius * gravRadius));\n float wakeGlowS = behindS * vmag * 1.0 * pAct * facing;\n facingOpacity = uU2.x + uU2.y * facing + uU2.y * twk * facing;\n burstBright = 1.0 + (uU3.z * 0.8 * exp(-(dES * dES) / (gravRadius * gravRadius)) + wakeGlowS) * pAct;\n castLobe = nearnessS * pAct;\n }\n\n float dotR = uU1.y * sizeTaper * burstScale;\n float offX = aCorner.x * dotR;\n float offY = aCorner.y * dotR;\n\n // THE CARTOON OFFSET-CAST \u2014 verts 6..11 are a dark, lower-\u03B1 duplicate offset along a \u221A\u03C6\n // light vector (down-right), gated by castLobe so the lobe appears only under the lens.\n vec2 lightVec = normalize(vec2(SQRT_PHI, -1.0)) * CAST_OFFSET * dotR;\n vec2 castShift = isCast ? lightVec : vec2(0.0);\n float castStrength = isCast ? smoothstep(0.05, 0.5, castLobe) : 1.0;\n\n vLocal = aCorner;\n vCast = isCast ? 1.0 : 0.0;\n if (isCast) {\n vBright = CAST_DARK;\n vAlpha = clamp(uU1.z * CAST_ALPHA * facingOpacity * castStrength, 0.0, 1.0);\n vTone = 1.0;\n } else {\n vBright = facingOpacity * burstBright;\n vAlpha = clamp(uU1.z * facingOpacity * burstBright, 0.0, 1.0);\n // The chromatic RIM refraction (REPLACES the old depth-only 1.0-facing tone \u2014 EXCISED).\n float rim = smoothstep(0.25, 0.6, 1.0 - facing) * RIM_CHROMA;\n vTone = clamp(max(1.0 - facing, rim * facing), 0.0, 1.0);\n }\n\n // The whole sphere + quad is built in a SQUARE space (so the globe stays circular); the\n // final clip-space x divides by aspect so a wide canvas does not squash it into an ellipse.\n float aspect = max(uU1.w, 1e-4);\n gl_Position = vec4((center2d.x + offX + castShift.x) / aspect, center2d.y + offY + castShift.y, 0.0, 1.0);\n}";
|
|
3
|
-
/** The crisp fwidth-SDF dot fragment (the ONE AA canon; splices the shared color chunk). */
|
|
4
|
-
export declare const DOT_MATRIX_FRAG_GLSL = "#version 300 es\nprecision highp float;\n\n#define MAX_DOT_STOPS 4\n\nin vec2 vLocal;\nin float vBright;\nin float vAlpha;\nin float vTone;\nin float vCast;\nout vec4 fragColor;\n\nuniform vec4 uBg; // (background.rgb, hasBackground)\nuniform int uStopCount;\nuniform vec3 uPalette[MAX_DOT_STOPS]; // linear-sRGB stops\n\nconst mat2 FBM_ROT = mat2(0.8, 0.6, -0.6, 0.8);\n\n// PI in scope for the spliced OKLCH hue fns (the procedural-color chunk contract:\n// the consumer splices the matrices chunk + DEFINES PI FIRST \u2014 see\n// procedural-color.glsl.ts \u00A7\"PI being in scope\"). The dot SDF main() reads only the\n// OKLAB path, but the whole spliced chunk still compiles, so PI must be declared.\n#define PI 3.141592653589793\n\nfloat srgbToLinearCh(float c) {\n return c <= 0.04045 ? c / 12.92 : pow((c + 0.055) / 1.055, 2.4);\n}\nvec3 srgbToLinear(vec3 c) {\n return vec3(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfloat linearToSrgbCh(float c) {\n return c <= 0.0031308 ? c * 12.92 : 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nvec3 linearToSrgb(vec3 c) {\n return vec3(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS (constants.ts), row-major; written here as GLSL\n// columns (= the transpose) so mat3 * vec3 evaluates the row-major M\u00B7v.\nconst mat3 LINEAR_SRGB_TO_LMS = mat3(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients (gamut.ts lines 295-297 \u2014\n// these differ at the ~1e-9 digit from LMS_TO_OKLAB_MATRIX; use the inline ones to\n// mirror the exact value.js path), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_OKLAB = mat3(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF (constants.ts), row-major \u2192 GLSL columns. Rows:\n// l = [1, 0.3963377774, 0.2158037573], m = [1, -0.1055613458, -0.0638541728],\n// s = [1, -0.0894841775, -1.2914855480].\nconst mat3 OKLAB_TO_LMS = mat3(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB (constants.ts), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_LINEAR_SRGB = mat3(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nvec3 srgbToOklab(vec3 c) {\n vec3 lin = srgbToLinear(c);\n vec3 lms = LINEAR_SRGB_TO_LMS * lin;\n vec3 lmsCbrt = sign(lms) * pow(abs(lms), vec3(1.0 / 3.0));\n return LMS_TO_OKLAB * lmsCbrt;\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nvec3 oklabToLinearSrgb(vec3 lab) {\n vec3 lms_ = OKLAB_TO_LMS * lab;\n vec3 lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS. Mirrors value.js rawOklabToOklch (which returns\n// degrees; we stay in radians and only fold to [0, 2pi)).\nvec3 oklabToOklch(vec3 lab) {\n float C = length(lab.yz);\n float H = atan(lab.z, lab.y);\n if (H < 0.0) H += 2.0 * PI;\n return vec3(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nvec3 oklchToOklab(vec3 lch) {\n return vec3(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\nvec3 samplePaletteLin(float t) {\n if (uStopCount <= 1) return uPalette[0];\n float n = float(uStopCount);\n float ft = clamp(t, 0.0, 1.0) * (n - 1.0);\n int i0 = int(floor(ft));\n int i1 = min(i0 + 1, uStopCount - 1);\n float f = ft - float(i0);\n vec3 lmsA = LINEAR_SRGB_TO_LMS * uPalette[i0];\n vec3 lmsB = LINEAR_SRGB_TO_LMS * uPalette[i1];\n vec3 labA = LMS_TO_OKLAB * (sign(lmsA) * pow(abs(lmsA), vec3(1.0 / 3.0)));\n vec3 labB = LMS_TO_OKLAB * (sign(lmsB) * pow(abs(lmsB), vec3(1.0 / 3.0)));\n return oklabToLinearSrgb(mix(labA, labB, f));\n}\n\nvoid main() {\n // The crisp fwidth-smoothstep SDF circle (the ONE AA canon; ~1px band at any DPR).\n float d = length(vLocal) - 1.0;\n float aa = max(fwidth(d), 1e-4);\n float coverage = 1.0 - smoothstep(-aa, aa, d);\n if (coverage < 0.002) discard;\n // The cartoon-cast billboard collapses to nothing away from the lens \u2014 drop the dead quads.\n if (vCast > 0.5 && vAlpha < 0.003) discard;\n\n vec3 lin = samplePaletteLin(vTone) * clamp(vBright, 0.0, 1.6);\n float alpha = vAlpha * coverage;\n vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));\n fragColor = vec4(rgb * alpha, alpha);\n}";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const DOT_MATRIX_WGSL = "\nconst PI: f32 = 3.141592653589793;\nconst TAU: f32 = 6.283185307179586;\nconst MAX_DOT_STOPS: i32 = 4;\n// The golden-angle constant (transcribes dotMatrixField.ts GOLDEN_ANGLE = PI*(3-sqrt5)).\nconst GOLDEN_ANGLE: f32 = 2.399963229728653;\n\n// \u2500\u2500 The \u221A\u03C6 proportion ladder (the liquid-lens constants; Aristotelian, no magic numbers) \u2500\u2500\nconst PHI: f32 = 1.618033988749895; // the golden ratio \u03C6\nconst SQRT_PHI: f32 = 1.272019649514069; // \u221A\u03C6\nconst INV_SQRT_PHI: f32 = 0.7861513777574233; // 1/\u221A\u03C6 \u2248 the squash/stretch cap\nconst INV_PHI2: f32 = 0.3819660112501051; // 1/\u03C6\u00B2 \u2248 the anticipation-lead rung\n// The velocity (normalized-host/sec) \u2192 NDC/lens-frame scale: a sweep across the host reads as a\n// strong-but-bounded ellipse. The lens constants ladder off \u221A\u03C6 off this scaled vmag.\nconst VEL_SCALE: f32 = 0.18;\nconst STRETCH_GAIN: f32 = 2.4; // vmag \u2192 ellipse eccentricity gain\nconst WAKE_GAIN: f32 = 12.0; // the comet-tail displacement gain (spike-calibrated)\nconst LENS_MAGNIFY: f32 = SQRT_PHI; // the dot SWELLS \u221A\u03C6\u00D7 under the lens core (over the 0.8 base)\nconst RIM_CHROMA: f32 = 1.0; // the chromatic-rim tone gain (samples the warmer amber stop)\nconst VIGNETTE_FLOOR: f32 = INV_PHI2; // the resting center-clear floor (dense edges, clear center)\n// The cartoon 1940s offset-cast: a darkened, lower-\u03B1, offset duplicate billboard (the SAME\n// instanced draw, verts 6..11). The light vector is a \u221A\u03C6-proportioned down-right cast.\nconst CAST_OFFSET: f32 = 0.9; // the cast displacement (\u00D7 dot radius), down-right\nconst CAST_DARK: f32 = 0.0; // the cast samples pure-dark (a shadow lobe, not a tint)\nconst CAST_ALPHA: f32 = 0.55; // the cast's lower opacity (under the lit dot)\n\nstruct Dot {\n // (unitPos.xyz, sphereIdx)\n data: vec4<f32>,\n};\n\n// \u2500\u2500 Render uniforms (the typed-struct source-of-truth \u2014 see uniformBridgeWGPU.ts) \u2500\u2500\nstruct Uniforms {\n // u0: (uResolutionX, uResolutionY, uDpr, uTime)\n u0: vec4<f32>,\n // u1: (uRadius, uDotSize, uBaseOpacity, uAspect)\n u1: vec4<f32>,\n // u2: (uFacingLo, uFacingHi, uSizeLo, uSizeHi)\n u2: vec4<f32>,\n // u3: (uParallax, uPointerPush, uPointerBloom, uPointerActive)\n u3: vec4<f32>,\n // u4: (uPointerX, uPointerY, uSphere2Scale, uBreathRadius)\n u4: vec4<f32>,\n // u5: (uSphere2OffsetX, uSphere2OffsetY, uHasBackground, _pad)\n u5: vec4<f32>,\n // u6: (uLayout, uGravityStrength, uGravityRadius, uPlaneScale) // layout: 0 sphere \u00B7 1 plane\n u6: vec4<f32>,\n // u7: (uVelX, uVelY, uTwinkleRate, uWakeStrength) // the reclaimed travel-velocity lane\n u7: vec4<f32>,\n spin: mat3x3<f32>,\n // ints: (uStopCount, uDotCount, uSpheres, _pad)\n ints: vec4<i32>,\n // bg: (background.rgb, _pad)\n bg: vec4<f32>,\n palette: array<vec4<f32>, 4>,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var<storage, read> dots: array<Dot>;\n\n\nfn srgbToLinearCh(c: f32) -> f32 {\n if (c <= 0.04045) { return c / 12.92; }\n return pow((c + 0.055) / 1.055, 2.4);\n}\nfn srgbToLinear(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfn linearToSrgbCh(c: f32) -> f32 {\n if (c <= 0.0031308) { return c * 12.92; }\n return 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nfn linearToSrgb(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS, row-major \u2192 WGSL columns (= the transpose).\nconst LINEAR_SRGB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients, row-major \u2192 WGSL columns.\nconst LMS_TO_OKLAB: mat3x3<f32> = mat3x3<f32>(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF, row-major \u2192 WGSL columns.\nconst OKLAB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB, row-major \u2192 WGSL columns.\nconst LMS_TO_LINEAR_SRGB: mat3x3<f32> = mat3x3<f32>(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\nfn cbrt3(v: vec3<f32>) -> vec3<f32> {\n return sign(v) * pow(abs(v), vec3<f32>(1.0 / 3.0));\n}\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nfn srgbToOklab(c: vec3<f32>) -> vec3<f32> {\n let lin = srgbToLinear(c);\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nfn oklabToLinearSrgb(lab: vec3<f32>) -> vec3<f32> {\n let lms_ = OKLAB_TO_LMS * lab;\n let lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS, folded to [0, 2pi). Mirrors value.js rawOklabToOklch.\nfn oklabToOklch(lab: vec3<f32>) -> vec3<f32> {\n let C = length(lab.yz);\n var H = atan2(lab.z, lab.y);\n if (H < 0.0) { H = H + 2.0 * PI; }\n return vec3<f32>(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nfn oklchToOklab(lch: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\n// The \u00A7T2 depth-fade (transcribes dotMatrixField.ts facingFade): the rotated-normal's z\n// \u2192 a SOFT facing term \u2192 opacity + size ramps. NOT a binary back-face cull.\nfn facingTerm(n: vec3<f32>) -> f32 {\n return clamp(n.z * 0.5 + 0.5, 0.0, 1.0); // 1 = dead-front, 0 = dead-back\n}\n\n// A 2D dot product \u2014 the local 'let dot = dots[ii].data' SHADOWS the WGSL 'dot()' builtin\n// inside vs_main, so the lens math calls this helper instead (the same value, un-shadowed).\nfn dot2(a: vec2<f32>, b: vec2<f32>) -> f32 {\n return a.x * b.x + a.y * b.y;\n}\n\n// Sample the multi-stop palette (linear-sRGB stops, OKLab mix). t in [0,1].\nfn samplePaletteLin(t: f32) -> vec3<f32> {\n let stopCount = u.ints.x;\n if (stopCount <= 1) { return u.palette[0].rgb; }\n let n = f32(stopCount);\n let ft = clamp(t, 0.0, 1.0) * (n - 1.0);\n let i0 = i32(floor(ft));\n let i1 = min(i0 + 1, stopCount - 1);\n let f = ft - f32(i0);\n let labA = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * u.palette[i0].rgb);\n let labB = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * u.palette[i1].rgb);\n return oklabToLinearSrgb(mix(labA, labB, f));\n}\n\nstruct VSOut {\n @builtin(position) pos: vec4<f32>,\n @location(0) local: vec2<f32>, // [-1,1] billboard-local coords for the SDF circle\n @location(1) bright: f32, // facing-driven brightness [0, ~1.6]\n @location(2) alpha: f32, // facing-driven opacity\n @location(3) tone: f32, // palette tone (0 = bright cream near-front, 1 = amber rim)\n @location(4) cast: f32, // 1 = the cartoon offset-cast shadow billboard, 0 = the lit dot\n};\n\n@vertex\nfn vs_main(\n @builtin(vertex_index) vi: u32,\n @builtin(instance_index) ii: u32,\n) -> VSOut {\n // Two-triangle quad corners in billboard-local space (camera-facing by construction).\n // 12 verts/instance: 0..5 the LIT dot, 6..11 the cartoon offset-CAST shadow duplicate (the\n // SAME instanced draw, zero new buffer \u2014 the 1940s layered-offset cast as a binding precept).\n var corners = array<vec2<f32>, 6>(\n vec2<f32>(-1.0, -1.0), vec2<f32>(1.0, -1.0), vec2<f32>(-1.0, 1.0),\n vec2<f32>(-1.0, 1.0), vec2<f32>(1.0, -1.0), vec2<f32>(1.0, 1.0),\n );\n let isCast = vi >= 6u;\n let local = corners[vi % 6u];\n\n let dot = dots[ii].data;\n var unitPos = dot.xyz; // the STATIC phyllotaxis position (JS-computed)\n let sphereIdx = dot.w;\n\n let breath = u.u4.w;\n let pAct = u.u3.w;\n let pointerNdc = vec2<f32>(u.u4.x * 2.0 - 1.0, 1.0 - u.u4.y * 2.0);\n let isPlane = u.u6.x > 0.5;\n let gravStrength = u.u6.y;\n let gravRadius = max(u.u6.z, 1e-3);\n let planeScale = u.u6.w;\n // The reclaimed travel velocity \u2192 the lens-frame vector (host +y is DOWN \u2192 flip to NDC +up).\n let velRaw = vec2<f32>(u.u7.x, -u.u7.y);\n let vmag = length(velRaw) * VEL_SCALE;\n let vdir = select(vec2<f32>(0.0, 0.0), velRaw / max(length(velRaw), 1e-5), length(velRaw) > 1e-5);\n let wake = u.u7.w; // the spring-engaged active (\u03B6=0.7) \u2192 the wake LAGS + overshoots\n let twkRate = u.u7.z;\n // The per-dot twinkle phase \u2014 an on-GPU instance_index hash (no new buffer); the resting\n // field becomes a LIVING warm constellation. uTime is pinned under PRM (deterministic capture).\n let twkPhase = fract(sin(f32(ii) * 12.9898) * 43758.5453) * TAU;\n let twk = twkRate * sin(u.u0.w * (twkRate + 0.6) + twkPhase);\n\n var center2d: vec2<f32>;\n var facing: f32;\n var sizeTaper: f32;\n var burstScale: f32;\n var facingOpacity: f32;\n var burstBright: f32;\n var castLobe: f32 = 0.0; // the cartoon-cast strength (nearness\u00B7pAct), set per-register\n\n if (isPlane) {\n // \u2500\u2500 The 2D-PLANE register \u2192 the DIRECTIONAL LIQUID LENS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n // A heavy liquid-glass lens dragged across a taut warm membrane: it LEADS its travel,\n // STRETCHES the gathered dots along the travel axis, drags an ember comet-tail WAKE behind,\n // and MAGNIFIES+refracts the lattice beneath it. (Replaces the symmetric 'toCursor*well' \u2014\n // clean break, no alias, no dual path; the reclaimed velocity makes the warp directional.)\n let base2d = unitPos.xy * planeScale;\n\n // 1. ANTICIPATION \u2014 the lens LEADS its math-center along travel (dots ahead feel it early).\n let wellC = pointerNdc + vdir * wake * (gravRadius * INV_PHI2 * 0.4);\n let toLens = wellC - base2d;\n\n // 2. SQUASH / STRETCH \u2014 measure distance in a frame STRETCHED along travel (vol-preserving).\n let along = dot2(toLens, vdir);\n let perp = dot2(toLens, vec2<f32>(-vdir.y, vdir.x));\n let stretch = 1.0 + clamp(vmag * STRETCH_GAIN, 0.0, INV_SQRT_PHI);\n let dE = length(vec2<f32>(along / stretch, perp * stretch));\n let well = gravStrength * exp(-(dE * dE) / (2.0 * gravRadius * gravRadius)) * pAct;\n var lift = toLens * well;\n\n // 3. COMET-TAIL WAKE \u2014 a pull streamed BEHIND the lens (overlapping action; follow-through).\n let behind = max(0.0, -along);\n let tail = wake * exp(-(behind * behind) / (gravRadius * gravRadius)) * vmag * WAKE_GAIN;\n lift = lift - vdir * tail * gravRadius;\n // The flick BURST over-extends the gather then the spring snaps it (the cartoon take).\n let burstPull = toLens * (u.u3.z * 0.4 * exp(-(dE * dE) / (gravRadius * gravRadius))) * pAct;\n center2d = base2d + lift + burstPull;\n\n // 4. LENS OPTICS \u2014 the ellipse nearness drives magnify + brightness + the chromatic rim.\n let nearness = exp(-(dE * dE) / (2.0 * gravRadius * gravRadius));\n facing = nearness;\n sizeTaper = 0.8 + LENS_MAGNIFY * nearness * pAct; // the dot SWELLS (a lens magnifies)\n burstScale = 1.0 + u.u3.z * 0.6 * nearness;\n // the comet-tail also reads via LUMINANCE (trailing dots glow \u221D behind\u00B7vmag \u2014 the PRIMARY\n // wake witness; the displacement alone is fragile, the spike proved).\n let wakeGlow = behind * vmag * 1.4 * pAct;\n // 5. CONTENT-DEFERENTIAL VIGNETTE \u2014 dense edges, clear center (the field FRAMES the content);\n // the cursor-lens RE-DENSIFIES the center it enters (the calm-until-touched duality).\n var presence = mix(VIGNETTE_FLOOR, 1.0, smoothstep(0.0, 1.0, length(base2d) / max(planeScale, 1e-3)));\n presence = max(presence, nearness * pAct);\n // the resting TWINKLE floor + the lens bloom; the vignette modulates the whole field.\n facingOpacity = (u.u2.x + u.u2.y * (0.5 + twk + 0.6 * nearness * pAct)) * presence;\n burstBright = 1.0 + (0.5 * nearness + wakeGlow + u.u3.z * 0.8 * nearness) * pAct;\n castLobe = nearness * pAct; // the cartoon offset-cast under the magnified lozenge\n } else {\n // \u2500\u2500 The 3D-SPHERE register (the KEPT preset \u2014 \"good\") \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n var sphereScale = u.u1.x; // uRadius\n var sphereOffset = vec2<f32>(0.0, 0.0);\n if (sphereIdx > 0.5) {\n sphereScale = u.u1.x * u.u4.z; // uRadius * uSphere2Scale\n sphereOffset = vec2<f32>(u.u5.x, u.u5.y); // uSphere2Offset\n }\n let n = u.spin * unitPos; // the rotated surface NORMAL (the \u00A7T2 facing source)\n facing = facingTerm(n);\n let screenN = n.xy * sphereScale + sphereOffset;\n // The SAME screen-space DIRECTIONAL LENS as the plane (one warp idiom, both registers \u2014\n // the dim-idiom, no second mechanism): the surface dots smear toward the cursor ALONG\n // travel + carry a wake (a finger pressing a dot-globe through glass). Bounded by 'facing'\n // so the near hemisphere leads + the silhouette can't tear.\n let toLensS = pointerNdc - screenN;\n let alongS = dot2(toLensS, vdir);\n let perpS = dot2(toLensS, vec2<f32>(-vdir.y, vdir.x));\n let stretchS = 1.0 + clamp(vmag * STRETCH_GAIN, 0.0, INV_SQRT_PHI);\n let dES = length(vec2<f32>(alongS / stretchS, perpS * stretchS));\n let pd = dES;\n // A repel pushes OUT, an attract pulls IN (u.u3.y sign); facing bounds the near hemisphere.\n let well = exp(-(dES * dES) / (2.0 * gravRadius * gravRadius)) * gravStrength * u.u3.y * pAct * facing;\n var lift = -toLensS * well; // toward (attract) / away (repel) per the u3.y sign baked above\n // The comet-tail WAKE on the near hemisphere (streams behind the cursor along travel).\n let behindS = max(0.0, -alongS);\n let tailS = wake * exp(-(behindS * behindS) / (gravRadius * gravRadius)) * vmag * WAKE_GAIN * facing;\n lift = lift - vdir * tailS * gravRadius * sign(u.u3.y);\n let parallaxOff = pointerNdc * u.u3.x * pAct;\n center2d = n.xy * sphereScale * breath + sphereOffset + lift + parallaxOff;\n let nearnessS = exp(-(dES * dES) / (2.0 * gravRadius * gravRadius)) * facing;\n sizeTaper = u.u2.z + u.u2.w * facing + LENS_MAGNIFY * 0.4 * nearnessS * pAct; // the lens magnify\n burstScale = 1.0 + u.u3.z * exp(-(dES * dES) / (gravRadius * gravRadius));\n let wakeGlowS = behindS * vmag * 1.0 * pAct * facing;\n facingOpacity = u.u2.x + u.u2.y * facing + u.u2.y * twk * facing; // the twinkle rides the facing\n burstBright = 1.0 + (u.u3.z * 0.8 * exp(-(dES * dES) / (gravRadius * gravRadius)) + wakeGlowS) * pAct;\n castLobe = nearnessS * pAct; // the cartoon offset-cast under the smeared near-hemisphere\n }\n\n let dotR = u.u1.y * sizeTaper * burstScale; // uDotSize \u00B7 taper \u00B7 burst\n let offX = local.x * dotR;\n let offY = local.y * dotR;\n\n // THE CARTOON OFFSET-CAST (the 1940s layered-offset shadow, a binding precept). Verts 6..11\n // are a darkened, lower-\u03B1 duplicate billboard offset along a \u221A\u03C6 light vector (down-right),\n // keyed off castLobe (nearness\u00B7pAct) so the shadow lobe appears ONLY under the magnified lens\n // lozenge. When castLobe \u2248 0 the cast collapses to alpha 0 (the fragment discards it).\n let lightVec = normalize(vec2<f32>(SQRT_PHI, -1.0)) * CAST_OFFSET * dotR;\n let castShift = select(vec2<f32>(0.0, 0.0), lightVec, isCast);\n let castStrength = select(1.0, smoothstep(0.05, 0.5, castLobe), isCast);\n\n // The whole sphere + quad is built in a SQUARE space (so the globe stays circular); the\n // final clip-space x divides by aspect so a wide canvas does not squash it into an\n // ellipse (aspect \u2265 1 \u2192 x shrinks; aspect < 1 \u2192 x grows). This keeps the dot quads round\n // AND the sphere circular in PIXELS regardless of the canvas aspect.\n let aspect = max(u.u1.w, 1e-4);\n let clipX = (center2d.x + offX + castShift.x) / aspect;\n let clipY = center2d.y + offY + castShift.y;\n\n var out: VSOut;\n out.pos = vec4<f32>(clipX, clipY, 0.0, 1.0);\n out.local = local;\n out.cast = select(0.0, 1.0, isCast);\n if (isCast) {\n // The cast is a dark shadow lobe \u2014 full dark tone, lower \u03B1, gated by the cast strength.\n out.bright = CAST_DARK;\n out.alpha = clamp(u.u1.z * CAST_ALPHA * facingOpacity * castStrength, 0.0, 1.0);\n out.tone = 1.0;\n } else {\n out.bright = facingOpacity * burstBright;\n out.alpha = clamp(u.u1.z * facingOpacity * burstBright, 0.0, 1.0);\n // The chromatic RIM refraction (REPLACES the old depth-only '1.0 - facing' tone \u2014 EXCISED,\n // no double-write, no legacy). At rest the tone reads the depth/edge; under the lens a faint\n // RIM band glows the warmer-amber stop (tone \u2192 1), the iOS-27 glass chromatic refraction.\n let rim = smoothstep(0.25, 0.6, 1.0 - facing) * RIM_CHROMA;\n out.tone = clamp(max(1.0 - facing, rim * facing), 0.0, 1.0);\n }\n return out;\n}\n\n@fragment\nfn fs_main(in: VSOut) -> @location(0) vec4<f32> {\n // The crisp fwidth-smoothstep SDF circle (the ONE AA canon \u2014 the band is ~1px wide at\n // any DPR/zoom, so fine sub-2px dots stay crisp). d = |uv| - 1; aa = fwidth(d).\n let d = length(in.local) - 1.0;\n let aa = max(fwidth(d), 1e-4);\n let coverage = 1.0 - smoothstep(-aa, aa, d);\n if (coverage < 0.002) { discard; }\n // The cartoon-cast billboard collapses to nothing away from the lens \u2014 drop the dead quads.\n if (in.cast > 0.5 && in.alpha < 0.003) { discard; }\n\n // The palette tints the dot by DEPTH (near-front cream \u2192 rim amber); the brightness lights\n // the core. The near hemisphere reads as the bright warm-cream stop, the rim/far fading to\n // the darker amber \u2014 the translucent dot-shell on both grounds.\n let lin = samplePaletteLin(in.tone) * clamp(in.bright, 0.0, 1.6);\n let alpha = in.alpha * coverage;\n let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));\n // Premultiplied-alpha output (the translucent dot-shell additive over the clear).\n return vec4<f32>(rgb * alpha, alpha);\n}\n";
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { type Surface } from "../../ui/_shared/useSurfaceAxis";
|
|
2
|
-
declare const _default: typeof __VLS_export;
|
|
3
|
-
export default _default;
|
|
4
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
5
|
-
buttonPosition?: "left" | "right";
|
|
6
|
-
/** Accessible name for the expand (fullscreen) button. */
|
|
7
|
-
expandLabel?: string;
|
|
8
|
-
/** Accessible name for the collapse (exit fullscreen) button. */
|
|
9
|
-
collapseLabel?: string;
|
|
10
|
-
/** Surface decoration register for the fullscreen overlay
|
|
11
|
-
* (BA.W-SURFACE-AXIS) — `glass` (default) frosts over the page;
|
|
12
|
-
* `opaque` is the solid-wall opt-out; `veil` the borderless plate. */
|
|
13
|
-
surface?: Surface;
|
|
14
|
-
} & {
|
|
15
|
-
/**
|
|
16
|
-
* Two-way `open` model so consumers can drive fullscreen externally
|
|
17
|
-
* (programmatic toggles, route-driven launches, etc.) while the corner
|
|
18
|
-
* buttons continue to operate without parent wiring.
|
|
19
|
-
*/
|
|
20
|
-
open?: boolean;
|
|
21
|
-
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
|
-
"update:open": (value: boolean) => any;
|
|
23
|
-
}, string, import("vue").PublicProps, Readonly<{
|
|
24
|
-
buttonPosition?: "left" | "right";
|
|
25
|
-
/** Accessible name for the expand (fullscreen) button. */
|
|
26
|
-
expandLabel?: string;
|
|
27
|
-
/** Accessible name for the collapse (exit fullscreen) button. */
|
|
28
|
-
collapseLabel?: string;
|
|
29
|
-
/** Surface decoration register for the fullscreen overlay
|
|
30
|
-
* (BA.W-SURFACE-AXIS) — `glass` (default) frosts over the page;
|
|
31
|
-
* `opaque` is the solid-wall opt-out; `veil` the borderless plate. */
|
|
32
|
-
surface?: Surface;
|
|
33
|
-
} & {
|
|
34
|
-
/**
|
|
35
|
-
* Two-way `open` model so consumers can drive fullscreen externally
|
|
36
|
-
* (programmatic toggles, route-driven launches, etc.) while the corner
|
|
37
|
-
* buttons continue to operate without parent wiring.
|
|
38
|
-
*/
|
|
39
|
-
open?: boolean;
|
|
40
|
-
}> & Readonly<{
|
|
41
|
-
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
42
|
-
}>, {
|
|
43
|
-
surface: Surface;
|
|
44
|
-
buttonPosition: "left" | "right";
|
|
45
|
-
expandLabel: string;
|
|
46
|
-
collapseLabel: string;
|
|
47
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
48
|
-
'expand-trigger'?: (props: {
|
|
49
|
-
expand: () => void;
|
|
50
|
-
label: string;
|
|
51
|
-
}) => any;
|
|
52
|
-
} & {
|
|
53
|
-
default?: (props: {
|
|
54
|
-
fullscreen: boolean;
|
|
55
|
-
}) => any;
|
|
56
|
-
} & {
|
|
57
|
-
'fullscreen-chrome'?: (props: {
|
|
58
|
-
collapse: () => void;
|
|
59
|
-
label: string;
|
|
60
|
-
fullscreen: boolean;
|
|
61
|
-
}) => any;
|
|
62
|
-
} & {
|
|
63
|
-
default?: (props: {
|
|
64
|
-
fullscreen: boolean;
|
|
65
|
-
}) => any;
|
|
66
|
-
}>;
|
|
67
|
-
type __VLS_WithSlots<T, S> = T & {
|
|
68
|
-
new (): {
|
|
69
|
-
$slots: S;
|
|
70
|
-
};
|
|
71
|
-
};
|