shaders 2.2.43 → 2.2.45
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/dist/core/{AngularBlur-CuwAjUOA.js → AngularBlur-CQYutWxj.js} +6 -2
- package/dist/core/{Beam-CbG4MkLo.js → Beam-CZo-XeQ-.js} +4 -4
- package/dist/core/{Blob-Ck1tVOL_.js → Blob-D3PIrwWv.js} +7 -7
- package/dist/core/{BrightnessContrast-CaErceqR.js → BrightnessContrast-SC7HYw9z.js} +2 -2
- package/dist/core/{Bulge-BVcWo6On.js → Bulge-CbZA25NX.js} +3 -3
- package/dist/core/{CRTScreen-CcAYeqoI.js → CRTScreen-DV5Y2GRA.js} +34 -6
- package/dist/core/{Checkerboard-D_hGvoO7.js → Checkerboard-DBcVaYQv.js} +6 -9
- package/dist/core/{ChromaFlow-DizYQSgf.js → ChromaFlow-DcqnZ1wf.js} +5 -4
- package/dist/core/{ChromaticAberration-Bk_DMYJm.js → ChromaticAberration-Dgf83J6w.js} +4 -3
- package/dist/core/{Circle-BlVzkeyl.js → Circle-BWd84W7f.js} +2 -2
- package/dist/core/{CursorTrail-CxXWV7KH.js → CursorTrail-BKfdORYc.js} +5 -4
- package/dist/core/{Dither-C1KyBYuE.js → Dither-DWoCLL0e.js} +1 -1
- package/dist/core/{DotGrid-ll8XCA0p.js → DotGrid-BZVfqUZO.js} +2 -2
- package/dist/core/{Duotone-d2gQJr4M.js → Duotone-sjvdZBlx.js} +1 -1
- package/dist/core/{FilmGrain-3h6TIe1T.js → FilmGrain-Cr3qP38A.js} +1 -1
- package/dist/core/{FloatingParticles-D95-rj4h.js → FloatingParticles-CPsVFZJl.js} +5 -5
- package/dist/core/{GlassTiles-DqT67iqr.js → GlassTiles-C6LLjlnB.js} +9 -7
- package/dist/core/{Glow-BYNKuw0E.js → Glow-C2avDr73.js} +3 -3
- package/dist/core/{Godrays-DCk1c8sQ.js → Godrays-RVh5ylQ-.js} +8 -6
- package/dist/core/{GridDistortion-D-iiGELF.js → GridDistortion-fimECOse.js} +12 -23
- package/dist/core/{Halftone-CV0aFuRG.js → Halftone-Cb5yrPnj.js} +1 -1
- package/dist/core/{LinearBlur-CTXjolzL.js → LinearBlur-CfMT259a.js} +2 -1
- package/dist/core/{LinearGradient-CZo6e7r8.js → LinearGradient-Cn7w-umQ.js} +6 -2
- package/dist/core/{Liquify-BbfDBMNZ.js → Liquify-BCkIt0A1.js} +1 -18
- package/dist/core/{Perspective-CSP2Hb16.js → Perspective-CJOFHxEC.js} +1 -1
- package/dist/core/{Pixelate-BAoi-CSx.js → Pixelate-BhNAxBsT.js} +7 -3
- package/dist/core/{PolarCoordinates-BwN9HhFK.js → PolarCoordinates-DLs3K__1.js} +3 -3
- package/dist/core/{ProgressiveBlur-RuAm_BKx.js → ProgressiveBlur-BIZSnUjp.js} +5 -2
- package/dist/core/{RadialGradient-BfFuRbIl.js → RadialGradient-sQgXXXQk.js} +1 -1
- package/dist/core/{RectangularCoordinates-CiW3J4UT.js → RectangularCoordinates-CyarkXn0.js} +2 -2
- package/dist/core/{Ripples-DKBIp3Qq.js → Ripples-Djjw66Bn.js} +3 -3
- package/dist/core/{Saturation-DVVlpikK.js → Saturation-DLHW_GP6.js} +1 -1
- package/dist/core/{Sharpness-cw57bW0s.js → Sharpness-DkGuV_dy.js} +1 -1
- package/dist/core/{Shatter-COjV2jLy.js → Shatter-DVgj2Ea3.js} +3 -2
- package/dist/core/{SimplexNoise-Ce79jgYM.js → SimplexNoise-BXtLTcAr.js} +1 -1
- package/dist/core/{SineWave-Cv2gOU8a.js → SineWave-BxqFasFh.js} +3 -3
- package/dist/core/{Spherize-R-s4pX9t.js → Spherize-DIJ4c_EG.js} +4 -4
- package/dist/core/{Spiral-W4dALX1z.js → Spiral-BBtmU1Fv.js} +3 -3
- package/dist/core/{Strands-DtN5POfO.js → Strands-D6UOhX0L.js} +5 -5
- package/dist/core/{Stretch-BzvP_hdu.js → Stretch-DLpz8Ofm.js} +2 -2
- package/dist/core/{Stripes-BbNFX05u.js → Stripes-Bre3Z2m_.js} +5 -5
- package/dist/core/{TiltShift-B6gbm7Z8.js → TiltShift-BPpXBzBg.js} +6 -4
- package/dist/core/{Tint-CpnitsHw.js → Tint-BazvezVn.js} +1 -1
- package/dist/core/{Tritone-DzvSKVfR.js → Tritone-w0h2ebDB.js} +1 -1
- package/dist/core/{Twirl-BXH4uAd6.js → Twirl-dmfYS2Eo.js} +7 -5
- package/dist/core/{Vibrance-ByN9bRgU.js → Vibrance-BpWyAK9W.js} +1 -1
- package/dist/core/{WaveDistortion-BA1PyqYH.js → WaveDistortion-hWdvaZmT.js} +6 -4
- package/dist/core/{ZoomBlur-CIkkDBIo.js → ZoomBlur-DCI4uHOL.js} +5 -2
- package/dist/core/index.d.ts +0 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +8 -170
- package/dist/core/registry.d.ts +10 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +166 -0
- package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/AngularBlur/index.js +1 -1
- package/dist/core/shaders/Beam/index.js +1 -1
- package/dist/core/shaders/Blob/index.js +1 -1
- package/dist/core/shaders/BrightnessContrast/index.js +1 -1
- package/dist/core/shaders/Bulge/index.js +1 -1
- package/dist/core/shaders/CRTScreen/index.d.ts +14 -0
- package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
- package/dist/core/shaders/CRTScreen/index.js +1 -1
- package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
- package/dist/core/shaders/Checkerboard/index.js +1 -1
- package/dist/core/shaders/ChromaFlow/index.d.ts +1 -1
- package/dist/core/shaders/ChromaFlow/index.d.ts.map +1 -1
- package/dist/core/shaders/ChromaFlow/index.js +1 -1
- package/dist/core/shaders/ChromaticAberration/index.d.ts.map +1 -1
- package/dist/core/shaders/ChromaticAberration/index.js +1 -1
- package/dist/core/shaders/Circle/index.js +1 -1
- package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
- package/dist/core/shaders/CursorTrail/index.js +1 -1
- package/dist/core/shaders/Dither/index.js +1 -1
- package/dist/core/shaders/DotGrid/index.js +1 -1
- package/dist/core/shaders/Duotone/index.js +1 -1
- package/dist/core/shaders/FilmGrain/index.js +1 -1
- package/dist/core/shaders/FloatingParticles/index.js +1 -1
- package/dist/core/shaders/GlassTiles/index.d.ts +1 -1
- package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
- package/dist/core/shaders/GlassTiles/index.js +1 -1
- package/dist/core/shaders/Glow/index.js +1 -1
- package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
- package/dist/core/shaders/Godrays/index.js +1 -1
- package/dist/core/shaders/GridDistortion/index.d.ts +0 -7
- package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
- package/dist/core/shaders/GridDistortion/index.js +1 -1
- package/dist/core/shaders/Halftone/index.js +1 -1
- package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/LinearBlur/index.js +1 -1
- package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
- package/dist/core/shaders/LinearGradient/index.js +1 -1
- package/dist/core/shaders/Liquify/index.d.ts +0 -7
- package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
- package/dist/core/shaders/Liquify/index.js +1 -1
- package/dist/core/shaders/Perspective/index.js +1 -1
- package/dist/core/shaders/Pixelate/index.d.ts +1 -1
- package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
- package/dist/core/shaders/Pixelate/index.js +1 -1
- package/dist/core/shaders/PolarCoordinates/index.js +1 -1
- package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
- package/dist/core/shaders/RadialGradient/index.js +1 -1
- package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
- package/dist/core/shaders/Ripples/index.js +1 -1
- package/dist/core/shaders/Saturation/index.js +1 -1
- package/dist/core/shaders/Sharpness/index.js +1 -1
- package/dist/core/shaders/Shatter/index.d.ts.map +1 -1
- package/dist/core/shaders/Shatter/index.js +1 -1
- package/dist/core/shaders/SimplexNoise/index.js +1 -1
- package/dist/core/shaders/SineWave/index.js +1 -1
- package/dist/core/shaders/Spherize/index.js +1 -1
- package/dist/core/shaders/Spiral/index.js +1 -1
- package/dist/core/shaders/Strands/index.d.ts +1 -1
- package/dist/core/shaders/Strands/index.js +1 -1
- package/dist/core/shaders/Stretch/index.js +1 -1
- package/dist/core/shaders/Stripes/index.d.ts +1 -1
- package/dist/core/shaders/Stripes/index.js +1 -1
- package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
- package/dist/core/shaders/TiltShift/index.js +1 -1
- package/dist/core/shaders/Tint/index.js +1 -1
- package/dist/core/shaders/Tritone/index.js +1 -1
- package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
- package/dist/core/shaders/Twirl/index.js +1 -1
- package/dist/core/shaders/Vibrance/index.js +1 -1
- package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
- package/dist/core/shaders/WaveDistortion/index.js +1 -1
- package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ZoomBlur/index.js +1 -1
- package/dist/react/AngularBlur.js +144 -0
- package/dist/react/Ascii.js +144 -0
- package/dist/react/Beam.js +144 -0
- package/dist/react/Blob.js +144 -0
- package/dist/react/Blur.js +144 -0
- package/dist/react/BrightnessContrast.js +144 -0
- package/dist/react/Bulge.js +144 -0
- package/dist/react/CRTScreen.js +144 -0
- package/dist/react/ChannelBlur.js +144 -0
- package/dist/react/Checkerboard.js +144 -0
- package/dist/react/ChromaFlow.js +144 -0
- package/dist/react/ChromaticAberration.js +144 -0
- package/dist/react/Circle.js +144 -0
- package/dist/react/CursorTrail.js +144 -0
- package/dist/react/DiffuseBlur.js +144 -0
- package/dist/react/Dither.js +144 -0
- package/dist/react/DotGrid.js +144 -0
- package/dist/react/Duotone.js +144 -0
- package/dist/react/FilmGrain.js +144 -0
- package/dist/react/FloatingParticles.js +144 -0
- package/dist/react/GlassTiles.js +144 -0
- package/dist/react/Glow.js +144 -0
- package/dist/react/Godrays.js +144 -0
- package/dist/react/Grayscale.js +144 -0
- package/dist/react/Grid.js +144 -0
- package/dist/react/GridDistortion.js +144 -0
- package/dist/react/Group.js +144 -0
- package/dist/react/Halftone.js +144 -0
- package/dist/react/HueShift.js +144 -0
- package/dist/react/ImageTexture.js +144 -0
- package/dist/react/Invert.js +144 -0
- package/dist/react/LinearBlur.js +144 -0
- package/dist/react/LinearGradient.js +144 -0
- package/dist/react/Liquify.js +144 -0
- package/dist/react/Perspective.js +144 -0
- package/dist/react/Pixelate.js +144 -0
- package/dist/react/PolarCoordinates.js +144 -0
- package/dist/react/Posterize.js +144 -0
- package/dist/react/ProgressiveBlur.js +144 -0
- package/dist/react/RadialGradient.js +144 -0
- package/dist/react/RectangularCoordinates.js +144 -0
- package/dist/react/Ripples.js +144 -0
- package/dist/react/Saturation.js +144 -0
- package/dist/react/Shader.js +166 -0
- package/dist/react/Sharpness.js +144 -0
- package/dist/react/Shatter.js +144 -0
- package/dist/react/SimplexNoise.js +144 -0
- package/dist/react/SineWave.js +144 -0
- package/dist/react/SolidColor.js +144 -0
- package/dist/react/Spherize.js +144 -0
- package/dist/react/Spiral.js +144 -0
- package/dist/react/Strands.js +144 -0
- package/dist/react/Stretch.js +144 -0
- package/dist/react/Stripes.js +144 -0
- package/dist/react/Swirl.js +144 -0
- package/dist/react/TiltShift.js +144 -0
- package/dist/react/Tint.js +144 -0
- package/dist/react/Tritone.js +144 -0
- package/dist/react/Twirl.js +144 -0
- package/dist/react/Vibrance.js +144 -0
- package/dist/react/WaveDistortion.js +144 -0
- package/dist/react/WebcamTexture.js +144 -0
- package/dist/react/ZoomBlur.js +144 -0
- package/dist/react/index.js +64 -8784
- package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/react/utils/generatePresetCode.js +392 -1
- package/dist/registry.js +228 -228
- package/dist/solid/components/AngularBlur.js +148 -0
- package/dist/solid/components/Ascii.js +148 -0
- package/dist/solid/components/Beam.js +148 -0
- package/dist/solid/components/Blob.js +148 -0
- package/dist/solid/components/Blur.js +148 -0
- package/dist/solid/components/BrightnessContrast.js +148 -0
- package/dist/solid/components/Bulge.js +148 -0
- package/dist/solid/components/CRTScreen.js +148 -0
- package/dist/solid/components/ChannelBlur.js +148 -0
- package/dist/solid/components/Checkerboard.js +148 -0
- package/dist/solid/components/ChromaFlow.js +148 -0
- package/dist/solid/components/ChromaticAberration.js +148 -0
- package/dist/solid/components/Circle.js +148 -0
- package/dist/solid/components/CursorTrail.js +148 -0
- package/dist/solid/components/DiffuseBlur.js +148 -0
- package/dist/solid/components/Dither.js +148 -0
- package/dist/solid/components/DotGrid.js +148 -0
- package/dist/solid/components/Duotone.js +148 -0
- package/dist/solid/components/FilmGrain.js +148 -0
- package/dist/solid/components/FloatingParticles.js +148 -0
- package/dist/solid/components/GlassTiles.js +148 -0
- package/dist/solid/components/Glow.js +148 -0
- package/dist/solid/components/Godrays.js +148 -0
- package/dist/solid/components/Grayscale.js +148 -0
- package/dist/solid/components/Grid.js +148 -0
- package/dist/solid/components/GridDistortion.js +148 -0
- package/dist/solid/components/Group.js +148 -0
- package/dist/solid/components/Halftone.js +148 -0
- package/dist/solid/components/HueShift.js +148 -0
- package/dist/solid/components/ImageTexture.js +148 -0
- package/dist/solid/components/Invert.js +148 -0
- package/dist/solid/components/LinearBlur.js +148 -0
- package/dist/solid/components/LinearGradient.js +148 -0
- package/dist/solid/components/Liquify.js +148 -0
- package/dist/solid/components/Perspective.js +148 -0
- package/dist/solid/components/Pixelate.js +148 -0
- package/dist/solid/components/PolarCoordinates.js +148 -0
- package/dist/solid/components/Posterize.js +148 -0
- package/dist/solid/components/ProgressiveBlur.js +148 -0
- package/dist/solid/components/RadialGradient.js +148 -0
- package/dist/solid/components/RectangularCoordinates.js +148 -0
- package/dist/solid/components/Ripples.js +148 -0
- package/dist/solid/components/Saturation.js +148 -0
- package/dist/solid/components/Sharpness.js +148 -0
- package/dist/solid/components/Shatter.js +148 -0
- package/dist/solid/components/SimplexNoise.js +148 -0
- package/dist/solid/components/SineWave.js +148 -0
- package/dist/solid/components/SolidColor.js +148 -0
- package/dist/solid/components/Spherize.js +148 -0
- package/dist/solid/components/Spiral.js +148 -0
- package/dist/solid/components/Strands.js +148 -0
- package/dist/solid/components/Stretch.js +148 -0
- package/dist/solid/components/Stripes.js +148 -0
- package/dist/solid/components/Swirl.js +148 -0
- package/dist/solid/components/TiltShift.js +148 -0
- package/dist/solid/components/Tint.js +148 -0
- package/dist/solid/components/Tritone.js +148 -0
- package/dist/solid/components/Twirl.js +148 -0
- package/dist/solid/components/Vibrance.js +148 -0
- package/dist/solid/components/WaveDistortion.js +148 -0
- package/dist/solid/components/WebcamTexture.js +148 -0
- package/dist/solid/components/ZoomBlur.js +148 -0
- package/dist/solid/engine/Shader.js +189 -0
- package/dist/solid/index.js +126 -8989
- package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/solid/utils/generatePresetCode.js +62 -417
- package/dist/svelte/generatePresetCode-CtXcoyI0.js +393 -0
- package/dist/svelte/index.js +1 -1
- package/dist/svelte/utils/generatePresetCode.js +1 -1
- package/dist/vue/AngularBlur.js +3 -0
- package/dist/vue/AngularBlur.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/vue/Ascii.js +3 -0
- package/dist/vue/Ascii.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/vue/Beam.js +3 -0
- package/dist/vue/Beam.vue_vue_type_script_setup_true_lang.js +132 -0
- package/dist/vue/Blob.js +3 -0
- package/dist/vue/Blob.vue_vue_type_script_setup_true_lang.js +137 -0
- package/dist/vue/Blur.js +3 -0
- package/dist/vue/Blur.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/vue/BrightnessContrast.js +3 -0
- package/dist/vue/BrightnessContrast.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/vue/Bulge.js +3 -0
- package/dist/vue/Bulge.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/vue/CRTScreen.js +3 -0
- package/dist/vue/CRTScreen.vue_vue_type_script_setup_true_lang.js +131 -0
- package/dist/vue/ChannelBlur.js +3 -0
- package/dist/vue/ChannelBlur.vue_vue_type_script_setup_true_lang.js +126 -0
- package/dist/vue/Checkerboard.js +3 -0
- package/dist/vue/Checkerboard.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/vue/ChromaFlow.js +3 -0
- package/dist/vue/ChromaFlow.vue_vue_type_script_setup_true_lang.js +131 -0
- package/dist/vue/ChromaticAberration.js +3 -0
- package/dist/vue/ChromaticAberration.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/vue/Circle.js +3 -0
- package/dist/vue/Circle.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/vue/CursorTrail.js +3 -0
- package/dist/vue/CursorTrail.vue_vue_type_script_setup_true_lang.js +129 -0
- package/dist/vue/DiffuseBlur.js +3 -0
- package/dist/vue/DiffuseBlur.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/vue/Dither.js +3 -0
- package/dist/vue/Dither.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/vue/DotGrid.js +3 -0
- package/dist/vue/DotGrid.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/vue/Duotone.js +3 -0
- package/dist/vue/Duotone.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/vue/FilmGrain.js +3 -0
- package/dist/vue/FilmGrain.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/vue/FloatingParticles.js +3 -0
- package/dist/vue/FloatingParticles.vue_vue_type_script_setup_true_lang.js +134 -0
- package/dist/vue/GlassTiles.js +3 -0
- package/dist/vue/GlassTiles.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/vue/Glow.js +3 -0
- package/dist/vue/Glow.vue_vue_type_script_setup_true_lang.js +126 -0
- package/dist/vue/Godrays.js +3 -0
- package/dist/vue/Godrays.vue_vue_type_script_setup_true_lang.js +130 -0
- package/dist/vue/Grayscale.js +3 -0
- package/dist/vue/Grayscale.vue_vue_type_script_setup_true_lang.js +123 -0
- package/dist/vue/Grid.js +3 -0
- package/dist/vue/Grid.vue_vue_type_script_setup_true_lang.js +126 -0
- package/dist/vue/GridDistortion.js +3 -0
- package/dist/vue/GridDistortion.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/vue/Group.js +3 -0
- package/dist/vue/Group.vue_vue_type_script_setup_true_lang.js +123 -0
- package/dist/vue/Halftone.js +3 -0
- package/dist/vue/Halftone.vue_vue_type_script_setup_true_lang.js +126 -0
- package/dist/vue/HueShift.js +3 -0
- package/dist/vue/HueShift.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/vue/ImageTexture.js +3 -0
- package/dist/vue/ImageTexture.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/vue/Invert.js +3 -0
- package/dist/vue/Invert.vue_vue_type_script_setup_true_lang.js +123 -0
- package/dist/vue/LinearBlur.js +3 -0
- package/dist/vue/LinearBlur.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/vue/LinearGradient.js +3 -0
- package/dist/vue/LinearGradient.vue_vue_type_script_setup_true_lang.js +130 -0
- package/dist/vue/Liquify.js +3 -0
- package/dist/vue/Liquify.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/vue/Perspective.js +3 -0
- package/dist/vue/Perspective.vue_vue_type_script_setup_true_lang.js +130 -0
- package/dist/vue/Pixelate.js +3 -0
- package/dist/vue/Pixelate.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/vue/PolarCoordinates.js +3 -0
- package/dist/vue/PolarCoordinates.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/vue/Posterize.js +3 -0
- package/dist/vue/Posterize.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/vue/ProgressiveBlur.js +3 -0
- package/dist/vue/ProgressiveBlur.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/vue/RadialGradient.js +3 -0
- package/dist/vue/RadialGradient.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/vue/RectangularCoordinates.js +3 -0
- package/dist/vue/RectangularCoordinates.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/vue/Ripples.js +3 -0
- package/dist/vue/Ripples.vue_vue_type_script_setup_true_lang.js +131 -0
- package/dist/vue/Saturation.js +3 -0
- package/dist/vue/Saturation.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/vue/Shader.js +3 -0
- package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +153 -0
- package/dist/vue/Sharpness.js +3 -0
- package/dist/vue/Sharpness.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/vue/Shatter.js +3 -0
- package/dist/vue/Shatter.vue_vue_type_script_setup_true_lang.js +132 -0
- package/dist/vue/SimplexNoise.js +3 -0
- package/dist/vue/SimplexNoise.vue_vue_type_script_setup_true_lang.js +130 -0
- package/dist/vue/SineWave.js +3 -0
- package/dist/vue/SineWave.vue_vue_type_script_setup_true_lang.js +131 -0
- package/dist/vue/SolidColor.js +3 -0
- package/dist/vue/SolidColor.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/vue/Spherize.js +3 -0
- package/dist/vue/Spherize.vue_vue_type_script_setup_true_lang.js +130 -0
- package/dist/vue/Spiral.js +3 -0
- package/dist/vue/Spiral.vue_vue_type_script_setup_true_lang.js +132 -0
- package/dist/vue/Strands.js +3 -0
- package/dist/vue/Strands.vue_vue_type_script_setup_true_lang.js +132 -0
- package/dist/vue/Stretch.js +3 -0
- package/dist/vue/Stretch.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/vue/Stripes.js +3 -0
- package/dist/vue/Stripes.vue_vue_type_script_setup_true_lang.js +132 -0
- package/dist/vue/Swirl.js +3 -0
- package/dist/vue/Swirl.vue_vue_type_script_setup_true_lang.js +129 -0
- package/dist/vue/TiltShift.js +3 -0
- package/dist/vue/TiltShift.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/vue/Tint.js +3 -0
- package/dist/vue/Tint.vue_vue_type_script_setup_true_lang.js +126 -0
- package/dist/vue/Tritone.js +3 -0
- package/dist/vue/Tritone.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/vue/Twirl.js +3 -0
- package/dist/vue/Twirl.vue_vue_type_script_setup_true_lang.js +126 -0
- package/dist/vue/Vibrance.js +3 -0
- package/dist/vue/Vibrance.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/vue/WaveDistortion.js +3 -0
- package/dist/vue/WaveDistortion.vue_vue_type_script_setup_true_lang.js +129 -0
- package/dist/vue/WebcamTexture.js +3 -0
- package/dist/vue/WebcamTexture.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/vue/ZoomBlur.js +3 -0
- package/dist/vue/ZoomBlur.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/vue/index.js +64 -7870
- package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/vue/utils/generatePresetCode.js +391 -1
- package/package.json +1 -1
- package/dist/react/generatePresetCode-D0yiVxb4.js +0 -748
- package/dist/svelte/generatePresetCode-DUGaV_ym.js +0 -748
- package/dist/vue/generatePresetCode-CShQ8TLw.js +0 -747
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { createComponent } from "solid-js/web";
|
|
2
|
+
import { splitProps, createMemo, onMount, onCleanup, createEffect } from "solid-js";
|
|
3
|
+
import { createUniformsMap } from "../../core/index.js";
|
|
4
|
+
import { componentDefinition } from "../../core/shaders/Blur/index.js";
|
|
5
|
+
import { useShaderContext, ShaderContext } from "../engine/Shader.js";
|
|
6
|
+
const DEFAULT_TRANSFORM = {
|
|
7
|
+
offsetX: 0,
|
|
8
|
+
offsetY: 0,
|
|
9
|
+
rotation: 0,
|
|
10
|
+
scale: 1,
|
|
11
|
+
anchorX: 0.5,
|
|
12
|
+
anchorY: 0.5,
|
|
13
|
+
edges: "transparent"
|
|
14
|
+
};
|
|
15
|
+
const defaultProps = {
|
|
16
|
+
blendMode: "normal",
|
|
17
|
+
renderOrder: 0,
|
|
18
|
+
visible: true
|
|
19
|
+
// opacity intentionally has no default - handled by renderer
|
|
20
|
+
// transform intentionally has no default - handled by effectiveTransform
|
|
21
|
+
};
|
|
22
|
+
try {
|
|
23
|
+
if (componentDefinition && componentDefinition.props) {
|
|
24
|
+
Object.entries(componentDefinition.props).forEach(([key, config]) => {
|
|
25
|
+
const propConfig = config;
|
|
26
|
+
if (propConfig && typeof propConfig === "object" && "default" in propConfig) {
|
|
27
|
+
defaultProps[key] = propConfig.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
} catch (e) {
|
|
32
|
+
console.warn("Error extracting default props:", e);
|
|
33
|
+
}
|
|
34
|
+
function ShaderComponent(props) {
|
|
35
|
+
const [local, otherProps] = splitProps(props, ["children"]);
|
|
36
|
+
const context = useShaderContext();
|
|
37
|
+
const {
|
|
38
|
+
shaderParentId: parentId,
|
|
39
|
+
shaderNodeRegister: parentRegister,
|
|
40
|
+
shaderUniformUpdate: parentUniformUpdate,
|
|
41
|
+
shaderMetadataUpdate: parentMetadataUpdate
|
|
42
|
+
} = context;
|
|
43
|
+
const instanceId = props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
|
|
44
|
+
const effectiveProps = createMemo(() => {
|
|
45
|
+
let baseProps = {
|
|
46
|
+
...defaultProps
|
|
47
|
+
};
|
|
48
|
+
for (const [key, value] of Object.entries(otherProps)) {
|
|
49
|
+
if (value !== void 0) {
|
|
50
|
+
baseProps[key] = value;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return baseProps;
|
|
54
|
+
});
|
|
55
|
+
const effectiveTransform = createMemo(() => ({
|
|
56
|
+
...DEFAULT_TRANSFORM,
|
|
57
|
+
...props.transform
|
|
58
|
+
}));
|
|
59
|
+
let uniformsMap = null;
|
|
60
|
+
const getUniformsMap = () => {
|
|
61
|
+
if (!uniformsMap) {
|
|
62
|
+
uniformsMap = createUniformsMap(componentDefinition, effectiveProps(), instanceId);
|
|
63
|
+
}
|
|
64
|
+
return uniformsMap;
|
|
65
|
+
};
|
|
66
|
+
const childContextValue = createMemo(() => ({
|
|
67
|
+
...context,
|
|
68
|
+
shaderParentId: instanceId
|
|
69
|
+
}));
|
|
70
|
+
let isRegistered = false;
|
|
71
|
+
onMount(() => {
|
|
72
|
+
const uniforms = getUniformsMap();
|
|
73
|
+
if (!uniforms) return;
|
|
74
|
+
try {
|
|
75
|
+
const metadata = {
|
|
76
|
+
blendMode: props.blendMode || "normal",
|
|
77
|
+
opacity: props.opacity,
|
|
78
|
+
visible: props.visible === false ? false : true,
|
|
79
|
+
id: props.id,
|
|
80
|
+
mask: props.maskSource ? {
|
|
81
|
+
source: props.maskSource,
|
|
82
|
+
type: props.maskType || "alpha"
|
|
83
|
+
} : void 0,
|
|
84
|
+
renderOrder: props.renderOrder || 0,
|
|
85
|
+
transform: effectiveTransform()
|
|
86
|
+
};
|
|
87
|
+
parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniforms, componentDefinition);
|
|
88
|
+
isRegistered = true;
|
|
89
|
+
} catch (error) {
|
|
90
|
+
console.error("Error registering shader node:", error);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
onCleanup(() => {
|
|
94
|
+
isRegistered = false;
|
|
95
|
+
parentRegister(instanceId, null, null, null, null);
|
|
96
|
+
});
|
|
97
|
+
createEffect(() => {
|
|
98
|
+
if (!isRegistered) return;
|
|
99
|
+
const uniforms = getUniformsMap();
|
|
100
|
+
if (!uniforms) return;
|
|
101
|
+
try {
|
|
102
|
+
const props_snapshot = effectiveProps();
|
|
103
|
+
Object.entries(uniforms).forEach(([propName, uniformData]) => {
|
|
104
|
+
if (!uniformData || typeof uniformData !== "object") return;
|
|
105
|
+
const {
|
|
106
|
+
uniform
|
|
107
|
+
} = uniformData;
|
|
108
|
+
if ((uniform == null ? void 0 : uniform.value) !== void 0 && propName in props_snapshot) {
|
|
109
|
+
const newValue = props_snapshot[propName];
|
|
110
|
+
parentUniformUpdate(instanceId, propName, newValue);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
} catch (error) {
|
|
114
|
+
console.error("Error updating uniforms:", error);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
createEffect(() => {
|
|
118
|
+
if (!isRegistered) return;
|
|
119
|
+
try {
|
|
120
|
+
const metadata = {
|
|
121
|
+
blendMode: props.blendMode || "normal",
|
|
122
|
+
opacity: props.opacity,
|
|
123
|
+
visible: props.visible === false ? false : true,
|
|
124
|
+
id: props.id,
|
|
125
|
+
mask: props.maskSource ? {
|
|
126
|
+
source: props.maskSource,
|
|
127
|
+
type: props.maskType || "alpha"
|
|
128
|
+
} : void 0,
|
|
129
|
+
renderOrder: props.renderOrder || 0,
|
|
130
|
+
transform: effectiveTransform()
|
|
131
|
+
};
|
|
132
|
+
parentMetadataUpdate(instanceId, metadata);
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.error("Error updating metadata:", error);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
return createComponent(ShaderContext.Provider, {
|
|
138
|
+
get value() {
|
|
139
|
+
return childContextValue();
|
|
140
|
+
},
|
|
141
|
+
get children() {
|
|
142
|
+
return local.children;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
export {
|
|
147
|
+
ShaderComponent as default
|
|
148
|
+
};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { createComponent } from "solid-js/web";
|
|
2
|
+
import { splitProps, createMemo, onMount, onCleanup, createEffect } from "solid-js";
|
|
3
|
+
import { createUniformsMap } from "../../core/index.js";
|
|
4
|
+
import { componentDefinition } from "../../core/shaders/BrightnessContrast/index.js";
|
|
5
|
+
import { useShaderContext, ShaderContext } from "../engine/Shader.js";
|
|
6
|
+
const DEFAULT_TRANSFORM = {
|
|
7
|
+
offsetX: 0,
|
|
8
|
+
offsetY: 0,
|
|
9
|
+
rotation: 0,
|
|
10
|
+
scale: 1,
|
|
11
|
+
anchorX: 0.5,
|
|
12
|
+
anchorY: 0.5,
|
|
13
|
+
edges: "transparent"
|
|
14
|
+
};
|
|
15
|
+
const defaultProps = {
|
|
16
|
+
blendMode: "normal",
|
|
17
|
+
renderOrder: 0,
|
|
18
|
+
visible: true
|
|
19
|
+
// opacity intentionally has no default - handled by renderer
|
|
20
|
+
// transform intentionally has no default - handled by effectiveTransform
|
|
21
|
+
};
|
|
22
|
+
try {
|
|
23
|
+
if (componentDefinition && componentDefinition.props) {
|
|
24
|
+
Object.entries(componentDefinition.props).forEach(([key, config]) => {
|
|
25
|
+
const propConfig = config;
|
|
26
|
+
if (propConfig && typeof propConfig === "object" && "default" in propConfig) {
|
|
27
|
+
defaultProps[key] = propConfig.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
} catch (e) {
|
|
32
|
+
console.warn("Error extracting default props:", e);
|
|
33
|
+
}
|
|
34
|
+
function ShaderComponent(props) {
|
|
35
|
+
const [local, otherProps] = splitProps(props, ["children"]);
|
|
36
|
+
const context = useShaderContext();
|
|
37
|
+
const {
|
|
38
|
+
shaderParentId: parentId,
|
|
39
|
+
shaderNodeRegister: parentRegister,
|
|
40
|
+
shaderUniformUpdate: parentUniformUpdate,
|
|
41
|
+
shaderMetadataUpdate: parentMetadataUpdate
|
|
42
|
+
} = context;
|
|
43
|
+
const instanceId = props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
|
|
44
|
+
const effectiveProps = createMemo(() => {
|
|
45
|
+
let baseProps = {
|
|
46
|
+
...defaultProps
|
|
47
|
+
};
|
|
48
|
+
for (const [key, value] of Object.entries(otherProps)) {
|
|
49
|
+
if (value !== void 0) {
|
|
50
|
+
baseProps[key] = value;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return baseProps;
|
|
54
|
+
});
|
|
55
|
+
const effectiveTransform = createMemo(() => ({
|
|
56
|
+
...DEFAULT_TRANSFORM,
|
|
57
|
+
...props.transform
|
|
58
|
+
}));
|
|
59
|
+
let uniformsMap = null;
|
|
60
|
+
const getUniformsMap = () => {
|
|
61
|
+
if (!uniformsMap) {
|
|
62
|
+
uniformsMap = createUniformsMap(componentDefinition, effectiveProps(), instanceId);
|
|
63
|
+
}
|
|
64
|
+
return uniformsMap;
|
|
65
|
+
};
|
|
66
|
+
const childContextValue = createMemo(() => ({
|
|
67
|
+
...context,
|
|
68
|
+
shaderParentId: instanceId
|
|
69
|
+
}));
|
|
70
|
+
let isRegistered = false;
|
|
71
|
+
onMount(() => {
|
|
72
|
+
const uniforms = getUniformsMap();
|
|
73
|
+
if (!uniforms) return;
|
|
74
|
+
try {
|
|
75
|
+
const metadata = {
|
|
76
|
+
blendMode: props.blendMode || "normal",
|
|
77
|
+
opacity: props.opacity,
|
|
78
|
+
visible: props.visible === false ? false : true,
|
|
79
|
+
id: props.id,
|
|
80
|
+
mask: props.maskSource ? {
|
|
81
|
+
source: props.maskSource,
|
|
82
|
+
type: props.maskType || "alpha"
|
|
83
|
+
} : void 0,
|
|
84
|
+
renderOrder: props.renderOrder || 0,
|
|
85
|
+
transform: effectiveTransform()
|
|
86
|
+
};
|
|
87
|
+
parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniforms, componentDefinition);
|
|
88
|
+
isRegistered = true;
|
|
89
|
+
} catch (error) {
|
|
90
|
+
console.error("Error registering shader node:", error);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
onCleanup(() => {
|
|
94
|
+
isRegistered = false;
|
|
95
|
+
parentRegister(instanceId, null, null, null, null);
|
|
96
|
+
});
|
|
97
|
+
createEffect(() => {
|
|
98
|
+
if (!isRegistered) return;
|
|
99
|
+
const uniforms = getUniformsMap();
|
|
100
|
+
if (!uniforms) return;
|
|
101
|
+
try {
|
|
102
|
+
const props_snapshot = effectiveProps();
|
|
103
|
+
Object.entries(uniforms).forEach(([propName, uniformData]) => {
|
|
104
|
+
if (!uniformData || typeof uniformData !== "object") return;
|
|
105
|
+
const {
|
|
106
|
+
uniform
|
|
107
|
+
} = uniformData;
|
|
108
|
+
if ((uniform == null ? void 0 : uniform.value) !== void 0 && propName in props_snapshot) {
|
|
109
|
+
const newValue = props_snapshot[propName];
|
|
110
|
+
parentUniformUpdate(instanceId, propName, newValue);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
} catch (error) {
|
|
114
|
+
console.error("Error updating uniforms:", error);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
createEffect(() => {
|
|
118
|
+
if (!isRegistered) return;
|
|
119
|
+
try {
|
|
120
|
+
const metadata = {
|
|
121
|
+
blendMode: props.blendMode || "normal",
|
|
122
|
+
opacity: props.opacity,
|
|
123
|
+
visible: props.visible === false ? false : true,
|
|
124
|
+
id: props.id,
|
|
125
|
+
mask: props.maskSource ? {
|
|
126
|
+
source: props.maskSource,
|
|
127
|
+
type: props.maskType || "alpha"
|
|
128
|
+
} : void 0,
|
|
129
|
+
renderOrder: props.renderOrder || 0,
|
|
130
|
+
transform: effectiveTransform()
|
|
131
|
+
};
|
|
132
|
+
parentMetadataUpdate(instanceId, metadata);
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.error("Error updating metadata:", error);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
return createComponent(ShaderContext.Provider, {
|
|
138
|
+
get value() {
|
|
139
|
+
return childContextValue();
|
|
140
|
+
},
|
|
141
|
+
get children() {
|
|
142
|
+
return local.children;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
export {
|
|
147
|
+
ShaderComponent as default
|
|
148
|
+
};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { createComponent } from "solid-js/web";
|
|
2
|
+
import { splitProps, createMemo, onMount, onCleanup, createEffect } from "solid-js";
|
|
3
|
+
import { createUniformsMap } from "../../core/index.js";
|
|
4
|
+
import { componentDefinition } from "../../core/shaders/Bulge/index.js";
|
|
5
|
+
import { useShaderContext, ShaderContext } from "../engine/Shader.js";
|
|
6
|
+
const DEFAULT_TRANSFORM = {
|
|
7
|
+
offsetX: 0,
|
|
8
|
+
offsetY: 0,
|
|
9
|
+
rotation: 0,
|
|
10
|
+
scale: 1,
|
|
11
|
+
anchorX: 0.5,
|
|
12
|
+
anchorY: 0.5,
|
|
13
|
+
edges: "transparent"
|
|
14
|
+
};
|
|
15
|
+
const defaultProps = {
|
|
16
|
+
blendMode: "normal",
|
|
17
|
+
renderOrder: 0,
|
|
18
|
+
visible: true
|
|
19
|
+
// opacity intentionally has no default - handled by renderer
|
|
20
|
+
// transform intentionally has no default - handled by effectiveTransform
|
|
21
|
+
};
|
|
22
|
+
try {
|
|
23
|
+
if (componentDefinition && componentDefinition.props) {
|
|
24
|
+
Object.entries(componentDefinition.props).forEach(([key, config]) => {
|
|
25
|
+
const propConfig = config;
|
|
26
|
+
if (propConfig && typeof propConfig === "object" && "default" in propConfig) {
|
|
27
|
+
defaultProps[key] = propConfig.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
} catch (e) {
|
|
32
|
+
console.warn("Error extracting default props:", e);
|
|
33
|
+
}
|
|
34
|
+
function ShaderComponent(props) {
|
|
35
|
+
const [local, otherProps] = splitProps(props, ["children"]);
|
|
36
|
+
const context = useShaderContext();
|
|
37
|
+
const {
|
|
38
|
+
shaderParentId: parentId,
|
|
39
|
+
shaderNodeRegister: parentRegister,
|
|
40
|
+
shaderUniformUpdate: parentUniformUpdate,
|
|
41
|
+
shaderMetadataUpdate: parentMetadataUpdate
|
|
42
|
+
} = context;
|
|
43
|
+
const instanceId = props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
|
|
44
|
+
const effectiveProps = createMemo(() => {
|
|
45
|
+
let baseProps = {
|
|
46
|
+
...defaultProps
|
|
47
|
+
};
|
|
48
|
+
for (const [key, value] of Object.entries(otherProps)) {
|
|
49
|
+
if (value !== void 0) {
|
|
50
|
+
baseProps[key] = value;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return baseProps;
|
|
54
|
+
});
|
|
55
|
+
const effectiveTransform = createMemo(() => ({
|
|
56
|
+
...DEFAULT_TRANSFORM,
|
|
57
|
+
...props.transform
|
|
58
|
+
}));
|
|
59
|
+
let uniformsMap = null;
|
|
60
|
+
const getUniformsMap = () => {
|
|
61
|
+
if (!uniformsMap) {
|
|
62
|
+
uniformsMap = createUniformsMap(componentDefinition, effectiveProps(), instanceId);
|
|
63
|
+
}
|
|
64
|
+
return uniformsMap;
|
|
65
|
+
};
|
|
66
|
+
const childContextValue = createMemo(() => ({
|
|
67
|
+
...context,
|
|
68
|
+
shaderParentId: instanceId
|
|
69
|
+
}));
|
|
70
|
+
let isRegistered = false;
|
|
71
|
+
onMount(() => {
|
|
72
|
+
const uniforms = getUniformsMap();
|
|
73
|
+
if (!uniforms) return;
|
|
74
|
+
try {
|
|
75
|
+
const metadata = {
|
|
76
|
+
blendMode: props.blendMode || "normal",
|
|
77
|
+
opacity: props.opacity,
|
|
78
|
+
visible: props.visible === false ? false : true,
|
|
79
|
+
id: props.id,
|
|
80
|
+
mask: props.maskSource ? {
|
|
81
|
+
source: props.maskSource,
|
|
82
|
+
type: props.maskType || "alpha"
|
|
83
|
+
} : void 0,
|
|
84
|
+
renderOrder: props.renderOrder || 0,
|
|
85
|
+
transform: effectiveTransform()
|
|
86
|
+
};
|
|
87
|
+
parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniforms, componentDefinition);
|
|
88
|
+
isRegistered = true;
|
|
89
|
+
} catch (error) {
|
|
90
|
+
console.error("Error registering shader node:", error);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
onCleanup(() => {
|
|
94
|
+
isRegistered = false;
|
|
95
|
+
parentRegister(instanceId, null, null, null, null);
|
|
96
|
+
});
|
|
97
|
+
createEffect(() => {
|
|
98
|
+
if (!isRegistered) return;
|
|
99
|
+
const uniforms = getUniformsMap();
|
|
100
|
+
if (!uniforms) return;
|
|
101
|
+
try {
|
|
102
|
+
const props_snapshot = effectiveProps();
|
|
103
|
+
Object.entries(uniforms).forEach(([propName, uniformData]) => {
|
|
104
|
+
if (!uniformData || typeof uniformData !== "object") return;
|
|
105
|
+
const {
|
|
106
|
+
uniform
|
|
107
|
+
} = uniformData;
|
|
108
|
+
if ((uniform == null ? void 0 : uniform.value) !== void 0 && propName in props_snapshot) {
|
|
109
|
+
const newValue = props_snapshot[propName];
|
|
110
|
+
parentUniformUpdate(instanceId, propName, newValue);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
} catch (error) {
|
|
114
|
+
console.error("Error updating uniforms:", error);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
createEffect(() => {
|
|
118
|
+
if (!isRegistered) return;
|
|
119
|
+
try {
|
|
120
|
+
const metadata = {
|
|
121
|
+
blendMode: props.blendMode || "normal",
|
|
122
|
+
opacity: props.opacity,
|
|
123
|
+
visible: props.visible === false ? false : true,
|
|
124
|
+
id: props.id,
|
|
125
|
+
mask: props.maskSource ? {
|
|
126
|
+
source: props.maskSource,
|
|
127
|
+
type: props.maskType || "alpha"
|
|
128
|
+
} : void 0,
|
|
129
|
+
renderOrder: props.renderOrder || 0,
|
|
130
|
+
transform: effectiveTransform()
|
|
131
|
+
};
|
|
132
|
+
parentMetadataUpdate(instanceId, metadata);
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.error("Error updating metadata:", error);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
return createComponent(ShaderContext.Provider, {
|
|
138
|
+
get value() {
|
|
139
|
+
return childContextValue();
|
|
140
|
+
},
|
|
141
|
+
get children() {
|
|
142
|
+
return local.children;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
export {
|
|
147
|
+
ShaderComponent as default
|
|
148
|
+
};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { createComponent } from "solid-js/web";
|
|
2
|
+
import { splitProps, createMemo, onMount, onCleanup, createEffect } from "solid-js";
|
|
3
|
+
import { createUniformsMap } from "../../core/index.js";
|
|
4
|
+
import { componentDefinition } from "../../core/shaders/CRTScreen/index.js";
|
|
5
|
+
import { useShaderContext, ShaderContext } from "../engine/Shader.js";
|
|
6
|
+
const DEFAULT_TRANSFORM = {
|
|
7
|
+
offsetX: 0,
|
|
8
|
+
offsetY: 0,
|
|
9
|
+
rotation: 0,
|
|
10
|
+
scale: 1,
|
|
11
|
+
anchorX: 0.5,
|
|
12
|
+
anchorY: 0.5,
|
|
13
|
+
edges: "transparent"
|
|
14
|
+
};
|
|
15
|
+
const defaultProps = {
|
|
16
|
+
blendMode: "normal",
|
|
17
|
+
renderOrder: 0,
|
|
18
|
+
visible: true
|
|
19
|
+
// opacity intentionally has no default - handled by renderer
|
|
20
|
+
// transform intentionally has no default - handled by effectiveTransform
|
|
21
|
+
};
|
|
22
|
+
try {
|
|
23
|
+
if (componentDefinition && componentDefinition.props) {
|
|
24
|
+
Object.entries(componentDefinition.props).forEach(([key, config]) => {
|
|
25
|
+
const propConfig = config;
|
|
26
|
+
if (propConfig && typeof propConfig === "object" && "default" in propConfig) {
|
|
27
|
+
defaultProps[key] = propConfig.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
} catch (e) {
|
|
32
|
+
console.warn("Error extracting default props:", e);
|
|
33
|
+
}
|
|
34
|
+
function ShaderComponent(props) {
|
|
35
|
+
const [local, otherProps] = splitProps(props, ["children"]);
|
|
36
|
+
const context = useShaderContext();
|
|
37
|
+
const {
|
|
38
|
+
shaderParentId: parentId,
|
|
39
|
+
shaderNodeRegister: parentRegister,
|
|
40
|
+
shaderUniformUpdate: parentUniformUpdate,
|
|
41
|
+
shaderMetadataUpdate: parentMetadataUpdate
|
|
42
|
+
} = context;
|
|
43
|
+
const instanceId = props.id || `${componentDefinition.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`;
|
|
44
|
+
const effectiveProps = createMemo(() => {
|
|
45
|
+
let baseProps = {
|
|
46
|
+
...defaultProps
|
|
47
|
+
};
|
|
48
|
+
for (const [key, value] of Object.entries(otherProps)) {
|
|
49
|
+
if (value !== void 0) {
|
|
50
|
+
baseProps[key] = value;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return baseProps;
|
|
54
|
+
});
|
|
55
|
+
const effectiveTransform = createMemo(() => ({
|
|
56
|
+
...DEFAULT_TRANSFORM,
|
|
57
|
+
...props.transform
|
|
58
|
+
}));
|
|
59
|
+
let uniformsMap = null;
|
|
60
|
+
const getUniformsMap = () => {
|
|
61
|
+
if (!uniformsMap) {
|
|
62
|
+
uniformsMap = createUniformsMap(componentDefinition, effectiveProps(), instanceId);
|
|
63
|
+
}
|
|
64
|
+
return uniformsMap;
|
|
65
|
+
};
|
|
66
|
+
const childContextValue = createMemo(() => ({
|
|
67
|
+
...context,
|
|
68
|
+
shaderParentId: instanceId
|
|
69
|
+
}));
|
|
70
|
+
let isRegistered = false;
|
|
71
|
+
onMount(() => {
|
|
72
|
+
const uniforms = getUniformsMap();
|
|
73
|
+
if (!uniforms) return;
|
|
74
|
+
try {
|
|
75
|
+
const metadata = {
|
|
76
|
+
blendMode: props.blendMode || "normal",
|
|
77
|
+
opacity: props.opacity,
|
|
78
|
+
visible: props.visible === false ? false : true,
|
|
79
|
+
id: props.id,
|
|
80
|
+
mask: props.maskSource ? {
|
|
81
|
+
source: props.maskSource,
|
|
82
|
+
type: props.maskType || "alpha"
|
|
83
|
+
} : void 0,
|
|
84
|
+
renderOrder: props.renderOrder || 0,
|
|
85
|
+
transform: effectiveTransform()
|
|
86
|
+
};
|
|
87
|
+
parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniforms, componentDefinition);
|
|
88
|
+
isRegistered = true;
|
|
89
|
+
} catch (error) {
|
|
90
|
+
console.error("Error registering shader node:", error);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
onCleanup(() => {
|
|
94
|
+
isRegistered = false;
|
|
95
|
+
parentRegister(instanceId, null, null, null, null);
|
|
96
|
+
});
|
|
97
|
+
createEffect(() => {
|
|
98
|
+
if (!isRegistered) return;
|
|
99
|
+
const uniforms = getUniformsMap();
|
|
100
|
+
if (!uniforms) return;
|
|
101
|
+
try {
|
|
102
|
+
const props_snapshot = effectiveProps();
|
|
103
|
+
Object.entries(uniforms).forEach(([propName, uniformData]) => {
|
|
104
|
+
if (!uniformData || typeof uniformData !== "object") return;
|
|
105
|
+
const {
|
|
106
|
+
uniform
|
|
107
|
+
} = uniformData;
|
|
108
|
+
if ((uniform == null ? void 0 : uniform.value) !== void 0 && propName in props_snapshot) {
|
|
109
|
+
const newValue = props_snapshot[propName];
|
|
110
|
+
parentUniformUpdate(instanceId, propName, newValue);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
} catch (error) {
|
|
114
|
+
console.error("Error updating uniforms:", error);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
createEffect(() => {
|
|
118
|
+
if (!isRegistered) return;
|
|
119
|
+
try {
|
|
120
|
+
const metadata = {
|
|
121
|
+
blendMode: props.blendMode || "normal",
|
|
122
|
+
opacity: props.opacity,
|
|
123
|
+
visible: props.visible === false ? false : true,
|
|
124
|
+
id: props.id,
|
|
125
|
+
mask: props.maskSource ? {
|
|
126
|
+
source: props.maskSource,
|
|
127
|
+
type: props.maskType || "alpha"
|
|
128
|
+
} : void 0,
|
|
129
|
+
renderOrder: props.renderOrder || 0,
|
|
130
|
+
transform: effectiveTransform()
|
|
131
|
+
};
|
|
132
|
+
parentMetadataUpdate(instanceId, metadata);
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.error("Error updating metadata:", error);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
return createComponent(ShaderContext.Provider, {
|
|
138
|
+
get value() {
|
|
139
|
+
return childContextValue();
|
|
140
|
+
},
|
|
141
|
+
get children() {
|
|
142
|
+
return local.children;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
export {
|
|
147
|
+
ShaderComponent as default
|
|
148
|
+
};
|