@mkbabb/glass-ui 4.2.0 → 6.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 +89 -172
- package/dist/DropdownMenuTrigger-BzQtd9lt.js +65 -0
- package/dist/FadingScroll-C1ZWEjmG.js +83 -0
- package/dist/Input-B4WQ_CMc.js +57 -0
- package/dist/PagerDots-BoTQ7g5l.js +307 -0
- package/dist/Surface-BWRfwyn8.js +59 -0
- package/dist/accent-tone-solve-Dii9ePhK.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 +1438 -431
- 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 +1 -0
- package/dist/blob-config.js +2 -0
- package/dist/blob.d.ts +1 -0
- package/dist/blob.js +1601 -0
- package/dist/button-32mg6xA8.js +194 -0
- package/dist/button.d.ts +1 -1
- package/dist/button.js +1 -1
- package/dist/canvas.js +1 -1
- package/dist/card-16xmzIr3.js +303 -0
- package/dist/card.d.ts +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -2
- package/dist/carousel.js +148 -300
- package/dist/chip.d.ts +1 -0
- package/dist/chip.js +81 -0
- package/dist/class-names-5jotTFzp.js +97 -0
- package/dist/coalesce-metric-znAcLzkB.js +13 -0
- package/dist/collapsible-bPzS1aQk.js +63 -0
- package/dist/collapsible.d.ts +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color-swatch.d.ts +1 -1
- package/dist/color-swatch.js +3 -2
- package/dist/color.js +87 -2
- package/dist/command-BjPjUU9z.js +307 -0
- 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 +89 -46
- package/dist/components/_shared/ModalOverlay.vue.d.ts +43 -0
- package/dist/components/_shared/axes.d.ts +21 -0
- package/dist/components/_shared/class-names.d.ts +27 -0
- package/dist/components/_shared/feedback-tone.css +1 -0
- package/dist/components/_shared/field-surfaces.css +1 -0
- package/dist/components/_shared/index.d.ts +6 -0
- package/dist/components/_shared/menu.css +1 -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/_shared/valueDomain.d.ts +6 -0
- package/dist/components/alert/Alert.vue.d.ts +19 -0
- package/dist/components/alert/index.d.ts +8 -0
- package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +56 -0
- package/dist/components/aurora/Aurora.vue.d.ts +110 -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 +142 -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 +82 -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/AvatarImage.vue.d.ts +10 -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 +83 -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 +102 -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 +33 -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/card/card-scroll.css +1 -0
- package/dist/components/card/styles.css +1 -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/index.d.ts +8 -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/combobox/index.d.ts +9 -0
- package/dist/components/command/Command.vue.d.ts +38 -0
- package/dist/components/command/CommandDialog.vue.d.ts +27 -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/completion-seal/styles.css +1 -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/configurator/styles.css +1 -0
- package/dist/components/constellation/Constellation.vue.d.ts +39 -0
- package/dist/components/constellation/composables/useConstellation.d.ts +26 -0
- package/dist/components/constellation/constants.d.ts +87 -0
- package/dist/components/constellation/constellationField.d.ts +70 -0
- package/dist/components/constellation/constellationInteraction.d.ts +141 -0
- package/dist/components/constellation/constellationRender.d.ts +15 -0
- package/dist/components/constellation/constellationTypes.d.ts +423 -0
- package/dist/components/constellation/index.d.ts +6 -0
- package/dist/components/controls/DarkModeToggle.vue.d.ts +32 -0
- package/dist/components/controls/dark-mode-toggle.css +1 -0
- package/dist/components/data-table/DataTable.vue.d.ts +94 -0
- package/dist/components/data-table/index.d.ts +2 -0
- package/dist/components/data-table/types.d.ts +81 -0
- package/dist/components/deck/constants.d.ts +4 -0
- package/dist/components/deck/index.d.ts +7 -0
- package/dist/components/dialog/DialogContent.vue.d.ts +121 -0
- package/dist/components/dialog/index.d.ts +8 -0
- package/dist/components/dialog/placement.css +1 -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 +34 -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 +91 -0
- package/dist/components/dock/composables/dockMorphMeasure.d.ts +96 -0
- package/dist/components/dock/composables/index.d.ts +10 -0
- package/dist/components/dock/composables/useDockClickIntegrity.d.ts +27 -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 +70 -0
- package/dist/components/dock/composables/useDockSearch.d.ts +85 -0
- package/dist/components/dock/composables/useDockShellProps.d.ts +185 -0
- package/dist/components/dock/composables/useDockSpring.d.ts +71 -0
- package/dist/components/dock/composables/useDockState.d.ts +70 -0
- package/dist/components/dock/composables/useDockTouchGate.d.ts +51 -0
- package/dist/components/dock/constants.d.ts +95 -0
- package/dist/components/dock/index.d.ts +20 -0
- package/dist/components/dock/styles/adaptive-legibility.css +1 -0
- package/dist/components/dock/styles/controls/icon-button.css +1 -0
- package/dist/components/dock/styles/controls/tab-button.css +1 -0
- package/dist/components/dock/styles/controls/touch-floor.css +1 -0
- package/dist/components/dock/styles/controls/triggers.css +1 -0
- package/dist/components/dock/styles/controls.css +1 -0
- package/dist/components/dock/styles/crossfade.css +1 -0
- package/dist/components/dock/styles/cta-seat.css +1 -0
- package/dist/components/dock/styles/density.css +1 -0
- package/dist/components/dock/styles/dock.css +1 -0
- package/dist/components/dock/styles/fisheye.css +1 -0
- package/dist/components/dock/styles/index.css +1 -0
- package/dist/components/dock/styles/layer-group.css +1 -0
- package/dist/components/dock/styles/layers.css +1 -0
- package/dist/components/dock/styles/morph.css +1 -0
- package/dist/components/dock/styles/overflow.css +1 -0
- package/dist/components/dock/styles/popover.css +1 -0
- package/dist/components/dock/styles/search.css +1 -0
- package/dist/components/dock/styles/section.css +1 -0
- package/dist/components/dock/styles/shape.css +1 -0
- package/dist/components/dock/styles/shell-regions.css +1 -0
- package/dist/components/dock/styles/shell.css +1 -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/drawerSnapContext.d.ts +28 -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 +33 -0
- package/dist/components/drawer/styles.css +1 -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/DropdownMenuTrigger.vue.d.ts +20 -0
- package/dist/components/dropdown-menu/index.d.ts +15 -0
- package/dist/components/dropdown-menu/useMenuTrigger.d.ts +14 -0
- package/dist/components/easing/EasingConfigurator.vue.d.ts +33 -0
- package/dist/components/easing/EasingPicker.vue.d.ts +49 -0
- package/dist/components/easing/composables/useEasingPicker.d.ts +84 -0
- package/dist/components/easing/constants.d.ts +30 -0
- package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +71 -0
- package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +31 -0
- package/dist/components/fourier-field/FourierField.vue.d.ts +60 -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 +56 -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/HandMark.vue.d.ts +29 -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/index.d.ts +25 -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/icon-chip/styles.css +1 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/infinite-scroll/index.d.ts +2 -0
- package/dist/components/instrument-chassis/styles.css +1 -0
- package/dist/components/labeled-field/LabeledField.vue.d.ts +118 -0
- package/dist/components/labeled-field/LabeledInput.vue.d.ts +38 -0
- package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +46 -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 +32 -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/metric-stack/MetricStack.vue.d.ts +92 -0
- package/dist/components/notification/Notification.vue.d.ts +16 -0
- package/dist/components/pager-dots/PagerDots.vue.d.ts +48 -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 +19 -0
- package/dist/components/progress/ProgressDefault.vue.d.ts +9 -0
- package/dist/components/progress/ProgressGradient.vue.d.ts +26 -0
- package/dist/components/progress/ProgressLiquid.vue.d.ts +22 -0
- package/dist/components/progress/index.d.ts +1 -0
- package/dist/components/progress/valueMarks.css +1 -0
- package/dist/components/pulse/Pulse.vue.d.ts +53 -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/styles.css +1 -0
- package/dist/components/scroll-progress-rim/types.d.ts +2 -0
- package/dist/components/search/FuzzySearch.vue.d.ts +24 -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/select/index.d.ts +8 -0
- package/dist/components/skeleton/Skeleton.vue.d.ts +35 -0
- package/dist/components/slider/Slider.vue.d.ts +42 -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/surface/Surface.vue.d.ts +45 -0
- package/dist/components/surface/index.d.ts +2 -0
- package/dist/components/table/Table.vue.d.ts +21 -0
- package/dist/components/tabs/SegmentedTabs.vue.d.ts +111 -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/tabs/index.d.ts +2 -0
- package/dist/components/tabs/styles/drag.css +1 -0
- package/dist/components/tabs/styles/segmented.css +1 -0
- package/dist/components/tags-input/TagsInput.vue.d.ts +28 -0
- package/dist/components/timeline/ContinuousMarkers.vue.d.ts +49 -0
- package/dist/components/timeline/ContinuousTimeline.vue.d.ts +118 -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/typewriter/TypewriterText.vue.d.ts +82 -0
- package/dist/components/typewriter/composables/useTypewriter.d.ts +21 -0
- package/dist/components/typewriter/utils/graphemes.d.ts +1 -0
- package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +74 -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 +58 -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/rendererStatus.d.ts +13 -0
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +8 -4
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +3 -111
- package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +98 -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/springProjection.d.ts +16 -0
- package/dist/composables/motion/useAnimatedNumber.d.ts +1 -6
- package/dist/composables/motion/useCountup.d.ts +1 -6
- package/dist/composables/motion/useDockCtaReceive.d.ts +87 -39
- package/dist/composables/motion/useElementMorph.d.ts +107 -0
- package/dist/composables/motion/useLeadTrail.d.ts +69 -0
- package/dist/composables/motion/useLiquidPress.d.ts +21 -4
- package/dist/composables/motion/useLiquidReveal.d.ts +15 -29
- package/dist/composables/motion/useNumericTransition.d.ts +2 -0
- 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/composables/motion/useTextHighlight.d.ts +2 -1
- package/dist/configurator-CSENXXSy.js +311 -0
- package/dist/configurator.d.ts +1 -1
- package/dist/configurator.js +2 -3
- package/dist/constellation.d.ts +1 -1
- package/dist/constellation.js +271 -570
- package/dist/controls.d.ts +1 -1
- package/dist/controls.js +57 -65
- package/dist/createCanvasLifecycle-hsFkQVdl.js +209 -0
- package/dist/dark-DIH-blY1.js +70 -0
- package/dist/dark.d.ts +1 -2
- package/dist/dark.js +2 -20
- package/dist/data-table-DveMdgBM.js +629 -0
- package/dist/data-table.d.ts +1 -1
- package/dist/data-table.js +2 -2
- package/dist/deck.d.ts +1 -1
- package/dist/deck.js +14 -25
- package/dist/dialog-BzQxKrUr.js +281 -0
- package/dist/dialog.d.ts +1 -1
- package/dist/dialog.js +2 -4
- package/dist/dock.d.ts +1 -1
- package/dist/dock.js +1194 -1614
- package/dist/dockContext-4S9qP0Z4.js +13 -0
- package/dist/dom.js +196 -7
- package/dist/drawer.d.ts +1 -1
- package/dist/drawer.js +201 -148
- package/dist/dropdown-menu-DORIA52F.js +378 -0
- package/dist/dropdown-menu.d.ts +1 -1
- package/dist/dropdown-menu.js +3 -2
- package/dist/easing.d.ts +1 -1
- package/dist/easing.js +328 -181
- package/dist/expandable-container.d.ts +1 -1
- package/dist/expandable-container.js +93 -66
- package/dist/fading-scroll.d.ts +1 -1
- package/dist/fading-scroll.js +1 -1
- package/dist/focus-scope-DUTKveod.js +23 -0
- 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 +72 -104
- package/dist/fourier-field.d.ts +1 -1
- package/dist/fourier-field.js +641 -577
- package/dist/fourier-math.d.ts +1 -1
- package/dist/fourier-math.js +112 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +178 -390
- package/dist/handmark.d.ts +1 -1
- package/dist/handmark.js +143 -125
- package/dist/header-ribbon.d.ts +1 -1
- package/dist/header-ribbon.js +47 -36
- package/dist/icon-chip-BWuxz1-u.js +57 -0
- package/dist/icon-chip.d.ts +1 -1
- package/dist/icon-chip.js +1 -1
- package/dist/icon-tooltip-CO6rw0dZ.js +25 -0
- package/dist/icon-tooltip.d.ts +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +41 -45
- package/dist/infinite-scroll.d.ts +1 -2
- package/dist/infinite-scroll.js +19 -17
- package/dist/instrument-chassis-Cvstg4_U.js +65 -0
- package/dist/instrument-chassis.d.ts +1 -1
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +104 -2
- package/dist/label-Cj38tJKG.js +36 -0
- 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 +100 -74
- package/dist/liquid-grid.d.ts +1 -0
- package/dist/liquid-grid.js +1075 -0
- package/dist/menuItemVariants-D6AOzzND.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 +47 -42
- package/dist/motion-curves.js +2 -2
- package/dist/motion.js +104 -219
- package/dist/motionTempo-CMS5b0Vu.js +7 -0
- package/dist/notification-DVs7ODMg.js +52 -0
- package/dist/notification.d.ts +1 -1
- package/dist/notification.js +1 -1
- package/dist/number-field-PvkGedHk.js +140 -0
- 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 +31 -2
- package/dist/pointerFieldMappings-CZojkgKj.js +65 -0
- package/dist/popover-WMgyRSyN.js +256 -0
- package/dist/popover.d.ts +1 -1
- package/dist/popover.js +1 -1
- package/dist/presets-CxeNvxuO.js +95 -0
- package/dist/prng-Dz2_9RJu.js +15 -0
- package/dist/procedural-color.wgsl-B9mLK7v0.js +377 -0
- package/dist/progress-C-HHuFZy.js +192 -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 +6 -4
- package/dist/reactive.js +19 -3
- package/dist/rendererStatus-C2-zC2Q-.js +40 -0
- package/dist/resolveCanvasColor-yarP5bdk.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 +201 -160
- package/dist/select-BIv4R3Ir.js +326 -0
- package/dist/select.d.ts +1 -1
- package/dist/select.js +2 -4
- package/dist/separator-CBU94kTM.js +62 -0
- package/dist/separator.d.ts +1 -1
- package/dist/separator.js +1 -1
- package/dist/sidebar.js +1 -1
- package/dist/slider-Cc_qw6GA.js +166 -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/status-dot.d.ts +1 -1
- package/dist/status-dot.js +2 -2
- package/dist/styles/accessibility.css +1 -0
- package/dist/styles/animations.css +1 -409
- package/dist/styles/components.css +1 -45
- package/dist/styles/draw-in.css +1 -0
- 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-roles.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/index.css +1 -260
- 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/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/tokens.d.ts +53 -0
- package/dist/styles/tokens.ts +58 -0
- 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/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-Boj4Ucn5.js +49 -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 +198 -252
- package/dist/timeline.d.ts +1 -1
- package/dist/timeline.js +199 -183
- package/dist/toast-kAbchIN2.js +281 -0
- package/dist/toast.d.ts +1 -1
- package/dist/toast.js +1 -1
- package/dist/toggle-group-BPchFsns.js +178 -0
- package/dist/toggle-group.d.ts +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -53
- package/dist/tokens.js +1 -1
- package/dist/tooltip-BmOQJzh0.js +111 -0
- package/dist/tooltip.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.d.ts +1 -1
- package/dist/typewriter.js +158 -173
- package/dist/useAccentTone-C-p6WdPe.js +23 -0
- package/dist/useAnimatedNumber-BRVVaFFc.js +40 -0
- package/dist/useControlSize-CFfOk8I-.js +9 -0
- package/dist/useDockCtaReceive-CK-RLASa.js +257 -0
- package/dist/useDocumentVisibility-YeBDGqtI.js +17 -0
- package/dist/useDragMorph-7ygF9O0m.js +93 -0
- package/dist/useFuzzySearch-BOgep7RE.js +177 -0
- package/dist/useGooMorph-D1F6QJlH.js +349 -0
- package/dist/useIntersectionPause-B-dbxl9w.js +39 -0
- package/dist/useLeadTrail-BYu8dq4G.js +74 -0
- package/dist/useLiquidPress-BYcwwGQV.js +68 -0
- package/dist/useMotionAxis-DCCXMC-i.js +20 -0
- package/dist/usePointerVelocityField-BdvnO0py.js +122 -0
- package/dist/useRAFLoop-BtwQ9DyY.js +109 -0
- package/dist/useRoutePointer-BDNMFN73.js +52 -0
- package/dist/useScrollProgress-DZI4nf4v.js +35 -0
- package/dist/useSelectionGroup-LDzBdR1Y.js +215 -0
- package/dist/useSpring-BBSKFx_0.js +41 -0
- package/dist/useSpringMount-C6-DBx4e.js +71 -0
- package/dist/useSpringPress-BypV_KO-.js +36 -0
- package/dist/useSurfaceAxis-DudiZVOR.js +10 -0
- package/dist/useTabRovingFocus-DkLYwo4L.js +143 -0
- package/dist/useTouchGate-Cj5fOkTv.js +84 -0
- package/dist/useUserInvalidAria-Cr4nR3tu.js +25 -0
- package/dist/valueDomain-B8L04u3U.js +13 -0
- package/dist/watercolor-dot.d.ts +1 -1
- package/dist/watercolor-dot.js +54 -50
- package/package.json +383 -831
- package/src/styles/accessibility.css +48 -0
- package/src/styles/animations.css +82 -23
- package/src/styles/draw-in.css +89 -0
- 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 +34 -2
- 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-roles.css +18 -0
- package/src/styles/glass/material.css +152 -22
- 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 +38 -5
- package/src/styles/index.css +86 -50
- 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/theme/bridges.css +8 -8
- 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 +36 -10
- package/src/styles/tokens/glass.css +143 -78
- package/src/styles/tokens/light-dark.css +20 -4
- package/src/styles/tokens/motion-registers.css +93 -0
- package/src/styles/tokens/offsets.css +0 -1
- package/src/styles/tokens/property-regs-specular.css +160 -0
- package/src/styles/tokens/property-regs.css +68 -186
- package/src/styles/tokens/scale-paper.css +6 -4
- package/src/styles/tokens/scheme-motion.css +62 -0
- package/src/styles/tokens/scheme-spring.css +147 -104
- package/src/styles/tokens/scroll-tokens.css +25 -11
- package/src/styles/tokens/shadow.css +31 -51
- package/src/styles/tokens/sizing.css +62 -7
- package/src/styles/tokens.css +16 -0
- package/src/styles/tokens.ts +58 -0
- package/src/styles/transitions.css +108 -143
- package/src/styles/typography/scale.css +13 -0
- package/src/styles/typography/semantic.css +10 -10
- package/src/styles/typography/utilities.css +30 -7
- package/src/styles/utilities/a11y-overrides.css +2 -2
- package/src/styles/utilities/base.css +18 -8
- package/src/styles/utilities/btn.css +35 -30
- package/src/styles/utilities/components.css +16 -21
- package/src/styles/utilities/metal.css +86 -29
- package/src/styles/utilities.css +4 -6
- 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/animated-digit/AnimatedDigit.vue.d.ts +0 -56
- 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/uniformBridgeWGPU.d.ts +0 -66
- 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/constellationField.d.ts +0 -72
- package/dist/components/custom/constellation/constellationInteraction.d.ts +0 -141
- package/dist/components/custom/constellation/constellationRender.d.ts +0 -25
- package/dist/components/custom/constellation/constellationTypes.d.ts +0 -407
- package/dist/components/custom/constellation/index.d.ts +0 -6
- package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +0 -2
- package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +0 -1
- package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +0 -2
- package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +0 -1
- package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +0 -34
- package/dist/components/custom/deck/composables/useDeckSpring.d.ts +0 -22
- package/dist/components/custom/deck/constants.d.ts +0 -14
- package/dist/components/custom/deck/index.d.ts +0 -8
- 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/dockMorphMeasure.d.ts +0 -86
- 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/useDockClickIntegrity.d.ts +0 -23
- 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/useDockState.d.ts +0 -70
- 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/easing/EasingConfigurator.vue.d.ts +0 -33
- package/dist/components/custom/easing/EasingPicker.vue.d.ts +0 -49
- package/dist/components/custom/easing/composables/useEasingPicker.d.ts +0 -80
- package/dist/components/custom/easing/constants.d.ts +0 -28
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +0 -71
- package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +0 -31
- 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/HandMark.vue.d.ts +0 -29
- 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/index.d.ts +0 -27
- 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/infinite-scroll/index.d.ts +0 -1
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +0 -108
- package/dist/components/custom/labeled-field/LabeledInput.vue.d.ts +0 -31
- 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/metric-stack/MetricStack.vue.d.ts +0 -92
- package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +0 -48
- 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/pulse/Pulse.vue.d.ts +0 -53
- 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/StackedIconGroup.vue.d.ts +0 -30
- package/dist/components/custom/stacked-icons/index.d.ts +0 -2
- 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/tabs/index.d.ts +0 -2
- package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +0 -49
- package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +0 -118
- 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/typewriter/TypewriterText.vue.d.ts +0 -85
- package/dist/components/custom/typewriter/composables/useTypewriter.d.ts +0 -22
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +0 -74
- 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/ModalOverlay.vue.d.ts +0 -90
- 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/AvatarImage.vue.d.ts +0 -8
- 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/index.d.ts +0 -9
- 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/combobox/ComboboxSeparator.vue.d.ts +0 -18
- package/dist/components/ui/combobox/ComboboxViewport.vue.d.ts +0 -18
- package/dist/components/ui/combobox/index.d.ts +0 -11
- package/dist/components/ui/command/Command.vue.d.ts +0 -38
- package/dist/components/ui/command/CommandDialog.vue.d.ts +0 -24
- 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/data-table/DataTable.vue.d.ts +0 -82
- package/dist/components/ui/data-table/index.d.ts +0 -3
- package/dist/components/ui/data-table/types.d.ts +0 -56
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +0 -93
- package/dist/components/ui/dialog/DialogScrollContent.vue.d.ts +0 -33
- package/dist/components/ui/dialog/index.d.ts +0 -9
- 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/drawerSnapContext.d.ts +0 -26
- 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/DropdownMenuTrigger.vue.d.ts +0 -14
- 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/ProgressDefault.vue.d.ts +0 -25
- package/dist/components/ui/progress/ProgressGradient.vue.d.ts +0 -25
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +0 -47
- package/dist/components/ui/progress/index.d.ts +0 -5
- package/dist/components/ui/progress/useProgressGeometry.d.ts +0 -60
- package/dist/components/ui/section/Section.vue.d.ts +0 -73
- package/dist/components/ui/section/index.d.ts +0 -1
- package/dist/components/ui/select/SelectContent.vue.d.ts +0 -42
- package/dist/components/ui/select/index.d.ts +0 -10
- 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/skeleton/Skeleton.vue.d.ts +0 -35
- 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/table/Table.vue.d.ts +0 -17
- 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/tags-input/TagsInput.vue.d.ts +0 -28
- 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/procedural-color.wgsl-C1Y5PkM6.js +0 -4
- 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/stacked-icons.d.ts +0 -1
- package/dist/stacked-icons.js +0 -98
- package/dist/styles/border-progress.css +0 -109
- package/dist/styles/cards.css +0 -448
- package/dist/styles/completion-seal.css +0 -131
- package/dist/styles/configurator.css +0 -297
- 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/adaptive-legibility.css +0 -119
- package/dist/styles/dock/cta-seat.css +0 -87
- package/dist/styles/dock/density.css +0 -455
- package/dist/styles/dock/fission-bridge.css +0 -552
- package/dist/styles/dock/layer-group.css +0 -333
- package/dist/styles/dock/layers.css +0 -413
- package/dist/styles/dock/morph-bridge.css +0 -172
- package/dist/styles/dock/morph.css +0 -430
- package/dist/styles/dock/overflow.css +0 -292
- package/dist/styles/dock/search.css +0 -68
- package/dist/styles/dock/section.css +0 -59
- package/dist/styles/dock/shape.css +0 -250
- package/dist/styles/dock/shell.css +0 -498
- package/dist/styles/dock/stack-rail.css +0 -352
- package/dist/styles/dock-controls/dark-mode-toggle.css +0 -122
- package/dist/styles/dock-controls/icon-button.css +0 -189
- package/dist/styles/dock-controls/tab-button.css +0 -143
- package/dist/styles/dock-controls/touch-floor.css +0 -94
- package/dist/styles/dock-controls/triggers.css +0 -157
- package/dist/styles/dock-controls.css +0 -92
- package/dist/styles/dock.css +0 -173
- package/dist/styles/drawer.css +0 -406
- package/dist/styles/feedback-tone.css +0 -104
- 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/icon-chip.css +0 -256
- package/dist/styles/instrument-chassis.css +0 -453
- package/dist/styles/jubilance.css +0 -65
- package/dist/styles/menu.css +0 -127
- package/dist/styles/motion/morph-field.css +0 -229
- package/dist/styles/segmented-tabs.css +0 -447
- package/dist/styles/select.css +0 -201
- package/dist/styles/utilities/animate.css +0 -29
- 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/useGlobalDark-B4HO9LXG.js +0 -53
- 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/useInterval-BVUI-sez.js +0 -18
- 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/useTextHighlight-Bma3UlKA.js +0 -72
- package/dist/useTouchGate-B1Lf9XqN.js +0 -84
- package/dist/useUserInvalidAria-EmmwWPOl.js +0 -29
- package/dist/useViewportReady-C9pYnn7K.js +0 -191
- 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/cards.css +0 -446
- package/src/styles/completion-seal.css +0 -131
- package/src/styles/configurator.css +0 -297
- package/src/styles/critical-partition.mjs +0 -195
- package/src/styles/dock/adaptive-legibility.css +0 -119
- package/src/styles/dock/cta-seat.css +0 -87
- package/src/styles/dock/density.css +0 -455
- package/src/styles/dock/fission-bridge.css +0 -552
- package/src/styles/dock/layer-group.css +0 -333
- package/src/styles/dock/layers.css +0 -413
- package/src/styles/dock/morph-bridge.css +0 -172
- package/src/styles/dock/morph.css +0 -430
- package/src/styles/dock/overflow.css +0 -292
- package/src/styles/dock/search.css +0 -68
- package/src/styles/dock/section.css +0 -59
- package/src/styles/dock/shape.css +0 -250
- package/src/styles/dock/shell.css +0 -498
- package/src/styles/dock/stack-rail.css +0 -352
- package/src/styles/dock-controls/dark-mode-toggle.css +0 -122
- package/src/styles/dock-controls/icon-button.css +0 -189
- package/src/styles/dock-controls/tab-button.css +0 -143
- package/src/styles/dock-controls/touch-floor.css +0 -94
- package/src/styles/dock-controls/triggers.css +0 -157
- package/src/styles/dock-controls.css +0 -92
- package/src/styles/dock.css +0 -173
- package/src/styles/drawer.css +0 -398
- package/src/styles/feedback-tone.css +0 -104
- 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/icon-chip.css +0 -256
- package/src/styles/instrument-chassis.css +0 -449
- package/src/styles/jubilance.css +0 -65
- package/src/styles/menu.css +0 -127
- package/src/styles/motion/morph-field.css +0 -229
- package/src/styles/segmented-tabs.css +0 -445
- package/src/styles/select.css +0 -201
- package/src/styles/utilities/animate.css +0 -29
- /package/dist/{_plugin-vue_export-helper-gLzyemvl.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
- /package/dist/{compile-INR_tPk_.js → compile-DK3Fri1B.js} +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}/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/{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}/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/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}/constellationWell.d.ts +0 -0
- /package/dist/components/{custom/controls → controls}/index.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/{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/{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}/DialogTitle.vue.d.ts +0 -0
- /package/dist/components/{ui/dialog → dialog}/DialogTrigger.vue.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/isTeleportedTarget.d.ts +0 -0
- /package/dist/components/{custom/dock → dock}/composables/useDockHold.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/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/{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}/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}/brush.d.ts +0 -0
- /package/dist/components/{custom/handmark → handmark}/freehand.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/{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}/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}/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}/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/{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/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/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}/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/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}/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/{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}/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}/composables/index.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}/index.d.ts +0 -0
- /package/dist/{utils → composables/glass/procedural}/prng.d.ts +0 -0
- /package/dist/{constants-BWj7DkMn.js → constants-DRZmNIY-.js} +0 -0
- /package/dist/{createContext-Cd23P9j0.js → createContext-FU0n5MGK.js} +0 -0
- /package/dist/{flow.glsl-DqEGRpl4.js → flow.glsl-DEGFGE11.js} +0 -0
- /package/dist/{scrollReader-rc3Ns_NM.js → scrollReader-C2oK9Hb8.js} +0 -0
- /package/dist/{supportsCssTimeline-BWenxvHU.js → supportsCssTimeline-Dz-GVxXM.js} +0 -0
- /package/dist/{useDragVelocity-CjcfX3dA.js → useDragVelocity-CbMZEBaC.js} +0 -0
- /package/dist/{useLiquidFlex-Cc6PjVJD.js → useLiquidFlex-Ch4exNvN.js} +0 -0
- /package/dist/{useResizeObserver-DdEn3v2f.js → useResizeObserver-BcUTquV7.js} +0 -0
- /package/dist/{useResolveTokenColor-ChOnCckA.js → useResolveTokenColor-C07e-qaT.js} +0 -0
- /package/dist/{useTimer-BBLGPXR8.js → useTimer-D8koDvJS.js} +0 -0
- /package/dist/{vReveal-CT1KtwZA.js → vReveal-DZfWl9XI.js} +0 -0
- /package/dist/{vSpecular-EX7loENl.js → vSpecular-CQFmLNzA.js} +0 -0
- /package/dist/{writeVelocityWeight-Bh83xZfs.js → writeVelocityWeight-D_AcvTsE.js} +0 -0
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { WebGLCanvasFrame } from "../../../../composables/glass/webgl/useWebGLCanvas";
|
|
2
|
-
import { type FlowSetupDeps } from "./useFlowParticles";
|
|
3
|
-
/**
|
|
4
|
-
* Build the `setupGL(gl)` callback the picker invokes on the WebGL2 path (the LIVE path).
|
|
5
|
-
* `field` is the kept fullscreen-fragment dot-lattice; `flow` routes to the state-texture
|
|
6
|
-
* GPGPU + two-FBO trail + point-sprite motes + present composite (flowSetupGLFlow) — the SAME
|
|
7
|
-
* advected-population gestalt as the WGPU compute path (the ONE math source via the GLSL chunk).
|
|
8
|
-
*/
|
|
9
|
-
export declare function createFlowGLSetup(deps: FlowSetupDeps): (gl: WebGL2RenderingContext) => WebGLCanvasFrame;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { WebGLCanvasFrame } from "../../../../composables/glass/webgl/useWebGLCanvas";
|
|
2
|
-
import { type FlowSetupDeps } from "./useFlowParticles";
|
|
3
|
-
/**
|
|
4
|
-
* The `flow` WebGL2 channel — the AURORA CURRENT, made real + measurable + equal-gestalt:
|
|
5
|
-
* 1. STATE-TEXTURE GPGPU advect pass (one texel per mote; pos/speed/life ping-pong),
|
|
6
|
-
* 2. TRAIL decay-blit (prev → cur at the derived α) on a two-FBO RGBA16F ping-pong,
|
|
7
|
-
* 3. MOTE point-sprite draw (additive into the trail; speed→hue/brightness),
|
|
8
|
-
* 4. PRESENT composite (trail over the warm floor + corner-bloom → the swapchain).
|
|
9
|
-
* The float state/trail RTs fall RGBA32F→RGBA16F where the render extension is absent (R-A);
|
|
10
|
-
* the trail is pinned NEAREST (no half-float-linear extension dependency).
|
|
11
|
-
*/
|
|
12
|
-
export declare function createFlowGLFlow(deps: FlowSetupDeps): (gl: WebGL2RenderingContext) => WebGLCanvasFrame;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { WebGPUCanvasFrame } from "../../../../composables/glass/webgpu/useWebGPUCanvas";
|
|
2
|
-
import { type FlowSetupDeps } from "./useFlowParticles";
|
|
3
|
-
/**
|
|
4
|
-
* Build the dot-flow-field `setupWGPU(device, context, format)` callback. Closes over the
|
|
5
|
-
* config/palette getters + the renderer's demand gate + the pointer `onFrame`/`getPointer`.
|
|
6
|
-
*/
|
|
7
|
-
export declare function createFlowWGPUSetup(deps: FlowSetupDeps): (device: GPUDevice, context: GPUCanvasContext, format: GPUTextureFormat) => WebGPUCanvasFrame;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type { OklchStop } from "../../../../composables/color";
|
|
2
|
-
import { type FlowFieldConfig } from "../constants";
|
|
3
|
-
/** The domain half-extent (the lattice spans [-half, half]²; mirrors flowField.ts). */
|
|
4
|
-
export declare const FLOW_DOMAIN_HALF = 0.85;
|
|
5
|
-
export interface FlowGridGeometry {
|
|
6
|
-
cols: number;
|
|
7
|
-
count: number;
|
|
8
|
-
/** The lattice pitch in DOMAIN units (the px pitch mapped to the domain). */
|
|
9
|
-
pitchDomain: number;
|
|
10
|
-
}
|
|
11
|
-
/** Compile-time lattice cap (mirrors the WGSL storage-buffer array bound). */
|
|
12
|
-
export declare const FLOW_MAX_LATTICE = 16384;
|
|
13
|
-
export declare function flowGridGeometry(gridPitchPx: number, canvasCssMin: number): FlowGridGeometry;
|
|
14
|
-
export declare const FLOW_COMPUTE_UNIFORM_BYTES: number;
|
|
15
|
-
/** The live pointer/vortex state the renderer feeds the compute kernel each frame. */
|
|
16
|
-
export interface FlowPointerState {
|
|
17
|
-
/** Cursor in domain space ([-half,half]²). */
|
|
18
|
-
cursorX: number;
|
|
19
|
-
cursorY: number;
|
|
20
|
-
/** Pointer velocity in domain units / sec. */
|
|
21
|
-
velX: number;
|
|
22
|
-
velY: number;
|
|
23
|
-
/** Flick-burst impulse (0..1). */
|
|
24
|
-
burst: number;
|
|
25
|
-
/** Pointer active (1) / inert (0). */
|
|
26
|
-
active: number;
|
|
27
|
-
}
|
|
28
|
-
/** A rest (pointer-inert) state — the vortex is off. */
|
|
29
|
-
export declare const FLOW_POINTER_REST: FlowPointerState;
|
|
30
|
-
export interface FlowUniformScratch {
|
|
31
|
-
buffer: ArrayBuffer;
|
|
32
|
-
f32: Float32Array;
|
|
33
|
-
i32: Int32Array;
|
|
34
|
-
}
|
|
35
|
-
export declare function createFlowComputeScratch(): FlowUniformScratch;
|
|
36
|
-
/** Pack the compute uniforms in place. `count` is the live mote/lattice count (flow mode
|
|
37
|
-
* uses particleCount; field mode uses the lattice geometry count). */
|
|
38
|
-
export declare function packFlowComputeUniforms(scratch: FlowUniformScratch, config: FlowFieldConfig, timeSec: number, dt: number, geometry: FlowGridGeometry, count: number, pointer?: FlowPointerState): FlowUniformScratch;
|
|
39
|
-
export declare const FLOW_RENDER_UNIFORM_BYTES: number;
|
|
40
|
-
/** The speed normalizer (the modal mote speed maps to the ramp MIDDLE — H2: so the full
|
|
41
|
-
* ember→gold→white spread paints, not a unimodal-amber blowout). */
|
|
42
|
-
export declare const FLOW_SPEED_NORM = 0.022;
|
|
43
|
-
export declare function createFlowRenderScratch(): FlowUniformScratch;
|
|
44
|
-
/** The base resting brightness (the calm-lattice floor before the band lights a dot). */
|
|
45
|
-
export declare const FLOW_BASE_BRIGHT = 0.22;
|
|
46
|
-
/** The drift-driven size pulse (a subtle breathing; never a re-seed). */
|
|
47
|
-
export declare const FLOW_SIZE_PULSE = 0.4;
|
|
48
|
-
/** Pack the render uniforms in place. */
|
|
49
|
-
export declare function packFlowRenderUniforms(scratch: FlowUniformScratch, config: FlowFieldConfig, timeSec: number, aspect: number, canvasCssMin: number, geometry: FlowGridGeometry, palette: OklchStop[]): FlowUniformScratch;
|
|
50
|
-
/** The byte size of one lattice dot in the storage buffer (vec4<f32>). */
|
|
51
|
-
export declare const FLOW_PARTICLE_BYTES = 16;
|
|
52
|
-
/**
|
|
53
|
-
* Seed the lattice storage buffer: each dot starts AT its anchor origin (the restoring
|
|
54
|
-
* spring needs no initial offset). `(pos.x, pos.y, height=0, |disp|=0)` per index — the
|
|
55
|
-
* compute kernel re-derives the origin from `gridOrigin(index, cols, pitch)` each frame,
|
|
56
|
-
* so the seed only needs the starting position (the lattice settles on the first frames).
|
|
57
|
-
*/
|
|
58
|
-
export declare function seedLatticeBuffer(geometry: FlowGridGeometry): Float32Array;
|
|
59
|
-
/**
|
|
60
|
-
* BD.W-DOTFLOW-AURORA-CURRENT — seed the FLOW mote buffer: each mote scattered across the
|
|
61
|
-
* domain, life STAGGERED across [0, lifetimeSec) so deaths/respawns don't synchronize (the
|
|
62
|
-
* field never blinks). `(pos.x, pos.y, speed=0, life)` per index. A deterministic hash so
|
|
63
|
-
* the capture path reproduces.
|
|
64
|
-
*/
|
|
65
|
-
export declare function seedFlowBuffer(count: number, lifetimeSec: number): Float32Array;
|
|
@@ -1,35 +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 { FlowFieldConfig } from "../constants";
|
|
5
|
-
export interface UseDotFlowFieldOptions {
|
|
6
|
-
config: FlowFieldConfig;
|
|
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 DotFlowFieldHandle {
|
|
14
|
-
/** The resolved backend (`"webgpu"` where supported, else the WebGL2 fragment 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-flow-field renderer on `canvasRef`. The WebGPU primary runs the
|
|
31
|
-
* compute+render two-pass over the anchored lattice; the WebGL2 fallback evaluates the SAME
|
|
32
|
-
* `flowField.ts` field as a fullscreen fragment pass (the ONE math source). Returns the
|
|
33
|
-
* uniform lifecycle handle.
|
|
34
|
-
*/
|
|
35
|
-
export declare function useDotFlowField(canvasRef: Ref<HTMLCanvasElement | null>, options: UseDotFlowFieldOptions): DotFlowFieldHandle;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { OklchStop } from "../../../../composables/color";
|
|
2
|
-
import type { FlowFieldConfig } from "../constants";
|
|
3
|
-
import { type FlowPointerState } from "./uniformBridgeWGPU";
|
|
4
|
-
export { flowGridGeometry } from "./uniformBridgeWGPU";
|
|
5
|
-
/** The deep warm-near-black floor + the warm rose corner-bloom (linear-sRGB), the §3 ground.
|
|
6
|
-
* Resolved off a warm-fire-adjacent OKLCh ground (NOT teal). The demo preset overrides via
|
|
7
|
-
* `config.background`; this is the fallback ground for the flow present-composite. */
|
|
8
|
-
export declare const FLOW_FLOOR_OKLCH: OklchStop;
|
|
9
|
-
export declare const FLOW_BLOOM_OKLCH: OklchStop;
|
|
10
|
-
export interface FlowSetupDeps {
|
|
11
|
-
canvas: HTMLCanvasElement;
|
|
12
|
-
config: FlowFieldConfig;
|
|
13
|
-
/** The resolved (ColorResolver) palette stops as OKLCh — re-read each frame so a live palette edit reaches the buffer. */
|
|
14
|
-
getPalette: () => OklchStop[];
|
|
15
|
-
/** Demand-gate (the renderer's quiescence layer — substrate-agnostic). */
|
|
16
|
-
shouldContinue: () => boolean;
|
|
17
|
-
/**
|
|
18
|
-
* The per-frame pointer hook — useDotFlowField advances the shared
|
|
19
|
-
* `usePointerVelocityField` here (the no-own-rAF discipline). ZERO own rAF.
|
|
20
|
-
*/
|
|
21
|
-
onFrame?: (timeSec: number) => void;
|
|
22
|
-
/** The live pointer/vortex state the renderer feeds the flow kernel (rest = inert). */
|
|
23
|
-
getPointer?: () => FlowPointerState;
|
|
24
|
-
}
|
|
25
|
-
/** A px-min reader (the lattice density rides the min CSS dimension). */
|
|
26
|
-
export declare function cssMin(canvas: HTMLCanvasElement): number;
|
|
27
|
-
/** The flow mote count, clamped to the storage/state cap. */
|
|
28
|
-
export declare function flowCount(config: FlowFieldConfig): number;
|
|
29
|
-
/** The square state-texture side that holds `count` motes (one texel each). */
|
|
30
|
-
export declare function stateCols(count: number): number;
|
|
31
|
-
export { createFlowWGPUSetup } from "./flowSetupWGPU";
|
|
32
|
-
export { createFlowGLSetup } from "./flowSetupGL";
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import type { WaveComponent } from "./composables/flowField";
|
|
2
|
-
import type { OklchStop } from "../../../composables/color";
|
|
3
|
-
/** Compile-time lattice cap — mirrors the WGSL storage-buffer array bound. */
|
|
4
|
-
export declare const MAX_PARTICLES = 16384;
|
|
5
|
-
/** Compile-time wave-component cap — mirrors the WGSL `MAX_WAVE_COMPONENTS` #define. */
|
|
6
|
-
export declare const MAX_WAVE_COMPONENTS = 8;
|
|
7
|
-
/** Compile-time palette cap — mirrors the WGSL `MAX_FLOW_STOPS` #define. */
|
|
8
|
-
export declare const MAX_FLOW_STOPS = 4;
|
|
9
|
-
export declare const PHI = 1.618033988749895;
|
|
10
|
-
export declare const SQRT_PHI: number;
|
|
11
|
-
/**
|
|
12
|
-
* The per-frame trail decay α DERIVED from a half-life in seconds (DRY — `trailDecay` is
|
|
13
|
-
* NOT a free knob; the streak persistence is a proportion of `trailHalfLife`). At a 60fps
|
|
14
|
-
* reference cadence, α = 2^(−dtRef / halfLife) so the trail fades to ½ over `halfLife`.
|
|
15
|
-
*/
|
|
16
|
-
export declare function flowTrailDecay(halfLifeSec: number, dtRef?: number): number;
|
|
17
|
-
/**
|
|
18
|
-
* The full author schema — the studio's `useConfiguratorState` model. Every field is a
|
|
19
|
-
* tunable the demo configurator drives; the SFC resolves it into the uniform table.
|
|
20
|
-
*
|
|
21
|
-
* RETOPOLOGY: the lattice density is derived from `gridPitch` (a clean break from the free
|
|
22
|
-
* `particleCount` — README MIGRATION row `particleCount → gridPitch`). The brightness/scale
|
|
23
|
-
* shape rides `contrast`/`waveBandCenter`/`waveBandWidth`; the sub-cell drift rides
|
|
24
|
-
* `displaceAmp`/`springK`; `coherence` maps the octave count + persistence.
|
|
25
|
-
*/
|
|
26
|
-
export interface FlowFieldConfig {
|
|
27
|
-
/**
|
|
28
|
-
* BD.W-DOTFLOW-AURORA-CURRENT — the topology discriminator (the dock `dim`-idiom
|
|
29
|
-
* discipline: ONE schema, two orthogonal lever sets, no fork). `"flow"` (default) is
|
|
30
|
-
* the AURORA CURRENT — a dense population ADVECTED along the curl current, trailing
|
|
31
|
-
* fading ribbons of warm-fire light, the cursor a live vortex. `"field"` is the calm
|
|
32
|
-
* anchored halftone (the rebuild's content-deferential backdrop — the kept register).
|
|
33
|
-
*/
|
|
34
|
-
mode: "flow" | "field";
|
|
35
|
-
/** Mote population (flow mode) — re-introduced, mode-scoped (field keeps gridPitch). */
|
|
36
|
-
particleCount: number;
|
|
37
|
-
/** Trail streak half-life in seconds (the √φ τ₀ anchor); `trailDecay` derives from it. */
|
|
38
|
-
trailHalfLife: number;
|
|
39
|
-
/** Half-res trail buffer scale (R-D — quarters the float fillrate at 0.5). */
|
|
40
|
-
trailScale: number;
|
|
41
|
-
/** Inertia 0..1: the velocity lerp rate (LOW = weighty arcs, eases into the field). */
|
|
42
|
-
turnRate: number;
|
|
43
|
-
/** Advection speed gain (|V| → displacement-per-frame). */
|
|
44
|
-
speedScale: number;
|
|
45
|
-
/** Brightness-from-speed gain (the velocity-map glow). */
|
|
46
|
-
speedGlow: number;
|
|
47
|
-
/** Mote lifetime in seconds before respawn (the √φ τ₀·φ rung). */
|
|
48
|
-
lifetimeSec: number;
|
|
49
|
-
/** Density-vignette strength (shared with field; thins spawns behind the content rect). */
|
|
50
|
-
edgeBias: number;
|
|
51
|
-
/** The clear content region (the v4 content-deferential vignette; shared with field). */
|
|
52
|
-
contentMask: {
|
|
53
|
-
cx: number;
|
|
54
|
-
cy: number;
|
|
55
|
-
rx: number;
|
|
56
|
-
ry: number;
|
|
57
|
-
} | null;
|
|
58
|
-
/** Cursor-vortex fall-off radius (the √φ r₀ anchor). */
|
|
59
|
-
vortexRadius: number;
|
|
60
|
-
/** Cursor-vortex tangential spin gain (the swirl). */
|
|
61
|
-
vortexSpin: number;
|
|
62
|
-
/** Cursor-drag advection gain (the streamlines follow the gesture). */
|
|
63
|
-
dragGain: number;
|
|
64
|
-
/** Flick-burst radial shove gain (the shockwave). */
|
|
65
|
-
burstShove: number;
|
|
66
|
-
/** WebGPU cartoon-cast shadow offset (drops on WebGL2/PRM/PRT). */
|
|
67
|
-
shadowOffset: number;
|
|
68
|
-
/** WebGPU velocity-anisotropic squash-stretch amount (drops on WebGL2/PRM/PRT). */
|
|
69
|
-
stretchAmp: number;
|
|
70
|
-
/** The Gerstner sum-of-sines table (1..MAX_WAVE_COMPONENTS) — the LARGE-wave ladder. */
|
|
71
|
-
waveComponents: WaveComponent[];
|
|
72
|
-
/** The dispersion-driven sweep speed (scales ω). LOW = slow sweep (default 0.3). */
|
|
73
|
-
windSpeed: number;
|
|
74
|
-
/** The fbm curl-noise braiding-break weight (0..0.4 — keep low; default 0.12). */
|
|
75
|
-
curlStrength: number;
|
|
76
|
-
/** The lattice spacing in CSS-px (drives N = view/pitch²). ~26px ≈ the reference. */
|
|
77
|
-
gridPitch: number;
|
|
78
|
-
/** The dot billboard base radius in px @ 1×. */
|
|
79
|
-
dotSize: number;
|
|
80
|
-
/** How far a dot drifts from its anchor, in pitch fractions (capped < 0.5 pitch). */
|
|
81
|
-
displaceAmp: number;
|
|
82
|
-
/** The restoring-spring rate (the pull-to-anchor stiffness; higher = stiffer). */
|
|
83
|
-
springK: number;
|
|
84
|
-
/** The sweeping-band center over the normalized height (the iso-band the wave rides). */
|
|
85
|
-
waveBandCenter: number;
|
|
86
|
-
/** The sweeping bright-stripe thickness (`waveBand` width over the normalized height). */
|
|
87
|
-
waveBandWidth: number;
|
|
88
|
-
/** The brightness modulation depth (subtle ↔ bold; 0..1). */
|
|
89
|
-
contrast: number;
|
|
90
|
-
/** The Coherence axis (0..1; high = few coarse octaves coherent, low = many fine). */
|
|
91
|
-
coherence: number;
|
|
92
|
-
/** The soft-disc globe mask (the reference's two-sphere composition); off by default. */
|
|
93
|
-
globeMask: boolean;
|
|
94
|
-
/** The dot-color ramp (the demo themes it mono-white); resolved via the ColorResolver. */
|
|
95
|
-
palette: OklchStop[];
|
|
96
|
-
/** The ground color (the demo sets near-black; default transparent). */
|
|
97
|
-
background: OklchStop | "transparent";
|
|
98
|
-
/** Pointer-warp the lattice (a local displacement ripple about the cursor). */
|
|
99
|
-
interactive: boolean;
|
|
100
|
-
/** ONE static frame then park under `prefers-reduced-motion: reduce`. */
|
|
101
|
-
respectReducedMotion: boolean;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* The warm-cream identity palette (the library default — NOT teal). A two-stop warm-amber
|
|
105
|
-
* ramp over the warm-cream foreground family, resolved via the ColorResolver. A consumer
|
|
106
|
-
* (the demo) themes it mono-white-on-near-black through a PRESET, never a token edit.
|
|
107
|
-
*/
|
|
108
|
-
export declare const WARM_IDENTITY_PALETTE: OklchStop[];
|
|
109
|
-
/**
|
|
110
|
-
* The default LARGE-wave ladder about a 35° diagonal wind — 3 coherent octaves, λ₀ at
|
|
111
|
-
* 2.5× the domain extent (ONE dominant sweeping wave). The §1 regime inversion.
|
|
112
|
-
*/
|
|
113
|
-
export declare const DEFAULT_WAVE_COMPONENTS: WaveComponent[];
|
|
114
|
-
/**
|
|
115
|
-
* The shipped warm-identity default config — the SUBTLE + LARGE regime (the §1/§2
|
|
116
|
-
* topology+regime targets): a calm warm-cream lattice (~26px pitch) a slow LARGE wave
|
|
117
|
-
* sweeps through, the dots only breathing a hair off their anchors. globeMask OFF (the
|
|
118
|
-
* neutral register — the reference's soft-disc is a DEMO preset).
|
|
119
|
-
*/
|
|
120
|
-
export declare const DEFAULT_FLOW_CONFIG: FlowFieldConfig;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { default as DotFlowField } from "./DotFlowField.vue";
|
|
2
|
-
export { useDotFlowField, type DotFlowFieldHandle, type UseDotFlowFieldOptions, } from "./composables/useDotFlowField";
|
|
3
|
-
export { type FlowFieldConfig, DEFAULT_FLOW_CONFIG, DEFAULT_WAVE_COMPONENTS, WARM_IDENTITY_PALETTE, MAX_PARTICLES, MAX_WAVE_COMPONENTS, MAX_FLOW_STOPS, } from "./constants";
|
|
4
|
-
export { type WaveComponent, type Vec2, sampleVelocity, gerstnerVelocity, curlFBM, pointerVortex, type VortexParams, buildWaveLadder, gridOrigin, sampleHeight, sampleDisplacement, waveBand, FLOW_GRAVITY, FLOW_DOMAIN_HALF, } from "./composables/flowField";
|
|
5
|
-
export type { OklchStop } from "../../../composables/color";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const FLOW_FIELD_COMPUTE_WGSL = "\nconst MAX_WAVE_COMPONENTS: i32 = 8;\nconst PI: f32 = 3.141592653589793;\nconst TAU: f32 = 6.283185307179586;\nconst FLOW_GRAVITY: f32 = 9.81;\nconst CURL_EPS: f32 = 0.012;\nconst FBM_ROT: mat2x2<f32> = mat2x2<f32>(0.8, 0.6, -0.6, 0.8);\n\nstruct Particle {\n // field: (pos.x, pos.y, height, |disp|) \u2014 the anchored-lattice live state\n // flow: (pos.x, pos.y, speed, life) \u2014 the advected-mote live state\n data: vec4<f32>,\n};\n\n// \u2500\u2500 Uniforms (the typed-struct source-of-truth \u2014 see uniformBridgeWGPU.ts) \u2500\u2500\nstruct FlowUniforms {\n // p0: (uTime, uDt, uWindSpeed, uCurlStrength)\n p0: vec4<f32>,\n // p1: (uGridPitch, uDisplaceAmp, uSpringK, uGridCols) \u2014 the lattice geometry (field)\n p1: vec4<f32>,\n // ints: (uWaveCount, uParticleCount, uGridColsI, uMode) \u2014 uMode: 0=field, 1=flow\n ints: vec4<i32>,\n // f0: (uTurnRate, uSpeedScale, uLifetimeSec, uDomainHalf) \u2014 the flow advection levers\n f0: vec4<f32>,\n // f1: (uVortexRadius, uVortexSpin, uDragGain, uBurstShove) \u2014 the cursor vortex\n f1: vec4<f32>,\n // ptr: (cursor.x, cursor.y, vel.x, vel.y) \u2014 the pointer in domain space + its velocity\n ptr: vec4<f32>,\n // ptr2: (burst, pointerActive, edgeBias, _pad)\n ptr2: vec4<f32>,\n // each wave row: (amplitude, wavelength, directionDeg, phase)\n waves: array<vec4<f32>, 8>,\n};\n\n@group(0) @binding(0) var<uniform> u: FlowUniforms;\n@group(0) @binding(1) var<storage, read_write> particles: array<Particle>;\n\n// \u2500\u2500 The deterministic lattice origin (transcribes flowField.ts gridOrigin) \u2500\u2500\nfn gridOrigin(index: u32, cols: i32, pitch: f32) -> vec2<f32> {\n let c = max(cols, 1);\n let col = i32(index) % c;\n let row = i32(index) / c;\n let half = f32(c - 1) * pitch * 0.5;\n return vec2<f32>(f32(col) * pitch - half, f32(row) * pitch - half);\n}\n\n// \u2500\u2500 The Gerstner-sum analytic \u2207\u22A5h velocity (transcribes flowField.ts gerstnerVelocity) \u2500\u2500\nfn gerstnerVelocity(p: vec2<f32>, t: f32) -> vec2<f32> {\n var dhdx = 0.0;\n var dhdy = 0.0;\n let windSpeed = u.p0.z;\n let waveCount = u.ints.x;\n for (var i = 0; i < MAX_WAVE_COMPONENTS; i = i + 1) {\n if (i >= waveCount) { break; }\n let w = u.waves[i];\n let amplitude = w.x;\n let wavelength = max(w.y, 1e-4);\n let dirRad = w.z * PI / 180.0;\n let phase = w.w;\n let k = TAU / wavelength;\n let d = vec2<f32>(cos(dirRad), sin(dirRad));\n let omega = sqrt(FLOW_GRAVITY * k) * windSpeed;\n let theta = k * (d.x * p.x + d.y * p.y) - omega * t + phase;\n let akc = amplitude * k * cos(theta);\n dhdx = dhdx + akc * d.x;\n dhdy = dhdy + akc * d.y;\n }\n // v = \u2207\u22A5h = (\u2202h/\u2202y, \u2212\u2202h/\u2202x).\n return vec2<f32>(dhdy, -dhdx);\n}\n\n// \u2500\u2500 The scalar Gerstner HEIGHT (transcribes flowField.ts sampleHeight \u2014 the brightness\n// driver, normalized to \u2248[-1,1] by the total amplitude so the band thresholds are\n// wave-table-independent). \u2500\u2500\nfn sampleHeight(o: vec2<f32>, t: f32) -> f32 {\n var h = 0.0;\n var ampSum = 0.0;\n let windSpeed = u.p0.z;\n let waveCount = u.ints.x;\n for (var i = 0; i < MAX_WAVE_COMPONENTS; i = i + 1) {\n if (i >= waveCount) { break; }\n let w = u.waves[i];\n let k = TAU / max(w.y, 1e-4);\n let dirRad = w.z * PI / 180.0;\n let d = vec2<f32>(cos(dirRad), sin(dirRad));\n let omega = sqrt(FLOW_GRAVITY * k) * windSpeed;\n let theta = k * (d.x * o.x + d.y * o.y) - omega * t + w.w;\n h = h + w.x * sin(theta);\n ampSum = ampSum + abs(w.x);\n }\n return h / max(ampSum, 1e-4);\n}\n\n// \u2500\u2500 Shared curl-noise basis (the WGSL twin of flow.glsl.ts curlFBM) \u2500\u2500\nfn hash21(p: vec2<f32>) -> f32 {\n var p3 = fract(vec3<f32>(p.x, p.y, p.x) * 0.1031);\n p3 = p3 + dot(p3, p3.yzx + 33.33);\n return fract((p3.x + p3.y) * p3.z);\n}\n\nfn valueNoise(p: vec2<f32>) -> f32 {\n let i = floor(p);\n let f = fract(p);\n let u2 = f * f * f * (f * (f * 6.0 - 15.0) + 10.0);\n let a = hash21(i + vec2<f32>(0.0, 0.0));\n let b = hash21(i + vec2<f32>(1.0, 0.0));\n let c = hash21(i + vec2<f32>(0.0, 1.0));\n let d = hash21(i + vec2<f32>(1.0, 1.0));\n return mix(mix(a, b, u2.x), mix(c, d, u2.x), u2.y);\n}\n\nfn potentialFBM(p0: vec2<f32>) -> f32 {\n var v = 0.0;\n var amp = 0.5;\n var freq = 1.0;\n var p = p0;\n for (var i = 0; i < 3; i = i + 1) {\n v = v + amp * valueNoise(p * freq);\n p = FBM_ROT * p;\n freq = freq * 2.0;\n amp = amp * 0.5;\n }\n return v;\n}\n\nfn curlFBM(p: vec2<f32>) -> vec2<f32> {\n let dx = potentialFBM(p + vec2<f32>(CURL_EPS, 0.0)) - potentialFBM(p - vec2<f32>(CURL_EPS, 0.0));\n let dy = potentialFBM(p + vec2<f32>(0.0, CURL_EPS)) - potentialFBM(p - vec2<f32>(0.0, CURL_EPS));\n let g = vec2<f32>(dx, dy) / (2.0 * CURL_EPS);\n return vec2<f32>(g.y, -g.x);\n}\n\n// The composite flow velocity (transcribes flowField.ts sampleVelocity EXACTLY \u2014 the\n// coarse \u00D70.55 curl domain-scale, the \u00A73.2 inversion).\nfn sampleVelocity(p: vec2<f32>, t: f32) -> vec2<f32> {\n let curlStrength = u.p0.w;\n var v = gerstnerVelocity(p, t);\n if (curlStrength > 0.0) {\n let c = curlFBM(vec2<f32>(p.x * 0.55 + t * 0.15, p.y * 0.55));\n v = v + c * curlStrength;\n }\n return v;\n}\n\n// The sub-cell DISPLACEMENT (transcribes flowField.ts sampleDisplacement \u2014 \u2207\u22A5h + the\n// coarse curl break, soft-clamped through tanh so the magnitude rides into [0,1)).\nfn sampleDisplacement(o: vec2<f32>, t: f32) -> vec2<f32> {\n let v = sampleVelocity(o, t);\n let mag = length(v);\n if (mag < 1e-5) { return vec2<f32>(0.0, 0.0); }\n let bounded = tanh(mag);\n return v * (bounded / mag);\n}\n\n// \u2500\u2500 The cursor VORTEX injected into the velocity field (transcribes flowField.ts\n// pointerVortex). r = p \u2212 cursor; a gaussian fall-off; a TRUE tangential \u2207\u22A5 swirl +\n// a drag-along term + a radial burst shove. Inert when the pointer is inactive. \u2500\u2500\nfn pointerVortex(p: vec2<f32>) -> vec2<f32> {\n if (u.ptr2.y < 0.5) { return vec2<f32>(0.0, 0.0); } // pointer inactive \u2192 no vortex\n let cursor = u.ptr.xy;\n let vel = u.ptr.zw;\n let burst = u.ptr2.x;\n let radius = max(u.f1.x, 1e-3);\n let r = p - cursor;\n let d = length(r);\n let fall = exp(-(d * d) / (radius * radius));\n let swirl = normalize(vec2<f32>(-r.y, r.x) + vec2<f32>(1e-6, 0.0)); // tangential \u2207\u22A5\n let radial = r / max(d, 1e-4);\n let v = swirl * u.f1.y // the spin\n + vel * u.f1.z // the drag (streamlines follow the gesture)\n + radial * burst * u.f1.w; // the flick shockwave\n return v * fall;\n}\n\n// \u2500\u2500 density-weighted respawn: a hash-stratified seed inside the domain, biased toward the\n// edges by edgeBias (a faint vignette \u2014 the field never thins to a hole). \u2500\u2500\nfn respawn(idx: u32, t: f32) -> vec2<f32> {\n let half = u.f0.w;\n let s = f32(idx) * 0.013 + t * 0.37;\n let rx = hash21(vec2<f32>(s, 1.7)) * 2.0 - 1.0;\n let ry = hash21(vec2<f32>(3.1, s)) * 2.0 - 1.0;\n // edgeBias>0 pushes the seed toward the perimeter (a power-curve on |coord|).\n let bias = clamp(u.ptr2.z, 0.0, 1.0);\n let bx = sign(rx) * pow(abs(rx), mix(1.0, 0.5, bias));\n let by = sign(ry) * pow(abs(ry), mix(1.0, 0.5, bias));\n return vec2<f32>(bx, by) * half;\n}\n\n// \u2500\u2500 cs_field \u2014 the ANCHORED-LATTICE evaluator (BYTE-MOVED from cs_main; the field-mode\n// fence-scoped unit; F1 greps the no-advection/no-reseed witness WITHIN this brace-span).\nfn cs_field(idx: u32, t: f32, dt: f32) {\n let pitch = u.p1.x;\n let displaceAmp = u.p1.y;\n let springK = u.p1.z;\n let cols = u.ints.z;\n\n // The PERMANENT anchor \u2014 no wrap, no re-seed (the coherence fix).\n let o = gridOrigin(idx, cols, pitch);\n let disp = sampleDisplacement(o, t);\n let anchorTarget = o + disp * (displaceAmp * pitch);\n\n var pr = particles[idx];\n var pos = pr.data.xy;\n // Framerate-independent critically-damped pull-to-anchor:\n // p \u2190 mix(p, anchorTarget, 1 - exp(-springK\u00B7dt)) (the GPGPU influence-pull pattern).\n let k = 1.0 - exp(-springK * dt);\n pos = mix(pos, anchorTarget, k);\n\n let h = sampleHeight(o, t);\n particles[idx] = Particle(vec4<f32>(pos, h, length(disp)));\n}\n\n// \u2500\u2500 cs_flow \u2014 the AURORA CURRENT (the RE-INVENT register). Momentum-integrated advection\n// along the curl current + the live cursor vortex, with lifetime decay + density-weighted\n// respawn. F1b greps the pos+=v*dt + respawn( + pointerVortex( witness in THIS function.\nfn cs_flow(idx: u32, t: f32, dt: f32) {\n let half = u.f0.w;\n let turnRate = u.f0.x;\n let speedScale = u.f0.y;\n let lifetimeSec = max(u.f0.z, 1e-3);\n\n var pr = particles[idx];\n var pos = pr.data.xy;\n var life = pr.data.w;\n\n // First-frame / dead / out-of-domain seed (the density-weighted respawn).\n let outOfDomain = max(abs(pos.x), abs(pos.y)) > half * 1.05;\n if (life <= 0.0 || outOfDomain) {\n pos = respawn(idx, t);\n // stratify the initial life across [0,lifetime] so deaths don't synchronize.\n life = lifetimeSec * hash21(vec2<f32>(f32(idx) * 0.027, t * 0.11));\n }\n\n // The target velocity: the divergence-free curl current + the cursor vortex.\n let vField = sampleVelocity(pos, t) + pointerVortex(pos);\n // Momentum/inertia: the low turnRate scales how hard the mote commits to the field\n // each step \u2014 a weighty ease into the current's turns (arcs, not snaps), the\n // overlapping-action/follow-through on a particle (R4-motion).\n let v = vField * turnRate * speedScale;\n // Forward-Euler advection step (the integrator \u2014 F1b's witness pos = pos + v*dt).\n pos = pos + v * dt * 60.0;\n\n life = life - dt;\n let speed = length(v);\n particles[idx] = Particle(vec4<f32>(pos, speed, life));\n}\n\n@compute @workgroup_size(64)\nfn cs_main(@builtin(global_invocation_id) gid: vec3<u32>) {\n let idx = gid.x;\n let count = u32(u.ints.y);\n if (idx >= count) { return; } // bounds-guard the dispatch tail\n\n let t = u.p0.x;\n let dt = u.p0.y;\n let mode = u.ints.w;\n\n if (mode == 1) {\n cs_flow(idx, t, dt);\n } else {\n cs_field(idx, t, dt);\n }\n}\n";
|
|
@@ -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;
|