@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 +0,0 @@
|
|
|
1
|
-
export declare const AURORA_WGSL = "\nconst MAX_NUCLEI: i32 = 6;\nconst MAX_STOPS: i32 = 8;\nconst PI: f32 = 3.141592653589793;\n\n// \u2500\u2500 Uniforms (the typed-struct source-of-truth \u2014 see aurora.wgsl.uniforms.ts) \u2500\u2500\n// Scalars are packed into vec4 lanes to keep the std140/WGSL 16-byte struct alignment\n// trivial. nuc0[i] = (pos.x, pos.y, radius, paletteBias); nuc1[i] = (valueBias,\n// driftRadius, driftPhase, elong); nuc2[i] = (angle, _, _, _). palette[i].rgb is the\n// CPU-baked linear-sRGB stop.\nstruct Uniforms {\n // scalars0: (uTime, uSoftmaxBeta, uValueVariance, uWarpAmount)\n scalars0: vec4<f32>,\n // scalars1: (uWarpScale, uWarpDrift, uSaturation, uPaperGrain)\n scalars1: vec4<f32>,\n // scalars2: (uAlpha, uNucleiDrift, uPaletteDrift, uBreathDepth)\n scalars2: vec4<f32>,\n // scalars3: (uBreathPeriod, uCursorStrength, uCursorRadius, uVividness)\n // BD.W-AUR-VIVIDNESS \u2014 the .w pad lane now carries the \u00A73 chroma-floor strength.\n scalars3: vec4<f32>,\n // cursor: (uCursor.x, uCursor.y, _pad, _pad)\n cursor: vec4<f32>,\n // ints: (uStopCount, uNucleiCount, uWarpMode, uNoiseOctaves)\n ints0: vec4<i32>,\n // ints1: (uMedium, uHuePath, _, _)\n ints1: vec4<i32>,\n palette: array<vec4<f32>, 8>,\n nuc0: array<vec4<f32>, 6>,\n nuc1: array<vec4<f32>, 6>,\n nuc2: array<vec4<f32>, 6>,\n // BC.W-VIZ-AURORA (T4) \u2014 the painterly-medium scalar lanes. APPENDED after the\n // arrays so EVERY existing offset (and the smooth-default parity capture) is\n // byte-identical (these lanes are written 0 on a smooth config). scalars4:\n // (uStrokeAmount, uStrokeScale, uStrokeAnisotropy, uCanvasGrain). scalars5:\n // (uWetEdge, uGranulation, uBrokenColor, uKuwaharaQ). kuwahara: (uKuwaharaRadius,\n // uKuwaharaSectors, _, _) \u2014 the Kuwahara radius/sectors/q in lockstep with\n // packAuroraWGPUUniforms (the typed-struct discipline).\n scalars4: vec4<f32>,\n scalars5: vec4<f32>,\n kuwahara: vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n// \u2500\u2500 Authoring-scale \u2192 rad/sec lifts (byte-identical to aurora.frag.ts) \u2500\u2500\nconst K_NUCLEI: f32 = 14.0;\nconst K_PAL: f32 = 24.0;\nconst K_WARP: f32 = 5.0;\n\n// \u2500\u2500 Noise (aurora-local hash21/vnoise/fbm \u2014 legitimately divergent per AV.W2 \u00A73a) \u2500\u2500\nfn hash21(p0: vec2<f32>) -> f32 {\n var p = fract(p0 * vec2<f32>(123.34, 456.21));\n p = p + dot(p, p + 45.32);\n return fract(p.x * p.y);\n}\n\nfn hash22(p0: vec2<f32>) -> vec2<f32> {\n let p = vec2<f32>(dot(p0, vec2<f32>(127.1, 311.7)),\n dot(p0, vec2<f32>(269.5, 183.3)));\n return fract(sin(p) * 43758.5453);\n}\n\nfn vnoise(p: vec2<f32>) -> f32 {\n let i = floor(p);\n let f = fract(p);\n let uu = f * f * (3.0 - 2.0 * f);\n let a = hash21(i);\n let b = hash21(i + vec2<f32>(1.0, 0.0));\n let c = hash21(i + vec2<f32>(0.0, 1.0));\n let d = hash21(i + vec2<f32>(1.0, 1.0));\n return mix(mix(a, b, uu.x), mix(c, d, uu.x), uu.y);\n}\n\nconst FBM_ROT: mat2x2<f32> = mat2x2<f32>(0.8, 0.6, -0.6, 0.8);\n\nfn fbm(p0: vec2<f32>) -> f32 {\n var v = 0.0;\n var a = 0.5;\n var p = p0;\n let octaves = u.ints0.w;\n for (var i = 0; i < 5; i = i + 1) {\n if (i >= octaves) { break; }\n v = v + a * vnoise(p);\n p = FBM_ROT * p * 2.02;\n a = a * 0.5;\n }\n return v;\n}\n\n\nfn srgbToLinearCh(c: f32) -> f32 {\n if (c <= 0.04045) { return c / 12.92; }\n return pow((c + 0.055) / 1.055, 2.4);\n}\nfn srgbToLinear(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfn linearToSrgbCh(c: f32) -> f32 {\n if (c <= 0.0031308) { return c * 12.92; }\n return 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nfn linearToSrgb(c: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}\n\n// value.js LINEAR_SRGB_TO_LMS, row-major \u2192 WGSL columns (= the transpose).\nconst LINEAR_SRGB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients, row-major \u2192 WGSL columns.\nconst LMS_TO_OKLAB: mat3x3<f32> = mat3x3<f32>(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF, row-major \u2192 WGSL columns.\nconst OKLAB_TO_LMS: mat3x3<f32> = mat3x3<f32>(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB, row-major \u2192 WGSL columns.\nconst LMS_TO_LINEAR_SRGB: mat3x3<f32> = mat3x3<f32>(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\nfn cbrt3(v: vec3<f32>) -> vec3<f32> {\n return sign(v) * pow(abs(v), vec3<f32>(1.0 / 3.0));\n}\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nfn srgbToOklab(c: vec3<f32>) -> vec3<f32> {\n let lin = srgbToLinear(c);\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nfn oklabToLinearSrgb(lab: vec3<f32>) -> vec3<f32> {\n let lms_ = OKLAB_TO_LMS * lab;\n let lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS, folded to [0, 2pi). Mirrors value.js rawOklabToOklch.\nfn oklabToOklch(lab: vec3<f32>) -> vec3<f32> {\n let C = length(lab.yz);\n var H = atan2(lab.z, lab.y);\n if (H < 0.0) { H = H + 2.0 * PI; }\n return vec3<f32>(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nfn oklchToOklab(lch: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\n// value.js interpolateHue in the NORMALIZED-TURNS domain. methods: 0 shorter,\n// 1 longer, 2 increasing, 3 decreasing.\nfn interpolateHueTurns(h0: f32, h1: f32, t: f32, method: i32) -> f32 {\n let TAU = 2.0 * PI;\n var a = h0 / TAU;\n var b = h1 / TAU;\n let i = b - a;\n if (method == 0) { // shorter\n if (i > 0.5) { a = a + 1.0; } else if (i < -0.5) { b = b + 1.0; }\n } else if (method == 1) { // longer\n if (i > 0.0 && i < 0.5) { a = a + 1.0; } else if (i > -0.5 && i <= 0.0) { b = b + 1.0; }\n } else if (method == 2) { // increasing\n if (i < 0.0) { b = b + 1.0; }\n } else { // decreasing\n if (i > 0.0) { a = a + 1.0; }\n }\n var r = a + t * (b - a);\n r = fract(r); // fract is non-negative in WGSL\n return r * TAU; // back to radians\n}\n\n// Linear-sRGB endpoint pair \u2192 OKLab-rectangular interpolation \u2192 linear sRGB.\nfn mixPaletteOklab(linA: vec3<f32>, linB: vec3<f32>, t: f32) -> vec3<f32> {\n let labA = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * linA);\n let labB = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * linB);\n let lab = mix(labA, labB, t);\n return oklabToLinearSrgb(lab);\n}\n\n// Linear-sRGB endpoint pair \u2192 OKLCh hue-arc interpolation \u2192 linear sRGB.\nfn mixPaletteOklchArc(linA: vec3<f32>, linB: vec3<f32>, t: f32, method: i32) -> vec3<f32> {\n let labA = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * linA);\n let labB = LMS_TO_OKLAB * cbrt3(LINEAR_SRGB_TO_LMS * linB);\n let lchA = oklabToOklch(labA);\n let lchB = oklabToOklch(labB);\n let L = mix(lchA.x, lchB.x, t);\n let C = mix(lchA.y, lchB.y, t);\n let H = interpolateHueTurns(lchA.z, lchB.z, t, method);\n return oklabToLinearSrgb(oklchToOklab(vec3<f32>(L, C, H)));\n}\n\n// The ramp dispatcher (the samplePalette splices it). tRaw is the raw inter-stop\n// parameter [0,1]; the smoothstep ease + the huePath branch live here so the ramp is\n// one source. increasing(2)/decreasing(3) take the OKLCh hue-arc; every other method\n// takes the OKLab-rectangular straight line.\nfn samplePaletteRamp(a: vec3<f32>, b: vec3<f32>, tRaw: f32, huePath: i32) -> vec3<f32> {\n let t = smoothstep(0.0, 1.0, tRaw);\n if (huePath == 2 || huePath == 3) {\n return mixPaletteOklchArc(a, b, t, huePath);\n }\n return mixPaletteOklab(a, b, t);\n}\n\n// Interleaved Gradient Noise (Jimenez) \u2014 display-space 1-LSB dither.\nfn ign(p: vec2<f32>) -> f32 {\n return fract(52.9829189 * fract(dot(p, vec2<f32>(0.06711056, 0.00583715))));\n}\n\n// Cellular / Worley f1.\nfn cellular(p: vec2<f32>) -> f32 {\n let i = floor(p);\n let f = fract(p);\n var m = 1e9;\n for (var y = -1; y <= 1; y = y + 1) {\n for (var x = -1; x <= 1; x = x + 1) {\n let g = vec2<f32>(f32(x), f32(y));\n let o = hash22(i + g);\n let r = g + o - f;\n m = min(m, dot(r, r));\n }\n }\n return sqrt(m);\n}\n\n// \u2500\u2500 Warp (Quilez double warp + the three warp modes + the cursor swirl) \u2500\u2500\nfn domainWarp(p: vec2<f32>, t: f32) -> vec2<f32> {\n let warpScale = u.scalars1.x;\n let warpDrift = u.scalars1.y;\n let warpAmount = u.scalars0.w;\n let warpMode = u.ints0.z;\n let cursorStrength = u.scalars3.y;\n let cursorRadius = u.scalars3.z;\n let cursor = u.cursor.xy;\n\n let q = vec2<f32>(fbm(p * warpScale + vec2<f32>(0.0, 0.0) + t * warpDrift * K_WARP),\n fbm(p * warpScale + vec2<f32>(5.2, 1.3) + t * warpDrift * K_WARP));\n let r = vec2<f32>(fbm(p * warpScale + 4.0 * q + vec2<f32>(1.7, 9.2)),\n fbm(p * warpScale + 4.0 * q + vec2<f32>(8.3, 2.8)));\n\n var warp = r;\n if (warpMode == 1) {\n // cellular \u2014 chunky territories\n let c1 = cellular(p * warpScale * 1.5 + vec2<f32>(t * warpDrift * K_WARP * 2.0, 0.0));\n let c2 = cellular(p * warpScale * 1.5 + vec2<f32>(11.0, 7.0 + t * warpDrift * K_WARP * 2.0));\n warp = vec2<f32>(c1, c2);\n } else if (warpMode == 2) {\n // hybrid \u2014 fbm + cellular averaged\n let c1 = cellular(p * warpScale * 1.2);\n let c2 = cellular(p * warpScale * 1.2 + vec2<f32>(11.0, 7.0));\n warp = mix(r, vec2<f32>(c1, c2), 0.5);\n }\n var warped = p + warpAmount * warp;\n\n // Cursor swirl \u2014 rotate p around the cursor with radial falloff.\n if (cursorStrength > 0.001) {\n let toP = p - cursor;\n let d = length(toP);\n let rr = max(cursorRadius, 0.01);\n let w = exp(-(d * d) / (rr * rr * 0.45));\n let ang = w * cursorStrength * 2.1;\n let ca = cos(ang);\n let sa = sin(ang);\n var rotated = vec2<f32>(ca * toP.x - sa * toP.y, sa * toP.x + ca * toP.y) + cursor;\n let pinch = w * cursorStrength * 0.08;\n rotated = mix(rotated, cursor, pinch);\n warped = mix(warped, rotated + warpAmount * warp * 0.7, w * cursorStrength);\n }\n return warped;\n}\n\n// \u2500\u2500 Palette LUT \u2500\u2500\nfn samplePalette(id0: f32) -> vec3<f32> {\n let id = clamp(id0, 0.0, 1.0);\n let stopCount = u.ints0.x;\n let scaled = id * f32(stopCount - 1);\n let i0 = i32(floor(scaled));\n let i1 = min(i0 + 1, stopCount - 1);\n let t = fract(scaled);\n return samplePaletteRamp(u.palette[i0].rgb, u.palette[i1].rgb, t, u.ints1.y);\n}\n\n// \u2500\u2500 Nuclei field (anisotropic Gaussian softmax + drift + palette drift) \u2500\u2500\nstruct NucleiResult { paletteId: f32, valueMod: f32 };\n\nfn nucleiField(p: vec2<f32>, t: f32) -> NucleiResult {\n let nucleiCount = u.ints0.y;\n let nucleiDrift = u.scalars2.y;\n let paletteDrift = u.scalars2.z;\n let softmaxBeta = u.scalars0.y;\n\n var accumBias = 0.0;\n var accumValue = 0.0;\n var accumW = 0.0;\n for (var i = 0; i < MAX_NUCLEI; i = i + 1) {\n if (i >= nucleiCount) { break; }\n let n0 = u.nuc0[i]; // pos.x, pos.y, radius, paletteBias\n let n1 = u.nuc1[i]; // valueBias, driftRadius, driftPhase, elong\n let angle = u.nuc2[i].x;\n let driftRadius = n1.y;\n let driftPhase = n1.z;\n let posI = n0.xy + driftRadius * vec2<f32>(\n cos(t * nucleiDrift * K_NUCLEI + driftPhase),\n sin(t * nucleiDrift * K_NUCLEI + driftPhase * 1.13)\n );\n let diff = p - posI;\n let ca = cos(angle);\n let sa = sin(angle);\n let local = vec2<f32>(ca * diff.x + sa * diff.y, -sa * diff.x + ca * diff.y);\n let along = local.x / max(n1.w, 0.01);\n let across = local.y;\n let d2 = along * along + across * across;\n let r = max(n0.z, 0.01);\n let w = exp(-softmaxBeta * d2 / (r * r));\n accumBias = accumBias + w * n0.w;\n accumValue = accumValue + w * n1.x;\n accumW = accumW + w;\n }\n var paletteId = accumBias / max(accumW, 1e-4);\n let valueMod = accumValue / max(accumW, 1e-4);\n\n let palAmp = clamp(paletteDrift * 6.0, 0.0, 0.06);\n paletteId = paletteId + palAmp * sin(t * paletteDrift * K_PAL);\n paletteId = clamp(paletteId, 0.0, 1.0);\n return NucleiResult(paletteId, valueMod);\n}\n\n// \u2500\u2500 Color utils (OKLCh saturation) \u2500\u2500\nfn linOklab(lin: vec3<f32>) -> vec3<f32> {\n let lms = LINEAR_SRGB_TO_LMS * lin;\n return LMS_TO_OKLAB * cbrt3(lms);\n}\n\nfn saturate3(c: vec3<f32>, amt: f32) -> vec3<f32> {\n var lch = oklabToOklch(linOklab(c));\n lch.y = max(lch.y * amt, 0.0);\n return max(oklabToLinearSrgb(oklchToOklab(lch)), vec3<f32>(0.0));\n}\n\n// BD.W-AUR-VIVIDNESS \u2014 the \u00A73 chroma FLOOR, the WGSL twin of the GLSL vividnessFloor.\n// OKLab chroma lifted toward the floor, hue + L preserved; below VIVID_EPS the (a,b)\n// direction is precision noise so the lift synthesizes along the WARM anchor (amber,\n// both components positive) \u2014 never teal/navy. vividness (scalars3.w) == 0 is a no-op\n// (the byte-identity opt-out). Mode factor lifts a dim field a touch (read through glass).\nconst VIVID_TARGET: f32 = 0.115;\nconst VIVID_EPS: f32 = 0.012;\nconst VIVID_WARM_ANCHOR: vec2<f32> = vec2<f32>(0.34202, 0.93969);\nfn vividnessFloor(c: vec3<f32>, vividness: f32) -> vec3<f32> {\n if (vividness <= 0.0001) { return c; }\n var lab = linOklab(c);\n let C = length(lab.yz);\n let modeLift = mix(1.18, 1.0, clamp(lab.x * 1.4, 0.0, 1.0));\n let Cmin = vividness * VIVID_TARGET * modeLift;\n var hueDir = VIVID_WARM_ANCHOR;\n if (C > VIVID_EPS) { hueDir = lab.yz / C; }\n let yz = hueDir * max(C, Cmin);\n lab = vec3<f32>(lab.x, yz.x, yz.y);\n return max(oklabToLinearSrgb(lab), vec3<f32>(0.0));\n}\n\n// \u2500\u2500 PBR-Neutral tonemap (named aces() in the GLSL \u2014 the tonemap slot) \u2500\u2500\nfn aces(color0: vec3<f32>) -> vec3<f32> {\n let startCompression = 0.8 - 0.04;\n let desaturation = 0.15;\n var color = color0;\n let x = min(color.r, min(color.g, color.b));\n var offset = 0.04;\n if (x < 0.08) { offset = x - 6.25 * x * x; }\n color = color - offset;\n let peak = max(color.r, max(color.g, color.b));\n if (peak < startCompression) { return clamp(color, vec3<f32>(0.0), vec3<f32>(1.0)); }\n let d = 1.0 - startCompression;\n let newPeak = 1.0 - d * d / (peak + d - startCompression);\n color = color * (newPeak / peak);\n let g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0);\n return clamp(mix(color, newPeak * vec3<f32>(1.0), g), vec3<f32>(0.0), vec3<f32>(1.0));\n}\n\n// \u2500\u2500 BC.W-VIZ-AURORA (T4) \u2014 the painterly-medium bodies (the keystone WGSL port) \u2500\u2500\n// Spliced HERE, after every helper the mediums consume is defined (domainWarp,\n// nucleiField, samplePalette, linOklab, saturate3, oklabToOklch/oklchToOklab,\n// hash21/vnoise/fbm) and before the vertex/fragment stages. applyMedium(col,p,t)\n// is the dispatch the fragment stage calls.\n\n// \u2500\u2500 Painterly luma + medium scalar accessors \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst W_LUMA: vec3<f32> = vec3<f32>(0.2126, 0.7152, 0.0722);\n\nfn mStrokeAmount() -> f32 { return u.scalars4.x; }\nfn mStrokeScale() -> f32 { return u.scalars4.y; }\nfn mStrokeAnisotropy() -> f32 { return u.scalars4.z; }\nfn mCanvasGrain() -> f32 { return u.scalars4.w; }\nfn mWetEdge() -> f32 { return u.scalars5.x; }\nfn mGranulation() -> f32 { return u.scalars5.y; }\nfn mBrokenColor() -> f32 { return u.scalars5.z; }\nfn mKuwaharaQ() -> f32 { return u.scalars5.w; }\nfn mKuwaharaRadius() -> f32 { return u.kuwahara.x; }\n\n// \u2500\u2500 Base color re-sample (the edge-mask operator the mediums Sobel/sector-sample) \u2500\u2500\n// The WGSL twin of mediums.glsl.ts sampleBase: warp -> nuclei field -> palette -> value.\nfn sampleBase(p: vec2<f32>, t: f32) -> vec3<f32> {\n let pw = domainWarp(p, t);\n let nf = nucleiField(pw, t);\n var c = samplePalette(nf.paletteId);\n c = c * (1.0 + u.scalars0.z * nf.valueMod);\n return c;\n}\n\n// \u2500\u2500 Broken color (hue + chroma jitter at constant OKLCh L) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfn brokenColorJitter(c: vec3<f32>, hueSeed: f32, valueSeed: f32, strength: f32) -> vec3<f32> {\n let amt = clamp(mBrokenColor() * strength, 0.0, 1.0);\n if (amt <= 0.001) { return c; }\n var lch = oklabToOklch(linOklab(c));\n lch.z = lch.z + (hueSeed - 0.5) * (32.0 * PI / 180.0) * amt;\n lch.y = max(lch.y * (1.0 + (valueSeed - 0.5) * 0.28 * amt), 0.0);\n return max(oklabToLinearSrgb(oklchToOklab(lch)), vec3<f32>(0.0));\n}\n\n// \u2500\u2500 Structure-tensor / edge-tangent-flow (AW.W4.1; the WGSL twin) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// Returns vec3(tangent.x, tangent.y, A) \u2014 the minor-eigenvector edge-tangent + coherence.\nfn structureTensorField(p: vec2<f32>, t: f32, fallbackDir: vec2<f32>) -> vec3<f32> {\n let e = 0.0035;\n let l00 = dot(sampleBase(p + vec2<f32>(-e, -e), t), W_LUMA);\n let l10 = dot(sampleBase(p + vec2<f32>(0.0, -e), t), W_LUMA);\n let l20 = dot(sampleBase(p + vec2<f32>( e, -e), t), W_LUMA);\n let l01 = dot(sampleBase(p + vec2<f32>(-e, 0.0), t), W_LUMA);\n let l21 = dot(sampleBase(p + vec2<f32>( e, 0.0), t), W_LUMA);\n let l02 = dot(sampleBase(p + vec2<f32>(-e, e), t), W_LUMA);\n let l12 = dot(sampleBase(p + vec2<f32>(0.0, e), t), W_LUMA);\n let l22 = dot(sampleBase(p + vec2<f32>( e, e), t), W_LUMA);\n let Gx = (l20 + 2.0 * l21 + l22) - (l00 + 2.0 * l01 + l02);\n let Gy = (l02 + 2.0 * l12 + l22) - (l00 + 2.0 * l10 + l20);\n let Jxx = Gx * Gx;\n let Jyy = Gy * Gy;\n let Jxy = Gx * Gy;\n let tr = Jxx + Jyy;\n let disc = sqrt(max((Jxx - Jyy) * (Jxx - Jyy) + 4.0 * Jxy * Jxy, 0.0));\n let lambdaMaj = 0.5 * (tr + disc);\n let lambdaMin = 0.5 * (tr - disc);\n var tangent: vec2<f32>;\n if (disc < 1e-7) {\n tangent = fallbackDir;\n } else {\n let theta = 0.5 * atan2(2.0 * Jxy, Jxx - Jyy);\n tangent = vec2<f32>(-sin(theta), cos(theta));\n }\n var A = (lambdaMaj - lambdaMin) / (lambdaMaj + lambdaMin + 1e-6);\n A = clamp(A, 0.0, 1.0);\n if (dot(tangent, fallbackDir) < 0.0) { tangent = -tangent; }\n let blendW = pow(A, 0.28);\n let dir = normalize(mix(fallbackDir, tangent, blendW) + vec2<f32>(1e-6, 1e-6));\n return vec3<f32>(dir, A);\n}\n\n// \u2500\u2500 Flow field (the WGSL twin \u2014 the simple flow seed the medium fallback dirs use) \u2500\u2500\nfn flowField(p: vec2<f32>, t: f32) -> vec2<f32> {\n // Curl-noise-driven swirl (the medium-default dir; the full radial/swirl/diagonal\n // dispatch rides uniforms the WGSL struct does not carry \u2014 the procedural mediums\n // use this multi/curl seed as the fallback the structure tensor relaxes toward).\n let n = fbm(p * 2.0 + vec2<f32>(t * 0.02, t * 0.02));\n let a = n * 6.2831853;\n var dir = vec2<f32>(cos(a), sin(a));\n // Cursor swirl bias (matches the GLSL flow cursor term \u2014 the steady attraction).\n let cursorStrength = u.scalars3.y;\n let cursorRadius = u.scalars3.z;\n let cursor = u.cursor.xy;\n if (cursorStrength > 0.001) {\n let toCur = cursor - p;\n let d = length(toCur);\n let r = max(cursorRadius, 0.01);\n let w = exp(-(d * d) / (r * r * 0.5));\n let tangent = vec2<f32>(-toCur.y, toCur.x) / max(d, 1e-4);\n let a0 = atan2(dir.y, dir.x);\n let a1 = atan2(tangent.y, tangent.x);\n var da = a1 - a0;\n da = atan2(sin(da), cos(da));\n let aa = a0 + da * w * cursorStrength;\n dir = vec2<f32>(cos(aa), sin(aa));\n }\n return dir;\n}\n\n// \u2500\u2500 Watercolor \u2014 wet-edge cauliflowers + granulation + wash banding \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfn mediumWatercolor(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n var col = col0;\n let eps = 0.004;\n let cx1 = sampleBase(p + vec2<f32>(eps, 0.0), t);\n let cx2 = sampleBase(p - vec2<f32>(eps, 0.0), t);\n let cy1 = sampleBase(p + vec2<f32>(0.0, eps), t);\n let cy2 = sampleBase(p - vec2<f32>(0.0, eps), t);\n let gx = dot(cx1 - cx2, W_LUMA);\n let gy = dot(cy1 - cy2, W_LUMA);\n let edge = sqrt(gx * gx + gy * gy) / (2.0 * eps);\n let mask = smoothstep(0.0, 2.5, edge);\n col = col * mix(1.0, 0.78, mask * mWetEdge());\n\n let paper = 0.5 * vnoise(p * 160.0) + 0.5 * vnoise(p * 360.0);\n let pigLoad = 1.0 - dot(col, W_LUMA);\n col = col * (1.0 - mGranulation() * pigLoad * (paper - 0.5));\n\n let band = fbm(vec2<f32>(p.x * 1.5, p.y * 0.4));\n col = col * (1.0 + 0.04 * (band - 0.5));\n return col;\n}\n\n// \u2500\u2500 Pastel \u2014 anisotropic stroke noise along the flow + tooth grain \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfn mediumPastel(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n var col = col0;\n let flow = flowField(p, t);\n let perp = vec2<f32>(-flow.y, flow.x);\n let strokeScale = mStrokeScale();\n let along = dot(p, flow) * strokeScale;\n var across = dot(p, perp) * strokeScale;\n across = across + 0.03 * (vnoise(p * 260.0) - 0.5);\n\n let aniso = mix(1.0, 0.18, mStrokeAnisotropy());\n let stroke = fbm(vec2<f32>(along * aniso, across));\n col = col * mix(1.0, 0.82 + 0.32 * stroke, mStrokeAmount());\n\n let tooth = vnoise(p * 800.0);\n col = col * (1.0 - 0.08 * mStrokeAmount() * (tooth - 0.5));\n return col;\n}\n\n// \u2500\u2500 Crayon \u2014 DRY wax pigment on paper tooth (the tooth-multiply + scumble) \u2500\u2500\nfn mediumCrayon(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n let flow = structureTensorField(p, t, flowField(p, t)).xy;\n let ang = atan2(flow.y, flow.x);\n let ca = cos(-ang);\n let sa = sin(-ang);\n let pr = vec2<f32>(p.x * ca - p.y * sa, p.x * sa + p.y * ca);\n\n let aniso = mix(0.45, 0.95, mStrokeAnisotropy());\n let scale = max(mStrokeScale() * 1.6, 180.0);\n\n let t1 = vnoise(vec2<f32>(pr.x * scale * aniso, pr.y * scale));\n let t2 = vnoise(vec2<f32>(pr.x * scale * aniso * 0.4, pr.y * scale * 0.4) + vec2<f32>(11.0, 11.0));\n let t3 = vnoise(vec2<f32>(pr.x * scale * aniso * 2.1, pr.y * scale * 2.1) + vec2<f32>(23.0, 23.0));\n let tooth = 0.55 * t1 + 0.30 * t2 + 0.15 * t3;\n\n let pressure = clamp(mStrokeAmount(), 0.0, 1.0);\n let bite = mix(0.18, 0.46, pressure);\n var result = col0 * (1.0 - bite * (0.5 - tooth));\n\n let scumbleMask = smoothstep(0.42, 0.78, vnoise(vec2<f32>(pr.x * scale * 0.55, pr.y * scale * 0.22) + vec2<f32>(7.0, 7.0)));\n let scumbleCoverage = scumbleMask * pressure * 0.7;\n let paper = col0 * mix(0.80, 0.94, pressure);\n result = mix(paper, result, scumbleCoverage);\n\n let pigmentCell = floor(pr * max(scale * 0.18, 32.0));\n let pigmentMask = smoothstep(0.28, 0.82, vnoise(pr * scale * 0.21 + vec2<f32>(19.0, 19.0)));\n result = brokenColorJitter(\n result,\n hash21(pigmentCell + vec2<f32>(17.0, 17.0)),\n hash21(pigmentCell * 2.1 + vec2<f32>(31.0, 31.0)),\n 0.45 + 0.55 * pigmentMask\n );\n\n result = saturate3(result, 1.08);\n return result;\n}\n\n// \u2500\u2500 Kuwahara \u2014 the SOFT anisotropic generalized Kuwahara painterly finish \u2500\u2500\u2500\u2500\n// THE KEYSTONE (Kyprianidis 2010). Aurora is a PROCEDURAL field (no input texture) so the\n// operator runs over sampleBase directly: an elliptical kernel oriented along the structure\n// tensor (elongated along the edge-tangent, narrowed across by the anisotropy), 8 OVERLAPPING\n// sectors via SMOOTH gaussian-angular weights, blended by 1/(1+var^q) (the SOFT criterion \u2192\n// no 8-spoke pinwheel by construction). 4 rings \u00D7 8 angular taps = 32 procedural samples.\nfn mediumKuwahara(col0: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n let stf = structureTensorField(p, t, flowField(p, t));\n let tangent = stf.xy;\n let A = stf.z;\n // The studio knob drives the patch radius; clamp into the procedural patch band.\n let radius = clamp(mKuwaharaRadius() + mStrokeScale() * 0.00018, 0.006, 0.024);\n let aniso = mix(1.0, 0.34, clamp(A, 0.0, 1.0));\n let ax = tangent;\n let ay = vec2<f32>(-tangent.y, tangent.x);\n\n // Per-sector weighted sums (8 sectors). WGSL has no runtime-indexed local arrays of\n // vectors as cleanly as GLSL, so unroll the sector accumulators explicitly.\n var mSum: array<vec3<f32>, 8>;\n var sSum: array<vec3<f32>, 8>;\n var wSum: array<f32, 8>;\n for (var i = 0; i < 8; i = i + 1) {\n mSum[i] = vec3<f32>(0.0);\n sSum[i] = vec3<f32>(0.0);\n wSum[i] = 0.0;\n }\n\n let RINGS = 4;\n let TAPS = 8;\n for (var r = 1; r <= RINGS; r = r + 1) {\n let rr = f32(r) / f32(RINGS);\n let radial = 1.0 - 0.6 * rr;\n for (var a = 0; a < TAPS; a = a + 1) {\n let ang = 6.2831853 * f32(a) / f32(TAPS);\n let dirE = ax * cos(ang) + ay * (sin(ang) * aniso);\n let off = dirE * (radius * rr);\n let c = sampleBase(p + off, t);\n for (var k = 0; k < 8; k = k + 1) {\n let sectorAng = 6.2831853 * f32(k) / 8.0;\n var d = ang - sectorAng;\n d = atan2(sin(d), cos(d));\n let sw = exp(-d * d * 2.2) * radial;\n mSum[k] = mSum[k] + c * sw;\n sSum[k] = sSum[k] + c * c * sw;\n wSum[k] = wSum[k] + sw;\n }\n }\n }\n\n let q = max(mKuwaharaQ(), 1.0);\n var accum = vec3<f32>(0.0);\n var accumW = 0.0;\n for (var k = 0; k < 8; k = k + 1) {\n let wk = max(wSum[k], 1e-4);\n let mean = mSum[k] / wk;\n let var3 = max(sSum[k] / wk - mean * mean, vec3<f32>(0.0));\n let variance = dot(var3, W_LUMA);\n let sectorW = 1.0 / (1.0 + pow(variance * 320.0, q));\n accum = accum + mean * sectorW;\n accumW = accumW + sectorW;\n }\n var result = accum / max(accumW, 1e-4);\n\n // Anchor in near-flat zones so the smoothing only bites at edges.\n let center = sampleBase(p, t);\n result = mix(center, result, clamp(0.35 + 0.65 * A, 0.0, 1.0));\n\n // Faint canvas tooth + pigment-saturation so the flattened patches read as oil paint.\n let tooth = vnoise(p * 300.0) - 0.5;\n result = result * (1.0 + tooth * 0.06 * mCanvasGrain());\n result = saturate3(result, 1.04);\n\n return mix(col0, result, clamp(mStrokeAmount(), 0.0, 1.0));\n}\n\n// \u2500\u2500 Medium dispatch (the WGSL twin of the GLSL main() if-ladder) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// uMedium: 0 smooth \u00B7 1 pastel \u00B7 2 watercolor \u00B7 3 oil \u00B7 4 crayon \u00B7 5 vangogh \u00B7\n// 6 oil-pastel \u00B7 7 kuwahara. The cheap peer mediums (pastel/watercolor/crayon) +\n// kuwahara port their own bodies; the oil/vangogh/oil-pastel STROKE cascade renders\n// the anisotropic-Kuwahara PAINTERLY finish here (a real oil-paint read, never the\n// smooth core \u2014 the \"NO FALLBACKS on Safari\" mandate; the full per-dab Starry-Night\n// stroke WGSL is the booked W-AURORA-WGPU-MEDIUMS-STROKES tail).\nfn applyMedium(col: vec3<f32>, p: vec2<f32>, t: f32) -> vec3<f32> {\n let medium = u.ints1.x;\n if (medium == 1) { return mediumPastel(col, p, t); }\n if (medium == 2) { return mediumWatercolor(col, p, t); }\n if (medium == 4) { return mediumCrayon(col, p, t); }\n // oil(3) / vangogh(5) / oil-pastel(6) / kuwahara(7) all render the painterly\n // anisotropic-Kuwahara finish on the WGSL primary (the WebGL2 fallback carries the\n // full per-dab stroke cascade for oil/vangogh/oil-pastel).\n if (medium == 3 || medium == 5 || medium == 6 || medium == 7) {\n return mediumKuwahara(col, p, t);\n }\n return col;\n}\n\n\n// \u2500\u2500 Full-screen triangle vertex stage (the pilot idiom \u2014 no vertex buffer) \u2500\u2500\nstruct VSOut {\n @builtin(position) pos: vec4<f32>,\n @location(0) uv: vec2<f32>,\n};\n\n@vertex\nfn vs_main(@builtin(vertex_index) vi: u32) -> VSOut {\n // NDC corners of the covering triangle (-1,-1), (3,-1), (-1,3).\n var p = vec2<f32>(-1.0, -1.0);\n if (vi == 1u) { p = vec2<f32>(3.0, -1.0); }\n else if (vi == 2u) { p = vec2<f32>(-1.0, 3.0); }\n var out: VSOut;\n out.pos = vec4<f32>(p, 0.0, 1.0);\n // vUv = aPos * 0.5 + 0.5 (the aurora.vert convention).\n out.uv = p * 0.5 + 0.5;\n return out;\n}\n\n// \u2500\u2500 Fragment stage (the main() transcription) \u2500\u2500\n@fragment\nfn fs_main(in: VSOut) -> @location(0) vec4<f32> {\n let t = u.scalars0.x;\n let valueVariance = u.scalars0.z;\n let breathDepth = u.scalars2.w;\n let breathPeriod = u.scalars3.x;\n let saturation = u.scalars1.z;\n let paperGrain = u.scalars1.w;\n let alpha = u.scalars2.x;\n let vividness = u.scalars3.w;\n\n let uv = in.uv;\n let pN = uv;\n\n let p_warp = domainWarp(pN, t);\n\n let nf = nucleiField(p_warp, t);\n var col = samplePalette(nf.paletteId);\n col = col * (1.0 + valueVariance * nf.valueMod);\n\n // Breath \u2014 slow global luminance wobble.\n let breath = sin(t * 6.2831 / max(breathPeriod, 1.0));\n col = col * (1.0 + breathDepth * breath * 0.5);\n\n // BC.W-VIZ-AURORA (T4) \u2014 the painterly-medium dispatch. uMedium 0 (smooth) is a\n // no-op pass-through so the DEFAULT smooth config is byte-identical to the prior\n // WGSL primary (the parity capture); uMedium 1-7 render the ported painterly\n // bodies (pastel/watercolor/crayon/kuwahara) or the anisotropic-Kuwahara finish\n // (oil/vangogh/oil-pastel) \u2014 never a silent smooth degrade on Safari 26.\n col = applyMedium(col, pN, t);\n\n // Saturation trim.\n col = saturate3(col, saturation);\n\n // BD.W-AUR-VIVIDNESS \u2014 the \u00A73 chroma floor (warm-anchored, hue-preserving). The WGSL\n // twin of the GLSL call; vividness:0 is a no-op so the smooth/pale default stays gated.\n col = vividnessFloor(col, vividness);\n\n // Tonemap + film grain.\n col = aces(col);\n // gl_FragCoord.xy \u2192 the device-pixel position (the WGSL @builtin(position)).\n let fragCoord = in.pos.xy;\n let grain = hash21(fragCoord + t * 17.0);\n col = col + (grain - 0.5) * paperGrain;\n\n col = clamp(col * 0.985 + 0.008, vec3<f32>(0.0), vec3<f32>(1.0));\n\n // MANDATORY OETF \u2014 closes the seam (the whole pipeline above runs in LINEAR).\n col = linearToSrgb(col);\n\n // 1-LSB triangular IGN dither in DISPLAY space, AFTER the OETF.\n col = col + (1.0 / 255.0) * (ign(fragCoord) - 0.5);\n\n // Premultiply on DISPLAY-space color (matches the WebGL2 path: OETF, then premul).\n return vec4<f32>(col * alpha, alpha);\n}\n";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const AURORA_BRUSH_GLSL = "// \u2500\u2500 Curved swept brushstroke primitive \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// A stroke is a curved spine from A to B with quadratic bulge K (sideways offset\n// at midpoint). Width varies along length via a shape profile. Edge is ragged\n// (bristle-modulated), ends are rounded blobs, inside has streak modulation.\n//\n// For pixel p, we invert an approximate projection onto the curved spine:\n// 1) project p onto straight AB axis -> along0, cross0\n// 2) at parameter along0, spine offset = 4\u00B7K\u00B7along0\u00B7(1-along0) perpendicular\n// 3) cross = cross0 - spineOffset, refine along one iteration\n// Coverage blends paint atop col based on per-stroke color sampled from the\n// underlying base at spine midpoint \u2014 so overlapping strokes from different\n// palette regions meet at hard, ragged demarcations.\n\nstruct StrokeHit {\n float coverage; // 0..1\n vec3 color;\n float alongT; // 0..1 along spine, for internal modulation\n float crossN; // cross distance / current half-width, signed\n float edgeN; // distance to edge in half-widths (0 = at edge, 1 = at spine)\n};\n\nStrokeHit noHit() { return StrokeHit(0.0, vec3(0.0), 0.0, 0.0, 0.0); }\n\nvec2 rotateDir(vec2 dir, float angle) {\n float ca = cos(angle), sa = sin(angle);\n return vec2(dir.x * ca - dir.y * sa, dir.x * sa + dir.y * ca);\n}\n\nvec2 safeDir(vec2 dir) {\n float len = length(dir);\n return len > 1e-4 ? dir / len : vec2(1.0, 0.0);\n}\n\n// Shape profile along the stroke. type:\n// 0 tapered \u2014 thin-fat-thin (classic brush)\n// 1 load-drag \u2014 fat start, tapers to a point\n// 2 dab \u2014 ellipse-like, round center\n// 3 even \u2014 near-constant, slight end taper\n// 4 comma \u2014 van-Gogh atomic dab: ASYMMETRIC taper, fat near one end and\n// drawn to a fine point at the other (the divisionist crescent\n// mark). The width peak sits off-centre (~0.32) so the two ends\n// taper at DIFFERENT rates \u2014 a loaded round head + a dragged tail.\nfloat strokeShape(float t, int type) {\n t = clamp(t, 0.0, 1.0);\n if (type == 1) {\n // loaded at t=0, tapering\n return pow(1.0 - t, 0.55) * smoothstep(0.0, 0.08, t);\n } else if (type == 2) {\n // dab / blob\n float d = t - 0.5;\n return exp(-d * d * 12.0);\n } else if (type == 3) {\n // mostly even, slight end softening\n return smoothstep(0.0, 0.08, t) * smoothstep(1.0, 0.92, t) * 0.95 + 0.05;\n } else if (type == 4) {\n // comma / crescent \u2014 width peaks at ~0.32 then drags to a fine tail. The two\n // sides of the peak fall at different exponents (a fat round head, a long thin\n // tail), so the mark reads as a directional van-Gogh comma, not a symmetric oval.\n float peak = 0.32;\n float head = smoothstep(0.0, peak, t); // rounded loaded head\n float tail = pow(clamp((1.0 - t) / (1.0 - peak), 0.0, 1.0), 1.6); // dragged thin tail\n return clamp(min(head, tail) * 1.04, 0.0, 1.0);\n }\n // 0 tapered\n return smoothstep(0.0, 0.22, t) * smoothstep(1.0, 0.78, t);\n}\n\n// A single curved stroke.\n// a, b \u2014 endpoints\n// halfW \u2014 base half-width (world units)\n// bulge \u2014 signed perpendicular midpoint offset, in world units\n// shapeType \u2014 0..3\n// bristleFreq \u2014 spatial frequency of edge raggedness\n// bristleAmp \u2014 0..0.5 fraction of halfW chewed away at edge extrema\n// streakSeed \u2014 uniqueness seed for internal streaks\n// colAtMid \u2014 pre-sampled color at midpoint\nStrokeHit curvedStroke(vec2 p, vec2 a, vec2 b, float halfW,\n float bulge, int shapeType,\n float bristleFreq, float bristleAmp,\n float streakSeed, vec3 colAtMid) {\n vec2 ab = b - a;\n float L = length(ab);\n if (L < 1e-5) return noHit();\n vec2 tang = ab / L;\n vec2 norm = vec2(-tang.y, tang.x);\n\n vec2 rel = p - a;\n float along0 = dot(rel, tang) / L; // straight projection 0..1 along AB\n float cross0 = dot(rel, norm); // signed cross\n\n // Spine sideways offset due to bulge (parabolic)\n float bend = 4.0 * bulge * along0 * (1.0 - along0);\n float cross1 = cross0 - bend;\n\n // One refinement step: as the spine bends, the closest-point along shifts.\n // Spine tangent differs from straight tangent; first-order correction:\n float dBend = 4.0 * bulge * (1.0 - 2.0 * along0); // d(bend)/d(along)\n float along1 = along0 + (cross1 * dBend) / (L * (1.0 + dBend * dBend / (L * L)));\n\n // Bristle-ragged edge: half-width gets chewed by 1D noise along the spine\n float edgeNoise = fbm(vec2(along1 * bristleFreq, streakSeed * 7.3)) - 0.5;\n float edgeNoise2 = fbm(vec2(along1 * bristleFreq * 2.3, streakSeed * 3.1 + 17.0)) - 0.5;\n float edgeMod = 1.0 - bristleAmp * (0.6 + 0.4 * edgeNoise) * (0.5 + edgeNoise2);\n\n // Width profile along the stroke\n float shape = strokeShape(along1, shapeType);\n float halfWNow = halfW * shape * edgeMod;\n\n // Inside-segment coverage\n float cov = 0.0;\n if (along1 >= 0.0 && along1 <= 1.0 && halfWNow > 1e-6) {\n float cn = abs(cross1) / halfWNow;\n // fwidth-derived AA: half-width from the field's screen-space gradient so the\n // edge holds ~1px regardless of zoom/DPR (mirrors metaball.frag.ts:252-255).\n float aaC = max(fwidth(cn), 1e-6);\n cov = 1.0 - smoothstep(1.0 - aaC, 1.0 + aaC, cn);\n }\n\n // End-cap blobs (rounded tips, not perpendicular cuts)\n float capA = 0.0, capB = 0.0;\n {\n vec2 capCenterA = a + norm * (bulge * 0.0); // at a\n vec2 capCenterB = a + tang * L + norm * bend * 0.0 + norm * 0.0; // at b; bend is 0 at endpoints\n capCenterB = b;\n float endShapeA = strokeShape(0.02, shapeType);\n float endShapeB = strokeShape(0.98, shapeType);\n float rA = halfW * endShapeA * (0.9 + 0.2 * fbm(vec2(streakSeed * 13.0)));\n float rB = halfW * endShapeB * (0.9 + 0.2 * fbm(vec2(streakSeed * 19.0 + 5.0)));\n float dA = length(p - capCenterA);\n float dB = length(p - capCenterB);\n // fwidth-derived AA on the clean Euclidean cap distances (mirrors metaball.frag.ts:252-255).\n float aaA = max(fwidth(dA), 1e-6);\n float aaB = max(fwidth(dB), 1e-6);\n capA = 1.0 - smoothstep(rA - aaA, rA + aaA, dA);\n capB = 1.0 - smoothstep(rB - aaB, rB + aaB, dB);\n // Only apply caps if we're BEYOND the segment; otherwise the segment wins.\n capA *= (along1 < 0.05) ? 1.0 : 0.0;\n capB *= (along1 > 0.95) ? 1.0 : 0.0;\n }\n\n float coverage = max(cov, max(capA, capB));\n if (coverage < 0.002) return noHit();\n\n // Edge distance (for impasto later): 0 at edge, 1 at spine\n float edgeDist = halfWNow > 1e-6 ? clamp(1.0 - abs(cross1) / halfWNow, 0.0, 1.0) : 0.0;\n\n return StrokeHit(\n coverage,\n colAtMid,\n clamp(along1, 0.0, 1.0),\n halfWNow > 1e-6 ? cross1 / halfWNow : 0.0,\n edgeDist\n );\n}\n\n// The painterly STROKE mediums (those that deposit via paintStrokeLayers/paintOver):\n// oil (3), van-Gogh (5), oil-pastel (6). For these the stroke OVER-composite runs in\n// OKLab so overlapping complementaries mix through a chromatic path, not the linear-\n// RGB grey mud; the smooth/atmospheric pole never reaches paintOver so it pays nothing.\nbool isPainterlyStroke() {\n return uMedium == 3 || uMedium == 5 || uMedium == 6;\n}\n\n// OKLab OVER-composite: lerp L,a,b of the over-color toward the under-color (the\n// Ottosson matrices spliced from procedural-color.glsl.ts \u2014 no new color math). Two\n// complementary-hued strokes overlapping transition through OKLab, where the midpoint\n// holds chroma, instead of the linear mix() that desaturates toward grey (slice 8 F2).\nvec3 paintOverOklab(vec3 under, vec3 over, float alpha) {\n vec3 labU = linOklab(under);\n vec3 labO = linOklab(over);\n return max(oklabToLinearSrgb(mix(labU, labO, alpha)), vec3(0.0));\n}\n\n// Composite stroke over col with internal streaking + ACCUMULATE paint HEIGHT.\n// streakAmp \u2014 0..0.2 how much internal streaks darken/lighten\n// impastoAmp \u2014 0..1 paint-thickness contribution (the height the relight reads)\n// hardness \u2014 0..1 how crisp the compositing transition is (1 = razor, 0 = creamy)\n//\n// AW.W4.2 \u2014 the fixed-RGB edge rim (the phantom upper-left light) is RETIRED. Each\n// stroke now deposits PAINT HEIGHT into the height accumulator (coverage x per-stroke\n// thickness, perturbed by the bristle/streak fbm for ridges/grooves); mediumOil\n// derives a normal from the accumulated height gradient (dFdx/dFdy) and relights it\n// once with the movable uLightDir source (relightImpasto), in linear before aces().\n//\n// AX.W13 \u2014 the internal streak now perturbs HUE + CHROMA in OKLCh (not value-only),\n// so a single stroke carries a small hue gradient (broken color at the ATOM level \u2014\n// adjacent strokes shimmer like real impasto, not flat stamped swatches; slice 8 F5);\n// and the OVER-composite runs in OKLab on the painterly stroke mediums so overlapping\n// complementaries mix as pigment, not the linear-mix grey (slice 8 F2).\n// impastoFloor \u2014 the per-stroke height-crown floor: oil's 0.4+0.6*edgeN reads\n// floor=0.4 (the crown tapers to 40% at the stroke edge); the van-Gogh\n// profile passes floor=1.0 so each atomic dab catches a FULL-height\n// glint (scope item 1d). The crown magnitude is floor + (1-floor)*edgeN.\nvoid paintOver(inout vec3 col, inout float height, StrokeHit s,\n float streakFreq, float streakAmp,\n float impastoAmp, float hardness, float streakSeed,\n float impastoFloor) {\n if (s.coverage < 0.002) return;\n float strokeOpacity = clamp(uStrokeAmount, 0.0, 1.0);\n if (strokeOpacity <= 0.001) return;\n vec3 c = s.color;\n\n // Internal streaks \u2014 fbm along spine, modulated by cross position. Gives\n // the loaded-brush look: some bristles carry more pigment than others.\n float streakA = fbm(vec2(s.alongT * streakFreq, s.crossN * 2.7 + streakSeed));\n float streakB = fbm(vec2(s.alongT * streakFreq * 0.6 + streakSeed * 3.7, s.crossN * 4.1));\n float streak = 0.6 * (streakA - 0.5) + 0.4 * (streakB - 0.5);\n\n // \u2500\u2500 WITHIN-stroke OKLCh broken color (AX.W13, slice 8 F5). The streak fBm perturbs\n // the stroke's HUE + CHROMA along alongT/crossN, seeded per-stroke, so a single\n // stroke reads a small hue gradient (the atom-level broken-color shimmer). Value is\n // carried by the same streak so the loaded-brush light/dark survives. Gated to the\n // painterly stroke mediums + uBrokenColor (the smooth pole keeps the cheap value-only\n // streak). A second decorrelated fBm drives the hue axis so hue \u2260 a scaled value.\n float hueStreak = fbm(vec2(s.alongT * streakFreq * 0.45 + streakSeed * 5.3,\n s.crossN * 1.9 + streakSeed * 1.7)) - 0.5;\n if (isPainterlyStroke() && uBrokenColor > 0.001) {\n vec3 lch = oklabToOklch(linOklab(c));\n // \u00B1~10\u00B0 within-stroke hue swing + \u00B1~9% chroma, scaled by uBrokenColor. Smaller\n // than the per-stroke cell jitter (brokenColorJitter) \u2014 this is the intra-stroke\n // gradient layered on top of the per-cell pigment patch.\n lch.z += hueStreak * (20.0 * PI / 180.0) * uBrokenColor;\n lch.y = max(lch.y * (1.0 + (streak) * 0.18 * uBrokenColor), 0.0);\n c = max(oklabToLinearSrgb(oklchToOklab(lch)), vec3(0.0));\n }\n // Value streak (the loaded-brush light/dark across the bristles) \u2014 kept for every\n // medium that reaches paintOver (the smooth pole never does). The along-spine value\n // modulation is the loaded-brush light/dark that gives each stroke its OWN directional\n // luminance band \u2014 the structure-tensor signal a low-contrast color field (a uniform-hue\n // oil field) has no other source for (the \u00A74.2 anisotropy lift on the flat-palette case).\n c *= 1.0 + streak * streakAmp * 3.2;\n\n // Cross-stroke ridge/valley shading \u2014 a catch-light along the spine centre, darkening to\n // the stroke edges. This is the strongest DIRECTIONAL luminance cue: it carves a bright\n // ridge down the stroke's length and dark grooves between adjacent strokes, so a field of\n // parallel strokes reads as parallel light/dark bands (the high-A van-Gogh signature) even\n // where the underlying colour is flat. s.edgeN is 0 at the edge, 1 at the spine.\n float ridgeShade = smoothstep(0.0, 0.55, s.edgeN);\n c *= 1.0 + (ridgeShade - 0.5) * 0.30;\n\n float softLimit = mix(0.35, 0.98, hardness);\n float alpha = smoothstep(0.0, 1.0 - softLimit, s.coverage) * strokeOpacity;\n // OKLab OVER-composite on the painterly stroke mediums (overlap mixes as pigment,\n // not grey); the smooth pole never reaches paintOver, so it keeps the cheap path.\n col = isPainterlyStroke() ? paintOverOklab(col, c, alpha) : mix(col, c, alpha);\n\n // \u2500\u2500 Accumulate paint HEIGHT (AW.W4.2). Thickness peaks at the stroke spine and\n // falls toward the impastoFloor at the edge (edgeN: 0=edge, 1=spine), perturbed by\n // the bristle streak so ridges/grooves form. The relight reads the gradient of this\n // field. The van-Gogh profile's floor=1.0 gives every atomic dab a full-height crown.\n float ridge = 0.7 + 0.3 * (streak + 0.5);\n float crown = impastoFloor + (1.0 - impastoFloor) * s.edgeN;\n height += s.coverage * impastoAmp * crown * ridge * alpha;\n}\n\n// AW.W4.2 \u2014 relight the accumulated paint height. Derive a normal from the height\n// gradient (dFdx/dFdy \u2014 derivatives are in-pattern; fwidth is already used for AA),\n// then apply diffuse + Blinn specular from the movable uLightDir/uLightColor source.\n// LINEAR-space lighting BEFORE aces() (the tonemap/OETF stay locked); thin strokes\n// inherit a low shininess, thick impasto raises it (high-height ridges catch a sharp\n// glint). canvasBase is the tooth height so the canvas weave also catches the light.\nvec3 relightImpasto(vec3 col, float height, float canvasBase) {\n float h = height + canvasBase;\n // Height-gradient normal. heightScale trades relief depth for surface flatness.\n float heightScale = 6.0;\n vec3 N = normalize(vec3(-dFdx(h) * 40.0, -dFdy(h) * 40.0, 1.0 / heightScale));\n vec3 L = normalize(uLightDir);\n vec3 V = vec3(0.0, 0.0, 1.0); // view straight on\n vec3 H = normalize(L + V);\n float diff = max(dot(N, L), 0.0);\n // Thick impasto \u2192 high shininess (sharp glint); thin paint \u2192 broad soft sheen.\n float shininess = mix(8.0, 64.0, clamp(height * 2.0, 0.0, 1.0));\n float spec = pow(max(dot(N, H), 0.0), shininess);\n // Modulate the lit terms by how much paint sits here (no relief on bare ground).\n float relief = clamp(h * 1.5, 0.0, 1.0);\n vec3 lit = col * (1.0 + uImpasto * relief * (diff - 0.5) * 0.5 * uLightColor);\n // The specular glint is gated to ACCUMULATED-thick paint (height\u00B2) \u2014 a per-fine-stroke\n // sharp glint on every thin fill dab read as bright isotropic SPECKLE that buried the\n // directional stroke bands (the \u00A74.2 anisotropy / \u00A74.3 slope sink on the low-contrast\n // oil field). Only where real impasto has built up does the raked glint fire, so the\n // highlight tracks the macro ridges, not the fine speckle.\n float specGate = clamp(height, 0.0, 1.0);\n lit += uImpasto * relief * spec * specGate * 0.5 * uLightColor;\n return lit;\n}\n\n// Best-of-9-neighbor placement: sample 3x3 surrounding cells and take the\n// stroke that covers this pixel most. Breaks the grid by per-cell jitter and\n// sparse density via noise thresholding.\n// energyGrade \u2014 the SBR energy-grade magnitude (0 = none, the oil/oil-pastel\n// baseline; 1 = the full van-Gogh Starry-Night cascade \u2014 long\n// confident strokes in the lights/coherent zones, short dabs in\n// the darks/flat zones). The van-Gogh profile carries 1.0 (the\n// energy grade is a PROFILE field, not a buried uMedium==5 branch).\nStrokeHit bestOil(vec2 p, float cellSize, float lenMul, float halfWMul,\n float jitterAmt, float density, int shapeType,\n float bristleAmp, vec2 flow, float t, float seed,\n float energyGrade) {\n vec2 cell = floor(p / cellSize);\n\n StrokeHit best = noHit();\n // 3x3 neighborhood\n for (int dy = -1; dy <= 1; dy++) {\n for (int dx = -1; dx <= 1; dx++) {\n vec2 cc = cell + vec2(float(dx), float(dy));\n vec2 hh = hash22(cc + seed) - 0.5;\n // Density gate \u2014 noise threshold; sparse placement.\n float gate = hash21(cc * 1.7 + seed * 0.3);\n if (gate > density) continue;\n\n vec2 center = (cc + 0.5 + hh * jitterAmt) * cellSize;\n\n // Per-stroke direction source \u2014 the AW.W4.1 strokeOrient switch:\n // uStrokeOrient==0 (flow) \u2014 the layer-provided hand-authored flowField.\n // uStrokeOrient==1 (tensor) \u2014 the structure-tensor minor eigenvector at the\n // cell center (the color field's edge-tangent),\n // so strokes hug the color zones (van Gogh).\n // coh carries the per-cell coherence A for the W4.3 energy grading (long\n // confident strokes where structure is coherent, stubby dabs in flat zones).\n vec2 f;\n float coh = 1.0;\n if (uStrokeOrient == 1) {\n vec3 tf = structureTensorField(center, t, safeDir(flow));\n f = safeDir(tf.xy);\n coh = tf.z;\n } else {\n f = safeDir(flow);\n }\n // Per-stroke deterministic local perturbation so alternate stroke layers stay\n // live. Tensor strokes get FAR less angular jitter (the field already orients them\n // \u2014 over-jittering the tensor strokes scatters their directions and the rendered\n // field reads isotropic, the \u00A74.2 anisotropy floor). The flow-oriented (non-tensor)\n // strokes keep the full jitter (they have no per-cell orientation source).\n float jScale = (uStrokeOrient == 1) ? 0.15 : 1.0;\n float angJ = (hash21(cc + seed + 11.0) - 0.5) * 0.9 * jScale; // +/- 0.45/0.07 rad\n float curlScale = (uStrokeOrient == 1) ? 0.30 : 1.0;\n float localCurl = (fbm(center * (2.6 + seed * 0.11) + seed * 1.9) - 0.5) * 0.55 * uFlowCurl * curlScale;\n vec2 dir = rotateDir(f, angJ + localCurl);\n\n // AX.W13 \u2014 the SBR energy grade is a PROFILE field (energyGrade), not a buried\n // uMedium==5 branch. The van-Gogh profile passes energyGrade=1.0 (the full\n // Starry-Night cascade); oil/oil-pastel pass 0.0 (uniform length). The grade\n // modulates stroke length by local luminance (bright \u2192 long confident strokes,\n // dark \u2192 short dabs, the Kolmogorov/Batchelor congruence) AND by coherence\n // (coherent zones \u2192 long, flat \u2192 stubby), lerped in by energyGrade so a profile\n // can dial the cascade from off (0) to full (1).\n float energy = 1.0;\n if (energyGrade > 0.001) {\n float luma = clamp(dot(sampleBase(center, t), W_LUMA), 0.0, 1.0);\n float graded = mix(0.5, 1.5, luma) * mix(0.6, 1.0, coh);\n energy = mix(1.0, graded, energyGrade);\n }\n\n float lenV = cellSize * lenMul * (0.65 + 0.55 * hash21(cc + seed + 23.0)) * energy;\n float halfW = cellSize * halfWMul * (0.70 + 0.55 * hash21(cc + seed + 41.0));\n float bulge = (hash21(cc + seed + 53.0) - 0.5) * lenV * 0.35;\n\n vec2 a = center - dir * (lenV * 0.5);\n vec2 b = center + dir * (lenV * 0.5);\n\n vec3 colMid = brokenColorJitter(\n sampleBase(center, t),\n hash21(cc + seed + 89.0),\n hash21(cc * 2.3 + seed + 97.0),\n 1.0\n );\n\n StrokeHit h = curvedStroke(p, a, b, halfW, bulge, shapeType,\n 7.0, bristleAmp,\n hash21(cc + seed + 67.0), colMid);\n if (h.coverage > best.coverage) best = h;\n }\n }\n return best;\n}\n";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const AURORA_FLOW_GLSL = "// \u2500\u2500 Flow field \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// Structure-tensor prototype (body defined post-sampleBase in the mediums block).\n// Returns vec3(dir.x, dir.y, coherence) \u2014 the minor-eigenvector tangent + A.\nvec3 structureTensorField(vec2 p, float t, vec2 fallbackDir);\n\nvec2 flowField(vec2 p, float t) {\n vec2 dir = vec2(1.0, 0.0);\n if (uFlowPattern == 1) {\n // radial\n dir = normalize(p - uFlowFocal + 1e-4);\n } else if (uFlowPattern == 2) {\n // swirl \u2014 tangent to radial\n vec2 rad = normalize(p - uFlowFocal + 1e-4);\n dir = vec2(-rad.y, rad.x);\n } else if (uFlowPattern == 3) {\n // diagonal\n float a = radians(uFlowAngle);\n dir = vec2(cos(a), sin(a));\n } else if (uFlowPattern == 4) {\n // multi \u2014 curl-noise driven\n float n = fbm(p * 2.0 + t * 0.02);\n float a = n * 6.2831;\n dir = vec2(cos(a), sin(a));\n } else if (uFlowPattern == 5) {\n // tensor / ETF \u2014 the color field's OWN edge-tangent flow (AW.W4.1). The\n // diagonal angle seeds the smooth fallback the coherence-weighted blend\n // relaxes toward in low-structure zones. Returns directly (no curl/cursor\n // post-mix \u2014 the tensor field already carries the structure orientation;\n // the cursor warp still drives the underlying color field in domainWarp).\n float a = radians(uFlowAngle);\n vec2 fallback = vec2(cos(a), sin(a));\n return structureTensorField(p, t, fallback).xy;\n }\n // curl \u2014 perturb by noise. Radial gets much less curl so rays stay clean.\n if (uFlowCurl > 0.0) {\n float n = fbm(p * 3.0) - 0.5;\n float curlAmt = uFlowCurl;\n if (uFlowPattern == 1) curlAmt *= 0.25; // radial: preserve ray clarity\n if (uFlowPattern == 2) curlAmt *= 0.55; // swirl: allow moderate curl\n float a = atan(dir.y, dir.x) + n * 3.14159 * curlAmt;\n dir = vec2(cos(a), sin(a));\n }\n // cursor influence \u2014 swirl around the cursor position\n if (uCursorStrength > 0.001) {\n vec2 toCur = uCursor - p;\n float d = length(toCur);\n float r = max(uCursorRadius, 0.01);\n float w = exp(-(d * d) / (r * r * 0.5));\n // swirl tangent\n vec2 tangent = vec2(-toCur.y, toCur.x) / max(d, 1e-4);\n float a0 = atan(dir.y, dir.x);\n float a1 = atan(tangent.y, tangent.x);\n // blend angle\n float da = a1 - a0;\n da = atan(sin(da), cos(da)); // wrap to [-pi, pi]\n float a = a0 + da * w * uCursorStrength;\n dir = vec2(cos(a), sin(a));\n }\n // AW.W8.1 \u2014 velocity-reactive swirl-BURST: a fast flick (uCursorBurst, decaying\n // over ~1s) injects a transient flow bias along the pointer velocity, distinct from\n // the steady attraction above (the stateless swirl is SUPERSEDED by this form). The\n // burst is gated by the master tempo scalar on the CPU side (it decays to 0 under\n // PRM/pause), so this term cannot leak motion under reduced-motion.\n if (uCursorBurst > 0.001) {\n vec2 toCur = uCursor - p;\n float d = length(toCur);\n float r = max(uCursorRadius, 0.01);\n float w = exp(-(d * d) / (r * r * 0.7));\n // Bias the flow toward the velocity direction, scaled by the decaying burst.\n vec2 velDir = uCursorVelocity / max(length(uCursorVelocity), 1e-4);\n float a0 = atan(dir.y, dir.x);\n float a1 = atan(velDir.y, velDir.x);\n float da = atan(sin(a1 - a0), cos(a1 - a0));\n float a = a0 + da * w * uCursorBurst * 0.8;\n dir = vec2(cos(a), sin(a));\n }\n return dir;\n}\n";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const AURORA_MEDIUMS_PRE_BRUSH_GLSL = "// \u2500\u2500 Medium overlays \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n// A quick re-computation of base color for edge-mask sampling\nvec3 sampleBase(vec2 p, float t) {\n vec2 pw = domainWarp(p, t);\n float id; float vm;\n nucleiField(pw, t, id, vm);\n vec3 c = samplePalette(id);\n c *= 1.0 + uValueVariance * vm;\n return c;\n}\n\n// \u2500\u2500 Structure-tensor / edge-tangent-flow (AW.W4.1) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// The keystone of the painterly engine: derive stroke orientation from the COLOR\n// FIELD's OWN structure, not a hand-authored flow pattern. A 3x3 Sobel over\n// luma(sampleBase) yields the gradient (Gx,Gy); the 2x2 structure tensor\n// J = [[Gx\u00B2, GxGy],[GxGy, Gy\u00B2]] eigen-decomposes closed-form into the MINOR\n// eigenvector (the edge-TANGENT \u2014 least color change, the stroke direction; the\n// MAJOR eigenvector is the gradient/edge-NORMAL and would make strokes cross the\n// bands) and the coherence A = (\u03BB1-\u03BB2)/(\u03BB1+\u03BB2). Low-coherence (flat) zones relax\n// toward the smooth fallbackDir by (1-A) so tensor noise never reads as jitter.\n// Single-pass small-tap WebGL2 form; the Gaussian-smoothed multi-tap + LIC smear\n// is the AW.W7 WebGPU multi-pass fold. Returns vec3(tangent.x, tangent.y, A).\nvec3 structureTensorField(vec2 p, float t, vec2 fallbackDir) {\n float e = 0.0035; // small-tap neighborhood (edge-mask scale)\n // 3x3 luma samples.\n float l00 = dot(sampleBase(p + vec2(-e, -e), t), W_LUMA);\n float l10 = dot(sampleBase(p + vec2( 0.0, -e), t), W_LUMA);\n float l20 = dot(sampleBase(p + vec2( e, -e), t), W_LUMA);\n float l01 = dot(sampleBase(p + vec2(-e, 0.0), t), W_LUMA);\n float l21 = dot(sampleBase(p + vec2( e, 0.0), t), W_LUMA);\n float l02 = dot(sampleBase(p + vec2(-e, e), t), W_LUMA);\n float l12 = dot(sampleBase(p + vec2( 0.0, e), t), W_LUMA);\n float l22 = dot(sampleBase(p + vec2( e, e), t), W_LUMA);\n // Sobel derivatives.\n float Gx = (l20 + 2.0 * l21 + l22) - (l00 + 2.0 * l01 + l02);\n float Gy = (l02 + 2.0 * l12 + l22) - (l00 + 2.0 * l10 + l20);\n // Structure tensor components.\n float Jxx = Gx * Gx;\n float Jyy = Gy * Gy;\n float Jxy = Gx * Gy;\n // Closed-form 2x2 eigenvalues: \u03BB = 0.5(tr \u00B1 sqrt((Jxx-Jyy)\u00B2 + 4Jxy\u00B2)).\n float tr = Jxx + Jyy;\n float disc = sqrt(max((Jxx - Jyy) * (Jxx - Jyy) + 4.0 * Jxy * Jxy, 0.0));\n float lambdaMaj = 0.5 * (tr + disc);\n float lambdaMin = 0.5 * (tr - disc);\n // The MAJOR eigenvector points along the gradient (the edge NORMAL); the MINOR\n // is its perpendicular \u2014 the edge TANGENT (the stroke direction). The principal\n // angle is \u03B8 = 0.5\u00B7atan2(2\u00B7Jxy, Jxx-Jyy); this form is robust at Jxy\u22480 (where the\n // (\u03BB-Jyy, Jxy) eigenvector formula collapses to a zero vector). The tangent is at\n // \u03B8 + 90\u00B0. Guard the fully-isotropic (no-gradient) degenerate case \u2192 fallback dir.\n vec2 tangent;\n if (disc < 1e-7) {\n tangent = fallbackDir;\n } else {\n float theta = 0.5 * atan(2.0 * Jxy, Jxx - Jyy); // major (gradient) angle\n tangent = vec2(-sin(theta), cos(theta)); // perpendicular = tangent\n }\n // Coherence A in [0,1] \u2014 high where one eigenvalue dominates (a strong edge),\n // ~0 in flat zones. Relax toward the smooth fallback by (1 - A).\n float A = (lambdaMaj - lambdaMin) / (lambdaMaj + lambdaMin + 1e-6);\n A = clamp(A, 0.0, 1.0);\n // Coherence-weighted blend: full tensor in coherent zones, smooth in flat ones.\n // Resolve the 180\u00B0 sign ambiguity toward the fallback so the blend is continuous.\n if (dot(tangent, fallbackDir) < 0.0) tangent = -tangent;\n // The blend weight is a low-power curve (A^0.35) so even MODERATE-coherence zones queue\n // strongly along the tangent (a flowing van-Gogh band reads coherent the way the\n // structure-tensor metric measures it; a linear A under-orients the mid-band and the\n // rendered field reads too isotropic \u2014 the \u00A74.2 anisotropy lift). The flat-zone (A\u22480)\n // relax to the fallback survives (0^0.35=0), so tensor noise never reads as jitter.\n float blendW = pow(A, 0.28);\n vec2 dir = normalize(mix(fallbackDir, tangent, blendW) + 1e-6);\n return vec3(dir, A);\n}\n\nvec3 mediumWatercolor(vec3 col, vec2 p, float t) {\n // Wet-edge cauliflowers via luma-gradient magnitude\n float eps = 0.004;\n vec3 cx1 = sampleBase(p + vec2(eps, 0.0), t);\n vec3 cx2 = sampleBase(p - vec2(eps, 0.0), t);\n vec3 cy1 = sampleBase(p + vec2(0.0, eps), t);\n vec3 cy2 = sampleBase(p - vec2(0.0, eps), t);\n float gx = dot(cx1 - cx2, W_LUMA);\n float gy = dot(cy1 - cy2, W_LUMA);\n float edge = sqrt(gx * gx + gy * gy) / (2.0 * eps);\n float mask = smoothstep(0.0, 2.5, edge);\n col *= mix(1.0, 0.78, mask * uWetEdge);\n\n // Granulation \u2014 pigment settles in paper tooth\n float paper = 0.5 * vnoise(p * 160.0) + 0.5 * vnoise(p * 360.0);\n float pigLoad = 1.0 - dot(col, W_LUMA);\n col *= 1.0 - uGranulation * pigLoad * (paper - 0.5);\n\n // Wash banding \u2014 faint horizontal wet gradient\n float band = fbm(vec2(p.x * 1.5, p.y * 0.4));\n col *= 1.0 + 0.04 * (band - 0.5);\n return col;\n}\n\nvec3 mediumPastel(vec3 col, vec2 p, float t) {\n vec2 flow = flowField(p, t);\n vec2 perp = vec2(-flow.y, flow.x);\n float along = dot(p, flow) * uStrokeScale;\n float across = dot(p, perp) * uStrokeScale;\n across += 0.03 * (vnoise(p * 260.0) - 0.5);\n\n float aniso = mix(1.0, 0.18, uStrokeAnisotropy);\n float stroke = fbm(vec2(along * aniso, across));\n col *= mix(1.0, 0.82 + 0.32 * stroke, uStrokeAmount);\n\n // Pastel tooth \u2014 tiny high-frequency grain\n float tooth = vnoise(p * 800.0);\n col *= 1.0 - 0.08 * uStrokeAmount * (tooth - 0.5);\n return col;\n}\n";
|
|
2
|
-
export declare const AURORA_MEDIUMS_POST_BRUSH_GLSL: string;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export { default as Aurora } from "./Aurora.vue";
|
|
2
|
-
export { resolveRenderMode, isSoftwareWebGLRenderer, type AuroraRenderMode, type ResolveRenderModeOptions, } from "./constants/renderMode";
|
|
3
|
-
export { useAurora } from "./composables/useAurora";
|
|
4
|
-
export type { UseAuroraReturn } from "./composables/useAurora";
|
|
5
|
-
export { useCursorInteraction } from "./composables/useCursorInteraction";
|
|
6
|
-
export { createAurora } from "./composables/runtime";
|
|
7
|
-
export type { AuroraRuntimeMode, AuroraRuntimeOptions } from "./composables/runtime";
|
|
8
|
-
export { DEFAULT_AURORA_CONFIG, PAPER_WASH_GROUND, DEFAULT_VIVIDNESS, VIVID_TARGET, MAX_NUCLEI, MAX_STOPS, type AuroraConfig, type AuroraCursorApi, type AuroraFlow, type AuroraInstance, type AuroraInteractivity, type AuroraMedium, type AuroraNucleus, type FlowPattern, type OklchStop, type StrokeMode, type StrokeOrient, type WarpMode, } from "./constants/presets";
|
|
9
|
-
export { resolveAtoms, configToAtoms, nucleiPrior, DEFAULT_ATOMS, type AuroraAtoms, type AuroraMotionAtom, type AuroraZones, type AuroraZoneArrangement, type AuroraMediumAtom, type AuroraInteractivityAtom, } from "./composables/atoms";
|
|
10
|
-
export { cssToOklch, deriveAurora, flattenPalette, hexToOklchStop, oklchStopToHex, oklchToLinear, paletteToCssGradient, } from "./composables/color";
|
|
11
|
-
export { auroraFallbackGround, sampleAuroraField, nucleiFieldStatic, relativeLuminance, type AuroraFallbackGround, type AuroraFallbackGroundOptions, type AuroraGroundMetrics, } from "./composables/auroraFallbackGround";
|
|
12
|
-
export type { AuroraHarmony, DeriveAuroraOptions, DeriveEasing, } from "./composables/color";
|
|
13
|
-
export type { AuroraHuePath } from "./constants/presets";
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { type BorderProgressCoverage, type BorderProgressMilestone, type BorderProgressMilestoneEvent } from "./constants";
|
|
2
|
-
export interface BorderProgressProps {
|
|
3
|
-
/** The progress scalar. 0..1 (or 0..`max`) drives the registered conic angle. */
|
|
4
|
-
value: number;
|
|
5
|
-
/** The value-axis ceiling. Default `1` (a 0..1 scalar; pass `100` for percent). */
|
|
6
|
-
max?: number;
|
|
7
|
-
/** `full-ring` (default) sweeps the perimeter; `bottom-edge` paints only the bottom band. */
|
|
8
|
-
coverage?: BorderProgressCoverage;
|
|
9
|
-
/**
|
|
10
|
-
* The conic color stops — CSS color strings. Default the LIBRARY brand ramp
|
|
11
|
-
* (the `--section-color-*`/`--viz-*` tokens, resolved in the cascade). A
|
|
12
|
-
* consumer passes its OWN phase palette (presets-in-consumers — no consumer
|
|
13
|
-
* hue enters a library token). CONCRETE anchors are walked OKLCH/shorter-hue;
|
|
14
|
-
* `var(--…)` token anchors pass through to the live cascade.
|
|
15
|
-
*/
|
|
16
|
-
stops?: readonly string[];
|
|
17
|
-
/** The ring thickness in px (default within the 10-14px envelope). */
|
|
18
|
-
width?: number;
|
|
19
|
-
/** The host border-radius in px the ring follows. Default 16. */
|
|
20
|
-
radius?: number;
|
|
21
|
-
/**
|
|
22
|
-
* Phase-edge boundaries. The ring fires `milestone` + (PRM-gated) pulses when
|
|
23
|
-
* `value` crosses one. The consumer owns the phase colors (the chassis
|
|
24
|
-
* `--phase-color` cascade precedent — the milestone is the EVENT seam).
|
|
25
|
-
*/
|
|
26
|
-
milestones?: readonly BorderProgressMilestone[];
|
|
27
|
-
/** Pass-through class on the root. */
|
|
28
|
-
class?: string;
|
|
29
|
-
}
|
|
30
|
-
declare var __VLS_1: {};
|
|
31
|
-
type __VLS_Slots = {} & {
|
|
32
|
-
default?: (props: typeof __VLS_1) => any;
|
|
33
|
-
};
|
|
34
|
-
declare const __VLS_base: import("vue").DefineComponent<BorderProgressProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
35
|
-
milestone: (event: BorderProgressMilestoneEvent) => any;
|
|
36
|
-
}, string, import("vue").PublicProps, Readonly<BorderProgressProps> & Readonly<{
|
|
37
|
-
onMilestone?: ((event: BorderProgressMilestoneEvent) => any) | undefined;
|
|
38
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
39
|
-
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
40
|
-
declare const _default: typeof __VLS_export;
|
|
41
|
-
export default _default;
|
|
42
|
-
type __VLS_WithSlots<T, S> = T & {
|
|
43
|
-
new (): {
|
|
44
|
-
$slots: S;
|
|
45
|
-
};
|
|
46
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { type OklchStop } from "../../../../composables/color";
|
|
2
|
-
/**
|
|
3
|
-
* Walk the anchor ramp to the single OKLCh stop at parameter `t` (0..1) via the
|
|
4
|
-
* shorter-hue arc — the segment is located, then value.js's `mixColors` runs the
|
|
5
|
-
* OKLCh/shorter-hue perceptual mix at the in-segment fraction (the single-point
|
|
6
|
-
* twin of `sampleColorRamp`; ONE color source — value.js). L/C lerp in OKLCh and
|
|
7
|
-
* the hue walks the SHORTER arc, so the warm→cool midpoint keeps its chroma.
|
|
8
|
-
*
|
|
9
|
-
* Deterministic + DOM-free (SSR-safe; mirrors `deriveBlobPalette`).
|
|
10
|
-
*/
|
|
11
|
-
export declare function spectrumAt(stops: readonly OklchStop[], t: number): OklchStop;
|
|
12
|
-
/**
|
|
13
|
-
* Walk a CONCRETE-anchor ramp to `count` evenly-spaced HEX stops — the perceptual
|
|
14
|
-
* (OKLCH/shorter-hue) cold path. The caller (`spectrumStops` in the sync shell) has
|
|
15
|
-
* already screened out `var(--…)` ramps, so every stop here is a CONCRETE CSS color
|
|
16
|
-
* the leaf's `cssToOklch` parses to OKLCh; the walk carries no chroma trough.
|
|
17
|
-
*
|
|
18
|
-
* Each adjacent anchor pair is one `sampleColorRamp` segment (the value.js grid
|
|
19
|
-
* sampler walked SHORTER-hue in OKLCh); the per-segment grids concatenate (shared
|
|
20
|
-
* boundary deduped) into one continuous `count`-stop ramp. The endpoints anchor the
|
|
21
|
-
* input exactly; the hue walks the shorter arc end-to-end, so no segment greys out.
|
|
22
|
-
*
|
|
23
|
-
* @returns one HEX (`#rrggbb`) per stop.
|
|
24
|
-
*/
|
|
25
|
-
export declare function walkConcreteSpectrum(stops: readonly string[], count: number): string[];
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/** A consumer-supplied callback the COLD path calls once the perceptual walk resolves. */
|
|
2
|
-
export type SpectrumUpgrade = (stops: string[]) => void;
|
|
3
|
-
/**
|
|
4
|
-
* Produce `samples` evenly-spaced HEX/CSS stops across the anchor ramp — the conic
|
|
5
|
-
* gradient's color stops. CSS `var(--…)` tokens (the LIBRARY-default brand ramp) are
|
|
6
|
-
* passed through UNTOUCHED (they resolve in the cascade at paint — the value.js-free
|
|
7
|
-
* fast path). CONCRETE color anchors return the synchronous interim immediately AND,
|
|
8
|
-
* when `onUpgrade` is supplied, load `./spectrum-walk` and upgrade to the OKLCH/
|
|
9
|
-
* shorter-hue perceptual walk once the dynamic chunk resolves.
|
|
10
|
-
*
|
|
11
|
-
* `spectrumStops` is SYNCHRONOUS (the SFC's `computed` cannot await). The dynamic
|
|
12
|
-
* boundary lives INSIDE it (the value.js branch fires `import()` and returns the
|
|
13
|
-
* synchronous interim), never on the export signature.
|
|
14
|
-
*
|
|
15
|
-
* @returns one stop per sample — `var()` strings for a token ramp, the raw anchors
|
|
16
|
-
* for the concrete-anchor synchronous interim (upgraded to HEX via `onUpgrade`).
|
|
17
|
-
*/
|
|
18
|
-
export declare function spectrumStops(stops: readonly string[], samples?: number, onUpgrade?: SpectrumUpgrade): string[];
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The coverage axis — `full-ring` sweeps the entire border perimeter,
|
|
3
|
-
* `bottom-edge` paints ONLY the bottom border band (the literal C2 case: "the
|
|
4
|
-
* bottom progressbar should serve as a thicker, dynamic BORDER"). The two
|
|
5
|
-
* coverages share the ONE conic-mask mechanism (a `coverage`-scoped mask
|
|
6
|
-
* region — NOT a second recipe).
|
|
7
|
-
*/
|
|
8
|
-
export type BorderProgressCoverage = "full-ring" | "bottom-edge";
|
|
9
|
-
/**
|
|
10
|
-
* The thickness envelope (px). AMENDED 6-8px → 10-14px (speedtest AW v3 relay
|
|
11
|
-
* A1, 2026-06-17): the thin-hairline 6-8px read as a rim, not the "thicker,
|
|
12
|
-
* dynamic BORDER" the ask wants. The gate W4 + the π assert the band sits inside
|
|
13
|
-
* [10, 14].
|
|
14
|
-
*/
|
|
15
|
-
export declare const BORDER_PROGRESS_WIDTH_MIN = 10;
|
|
16
|
-
export declare const BORDER_PROGRESS_WIDTH_MAX = 14;
|
|
17
|
-
/** The default ring thickness — the centre of the 10-14px envelope. */
|
|
18
|
-
export declare const BORDER_PROGRESS_WIDTH_DEFAULT = 12;
|
|
19
|
-
/** The default host border-radius (px) the ring follows when unset by the consumer. */
|
|
20
|
-
export declare const BORDER_PROGRESS_RADIUS_DEFAULT = 16;
|
|
21
|
-
/**
|
|
22
|
-
* The number of conic stops the spectrum walk samples between the consumer's
|
|
23
|
-
* anchor stops. A denser sample yields a smoother sweep with no visible banding;
|
|
24
|
-
* the OKLCH/shorter-hue arc keeps every sample saturated (no chroma trough).
|
|
25
|
-
*/
|
|
26
|
-
export declare const BORDER_PROGRESS_SPECTRUM_SAMPLES = 24;
|
|
27
|
-
/**
|
|
28
|
-
* The LIBRARY-identity default spectrum — the section/viz brand ramp (the
|
|
29
|
-
* `--section-color-*` 13-stop ramp + the `--viz-*` twins). These resolve through
|
|
30
|
-
* the CSS token cascade at paint, so the default carries no baked hue; a consumer
|
|
31
|
-
* that wants its OWN phase palette passes its stops as the `stops` prop
|
|
32
|
-
* (presets-in-consumers — NO speedtest/ppmycota hue enters a library token).
|
|
33
|
-
*
|
|
34
|
-
* The default is a warm→cool brand arc (rose → indigo → violet) sampled off the
|
|
35
|
-
* 13-stop ramp so the resting ring already reads as "a spectrum of our colors".
|
|
36
|
-
*/
|
|
37
|
-
export declare const BORDER_PROGRESS_DEFAULT_SPECTRUM: readonly string[];
|
|
38
|
-
/**
|
|
39
|
-
* A phase-edge milestone descriptor — the consumer declares phase boundaries on
|
|
40
|
-
* the 0..1 (or 0..100) value axis; the ring fires a `milestone` event + (PRM-
|
|
41
|
-
* gated) pulses when the value crosses one. The chassis `--phase-color` cascade
|
|
42
|
-
* is the precedent (the bus carries phase IDENTITY; the milestone is the EVENT
|
|
43
|
-
* seam — the consumer owns the phase colors, presets-in-consumers).
|
|
44
|
-
*/
|
|
45
|
-
export interface BorderProgressMilestone {
|
|
46
|
-
/** The value-axis boundary (in the same units as `value`). */
|
|
47
|
-
at: number;
|
|
48
|
-
/** An opaque id echoed back on the `milestone` emit. */
|
|
49
|
-
id: string;
|
|
50
|
-
/** An optional label echoed back on the emit (analytics / a11y). */
|
|
51
|
-
label?: string;
|
|
52
|
-
}
|
|
53
|
-
/** The payload of the `milestone` emit — the crossed edge + the value at crossing. */
|
|
54
|
-
export interface BorderProgressMilestoneEvent {
|
|
55
|
-
/** The crossed milestone descriptor. */
|
|
56
|
-
milestone: BorderProgressMilestone;
|
|
57
|
-
/** The value at the moment of crossing (post-update). */
|
|
58
|
-
value: number;
|
|
59
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { default as BorderProgress } from "./BorderProgress.vue";
|
|
2
|
-
export type { BorderProgressProps } from "./BorderProgress.vue";
|
|
3
|
-
export type { BorderProgressCoverage, BorderProgressMilestone, BorderProgressMilestoneEvent, } from "./constants";
|
|
4
|
-
export { spectrumStops, type SpectrumUpgrade } from "./composables/useBorderSpectrum";
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type CompletionSealShape } from "./constants";
|
|
2
|
-
export interface CompletionSealProps {
|
|
3
|
-
/** The seal glyph — `check` (default) | `ring` | `wordmark`. */
|
|
4
|
-
shape?: CompletionSealShape;
|
|
5
|
-
/**
|
|
6
|
-
* The accessible completion announcement (the `role="status"`/`aria-live` text — a
|
|
7
|
-
* screen reader hears "Speedtest complete", etc.). The gold mark is the visual.
|
|
8
|
-
*/
|
|
9
|
-
label?: string;
|
|
10
|
-
/**
|
|
11
|
-
* The draw trigger — the consumer fires it on completion. When it flips truthy the
|
|
12
|
-
* seal draws ONCE. Default (unset) plays on mount (the seal draws when it appears —
|
|
13
|
-
* the canonical completion moment).
|
|
14
|
-
*/
|
|
15
|
-
play?: boolean;
|
|
16
|
-
/** Pass-through class on the root. */
|
|
17
|
-
class?: string;
|
|
18
|
-
}
|
|
19
|
-
declare const __VLS_export: import("vue").DefineComponent<CompletionSealProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CompletionSealProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
20
|
-
declare const _default: typeof __VLS_export;
|
|
21
|
-
export default _default;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The seal glyph axis — the mark the gold stroke draws:
|
|
3
|
-
* - `check` (default) — a checkmark (the canonical "done" garnish).
|
|
4
|
-
* - `ring` — a ring/circle around the completion (a seal around the event).
|
|
5
|
-
* - `wordmark` — a self-contained seal mark (a stylized seal glyph).
|
|
6
|
-
*
|
|
7
|
-
* All three share the ONE gold-draw mechanism (the `--seal-draw` stroke-reveal on the
|
|
8
|
-
* `--seal-ink` gold stroke) — a `shape`-scoped path, NOT a second recipe. The seal is
|
|
9
|
-
* the GOLD-DRAW completion register, distinct from the HandMark hand-voice family.
|
|
10
|
-
*/
|
|
11
|
-
export type CompletionSealShape = "check" | "ring" | "wordmark";
|
|
12
|
-
/** The default seal glyph — the checkmark "done" garnish. */
|
|
13
|
-
export declare const COMPLETION_SEAL_DEFAULT_SHAPE: CompletionSealShape;
|
|
14
|
-
/**
|
|
15
|
-
* The normalized SVG viewBox the glyphs are authored in. The mark `pathLength="100"`
|
|
16
|
-
* normalizes every glyph's draw length so the `stroke-dashoffset` wipe is path-agnostic
|
|
17
|
-
* (the recipe reads `--seal-draw` 0..100% against the normalized length).
|
|
18
|
-
*/
|
|
19
|
-
export declare const COMPLETION_SEAL_VIEWBOX = "0 0 64 64";
|
|
20
|
-
/**
|
|
21
|
-
* The per-shape SVG path/element the gold stroke draws. `check`/`wordmark` are <path>
|
|
22
|
-
* `d`-strings; `ring` is drawn as a <circle> (the SFC branches on shape). Authored in
|
|
23
|
-
* the 64×64 viewBox, `pathLength="100"` normalized at the element.
|
|
24
|
-
*/
|
|
25
|
-
export declare const COMPLETION_SEAL_PATHS: Record<Exclude<CompletionSealShape, "ring">, string>;
|
|
26
|
-
/**
|
|
27
|
-
* The `ring` glyph geometry (a <circle>) — the centre + radius in the 64×64 viewBox.
|
|
28
|
-
* A near-perimeter ring so the seal reads hero-scale.
|
|
29
|
-
*/
|
|
30
|
-
export declare const COMPLETION_SEAL_RING: {
|
|
31
|
-
readonly cx: 32;
|
|
32
|
-
readonly cy: 32;
|
|
33
|
-
readonly r: 24;
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* The SPRING register the draw rides (SPRING-EASE / W-MOTION-CANON P2 enter-bouncy):
|
|
37
|
-
* - the SETTLE leg (the spatial overshoot) rides `--spring-bouncy` (an ENTER may
|
|
38
|
-
* overshoot on arrival);
|
|
39
|
-
* - the DRAW + GLINT legs ride the `--spring-snappy` CLOCK (the snappy settle duration)
|
|
40
|
-
* so the gold inks crisply, not languidly.
|
|
41
|
-
* The seal mints NO new spring token — it READS the SPRING-EASE register (the no-new-clock
|
|
42
|
-
* fence). These names are the recorded register choice; the actual curves live in the
|
|
43
|
-
* cascade (tokens/scheme-motion.css) and the recipe (completion-seal.css) reads them.
|
|
44
|
-
*/
|
|
45
|
-
export declare const COMPLETION_SEAL_SETTLE_SPRING = "--spring-bouncy";
|
|
46
|
-
export declare const COMPLETION_SEAL_DRAW_SPRING = "--spring-snappy";
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { ConcentricConfig } from "./constants";
|
|
2
|
-
/**
|
|
3
|
-
* Concentric — a living LEVEL-SET hypsometric SURVEY (paper-grid kin, BD.W-CONCENTRIC-RELIEF).
|
|
4
|
-
*
|
|
5
|
-
* The iso-contours of a LOW-octave curl-warped height field H(p,t) — the SAME traveling-wave
|
|
6
|
-
* CELL-WARP that twists the paper-grid cells is applied to the SAMPLING coordinate, so the
|
|
7
|
-
* contours twist + flow as a wave passes OVER and THROUGH the topography; the ω=√(g·k) swell
|
|
8
|
-
* breathes the basins; the cursor HEAVES the topography toward the pointer (velocity-scaled
|
|
9
|
-
* gravity). The fragment paints an OPAQUE warm hypsometric FILL, lifts it into 2.5-D relief
|
|
10
|
-
* with one analytic hillshade, and inks it with a two-tier index/minor contour hierarchy via
|
|
11
|
-
* the KEPT IQ gradient-free `contourInk` (perfect GPU AA — density tracks 1/|∇H|). WebGPU-FIRST:
|
|
12
|
-
* a pure fullscreen fragment pass over the shared `waveField` leaf, with a clean WebGL2 GLSL
|
|
13
|
-
* fallback. It composes `useConcentric` → the `createGpuSubstrate` picker over the ONE canvas
|
|
14
|
-
* lifecycle leaf (offscreen-pause, live-PRM freeze, consumer-owned DPR).
|
|
15
|
-
*
|
|
16
|
-
* The DEFAULT identity is the warm-DIVERGENT hypsometric tint (deep plum-rose basin → ember →
|
|
17
|
-
* amber → wheat crest), resolved per-mode by plain arms (NOT CSS `light-dark()`, NOT an
|
|
18
|
-
* in-shader `uMode` seam): the dark twin glows on a deep-ember ground. A consumer (the demo)
|
|
19
|
-
* themes it through a PRESET (presets-in-consumers — never a library token).
|
|
20
|
-
*/
|
|
21
|
-
type __VLS_Props = {
|
|
22
|
-
/** The full author schema (the studio's `useConfiguratorState` model). */
|
|
23
|
-
config?: ConcentricConfig;
|
|
24
|
-
/**
|
|
25
|
-
* The declarative WCAG-2.2.2 pause seam. `v-model:paused` parks the render loop
|
|
26
|
-
* (the substrate's `manual` suspend) when `true`. Wire `<DockBackgroundToggle>`'s
|
|
27
|
-
* `@update:paused` to this `v-model`.
|
|
28
|
-
*/
|
|
29
|
-
paused?: boolean;
|
|
30
|
-
};
|
|
31
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
32
|
-
pause: () => void;
|
|
33
|
-
resume: () => void;
|
|
34
|
-
wake: () => void;
|
|
35
|
-
renderAt: (timeSec: number) => void;
|
|
36
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
37
|
-
"update:paused": (value: boolean) => any;
|
|
38
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
39
|
-
"onUpdate:paused"?: ((value: boolean) => any) | undefined;
|
|
40
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
41
|
-
declare const _default: typeof __VLS_export;
|
|
42
|
-
export default _default;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { WebGLCanvasFrame } from "../../../../composables/glass/webgl/useWebGLCanvas";
|
|
2
|
-
import type { OklchStop } from "../../../../composables/color";
|
|
3
|
-
import { type ConcentricConfig } from "../constants";
|
|
4
|
-
import type { Vec2 } from "./levelField";
|
|
5
|
-
export interface ConcentricGLSetupDeps {
|
|
6
|
-
canvas: HTMLCanvasElement;
|
|
7
|
-
config: ConcentricConfig;
|
|
8
|
-
getPalette: () => OklchStop[];
|
|
9
|
-
/** The pointer in DOMAIN space (the cursor gravity well) — re-read each frame. */
|
|
10
|
-
getCursor: () => Vec2;
|
|
11
|
-
/** The spring-eased traveling-wave envelope amplitude (0..1; PRM → 0). */
|
|
12
|
-
getAmp: () => number;
|
|
13
|
-
/** The velocity-HEAVE multiplier on the cursor well (1.0 at rest → grows with speed). */
|
|
14
|
-
getWellScale: () => number;
|
|
15
|
-
shouldContinue: () => boolean;
|
|
16
|
-
/**
|
|
17
|
-
* The per-frame pointer hook — useConcentric advances the shared pointer field +
|
|
18
|
-
* derives the cursor in domain space here (the no-own-rAF discipline). ZERO own rAF.
|
|
19
|
-
*/
|
|
20
|
-
onFrame?: (timeSec: number) => void;
|
|
21
|
-
}
|
|
22
|
-
/** Build the `setupGL(gl)` callback the `createGpuSubstrate` WebGL2 path invokes. */
|
|
23
|
-
export declare function createConcentricGLSetup(deps: ConcentricGLSetupDeps): (gl: WebGL2RenderingContext) => WebGLCanvasFrame;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { WebGPUCanvasFrame } from "../../../../composables/glass/webgpu/useWebGPUCanvas";
|
|
2
|
-
import type { OklchStop } from "../../../../composables/color";
|
|
3
|
-
import type { ConcentricConfig } from "../constants";
|
|
4
|
-
import type { Vec2 } from "./levelField";
|
|
5
|
-
export interface ConcentricWGPUSetupDeps {
|
|
6
|
-
canvas: HTMLCanvasElement;
|
|
7
|
-
config: ConcentricConfig;
|
|
8
|
-
/** The resolved (ColorResolver) palette stops as OKLCh — re-read each frame so a live edit reaches the buffer. */
|
|
9
|
-
getPalette: () => OklchStop[];
|
|
10
|
-
/** The pointer in DOMAIN space (the cursor gravity well) — re-read each frame. */
|
|
11
|
-
getCursor: () => Vec2;
|
|
12
|
-
/** The spring-eased traveling-wave envelope amplitude (0..1; PRM → 0). */
|
|
13
|
-
getAmp: () => number;
|
|
14
|
-
/** The velocity-HEAVE multiplier on the cursor well (1.0 at rest → grows with speed). */
|
|
15
|
-
getWellScale: () => number;
|
|
16
|
-
/** Demand-gate (the renderer's quiescence layer — substrate-agnostic). */
|
|
17
|
-
shouldContinue: () => boolean;
|
|
18
|
-
/**
|
|
19
|
-
* The per-frame pointer hook — useConcentric advances the shared `usePointerVelocityField`
|
|
20
|
-
* here (the no-own-rAF discipline: the renderer's frame loop FEEDS `tick(delta)`) and
|
|
21
|
-
* derives the cursor in domain space. ZERO own rAF.
|
|
22
|
-
*/
|
|
23
|
-
onFrame?: (timeSec: number) => void;
|
|
24
|
-
}
|
|
25
|
-
/** Build the concentric `setupWGPU(device, context, format)` callback. */
|
|
26
|
-
export declare function createConcentricWGPUSetup(deps: ConcentricWGPUSetupDeps): (device: GPUDevice, context: GPUCanvasContext, format: GPUTextureFormat) => WebGPUCanvasFrame;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { type Vec2 } from "../../../../composables/glass/wave/waveField";
|
|
2
|
-
export type { Vec2 };
|
|
3
|
-
/** The level-set sample params (the round-trip anchor; mirrors the shader uniforms). */
|
|
4
|
-
export interface LevelFieldParams {
|
|
5
|
-
/** The traveling-wave front direction. */
|
|
6
|
-
waveDir: Vec2;
|
|
7
|
-
waveK: number;
|
|
8
|
-
waveOmega: number;
|
|
9
|
-
waveSigma: number;
|
|
10
|
-
twistMax: number;
|
|
11
|
-
shearMax: number;
|
|
12
|
-
/** The spring-eased envelope amplitude (0..1; PRM → 0). */
|
|
13
|
-
amp: number;
|
|
14
|
-
/** The topography cell pitch (domain units per cell — the contour-warp granularity). */
|
|
15
|
-
cellSize: number;
|
|
16
|
-
/** LOW octaves → clean nested loops. */
|
|
17
|
-
heightOctaves: number;
|
|
18
|
-
heightSeed: number;
|
|
19
|
-
/** The ω=√(g·k) breathing swell depth. */
|
|
20
|
-
swellAmp: number;
|
|
21
|
-
/** Per-contour wobble depth. */
|
|
22
|
-
perturbAmp: number;
|
|
23
|
-
/** The contour-level count. */
|
|
24
|
-
levels: number;
|
|
25
|
-
/** The cursor (domain space). */
|
|
26
|
-
cursor: Vec2;
|
|
27
|
-
/** The cursor Gaussian peak depth (the topography bulges under the pointer). */
|
|
28
|
-
cursorWell: number;
|
|
29
|
-
/** 1 = cursor on. */
|
|
30
|
-
interactive: number;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* The warped level-set height at domain `p` and time `t` — the SINGLE math source. The
|
|
34
|
-
* sampling coordinate is twisted by the SHARED `cellTwist` (the kinship with paper-grid:
|
|
35
|
-
* the same wave flows both); the height is a low-octave fbm topography + the swell; the cursor
|
|
36
|
-
* adds a Gaussian peak. Returns the un-normalized height (the shader contours + tints it).
|
|
37
|
-
*/
|
|
38
|
-
export declare function sampleHeight(p: Vec2, t: number, q: LevelFieldParams): number;
|
|
39
|
-
/** The SHARED hillshade finite-diff epsilon — pinned ONCE, consumed by both shaders + this
|
|
40
|
-
* oracle (challenge R8: a per-backend `e` drift would red L6). */
|
|
41
|
-
export declare const HILLSHADE_EPSILON = 0.012;
|
|
42
|
-
/** The hypsometric tone — expands the compressed height band so basins+ridges hit the ramp
|
|
43
|
-
* ENDS. `tone = 0.5 + 0.5·tanh(H·toneGain)`. Maps un-normalized H → [0,1] palette param. */
|
|
44
|
-
export declare function toneFromHeight(H: number, toneGain: number): number;
|
|
45
|
-
/** The analytic hillshade at domain `p` — one ∇H finite-diff at the SHARED `e`, dotted with
|
|
46
|
-
* the fixed cel light → [0,1] (0.5 = flat). A read-only re-sample of `sampleHeight`. */
|
|
47
|
-
export declare function hillshade(p: Vec2, t: number, q: LevelFieldParams, lightDir: Vec2): number;
|
|
48
|
-
/** The two-tier index test — a PURE `f(level)` (floor + mod + threshold), stateless, no
|
|
49
|
-
* buffer. Returns 1.0 on an index (every `indexEvery`th) level, else 0.0. */
|
|
50
|
-
export declare function isIndexLevel(fN: number, indexEvery: number): number;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { OklchStop } from "../../../../composables/color";
|
|
2
|
-
import { type ConcentricConfig } from "../constants";
|
|
3
|
-
import type { Vec2 } from "./levelField";
|
|
4
|
-
export declare const CONCENTRIC_UNIFORM_BYTES: number;
|
|
5
|
-
/** The height-amplitude normalization scale (height → [0,1] for the topographic ramp). */
|
|
6
|
-
export declare const CONCENTRIC_FIELD_NORM = 0.55;
|
|
7
|
-
export interface ConcentricUniformScratch {
|
|
8
|
-
buffer: ArrayBuffer;
|
|
9
|
-
f32: Float32Array;
|
|
10
|
-
i32: Int32Array;
|
|
11
|
-
}
|
|
12
|
-
export declare function createConcentricScratch(): ConcentricUniformScratch;
|
|
13
|
-
/** Pack the concentric uniforms in place. `cursor` is the pointer in DOMAIN space; `amp` the
|
|
14
|
-
* spring-eased traveling-wave envelope amplitude (PRM → 0); `wellScale` the velocity-HEAVE
|
|
15
|
-
* multiplier on the cursor well depth+radius (1.0 at rest → grows with pointer speed; JS-side
|
|
16
|
-
* so the heave costs no uniform lane). */
|
|
17
|
-
export declare function packConcentricUniforms(scratch: ConcentricUniformScratch, config: ConcentricConfig, timeSec: number, aspect: number, palette: OklchStop[], cursor: Vec2, amp: number, wellScale: number): ConcentricUniformScratch;
|
|
@@ -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 { ConcentricConfig } from "../constants";
|
|
5
|
-
export interface UseConcentricOptions {
|
|
6
|
-
config: ConcentricConfig;
|
|
7
|
-
/** Resolve the field-value 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 ConcentricHandle {
|
|
14
|
-
/** The resolved backend (`"webgpu"` where supported, else the WebGL2 GLSL 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. */
|
|
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 concentric renderer on `canvasRef`. The WebGPU primary + the WebGL2 fallback are
|
|
31
|
-
* BOTH pure fullscreen fragment passes evaluating the SAME level-set topography (the ONE math
|
|
32
|
-
* source `levelField.ts` `sampleHeight`), so the picker is the only seam. Returns the uniform
|
|
33
|
-
* lifecycle handle.
|
|
34
|
-
*/
|
|
35
|
-
export declare function useConcentric(canvasRef: Ref<HTMLCanvasElement | null>, options: UseConcentricOptions): ConcentricHandle;
|