shaders 3.2.475 → 4.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/LICENSE +21 -142
- package/README.md +192 -19
- package/dist/cli.js +2 -2
- package/dist/core/{AngularBlur-Cx1HVeYk.js → AngularBlur-BEBs-lRR.js} +2 -3
- package/dist/core/{Arc-D3FuqnDL.js → Arc-D-WnjM7T.js} +1 -3
- package/dist/core/{Ascii-Dhn0H0LB.js → Ascii-BGPIwMc3.js} +2 -5
- package/dist/core/{Aurora-BUfyvIyq.js → Aurora-DqJBPdMQ.js} +2 -11
- package/dist/core/{BarShift-v3D-9Lx4.js → BarShift-BcCOweUh.js} +2 -3
- package/dist/core/{BarnDoors-C5g6Sbze.js → BarnDoors-B9B-AmCV.js} +2 -3
- package/dist/core/{Beam-CV5g8m92.js → Beam-QG_9OS8I.js} +2 -3
- package/dist/core/{Bend-BFWQSHF7.js → Bend-Cy9VAowL.js} +1 -2
- package/dist/core/{Blob-CLvqov4O.js → Blob-C3txJeW0.js} +2 -10
- package/dist/core/{BlockDissolve-DER9y4PE.js → BlockDissolve-C1SFUys7.js} +2 -3
- package/dist/core/{BlockNoise-DpXWJkDL.js → BlockNoise-Cm3y8hce.js} +2 -4
- package/dist/core/{BlueNoise-CSQPDpkm.js → BlueNoise-BCLObOMm.js} +2 -4
- package/dist/core/{Blur-B-Tg7Sfr.js → Blur-Dg29SnXd.js} +1 -2
- package/dist/core/{Boids-BZo85-QR.js → Boids-rsGsPN5h.js} +2 -5
- package/dist/core/{BokehBlur-B1tY-T6q.js → BokehBlur-rFSFEnb0.js} +2 -3
- package/dist/core/{BrickPattern-DVhe3RgK.js → BrickPattern-DqN6JKEN.js} +2 -3
- package/dist/core/{BrightnessContrast-DBLjHzyE.js → BrightnessContrast-J9fCSBiC.js} +1 -3
- package/dist/core/{BrushedMetal-CpXTd3nZ.js → BrushedMetal-74wSZKjG.js} +3 -8
- package/dist/core/{Bulge-CHcE-9Oo.js → Bulge-BIk0oq8j.js} +1 -2
- package/dist/core/{CRTScreen-CyBtBJS4.js → CRTScreen-hEH-JNRd.js} +2 -3
- package/dist/core/{CarbonFiber-DK-0jUEs.js → CarbonFiber-CZdUDvRU.js} +3 -7
- package/dist/core/{Chalkboard-PmgH_OhS.js → Chalkboard-CClJHqvs.js} +2 -3
- package/dist/core/{ChannelBlur-J3MHHcGy.js → ChannelBlur-BEuEwQOC.js} +1 -2
- package/dist/core/{CheckerWipe-Dj2kjjDA.js → CheckerWipe-KuAWj2qg.js} +2 -3
- package/dist/core/{Checkerboard-eFWETR1S.js → Checkerboard-Rq9ze1W3.js} +2 -3
- package/dist/core/{Chevron-ColsT0Fy.js → Chevron-C1j6X2Ye.js} +2 -3
- package/dist/core/{ChromaFlow-DrdCgPGz.js → ChromaFlow-BgsCUYIl.js} +2 -5
- package/dist/core/{ChromaticAberration-C_It6mLf.js → ChromaticAberration-2_4tjQ0u.js} +2 -4
- package/dist/core/{Chrome-2WZpUHiT.js → Chrome-Be3z6C5i.js} +4 -10
- package/dist/core/{Circle-C-AKxSw4.js → Circle-e_qQI3tU.js} +1 -3
- package/dist/core/{ColorWheel-DfF0tqXE.js → ColorWheel-s5ep1H7d.js} +2 -3
- package/dist/core/{CompressionArtifacts-Zvwlutd7.js → CompressionArtifacts-OE9U9Qrq.js} +1 -3
- package/dist/core/{ConcentricSpin-tC8mylMA.js → ConcentricSpin-CLE_5yCJ.js} +1 -2
- package/dist/core/{ConicGradient-CNYvyjSs.js → ConicGradient-Cji2SgVO.js} +2 -4
- package/dist/core/{ContourLines-C4642NJd.js → ContourLines-wpPK00cF.js} +2 -3
- package/dist/core/{CornerPin-BF5gFRv9.js → CornerPin-gYU0Uf2m.js} +2 -3
- package/dist/core/{Crescent-wC0IwPjx.js → Crescent-viNc7Unp.js} +1 -2
- package/dist/core/{Cross-BO7JQKSq.js → Cross-DyQSsw_k.js} +1 -2
- package/dist/core/{Crystal-BK3ifbmV.js → Crystal-Vjj8azWg.js} +4 -9
- package/dist/core/{CurlNoise-UbI-Zda_.js → CurlNoise-C7PHjDht.js} +2 -4
- package/dist/core/{CursorRipples-rJlfKhyh.js → CursorRipples-BzPPNkA3.js} +3 -39
- package/dist/core/{CursorTrail-BuyQdFKJ.js → CursorTrail-cBj0AuQA.js} +2 -4
- package/dist/core/{DataMosh-C_ZI55Qq.js → DataMosh-5Yr9TyVx.js} +1 -3
- package/dist/core/{DiamondGradient-CPhUCUoq.js → DiamondGradient-DZM7HwF5.js} +2 -4
- package/dist/core/{DiamondWipe-y6uIpJM4.js → DiamondWipe-CqeT7lCt.js} +2 -3
- package/dist/core/{DiffuseBlur-BNxowfOL.js → DiffuseBlur-Y5hSDTZF.js} +2 -3
- package/dist/core/{DisplacementMap-BuM2b1nC.js → DisplacementMap-FobRx5Ie.js} +2 -3
- package/dist/core/{Dither-Bt1qdRag.js → Dither-50rqHpt9.js} +2 -3
- package/dist/core/{DotGrid-DJFnwMVS.js → DotGrid-B6AGLUbR.js} +3 -4
- package/dist/core/{DropShadow-C-IfgfyH.js → DropShadow-CEPpgatB.js} +2 -3
- package/dist/core/{Duotone-DML_9JhJ.js → Duotone-D76Kp7Pb.js} +2 -3
- package/dist/core/{Ellipse-BuNUnN8D.js → Ellipse-BGod1LeG.js} +1 -2
- package/dist/core/{Emboss-DvKk4zwp.js → Emboss-DMNFb_ww.js} +3 -6
- package/dist/core/{Engraving-DPFVnIjD.js → Engraving-Dj7bCATQ.js} +2 -3
- package/dist/core/{ErosionNoise-j_b7a5cl.js → ErosionNoise-4O68wJQZ.js} +2 -4
- package/dist/core/{Exposure-DALA5K55.js → Exposure-h-vapOpj.js} +1 -3
- package/dist/core/{FallingLines-CeMOKpxK.js → FallingLines-Dzop_89k.js} +2 -3
- package/dist/core/{FilmGrain-DsDYCjjs.js → FilmGrain-Bs8PCfdf.js} +1 -3
- package/dist/core/{FilmStock-DtDMkwF6.js → FilmStock-DBjVo6rL.js} +1 -4
- package/dist/core/{Flip-B9Av9MVn.js → Flip-CfrS4KfZ.js} +2 -3
- package/dist/core/{FloatingParticles-BcMOBX1m.js → FloatingParticles-D1R2tD2J.js} +2 -5
- package/dist/core/{FlowField-BunLIU80.js → FlowField-Slirm5AI.js} +2 -3
- package/dist/core/{Flower-CvqBYUCU.js → Flower-Ddlut7QZ.js} +1 -2
- package/dist/core/{FlowingGradient-DQ284uMb.js → FlowingGradient-CwIgTtbj.js} +2 -7
- package/dist/core/{FlutedGlass-BP7av96Y.js → FlutedGlass-CMMy2GJ5.js} +2 -4
- package/dist/core/{Fog-DyyljY9e.js → Fog-DjjUkcTZ.js} +2 -4
- package/dist/core/{Form3D-x-G-Lz4z.js → Form3D-DQDOHWpC.js} +2 -4
- package/dist/core/{FractalNoise-DTgEv-Hq.js → FractalNoise-BjI3IOIj.js} +2 -4
- package/dist/core/{Frost-BhMELsXw.js → Frost-CK12HnL1.js} +3 -8
- package/dist/core/{GaborNoise-B7kmxcRZ.js → GaborNoise-DKEIvvRJ.js} +3 -5
- package/dist/core/{Glass-BMCOKCUL.js → Glass-CzcOVD5Y.js} +3 -8
- package/dist/core/{GlassTiles-DgVooh8h.js → GlassTiles-gjhc563g.js} +1 -2
- package/dist/core/{Glitch-D0pvMdGd.js → Glitch-C_XAWltC.js} +1 -2
- package/dist/core/{Glow-CJ3i0al6.js → Glow-CrYCanBI.js} +1 -3
- package/dist/core/{Godrays-DOV1VQ9x.js → Godrays-BBTMOVLP.js} +2 -3
- package/dist/core/{Goo-sMwsU21Y.js → Goo-Brhjk8aS.js} +3 -8
- package/dist/core/{GradientMap-CCuimQDS.js → GradientMap-C5325QWw.js} +2 -4
- package/dist/core/{Grayscale-DR1xnpde.js → Grayscale-dPjs-wvf.js} +1 -2
- package/dist/core/{Grid-CCUodqje.js → Grid-UjEd3O76.js} +3 -4
- package/dist/core/{GridDistortion-DUnC2Z_Y.js → GridDistortion-vVgYya1U.js} +1 -5
- package/dist/core/{Group--MS8ZNKg.js → Group-KVdmAi5g.js} +1 -1
- package/dist/core/{HTMLInCanvas-D_Rc6bs1.js → HTMLInCanvas-CKr2u76R.js} +1 -2
- package/dist/core/{Halftone-CG1LNQkk.js → Halftone-pRV3TRUW.js} +2 -3
- package/dist/core/{Heart-qPxh2CWp.js → Heart-CX7MvvHZ.js} +1 -2
- package/dist/core/{Heatmap-BZDfR2vC.js → Heatmap-Dn6qyd2e.js} +3 -8
- package/dist/core/{HexGrid-DquaiXLF.js → HexGrid-BIfYhkfV.js} +3 -4
- package/dist/core/{Hologram-JAXPZFx0.js → Hologram-ou27baPQ.js} +3 -7
- package/dist/core/{Holographic-BBHJp93D.js → Holographic-CiHdBSMg.js} +3 -7
- package/dist/core/{HueShift-a1Hl7gFy.js → HueShift-CG7pcXfg.js} +1 -3
- package/dist/core/{ImageTexture-CLW3uX1b.js → ImageTexture-BiZuU58C.js} +1 -2
- package/dist/core/{InkFlow-Dfd_5vYf.js → InkFlow-D9_L7opB.js} +2 -5
- package/dist/core/{Invert-DBEURmcL.js → Invert-CHEaiQZO.js} +1 -2
- package/dist/core/{IrisWipe-DTlGb8v-.js → IrisWipe-x22vOQHm.js} +2 -3
- package/dist/core/Irradiance-7yq2K87_.js +389 -0
- package/dist/core/{IsometricCubes-BgmQXJXU.js → IsometricCubes-CkPGWr7M.js} +2 -3
- package/dist/core/{Kaleidoscope-0adfaQ5F.js → Kaleidoscope-CEC5m1Ww.js} +1 -2
- package/dist/core/{KeyFrames-BqANGVzW.js → KeyFrames-BMGEZsAZ.js} +2 -3
- package/dist/core/{LensDistortion-DVRKCZv8.js → LensDistortion-DKo8PiO5.js} +2 -3
- package/dist/core/{LensFlare-C41jY4jH.js → LensFlare-DMS-NUtK.js} +2 -3
- package/dist/core/LightEdge-DxmnCRls.js +315 -0
- package/dist/core/{LightLeak-GWrDFcI_.js → LightLeak-yoEsZtYg.js} +2 -4
- package/dist/core/{Line-DuV7dLdM.js → Line-D17XDUjO.js} +2 -3
- package/dist/core/{LinearBlur-Bft2CjmO.js → LinearBlur-CiyjPTUH.js} +2 -3
- package/dist/core/{LinearGradient-BzIE4ReW.js → LinearGradient-DfjKG70q.js} +2 -4
- package/dist/core/{LinearWipe-ArRG9OCp.js → LinearWipe-D9CtBg6S.js} +2 -3
- package/dist/core/{LiquidMetal-BgvfhyiQ.js → LiquidMetal-8EG6DwV6.js} +3 -8
- package/dist/core/{Liquify-B6EigQqP.js → Liquify-BySXF1OB.js} +1 -4
- package/dist/core/{MagneticFilings-Dj35dlIq.js → MagneticFilings-DNESH3Zs.js} +2 -5
- package/dist/core/{Marble-0kfSSCDj.js → Marble-C9WvdxrP.js} +2 -7
- package/dist/core/{MeshGradient-DY_rUhFv.js → MeshGradient-d9--RXOU.js} +2 -10
- package/dist/core/{Mirror-C1AIyKmb.js → Mirror-1V2FF2kD.js} +1 -2
- package/dist/core/{MultiPointGradient-B9z1J-d8.js → MultiPointGradient-cRA9ytgL.js} +2 -3
- package/dist/core/{Nebula-mZDwq-yl.js → Nebula-BRV-q74y.js} +4 -87
- package/dist/core/{Neon-CyQE26dS.js → Neon-4PemK9Rj.js} +3 -6
- package/dist/core/{NoiseDissolve-DQbBbxlP.js → NoiseDissolve-B7LgD46G.js} +2 -3
- package/dist/core/{ObjectTracker-CZd20LeZ.js → ObjectTracker-CdzDxhpy.js} +2 -3
- package/dist/core/{Obsidian-CjKezopV.js → Obsidian-2J1eX9kT.js} +3 -9
- package/dist/core/{PagePeel-ulnjqZzc.js → PagePeel-D-ziraOm.js} +1 -2
- package/dist/core/{Paper-c_1INiUk.js → Paper-BxzCLyzB.js} +1 -2
- package/dist/core/{Parallelogram-CnjzV4-0.js → Parallelogram-D4OflTwn.js} +1 -2
- package/dist/core/{ParticleField-yJztI6Ts.js → ParticleField-tWNicEDO.js} +1 -4
- package/dist/core/{ParticleFlow-DJYrNrb8.js → ParticleFlow-BiEYFyWR.js} +2 -6
- package/dist/core/{Particles-kT-8Aj5V.js → Particles-B7W4yWgo.js} +3 -7
- package/dist/core/{PerlinNoise-C_Pczp28.js → PerlinNoise-C-irUxp9.js} +3 -5
- package/dist/core/{Perspective-BrbfuYVk.js → Perspective-DlnAW-pe.js} +2 -3
- package/dist/core/{PixelSort-DoTMcLz4.js → PixelSort-BBOTYuOE.js} +1 -4
- package/dist/core/{PixelThrow-B8pxI6sI.js → PixelThrow-DCJb9Lxd.js} +2 -4
- package/dist/core/{Pixelate-DCU9U9Wb.js → Pixelate-CZdwB--K.js} +1 -2
- package/dist/core/{Plasma-Xe1I1Mmb.js → Plasma-CTOQJeqy.js} +2 -4
- package/dist/core/{Plastic-Ce9dVqPq.js → Plastic-DvyH9x-4.js} +3 -8
- package/dist/core/{PolarCoordinates-mtOsxdGf.js → PolarCoordinates-XhdDAOD0.js} +1 -2
- package/dist/core/{Polygon-Cv63keGU.js → Polygon-CLohB-Ly.js} +2 -4
- package/dist/core/{Posterize-QhGDzUuf.js → Posterize-BAQfnvmK.js} +1 -2
- package/dist/core/{Prism-DOXMcTrS.js → Prism-DJVCVAXX.js} +2 -6
- package/dist/core/{ProgressiveBlur-sSQrxqcr.js → ProgressiveBlur-Dirva1on.js} +2 -3
- package/dist/core/{RadialGradient-DWTDAQnq.js → RadialGradient-DuSKR8Ds.js} +2 -4
- package/dist/core/{RadialWipe-HfofRhY0.js → RadialWipe-n8tON7x2.js} +2 -3
- package/dist/core/{RandomBars-DspX9Utc.js → RandomBars-BYouiIgQ.js} +2 -3
- package/dist/core/{ReactionDiffusion-GsRfnqUY.js → ReactionDiffusion-CHDd3y2q.js} +2 -5
- package/dist/core/{RectangularCoordinates-DhPRrTPT.js → RectangularCoordinates-CYFfCawa.js} +1 -2
- package/dist/core/{ReflectivePlane-ej7XTkZ-.js → ReflectivePlane-DFTl5U9q.js} +2 -3
- package/dist/core/Repeater-CnbzXuAe.js +473 -0
- package/dist/core/{Ring-CC1LC05E.js → Ring-CGkHVSVd.js} +1 -2
- package/dist/core/{RippleWipe-CmmIx59a.js → RippleWipe-DLjPzY6u.js} +2 -3
- package/dist/core/{Ripples-ColS9_ej.js → Ripples-C2tITU62.js} +2 -3
- package/dist/core/{RoundedRect-BCL_4FLA.js → RoundedRect-sfNTUaCY.js} +1 -2
- package/dist/core/{Saturation-E77lSl0T.js → Saturation-BRkifYWj.js} +1 -3
- package/dist/core/{Scratches-ZHohp7K4.js → Scratches-D87O5C2K.js} +2 -4
- package/dist/core/{Sharpness-CgNxIvCA.js → Sharpness-BGv613Zw.js} +1 -3
- package/dist/core/Shatter-DuyCFU1f.js +328 -0
- package/dist/core/{SimplexNoise-CZf812YP.js → SimplexNoise-CQJvmqd-.js} +2 -4
- package/dist/core/{SineWave-CVHPlsdX.js → SineWave-BfOgSGMP.js} +2 -3
- package/dist/core/{SliceWipe-4Y_DLO0N.js → SliceWipe-CD_D99sl.js} +1 -2
- package/dist/core/{Smoke-CzjvGgBl.js → Smoke-BDQYKRP1.js} +2 -4
- package/dist/core/{SmokeFill-DkMjXE-D.js → SmokeFill-CPnzQtQv.js} +3 -8
- package/dist/core/{SmokeFlow-DQMNHV2s.js → SmokeFlow-BkPMjZq8.js} +2 -4
- package/dist/core/{Solarize-DmhOkKoO.js → Solarize-DSiS32QS.js} +1 -3
- package/dist/core/{SolidColor-CyYoqgG3.js → SolidColor-DEKpgy1c.js} +2 -3
- package/dist/core/Sparkle-BZur6gPW.js +178 -0
- package/dist/core/{Spherize-D2gNetxE.js → Spherize-D9Yg4n6O.js} +2 -3
- package/dist/core/{Spiral-BCO6OJXU.js → Spiral-BCacfEpT.js} +2 -3
- package/dist/core/{Star-9JERbdHT.js → Star-Dnw1ihk7.js} +1 -2
- package/dist/core/{Stone-92McvPwz.js → Stone-Cje-_vAg.js} +1 -3
- package/dist/core/{Strands-B6NfRExJ.js → Strands-CFRxS1G_.js} +2 -4
- package/dist/core/{Stretch-DbUOkCav.js → Stretch-DXVhfIqO.js} +1 -2
- package/dist/core/{Stripes-BG2zbwGV.js → Stripes-CCADWwyq.js} +2 -3
- package/dist/core/{StudioBackground-tpZpD080.js → StudioBackground-BlzYNAsu.js} +2 -6
- package/dist/core/{SunBurst-BMH4MKRL.js → SunBurst-CmWbI18r.js} +2 -3
- package/dist/core/{Surface3D-DUZMTBel.js → Surface3D-Dmh98-0V.js} +2 -6
- package/dist/core/{Swirl-CzOPAKx8.js → Swirl-CzI1qSVc.js} +2 -4
- package/dist/core/{Teardrop-aOr2VYQI.js → Teardrop-D24uulL0.js} +1 -2
- package/dist/core/{Text-CV3Lr3m0.js → Text-CrZKvBw6.js} +2 -6
- package/dist/core/{ThinFilm-CYOodpsx.js → ThinFilm-D7R2dt1O.js} +3 -6
- package/dist/core/{TiltShift-Cv80ZHW3.js → TiltShift-AMMDZBvf.js} +2 -3
- package/dist/core/{TimeTrail-fvJO2a1q.js → TimeTrail-BCYDP2ep.js} +2 -6
- package/dist/core/{Tint-D4m85tFF.js → Tint-DHb5wBN5.js} +2 -3
- package/dist/core/{Trapezoid-B-PkXCCJ.js → Trapezoid-CL5Fxvq7.js} +1 -2
- package/dist/core/{TriangularGrid-hMfK10up.js → TriangularGrid-Bp-SJS-H.js} +2 -3
- package/dist/core/{Tritone-n1wNQ1dI.js → Tritone-C0nx7OdC.js} +2 -3
- package/dist/core/{Truchet-BhmcbIE9.js → Truchet-DCetyDaq.js} +2 -3
- package/dist/core/{Twirl-D8gALHXr.js → Twirl-D_mv9KEi.js} +1 -2
- package/dist/core/{VHS-CaqSB2Op.js → VHS-Cp9aDjti.js} +1 -2
- package/dist/core/{VenetianBlinds-B1-WjIeY.js → VenetianBlinds-DUyvaT5w.js} +2 -3
- package/dist/core/{Vesica-Gh1CMA7n.js → Vesica-BpzrTPTA.js} +1 -2
- package/dist/core/{Vibrance-ixBSdj4B.js → Vibrance-DW3J-pvW.js} +1 -3
- package/dist/core/{VideoTexture-DVQ1YsW2.js → VideoTexture-zoKsSrex.js} +1 -2
- package/dist/core/{Vignette-B9v8l0So.js → Vignette-KKbP3qdZ.js} +2 -5
- package/dist/core/{Voronoi-CIHogO9V.js → Voronoi-Bp2-U6lm.js} +2 -5
- package/dist/core/Voxels-B3e3LHH5.js +469 -0
- package/dist/core/{Water-Dh4UB4UF.js → Water-CoYwvqKx.js} +3 -8
- package/dist/core/{Watercolor-C70_K8Lv.js → Watercolor-DUNjSIN1.js} +2 -4
- package/dist/core/{WaveDistortion-BCKxUa-p.js → WaveDistortion-Dp8ws0z1.js} +1 -2
- package/dist/core/{Waveform-BKMFhH8R.js → Waveform-DDBLB6zu.js} +2 -9
- package/dist/core/{WaveletNoise-CFpncHiR.js → WaveletNoise-CpBkzfRT.js} +2 -4
- package/dist/core/{Weave-CYgbepeB.js → Weave-cWkvSEAy.js} +2 -3
- package/dist/core/{WebcamTexture-B0vkMk_l.js → WebcamTexture-D484SXSE.js} +1 -2
- package/dist/core/{Wool-CLkJUMng.js → Wool-C9L7O9fD.js} +1 -3
- package/dist/core/{WorleyNoise-BxznxOxV.js → WorleyNoise-B5j5lDQZ.js} +2 -3
- package/dist/core/{ZoomBlur-DtujxMsW.js → ZoomBlur-bPC1dBu2.js} +2 -3
- package/dist/core/customShaders.d.ts +71 -0
- package/dist/core/customShaders.d.ts.map +1 -0
- package/dist/core/docs-manifest.json +29177 -0
- package/dist/core/gpu/composer.d.ts +2 -0
- package/dist/core/gpu/composer.d.ts.map +1 -1
- package/dist/core/gpu/contract.d.ts +15 -0
- package/dist/core/gpu/contract.d.ts.map +1 -1
- package/dist/core/gpu/frame.d.ts +5 -2
- package/dist/core/gpu/frame.d.ts.map +1 -1
- package/dist/core/gpu/index.d.ts.map +1 -1
- package/dist/core/gpu/kit/waves.d.ts +6 -0
- package/dist/core/gpu/kit/waves.d.ts.map +1 -1
- package/dist/core/gpu/scaffolds/sdfShape.d.ts +1 -1
- package/dist/core/gpu/scaffolds/sdfShape.d.ts.map +1 -1
- package/dist/core/gpu/support.d.ts +12 -0
- package/dist/core/gpu/support.d.ts.map +1 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +238 -255
- package/dist/core/llms.txt +1558 -0
- package/dist/core/{noiseColor-_P7nIu_L.js → noiseColor-D_bPhJ4m.js} +2 -2
- package/dist/core/presetRenderer.d.ts +4 -0
- package/dist/core/presetRenderer.d.ts.map +1 -1
- package/dist/core/registry.js +204 -248
- package/dist/core/shaderRegistry-BaozBFyh.js +445 -0
- package/dist/core/shaderRegistry.d.ts.map +1 -1
- package/dist/core/shaders/AngularBlur/index.d.ts +1 -1
- package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/AngularBlur/index.js +4 -10
- package/dist/core/shaders/Arc/index.js +4 -6
- package/dist/core/shaders/Ascii/index.d.ts +1 -1
- package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
- package/dist/core/shaders/Ascii/index.js +4 -11
- package/dist/core/shaders/Aurora/index.js +4 -21
- package/dist/core/shaders/BarShift/index.js +4 -8
- package/dist/core/shaders/BarnDoors/index.js +4 -7
- package/dist/core/shaders/Beam/index.js +4 -11
- package/dist/core/shaders/Bend/index.js +4 -8
- package/dist/core/shaders/Blob/index.js +4 -18
- package/dist/core/shaders/BlockDissolve/index.js +4 -7
- package/dist/core/shaders/BlockNoise/index.d.ts +1 -1
- package/dist/core/shaders/BlockNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/BlockNoise/index.js +5 -14
- package/dist/core/shaders/BlueNoise/index.d.ts +1 -1
- package/dist/core/shaders/BlueNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/BlueNoise/index.js +5 -14
- package/dist/core/shaders/Blur/index.d.ts +1 -1
- package/dist/core/shaders/Blur/index.d.ts.map +1 -1
- package/dist/core/shaders/Blur/index.js +4 -10
- package/dist/core/shaders/Boids/index.js +4 -9
- package/dist/core/shaders/BokehBlur/index.js +4 -10
- package/dist/core/shaders/BrickPattern/index.d.ts +1 -1
- package/dist/core/shaders/BrickPattern/index.d.ts.map +1 -1
- package/dist/core/shaders/BrickPattern/index.js +4 -13
- package/dist/core/shaders/BrightnessContrast/index.js +4 -7
- package/dist/core/shaders/BrushedMetal/index.js +4 -11
- package/dist/core/shaders/Bulge/index.js +4 -8
- package/dist/core/shaders/CRTScreen/index.d.ts +2 -2
- package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
- package/dist/core/shaders/CRTScreen/index.js +4 -10
- package/dist/core/shaders/CarbonFiber/index.js +4 -11
- package/dist/core/shaders/Chalkboard/index.d.ts +1 -1
- package/dist/core/shaders/Chalkboard/index.d.ts.map +1 -1
- package/dist/core/shaders/Chalkboard/index.js +4 -9
- package/dist/core/shaders/ChannelBlur/index.d.ts +1 -1
- package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ChannelBlur/index.js +4 -10
- package/dist/core/shaders/CheckerWipe/index.js +4 -7
- package/dist/core/shaders/Checkerboard/index.d.ts +1 -1
- package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
- package/dist/core/shaders/Checkerboard/index.js +4 -13
- package/dist/core/shaders/Chevron/index.d.ts +1 -1
- package/dist/core/shaders/Chevron/index.d.ts.map +1 -1
- package/dist/core/shaders/Chevron/index.js +4 -13
- package/dist/core/shaders/ChromaFlow/index.js +4 -8
- package/dist/core/shaders/ChromaticAberration/index.js +4 -11
- package/dist/core/shaders/Chrome/index.js +4 -10
- package/dist/core/shaders/Circle/index.js +4 -6
- package/dist/core/shaders/ColorWheel/index.js +4 -11
- package/dist/core/shaders/CompressionArtifacts/index.js +4 -7
- package/dist/core/shaders/ConcentricSpin/index.js +4 -8
- package/dist/core/shaders/ConicGradient/index.js +4 -11
- package/dist/core/shaders/ContourLines/index.js +4 -6
- package/dist/core/shaders/CornerPin/index.js +4 -8
- package/dist/core/shaders/Crescent/index.js +4 -5
- package/dist/core/shaders/Cross/index.js +4 -5
- package/dist/core/shaders/Crystal/index.js +4 -11
- package/dist/core/shaders/CurlNoise/index.d.ts +1 -1
- package/dist/core/shaders/CurlNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/CurlNoise/index.js +5 -14
- package/dist/core/shaders/CursorRipples/index.js +4 -7
- package/dist/core/shaders/CursorTrail/index.js +4 -7
- package/dist/core/shaders/DataMosh/index.js +4 -7
- package/dist/core/shaders/DiamondGradient/index.js +4 -11
- package/dist/core/shaders/DiamondWipe/index.js +4 -7
- package/dist/core/shaders/DiffuseBlur/index.d.ts +1 -1
- package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/DiffuseBlur/index.js +4 -10
- package/dist/core/shaders/DisplacementMap/index.js +4 -8
- package/dist/core/shaders/Dither/index.d.ts +1 -1
- package/dist/core/shaders/Dither/index.d.ts.map +1 -1
- package/dist/core/shaders/Dither/index.js +4 -13
- package/dist/core/shaders/DotGrid/index.d.ts +2 -2
- package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
- package/dist/core/shaders/DotGrid/index.js +4 -13
- package/dist/core/shaders/DropShadow/index.d.ts +1 -1
- package/dist/core/shaders/DropShadow/index.d.ts.map +1 -1
- package/dist/core/shaders/DropShadow/index.js +4 -10
- package/dist/core/shaders/Duotone/index.js +4 -6
- package/dist/core/shaders/Ellipse/index.js +4 -5
- package/dist/core/shaders/Emboss/index.js +4 -9
- package/dist/core/shaders/Engraving/index.js +4 -9
- package/dist/core/shaders/ErosionNoise/index.d.ts +1 -1
- package/dist/core/shaders/ErosionNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/ErosionNoise/index.js +5 -14
- package/dist/core/shaders/Exposure/index.js +4 -7
- package/dist/core/shaders/FallingLines/index.d.ts +1 -1
- package/dist/core/shaders/FallingLines/index.d.ts.map +1 -1
- package/dist/core/shaders/FallingLines/index.js +4 -13
- package/dist/core/shaders/FilmGrain/index.js +4 -7
- package/dist/core/shaders/FilmStock/index.js +4 -13
- package/dist/core/shaders/Flip/index.js +4 -8
- package/dist/core/shaders/FloatingParticles/index.d.ts +1 -1
- package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
- package/dist/core/shaders/FloatingParticles/index.js +4 -9
- package/dist/core/shaders/FlowField/index.js +4 -8
- package/dist/core/shaders/Flower/index.js +4 -5
- package/dist/core/shaders/FlowingGradient/index.js +4 -15
- package/dist/core/shaders/FlutedGlass/index.js +4 -11
- package/dist/core/shaders/Fog/index.js +4 -7
- package/dist/core/shaders/Form3D/index.js +4 -7
- package/dist/core/shaders/FractalNoise/index.d.ts +1 -1
- package/dist/core/shaders/FractalNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/FractalNoise/index.js +4 -13
- package/dist/core/shaders/Frost/index.js +4 -11
- package/dist/core/shaders/GaborNoise/index.d.ts +2 -2
- package/dist/core/shaders/GaborNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/GaborNoise/index.js +5 -14
- package/dist/core/shaders/Glass/index.js +4 -11
- 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 +4 -8
- package/dist/core/shaders/Glitch/index.d.ts +1 -1
- package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
- package/dist/core/shaders/Glitch/index.js +4 -10
- package/dist/core/shaders/Glow/index.d.ts +1 -1
- package/dist/core/shaders/Glow/index.d.ts.map +1 -1
- package/dist/core/shaders/Glow/index.js +4 -11
- package/dist/core/shaders/Godrays/index.js +4 -12
- package/dist/core/shaders/Goo/index.js +4 -11
- package/dist/core/shaders/GradientMap/index.js +4 -7
- package/dist/core/shaders/Grayscale/index.js +4 -6
- package/dist/core/shaders/Grid/index.d.ts +2 -2
- package/dist/core/shaders/Grid/index.d.ts.map +1 -1
- package/dist/core/shaders/Grid/index.js +4 -13
- package/dist/core/shaders/GridDistortion/index.js +4 -11
- package/dist/core/shaders/Group/index.js +4 -6
- package/dist/core/shaders/HTMLInCanvas/index.js +4 -7
- package/dist/core/shaders/Halftone/index.d.ts +1 -1
- package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
- package/dist/core/shaders/Halftone/index.js +4 -13
- package/dist/core/shaders/Heart/index.js +4 -5
- package/dist/core/shaders/Heatmap/index.js +4 -11
- package/dist/core/shaders/HexGrid/index.d.ts +2 -2
- package/dist/core/shaders/HexGrid/index.d.ts.map +1 -1
- package/dist/core/shaders/HexGrid/index.js +4 -13
- package/dist/core/shaders/Hologram/index.js +4 -10
- package/dist/core/shaders/Holographic/index.js +4 -10
- package/dist/core/shaders/HueShift/index.js +4 -7
- package/dist/core/shaders/ImageTexture/index.js +4 -6
- package/dist/core/shaders/InkFlow/index.js +4 -8
- package/dist/core/shaders/Invert/index.js +4 -6
- package/dist/core/shaders/IrisWipe/index.js +4 -7
- package/dist/core/shaders/Irradiance/index.js +4 -13
- package/dist/core/shaders/IsometricCubes/index.d.ts +1 -1
- package/dist/core/shaders/IsometricCubes/index.d.ts.map +1 -1
- package/dist/core/shaders/IsometricCubes/index.js +4 -13
- package/dist/core/shaders/Kaleidoscope/index.js +4 -8
- package/dist/core/shaders/KeyFrames/index.js +4 -10
- package/dist/core/shaders/LensDistortion/index.js +4 -6
- package/dist/core/shaders/LensFlare/index.d.ts +1 -1
- package/dist/core/shaders/LensFlare/index.d.ts.map +1 -1
- package/dist/core/shaders/LensFlare/index.js +4 -12
- package/dist/core/shaders/LightEdge/index.js +4 -10
- package/dist/core/shaders/LightLeak/index.js +4 -12
- package/dist/core/shaders/Line/index.js +4 -10
- package/dist/core/shaders/LinearBlur/index.d.ts +1 -1
- package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/LinearBlur/index.js +4 -10
- package/dist/core/shaders/LinearGradient/index.js +4 -11
- package/dist/core/shaders/LinearWipe/index.js +4 -7
- package/dist/core/shaders/LiquidMetal/index.js +4 -11
- package/dist/core/shaders/Liquify/index.js +4 -10
- package/dist/core/shaders/MagneticFilings/index.js +4 -9
- package/dist/core/shaders/Marble/index.d.ts +1 -1
- package/dist/core/shaders/Marble/index.d.ts.map +1 -1
- package/dist/core/shaders/Marble/index.js +4 -15
- package/dist/core/shaders/MeshGradient/index.js +4 -17
- package/dist/core/shaders/Mirror/index.js +4 -8
- package/dist/core/shaders/MultiPointGradient/index.js +4 -11
- package/dist/core/shaders/Nebula/index.js +4 -13
- package/dist/core/shaders/Neon/index.js +4 -9
- package/dist/core/shaders/NoiseDissolve/index.js +4 -7
- package/dist/core/shaders/ObjectTracker/index.js +4 -10
- package/dist/core/shaders/Obsidian/index.js +4 -15
- package/dist/core/shaders/PagePeel/index.js +4 -10
- package/dist/core/shaders/Paper/index.d.ts +1 -1
- package/dist/core/shaders/Paper/index.d.ts.map +1 -1
- package/dist/core/shaders/Paper/index.js +4 -8
- package/dist/core/shaders/Parallelogram/index.js +4 -5
- package/dist/core/shaders/ParticleField/index.js +4 -9
- package/dist/core/shaders/ParticleFlow/index.js +4 -10
- package/dist/core/shaders/Particles/index.js +4 -9
- package/dist/core/shaders/PerlinNoise/index.d.ts +2 -2
- package/dist/core/shaders/PerlinNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/PerlinNoise/index.js +5 -14
- package/dist/core/shaders/Perspective/index.js +4 -8
- package/dist/core/shaders/PixelSort/index.js +4 -8
- package/dist/core/shaders/PixelThrow/index.js +4 -8
- 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 +4 -10
- package/dist/core/shaders/Plasma/index.js +4 -11
- package/dist/core/shaders/Plastic/index.js +4 -11
- package/dist/core/shaders/PolarCoordinates/index.js +4 -8
- package/dist/core/shaders/Polygon/index.js +4 -6
- package/dist/core/shaders/Posterize/index.js +4 -6
- package/dist/core/shaders/Prism/index.js +4 -12
- package/dist/core/shaders/ProgressiveBlur/index.d.ts +1 -1
- package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ProgressiveBlur/index.js +4 -10
- package/dist/core/shaders/RadialGradient/index.js +4 -11
- package/dist/core/shaders/RadialWipe/index.js +4 -7
- package/dist/core/shaders/RandomBars/index.js +4 -7
- package/dist/core/shaders/ReactionDiffusion/index.js +4 -8
- package/dist/core/shaders/RectangularCoordinates/index.js +4 -8
- package/dist/core/shaders/ReflectivePlane/index.js +4 -10
- package/dist/core/shaders/Repeater/index.js +4 -5
- package/dist/core/shaders/Ring/index.js +4 -5
- package/dist/core/shaders/RippleWipe/index.js +4 -7
- package/dist/core/shaders/Ripples/index.d.ts +1 -1
- package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
- package/dist/core/shaders/Ripples/index.js +4 -13
- package/dist/core/shaders/RoundedRect/index.js +4 -5
- package/dist/core/shaders/Saturation/index.js +4 -7
- package/dist/core/shaders/Scratches/index.d.ts +1 -1
- package/dist/core/shaders/Scratches/index.d.ts.map +1 -1
- package/dist/core/shaders/Scratches/index.js +5 -14
- package/dist/core/shaders/Sharpness/index.d.ts +1 -1
- package/dist/core/shaders/Sharpness/index.d.ts.map +1 -1
- package/dist/core/shaders/Sharpness/index.js +4 -11
- package/dist/core/shaders/Shatter/index.js +4 -6
- package/dist/core/shaders/SimplexNoise/index.d.ts +1 -1
- package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/SimplexNoise/index.js +5 -14
- package/dist/core/shaders/SineWave/index.js +4 -10
- package/dist/core/shaders/SliceWipe/index.js +4 -8
- package/dist/core/shaders/Smoke/index.js +4 -7
- package/dist/core/shaders/SmokeFill/index.js +4 -10
- package/dist/core/shaders/SmokeFlow/index.js +4 -7
- package/dist/core/shaders/Solarize/index.js +4 -7
- package/dist/core/shaders/SolidColor/index.js +4 -11
- package/dist/core/shaders/Sparkle/index.d.ts +57 -0
- package/dist/core/shaders/Sparkle/index.d.ts.map +1 -0
- package/dist/core/shaders/Sparkle/index.js +5 -0
- package/dist/core/shaders/Spherize/index.d.ts +1 -1
- package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
- package/dist/core/shaders/Spherize/index.js +4 -10
- package/dist/core/shaders/Spiral/index.js +4 -11
- package/dist/core/shaders/Star/index.js +4 -5
- package/dist/core/shaders/Stone/index.d.ts +1 -1
- package/dist/core/shaders/Stone/index.d.ts.map +1 -1
- package/dist/core/shaders/Stone/index.js +4 -14
- package/dist/core/shaders/Strands/index.d.ts +1 -1
- package/dist/core/shaders/Strands/index.d.ts.map +1 -1
- package/dist/core/shaders/Strands/index.js +4 -13
- package/dist/core/shaders/Stretch/index.js +4 -8
- package/dist/core/shaders/Stripes/index.d.ts +1 -1
- package/dist/core/shaders/Stripes/index.d.ts.map +1 -1
- package/dist/core/shaders/Stripes/index.js +4 -13
- package/dist/core/shaders/StudioBackground/index.js +4 -14
- package/dist/core/shaders/SunBurst/index.js +4 -12
- package/dist/core/shaders/Surface3D/index.js +4 -8
- package/dist/core/shaders/Swirl/index.js +4 -11
- package/dist/core/shaders/Teardrop/index.js +4 -5
- package/dist/core/shaders/Text/index.js +4 -12
- package/dist/core/shaders/ThinFilm/index.js +4 -9
- package/dist/core/shaders/TiltShift/index.d.ts +1 -1
- package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
- package/dist/core/shaders/TiltShift/index.js +4 -10
- package/dist/core/shaders/TimeTrail/index.js +4 -8
- package/dist/core/shaders/Tint/index.js +4 -6
- package/dist/core/shaders/Trapezoid/index.js +4 -5
- package/dist/core/shaders/TriangularGrid/index.d.ts +1 -1
- package/dist/core/shaders/TriangularGrid/index.d.ts.map +1 -1
- package/dist/core/shaders/TriangularGrid/index.js +4 -13
- package/dist/core/shaders/Tritone/index.js +4 -6
- package/dist/core/shaders/Truchet/index.d.ts +1 -1
- package/dist/core/shaders/Truchet/index.d.ts.map +1 -1
- package/dist/core/shaders/Truchet/index.js +4 -13
- package/dist/core/shaders/Twirl/index.js +4 -8
- package/dist/core/shaders/VHS/index.d.ts +1 -1
- package/dist/core/shaders/VHS/index.d.ts.map +1 -1
- package/dist/core/shaders/VHS/index.js +4 -10
- package/dist/core/shaders/VenetianBlinds/index.js +4 -7
- package/dist/core/shaders/Vesica/index.js +4 -5
- package/dist/core/shaders/Vibrance/index.js +4 -7
- package/dist/core/shaders/VideoTexture/index.js +4 -6
- package/dist/core/shaders/Vignette/index.js +4 -8
- package/dist/core/shaders/Voronoi/index.d.ts +1 -1
- package/dist/core/shaders/Voronoi/index.d.ts.map +1 -1
- package/dist/core/shaders/Voronoi/index.js +4 -13
- package/dist/core/shaders/Voxels/index.js +4 -14
- package/dist/core/shaders/Water/index.js +4 -11
- package/dist/core/shaders/Watercolor/index.d.ts +1 -1
- package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
- package/dist/core/shaders/Watercolor/index.js +4 -10
- package/dist/core/shaders/WaveDistortion/index.js +4 -8
- package/dist/core/shaders/Waveform/index.js +4 -16
- package/dist/core/shaders/WaveletNoise/index.d.ts +1 -1
- package/dist/core/shaders/WaveletNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/WaveletNoise/index.js +5 -14
- package/dist/core/shaders/Weave/index.d.ts +1 -1
- package/dist/core/shaders/Weave/index.d.ts.map +1 -1
- package/dist/core/shaders/Weave/index.js +4 -13
- package/dist/core/shaders/WebcamTexture/index.js +4 -6
- package/dist/core/shaders/Wool/index.d.ts +1 -1
- package/dist/core/shaders/Wool/index.d.ts.map +1 -1
- package/dist/core/shaders/Wool/index.js +4 -14
- package/dist/core/shaders/WorleyNoise/index.d.ts +1 -1
- package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/WorleyNoise/index.js +4 -13
- package/dist/core/shaders/ZoomBlur/index.d.ts +1 -1
- package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ZoomBlur/index.js +4 -10
- package/dist/core/std/effects/blurs.d.ts +656 -138
- package/dist/core/std/effects/blurs.d.ts.map +1 -1
- package/dist/core/std/effects/color.d.ts +209 -32
- package/dist/core/std/effects/color.d.ts.map +1 -1
- package/dist/core/std/effects/edgeGlow.d.ts +86 -17
- package/dist/core/std/effects/edgeGlow.d.ts.map +1 -1
- package/dist/core/std/effects/fracture.d.ts +72 -8
- package/dist/core/std/effects/fracture.d.ts.map +1 -1
- package/dist/core/std/effects/index.d.ts +15 -0
- package/dist/core/std/effects/index.d.ts.map +1 -0
- package/dist/core/std/effects/instances.d.ts +87 -8
- package/dist/core/std/effects/instances.d.ts.map +1 -1
- package/dist/core/std/effects/lens.d.ts +48 -12
- package/dist/core/std/effects/lens.d.ts.map +1 -1
- package/dist/core/std/effects/overlay.d.ts +63 -22
- package/dist/core/std/effects/overlay.d.ts.map +1 -1
- package/dist/core/std/effects/pointerFields.d.ts +45 -20
- package/dist/core/std/effects/pointerFields.d.ts.map +1 -1
- package/dist/core/std/effects/reveal.d.ts +118 -40
- package/dist/core/std/effects/reveal.d.ts.map +1 -1
- package/dist/core/std/effects/stylize.d.ts +139 -70
- package/dist/core/std/effects/stylize.d.ts.map +1 -1
- package/dist/core/std/filter.d.ts +72 -12
- package/dist/core/std/filter.d.ts.map +1 -1
- package/dist/core/std/frames.d.ts +91 -24
- package/dist/core/std/frames.d.ts.map +1 -1
- package/dist/core/std/index.d.ts +46 -8
- package/dist/core/std/index.d.ts.map +1 -1
- package/dist/core/std/index.js +4 -0
- package/dist/core/std/invoke.d.ts +107 -12
- package/dist/core/std/invoke.d.ts.map +1 -1
- package/dist/core/std/lists.d.ts +40 -10
- package/dist/core/std/lists.d.ts.map +1 -1
- package/dist/core/std/lower.d.ts +73 -1
- package/dist/core/std/lower.d.ts.map +1 -1
- package/dist/core/std/mask.d.ts +60 -17
- package/dist/core/std/mask.d.ts.map +1 -1
- package/dist/core/std/math.d.ts +484 -9
- package/dist/core/std/math.d.ts.map +1 -1
- package/dist/core/std/motion.d.ts +130 -10
- package/dist/core/std/motion.d.ts.map +1 -1
- package/dist/core/std/paint/compose.d.ts +57 -16
- package/dist/core/std/paint/compose.d.ts.map +1 -1
- package/dist/core/std/paint/fields.d.ts +376 -93
- package/dist/core/std/paint/fields.d.ts.map +1 -1
- package/dist/core/std/paint/figures.d.ts +32 -17
- package/dist/core/std/paint/figures.d.ts.map +1 -1
- package/dist/core/std/paint/gradients.d.ts +58 -25
- package/dist/core/std/paint/gradients.d.ts.map +1 -1
- package/dist/core/std/paint/light.d.ts +501 -77
- package/dist/core/std/paint/light.d.ts.map +1 -1
- package/dist/core/std/paint/materials.d.ts +678 -151
- package/dist/core/std/paint/materials.d.ts.map +1 -1
- package/dist/core/std/paint/media.d.ts +47 -32
- package/dist/core/std/paint/media.d.ts.map +1 -1
- package/dist/core/std/paint/noise.d.ts +436 -87
- package/dist/core/std/paint/noise.d.ts.map +1 -1
- package/dist/core/std/paint/patterns.d.ts +473 -91
- package/dist/core/std/paint/patterns.d.ts.map +1 -1
- package/dist/core/std/paint/radiance.d.ts +75 -29
- package/dist/core/std/paint/radiance.d.ts.map +1 -1
- package/dist/core/std/paint/volume.d.ts +68 -27
- package/dist/core/std/paint/volume.d.ts.map +1 -1
- package/dist/core/std/paint/voxels.d.ts +46 -26
- package/dist/core/std/paint/voxels.d.ts.map +1 -1
- package/dist/core/std/shape.d.ts +195 -1
- package/dist/core/std/shape.d.ts.map +1 -1
- package/dist/core/std/signal.d.ts +55 -15
- package/dist/core/std/signal.d.ts.map +1 -1
- package/dist/core/std/sim/agentForces.d.ts +441 -99
- package/dist/core/std/sim/agentForces.d.ts.map +1 -1
- package/dist/core/std/sim/agentFrame.d.ts +94 -20
- package/dist/core/std/sim/agentFrame.d.ts.map +1 -1
- package/dist/core/std/sim/agentRender.d.ts +187 -60
- package/dist/core/std/sim/agentRender.d.ts.map +1 -1
- package/dist/core/std/sim/agents.d.ts +99 -28
- package/dist/core/std/sim/agents.d.ts.map +1 -1
- package/dist/core/std/sim/feedback.d.ts +40 -19
- package/dist/core/std/sim/feedback.d.ts.map +1 -1
- package/dist/core/std/sim/fluids.d.ts +127 -63
- package/dist/core/std/sim/fluids.d.ts.map +1 -1
- package/dist/core/std/sim/grids.d.ts +200 -48
- package/dist/core/std/sim/grids.d.ts.map +1 -1
- package/dist/core/std/sim/index.d.ts +14 -0
- package/dist/core/std/sim/index.d.ts.map +1 -0
- package/dist/core/std/sim/shapeFields.d.ts +56 -0
- package/dist/core/std/sim/shapeFields.d.ts.map +1 -1
- package/dist/core/std/sim.d.ts +112 -10
- package/dist/core/std/sim.d.ts.map +1 -1
- package/dist/core/std/slots.d.ts +72 -6
- package/dist/core/std/slots.d.ts.map +1 -1
- package/dist/core/std/types.d.ts +97 -60
- package/dist/core/std/types.d.ts.map +1 -1
- package/dist/core/std/values.d.ts +33 -14
- package/dist/core/std/values.d.ts.map +1 -1
- package/dist/core/std/warps.d.ts +221 -76
- package/dist/core/std/warps.d.ts.map +1 -1
- package/dist/core/std/wgsl.d.ts +115 -0
- package/dist/core/std/wgsl.d.ts.map +1 -0
- package/dist/core/std-ClftfWpF.js +218889 -0
- package/dist/core/{support-GJphyuEe.js → support-D3W86vgR.js} +11 -1
- package/dist/core/telemetry/index.js +1 -1
- package/dist/core/utilities/transformations/index.js +1 -1
- package/dist/js/bundle.js +182 -180
- package/dist/js/createShader.d.ts.map +1 -1
- package/dist/js/createShader.js +4 -3
- package/dist/js/types.d.ts +5 -0
- package/dist/js/types.d.ts.map +1 -1
- package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/js/utils/generatePresetCode.js +35 -22
- package/dist/react/CustomShader.js +178 -0
- package/dist/react/Preview.js +1 -0
- package/dist/react/Shader.js +1 -1
- package/dist/react/Sparkle.js +226 -0
- package/dist/react/bundle.js +178 -176
- package/dist/react/components/Sparkle.d.ts +41 -0
- package/dist/react/components/Sparkle.d.ts.map +1 -0
- package/dist/react/engine/CustomShader.d.ts +37 -0
- package/dist/react/engine/CustomShader.d.ts.map +1 -0
- package/dist/react/engine/Preview.d.ts.map +1 -1
- package/dist/react/index.d.ts +5 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +4 -2
- package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/react/utils/generatePresetCode.js +35 -22
- package/dist/registry.js +310 -58
- package/dist/solid/components/Sparkle.d.ts +38 -0
- package/dist/solid/components/Sparkle.d.ts.map +1 -0
- package/dist/solid/components/Sparkle.js +232 -0
- package/dist/solid/engine/CustomShader.d.ts +35 -0
- package/dist/solid/engine/CustomShader.d.ts.map +1 -0
- package/dist/solid/engine/CustomShader.js +160 -0
- package/dist/solid/engine/Preview.d.ts.map +1 -1
- package/dist/solid/engine/Preview.js +319 -317
- package/dist/solid/engine/Shader.js +1 -1
- package/dist/solid/index.d.ts +5 -0
- package/dist/solid/index.d.ts.map +1 -1
- package/dist/solid/index.js +95 -86
- package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/solid/utils/generatePresetCode.js +35 -22
- package/dist/svelte/components/Sparkle.svelte.d.ts +28 -0
- package/dist/svelte/engine/CustomShader.svelte.d.ts +40 -0
- package/dist/svelte/index.d.ts +4 -0
- package/dist/svelte/index.js +1237 -877
- package/dist/svelte/source/components/Sparkle.svelte +352 -0
- package/dist/svelte/source/engine/CustomShader.svelte +216 -0
- package/dist/svelte/source/engine/Preview.svelte +5 -3
- package/dist/svelte/source/index.js +4 -0
- package/dist/svelte/utils/generatePresetCode.js +35 -22
- package/dist/vue/CustomShader.js +3 -0
- package/dist/vue/CustomShader.vue_vue_type_script_setup_true_lang.js +173 -0
- package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
- package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/vue/Sparkle.js +3 -0
- package/dist/vue/Sparkle.vue_vue_type_script_setup_true_lang.js +233 -0
- package/dist/vue/components/Sparkle.vue.d.ts +63 -0
- package/dist/vue/components/Sparkle.vue.d.ts.map +1 -0
- package/dist/vue/index.d.ts +4 -0
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue/index.js +4 -2
- package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/vue/utils/generatePresetCode.js +35 -22
- package/package.json +27 -2
- package/dist/core/Irradiance-DtC4tqNu.js +0 -4191
- package/dist/core/LightEdge-BV9bO8YB.js +0 -2339
- package/dist/core/Repeater-DU_EhoxD.js +0 -762
- package/dist/core/Shatter-DYKKCVD8.js +0 -1479
- package/dist/core/Voxels-LEG0c9YC.js +0 -8547
- package/dist/core/agents-CdLlm-5E.js +0 -5357
- package/dist/core/agents-DZaZ4n9_.js +0 -15709
- package/dist/core/blur-CrEChFnm.js +0 -8015
- package/dist/core/blurs-D5a6ad3o.js +0 -1751
- package/dist/core/canvasRaster-DDBkrdY8.js +0 -80
- package/dist/core/color-CY5teMWa.js +0 -3619
- package/dist/core/compose-DNU_Ut36.js +0 -46
- package/dist/core/device-m0ud8-Fn.js +0 -10
- package/dist/core/feedback-yfT0pT6A.js +0 -46
- package/dist/core/fields-CXwmEUsd.js +0 -475
- package/dist/core/figures-BRYcB-p2.js +0 -48
- package/dist/core/filter-BrhpSs3Z.js +0 -23
- package/dist/core/fluids-CBhAiGAx.js +0 -226
- package/dist/core/fonts-BUXTd9qb.js +0 -59
- package/dist/core/frames-Clw8-BpA.js +0 -78
- package/dist/core/glass-DIEus1UY.js +0 -2532
- package/dist/core/gradientPaints-Cx2bT20T.js +0 -6564
- package/dist/core/gradients-C15o7_xy.js +0 -159
- package/dist/core/grids-Cv99xcJg.js +0 -151
- package/dist/core/lens-ChO_HVpe.js +0 -352
- package/dist/core/light-Bba_Pie_.js +0 -271
- package/dist/core/lightfields-D120ZvMt.js +0 -2255
- package/dist/core/lower-DtoDQ7hV.js +0 -49452
- package/dist/core/mask-6rnSCir2.js +0 -28
- package/dist/core/materials-BjsiWqS0.js +0 -2944
- package/dist/core/math-7PlusTFx.js +0 -56
- package/dist/core/media-CgWmWvGq.js +0 -832
- package/dist/core/mediaLifecycle-BTPb5i1-.js +0 -320
- package/dist/core/motionBlur-DzaHMq9p.js +0 -6766
- package/dist/core/noise-G7a5U0ar.js +0 -546
- package/dist/core/noisePaints-B_axPpuv.js +0 -3619
- package/dist/core/noiseStylize-CUrW_HiC.js +0 -65
- package/dist/core/overlay-W4DAsSzP.js +0 -4712
- package/dist/core/patterns-RTt6Fek8.js +0 -9723
- package/dist/core/pointerFields-Ch_-cbCV.js +0 -2339
- package/dist/core/porters-CQwDd2t4.js +0 -30201
- package/dist/core/reveal-dbBiS7gE.js +0 -1688
- package/dist/core/sdf3d-BMqCSSPB.js +0 -21082
- package/dist/core/shaderRegistry-Bs0XOv9A.js +0 -443
- package/dist/core/shape-B2CoDi6l.js +0 -20
- package/dist/core/shapePaints-7HrXeLYX.js +0 -3354
- package/dist/core/signal-emJuvOI3.js +0 -34
- package/dist/core/slots-BqIef2iV.js +0 -32
- package/dist/core/stylize-CiN0ZaMu.js +0 -4541
- package/dist/core/tone-CsRho9qb.js +0 -763
- package/dist/core/warpMaps-Dbuleg2M.js +0 -10773
- package/dist/core/warps-gIr3RmZV.js +0 -276
- /package/dist/core/{transformations-CzFmhZww.js → transformations-P50Uo_Ju.js} +0 -0
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { Bt as mixPreconvertedVariants, It as mixColorsLinear, Lt as mixColorsVariants, a as resolveScalar, ct as call, ft as floatE, jr as vec3f, jt as convertP3ToMixSpaceCPU, mt as vec4, o as uniformOf, s as Scalar, zt as mixPreconvertedLinear } from "./lower-DtoDQ7hV.js";
|
|
2
|
-
import { a as colorWheelT, i as colorWheelSelect, n as colorWheelPhase, r as colorWheelRainbow, t as beamField, x as mpgFactors } from "./gradientPaints-Cx2bT20T.js";
|
|
3
|
-
import { t as animatedTime } from "./porters-CQwDd2t4.js";
|
|
4
|
-
import { y as local } from "./math-7PlusTFx.js";
|
|
5
|
-
function arg(spec, params) {
|
|
6
|
-
if (typeof spec === "number") return floatE(spec);
|
|
7
|
-
if (spec instanceof Scalar || spec.kind !== "ctx") return resolveScalar(spec, params);
|
|
8
|
-
return params.ctx[spec.name];
|
|
9
|
-
}
|
|
10
|
-
function paintFrame(params) {
|
|
11
|
-
return {
|
|
12
|
-
uv: params.uvContext ?? params.ctx.uv,
|
|
13
|
-
viewport: params.effectiveViewportSize ?? params.ctx.viewportSize
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
function structural(ref, params) {
|
|
17
|
-
return params.propValues[ref.name];
|
|
18
|
-
}
|
|
19
|
-
function solidColor(color) {
|
|
20
|
-
return (params) => uniformOf(color, params);
|
|
21
|
-
}
|
|
22
|
-
function colorWheel(slots) {
|
|
23
|
-
return (params) => {
|
|
24
|
-
const { uv, viewport } = paintFrame(params);
|
|
25
|
-
const animTime = animatedTime(params);
|
|
26
|
-
const t = call(colorWheelT, "colorWheelT", [
|
|
27
|
-
uv,
|
|
28
|
-
viewport,
|
|
29
|
-
arg(slots.direction, params),
|
|
30
|
-
arg(slots.scale, params),
|
|
31
|
-
animTime
|
|
32
|
-
]);
|
|
33
|
-
if ((structural(slots.mode, params) ?? "rainbow") === "rainbow") return call(colorWheelRainbow, "colorWheelRainbow", [t]);
|
|
34
|
-
const phase = local(call(colorWheelPhase, "colorWheelPhase", [t]), "wheelPhase");
|
|
35
|
-
const si = phase.member("x");
|
|
36
|
-
const floorT3 = phase.member("y");
|
|
37
|
-
const variant = mixColorsVariants[structural(slots.space, params) ?? 0] ?? mixColorsLinear;
|
|
38
|
-
return call(colorWheelSelect, "colorWheelSelect", [
|
|
39
|
-
call(variant, "mixColors", [
|
|
40
|
-
uniformOf(slots.palette.a, params),
|
|
41
|
-
uniformOf(slots.palette.b, params),
|
|
42
|
-
si
|
|
43
|
-
]),
|
|
44
|
-
call(variant, "mixColors", [
|
|
45
|
-
uniformOf(slots.palette.b, params),
|
|
46
|
-
uniformOf(slots.palette.c, params),
|
|
47
|
-
si
|
|
48
|
-
]),
|
|
49
|
-
call(variant, "mixColors", [
|
|
50
|
-
uniformOf(slots.palette.c, params),
|
|
51
|
-
uniformOf(slots.palette.a, params),
|
|
52
|
-
si
|
|
53
|
-
]),
|
|
54
|
-
floorT3
|
|
55
|
-
]);
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
function pointCloudGradient(slots) {
|
|
59
|
-
if (slots.points.length !== 5) throw new Error("pointCloudGradient expects exactly 5 points");
|
|
60
|
-
return (params) => {
|
|
61
|
-
const { uv, viewport } = paintFrame(params);
|
|
62
|
-
const factors = local(call(mpgFactors, "mpgFactors", [
|
|
63
|
-
uv,
|
|
64
|
-
viewport,
|
|
65
|
-
...slots.points.map((pt) => uniformOf(pt.position, params)),
|
|
66
|
-
arg(slots.smoothness, params)
|
|
67
|
-
]), "mpgFactors");
|
|
68
|
-
const variant = mixColorsVariants[structural(slots.space, params) ?? 0] ?? mixColorsLinear;
|
|
69
|
-
let acc = uniformOf(slots.points[0].color, params);
|
|
70
|
-
const channels = [
|
|
71
|
-
"x",
|
|
72
|
-
"y",
|
|
73
|
-
"z",
|
|
74
|
-
"w"
|
|
75
|
-
];
|
|
76
|
-
for (let i = 1; i < 5; i++) acc = call(variant, "mixColors", [
|
|
77
|
-
acc,
|
|
78
|
-
uniformOf(slots.points[i].color, params),
|
|
79
|
-
factors.member(channels[i - 1])
|
|
80
|
-
]);
|
|
81
|
-
return acc;
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
const beamPreconvertedFields = {
|
|
85
|
-
convA: {
|
|
86
|
-
schema: vec3f,
|
|
87
|
-
initial: [
|
|
88
|
-
0,
|
|
89
|
-
0,
|
|
90
|
-
0
|
|
91
|
-
]
|
|
92
|
-
},
|
|
93
|
-
convB: {
|
|
94
|
-
schema: vec3f,
|
|
95
|
-
initial: [
|
|
96
|
-
0,
|
|
97
|
-
0,
|
|
98
|
-
0
|
|
99
|
-
]
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
function beam(slots) {
|
|
103
|
-
return (params) => {
|
|
104
|
-
const { uv, viewport } = paintFrame(params);
|
|
105
|
-
const mode = structural(slots.space, params) ?? 0;
|
|
106
|
-
const field = local(call(beamField, "beamField", [
|
|
107
|
-
uv,
|
|
108
|
-
viewport,
|
|
109
|
-
uniformOf(slots.from, params),
|
|
110
|
-
uniformOf(slots.to, params),
|
|
111
|
-
arg(slots.thickness.start, params),
|
|
112
|
-
arg(slots.thickness.end, params),
|
|
113
|
-
arg(slots.softness.start, params),
|
|
114
|
-
arg(slots.softness.end, params)
|
|
115
|
-
]), "beamField");
|
|
116
|
-
const colorT = field.member("x");
|
|
117
|
-
const alpha = field.member("y");
|
|
118
|
-
const inside = uniformOf(slots.colors.inside, params);
|
|
119
|
-
const outside = uniformOf(slots.colors.outside, params);
|
|
120
|
-
let beamColorRGB;
|
|
121
|
-
if (mode !== 0) {
|
|
122
|
-
let lastKey = "";
|
|
123
|
-
params.onBeforeRender(() => {
|
|
124
|
-
const a = params.getCpuValue(slots.colors.inside.name);
|
|
125
|
-
const b = params.getCpuValue(slots.colors.outside.name);
|
|
126
|
-
if (!a || !b) return;
|
|
127
|
-
const key = `${a.x},${a.y},${a.z}|${b.x},${b.y},${b.z}`;
|
|
128
|
-
if (key === lastKey) return;
|
|
129
|
-
lastKey = key;
|
|
130
|
-
const ca = convertP3ToMixSpaceCPU(a.x, a.y, a.z, mode);
|
|
131
|
-
const cb = convertP3ToMixSpaceCPU(b.x, b.y, b.z, mode);
|
|
132
|
-
params.setExtraField("convA", [
|
|
133
|
-
ca[0],
|
|
134
|
-
ca[1],
|
|
135
|
-
ca[2]
|
|
136
|
-
]);
|
|
137
|
-
params.setExtraField("convB", [
|
|
138
|
-
cb[0],
|
|
139
|
-
cb[1],
|
|
140
|
-
cb[2]
|
|
141
|
-
]);
|
|
142
|
-
});
|
|
143
|
-
beamColorRGB = call(mixPreconvertedVariants[mode] ?? mixPreconvertedLinear, "mixPreconvertedColors", [
|
|
144
|
-
params.uniforms.convA,
|
|
145
|
-
params.uniforms.convB,
|
|
146
|
-
inside.member("a"),
|
|
147
|
-
outside.member("a"),
|
|
148
|
-
colorT
|
|
149
|
-
]).member("rgb");
|
|
150
|
-
} else beamColorRGB = call(mixColorsLinear, "mixColors", [
|
|
151
|
-
inside,
|
|
152
|
-
outside,
|
|
153
|
-
colorT
|
|
154
|
-
]).member("rgb");
|
|
155
|
-
const avgAlpha = inside.member("a").add(outside.member("a")).mul(.5);
|
|
156
|
-
return vec4(beamColorRGB, avgAlpha.mul(alpha));
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
export { solidColor as a, pointCloudGradient as i, beamPreconvertedFields as n, colorWheel as r, beam as t };
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
function gridSim(build) {
|
|
2
|
-
return { compute: (params) => {
|
|
3
|
-
const { gpu, getCpuValue } = params;
|
|
4
|
-
const root = gpu?.root;
|
|
5
|
-
if (!root) return null;
|
|
6
|
-
const cfg = build(params, root);
|
|
7
|
-
if (!cfg) return null;
|
|
8
|
-
const num = (key, fallback) => {
|
|
9
|
-
const v = getCpuValue(key);
|
|
10
|
-
return typeof v === "number" ? v : fallback;
|
|
11
|
-
};
|
|
12
|
-
return {
|
|
13
|
-
outputs: cfg.outputs,
|
|
14
|
-
...cfg.bindInputs ? { bindInputs: cfg.bindInputs } : {},
|
|
15
|
-
getComputeNodes: (frameParams) => {
|
|
16
|
-
for (const s of cfg.stages) if (s.ready && !s.ready()) return null;
|
|
17
|
-
const fp = frameParams;
|
|
18
|
-
const dt = Math.min(fp.deltaTime ?? 0, cfg.clampDt);
|
|
19
|
-
if (cfg.zeroDt === "skip" && dt <= 0) return null;
|
|
20
|
-
const f = {
|
|
21
|
-
dt,
|
|
22
|
-
now: Date.now(),
|
|
23
|
-
num,
|
|
24
|
-
getCpuValue,
|
|
25
|
-
frameParams: fp
|
|
26
|
-
};
|
|
27
|
-
const nodes = [];
|
|
28
|
-
for (const s of cfg.stages) s.tick?.(f);
|
|
29
|
-
for (const s of cfg.stages) if (s.skip?.(f)) return null;
|
|
30
|
-
for (const s of cfg.stages) s.emit?.(f, nodes);
|
|
31
|
-
return nodes;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
} };
|
|
35
|
-
}
|
|
36
|
-
const op = {
|
|
37
|
-
host(name, run) {
|
|
38
|
-
return { tick: run };
|
|
39
|
-
},
|
|
40
|
-
values(name, run) {
|
|
41
|
-
return { emit: (f) => run(f) };
|
|
42
|
-
},
|
|
43
|
-
settle(opts) {
|
|
44
|
-
let simSinceActive = 0;
|
|
45
|
-
return {
|
|
46
|
-
tick(f) {
|
|
47
|
-
if (opts.activeWhen(f)) simSinceActive = 0;
|
|
48
|
-
},
|
|
49
|
-
skip(f) {
|
|
50
|
-
const skip = simSinceActive > opts.settleMs(f);
|
|
51
|
-
if (!skip) simSinceActive += f.dt * 1e3;
|
|
52
|
-
return skip;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
},
|
|
56
|
-
readyWhen(fn) {
|
|
57
|
-
return { ready: fn };
|
|
58
|
-
},
|
|
59
|
-
pass(step) {
|
|
60
|
-
return { emit: (_f, nodes) => nodes.push(step) };
|
|
61
|
-
},
|
|
62
|
-
cache(step) {
|
|
63
|
-
return { emit: (f, nodes) => nodes.push(step(f)) };
|
|
64
|
-
},
|
|
65
|
-
publish(step) {
|
|
66
|
-
return { emit: (f, nodes) => nodes.push(step(f)) };
|
|
67
|
-
},
|
|
68
|
-
seedOnce(opts) {
|
|
69
|
-
return { emit(f, nodes) {
|
|
70
|
-
if (!opts.staleWhen(f)) return;
|
|
71
|
-
opts.onSeed?.();
|
|
72
|
-
nodes.push(opts.pass);
|
|
73
|
-
} };
|
|
74
|
-
},
|
|
75
|
-
iterate(opts) {
|
|
76
|
-
return { emit(f, nodes) {
|
|
77
|
-
const n = opts.count(f);
|
|
78
|
-
for (let i = 0; i < n; i++) opts.step(i, nodes, f);
|
|
79
|
-
} };
|
|
80
|
-
},
|
|
81
|
-
sortPass(opts) {
|
|
82
|
-
let cur = "A";
|
|
83
|
-
let tick = 0;
|
|
84
|
-
return {
|
|
85
|
-
emit(f, nodes) {
|
|
86
|
-
const n = opts.passes(f);
|
|
87
|
-
for (let i = 0; i < n; i++) {
|
|
88
|
-
nodes.push(opts.pass(tick % 2, cur));
|
|
89
|
-
cur = cur === "A" ? "B" : "A";
|
|
90
|
-
tick++;
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
side: () => cur
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
function trackedViewport(params) {
|
|
98
|
-
let curW = Math.max(1, Math.round(params.dimensions.width));
|
|
99
|
-
let curH = Math.max(1, Math.round(params.dimensions.height));
|
|
100
|
-
params.onResize(({ width, height }) => {
|
|
101
|
-
curW = Math.max(1, Math.round(width));
|
|
102
|
-
curH = Math.max(1, Math.round(height));
|
|
103
|
-
});
|
|
104
|
-
return {
|
|
105
|
-
tracked: () => ({
|
|
106
|
-
width: curW,
|
|
107
|
-
height: curH
|
|
108
|
-
}),
|
|
109
|
-
safe: (fp) => ({
|
|
110
|
-
width: Math.max(1, fp.dimensions?.width ?? curW),
|
|
111
|
-
height: Math.max(1, fp.dimensions?.height ?? curH)
|
|
112
|
-
})
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
const hostStep = (name, run) => ({
|
|
116
|
-
name,
|
|
117
|
-
run
|
|
118
|
-
});
|
|
119
|
-
function hostGridProgram(opts) {
|
|
120
|
-
let lastTime = Date.now();
|
|
121
|
-
return (fp) => {
|
|
122
|
-
const { pointer } = fp;
|
|
123
|
-
const now = Date.now();
|
|
124
|
-
const dt = Math.min((now - lastTime) / 1e3, opts.clampDt);
|
|
125
|
-
lastTime = now;
|
|
126
|
-
const f = {
|
|
127
|
-
dt,
|
|
128
|
-
now,
|
|
129
|
-
pointer,
|
|
130
|
-
frameParams: fp
|
|
131
|
-
};
|
|
132
|
-
for (const s of opts.steps) if (s.run(f) === "skip") return;
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
function hostFieldTexture(params, opts) {
|
|
136
|
-
const texData = new Uint16Array(opts.size * opts.size * 4);
|
|
137
|
-
const tex = params.createDataTexture({
|
|
138
|
-
width: opts.size,
|
|
139
|
-
height: opts.size,
|
|
140
|
-
format: "rgba16float",
|
|
141
|
-
data: texData,
|
|
142
|
-
label: opts.label
|
|
143
|
-
});
|
|
144
|
-
params.onCleanup(() => tex.destroy());
|
|
145
|
-
return {
|
|
146
|
-
texData,
|
|
147
|
-
texture: params.registerMediaTexture(() => tex.texture),
|
|
148
|
-
upload: () => tex.write(texData)
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
export { op as a, hostStep as i, hostFieldTexture as n, trackedViewport as o, hostGridProgram as r, gridSim as t };
|
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
import { Cr as sin, Gn as typegpu_default, Or as vec2f, Ot as unpremultiplyAlpha, at as ZERO, br as radians, ct as call, dt as expr, gt as formatFloat, ht as Expr, i as resolveArg, mt as vec4, or as cos, qr as f32 } from "./lower-DtoDQ7hV.js";
|
|
2
|
-
import { t as isMobileGpuViewport } from "./device-m0ud8-Fn.js";
|
|
3
|
-
const LENS_MAX_SAMPLES = 50;
|
|
4
|
-
const LENS_MAX_TAPS = isMobileGpuViewport() ? 24 : 50;
|
|
5
|
-
function valueNoiseStmts(em, lines, inputExpr, outName) {
|
|
6
|
-
const n = `${em.p}_vn${em.noiseIdx.value++}`;
|
|
7
|
-
lines.push(`let ${n}_st = ${inputExpr};`);
|
|
8
|
-
lines.push(`let ${n}_fi = floor(${n}_st);`);
|
|
9
|
-
lines.push(`let ${n}_ff = fract(${n}_st);`);
|
|
10
|
-
for (const [k, off] of [
|
|
11
|
-
["a", "vec2f(0.0, 0.0)"],
|
|
12
|
-
["b", "vec2f(1.0, 0.0)"],
|
|
13
|
-
["c", "vec2f(0.0, 1.0)"],
|
|
14
|
-
["d", "vec2f(1.0, 1.0)"]
|
|
15
|
-
]) {
|
|
16
|
-
lines.push(`var ${n}_q${k} = fract((${n}_fi + ${off}) * vec2f(0.3183099, 0.3678794)) + vec2f(0.1);`);
|
|
17
|
-
lines.push(`${n}_q${k} = ${n}_q${k} + vec2f(dot(${n}_q${k}, ${n}_q${k} + vec2f(19.19)));`);
|
|
18
|
-
lines.push(`let ${n}_h${k} = fract(${n}_q${k}.x * ${n}_q${k}.y);`);
|
|
19
|
-
}
|
|
20
|
-
lines.push(`let ${n}_u = ${n}_ff * ${n}_ff * (vec2f(3.0) - 2.0 * ${n}_ff);`);
|
|
21
|
-
lines.push(`let ${outName} = mix(mix(${n}_ha, ${n}_hb, ${n}_u.x), mix(${n}_hc, ${n}_hd, ${n}_u.x), ${n}_u.y);`);
|
|
22
|
-
}
|
|
23
|
-
function lensGeometryStmts(em, uvExpr, aspectExpr) {
|
|
24
|
-
const { p, stmts, U } = em;
|
|
25
|
-
stmts.push(`let ${p}_uv = ${uvExpr};`);
|
|
26
|
-
stmts.push(`let ${p}_aspect = ${aspectExpr};`);
|
|
27
|
-
stmts.push(`let ${p}_invAspect = 1.0 / ${p}_aspect;`);
|
|
28
|
-
stmts.push(`let ${p}_inradius = 0.5 * min(${p}_aspect, 1.0);`);
|
|
29
|
-
stmts.push(`let ${p}_outradius = 0.5 * length(vec2f(${p}_aspect, 1.0));`);
|
|
30
|
-
stmts.push(`let ${p}_spread = ${U("spread")};`);
|
|
31
|
-
stmts.push(`let ${p}_reach = 0.7 * pow(${p}_spread, 1.3 + 2.7 * ${p}_spread);`);
|
|
32
|
-
stmts.push(`let ${p}_centerU = ${U("center")};`);
|
|
33
|
-
stmts.push(`let ${p}_c = vec2f(${p}_centerU.x, 1.0 - ${p}_centerU.y);`);
|
|
34
|
-
stmts.push(`let ${p}_fromCenter = vec2f((${p}_uv.x - ${p}_c.x) * ${p}_aspect, ${p}_uv.y - ${p}_c.y);`);
|
|
35
|
-
stmts.push(`let ${p}_radius = length(${p}_fromCenter);`);
|
|
36
|
-
stmts.push(`let ${p}_lensBulge = ${U("lensBulge")};`);
|
|
37
|
-
stmts.push(`let ${p}_lensCircle = ${U("lensCircle")};`);
|
|
38
|
-
stmts.push(`var ${p}_bulgeFade = 1.0;`);
|
|
39
|
-
stmts.push(`var ${p}_warped = ${p}_fromCenter;`);
|
|
40
|
-
stmts.push(`let ${p}_rSafe = max(${p}_radius, 1e-5);`);
|
|
41
|
-
stmts.push(`if (${p}_lensBulge != 0.0) {`);
|
|
42
|
-
stmts.push(` let ${p}_rn = ${p}_rSafe / ${p}_inradius;`);
|
|
43
|
-
stmts.push(` let ${p}_bulgeAmt = abs(${p}_lensBulge) * select(1.2, 1.4, ${p}_lensBulge > 0.0);`);
|
|
44
|
-
stmts.push(` ${p}_bulgeFade = select(1.0, 1.0 - smoothstep(1.45, 1.53, ${p}_rn * ${p}_bulgeAmt), ${p}_lensBulge > 0.0);`);
|
|
45
|
-
stmts.push(` let ${p}_mapPos = tan(min(${p}_rn * ${p}_bulgeAmt, 1.53)) / tan(${p}_bulgeAmt);`);
|
|
46
|
-
stmts.push(` let ${p}_mapNeg = atan(${p}_rn * tan(${p}_bulgeAmt)) / ${p}_bulgeAmt;`);
|
|
47
|
-
stmts.push(` let ${p}_bulgeScale = select(${p}_mapNeg, ${p}_mapPos, ${p}_lensBulge > 0.0) / ${p}_rn;`);
|
|
48
|
-
stmts.push(` ${p}_warped = ${p}_warped * ${p}_bulgeScale;`);
|
|
49
|
-
stmts.push(`}`);
|
|
50
|
-
stmts.push(`if (${p}_lensCircle > 0.0) {`);
|
|
51
|
-
stmts.push(` let ${p}_wr = length(${p}_warped);`);
|
|
52
|
-
stmts.push(` let ${p}_dir = ${p}_warped / max(${p}_wr, 1e-5);`);
|
|
53
|
-
stmts.push(` let ${p}_halfBox = vec2f(${p}_aspect, 1.0) * 0.5;`);
|
|
54
|
-
stmts.push(` let ${p}_boxOff = vec2f((${p}_c.x - 0.5) * ${p}_aspect, ${p}_c.y - 0.5);`);
|
|
55
|
-
stmts.push(` let ${p}_rBox = min((${p}_halfBox.x - sign(${p}_dir.x) * ${p}_boxOff.x) / max(abs(${p}_dir.x), 1e-4), (${p}_halfBox.y - sign(${p}_dir.y) * ${p}_boxOff.y) / max(abs(${p}_dir.y), 1e-4));`);
|
|
56
|
-
stmts.push(` let ${p}_band = ${p}_inradius * mix(0.03, 0.2, 0.5 * (${p}_lensBulge + 1.0));`);
|
|
57
|
-
stmts.push(` let ${p}_over = smoothstep(0.0, 1.0, (${p}_wr - (${p}_inradius - ${p}_band)) / ${p}_band);`);
|
|
58
|
-
stmts.push(` let ${p}_g = ${p}_wr + (${p}_rBox - ${p}_inradius) * pow(${p}_over, 14.0);`);
|
|
59
|
-
stmts.push(` ${p}_warped = ${p}_dir * mix(${p}_wr, ${p}_g, ${p}_lensCircle);`);
|
|
60
|
-
stmts.push(`}`);
|
|
61
|
-
stmts.push(`let ${p}_baseUV = vec2f(${p}_warped.x * ${p}_invAspect, ${p}_warped.y) + ${p}_c;`);
|
|
62
|
-
stmts.push(`let ${p}_baseDeriv = fwidth(${p}_baseUV);`);
|
|
63
|
-
stmts.push(`let ${p}_edgeAA = clamp(2.0 * max(${p}_baseDeriv.x, ${p}_baseDeriv.y), 0.001, 0.02);`);
|
|
64
|
-
stmts.push(`let ${p}_frameInvAA = 1.0 / clamp(${p}_baseDeriv, vec2f(1e-5), vec2f(0.02));`);
|
|
65
|
-
stmts.push(`let ${p}_grainUV = (${p}_uv - vec2f(0.5)) * (0.8 / vec2f(length(dpdx(${p}_uv)), length(dpdy(${p}_uv)))) + vec2f(0.5);`);
|
|
66
|
-
}
|
|
67
|
-
function spreadAxisStmts(em) {
|
|
68
|
-
const { p, stmts, U } = em;
|
|
69
|
-
stmts.push(`let ${p}_angleRad = radians(${U("angle")});`);
|
|
70
|
-
stmts.push(`let ${p}_uniformDir = vec2f(cos(${p}_angleRad), sin(${p}_angleRad));`);
|
|
71
|
-
stmts.push(`let ${p}_invInradius = 1.0 / ${p}_inradius;`);
|
|
72
|
-
stmts.push(`let ${p}_maxLen = (${p}_outradius + ${p}_reach) * ${p}_invInradius;`);
|
|
73
|
-
stmts.push(`let ${p}_radialLen = ${p}_radius * ${p}_invInradius;`);
|
|
74
|
-
stmts.push(`let ${p}_radialDir = ${p}_fromCenter * ${p}_invInradius * min(1.0, ${p}_maxLen / max(${p}_radialLen, 1e-6));`);
|
|
75
|
-
stmts.push(`let ${p}_bandProximity = smoothstep(${p}_inradius * 0.8, ${p}_inradius, ${p}_radius);`);
|
|
76
|
-
stmts.push(`let ${p}_circleMaxing = ${p}_bandProximity * ${p}_lensCircle * ${p}_lensCircle * ${p}_lensCircle;`);
|
|
77
|
-
stmts.push(`let ${p}_spreadDir = mix(mix(${p}_uniformDir, ${p}_radialDir, ${U("perspective")}), ${p}_radialDir, ${p}_circleMaxing);`);
|
|
78
|
-
stmts.push(`let ${p}_warpedAbs = abs(${p}_baseUV - vec2f(0.5));`);
|
|
79
|
-
stmts.push(`let ${p}_focusCenter = ${U("focusCenter")};`);
|
|
80
|
-
stmts.push(`let ${p}_inner = mix(1.0, smoothstep(0.0, mix(${p}_inradius, ${p}_outradius, ${p}_focusCenter), ${p}_radius), ${p}_focusCenter);`);
|
|
81
|
-
stmts.push(`let ${p}_boxDist = max(${p}_warpedAbs.x, ${p}_warpedAbs.y) * 2.0;`);
|
|
82
|
-
stmts.push(`let ${p}_outer = mix(1.0, 1.0 - min(${p}_boxDist, 1.0), ${U("focusEdges")});`);
|
|
83
|
-
stmts.push(`var ${p}_strength = ${p}_inner * ${p}_outer * mix(1.0, mix(0.15, 0.03, max(-${p}_lensBulge, 0.0)), ${p}_circleMaxing);`);
|
|
84
|
-
stmts.push(`let ${p}_outside = max(${p}_warpedAbs - vec2f(0.5), vec2f(0.0));`);
|
|
85
|
-
stmts.push(`let ${p}_margin = max(${p}_reach * length(${p}_spreadDir) * (1.0 - ${p}_lensCircle), ${p}_edgeAA);`);
|
|
86
|
-
stmts.push(`${p}_strength = ${p}_strength * (1.0 - smoothstep(0.0, ${p}_margin, length(${p}_outside)));`);
|
|
87
|
-
stmts.push(`var ${p}_axis = ${p}_spreadDir * (${p}_reach * ${p}_strength);`);
|
|
88
|
-
stmts.push(`let ${p}_noise = ${U("noise")};`);
|
|
89
|
-
stmts.push(`if (${p}_noise > 0.0) {`);
|
|
90
|
-
{
|
|
91
|
-
const lines = [];
|
|
92
|
-
valueNoiseStmts(em, lines, `${p}_fromCenter * (${U("noiseFrequency")} * 18.0) + vec2f(${U("noiseOffset")} * 30.0)`, `${p}_turnNoise`);
|
|
93
|
-
for (const l of lines) stmts.push(` ${l}`);
|
|
94
|
-
}
|
|
95
|
-
stmts.push(` let ${p}_turn = (${p}_turnNoise - 0.5) * 2.0 * ${p}_noise;`);
|
|
96
|
-
stmts.push(` let ${p}_tc = cos(${p}_turn);`);
|
|
97
|
-
stmts.push(` let ${p}_ts = sin(${p}_turn);`);
|
|
98
|
-
stmts.push(` ${p}_axis = vec2f(${p}_tc * ${p}_axis.x + ${p}_ts * ${p}_axis.y, -${p}_ts * ${p}_axis.x + ${p}_tc * ${p}_axis.y);`);
|
|
99
|
-
stmts.push(`}`);
|
|
100
|
-
stmts.push(`${p}_axis = vec2f(${p}_axis.x * ${p}_invAspect, ${p}_axis.y);`);
|
|
101
|
-
stmts.push(`let ${p}_grainMixer = ${U("grainMixer")};`);
|
|
102
|
-
stmts.push(`if (${p}_grainMixer > 0.0) {`);
|
|
103
|
-
{
|
|
104
|
-
const lines = [];
|
|
105
|
-
valueNoiseStmts(em, lines, `${p}_grainUV`, `${p}_grainSeed`);
|
|
106
|
-
for (const l of lines) stmts.push(` ${l}`);
|
|
107
|
-
}
|
|
108
|
-
stmts.push(` let ${p}_jit = fract(${p}_grainSeed * vec2f(157.31, 113.57)) * 2.0 - vec2f(1.0);`);
|
|
109
|
-
stmts.push(` ${p}_axis = ${p}_axis + ${p}_jit * (0.3 * ${p}_grainMixer * length(${p}_axis));`);
|
|
110
|
-
stmts.push(`}`);
|
|
111
|
-
}
|
|
112
|
-
function frameAAMaskStmts(em, body) {
|
|
113
|
-
const { p } = em;
|
|
114
|
-
body.push(`let ${p}_lo = clamp(${p}_sampleUV * ${p}_frameInvAA + vec2f(0.5), vec2f(0.0), vec2f(1.0));`);
|
|
115
|
-
body.push(`let ${p}_hi = clamp((vec2f(1.0) - ${p}_sampleUV) * ${p}_frameInvAA + vec2f(0.5), vec2f(0.0), vec2f(1.0));`);
|
|
116
|
-
body.push(`let ${p}_frame = ${p}_lo.x * ${p}_hi.x * ${p}_lo.y * ${p}_hi.y;`);
|
|
117
|
-
}
|
|
118
|
-
function spectralFanStmts(em, texKey) {
|
|
119
|
-
const { p, stmts, U, L } = em;
|
|
120
|
-
const PI = Math.PI;
|
|
121
|
-
stmts.push(`let ${p}_countF = clamp(floor(${U("count")}), 2.0, ${L(LENS_MAX_TAPS)});`);
|
|
122
|
-
stmts.push(`let ${p}_hueBase = ${U("dispersionColor")} + 0.5;`);
|
|
123
|
-
stmts.push(`let ${p}_bias = ${U("bias")};`);
|
|
124
|
-
stmts.push(`let ${p}_biasPower = 1.0 + 2.0 * abs(${p}_bias);`);
|
|
125
|
-
stmts.push(`let ${p}_biasNeg = ${p}_bias < 0.0;`);
|
|
126
|
-
stmts.push(`let ${p}_dispShift = ${U("dispersionShift")};`);
|
|
127
|
-
stmts.push(`let ${p}_icMask = 1.0 - smoothstep(0.5 * ${p}_inradius, 1.1 * ${p}_inradius, ${p}_radius);`);
|
|
128
|
-
stmts.push(`let ${p}_dispAmt = ${U("dispersion")} * mix(clamp(1.0 + ${p}_dispShift, 0.0, 1.0), clamp(1.0 - ${p}_dispShift, 0.0, 1.0), ${p}_icMask);`);
|
|
129
|
-
stmts.push(`let ${p}_dispPower = pow(${p}_dispAmt, 0.8);`);
|
|
130
|
-
stmts.push(`let ${p}_warpedRadius = length(${p}_warped);`);
|
|
131
|
-
stmts.push(`let ${p}_swirlAngle = ${U("swirl")} * ${L(.4 * PI)} * ${p}_strength * ${p}_spread * min(1.0, ${p}_inradius / max(${p}_warpedRadius, 1e-4));`);
|
|
132
|
-
stmts.push(`let ${p}_texel = max((${p}_baseDeriv.x + ${p}_baseDeriv.y) * 0.5, 1e-6);`);
|
|
133
|
-
stmts.push(`let ${p}_fanPx = (2.0 * length(${p}_axis) + abs(${p}_swirlAngle) * ${p}_warpedRadius) / ${p}_texel;`);
|
|
134
|
-
stmts.push(`let ${p}_tapsF = clamp(ceil(${p}_fanPx * ${p}_biasPower) + 1.0, 2.0, ${p}_countF);`);
|
|
135
|
-
stmts.push(`let ${p}_invCount = 1.0 / ${p}_tapsF;`);
|
|
136
|
-
stmts.push(`let ${p}_invSpan = 1.0 / max(${p}_tapsF - 1.0, 1.0);`);
|
|
137
|
-
stmts.push(`var ${p}_colorSum = vec3f(0.0);`);
|
|
138
|
-
stmts.push(`var ${p}_weightSum = vec3f(0.0);`);
|
|
139
|
-
stmts.push(`var ${p}_coverSum = 0.0;`);
|
|
140
|
-
const body = [];
|
|
141
|
-
body.push(`let ${p}_layer = f32(${p}_i);`);
|
|
142
|
-
body.push(`let ${p}_hue = ${p}_hueBase + ${p}_layer * ${p}_invCount;`);
|
|
143
|
-
body.push(`let ${p}_t0 = ${p}_layer * ${p}_invSpan;`);
|
|
144
|
-
body.push(`let ${p}_curved = pow(select(${p}_t0, 1.0 - ${p}_t0, ${p}_biasNeg), ${p}_biasPower);`);
|
|
145
|
-
body.push(`let ${p}_spreadT = select(${p}_curved, 1.0 - ${p}_curved, ${p}_biasNeg);`);
|
|
146
|
-
body.push(`let ${p}_fanPos = 1.0 - 2.0 * ${p}_spreadT;`);
|
|
147
|
-
body.push(`let ${p}_tap0 = ${p}_baseUV + ${p}_axis * ${p}_fanPos - ${p}_c;`);
|
|
148
|
-
body.push(`let ${p}_sa = ${p}_swirlAngle * ${p}_fanPos;`);
|
|
149
|
-
body.push(`let ${p}_sc = cos(${p}_sa);`);
|
|
150
|
-
body.push(`let ${p}_ss = sin(${p}_sa);`);
|
|
151
|
-
body.push(`let ${p}_tx = ${p}_tap0.x * ${p}_aspect;`);
|
|
152
|
-
body.push(`let ${p}_sampleUV = vec2f((${p}_sc * ${p}_tx - ${p}_ss * ${p}_tap0.y) * ${p}_invAspect, ${p}_ss * ${p}_tx + ${p}_sc * ${p}_tap0.y) + ${p}_c;`);
|
|
153
|
-
frameAAMaskStmts(em, body);
|
|
154
|
-
body.push(`let ${p}_tapC = textureSampleLevel(tex.$.${texKey}, samp.$.linearClamp, ${p}_sampleUV, 0.0);`);
|
|
155
|
-
body.push(`let ${p}_cover = ${p}_tapC.a * ${p}_frame;`);
|
|
156
|
-
body.push(`let ${p}_overWhite = vec3f(1.0 - ${p}_cover) + ${p}_tapC.rgb * ${p}_frame;`);
|
|
157
|
-
body.push(`let ${p}_hraw = ${p}_hue * 6.0 + vec3f(0.0, 4.0, 2.0);`);
|
|
158
|
-
body.push(`let ${p}_hmod = ${p}_hraw - 6.0 * floor(${p}_hraw / 6.0);`);
|
|
159
|
-
body.push(`let ${p}_hclamped = clamp(abs(${p}_hmod - vec3f(3.0)) - vec3f(1.0), vec3f(0.0), vec3f(1.0));`);
|
|
160
|
-
body.push(`let ${p}_hrgb = ${p}_hclamped * ${p}_hclamped * (vec3f(3.0) - 2.0 * ${p}_hclamped);`);
|
|
161
|
-
body.push(`let ${p}_weight = vec3f(1.0) - ${p}_dispPower * ${p}_hrgb;`);
|
|
162
|
-
body.push(`${p}_colorSum = ${p}_colorSum + ${p}_overWhite * ${p}_weight;`);
|
|
163
|
-
body.push(`${p}_weightSum = ${p}_weightSum + ${p}_weight;`);
|
|
164
|
-
body.push(`${p}_coverSum = ${p}_coverSum + ${p}_cover;`);
|
|
165
|
-
stmts.push(`for (var ${p}_i = 0u; ${p}_i < u32(${p}_tapsF); ${p}_i++) {`);
|
|
166
|
-
for (const b of body) stmts.push(` ${b}`);
|
|
167
|
-
stmts.push(`}`);
|
|
168
|
-
stmts.push(`let ${p}_color = ${p}_colorSum / max(${p}_weightSum, vec3f(1e-4));`);
|
|
169
|
-
stmts.push(`let ${p}_coverAvg = ${p}_coverSum * ${p}_invCount;`);
|
|
170
|
-
stmts.push(`let ${p}_ground = min(${p}_color.r, min(${p}_color.g, ${p}_color.b));`);
|
|
171
|
-
stmts.push(`let ${p}_alpha = max(${p}_coverAvg, 1.0 - ${p}_ground);`);
|
|
172
|
-
stmts.push(`let ${p}_premul = max(${p}_color - vec3f(1.0 - ${p}_alpha), vec3f(0.0));`);
|
|
173
|
-
stmts.push(`var ${p}_out = vec4f(${p}_premul, ${p}_alpha) * ${p}_bulgeFade;`);
|
|
174
|
-
}
|
|
175
|
-
function grainOverlayStmts(em) {
|
|
176
|
-
const { p, stmts, L } = em;
|
|
177
|
-
stmts.push(`let ${p}_grainOverlay = ${em.U("grainOverlay")};`);
|
|
178
|
-
stmts.push(`if (${p}_grainOverlay > 0.0) {`);
|
|
179
|
-
{
|
|
180
|
-
const lines = [];
|
|
181
|
-
const c1 = L(Math.cos(1)), s1 = L(Math.sin(1));
|
|
182
|
-
const c2 = L(Math.cos(2)), s2 = L(Math.sin(2));
|
|
183
|
-
lines.push(`let ${p}_gr1 = vec2f(${c1} * ${p}_grainUV.x - ${s1} * ${p}_grainUV.y, ${s1} * ${p}_grainUV.x + ${c1} * ${p}_grainUV.y) + vec2f(3.0);`);
|
|
184
|
-
lines.push(`let ${p}_gr2 = vec2f(${c2} * ${p}_grainUV.x - ${s2} * ${p}_grainUV.y, ${s2} * ${p}_grainUV.x + ${c2} * ${p}_grainUV.y) + vec2f(-1.0);`);
|
|
185
|
-
valueNoiseStmts(em, lines, `${p}_gr1`, `${p}_gn1`);
|
|
186
|
-
valueNoiseStmts(em, lines, `${p}_gr2`, `${p}_gn2`);
|
|
187
|
-
lines.push(`let ${p}_grain = pow(mix(${p}_gn1, ${p}_gn2, 0.5), 1.3);`);
|
|
188
|
-
lines.push(`let ${p}_grainV = ${p}_grain * 2.0 - 1.0;`);
|
|
189
|
-
lines.push(`let ${p}_grainStrength = pow(${p}_grainOverlay * abs(${p}_grainV), 0.8) * ${p}_out.a;`);
|
|
190
|
-
lines.push(`${p}_out = vec4f(mix(${p}_out.rgb, vec3f(step(0.0, ${p}_grainV)) * ${p}_out.a, 0.35 * ${p}_grainStrength), ${p}_out.a);`);
|
|
191
|
-
for (const l of lines) stmts.push(` ${l}`);
|
|
192
|
-
}
|
|
193
|
-
stmts.push(`}`);
|
|
194
|
-
}
|
|
195
|
-
const chromaticOffsetUV = typegpu_default.fn([
|
|
196
|
-
vec2f,
|
|
197
|
-
f32,
|
|
198
|
-
f32,
|
|
199
|
-
f32,
|
|
200
|
-
f32
|
|
201
|
-
], vec2f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uv, angle, strength, aspect, channelOffset) => {
|
|
202
|
-
"use gpu";
|
|
203
|
-
const angleRad = radians(angle);
|
|
204
|
-
const direction = vec2f(__tsover_div(cos(angleRad), aspect), sin(angleRad));
|
|
205
|
-
const scaledStrength = __tsover_mul(strength, .1);
|
|
206
|
-
const offsetBase = direction.mul(scaledStrength);
|
|
207
|
-
return uv.add(offsetBase.mul(channelOffset));
|
|
208
|
-
}), {
|
|
209
|
-
v: 2,
|
|
210
|
-
name: void 0,
|
|
211
|
-
ast: {
|
|
212
|
-
"params": [
|
|
213
|
-
{
|
|
214
|
-
"type": "i",
|
|
215
|
-
"name": "uv"
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
"type": "i",
|
|
219
|
-
"name": "angle"
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
"type": "i",
|
|
223
|
-
"name": "strength"
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
"type": "i",
|
|
227
|
-
"name": "aspect"
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
"type": "i",
|
|
231
|
-
"name": "channelOffset"
|
|
232
|
-
}
|
|
233
|
-
],
|
|
234
|
-
"body": [0, [
|
|
235
|
-
[
|
|
236
|
-
13,
|
|
237
|
-
"angleRad",
|
|
238
|
-
[
|
|
239
|
-
6,
|
|
240
|
-
"std.radians",
|
|
241
|
-
["angle"]
|
|
242
|
-
]
|
|
243
|
-
],
|
|
244
|
-
[
|
|
245
|
-
13,
|
|
246
|
-
"direction",
|
|
247
|
-
[
|
|
248
|
-
6,
|
|
249
|
-
"d.vec2f",
|
|
250
|
-
[[
|
|
251
|
-
1,
|
|
252
|
-
[
|
|
253
|
-
6,
|
|
254
|
-
"std.cos",
|
|
255
|
-
["angleRad"]
|
|
256
|
-
],
|
|
257
|
-
"/",
|
|
258
|
-
"aspect"
|
|
259
|
-
], [
|
|
260
|
-
6,
|
|
261
|
-
"std.sin",
|
|
262
|
-
["angleRad"]
|
|
263
|
-
]]
|
|
264
|
-
]
|
|
265
|
-
],
|
|
266
|
-
[
|
|
267
|
-
13,
|
|
268
|
-
"scaledStrength",
|
|
269
|
-
[
|
|
270
|
-
1,
|
|
271
|
-
"strength",
|
|
272
|
-
"*",
|
|
273
|
-
[5, "0.1"]
|
|
274
|
-
]
|
|
275
|
-
],
|
|
276
|
-
[
|
|
277
|
-
13,
|
|
278
|
-
"offsetBase",
|
|
279
|
-
[
|
|
280
|
-
6,
|
|
281
|
-
[
|
|
282
|
-
7,
|
|
283
|
-
"direction",
|
|
284
|
-
"mul"
|
|
285
|
-
],
|
|
286
|
-
["scaledStrength"]
|
|
287
|
-
]
|
|
288
|
-
],
|
|
289
|
-
[10, [
|
|
290
|
-
6,
|
|
291
|
-
[
|
|
292
|
-
7,
|
|
293
|
-
"uv",
|
|
294
|
-
"add"
|
|
295
|
-
],
|
|
296
|
-
[[
|
|
297
|
-
6,
|
|
298
|
-
[
|
|
299
|
-
7,
|
|
300
|
-
"offsetBase",
|
|
301
|
-
"mul"
|
|
302
|
-
],
|
|
303
|
-
["channelOffset"]
|
|
304
|
-
]]
|
|
305
|
-
]]
|
|
306
|
-
]]
|
|
307
|
-
},
|
|
308
|
-
externals: {
|
|
309
|
-
"std.radians": () => radians,
|
|
310
|
-
"d.vec2f": () => vec2f,
|
|
311
|
-
"std.cos": () => cos,
|
|
312
|
-
"std.sin": () => sin
|
|
313
|
-
}
|
|
314
|
-
}) && $.f)({}));
|
|
315
|
-
function chromaticFan(opts) {
|
|
316
|
-
return (params) => {
|
|
317
|
-
const tapUV = (offset) => call(chromaticOffsetUV, "chromaticOffsetUV", [
|
|
318
|
-
params.ctx.uv,
|
|
319
|
-
resolveArg(opts.angle, params),
|
|
320
|
-
resolveArg(opts.strength, params),
|
|
321
|
-
params.ctx.aspect,
|
|
322
|
-
resolveArg(offset, params)
|
|
323
|
-
]);
|
|
324
|
-
const redSample = params.texture.sample(tapUV(opts.red));
|
|
325
|
-
const greenSample = params.texture.sample(tapUV(opts.green));
|
|
326
|
-
const blueSample = params.texture.sample(tapUV(opts.blue));
|
|
327
|
-
return vec4(redSample.member("r"), greenSample.member("g"), blueSample.member("b"), greenSample.member("a"));
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
function spectralLens(slots) {
|
|
331
|
-
return (params) => {
|
|
332
|
-
const { uniforms, childNode, ctx, convertToTexture } = params;
|
|
333
|
-
if (!childNode) return ZERO;
|
|
334
|
-
const texKey = convertToTexture(childNode).key;
|
|
335
|
-
return new Expr((ec) => {
|
|
336
|
-
const em = {
|
|
337
|
-
p: ec.freshLocal("lens"),
|
|
338
|
-
stmts: [],
|
|
339
|
-
U: (name) => uniforms[slots[name].name]._emit(ec),
|
|
340
|
-
L: (n) => formatFloat(n),
|
|
341
|
-
noiseIdx: { value: 0 }
|
|
342
|
-
};
|
|
343
|
-
lensGeometryStmts(em, ctx.uv._emit(ec), ctx.aspect._emit(ec));
|
|
344
|
-
spreadAxisStmts(em);
|
|
345
|
-
spectralFanStmts(em, texKey);
|
|
346
|
-
grainOverlayStmts(em);
|
|
347
|
-
for (const s of em.stmts) ec.statement(s);
|
|
348
|
-
return call(unpremultiplyAlpha, "unpremultiplyAlpha", [expr(`${em.p}_out`)])._emit(ec);
|
|
349
|
-
});
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
|
-
export { spectralLens as n, LENS_MAX_SAMPLES as r, chromaticFan as t };
|