kmcom-nuxt-layers 2.2.6 → 2.2.8
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/docs/FEEDS.md +197 -0
- package/docs/LAYERS-FIXES.md +101 -0
- package/docs/MIGRATION.md +627 -0
- package/docs/feed-layer.md +374 -0
- package/docs/patch-picture-provider-type.md +52 -0
- package/docs/shaderGuide.md +2071 -0
- package/docs/types-architecture.md +234 -0
- package/layers/animations/app/components/Motion/CountUp.vue +1 -2
- package/layers/animations/app/components/Motion/Magnetic.vue +1 -2
- package/layers/animations/app/components/Motion/Marquee.vue +2 -5
- package/layers/animations/app/components/Motion/MarqueeText.vue +1 -2
- package/layers/animations/app/components/Motion/Tilt.vue +1 -2
- package/layers/animations/app/composables/useCountUp.ts +4 -1
- package/layers/animations/app/composables/useMagneticElement.ts +1 -3
- package/layers/animations/app/composables/useMarqueeCopies.ts +3 -3
- package/layers/animations/app/types/animations.ts +8 -0
- package/layers/animations/app/types/index.ts +1 -0
- package/layers/animations/package.json +4 -1
- package/layers/canvas/app/components/ShaderCanvas.vue +4 -4
- package/layers/canvas/app/composables/useRendererCapabilities.ts +19 -15
- package/layers/canvas/app/types/index.ts +1 -0
- package/layers/canvas/package.json +2 -1
- package/layers/canvas/tsconfig.json +2 -1
- package/layers/content/app/components/Blog/Card.vue +5 -5
- package/layers/content/app/components/Gallery/AmbientImage.vue +3 -3
- package/layers/content/app/components/Gallery/Card.vue +3 -3
- package/layers/content/app/components/NuxtContent/Detail.vue +5 -1
- package/layers/content/app/components/NuxtContent/Surround.vue +5 -3
- package/layers/content/app/components/NuxtContent/Toc.vue +1 -1
- package/layers/content/app/components/Portfolio/Card.vue +5 -5
- package/layers/content/app/components/content/Figure.vue +3 -3
- package/layers/content/app/types/index.ts +1 -0
- package/layers/content/package.json +2 -1
- package/layers/core/app/composables/useErrorLog.ts +9 -11
- package/layers/core/app/utils/helpers.ts +14 -12
- package/layers/core/nuxt.config.ts +1 -0
- package/layers/feeds/app/plugins/feed-head.ts +1 -2
- package/layers/feeds/package.json +2 -1
- package/layers/feeds/server/routes/feed/discovery.get.ts +1 -2
- package/layers/feeds/server/utils/content-adapter.ts +3 -2
- package/layers/forms/app/components/Form/Field.vue +4 -4
- package/layers/forms/app/types/index.ts +1 -0
- package/layers/forms/package.json +2 -1
- package/layers/layout/app/components/Layout/Grid/Item.vue +33 -19
- package/layers/layout/app/components/Layout/Page/Container.vue +11 -11
- package/layers/layout/app/components/Layout/Page/Header.vue +1 -1
- package/layers/layout/app/components/Layout/Page/index.vue +1 -1
- package/layers/layout/app/components/Layout/Section/Gallery.vue +6 -1
- package/layers/layout/app/components/Layout/Section/Title.vue +1 -1
- package/layers/layout/app/types/index.ts +1 -0
- package/layers/layout/package.json +2 -1
- package/layers/mailer/app/types/index.ts +1 -0
- package/layers/mailer/app/types/mailer.ts +25 -0
- package/layers/mailer/package.json +2 -1
- package/layers/motion/package.json +2 -1
- package/layers/navigation/app/components/Links/Group.vue +1 -0
- package/layers/navigation/app/components/Links/Named.vue +2 -0
- package/layers/navigation/app/types/index.ts +1 -0
- package/layers/navigation/package.json +4 -1
- package/layers/page-transitions/package.json +4 -1
- package/layers/routing/app/types/app-config.d.ts +3 -1
- package/layers/routing/app/types/index.ts +1 -0
- package/layers/routing/package.json +2 -1
- package/layers/scripts/app/composables/useGtm.ts +1 -1
- package/layers/scripts/app/types/index.ts +1 -0
- package/layers/scripts/app/types/scripts.ts +14 -0
- package/layers/scripts/package.json +2 -1
- package/layers/scroll/app/components/Motion/ScrollScene.vue +3 -1
- package/layers/scroll/app/composables/useScrollSteps.ts +2 -9
- package/layers/scroll/app/composables/useSectionProgress.ts +2 -1
- package/layers/scroll/app/plugins/locomotive-scroll.client.ts +1 -8
- package/layers/scroll/app/types/index.ts +1 -0
- package/layers/scroll/app/types/scroll.ts +32 -0
- package/layers/scroll/package.json +3 -0
- package/layers/seo/package.json +2 -1
- package/layers/shader/app/components/Material/Fresnel.client.vue +1 -1
- package/layers/shader/app/components/Material/Image.client.vue +1 -1
- package/layers/shader/app/components/Material/Node.client.vue +7 -7
- package/layers/shader/app/components/Material/Noise.client.vue +1 -1
- package/layers/shader/app/components/Node/Color.client.vue +17 -20
- package/layers/shader/app/components/Node/Noise.client.vue +31 -34
- package/layers/shader/app/components/Pipeline/Aurora.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/BilinearGradient.client.vue +8 -11
- package/layers/shader/app/components/Pipeline/BillowNoise.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/BrightnessContrast.client.vue +6 -2
- package/layers/shader/app/components/Pipeline/CellularNoise.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Checkerboard.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Circle.client.vue +5 -8
- package/layers/shader/app/components/Pipeline/Clouds.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/ColorBurnBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/ColorDodgeBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/ColourRamp.client.vue +5 -9
- package/layers/shader/app/components/Pipeline/ConicGradient.client.vue +5 -8
- package/layers/shader/app/components/Pipeline/Cross.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/CurlNoise.client.vue +3 -7
- package/layers/shader/app/components/Pipeline/DarkenBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/DayNightCycle.client.vue +5 -8
- package/layers/shader/app/components/Pipeline/DiagonalGradient.client.vue +5 -8
- package/layers/shader/app/components/Pipeline/DiamondGradient.client.vue +5 -8
- package/layers/shader/app/components/Pipeline/DifferenceBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/DomainWarpedNoise.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Dots.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/DuoTone.client.vue +5 -9
- package/layers/shader/app/components/Pipeline/ExclusionBlend.client.vue +3 -23
- package/layers/shader/app/components/Pipeline/ExponentialFog.client.vue +4 -7
- package/layers/shader/app/components/Pipeline/FilmBurn.client.vue +4 -7
- package/layers/shader/app/components/Pipeline/Flame.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/FocalGradient.client.vue +5 -8
- package/layers/shader/app/components/Pipeline/GodRays.client.vue +4 -7
- package/layers/shader/app/components/Pipeline/GradientNoise.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Grid.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Halation.client.vue +3 -7
- package/layers/shader/app/components/Pipeline/HardLightBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/Haze.client.vue +4 -7
- package/layers/shader/app/components/Pipeline/Hexagon.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/LensFlare.client.vue +4 -7
- package/layers/shader/app/components/Pipeline/LightenBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/LinearGradient4.client.vue +2 -2
- package/layers/shader/app/components/Pipeline/Marble.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/MonochromeTint.client.vue +3 -7
- package/layers/shader/app/components/Pipeline/MultiplyBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/NoisyGradient.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/NoisyGradientBlend.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/OverlayBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/Polygon.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/RaymarchTunnel.client.vue +4 -7
- package/layers/shader/app/components/Pipeline/Rectangle.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/RidgedNoise.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Ring.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/ScreenBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/SkyAtmosphere.client.vue +6 -9
- package/layers/shader/app/components/Pipeline/SoftLightBlend.client.vue +2 -19
- package/layers/shader/app/components/Pipeline/SplitTone.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Star.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Stripes.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Tint.client.vue +4 -7
- package/layers/shader/app/components/Pipeline/Triangle.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/ValueNoise.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/VoronoiEdges.client.vue +4 -8
- package/layers/shader/app/components/Pipeline/Water.client.vue +5 -8
- package/layers/shader/app/components/Pipeline/WaveBendLayer.client.vue +4 -7
- package/layers/shader/app/components/Pipeline/WaveColourLayer.client.vue +3 -7
- package/layers/shader/app/components/Pipeline/Wood.client.vue +4 -8
- package/layers/shader/app/components/Preset/Aurora.client.vue +15 -21
- package/layers/shader/app/components/Preset/Flow.client.vue +2 -1
- package/layers/shader/app/components/Preset/GradientMesh.client.vue +2 -1
- package/layers/shader/app/components/Preset/Nebula.client.vue +2 -1
- package/layers/shader/app/components/Preset/Ocean.client.vue +2 -1
- package/layers/shader/app/components/Preset/ThemeAurora.client.vue +30 -90
- package/layers/shader/app/components/Preset/ThemeBubble.client.vue +30 -91
- package/layers/shader/app/components/Preset/ThemeFlow.client.vue +30 -90
- package/layers/shader/app/components/Preset/ThemeGradient.client.vue +30 -91
- package/layers/shader/app/components/Preset/ThemeLavaLamp.client.vue +30 -90
- package/layers/shader/app/components/Preset/ThemePlasma.client.vue +30 -90
- package/layers/shader/app/components/Preset/ThemeWave.client.vue +30 -90
- package/layers/shader/app/components/Shader/Background.client.vue +4 -4
- package/layers/shader/app/components/Shader/Host.client.vue +31 -33
- package/layers/shader/app/components/Shader/Runtime.client.vue +15 -23
- package/layers/shader/app/composables/useAmbientMaterials.ts +53 -51
- package/layers/shader/app/composables/useShaderMixBlend.ts +26 -0
- package/layers/shader/app/composables/useThemePreset.ts +75 -0
- package/layers/shader/app/shaders/common/noise.ts +2 -7
- package/layers/shader/app/shaders/types.ts +6 -6
- package/layers/shader/app/types/tsl.ts +7 -25
- package/layers/shader/app/types/uniforms.ts +2 -1
- package/layers/shader/app/utils/tsl/color.ts +7 -1
- package/layers/shader/package.json +2 -1
- package/layers/theme/app/components/ThemePicker/Colors.vue +1 -3
- package/layers/theme/app/types/app-config.d.ts +4 -2
- package/layers/theme/app/types/index.ts +1 -0
- package/layers/theme/app/types/theme.ts +3 -18
- package/layers/theme/package.json +2 -1
- package/layers/theme/server/plugins/theme-fouc.ts +1 -1
- package/layers/transitions/package.json +4 -1
- package/layers/typography/app/components/Typography/CodeBlock.vue +2 -2
- package/layers/typography/app/components/Typography/Headline.vue +2 -2
- package/layers/typography/app/components/Typography/HeadlineScreen.vue +1 -1
- package/layers/typography/app/components/Typography/QuoteBlock.vue +4 -1
- package/layers/typography/app/components/Typography/TextStroke.vue +2 -0
- package/layers/typography/app/components/Typography/index.vue +36 -27
- package/layers/typography/app/composables/typography.ts +27 -21
- package/layers/typography/app/types/colors.ts +9 -29
- package/layers/typography/app/types/index.ts +2 -0
- package/layers/typography/package.json +4 -1
- package/layers/ui/package.json +2 -1
- package/layers/visual/app/app.config.ts +5 -2
- package/layers/visual/app/components/Accent/Blob.vue +20 -20
- package/layers/visual/app/components/Accent/Scene.vue +2 -2
- package/layers/visual/app/components/Base/Modal.vue +2 -2
- package/layers/visual/app/components/Gradient/Background.vue +2 -2
- package/layers/visual/app/components/Gradient/Text.vue +2 -2
- package/layers/visual/app/components/Media/Picture.vue +3 -1
- package/layers/visual/app/components/Progress/Bar.vue +6 -6
- package/layers/visual/app/components/Tint/Overlay.vue +14 -14
- package/layers/visual/app/composables/accent.ts +10 -8
- package/layers/visual/app/composables/tint.ts +7 -7
- package/layers/visual/app/types/index.ts +6 -0
- package/layers/visual/app/types/media.ts +4 -2
- package/layers/visual/app/types/tint.ts +2 -1
- package/layers/visual/package.json +4 -1
- package/package.json +5 -2
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, sin, time, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { fbm2D } from '../../shaders/common/noise'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
colorA = '#f5f0e8',
|
|
@@ -31,13 +32,8 @@
|
|
|
31
32
|
order?: number
|
|
32
33
|
}>()
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const colorANode = toVec3Node(colorA)
|
|
40
|
-
const colorBNode = toVec3Node(colorB)
|
|
35
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
36
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
41
37
|
const freqNode = uniform(frequency)
|
|
42
38
|
const noiseScaleNode = uniform(noiseScale)
|
|
43
39
|
const noiseStrNode = uniform(noiseStrength)
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { desaturate } from '../../shaders/common/blend'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
color = '#4466aa',
|
|
@@ -16,12 +17,7 @@
|
|
|
16
17
|
order?: number
|
|
17
18
|
}>()
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
const c = new Color(hex)
|
|
21
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const colorNode = toVec3Node(color)
|
|
20
|
+
const colorNode = hexToVec3Uniform(color)
|
|
25
21
|
const desatNode = uniform(desaturation)
|
|
26
22
|
watch(
|
|
27
23
|
() => color,
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color } from 'three'
|
|
3
|
-
import { mix, uniform, vec4 } from 'three/tsl'
|
|
4
|
-
|
|
5
2
|
import { blendMultiply } from '../../shaders/common/blend'
|
|
6
|
-
import type { TSLNode } from '../../shaders/types'
|
|
7
3
|
|
|
8
4
|
const {
|
|
9
5
|
color = '#808080',
|
|
@@ -15,23 +11,10 @@
|
|
|
15
11
|
order?: number
|
|
16
12
|
}>()
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
watch(
|
|
14
|
+
useShaderMixBlend(
|
|
15
|
+
blendMultiply,
|
|
21
16
|
() => color,
|
|
22
|
-
(v) => {
|
|
23
|
-
colorNode.value.set(v)
|
|
24
|
-
}
|
|
25
|
-
)
|
|
26
|
-
watch(
|
|
27
17
|
() => opacity,
|
|
28
|
-
(v) => {
|
|
29
|
-
opacityNode.value = v
|
|
30
|
-
}
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
useShaderStage(
|
|
34
|
-
(prev) => vec4(mix(prev.xyz, blendMultiply(prev.xyz, colorNode), opacityNode), prev.w),
|
|
35
18
|
order
|
|
36
19
|
)
|
|
37
20
|
</script>
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, time, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { fbm2D } from '../../shaders/common/noise'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
/** Linear gradient with per-pixel FBM noise offset — living, organic gradient. */
|
|
8
9
|
const {
|
|
@@ -27,13 +28,8 @@
|
|
|
27
28
|
order?: number
|
|
28
29
|
}>()
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const colorANode = toVec3Node(colorA)
|
|
36
|
-
const colorBNode = toVec3Node(colorB)
|
|
31
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
32
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
37
33
|
const angleNode = uniform((angle * Math.PI) / 180)
|
|
38
34
|
const noiseStrNode = uniform(noiseStrength)
|
|
39
35
|
const noiseScaleNode = uniform(noiseScale)
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { cos, float, mix, sin, smoothstep, time, uniform, vec2, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { simplexNoise2D } from '../../shaders/common/noise'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Self-contained Grainient/Shadertoy gradient pattern.
|
|
@@ -48,13 +49,8 @@
|
|
|
48
49
|
|
|
49
50
|
const DEG2RAD = Math.PI / 180
|
|
50
51
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const colorANode = toVec3Node(colorA)
|
|
57
|
-
const colorBNode = toVec3Node(colorB)
|
|
52
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
53
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
58
54
|
const noiseScaleNode = uniform(noiseScale)
|
|
59
55
|
const rotAmountNode = uniform(rotationAmount * DEG2RAD)
|
|
60
56
|
const warpFreqNode = uniform(warpFrequency)
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color } from 'three'
|
|
3
|
-
import { mix, uniform, vec4 } from 'three/tsl'
|
|
4
|
-
|
|
5
2
|
import { blendOverlay } from '../../shaders/common/blend'
|
|
6
|
-
import type { TSLNode } from '../../shaders/types'
|
|
7
3
|
|
|
8
4
|
const {
|
|
9
5
|
color = '#808080',
|
|
@@ -15,23 +11,10 @@
|
|
|
15
11
|
order?: number
|
|
16
12
|
}>()
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
watch(
|
|
14
|
+
useShaderMixBlend(
|
|
15
|
+
blendOverlay,
|
|
21
16
|
() => color,
|
|
22
|
-
(v) => {
|
|
23
|
-
colorNode.value.set(v)
|
|
24
|
-
}
|
|
25
|
-
)
|
|
26
|
-
watch(
|
|
27
17
|
() => opacity,
|
|
28
|
-
(v) => {
|
|
29
|
-
opacityNode.value = v
|
|
30
|
-
}
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
useShaderStage(
|
|
34
|
-
(prev) => vec4(mix(prev.xyz, blendOverlay(prev.xyz, colorNode), opacityNode), prev.w),
|
|
35
18
|
order
|
|
36
19
|
)
|
|
37
20
|
</script>
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { polygon } from '../../shaders/common/shapes'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
colorA = '#000000',
|
|
@@ -24,13 +25,8 @@
|
|
|
24
25
|
order?: number
|
|
25
26
|
}>()
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const colorANode = toVec3Node(colorA)
|
|
33
|
-
const colorBNode = toVec3Node(colorB)
|
|
28
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
29
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
34
30
|
const radiusNode = uniform(radius)
|
|
35
31
|
const softnessNode = uniform(softness)
|
|
36
32
|
const rotationNode = uniform((rotation * Math.PI) / 180)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import {
|
|
4
4
|
abs,
|
|
5
5
|
Break,
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
} from 'three/tsl'
|
|
18
18
|
|
|
19
19
|
import type { TSLNode } from '../../shaders/types'
|
|
20
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
20
21
|
|
|
21
22
|
const {
|
|
22
23
|
radius = 0.8,
|
|
@@ -42,12 +43,8 @@
|
|
|
42
43
|
const radiusNode = uniform(radius)
|
|
43
44
|
const speedNode = uniform(speed)
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
48
|
-
}
|
|
49
|
-
const colorANode = toVec3Node(colorA)
|
|
50
|
-
const colorBNode = toVec3Node(colorB)
|
|
46
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
47
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
51
48
|
|
|
52
49
|
watch(
|
|
53
50
|
() => radius,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { roundedRect } from '../../shaders/common/shapes'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
colorA = '#000000',
|
|
@@ -22,13 +23,8 @@
|
|
|
22
23
|
order?: number
|
|
23
24
|
}>()
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const colorANode = toVec3Node(colorA)
|
|
31
|
-
const colorBNode = toVec3Node(colorB)
|
|
26
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
27
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
32
28
|
const widthNode = uniform(width)
|
|
33
29
|
const heightNode = uniform(height)
|
|
34
30
|
const cornerNode = uniform(cornerRadius)
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, time, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { ridgedFbm2d } from '../../shaders/common/noise'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
colorA = '#000000',
|
|
@@ -18,13 +19,8 @@
|
|
|
18
19
|
order?: number
|
|
19
20
|
}>()
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const colorANode = toVec3Node(colorA)
|
|
27
|
-
const colorBNode = toVec3Node(colorB)
|
|
22
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
23
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
28
24
|
const scaleNode = uniform(scale)
|
|
29
25
|
const speedNode = uniform(speed)
|
|
30
26
|
watch(
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { ring } from '../../shaders/common/shapes'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
colorA = '#000000',
|
|
@@ -20,13 +21,8 @@
|
|
|
20
21
|
order?: number
|
|
21
22
|
}>()
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const colorANode = toVec3Node(colorA)
|
|
29
|
-
const colorBNode = toVec3Node(colorB)
|
|
24
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
25
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
30
26
|
const innerNode = uniform(innerRadius)
|
|
31
27
|
const outerNode = uniform(outerRadius)
|
|
32
28
|
const softnessNode = uniform(softness)
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color } from 'three'
|
|
3
|
-
import { mix, uniform, vec4 } from 'three/tsl'
|
|
4
|
-
|
|
5
2
|
import { blendScreen } from '../../shaders/common/blend'
|
|
6
|
-
import type { TSLNode } from '../../shaders/types'
|
|
7
3
|
|
|
8
4
|
const {
|
|
9
5
|
color = '#808080',
|
|
@@ -15,23 +11,10 @@
|
|
|
15
11
|
order?: number
|
|
16
12
|
}>()
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
watch(
|
|
14
|
+
useShaderMixBlend(
|
|
15
|
+
blendScreen,
|
|
21
16
|
() => color,
|
|
22
|
-
(v) => {
|
|
23
|
-
colorNode.value.set(v)
|
|
24
|
-
}
|
|
25
|
-
)
|
|
26
|
-
watch(
|
|
27
17
|
() => opacity,
|
|
28
|
-
(v) => {
|
|
29
|
-
opacityNode.value = v
|
|
30
|
-
}
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
useShaderStage(
|
|
34
|
-
(prev) => vec4(mix(prev.xyz, blendScreen(prev.xyz, colorNode), opacityNode), prev.w),
|
|
35
18
|
order
|
|
36
19
|
)
|
|
37
20
|
</script>
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import { Color, Vector3 } from 'three'
|
|
3
3
|
import { clamp, dot, float, mix, pow, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
|
+
|
|
5
7
|
const {
|
|
6
8
|
zenith = '#1a3a8a',
|
|
7
9
|
horizon = '#7ab0d8',
|
|
@@ -26,15 +28,10 @@
|
|
|
26
28
|
order?: number
|
|
27
29
|
}>()
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const zenithNode = toVec3Node(zenith)
|
|
35
|
-
const horizonNode = toVec3Node(horizon)
|
|
36
|
-
const groundNode = toVec3Node(ground)
|
|
37
|
-
const sunColorNode = toVec3Node(sunColor)
|
|
31
|
+
const zenithNode = hexToVec3Uniform(zenith)
|
|
32
|
+
const horizonNode = hexToVec3Uniform(horizon)
|
|
33
|
+
const groundNode = hexToVec3Uniform(ground)
|
|
34
|
+
const sunColorNode = hexToVec3Uniform(sunColor)
|
|
38
35
|
const sunPowerNode = uniform(sunPower)
|
|
39
36
|
|
|
40
37
|
const sunDir = new Vector3(...sunDirection).normalize()
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color } from 'three'
|
|
3
|
-
import { mix, uniform, vec4 } from 'three/tsl'
|
|
4
|
-
|
|
5
2
|
import { blendSoftLight } from '../../shaders/common/blend'
|
|
6
|
-
import type { TSLNode } from '../../shaders/types'
|
|
7
3
|
|
|
8
4
|
const {
|
|
9
5
|
color = '#808080',
|
|
@@ -15,23 +11,10 @@
|
|
|
15
11
|
order?: number
|
|
16
12
|
}>()
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
watch(
|
|
14
|
+
useShaderMixBlend(
|
|
15
|
+
blendSoftLight,
|
|
21
16
|
() => color,
|
|
22
|
-
(v) => {
|
|
23
|
-
colorNode.value.set(v)
|
|
24
|
-
}
|
|
25
|
-
)
|
|
26
|
-
watch(
|
|
27
17
|
() => opacity,
|
|
28
|
-
(v) => {
|
|
29
|
-
opacityNode.value = v
|
|
30
|
-
}
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
useShaderStage(
|
|
34
|
-
(prev) => vec4(mix(prev.xyz, blendSoftLight(prev.xyz, colorNode), opacityNode), prev.w),
|
|
35
18
|
order
|
|
36
19
|
)
|
|
37
20
|
</script>
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, smoothstep, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { luminance } from '../../shaders/common/blend'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
shadowColor = '#1a2a5a',
|
|
@@ -22,13 +23,8 @@
|
|
|
22
23
|
order?: number
|
|
23
24
|
}>()
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const shadowNode = toVec3Node(shadowColor)
|
|
31
|
-
const highlightNode = toVec3Node(highlightColor)
|
|
26
|
+
const shadowNode = hexToVec3Uniform(shadowColor)
|
|
27
|
+
const highlightNode = hexToVec3Uniform(highlightColor)
|
|
32
28
|
const balanceNode = uniform(balance)
|
|
33
29
|
const opacityNode = uniform(opacity)
|
|
34
30
|
watch(
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { star } from '../../shaders/common/shapes'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
colorA = '#000000',
|
|
@@ -24,13 +25,8 @@
|
|
|
24
25
|
order?: number
|
|
25
26
|
}>()
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const colorANode = toVec3Node(colorA)
|
|
33
|
-
const colorBNode = toVec3Node(colorB)
|
|
28
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
29
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
34
30
|
const radiusNode = uniform(radius)
|
|
35
31
|
const innerNode = uniform(innerRatio)
|
|
36
32
|
const softnessNode = uniform(softness)
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { stripes } from '../../shaders/common/shapes'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
colorA = '#000000',
|
|
@@ -22,13 +23,8 @@
|
|
|
22
23
|
order?: number
|
|
23
24
|
}>()
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const colorANode = toVec3Node(colorA)
|
|
31
|
-
const colorBNode = toVec3Node(colorB)
|
|
26
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
27
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
32
28
|
const freqNode = uniform(frequency)
|
|
33
29
|
const thickNode = uniform(thickness)
|
|
34
30
|
const angleNode = uniform((angle * Math.PI) / 180)
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
|
+
|
|
5
7
|
const {
|
|
6
8
|
color = '#ff8844',
|
|
7
9
|
opacity = 1,
|
|
@@ -14,12 +16,7 @@
|
|
|
14
16
|
order?: number
|
|
15
17
|
}>()
|
|
16
18
|
|
|
17
|
-
|
|
18
|
-
const c = new Color(hex)
|
|
19
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const colorNode = toVec3Node(color)
|
|
19
|
+
const colorNode = hexToVec3Uniform(color)
|
|
23
20
|
const opacityNode = uniform(opacity)
|
|
24
21
|
watch(
|
|
25
22
|
() => color,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, smoothstep, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { sdEquilateralTriangle } from '../../shaders/common/sdf'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
colorA = '#000000',
|
|
@@ -18,13 +19,8 @@
|
|
|
18
19
|
order?: number
|
|
19
20
|
}>()
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const colorANode = toVec3Node(colorA)
|
|
27
|
-
const colorBNode = toVec3Node(colorB)
|
|
22
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
23
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
28
24
|
const sizeNode = uniform(size)
|
|
29
25
|
const softnessNode = uniform(softness)
|
|
30
26
|
watch(
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, time, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { valueNoise2D } from '../../shaders/common/noise'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
colorA = '#000000',
|
|
@@ -18,13 +19,8 @@
|
|
|
18
19
|
order?: number
|
|
19
20
|
}>()
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const colorANode = toVec3Node(colorA)
|
|
27
|
-
const colorBNode = toVec3Node(colorB)
|
|
22
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
23
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
28
24
|
const scaleNode = uniform(scale)
|
|
29
25
|
const speedNode = uniform(speed)
|
|
30
26
|
watch(
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, smoothstep, time, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
5
|
import { voronoi2D } from '../../shaders/common/noise'
|
|
6
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
7
|
|
|
7
8
|
/** Voronoi cell edge lines only — the cell boundaries as thin lines. */
|
|
8
9
|
const {
|
|
@@ -24,13 +25,8 @@
|
|
|
24
25
|
order?: number
|
|
25
26
|
}>()
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const colorANode = toVec3Node(colorA)
|
|
33
|
-
const colorBNode = toVec3Node(colorB)
|
|
28
|
+
const colorANode = hexToVec3Uniform(colorA)
|
|
29
|
+
const colorBNode = hexToVec3Uniform(colorB)
|
|
34
30
|
const scaleNode = uniform(scale)
|
|
35
31
|
const edgeNode = uniform(edgeWidth)
|
|
36
32
|
const speedNode = uniform(speed)
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { Color
|
|
2
|
+
import { Color } from 'three'
|
|
3
3
|
import { float, mix, sin, time, uniform, vec4 } from 'three/tsl'
|
|
4
4
|
|
|
5
|
+
import { hexToVec3Uniform } from '../../utils/tsl/color'
|
|
6
|
+
|
|
5
7
|
const {
|
|
6
8
|
colorDeep = '#003366',
|
|
7
9
|
colorShallow = '#66ccff',
|
|
@@ -23,13 +25,8 @@
|
|
|
23
25
|
order?: number
|
|
24
26
|
}>()
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return uniform(new Vector3(c.r, c.g, c.b))
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const colorDeepNode = toVec3Node(colorDeep)
|
|
32
|
-
const colorShallowNode = toVec3Node(colorShallow)
|
|
28
|
+
const colorDeepNode = hexToVec3Uniform(colorDeep)
|
|
29
|
+
const colorShallowNode = hexToVec3Uniform(colorShallow)
|
|
33
30
|
const freqNode = uniform(frequency)
|
|
34
31
|
const ampNode = uniform(amplitude)
|
|
35
32
|
const speedNode = uniform(speed)
|