shaders 3.2.466 → 3.2.468
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/cli.js +2 -2
- package/dist/core/{AngularBlur-CYzLRxIX.js → AngularBlur-g4-fDx1N.js} +3 -3
- package/dist/core/{Arc-BPk3cEof.js → Arc-B4VGPOtO.js} +3 -3
- package/dist/core/{Ascii-CdHomCxj.js → Ascii-DxiduEzP.js} +3 -3
- package/dist/core/{Aurora-ZmvhfgEm.js → Aurora-C0J5do9Y.js} +11 -11
- package/dist/core/{BarShift-jSfzsRXa.js → BarShift-BukEd3jr.js} +3 -3
- package/dist/core/{BarnDoors-BPLRE1MC.js → BarnDoors-BC0LM0aD.js} +3 -3
- package/dist/core/{Beam-C-AgYZUY.js → Beam-CxAXVlAf.js} +3 -3
- package/dist/core/{Bend-BGevEg2b.js → Bend-BfVVIo2C.js} +2 -2
- package/dist/core/{Blob-BdWQQEoe.js → Blob-D_IbcUCc.js} +10 -10
- package/dist/core/{BlockDissolve-DYJ0eByb.js → BlockDissolve-C9nsgIz9.js} +3 -3
- package/dist/core/{BlockNoise-BPZaPiDe.js → BlockNoise-BgwbD0rx.js} +4 -4
- package/dist/core/{BlueNoise-DHgbHkyE.js → BlueNoise-BdwOaq4G.js} +4 -4
- package/dist/core/{Blur-ZwiojwRs.js → Blur-ceuv7ZTm.js} +2 -2
- package/dist/core/{Boids-DEgu7RJE.js → Boids-C3r8YaQb.js} +5 -5
- package/dist/core/{BokehBlur-Cpx0wGKI.js → BokehBlur-C8xJ0xA8.js} +3 -3
- package/dist/core/{BrickPattern-k8Inu-i3.js → BrickPattern-C-6QFzp6.js} +3 -3
- package/dist/core/{BrightnessContrast-Dc5x9UHy.js → BrightnessContrast-CMUaNvo0.js} +3 -3
- package/dist/core/{BrushedMetal-CMi8cdop.js → BrushedMetal-De_VRtOm.js} +7 -7
- package/dist/core/{Bulge-ChyTjosH.js → Bulge-CgO7_0fe.js} +2 -2
- package/dist/core/{CRTScreen-BS9zt9Pg.js → CRTScreen-DNqe2klB.js} +2 -2
- package/dist/core/{CarbonFiber-cxca7Oyb.js → CarbonFiber-CGl2FK3J.js} +6 -6
- package/dist/core/{Chalkboard-B0ekRhuG.js → Chalkboard-CDUJz_Ae.js} +3 -3
- package/dist/core/{ChannelBlur-B9RB3TQC.js → ChannelBlur-Z8ZvN6W3.js} +2 -2
- package/dist/core/{CheckerWipe-Cyj6y993.js → CheckerWipe-DXm9kDaS.js} +3 -3
- package/dist/core/{Checkerboard-BMFb732q.js → Checkerboard-DZAABNKo.js} +3 -3
- package/dist/core/{Chevron-C-NMRE-n.js → Chevron-Dn1iHSiS.js} +3 -3
- package/dist/core/{ChromaFlow-DR5NqU9g.js → ChromaFlow-lnaJ4o1Y.js} +5 -5
- package/dist/core/{ChromaticAberration-DAkEq37T.js → ChromaticAberration-CGOQe4Pp.js} +4 -4
- package/dist/core/{Chrome-CRPStB55.js → Chrome-BFQsMQii.js} +6 -6
- package/dist/core/{Circle-DGlgfW3s.js → Circle-DVPhvXdr.js} +3 -3
- package/dist/core/{ColorWheel-DT8mnYUd.js → ColorWheel-DXkVOQl2.js} +3 -3
- package/dist/core/{CompressionArtifacts-C-99Zegd.js → CompressionArtifacts-CEw9gfTu.js} +3 -3
- package/dist/core/{ConcentricSpin-Ct2MMQ8o.js → ConcentricSpin-GtNEq1T1.js} +2 -2
- package/dist/core/{ConicGradient-BX4r-b8D.js → ConicGradient-DYPNJAOg.js} +4 -4
- package/dist/core/{ContourLines-CRmDo9Au.js → ContourLines-DEmEepvT.js} +3 -3
- package/dist/core/{CornerPin-CFk5fAci.js → CornerPin-CJJeGyVf.js} +3 -3
- package/dist/core/{Crescent-C0cIoAZZ.js → Crescent-C7yy9-xf.js} +2 -2
- package/dist/core/{Cross-DE8eHkJg.js → Cross-DyYrdTVw.js} +2 -2
- package/dist/core/{Crystal-1HBq83Hx.js → Crystal-DsO60tef.js} +6 -6
- package/dist/core/{CurlNoise-D93EJl-q.js → CurlNoise-Bjc6hhjR.js} +4 -4
- package/dist/core/{CursorRipples-BIMDDmb9.js → CursorRipples-C1PNyYcB.js} +4 -4
- package/dist/core/{CursorTrail-BQJ7PeRH.js → CursorTrail-C6v97bId.js} +4 -4
- package/dist/core/{DataMosh-BREAC50Y.js → DataMosh-AX4kIi4R.js} +3 -3
- package/dist/core/{DiamondGradient-D87o3scS.js → DiamondGradient-Bj6mUxOy.js} +4 -4
- package/dist/core/{DiamondWipe-CCP141m_.js → DiamondWipe-BNSkpUn9.js} +3 -3
- package/dist/core/{DiffuseBlur-CoXbP2uS.js → DiffuseBlur-C7l-5Dw3.js} +3 -3
- package/dist/core/{DisplacementMap-CDBviJSR.js → DisplacementMap-DGpLSlxs.js} +3 -3
- package/dist/core/{Dither-COUbgNOv.js → Dither-C9KDpqgP.js} +3 -3
- package/dist/core/{DotGrid-DDJT2DT-.js → DotGrid-CkAtf-j_.js} +3 -3
- package/dist/core/{DropShadow-CP86N89M.js → DropShadow-BxI_a7dC.js} +3 -3
- package/dist/core/{Duotone-BHhqxBa8.js → Duotone-CrJ0P0SL.js} +3 -3
- package/dist/core/{Ellipse-BVIaeow2.js → Ellipse-C2Tie_19.js} +2 -2
- package/dist/core/{Emboss-Dzm1SN6s.js → Emboss-iwNwt1-u.js} +5 -5
- package/dist/core/{Engraving-HTB_OKsk.js → Engraving-RpxXPqQq.js} +3 -3
- package/dist/core/{ErosionNoise-BpVjihW1.js → ErosionNoise-D0qefxhq.js} +4 -4
- package/dist/core/{Exposure-D996Qz_5.js → Exposure-B7W7AVbY.js} +3 -3
- package/dist/core/{FallingLines-DpGJB3PZ.js → FallingLines-Cxhmtqf4.js} +3 -3
- package/dist/core/{FilmGrain-CoMG_xOV.js → FilmGrain-CghUJIeK.js} +3 -3
- package/dist/core/{FilmStock-B-kutQT-.js → FilmStock-DmOaROtC.js} +4 -4
- package/dist/core/{Flip-B5lYH2Mt.js → Flip-BuOdbWjK.js} +3 -3
- package/dist/core/{FloatingParticles-k5C-jR2C.js → FloatingParticles-BVRlM_zv.js} +5 -5
- package/dist/core/{FlowField-Dfb8PUsC.js → FlowField-A2njOtGx.js} +3 -3
- package/dist/core/{Flower-CA-S5hXJ.js → Flower-CwdJOVR1.js} +2 -2
- package/dist/core/{FlowingGradient-BCCYaHRU.js → FlowingGradient-BEu60rLu.js} +7 -7
- package/dist/core/{FlutedGlass-CR1xOIi_.js → FlutedGlass-BWlTrLF-.js} +4 -4
- package/dist/core/{Fog-oEs_BnaR.js → Fog-CpmIyRtJ.js} +4 -4
- package/dist/core/{Form3D-DZGLqyd_.js → Form3D-C03PdKOa.js} +4 -4
- package/dist/core/{FractalNoise-CTWIy4XL.js → FractalNoise-DsESU8cP.js} +4 -4
- package/dist/core/{Frost-7w9_JrnS.js → Frost-D4aH-OM_.js} +7 -7
- package/dist/core/{GaborNoise-ELV6bp27.js → GaborNoise-D3U1iz9E.js} +4 -4
- package/dist/core/{Glass-CJPcyPBk.js → Glass-tS9J3fue.js} +7 -7
- package/dist/core/{GlassTiles-C0MibxZj.js → GlassTiles-BxdT6Ee8.js} +2 -2
- package/dist/core/{Glitch-DEIOsLBF.js → Glitch-DQeLaNdU.js} +2 -2
- package/dist/core/{Glow-C7Sno5Ew.js → Glow-DksG7wdu.js} +3 -3
- package/dist/core/{Godrays-Dh47KnXp.js → Godrays-D2Pzd9K9.js} +3 -3
- package/dist/core/{Goo-Dcq727vU.js → Goo-C7n1aFSC.js} +7 -7
- package/dist/core/{GradientMap--7ReYVMB.js → GradientMap-B-5yUYjX.js} +4 -4
- package/dist/core/{Grayscale-DQCJ5wrK.js → Grayscale-g7jQsxgi.js} +2 -2
- package/dist/core/{Grid-BpMP5zeZ.js → Grid-DAglpJFP.js} +3 -3
- package/dist/core/{GridDistortion-CmuUD1ex.js → GridDistortion-CNlIESbs.js} +5 -5
- package/dist/core/{Group-2Ug5Edun.js → Group-CeOfFv2K.js} +1 -1
- package/dist/core/{HTMLInCanvas-C2r3_EHD.js → HTMLInCanvas-BgwCnbYn.js} +1 -1
- package/dist/core/{Halftone-DzKEDw2i.js → Halftone-DCiP4EDq.js} +3 -3
- package/dist/core/{Heart-2q0-jrCf.js → Heart-CQhtzwFu.js} +2 -2
- package/dist/core/{Heatmap-pvthE7lz.js → Heatmap-Wy_0SxOF.js} +7 -7
- package/dist/core/{HexGrid-C9Bg6n-J.js → HexGrid-BY_BPH8J.js} +3 -3
- package/dist/core/{Hologram-KLJHNdyR.js → Hologram-C3sww1q_.js} +6 -6
- package/dist/core/{Holographic-XSHxaTzf.js → Holographic-B9PvU6cz.js} +6 -6
- package/dist/core/{HueShift-IWU26WTo.js → HueShift-BnwOshrg.js} +3 -3
- package/dist/core/{ImageTexture-BeuG9nNt.js → ImageTexture-Cd6vH2Z0.js} +2 -2
- package/dist/core/{InkFlow-CZWr9GHy.js → InkFlow-B7F9i3Kd.js} +5 -5
- package/dist/core/{Invert-B31ZEOnz.js → Invert-6Q5kX8vd.js} +2 -2
- package/dist/core/{IrisWipe-b2v0EUwG.js → IrisWipe-Cl5yYdEi.js} +3 -3
- package/dist/core/{Irradiance-DrBoTNBZ.js → Irradiance-CQ12Hyf9.js} +9 -9
- package/dist/core/{IsometricCubes-ZGnFUu9w.js → IsometricCubes-BhK9MhCy.js} +3 -3
- package/dist/core/{Kaleidoscope-DS_fVo-o.js → Kaleidoscope-D4X5N_qk.js} +2 -2
- package/dist/core/{KeyFrames-BfHKDsom.js → KeyFrames-Dv1vFfMa.js} +3 -3
- package/dist/core/{LensDistortion-Df9T10tP.js → LensDistortion-BqVp5WBS.js} +3 -3
- package/dist/core/{LensFlare-DB0FhwdB.js → LensFlare-z0k68uJ1.js} +3 -3
- package/dist/core/{LightEdge-CQorAHVj.js → LightEdge-DGkuJl9I.js} +5 -5
- package/dist/core/{LightLeak-CizWQXS5.js → LightLeak-BgFq4bLG.js} +4 -4
- package/dist/core/{Line-CjKmSkI-.js → Line--Ur3CJp1.js} +3 -3
- package/dist/core/{LinearBlur-BGtNHF-U.js → LinearBlur-BkHF6lVm.js} +3 -3
- package/dist/core/{LinearGradient-CQZZmLiw.js → LinearGradient-DIdq_fiw.js} +4 -4
- package/dist/core/{LinearWipe-CujAITNA.js → LinearWipe-DuCB9oV_.js} +3 -3
- package/dist/core/{LiquidMetal-Dvn49LUc.js → LiquidMetal-BPvuHdsf.js} +7 -7
- package/dist/core/{Liquify-B4FTW8h6.js → Liquify-CvPn1ze-.js} +4 -4
- package/dist/core/{MagneticFilings-D1m7EXmm.js → MagneticFilings-DPNRCKVe.js} +5 -5
- package/dist/core/{Marble-BlXh-fBp.js → Marble-DyGenjAa.js} +7 -7
- package/dist/core/{MeshGradient-DQ5f-9XR.js → MeshGradient-CEVDVK8_.js} +30 -11
- package/dist/core/{Mirror-efIr9F2U.js → Mirror-Ck8qk1Km.js} +2 -2
- package/dist/core/{MultiPointGradient-rr7lq4eW.js → MultiPointGradient-DwO6snxn.js} +3 -3
- package/dist/core/{Nebula-CvW92f75.js → Nebula-Bn7VT1xx.js} +8 -8
- package/dist/core/{Neon-BQT09YKc.js → Neon-CXuFhmfD.js} +5 -5
- package/dist/core/{NoiseDissolve-BNdrRbOc.js → NoiseDissolve-DgvzEFOD.js} +3 -3
- package/dist/core/{ObjectTracker-C68u40Ku.js → ObjectTracker-IopW8Jvf.js} +3 -3
- package/dist/core/{Obsidian-FzvuWCb0.js → Obsidian-Dph7T7YI.js} +8 -8
- package/dist/core/{PagePeel-nlJxITO2.js → PagePeel-BeAr_n0U.js} +2 -2
- package/dist/core/{Paper-CqVmEVBn.js → Paper-BDEsyIPI.js} +2 -2
- package/dist/core/{Parallelogram-DWPd1fyo.js → Parallelogram-Duj-0MLr.js} +2 -2
- package/dist/core/{ParticleField-C_KzrV0O.js → ParticleField-BaG_4DLj.js} +4 -4
- package/dist/core/{ParticleFlow-Brj0G-ks.js → ParticleFlow-Aocbr_mH.js} +6 -6
- package/dist/core/{Particles-Br305oHl.js → Particles-CGFjT2p5.js} +6 -6
- package/dist/core/{PerlinNoise-B4aWFOGc.js → PerlinNoise-BHQ318g4.js} +4 -4
- package/dist/core/{Perspective-BeiqPceh.js → Perspective-xBfd9BSE.js} +3 -3
- package/dist/core/{PixelSort-Dyli4iK-.js → PixelSort-Bx9sUnGm.js} +4 -4
- package/dist/core/{PixelThrow-ipagWXI8.js → PixelThrow-0nJiGsmZ.js} +4 -4
- package/dist/core/{Pixelate-P6clGjdH.js → Pixelate-CvCzoA0h.js} +2 -2
- package/dist/core/{Plasma-Dvqd9oyK.js → Plasma-Be1yxNcP.js} +4 -4
- package/dist/core/{Plastic-C6Ts78Md.js → Plastic-C-N31O7u.js} +7 -7
- package/dist/core/{PolarCoordinates-CQHtNHbq.js → PolarCoordinates-BGwTZ6NO.js} +2 -2
- package/dist/core/{Polygon-DGwVhe-8.js → Polygon-Byw5C7Qy.js} +3 -3
- package/dist/core/{Posterize-Bf7pCRaJ.js → Posterize-BHOstvyj.js} +2 -2
- package/dist/core/{Prism-DSfkY3f7.js → Prism-pNsLhW8w.js} +6 -6
- package/dist/core/{ProgressiveBlur-DYY4Htdn.js → ProgressiveBlur-CR1IbvKQ.js} +3 -3
- package/dist/core/{RadialGradient-DA305XkI.js → RadialGradient-BFOrMAK1.js} +4 -4
- package/dist/core/{RadialWipe-C5NG2ve7.js → RadialWipe-BYnlbrNm.js} +3 -3
- package/dist/core/{RandomBars-CSrG25B9.js → RandomBars-B7erRRHx.js} +3 -3
- package/dist/core/{ReactionDiffusion-W4ncKC3u.js → ReactionDiffusion-BnY40jHs.js} +5 -5
- package/dist/core/{RectangularCoordinates-CLkBF5WG.js → RectangularCoordinates-D9-3PQAz.js} +2 -2
- package/dist/core/{ReflectivePlane-nQbY5WT9.js → ReflectivePlane-BI-LIR2c.js} +3 -3
- package/dist/core/{Repeater-C7AL9Mxl.js → Repeater-C5LILb_Y.js} +3 -3
- package/dist/core/{Ring-CXT7fK-h.js → Ring-CvvtJYAf.js} +2 -2
- package/dist/core/{RippleWipe-C9zw2zoh.js → RippleWipe-kAzZWsjR.js} +3 -3
- package/dist/core/{Ripples-CZLal2P3.js → Ripples-BFLep1r1.js} +3 -3
- package/dist/core/{RoundedRect-o5gVIChP.js → RoundedRect-DirNijIY.js} +2 -2
- package/dist/core/{Saturation-D6v2GPIE.js → Saturation-CfkRhJpe.js} +3 -3
- package/dist/core/{Scratches-3lOFIxB6.js → Scratches-Dchfw1_5.js} +4 -4
- package/dist/core/{Sharpness-0dzvGI0f.js → Sharpness-DZzAnlsl.js} +3 -3
- package/dist/core/{Shatter-CwYKzuyE.js → Shatter-Dz3sH2ON.js} +2 -2
- package/dist/core/{SimplexNoise-CfnpltZJ.js → SimplexNoise-CmV42gYT.js} +4 -4
- package/dist/core/{SineWave-CazFqILA.js → SineWave-TqnpIKO4.js} +3 -3
- package/dist/core/{SliceWipe-BLaREJfc.js → SliceWipe-Dz8vj6bi.js} +2 -2
- package/dist/core/{Smoke-EnlKNhZI.js → Smoke-B1TnZnG6.js} +4 -4
- package/dist/core/{SmokeFill-D0zfxSDC.js → SmokeFill-C4yVAkT9.js} +7 -7
- package/dist/core/{SmokeFlow-BtK1mACJ.js → SmokeFlow-dd5uLztm.js} +4 -4
- package/dist/core/{Solarize-BiJ-2cQr.js → Solarize-CIQa9pKw.js} +3 -3
- package/dist/core/{SolidColor-BMk9Meqf.js → SolidColor-DuoQVKGk.js} +3 -3
- package/dist/core/{Spherize-C77O2QfA.js → Spherize-FWwWEUyE.js} +3 -3
- package/dist/core/{Spiral-B5iRW2Fi.js → Spiral-DI1eG0E3.js} +3 -3
- package/dist/core/{Star-DmZNq1Ze.js → Star-DT-hnlIJ.js} +2 -2
- package/dist/core/{Stone-BWJQO3db.js → Stone-oW35zD22.js} +3 -3
- package/dist/core/{Strands-DtRFs3Bx.js → Strands-asB3fUr9.js} +4 -4
- package/dist/core/{Stretch-VTtGN0nA.js → Stretch-Cm_B4WGY.js} +2 -2
- package/dist/core/{Stripes-C7rPhXJ0.js → Stripes-BnJiniJY.js} +3 -3
- package/dist/core/{StudioBackground-DgnCqp2D.js → StudioBackground-DwSO5KNV.js} +6 -6
- package/dist/core/{SunBurst-OW_KKnBa.js → SunBurst-BL-BryZO.js} +3 -3
- package/dist/core/{Surface3D-DcCmrxwq.js → Surface3D-DSvh7Zof.js} +5 -5
- package/dist/core/{Swirl-CCnPenFE.js → Swirl-BVPy039a.js} +4 -4
- package/dist/core/{Teardrop-MmYDzl0h.js → Teardrop-CR1UqYaF.js} +2 -2
- package/dist/core/{Text-CcWqiOY2.js → Text-fP5temat.js} +3 -3
- package/dist/core/{ThinFilm-BHGcmG02.js → ThinFilm--MFVM9D5.js} +5 -5
- package/dist/core/{TiltShift-DGfiXqhS.js → TiltShift-BvYpYELk.js} +3 -3
- package/dist/core/{TimeTrail-kBFCyhz-.js → TimeTrail-DqdYuHn7.js} +5 -5
- package/dist/core/{Tint-DKSCEEcg.js → Tint-BXJMHYvg.js} +3 -3
- package/dist/core/{Trapezoid-DuCdglLG.js → Trapezoid--AgyKOWQ.js} +2 -2
- package/dist/core/{TriangularGrid-CoUtF1N-.js → TriangularGrid-CmDApxz9.js} +3 -3
- package/dist/core/{Tritone-DNj_12sI.js → Tritone-DCd_IRp7.js} +3 -3
- package/dist/core/{Truchet-CWSNjtK8.js → Truchet-g1_jcoZ4.js} +3 -3
- package/dist/core/{Twirl-BIN5kbyh.js → Twirl-JY-PXDS2.js} +2 -2
- package/dist/core/{VHS-C64a6_3I.js → VHS-ZWR6D4Da.js} +2 -2
- package/dist/core/{VenetianBlinds-B7fG32kV.js → VenetianBlinds-B7laTyPO.js} +3 -3
- package/dist/core/{Vesica-CKcBbVpy.js → Vesica-BTNW2p5u.js} +2 -2
- package/dist/core/{Vibrance-CK1KU-pF.js → Vibrance-DmhtRT2D.js} +3 -3
- package/dist/core/{VideoTexture-B9y2J6nd.js → VideoTexture-DK3EaAHY.js} +2 -2
- package/dist/core/{Vignette-DjSp8WlS.js → Vignette-hyFfUS20.js} +5 -5
- package/dist/core/{Voronoi-BB954UEY.js → Voronoi-DhexPwNM.js} +5 -5
- package/dist/core/Voxels-CIfWtuUp.js +8547 -0
- package/dist/core/{Water-CV68ciDJ.js → Water-CnzSPBJI.js} +7 -7
- package/dist/core/{Watercolor-gBOdRnaY.js → Watercolor-C1HipGGO.js} +4 -4
- package/dist/core/{WaveDistortion-LW0ChM_d.js → WaveDistortion-VXyHFcJ3.js} +2 -2
- package/dist/core/{Waveform-C8FBbanw.js → Waveform-CSP_4nZF.js} +9 -9
- package/dist/core/{WaveletNoise-Ct-RCxkn.js → WaveletNoise-CQqAufyv.js} +4 -4
- package/dist/core/{Weave-C4SyYB8y.js → Weave-DwX8T4_Q.js} +3 -3
- package/dist/core/{WebcamTexture-CA_qO9pq.js → WebcamTexture-B4SLwIP1.js} +2 -2
- package/dist/core/{Wool-sp6kjEY_.js → Wool-qg-z_TFC.js} +3 -3
- package/dist/core/{WorleyNoise-D1NWWFaR.js → WorleyNoise-CjVw20Fl.js} +3 -3
- package/dist/core/{ZoomBlur-BqYTdgz_.js → ZoomBlur-Lm_pVpMf.js} +3 -3
- package/dist/core/{agents-DQe7pxeW.js → agents-B0ZiK3le.js} +4 -4
- package/dist/core/{agents-DbBxdNWq.js → agents-DXoEcto0.js} +1 -1
- package/dist/core/{blur-DYLrOqIN.js → blur-7yjVyMvI.js} +1 -1
- package/dist/core/{blurs-C6sv2MNe.js → blurs-d4B9aUyx.js} +5 -5
- package/dist/core/{color-C7Y571Qo.js → color-Do6tU0ry.js} +2 -2
- package/dist/core/{compose-CKGyjLJ0.js → compose-Dkf3v-xS.js} +4 -4
- package/dist/core/{feedback-B2yDzwyJ.js → feedback-Dro_hxd4.js} +1 -1
- package/dist/core/{fields-DtRxK0iL.js → fields-DgADOKsP.js} +86 -9
- package/dist/core/{figures-CpLCtiIg.js → figures-B3lUGP8u.js} +3 -3
- package/dist/core/{fluids-Db0oWuO7.js → fluids-umEWgdvj.js} +2 -2
- package/dist/core/{frames-BLQE4FjA.js → frames-BLqt7oaW.js} +2 -2
- package/dist/core/{glass-BAA-gnEl.js → glass-ABppDbYG.js} +1 -1
- package/dist/core/gpu/composer.d.ts +3 -1
- package/dist/core/gpu/composer.d.ts.map +1 -1
- package/dist/core/gpu/contract.d.ts +3 -1
- package/dist/core/gpu/contract.d.ts.map +1 -1
- package/dist/core/gpu/index.d.ts.map +1 -1
- package/dist/core/gpu/kit/fields.d.ts +19 -0
- package/dist/core/gpu/kit/fields.d.ts.map +1 -1
- package/dist/core/gpu/kit/index.d.ts +1 -0
- package/dist/core/gpu/kit/index.d.ts.map +1 -1
- package/dist/core/gpu/kit/sdf3d.d.ts +39 -2
- package/dist/core/gpu/kit/sdf3d.d.ts.map +1 -1
- package/dist/core/gpu/kit/voxels.d.ts +229 -0
- package/dist/core/gpu/kit/voxels.d.ts.map +1 -0
- package/dist/core/{gradientPaints-CeLGuaeA.js → gradientPaints-5HpJVNfb.js} +3 -3
- package/dist/core/{gradients-C8qE2n4g.js → gradients-CIxKrfME.js} +4 -4
- package/dist/core/index.js +251 -244
- package/dist/core/{lens-CWFAxwR8.js → lens-DJQNJKCW.js} +1 -1
- package/dist/core/{light-DtqDDoLB.js → light-D3BIVkxy.js} +6 -6
- package/dist/core/{lightfields-BKy8DxIZ.js → lightfields-DvrUaH_6.js} +2 -2
- package/dist/core/{lower-yTKQx3pz.js → lower-Bd2jez_2.js} +445 -4
- package/dist/core/{mask-Clb-F2z0.js → mask-CeSwL79Q.js} +2 -2
- package/dist/core/{materials-DWRWmfkA.js → materials-9wjBrzQO.js} +6 -5
- package/dist/core/{math-DpiFV1BZ.js → math-D864seEs.js} +4 -2
- package/dist/core/{media-ByrvHD7G.js → media-DXUY3ltG.js} +1 -1
- package/dist/core/{motionBlur-D_Tr1tup.js → motionBlur-g_WSi2iq.js} +2 -2
- package/dist/core/{noise-BuBsH8Ef.js → noise-d7rmP9yc.js} +6 -6
- package/dist/core/{noiseColor-DkHB7Xz5.js → noiseColor-DuWjYRmO.js} +2 -2
- package/dist/core/{noisePaints-DDdS-W_G.js → noisePaints-CfHcXL02.js} +3 -3
- package/dist/core/{overlay-D3-T3rF_.js → overlay-D5w0585O.js} +2 -2
- package/dist/core/{patterns-QKoVTznT.js → patterns-Bg8lSdqH.js} +6 -6
- package/dist/core/{pointerFields-DRyRIqPt.js → pointerFields-CRecZwuZ.js} +2 -2
- package/dist/core/{porters-Cq56lDOB.js → porters-OTkIMOyl.js} +2 -2
- package/dist/core/presetRenderer.d.ts.map +1 -1
- package/dist/core/registry.js +243 -242
- package/dist/core/{reveal-Dlgs2rNt.js → reveal-CfaAg-rg.js} +1 -1
- package/dist/core/{sdf3d-CwyfHq_Y.js → sdf3d-sya0j8F2.js} +1906 -1200
- package/dist/core/shaderRegistry-DG3mjxb3.js +443 -0
- package/dist/core/shaderRegistry.d.ts.map +1 -1
- package/dist/core/shaders/AngularBlur/index.js +8 -8
- package/dist/core/shaders/Arc/index.js +5 -5
- package/dist/core/shaders/Ascii/index.js +7 -7
- package/dist/core/shaders/Aurora/index.js +19 -19
- package/dist/core/shaders/BarShift/index.js +6 -6
- package/dist/core/shaders/BarnDoors/index.js +5 -5
- package/dist/core/shaders/Beam/index.js +9 -9
- package/dist/core/shaders/Bend/index.js +6 -6
- package/dist/core/shaders/Blob/index.js +16 -16
- package/dist/core/shaders/BlockDissolve/index.js +5 -5
- package/dist/core/shaders/BlockNoise/index.js +12 -12
- package/dist/core/shaders/BlueNoise/index.js +12 -12
- package/dist/core/shaders/Blur/index.js +8 -8
- package/dist/core/shaders/Boids/index.js +7 -7
- package/dist/core/shaders/BokehBlur/index.js +8 -8
- package/dist/core/shaders/BrickPattern/index.js +11 -11
- package/dist/core/shaders/BrightnessContrast/index.js +6 -6
- package/dist/core/shaders/BrushedMetal/index.js +9 -9
- package/dist/core/shaders/Bulge/index.js +6 -6
- package/dist/core/shaders/CRTScreen/index.js +8 -8
- package/dist/core/shaders/CarbonFiber/index.js +9 -9
- package/dist/core/shaders/Chalkboard/index.js +7 -7
- package/dist/core/shaders/ChannelBlur/index.js +8 -8
- package/dist/core/shaders/CheckerWipe/index.js +5 -5
- package/dist/core/shaders/Checkerboard/index.js +11 -11
- package/dist/core/shaders/Chevron/index.js +11 -11
- package/dist/core/shaders/ChromaFlow/index.js +6 -6
- package/dist/core/shaders/ChromaticAberration/index.js +9 -9
- package/dist/core/shaders/Chrome/index.js +8 -8
- package/dist/core/shaders/Circle/index.js +5 -5
- package/dist/core/shaders/ColorWheel/index.js +9 -9
- package/dist/core/shaders/CompressionArtifacts/index.js +5 -5
- package/dist/core/shaders/ConcentricSpin/index.js +6 -6
- package/dist/core/shaders/ConicGradient/index.js +9 -9
- package/dist/core/shaders/ContourLines/index.js +5 -5
- package/dist/core/shaders/CornerPin/index.js +6 -6
- package/dist/core/shaders/Crescent/index.js +4 -4
- package/dist/core/shaders/Cross/index.js +4 -4
- package/dist/core/shaders/Crystal/index.js +9 -9
- package/dist/core/shaders/CurlNoise/index.js +12 -12
- package/dist/core/shaders/CursorRipples/index.js +6 -6
- package/dist/core/shaders/CursorTrail/index.js +5 -5
- package/dist/core/shaders/DataMosh/index.js +5 -5
- package/dist/core/shaders/DiamondGradient/index.js +9 -9
- package/dist/core/shaders/DiamondWipe/index.js +5 -5
- package/dist/core/shaders/DiffuseBlur/index.js +8 -8
- package/dist/core/shaders/DisplacementMap/index.js +6 -6
- package/dist/core/shaders/Dither/index.js +11 -11
- package/dist/core/shaders/DotGrid/index.js +11 -11
- package/dist/core/shaders/DropShadow/index.js +8 -8
- package/dist/core/shaders/Duotone/index.js +5 -5
- package/dist/core/shaders/Ellipse/index.js +4 -4
- package/dist/core/shaders/Emboss/index.js +7 -7
- package/dist/core/shaders/Engraving/index.js +7 -7
- package/dist/core/shaders/ErosionNoise/index.js +12 -12
- package/dist/core/shaders/Exposure/index.js +6 -6
- package/dist/core/shaders/FallingLines/index.js +11 -11
- package/dist/core/shaders/FilmGrain/index.js +6 -6
- package/dist/core/shaders/FilmStock/index.js +11 -11
- package/dist/core/shaders/Flip/index.js +6 -6
- package/dist/core/shaders/FloatingParticles/index.js +7 -7
- package/dist/core/shaders/FlowField/index.js +6 -6
- package/dist/core/shaders/Flower/index.js +4 -4
- package/dist/core/shaders/FlowingGradient/index.js +13 -13
- package/dist/core/shaders/FlutedGlass/index.js +9 -9
- package/dist/core/shaders/Fog/index.js +5 -5
- package/dist/core/shaders/Form3D/index.js +5 -5
- package/dist/core/shaders/FractalNoise/index.js +11 -11
- package/dist/core/shaders/Frost/index.js +9 -9
- package/dist/core/shaders/GaborNoise/index.js +12 -12
- package/dist/core/shaders/Glass/index.js +9 -9
- package/dist/core/shaders/GlassTiles/index.js +6 -6
- package/dist/core/shaders/Glitch/index.js +8 -8
- package/dist/core/shaders/Glow/index.js +9 -9
- package/dist/core/shaders/Godrays/index.js +10 -10
- package/dist/core/shaders/Goo/index.js +9 -9
- package/dist/core/shaders/GradientMap/index.js +6 -6
- package/dist/core/shaders/Grayscale/index.js +5 -5
- package/dist/core/shaders/Grid/index.js +11 -11
- package/dist/core/shaders/GridDistortion/index.js +9 -9
- package/dist/core/shaders/Group/index.js +4 -4
- package/dist/core/shaders/HTMLInCanvas/index.js +4 -4
- package/dist/core/shaders/Halftone/index.js +11 -11
- package/dist/core/shaders/Heart/index.js +4 -4
- package/dist/core/shaders/Heatmap/index.js +9 -9
- package/dist/core/shaders/HexGrid/index.js +11 -11
- package/dist/core/shaders/Hologram/index.js +8 -8
- package/dist/core/shaders/Holographic/index.js +8 -8
- package/dist/core/shaders/HueShift/index.js +6 -6
- package/dist/core/shaders/ImageTexture/index.js +4 -4
- package/dist/core/shaders/InkFlow/index.js +6 -6
- package/dist/core/shaders/Invert/index.js +5 -5
- package/dist/core/shaders/IrisWipe/index.js +5 -5
- package/dist/core/shaders/Irradiance/index.js +11 -11
- package/dist/core/shaders/IsometricCubes/index.js +11 -11
- package/dist/core/shaders/Kaleidoscope/index.js +6 -6
- package/dist/core/shaders/KeyFrames/index.js +5 -5
- package/dist/core/shaders/LensDistortion/index.js +4 -4
- package/dist/core/shaders/LensFlare/index.js +10 -10
- package/dist/core/shaders/LightEdge/index.js +8 -8
- package/dist/core/shaders/LightLeak/index.js +10 -10
- package/dist/core/shaders/Line/index.js +8 -8
- package/dist/core/shaders/LinearBlur/index.js +8 -8
- package/dist/core/shaders/LinearGradient/index.js +9 -9
- package/dist/core/shaders/LinearWipe/index.js +5 -5
- package/dist/core/shaders/LiquidMetal/index.js +9 -9
- package/dist/core/shaders/Liquify/index.js +8 -8
- package/dist/core/shaders/MagneticFilings/index.js +7 -7
- package/dist/core/shaders/Marble/index.js +13 -13
- package/dist/core/shaders/MeshGradient/index.d.ts.map +1 -1
- package/dist/core/shaders/MeshGradient/index.js +15 -14
- package/dist/core/shaders/Mirror/index.js +6 -6
- package/dist/core/shaders/MultiPointGradient/index.js +9 -9
- package/dist/core/shaders/Nebula/index.js +11 -11
- package/dist/core/shaders/Neon/index.js +7 -7
- package/dist/core/shaders/NoiseDissolve/index.js +5 -5
- package/dist/core/shaders/ObjectTracker/index.js +5 -5
- package/dist/core/shaders/Obsidian/index.js +13 -13
- package/dist/core/shaders/PagePeel/index.js +8 -8
- package/dist/core/shaders/Paper/index.js +6 -6
- package/dist/core/shaders/Parallelogram/index.js +4 -4
- package/dist/core/shaders/ParticleField/index.js +7 -7
- package/dist/core/shaders/ParticleFlow/index.js +8 -8
- package/dist/core/shaders/Particles/index.js +7 -7
- package/dist/core/shaders/PerlinNoise/index.js +12 -12
- package/dist/core/shaders/Perspective/index.js +6 -6
- package/dist/core/shaders/PixelSort/index.js +6 -6
- package/dist/core/shaders/PixelThrow/index.js +6 -6
- package/dist/core/shaders/Pixelate/index.js +8 -8
- package/dist/core/shaders/Plasma/index.js +9 -9
- package/dist/core/shaders/Plastic/index.js +9 -9
- package/dist/core/shaders/PolarCoordinates/index.js +6 -6
- package/dist/core/shaders/Polygon/index.js +5 -5
- package/dist/core/shaders/Posterize/index.js +5 -5
- package/dist/core/shaders/Prism/index.js +10 -10
- package/dist/core/shaders/ProgressiveBlur/index.js +8 -8
- package/dist/core/shaders/RadialGradient/index.js +9 -9
- package/dist/core/shaders/RadialWipe/index.js +5 -5
- package/dist/core/shaders/RandomBars/index.js +5 -5
- package/dist/core/shaders/ReactionDiffusion/index.js +6 -6
- package/dist/core/shaders/RectangularCoordinates/index.js +6 -6
- package/dist/core/shaders/ReflectivePlane/index.js +8 -8
- package/dist/core/shaders/Repeater/index.js +4 -4
- package/dist/core/shaders/Ring/index.js +4 -4
- package/dist/core/shaders/RippleWipe/index.js +5 -5
- package/dist/core/shaders/Ripples/index.js +11 -11
- package/dist/core/shaders/RoundedRect/index.js +4 -4
- package/dist/core/shaders/Saturation/index.js +6 -6
- package/dist/core/shaders/Scratches/index.js +12 -12
- package/dist/core/shaders/Sharpness/index.js +9 -9
- package/dist/core/shaders/Shatter/index.js +4 -4
- package/dist/core/shaders/SimplexNoise/index.js +12 -12
- package/dist/core/shaders/SineWave/index.js +8 -8
- package/dist/core/shaders/SliceWipe/index.js +6 -6
- package/dist/core/shaders/Smoke/index.js +5 -5
- package/dist/core/shaders/SmokeFill/index.js +8 -8
- package/dist/core/shaders/SmokeFlow/index.js +5 -5
- package/dist/core/shaders/Solarize/index.js +6 -6
- package/dist/core/shaders/SolidColor/index.js +9 -9
- package/dist/core/shaders/Spherize/index.js +8 -8
- package/dist/core/shaders/Spiral/index.js +9 -9
- package/dist/core/shaders/Star/index.js +4 -4
- package/dist/core/shaders/Stone/index.js +12 -12
- package/dist/core/shaders/Strands/index.js +11 -11
- package/dist/core/shaders/Stretch/index.js +6 -6
- package/dist/core/shaders/Stripes/index.js +11 -11
- package/dist/core/shaders/StudioBackground/index.js +12 -12
- package/dist/core/shaders/SunBurst/index.js +10 -10
- package/dist/core/shaders/Surface3D/index.js +6 -6
- package/dist/core/shaders/Swirl/index.js +9 -9
- package/dist/core/shaders/Teardrop/index.js +4 -4
- package/dist/core/shaders/Text/index.js +7 -7
- package/dist/core/shaders/ThinFilm/index.js +7 -7
- package/dist/core/shaders/TiltShift/index.js +8 -8
- package/dist/core/shaders/TimeTrail/index.js +6 -6
- package/dist/core/shaders/Tint/index.js +5 -5
- package/dist/core/shaders/Trapezoid/index.js +4 -4
- package/dist/core/shaders/TriangularGrid/index.js +11 -11
- package/dist/core/shaders/Tritone/index.js +5 -5
- package/dist/core/shaders/Truchet/index.js +11 -11
- package/dist/core/shaders/Twirl/index.js +6 -6
- package/dist/core/shaders/VHS/index.js +8 -8
- package/dist/core/shaders/VenetianBlinds/index.js +5 -5
- package/dist/core/shaders/Vesica/index.js +4 -4
- package/dist/core/shaders/Vibrance/index.js +6 -6
- package/dist/core/shaders/VideoTexture/index.js +4 -4
- package/dist/core/shaders/Vignette/index.js +7 -7
- package/dist/core/shaders/Voronoi/index.js +11 -11
- package/dist/core/shaders/Voxels/index.d.ts +211 -0
- package/dist/core/shaders/Voxels/index.d.ts.map +1 -0
- package/dist/core/shaders/Voxels/index.js +15 -0
- package/dist/core/shaders/Water/index.js +9 -9
- package/dist/core/shaders/Watercolor/index.js +8 -8
- package/dist/core/shaders/WaveDistortion/index.js +6 -6
- package/dist/core/shaders/Waveform/index.js +14 -14
- package/dist/core/shaders/WaveletNoise/index.js +12 -12
- package/dist/core/shaders/Weave/index.js +11 -11
- package/dist/core/shaders/WebcamTexture/index.js +4 -4
- package/dist/core/shaders/Wool/index.js +12 -12
- package/dist/core/shaders/WorleyNoise/index.js +11 -11
- package/dist/core/shaders/ZoomBlur/index.js +8 -8
- package/dist/core/{shape-Ctle9iU9.js → shape-CAkSlCi8.js} +1 -1
- package/dist/core/{shapePaints-kH2wcDEC.js → shapePaints-Bg2UwCZo.js} +3 -3
- package/dist/core/std/paint/fields.d.ts +25 -0
- package/dist/core/std/paint/fields.d.ts.map +1 -1
- package/dist/core/std/paint/materials.d.ts +3 -0
- package/dist/core/std/paint/materials.d.ts.map +1 -1
- package/dist/core/std/paint/voxels.d.ts +65 -0
- package/dist/core/std/paint/voxels.d.ts.map +1 -0
- package/dist/core/{stylize-B1HR4Evq.js → stylize-DiuoSq16.js} +2 -2
- package/dist/core/{tone-R9En6hOG.js → tone-BKhfiOBn.js} +1 -1
- package/dist/core/utilities/scatterAnchors.d.ts +18 -0
- package/dist/core/utilities/scatterAnchors.d.ts.map +1 -0
- package/dist/core/utilities/shapeEffectBounds.d.ts +13 -0
- package/dist/core/utilities/shapeEffectBounds.d.ts.map +1 -1
- package/dist/core/utilities/transformations/index.js +1 -1
- package/dist/core/{warpMaps-XO8MOBSl.js → warpMaps-Y8xSo-QJ.js} +2 -2
- package/dist/core/{warps-Dc619a_L.js → warps-P5O3NWLe.js} +3 -3
- package/dist/js/bundle.js +180 -180
- package/dist/js/createShader.js +1 -1
- package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/js/utils/generatePresetCode.js +37 -0
- package/dist/react/Preview.js +1 -0
- package/dist/react/Shader.js +1 -1
- package/dist/react/Voxels.js +226 -0
- package/dist/react/bundle.js +175 -175
- package/dist/react/components/Voxels.d.ts +47 -0
- package/dist/react/components/Voxels.d.ts.map +1 -0
- package/dist/react/engine/Preview.d.ts.map +1 -1
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -1
- package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/react/utils/generatePresetCode.js +37 -0
- package/dist/registry.js +1013 -0
- package/dist/solid/components/Voxels.d.ts +44 -0
- package/dist/solid/components/Voxels.d.ts.map +1 -0
- package/dist/solid/components/Voxels.js +232 -0
- package/dist/solid/engine/Preview.d.ts.map +1 -1
- package/dist/solid/engine/Preview.js +377 -375
- package/dist/solid/engine/Shader.js +1 -1
- package/dist/solid/index.d.ts +1 -0
- package/dist/solid/index.d.ts.map +1 -1
- package/dist/solid/index.js +26 -24
- package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/solid/utils/generatePresetCode.js +37 -0
- package/dist/svelte/components/Voxels.svelte.d.ts +34 -0
- package/dist/svelte/index.d.ts +1 -0
- package/dist/svelte/index.js +2677 -2470
- package/dist/svelte/source/components/Voxels.svelte +358 -0
- package/dist/svelte/source/engine/Preview.svelte +2 -0
- package/dist/svelte/source/index.js +1 -0
- package/dist/svelte/utils/generatePresetCode.js +37 -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/Voxels.js +3 -0
- package/dist/vue/Voxels.vue_vue_type_script_setup_true_lang.js +256 -0
- package/dist/vue/components/Voxels.vue.d.ts +69 -0
- package/dist/vue/components/Voxels.vue.d.ts.map +1 -0
- package/dist/vue/index.d.ts +1 -0
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue/index.js +2 -1
- package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/vue/utils/generatePresetCode.js +37 -0
- package/package.json +9 -1
- package/dist/core/shaderRegistry-BMmO6i7R.js +0 -441
- /package/dist/core/{filter-VJlLs3Zs.js → filter-BrhpSs3Z.js} +0 -0
- /package/dist/core/{grids-B04hYuFv.js → grids-Cv99xcJg.js} +0 -0
- /package/dist/core/{noiseStylize-BfLjdB5R.js → noiseStylize-CUrW_HiC.js} +0 -0
- /package/dist/core/{signal-DuaxoxK4.js → signal-emJuvOI3.js} +0 -0
- /package/dist/core/{slots-BuIG6s6W.js → slots-BqIef2iV.js} +0 -0
- /package/dist/core/{transformations-COlfAEsk.js → transformations-CzFmhZww.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ar as vec2u, Br as struct, C as createSvgSdfSampler, Cr as sin, D as driveAnalyticSubProps, Fr as size, Gn as typegpu_default, Jr as i32, Lr as texture2d, Mr as vec4f, Or as vec2f, Pr as align, Rr as textureStorage2d, S as createSdfDataTexture, Sr as sign, Tr as sqrt, Yn as textureStore, Yr as u32, _ as analyticSubPropValues, _r as mix, ar as clamp, cr as dot, ct as call, er as select, fr as floor, g as SVG_SDF_SIZE, gr as min, hr as max, jr as vec3f, mr as length, or as cos, q as createGuardedCompute, qn as textureLoad, qr as f32, rr as atan2, ti as __export, tr as abs, vr as normalize, w as createSvgSdfSamplerWithGradients, wr as smoothstep, x as createAnalyticSdfSampler, y as buildAnalyticSdfFn, zr as arrayOf } from "./lower-Bd2jez_2.js";
|
|
2
2
|
import { t as isMobileGpuViewport } from "./device-m0ud8-Fn.js";
|
|
3
3
|
var SVG_SDF_SIZE$1 = 512;
|
|
4
4
|
var cache = {};
|
|
@@ -613,6 +613,7 @@ var sdf3d_exports = /* @__PURE__ */ __export({
|
|
|
613
613
|
buildVolumetricFieldKernel: () => buildVolumetricFieldKernel,
|
|
614
614
|
buildVolumetricFieldSampler: () => buildVolumetricFieldSampler,
|
|
615
615
|
capsuleSurfaceUV: () => capsuleSurfaceUV,
|
|
616
|
+
createAnalytic2dExtrudeSetup: () => createAnalytic2dExtrudeSetup,
|
|
616
617
|
createAnalytic3dSdfSetup: () => createAnalytic3dSdfSetup,
|
|
617
618
|
createSvg3dSdfSetup: () => createSvg3dSdfSetup,
|
|
618
619
|
createVolumetricFieldCompute: () => createVolumetricFieldCompute,
|
|
@@ -9830,7 +9831,7 @@ function createVolumetricFieldCompute(root, layout, kernel, onCleanup, extra = {
|
|
|
9830
9831
|
params: paramsUniform.buffer,
|
|
9831
9832
|
...extra.sdfSourceTexture ? { sdfSource: extra.sdfSourceTexture } : {}
|
|
9832
9833
|
});
|
|
9833
|
-
|
|
9834
|
+
let pipeline = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy) => {
|
|
9834
9835
|
"use gpu";
|
|
9835
9836
|
kernel(cx, cy);
|
|
9836
9837
|
}), {
|
|
@@ -9852,6 +9853,7 @@ function createVolumetricFieldCompute(root, layout, kernel, onCleanup, extra = {
|
|
|
9852
9853
|
},
|
|
9853
9854
|
externals: { "kernel": () => kernel }
|
|
9854
9855
|
}) && $.f)({}), { bindGroup });
|
|
9856
|
+
for (const bg of extra.extraBindGroups ?? []) pipeline = pipeline.with(bg);
|
|
9855
9857
|
let activeRes = maxRes;
|
|
9856
9858
|
return {
|
|
9857
9859
|
computeStep: pipeline,
|
|
@@ -15501,18 +15503,47 @@ function buildFieldSampleGraphArgs() {
|
|
|
15501
15503
|
"d.vec4f": () => vec4f
|
|
15502
15504
|
}
|
|
15503
15505
|
}) && $.f)({})).$name("fieldSampleFastArg"),
|
|
15504
|
-
|
|
15506
|
+
fieldSampleTexelArg: typegpu_default.fn([
|
|
15507
|
+
vec2f,
|
|
15508
|
+
texture2d(f32),
|
|
15509
|
+
f32,
|
|
15510
|
+
f32,
|
|
15511
|
+
f32,
|
|
15505
15512
|
f32,
|
|
15506
15513
|
f32,
|
|
15507
15514
|
f32
|
|
15508
|
-
],
|
|
15515
|
+
], vec4f)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((uv, field, originX, originY, spanX, spanY, activeResF, rBound) => {
|
|
15509
15516
|
"use gpu";
|
|
15510
|
-
|
|
15517
|
+
const uxc = clamp(uv.x, originX, __tsover_add(originX, spanX));
|
|
15518
|
+
const uyc = clamp(uv.y, originY, __tsover_add(originY, spanY));
|
|
15519
|
+
const outsideDist = length(vec2f(__tsover_sub(uv.x, uxc), __tsover_sub(uv.y, uyc)));
|
|
15520
|
+
const maxT = __tsover_sub(activeResF, 1);
|
|
15521
|
+
const px = clamp(floor(__tsover_mul(__tsover_div(__tsover_sub(uxc, originX), spanX), activeResF)), f32(0), maxT);
|
|
15522
|
+
const py = clamp(floor(__tsover_mul(__tsover_div(__tsover_sub(uyc, originY), spanY), activeResF)), f32(0), maxT);
|
|
15523
|
+
const t = textureLoad(field, vec2u(u32(px), u32(py)), 0);
|
|
15524
|
+
const rNear = __tsover_add(t.r, outsideDist);
|
|
15525
|
+
return vec4f(mix(rNear, max(__tsover_sub(length(vec2f(__tsover_sub(uv.x, .5), __tsover_sub(uv.y, .5))), rBound), rNear), smoothstep(f32(0), .25, outsideDist)), t.g, t.b, t.a);
|
|
15511
15526
|
}), {
|
|
15512
15527
|
v: 2,
|
|
15513
15528
|
name: void 0,
|
|
15514
15529
|
ast: {
|
|
15515
15530
|
"params": [
|
|
15531
|
+
{
|
|
15532
|
+
"type": "i",
|
|
15533
|
+
"name": "uv"
|
|
15534
|
+
},
|
|
15535
|
+
{
|
|
15536
|
+
"type": "i",
|
|
15537
|
+
"name": "field"
|
|
15538
|
+
},
|
|
15539
|
+
{
|
|
15540
|
+
"type": "i",
|
|
15541
|
+
"name": "originX"
|
|
15542
|
+
},
|
|
15543
|
+
{
|
|
15544
|
+
"type": "i",
|
|
15545
|
+
"name": "originY"
|
|
15546
|
+
},
|
|
15516
15547
|
{
|
|
15517
15548
|
"type": "i",
|
|
15518
15549
|
"name": "spanX"
|
|
@@ -15524,571 +15555,906 @@ function buildFieldSampleGraphArgs() {
|
|
|
15524
15555
|
{
|
|
15525
15556
|
"type": "i",
|
|
15526
15557
|
"name": "activeResF"
|
|
15558
|
+
},
|
|
15559
|
+
{
|
|
15560
|
+
"type": "i",
|
|
15561
|
+
"name": "rBound"
|
|
15527
15562
|
}
|
|
15528
15563
|
],
|
|
15529
|
-
"body": [0, [
|
|
15530
|
-
1,
|
|
15564
|
+
"body": [0, [
|
|
15531
15565
|
[
|
|
15532
|
-
|
|
15533
|
-
"
|
|
15534
|
-
[
|
|
15566
|
+
13,
|
|
15567
|
+
"uxc",
|
|
15568
|
+
[
|
|
15569
|
+
6,
|
|
15570
|
+
"std.clamp",
|
|
15571
|
+
[
|
|
15572
|
+
[
|
|
15573
|
+
7,
|
|
15574
|
+
"uv",
|
|
15575
|
+
"x"
|
|
15576
|
+
],
|
|
15577
|
+
"originX",
|
|
15578
|
+
[
|
|
15579
|
+
1,
|
|
15580
|
+
"originX",
|
|
15581
|
+
"+",
|
|
15582
|
+
"spanX"
|
|
15583
|
+
]
|
|
15584
|
+
]
|
|
15585
|
+
]
|
|
15535
15586
|
],
|
|
15536
|
-
"/",
|
|
15537
|
-
"activeResF"
|
|
15538
|
-
]]]]
|
|
15539
|
-
},
|
|
15540
|
-
externals: { "std.max": () => max }
|
|
15541
|
-
}) && $.f)({})).$name("fieldTexelSpan")
|
|
15542
|
-
};
|
|
15543
|
-
}
|
|
15544
|
-
const VOLUMETRIC_FIELD_EXTRA_FIELDS = {
|
|
15545
|
-
_vfOriginX: {
|
|
15546
|
-
schema: f32,
|
|
15547
|
-
initial: 0
|
|
15548
|
-
},
|
|
15549
|
-
_vfOriginY: {
|
|
15550
|
-
schema: f32,
|
|
15551
|
-
initial: 0
|
|
15552
|
-
},
|
|
15553
|
-
_vfSpanX: {
|
|
15554
|
-
schema: f32,
|
|
15555
|
-
initial: 1
|
|
15556
|
-
},
|
|
15557
|
-
_vfSpanY: {
|
|
15558
|
-
schema: f32,
|
|
15559
|
-
initial: 1
|
|
15560
|
-
},
|
|
15561
|
-
_vfActiveRes: {
|
|
15562
|
-
schema: f32,
|
|
15563
|
-
initial: 1
|
|
15564
|
-
},
|
|
15565
|
-
_vfRBound: {
|
|
15566
|
-
schema: f32,
|
|
15567
|
-
initial: .6
|
|
15568
|
-
}
|
|
15569
|
-
};
|
|
15570
|
-
function buildVolumetricFieldSampler(field, p) {
|
|
15571
|
-
const { fieldSampleArg, fieldSampleGradArg, fieldSampleFastArg, texelSpanFn } = buildFieldSampleGraphArgs();
|
|
15572
|
-
const acc = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(field.accessor(), "acc");
|
|
15573
|
-
const argsFor = (uv) => [
|
|
15574
|
-
uv,
|
|
15575
|
-
acc,
|
|
15576
|
-
p.originX,
|
|
15577
|
-
p.originY,
|
|
15578
|
-
p.spanX,
|
|
15579
|
-
p.spanY,
|
|
15580
|
-
p.activeResF,
|
|
15581
|
-
p.rBound
|
|
15582
|
-
];
|
|
15583
|
-
return {
|
|
15584
|
-
volumetricFieldSampler: (uv) => call(fieldSampleArg, "vfSample", argsFor(uv)),
|
|
15585
|
-
volumetricFieldSamplerGrad: (uv) => call(fieldSampleGradArg, "vfSampleGrad", argsFor(uv)),
|
|
15586
|
-
volumetricFieldSamplerFast: (uv) => call(fieldSampleFastArg, "vfSampleFast", argsFor(uv)),
|
|
15587
|
-
volumetricFieldTexelSpan: call(texelSpanFn, "vfTexelSpan", [
|
|
15588
|
-
p.spanX,
|
|
15589
|
-
p.spanY,
|
|
15590
|
-
p.activeResF
|
|
15591
|
-
])
|
|
15592
|
-
};
|
|
15593
|
-
}
|
|
15594
|
-
function resolveShapeFieldSampler(params, options = {}) {
|
|
15595
|
-
const { patternMode = "none", gradSampler: gradMode = "fast", bakedGradients = "none" } = options;
|
|
15596
|
-
const { computeOutputs, uniforms, propValues, getCpuValue } = params;
|
|
15597
|
-
const fieldTex = computeOutputs?.volumetricFieldTexture;
|
|
15598
|
-
if (fieldTex) {
|
|
15599
|
-
const s = buildVolumetricFieldSampler(fieldTex, {
|
|
15600
|
-
originX: uniforms._vfOriginX,
|
|
15601
|
-
originY: uniforms._vfOriginY,
|
|
15602
|
-
spanX: uniforms._vfSpanX,
|
|
15603
|
-
spanY: uniforms._vfSpanY,
|
|
15604
|
-
activeResF: uniforms._vfActiveRes,
|
|
15605
|
-
rBound: uniforms._vfRBound
|
|
15606
|
-
});
|
|
15607
|
-
const baked = bakedGradients !== "none";
|
|
15608
|
-
const sampler$1 = baked ? s.volumetricFieldSamplerGrad : s.volumetricFieldSampler;
|
|
15609
|
-
return {
|
|
15610
|
-
sampler: sampler$1,
|
|
15611
|
-
gradSampler: gradMode === "same" ? sampler$1 : s.volumetricFieldSamplerFast,
|
|
15612
|
-
volumetric: true,
|
|
15613
|
-
bakedGradients: baked
|
|
15614
|
-
};
|
|
15615
|
-
}
|
|
15616
|
-
const shapeSdfUrl = propValues.shapeSdfUrl || "";
|
|
15617
|
-
const shapeType = propValues.shapeType || "";
|
|
15618
|
-
if (shapeSdfUrl) {
|
|
15619
|
-
const bakedSvg = bakedGradients === "all";
|
|
15620
|
-
const sampler$1 = bakedSvg ? createSvgSdfSamplerWithGradients(params, shapeSdfUrl) : createSvgSdfSampler(params, shapeSdfUrl);
|
|
15621
|
-
return {
|
|
15622
|
-
sampler: sampler$1,
|
|
15623
|
-
gradSampler: sampler$1,
|
|
15624
|
-
volumetric: isVolumetricShapeType(shapeType),
|
|
15625
|
-
bakedGradients: bakedSvg
|
|
15626
|
-
};
|
|
15627
|
-
}
|
|
15628
|
-
const st = resolveShapeType(shapeType, getCpuValue("shape"));
|
|
15629
|
-
const sampler = createAnalyticSdfSampler(st, driveAnalyticSubProps(params, () => getCpuValue("shape")), patternMode);
|
|
15630
|
-
return {
|
|
15631
|
-
sampler,
|
|
15632
|
-
gradSampler: sampler,
|
|
15633
|
-
volumetric: is3dShapeType(st),
|
|
15634
|
-
bakedGradients: false
|
|
15635
|
-
};
|
|
15636
|
-
}
|
|
15637
|
-
var DEG = Math.PI / 180;
|
|
15638
|
-
function parseShapeConfig(raw) {
|
|
15639
|
-
if (raw && typeof raw === "object") return raw;
|
|
15640
|
-
if (typeof raw === "string") try {
|
|
15641
|
-
return JSON.parse(raw);
|
|
15642
|
-
} catch {
|
|
15643
|
-
return {};
|
|
15644
|
-
}
|
|
15645
|
-
return {};
|
|
15646
|
-
}
|
|
15647
|
-
function createAnalytic3dSdfSetup(root, shapeType, initialConfig, getShapeConfig) {
|
|
15648
|
-
const defaults = SHAPE3D_DEFAULTS[shapeType] ?? SHAPE3D_DEFAULTS.sphere3D;
|
|
15649
|
-
const { layout } = makeVolumetricFieldLayout();
|
|
15650
|
-
const marchParamsBuffer = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(MarchParams), "marchParamsBuffer");
|
|
15651
|
-
const sdfFn = typegpu_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p) => {
|
|
15652
|
-
"use gpu";
|
|
15653
|
-
const pp = layout.$.params;
|
|
15654
|
-
if (shapeType === "cube3D") return sdRoundBox(p, pp.pA, pp.pB, pp.pC, pp.pD);
|
|
15655
|
-
else if (shapeType === "torus3D") return sdTorus(p, pp.pA, pp.pB);
|
|
15656
|
-
else if (shapeType === "octahedron3D") return sdOctahedron(p, pp.pA);
|
|
15657
|
-
else if (shapeType === "cylinder3D") return sdRoundCylinder(p, pp.pA, pp.pB, pp.pD);
|
|
15658
|
-
else if (shapeType === "capsule3D") return sdCapsule(p, pp.pA, pp.pB);
|
|
15659
|
-
else if (shapeType === "cone3D") return sdCappedCone(p, pp.pA, pp.pC, pp.pB);
|
|
15660
|
-
else if (shapeType === "pyramid3D") return sdPyramid(p, pp.pA, pp.pB);
|
|
15661
|
-
else if (shapeType === "prism3D") return sdHexPrism(p, pp.pA, pp.pB);
|
|
15662
|
-
else if (shapeType === "ellipsoid3D") return sdEllipsoid(p, pp.pA, pp.pB, pp.pC);
|
|
15663
|
-
else if (shapeType === "diamond3D") return sdBicone(p, pp.pA, pp.pB);
|
|
15664
|
-
else if (shapeType === "link3D") return sdLink(p, pp.pB, pp.pA, pp.pC);
|
|
15665
|
-
else if (shapeType === "gem3D") return sdGem(p, pp.pA, pp.pB, pp.pC);
|
|
15666
|
-
else if (shapeType === "helix3D") return sdHelix(p, pp.pA, pp.pB, pp.pC, f32(3));
|
|
15667
|
-
else if (shapeType === "metaballs3D") return sdMetaballs(p, pp.mb0, pp.mb1, pp.mb2, pp.mb3, pp.mb4, pp.mb5, pp.mb6, pp.mb7, pp.pA, pp.pD);
|
|
15668
|
-
else if (shapeType === "dodecahedron3D") return sdDodecahedron(p, pp.pA);
|
|
15669
|
-
else if (shapeType === "hemisphere3D") return sdCutSphere(p, pp.pA, pp.pB);
|
|
15670
|
-
else if (shapeType === "ribbon3D") return sdRibbon(p, pp.pA, pp.pB, pp.pC, pp.mb0.x, pp.mb0.y, pp.mb0.z, pp.mb1.x, pp.mb1.y, pp.mb1.z, pp.mb2.x);
|
|
15671
|
-
else if (shapeType === "blob3D") return sdWobbleBlob(p, pp.pA, pp.mb0.x, pp.mb0.y, pp.mb0.z, pp.mb1.x, pp.mb2.x);
|
|
15672
|
-
else if (shapeType === "gyroscope3D") return sdGyroscope(p, pp.pA, pp.pB, pp.pD, pp.mb3.x, pp.pC, pp.mb0.x, pp.mb0.y, pp.mb1.x, pp.mb1.y, pp.mb2.x, pp.mb2.y);
|
|
15673
|
-
else return sdSphere(p, pp.pA);
|
|
15674
|
-
}), {
|
|
15675
|
-
v: 2,
|
|
15676
|
-
name: void 0,
|
|
15677
|
-
ast: {
|
|
15678
|
-
"params": [{
|
|
15679
|
-
"type": "i",
|
|
15680
|
-
"name": "p"
|
|
15681
|
-
}],
|
|
15682
|
-
"body": [0, [[
|
|
15683
|
-
13,
|
|
15684
|
-
"pp",
|
|
15685
|
-
[
|
|
15686
|
-
7,
|
|
15687
15587
|
[
|
|
15688
|
-
|
|
15689
|
-
"
|
|
15690
|
-
|
|
15588
|
+
13,
|
|
15589
|
+
"uyc",
|
|
15590
|
+
[
|
|
15591
|
+
6,
|
|
15592
|
+
"std.clamp",
|
|
15593
|
+
[
|
|
15594
|
+
[
|
|
15595
|
+
7,
|
|
15596
|
+
"uv",
|
|
15597
|
+
"y"
|
|
15598
|
+
],
|
|
15599
|
+
"originY",
|
|
15600
|
+
[
|
|
15601
|
+
1,
|
|
15602
|
+
"originY",
|
|
15603
|
+
"+",
|
|
15604
|
+
"spanY"
|
|
15605
|
+
]
|
|
15606
|
+
]
|
|
15607
|
+
]
|
|
15691
15608
|
],
|
|
15692
|
-
"params"
|
|
15693
|
-
]
|
|
15694
|
-
], [
|
|
15695
|
-
11,
|
|
15696
|
-
[
|
|
15697
|
-
1,
|
|
15698
|
-
"shapeType",
|
|
15699
|
-
"===",
|
|
15700
|
-
[103, "cube3D"]
|
|
15701
|
-
],
|
|
15702
|
-
[10, [
|
|
15703
|
-
6,
|
|
15704
|
-
"sdRoundBox",
|
|
15705
15609
|
[
|
|
15706
|
-
|
|
15707
|
-
|
|
15708
|
-
7,
|
|
15709
|
-
"pp",
|
|
15710
|
-
"pA"
|
|
15711
|
-
],
|
|
15610
|
+
13,
|
|
15611
|
+
"outsideDist",
|
|
15712
15612
|
[
|
|
15713
|
-
|
|
15714
|
-
"
|
|
15715
|
-
|
|
15716
|
-
|
|
15717
|
-
|
|
15718
|
-
|
|
15719
|
-
|
|
15720
|
-
|
|
15721
|
-
|
|
15613
|
+
6,
|
|
15614
|
+
"std.length",
|
|
15615
|
+
[[
|
|
15616
|
+
6,
|
|
15617
|
+
"d.vec2f",
|
|
15618
|
+
[[
|
|
15619
|
+
1,
|
|
15620
|
+
[
|
|
15621
|
+
7,
|
|
15622
|
+
"uv",
|
|
15623
|
+
"x"
|
|
15624
|
+
],
|
|
15625
|
+
"-",
|
|
15626
|
+
"uxc"
|
|
15627
|
+
], [
|
|
15628
|
+
1,
|
|
15629
|
+
[
|
|
15630
|
+
7,
|
|
15631
|
+
"uv",
|
|
15632
|
+
"y"
|
|
15633
|
+
],
|
|
15634
|
+
"-",
|
|
15635
|
+
"uyc"
|
|
15636
|
+
]]
|
|
15637
|
+
]]
|
|
15638
|
+
]
|
|
15639
|
+
],
|
|
15640
|
+
[
|
|
15641
|
+
13,
|
|
15642
|
+
"maxT",
|
|
15722
15643
|
[
|
|
15723
|
-
|
|
15724
|
-
"
|
|
15725
|
-
"
|
|
15644
|
+
1,
|
|
15645
|
+
"activeResF",
|
|
15646
|
+
"-",
|
|
15647
|
+
[5, "1"]
|
|
15726
15648
|
]
|
|
15727
|
-
]
|
|
15728
|
-
]],
|
|
15729
|
-
[
|
|
15730
|
-
11,
|
|
15649
|
+
],
|
|
15731
15650
|
[
|
|
15732
|
-
|
|
15733
|
-
"
|
|
15734
|
-
|
|
15735
|
-
|
|
15651
|
+
13,
|
|
15652
|
+
"px",
|
|
15653
|
+
[
|
|
15654
|
+
6,
|
|
15655
|
+
"std.clamp",
|
|
15656
|
+
[
|
|
15657
|
+
[
|
|
15658
|
+
6,
|
|
15659
|
+
"std.floor",
|
|
15660
|
+
[[
|
|
15661
|
+
1,
|
|
15662
|
+
[
|
|
15663
|
+
1,
|
|
15664
|
+
[
|
|
15665
|
+
1,
|
|
15666
|
+
"uxc",
|
|
15667
|
+
"-",
|
|
15668
|
+
"originX"
|
|
15669
|
+
],
|
|
15670
|
+
"/",
|
|
15671
|
+
"spanX"
|
|
15672
|
+
],
|
|
15673
|
+
"*",
|
|
15674
|
+
"activeResF"
|
|
15675
|
+
]]
|
|
15676
|
+
],
|
|
15677
|
+
[
|
|
15678
|
+
6,
|
|
15679
|
+
"d.f32",
|
|
15680
|
+
[[5, "0"]]
|
|
15681
|
+
],
|
|
15682
|
+
"maxT"
|
|
15683
|
+
]
|
|
15684
|
+
]
|
|
15736
15685
|
],
|
|
15737
|
-
[
|
|
15738
|
-
|
|
15739
|
-
"
|
|
15686
|
+
[
|
|
15687
|
+
13,
|
|
15688
|
+
"py",
|
|
15740
15689
|
[
|
|
15741
|
-
|
|
15690
|
+
6,
|
|
15691
|
+
"std.clamp",
|
|
15742
15692
|
[
|
|
15743
|
-
|
|
15744
|
-
|
|
15745
|
-
|
|
15746
|
-
|
|
15693
|
+
[
|
|
15694
|
+
6,
|
|
15695
|
+
"std.floor",
|
|
15696
|
+
[[
|
|
15697
|
+
1,
|
|
15698
|
+
[
|
|
15699
|
+
1,
|
|
15700
|
+
[
|
|
15701
|
+
1,
|
|
15702
|
+
"uyc",
|
|
15703
|
+
"-",
|
|
15704
|
+
"originY"
|
|
15705
|
+
],
|
|
15706
|
+
"/",
|
|
15707
|
+
"spanY"
|
|
15708
|
+
],
|
|
15709
|
+
"*",
|
|
15710
|
+
"activeResF"
|
|
15711
|
+
]]
|
|
15712
|
+
],
|
|
15713
|
+
[
|
|
15714
|
+
6,
|
|
15715
|
+
"d.f32",
|
|
15716
|
+
[[5, "0"]]
|
|
15717
|
+
],
|
|
15718
|
+
"maxT"
|
|
15719
|
+
]
|
|
15720
|
+
]
|
|
15721
|
+
],
|
|
15722
|
+
[
|
|
15723
|
+
13,
|
|
15724
|
+
"t",
|
|
15725
|
+
[
|
|
15726
|
+
6,
|
|
15727
|
+
"std.textureLoad",
|
|
15747
15728
|
[
|
|
15748
|
-
|
|
15749
|
-
|
|
15750
|
-
|
|
15729
|
+
"field",
|
|
15730
|
+
[
|
|
15731
|
+
6,
|
|
15732
|
+
"d.vec2u",
|
|
15733
|
+
[[
|
|
15734
|
+
6,
|
|
15735
|
+
"d.u32",
|
|
15736
|
+
["px"]
|
|
15737
|
+
], [
|
|
15738
|
+
6,
|
|
15739
|
+
"d.u32",
|
|
15740
|
+
["py"]
|
|
15741
|
+
]]
|
|
15742
|
+
],
|
|
15743
|
+
[5, "0"]
|
|
15751
15744
|
]
|
|
15752
15745
|
]
|
|
15753
|
-
]
|
|
15746
|
+
],
|
|
15754
15747
|
[
|
|
15755
|
-
|
|
15748
|
+
13,
|
|
15749
|
+
"rNear",
|
|
15756
15750
|
[
|
|
15757
15751
|
1,
|
|
15758
|
-
|
|
15759
|
-
"===",
|
|
15760
|
-
[103, "octahedron3D"]
|
|
15761
|
-
],
|
|
15762
|
-
[10, [
|
|
15763
|
-
6,
|
|
15764
|
-
"sdOctahedron",
|
|
15765
|
-
["p", [
|
|
15752
|
+
[
|
|
15766
15753
|
7,
|
|
15767
|
-
"
|
|
15768
|
-
"
|
|
15769
|
-
]
|
|
15770
|
-
|
|
15754
|
+
"t",
|
|
15755
|
+
"r"
|
|
15756
|
+
],
|
|
15757
|
+
"+",
|
|
15758
|
+
"outsideDist"
|
|
15759
|
+
]
|
|
15760
|
+
],
|
|
15761
|
+
[
|
|
15762
|
+
13,
|
|
15763
|
+
"rCircle",
|
|
15771
15764
|
[
|
|
15772
|
-
|
|
15765
|
+
1,
|
|
15773
15766
|
[
|
|
15774
|
-
1,
|
|
15775
|
-
"shapeType",
|
|
15776
|
-
"===",
|
|
15777
|
-
[103, "cylinder3D"]
|
|
15778
|
-
],
|
|
15779
|
-
[10, [
|
|
15780
15767
|
6,
|
|
15781
|
-
"
|
|
15782
|
-
[
|
|
15783
|
-
"p",
|
|
15784
|
-
[
|
|
15785
|
-
7,
|
|
15786
|
-
"pp",
|
|
15787
|
-
"pA"
|
|
15788
|
-
],
|
|
15789
|
-
[
|
|
15790
|
-
7,
|
|
15791
|
-
"pp",
|
|
15792
|
-
"pB"
|
|
15793
|
-
],
|
|
15794
|
-
[
|
|
15795
|
-
7,
|
|
15796
|
-
"pp",
|
|
15797
|
-
"pD"
|
|
15798
|
-
]
|
|
15799
|
-
]
|
|
15800
|
-
]],
|
|
15801
|
-
[
|
|
15802
|
-
11,
|
|
15803
|
-
[
|
|
15804
|
-
1,
|
|
15805
|
-
"shapeType",
|
|
15806
|
-
"===",
|
|
15807
|
-
[103, "capsule3D"]
|
|
15808
|
-
],
|
|
15809
|
-
[10, [
|
|
15768
|
+
"std.length",
|
|
15769
|
+
[[
|
|
15810
15770
|
6,
|
|
15811
|
-
"
|
|
15812
|
-
[
|
|
15813
|
-
|
|
15771
|
+
"d.vec2f",
|
|
15772
|
+
[[
|
|
15773
|
+
1,
|
|
15814
15774
|
[
|
|
15815
15775
|
7,
|
|
15816
|
-
"
|
|
15817
|
-
"
|
|
15776
|
+
"uv",
|
|
15777
|
+
"x"
|
|
15818
15778
|
],
|
|
15779
|
+
"-",
|
|
15780
|
+
[5, "0.5"]
|
|
15781
|
+
], [
|
|
15782
|
+
1,
|
|
15819
15783
|
[
|
|
15820
15784
|
7,
|
|
15821
|
-
"
|
|
15822
|
-
"
|
|
15823
|
-
]
|
|
15824
|
-
|
|
15825
|
-
|
|
15785
|
+
"uv",
|
|
15786
|
+
"y"
|
|
15787
|
+
],
|
|
15788
|
+
"-",
|
|
15789
|
+
[5, "0.5"]
|
|
15790
|
+
]]
|
|
15791
|
+
]]
|
|
15792
|
+
],
|
|
15793
|
+
"-",
|
|
15794
|
+
"rBound"
|
|
15795
|
+
]
|
|
15796
|
+
],
|
|
15797
|
+
[
|
|
15798
|
+
13,
|
|
15799
|
+
"rOut",
|
|
15800
|
+
[
|
|
15801
|
+
6,
|
|
15802
|
+
"std.mix",
|
|
15803
|
+
[
|
|
15804
|
+
"rNear",
|
|
15826
15805
|
[
|
|
15827
|
-
|
|
15806
|
+
6,
|
|
15807
|
+
"std.max",
|
|
15808
|
+
["rCircle", "rNear"]
|
|
15809
|
+
],
|
|
15810
|
+
[
|
|
15811
|
+
6,
|
|
15812
|
+
"std.smoothstep",
|
|
15828
15813
|
[
|
|
15829
|
-
1,
|
|
15830
|
-
"shapeType",
|
|
15831
|
-
"===",
|
|
15832
|
-
[103, "cone3D"]
|
|
15833
|
-
],
|
|
15834
|
-
[10, [
|
|
15835
|
-
6,
|
|
15836
|
-
"sdCappedCone",
|
|
15837
|
-
[
|
|
15838
|
-
"p",
|
|
15839
|
-
[
|
|
15840
|
-
7,
|
|
15841
|
-
"pp",
|
|
15842
|
-
"pA"
|
|
15843
|
-
],
|
|
15844
|
-
[
|
|
15845
|
-
7,
|
|
15846
|
-
"pp",
|
|
15847
|
-
"pC"
|
|
15848
|
-
],
|
|
15849
|
-
[
|
|
15850
|
-
7,
|
|
15851
|
-
"pp",
|
|
15852
|
-
"pB"
|
|
15853
|
-
]
|
|
15854
|
-
]
|
|
15855
|
-
]],
|
|
15856
|
-
[
|
|
15857
|
-
11,
|
|
15858
15814
|
[
|
|
15859
|
-
1,
|
|
15860
|
-
"shapeType",
|
|
15861
|
-
"===",
|
|
15862
|
-
[103, "pyramid3D"]
|
|
15863
|
-
],
|
|
15864
|
-
[10, [
|
|
15865
15815
|
6,
|
|
15866
|
-
"
|
|
15867
|
-
[
|
|
15868
|
-
|
|
15869
|
-
|
|
15870
|
-
|
|
15871
|
-
|
|
15872
|
-
|
|
15873
|
-
|
|
15874
|
-
|
|
15875
|
-
|
|
15876
|
-
|
|
15877
|
-
|
|
15878
|
-
|
|
15879
|
-
|
|
15880
|
-
|
|
15881
|
-
|
|
15882
|
-
|
|
15883
|
-
|
|
15884
|
-
|
|
15885
|
-
|
|
15886
|
-
|
|
15887
|
-
|
|
15888
|
-
|
|
15889
|
-
|
|
15890
|
-
|
|
15891
|
-
|
|
15892
|
-
|
|
15893
|
-
|
|
15894
|
-
|
|
15895
|
-
|
|
15896
|
-
|
|
15897
|
-
|
|
15898
|
-
|
|
15899
|
-
|
|
15900
|
-
|
|
15901
|
-
|
|
15902
|
-
|
|
15903
|
-
|
|
15904
|
-
|
|
15905
|
-
|
|
15906
|
-
|
|
15907
|
-
|
|
15908
|
-
|
|
15909
|
-
|
|
15910
|
-
|
|
15911
|
-
|
|
15912
|
-
|
|
15913
|
-
|
|
15914
|
-
|
|
15915
|
-
|
|
15916
|
-
|
|
15917
|
-
|
|
15918
|
-
|
|
15919
|
-
|
|
15920
|
-
|
|
15921
|
-
|
|
15922
|
-
|
|
15923
|
-
|
|
15924
|
-
|
|
15925
|
-
|
|
15926
|
-
|
|
15927
|
-
|
|
15928
|
-
|
|
15929
|
-
|
|
15930
|
-
|
|
15931
|
-
|
|
15932
|
-
|
|
15933
|
-
|
|
15934
|
-
|
|
15935
|
-
|
|
15936
|
-
|
|
15937
|
-
|
|
15938
|
-
|
|
15939
|
-
|
|
15940
|
-
|
|
15941
|
-
|
|
15942
|
-
|
|
15943
|
-
|
|
15944
|
-
|
|
15945
|
-
|
|
15946
|
-
|
|
15947
|
-
|
|
15948
|
-
|
|
15949
|
-
|
|
15950
|
-
|
|
15951
|
-
|
|
15952
|
-
|
|
15953
|
-
|
|
15954
|
-
|
|
15955
|
-
|
|
15956
|
-
|
|
15957
|
-
|
|
15958
|
-
|
|
15959
|
-
|
|
15960
|
-
|
|
15961
|
-
|
|
15962
|
-
|
|
15963
|
-
|
|
15964
|
-
|
|
15965
|
-
|
|
15966
|
-
|
|
15967
|
-
|
|
15968
|
-
|
|
15969
|
-
|
|
15970
|
-
|
|
15971
|
-
|
|
15972
|
-
|
|
15973
|
-
|
|
15974
|
-
|
|
15975
|
-
|
|
15976
|
-
|
|
15977
|
-
|
|
15978
|
-
|
|
15979
|
-
|
|
15980
|
-
|
|
15981
|
-
|
|
15982
|
-
|
|
15983
|
-
|
|
15984
|
-
|
|
15985
|
-
|
|
15986
|
-
|
|
15987
|
-
|
|
15988
|
-
|
|
15989
|
-
|
|
15990
|
-
|
|
15991
|
-
|
|
15992
|
-
|
|
15993
|
-
|
|
15994
|
-
|
|
15995
|
-
|
|
15996
|
-
|
|
15997
|
-
|
|
15998
|
-
|
|
15999
|
-
|
|
16000
|
-
|
|
16001
|
-
|
|
16002
|
-
|
|
16003
|
-
|
|
16004
|
-
|
|
16005
|
-
|
|
16006
|
-
|
|
16007
|
-
|
|
16008
|
-
|
|
16009
|
-
|
|
16010
|
-
|
|
16011
|
-
|
|
16012
|
-
|
|
16013
|
-
|
|
16014
|
-
|
|
16015
|
-
|
|
16016
|
-
|
|
16017
|
-
|
|
16018
|
-
|
|
16019
|
-
|
|
16020
|
-
|
|
16021
|
-
|
|
16022
|
-
|
|
16023
|
-
|
|
16024
|
-
|
|
16025
|
-
|
|
16026
|
-
|
|
16027
|
-
|
|
16028
|
-
|
|
16029
|
-
|
|
16030
|
-
|
|
16031
|
-
|
|
16032
|
-
|
|
16033
|
-
|
|
16034
|
-
|
|
16035
|
-
|
|
16036
|
-
|
|
16037
|
-
|
|
16038
|
-
|
|
16039
|
-
|
|
16040
|
-
|
|
16041
|
-
|
|
16042
|
-
|
|
16043
|
-
|
|
16044
|
-
|
|
16045
|
-
|
|
16046
|
-
|
|
16047
|
-
|
|
16048
|
-
|
|
16049
|
-
|
|
16050
|
-
|
|
16051
|
-
|
|
16052
|
-
|
|
16053
|
-
|
|
16054
|
-
|
|
16055
|
-
|
|
16056
|
-
|
|
16057
|
-
|
|
16058
|
-
|
|
16059
|
-
|
|
16060
|
-
|
|
16061
|
-
|
|
16062
|
-
|
|
16063
|
-
|
|
16064
|
-
|
|
16065
|
-
|
|
16066
|
-
|
|
16067
|
-
|
|
16068
|
-
|
|
16069
|
-
|
|
16070
|
-
|
|
16071
|
-
|
|
16072
|
-
|
|
16073
|
-
|
|
16074
|
-
|
|
16075
|
-
|
|
16076
|
-
|
|
16077
|
-
|
|
16078
|
-
|
|
16079
|
-
|
|
16080
|
-
|
|
16081
|
-
|
|
16082
|
-
|
|
16083
|
-
|
|
16084
|
-
|
|
16085
|
-
|
|
16086
|
-
|
|
16087
|
-
|
|
16088
|
-
|
|
16089
|
-
|
|
16090
|
-
|
|
16091
|
-
|
|
15816
|
+
"d.f32",
|
|
15817
|
+
[[5, "0"]]
|
|
15818
|
+
],
|
|
15819
|
+
[5, "0.25"],
|
|
15820
|
+
"outsideDist"
|
|
15821
|
+
]
|
|
15822
|
+
]
|
|
15823
|
+
]
|
|
15824
|
+
]
|
|
15825
|
+
],
|
|
15826
|
+
[10, [
|
|
15827
|
+
6,
|
|
15828
|
+
"d.vec4f",
|
|
15829
|
+
[
|
|
15830
|
+
"rOut",
|
|
15831
|
+
[
|
|
15832
|
+
7,
|
|
15833
|
+
"t",
|
|
15834
|
+
"g"
|
|
15835
|
+
],
|
|
15836
|
+
[
|
|
15837
|
+
7,
|
|
15838
|
+
"t",
|
|
15839
|
+
"b"
|
|
15840
|
+
],
|
|
15841
|
+
[
|
|
15842
|
+
7,
|
|
15843
|
+
"t",
|
|
15844
|
+
"a"
|
|
15845
|
+
]
|
|
15846
|
+
]
|
|
15847
|
+
]]
|
|
15848
|
+
]]
|
|
15849
|
+
},
|
|
15850
|
+
externals: {
|
|
15851
|
+
"std.clamp": () => clamp,
|
|
15852
|
+
"std.length": () => length,
|
|
15853
|
+
"d.vec2f": () => vec2f,
|
|
15854
|
+
"std.floor": () => floor,
|
|
15855
|
+
"d.f32": () => f32,
|
|
15856
|
+
"std.textureLoad": () => textureLoad,
|
|
15857
|
+
"d.vec2u": () => vec2u,
|
|
15858
|
+
"d.u32": () => u32,
|
|
15859
|
+
"std.mix": () => mix,
|
|
15860
|
+
"std.max": () => max,
|
|
15861
|
+
"std.smoothstep": () => smoothstep,
|
|
15862
|
+
"d.vec4f": () => vec4f
|
|
15863
|
+
}
|
|
15864
|
+
}) && $.f)({})).$name("fieldSampleTexelArg"),
|
|
15865
|
+
texelSpanFn: typegpu_default.fn([
|
|
15866
|
+
f32,
|
|
15867
|
+
f32,
|
|
15868
|
+
f32
|
|
15869
|
+
], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((spanX, spanY, activeResF) => {
|
|
15870
|
+
"use gpu";
|
|
15871
|
+
return __tsover_div(max(spanX, spanY), activeResF);
|
|
15872
|
+
}), {
|
|
15873
|
+
v: 2,
|
|
15874
|
+
name: void 0,
|
|
15875
|
+
ast: {
|
|
15876
|
+
"params": [
|
|
15877
|
+
{
|
|
15878
|
+
"type": "i",
|
|
15879
|
+
"name": "spanX"
|
|
15880
|
+
},
|
|
15881
|
+
{
|
|
15882
|
+
"type": "i",
|
|
15883
|
+
"name": "spanY"
|
|
15884
|
+
},
|
|
15885
|
+
{
|
|
15886
|
+
"type": "i",
|
|
15887
|
+
"name": "activeResF"
|
|
15888
|
+
}
|
|
15889
|
+
],
|
|
15890
|
+
"body": [0, [[10, [
|
|
15891
|
+
1,
|
|
15892
|
+
[
|
|
15893
|
+
6,
|
|
15894
|
+
"std.max",
|
|
15895
|
+
["spanX", "spanY"]
|
|
15896
|
+
],
|
|
15897
|
+
"/",
|
|
15898
|
+
"activeResF"
|
|
15899
|
+
]]]]
|
|
15900
|
+
},
|
|
15901
|
+
externals: { "std.max": () => max }
|
|
15902
|
+
}) && $.f)({})).$name("fieldTexelSpan")
|
|
15903
|
+
};
|
|
15904
|
+
}
|
|
15905
|
+
const VOLUMETRIC_FIELD_EXTRA_FIELDS = {
|
|
15906
|
+
_vfOriginX: {
|
|
15907
|
+
schema: f32,
|
|
15908
|
+
initial: 0
|
|
15909
|
+
},
|
|
15910
|
+
_vfOriginY: {
|
|
15911
|
+
schema: f32,
|
|
15912
|
+
initial: 0
|
|
15913
|
+
},
|
|
15914
|
+
_vfSpanX: {
|
|
15915
|
+
schema: f32,
|
|
15916
|
+
initial: 1
|
|
15917
|
+
},
|
|
15918
|
+
_vfSpanY: {
|
|
15919
|
+
schema: f32,
|
|
15920
|
+
initial: 1
|
|
15921
|
+
},
|
|
15922
|
+
_vfActiveRes: {
|
|
15923
|
+
schema: f32,
|
|
15924
|
+
initial: 1
|
|
15925
|
+
},
|
|
15926
|
+
_vfRBound: {
|
|
15927
|
+
schema: f32,
|
|
15928
|
+
initial: .6
|
|
15929
|
+
}
|
|
15930
|
+
};
|
|
15931
|
+
function buildVolumetricFieldSampler(field, p) {
|
|
15932
|
+
const { fieldSampleArg, fieldSampleGradArg, fieldSampleFastArg, fieldSampleTexelArg, texelSpanFn } = buildFieldSampleGraphArgs();
|
|
15933
|
+
const acc = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(field.accessor(), "acc");
|
|
15934
|
+
const argsFor = (uv) => [
|
|
15935
|
+
uv,
|
|
15936
|
+
acc,
|
|
15937
|
+
p.originX,
|
|
15938
|
+
p.originY,
|
|
15939
|
+
p.spanX,
|
|
15940
|
+
p.spanY,
|
|
15941
|
+
p.activeResF,
|
|
15942
|
+
p.rBound
|
|
15943
|
+
];
|
|
15944
|
+
return {
|
|
15945
|
+
volumetricFieldSampler: (uv) => call(fieldSampleArg, "vfSample", argsFor(uv)),
|
|
15946
|
+
volumetricFieldSamplerGrad: (uv) => call(fieldSampleGradArg, "vfSampleGrad", argsFor(uv)),
|
|
15947
|
+
volumetricFieldSamplerFast: (uv) => call(fieldSampleFastArg, "vfSampleFast", argsFor(uv)),
|
|
15948
|
+
volumetricFieldSamplerTexel: (uv) => call(fieldSampleTexelArg, "vfSampleTexel", argsFor(uv)),
|
|
15949
|
+
volumetricFieldTexelSpan: call(texelSpanFn, "vfTexelSpan", [
|
|
15950
|
+
p.spanX,
|
|
15951
|
+
p.spanY,
|
|
15952
|
+
p.activeResF
|
|
15953
|
+
])
|
|
15954
|
+
};
|
|
15955
|
+
}
|
|
15956
|
+
function resolveShapeFieldSampler(params, options = {}) {
|
|
15957
|
+
const { patternMode = "none", gradSampler: gradMode = "fast", bakedGradients = "none" } = options;
|
|
15958
|
+
const { computeOutputs, uniforms, propValues, getCpuValue } = params;
|
|
15959
|
+
const fieldTex = computeOutputs?.volumetricFieldTexture;
|
|
15960
|
+
if (fieldTex) {
|
|
15961
|
+
const s = buildVolumetricFieldSampler(fieldTex, {
|
|
15962
|
+
originX: uniforms._vfOriginX,
|
|
15963
|
+
originY: uniforms._vfOriginY,
|
|
15964
|
+
spanX: uniforms._vfSpanX,
|
|
15965
|
+
spanY: uniforms._vfSpanY,
|
|
15966
|
+
activeResF: uniforms._vfActiveRes,
|
|
15967
|
+
rBound: uniforms._vfRBound
|
|
15968
|
+
});
|
|
15969
|
+
const baked = bakedGradients !== "none";
|
|
15970
|
+
const sampler$1 = baked ? s.volumetricFieldSamplerGrad : s.volumetricFieldSampler;
|
|
15971
|
+
return {
|
|
15972
|
+
sampler: sampler$1,
|
|
15973
|
+
gradSampler: gradMode === "same" ? sampler$1 : s.volumetricFieldSamplerFast,
|
|
15974
|
+
texelSampler: s.volumetricFieldSamplerTexel,
|
|
15975
|
+
volumetric: true,
|
|
15976
|
+
bakedGradients: baked
|
|
15977
|
+
};
|
|
15978
|
+
}
|
|
15979
|
+
const shapeSdfUrl = propValues.shapeSdfUrl || "";
|
|
15980
|
+
const shapeType = propValues.shapeType || "";
|
|
15981
|
+
if (shapeSdfUrl) {
|
|
15982
|
+
const bakedSvg = bakedGradients === "all";
|
|
15983
|
+
const sampler$1 = bakedSvg ? createSvgSdfSamplerWithGradients(params, shapeSdfUrl) : createSvgSdfSampler(params, shapeSdfUrl);
|
|
15984
|
+
return {
|
|
15985
|
+
sampler: sampler$1,
|
|
15986
|
+
gradSampler: sampler$1,
|
|
15987
|
+
texelSampler: sampler$1,
|
|
15988
|
+
volumetric: isVolumetricShapeType(shapeType),
|
|
15989
|
+
bakedGradients: bakedSvg
|
|
15990
|
+
};
|
|
15991
|
+
}
|
|
15992
|
+
const st = resolveShapeType(shapeType, getCpuValue("shape"));
|
|
15993
|
+
const sampler = createAnalyticSdfSampler(st, driveAnalyticSubProps(params, () => getCpuValue("shape")), patternMode);
|
|
15994
|
+
return {
|
|
15995
|
+
sampler,
|
|
15996
|
+
gradSampler: sampler,
|
|
15997
|
+
texelSampler: sampler,
|
|
15998
|
+
volumetric: is3dShapeType(st),
|
|
15999
|
+
bakedGradients: false
|
|
16000
|
+
};
|
|
16001
|
+
}
|
|
16002
|
+
var DEG = Math.PI / 180;
|
|
16003
|
+
function parseShapeConfig(raw) {
|
|
16004
|
+
if (raw && typeof raw === "object") return raw;
|
|
16005
|
+
if (typeof raw === "string") try {
|
|
16006
|
+
return JSON.parse(raw);
|
|
16007
|
+
} catch {
|
|
16008
|
+
return {};
|
|
16009
|
+
}
|
|
16010
|
+
return {};
|
|
16011
|
+
}
|
|
16012
|
+
function createAnalytic3dSdfSetup(root, shapeType, initialConfig, getShapeConfig, opts = {}) {
|
|
16013
|
+
const defaults = SHAPE3D_DEFAULTS[shapeType] ?? SHAPE3D_DEFAULTS.sphere3D;
|
|
16014
|
+
const extraPad = opts.extraPad ?? (() => 0);
|
|
16015
|
+
const { layout } = makeVolumetricFieldLayout();
|
|
16016
|
+
const marchParamsBuffer = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(MarchParams), "marchParamsBuffer");
|
|
16017
|
+
const sdfFn = typegpu_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p) => {
|
|
16018
|
+
"use gpu";
|
|
16019
|
+
const pp = layout.$.params;
|
|
16020
|
+
if (shapeType === "cube3D") return sdRoundBox(p, pp.pA, pp.pB, pp.pC, pp.pD);
|
|
16021
|
+
else if (shapeType === "torus3D") return sdTorus(p, pp.pA, pp.pB);
|
|
16022
|
+
else if (shapeType === "octahedron3D") return sdOctahedron(p, pp.pA);
|
|
16023
|
+
else if (shapeType === "cylinder3D") return sdRoundCylinder(p, pp.pA, pp.pB, pp.pD);
|
|
16024
|
+
else if (shapeType === "capsule3D") return sdCapsule(p, pp.pA, pp.pB);
|
|
16025
|
+
else if (shapeType === "cone3D") return sdCappedCone(p, pp.pA, pp.pC, pp.pB);
|
|
16026
|
+
else if (shapeType === "pyramid3D") return sdPyramid(p, pp.pA, pp.pB);
|
|
16027
|
+
else if (shapeType === "prism3D") return sdHexPrism(p, pp.pA, pp.pB);
|
|
16028
|
+
else if (shapeType === "ellipsoid3D") return sdEllipsoid(p, pp.pA, pp.pB, pp.pC);
|
|
16029
|
+
else if (shapeType === "diamond3D") return sdBicone(p, pp.pA, pp.pB);
|
|
16030
|
+
else if (shapeType === "link3D") return sdLink(p, pp.pB, pp.pA, pp.pC);
|
|
16031
|
+
else if (shapeType === "gem3D") return sdGem(p, pp.pA, pp.pB, pp.pC);
|
|
16032
|
+
else if (shapeType === "helix3D") return sdHelix(p, pp.pA, pp.pB, pp.pC, f32(3));
|
|
16033
|
+
else if (shapeType === "metaballs3D") return sdMetaballs(p, pp.mb0, pp.mb1, pp.mb2, pp.mb3, pp.mb4, pp.mb5, pp.mb6, pp.mb7, pp.pA, pp.pD);
|
|
16034
|
+
else if (shapeType === "dodecahedron3D") return sdDodecahedron(p, pp.pA);
|
|
16035
|
+
else if (shapeType === "hemisphere3D") return sdCutSphere(p, pp.pA, pp.pB);
|
|
16036
|
+
else if (shapeType === "ribbon3D") return sdRibbon(p, pp.pA, pp.pB, pp.pC, pp.mb0.x, pp.mb0.y, pp.mb0.z, pp.mb1.x, pp.mb1.y, pp.mb1.z, pp.mb2.x);
|
|
16037
|
+
else if (shapeType === "blob3D") return sdWobbleBlob(p, pp.pA, pp.mb0.x, pp.mb0.y, pp.mb0.z, pp.mb1.x, pp.mb2.x);
|
|
16038
|
+
else if (shapeType === "gyroscope3D") return sdGyroscope(p, pp.pA, pp.pB, pp.pD, pp.mb3.x, pp.pC, pp.mb0.x, pp.mb0.y, pp.mb1.x, pp.mb1.y, pp.mb2.x, pp.mb2.y);
|
|
16039
|
+
else return sdSphere(p, pp.pA);
|
|
16040
|
+
}), {
|
|
16041
|
+
v: 2,
|
|
16042
|
+
name: void 0,
|
|
16043
|
+
ast: {
|
|
16044
|
+
"params": [{
|
|
16045
|
+
"type": "i",
|
|
16046
|
+
"name": "p"
|
|
16047
|
+
}],
|
|
16048
|
+
"body": [0, [[
|
|
16049
|
+
13,
|
|
16050
|
+
"pp",
|
|
16051
|
+
[
|
|
16052
|
+
7,
|
|
16053
|
+
[
|
|
16054
|
+
7,
|
|
16055
|
+
"layout",
|
|
16056
|
+
"$"
|
|
16057
|
+
],
|
|
16058
|
+
"params"
|
|
16059
|
+
]
|
|
16060
|
+
], [
|
|
16061
|
+
11,
|
|
16062
|
+
[
|
|
16063
|
+
1,
|
|
16064
|
+
"shapeType",
|
|
16065
|
+
"===",
|
|
16066
|
+
[103, "cube3D"]
|
|
16067
|
+
],
|
|
16068
|
+
[10, [
|
|
16069
|
+
6,
|
|
16070
|
+
"sdRoundBox",
|
|
16071
|
+
[
|
|
16072
|
+
"p",
|
|
16073
|
+
[
|
|
16074
|
+
7,
|
|
16075
|
+
"pp",
|
|
16076
|
+
"pA"
|
|
16077
|
+
],
|
|
16078
|
+
[
|
|
16079
|
+
7,
|
|
16080
|
+
"pp",
|
|
16081
|
+
"pB"
|
|
16082
|
+
],
|
|
16083
|
+
[
|
|
16084
|
+
7,
|
|
16085
|
+
"pp",
|
|
16086
|
+
"pC"
|
|
16087
|
+
],
|
|
16088
|
+
[
|
|
16089
|
+
7,
|
|
16090
|
+
"pp",
|
|
16091
|
+
"pD"
|
|
16092
|
+
]
|
|
16093
|
+
]
|
|
16094
|
+
]],
|
|
16095
|
+
[
|
|
16096
|
+
11,
|
|
16097
|
+
[
|
|
16098
|
+
1,
|
|
16099
|
+
"shapeType",
|
|
16100
|
+
"===",
|
|
16101
|
+
[103, "torus3D"]
|
|
16102
|
+
],
|
|
16103
|
+
[10, [
|
|
16104
|
+
6,
|
|
16105
|
+
"sdTorus",
|
|
16106
|
+
[
|
|
16107
|
+
"p",
|
|
16108
|
+
[
|
|
16109
|
+
7,
|
|
16110
|
+
"pp",
|
|
16111
|
+
"pA"
|
|
16112
|
+
],
|
|
16113
|
+
[
|
|
16114
|
+
7,
|
|
16115
|
+
"pp",
|
|
16116
|
+
"pB"
|
|
16117
|
+
]
|
|
16118
|
+
]
|
|
16119
|
+
]],
|
|
16120
|
+
[
|
|
16121
|
+
11,
|
|
16122
|
+
[
|
|
16123
|
+
1,
|
|
16124
|
+
"shapeType",
|
|
16125
|
+
"===",
|
|
16126
|
+
[103, "octahedron3D"]
|
|
16127
|
+
],
|
|
16128
|
+
[10, [
|
|
16129
|
+
6,
|
|
16130
|
+
"sdOctahedron",
|
|
16131
|
+
["p", [
|
|
16132
|
+
7,
|
|
16133
|
+
"pp",
|
|
16134
|
+
"pA"
|
|
16135
|
+
]]
|
|
16136
|
+
]],
|
|
16137
|
+
[
|
|
16138
|
+
11,
|
|
16139
|
+
[
|
|
16140
|
+
1,
|
|
16141
|
+
"shapeType",
|
|
16142
|
+
"===",
|
|
16143
|
+
[103, "cylinder3D"]
|
|
16144
|
+
],
|
|
16145
|
+
[10, [
|
|
16146
|
+
6,
|
|
16147
|
+
"sdRoundCylinder",
|
|
16148
|
+
[
|
|
16149
|
+
"p",
|
|
16150
|
+
[
|
|
16151
|
+
7,
|
|
16152
|
+
"pp",
|
|
16153
|
+
"pA"
|
|
16154
|
+
],
|
|
16155
|
+
[
|
|
16156
|
+
7,
|
|
16157
|
+
"pp",
|
|
16158
|
+
"pB"
|
|
16159
|
+
],
|
|
16160
|
+
[
|
|
16161
|
+
7,
|
|
16162
|
+
"pp",
|
|
16163
|
+
"pD"
|
|
16164
|
+
]
|
|
16165
|
+
]
|
|
16166
|
+
]],
|
|
16167
|
+
[
|
|
16168
|
+
11,
|
|
16169
|
+
[
|
|
16170
|
+
1,
|
|
16171
|
+
"shapeType",
|
|
16172
|
+
"===",
|
|
16173
|
+
[103, "capsule3D"]
|
|
16174
|
+
],
|
|
16175
|
+
[10, [
|
|
16176
|
+
6,
|
|
16177
|
+
"sdCapsule",
|
|
16178
|
+
[
|
|
16179
|
+
"p",
|
|
16180
|
+
[
|
|
16181
|
+
7,
|
|
16182
|
+
"pp",
|
|
16183
|
+
"pA"
|
|
16184
|
+
],
|
|
16185
|
+
[
|
|
16186
|
+
7,
|
|
16187
|
+
"pp",
|
|
16188
|
+
"pB"
|
|
16189
|
+
]
|
|
16190
|
+
]
|
|
16191
|
+
]],
|
|
16192
|
+
[
|
|
16193
|
+
11,
|
|
16194
|
+
[
|
|
16195
|
+
1,
|
|
16196
|
+
"shapeType",
|
|
16197
|
+
"===",
|
|
16198
|
+
[103, "cone3D"]
|
|
16199
|
+
],
|
|
16200
|
+
[10, [
|
|
16201
|
+
6,
|
|
16202
|
+
"sdCappedCone",
|
|
16203
|
+
[
|
|
16204
|
+
"p",
|
|
16205
|
+
[
|
|
16206
|
+
7,
|
|
16207
|
+
"pp",
|
|
16208
|
+
"pA"
|
|
16209
|
+
],
|
|
16210
|
+
[
|
|
16211
|
+
7,
|
|
16212
|
+
"pp",
|
|
16213
|
+
"pC"
|
|
16214
|
+
],
|
|
16215
|
+
[
|
|
16216
|
+
7,
|
|
16217
|
+
"pp",
|
|
16218
|
+
"pB"
|
|
16219
|
+
]
|
|
16220
|
+
]
|
|
16221
|
+
]],
|
|
16222
|
+
[
|
|
16223
|
+
11,
|
|
16224
|
+
[
|
|
16225
|
+
1,
|
|
16226
|
+
"shapeType",
|
|
16227
|
+
"===",
|
|
16228
|
+
[103, "pyramid3D"]
|
|
16229
|
+
],
|
|
16230
|
+
[10, [
|
|
16231
|
+
6,
|
|
16232
|
+
"sdPyramid",
|
|
16233
|
+
[
|
|
16234
|
+
"p",
|
|
16235
|
+
[
|
|
16236
|
+
7,
|
|
16237
|
+
"pp",
|
|
16238
|
+
"pA"
|
|
16239
|
+
],
|
|
16240
|
+
[
|
|
16241
|
+
7,
|
|
16242
|
+
"pp",
|
|
16243
|
+
"pB"
|
|
16244
|
+
]
|
|
16245
|
+
]
|
|
16246
|
+
]],
|
|
16247
|
+
[
|
|
16248
|
+
11,
|
|
16249
|
+
[
|
|
16250
|
+
1,
|
|
16251
|
+
"shapeType",
|
|
16252
|
+
"===",
|
|
16253
|
+
[103, "prism3D"]
|
|
16254
|
+
],
|
|
16255
|
+
[10, [
|
|
16256
|
+
6,
|
|
16257
|
+
"sdHexPrism",
|
|
16258
|
+
[
|
|
16259
|
+
"p",
|
|
16260
|
+
[
|
|
16261
|
+
7,
|
|
16262
|
+
"pp",
|
|
16263
|
+
"pA"
|
|
16264
|
+
],
|
|
16265
|
+
[
|
|
16266
|
+
7,
|
|
16267
|
+
"pp",
|
|
16268
|
+
"pB"
|
|
16269
|
+
]
|
|
16270
|
+
]
|
|
16271
|
+
]],
|
|
16272
|
+
[
|
|
16273
|
+
11,
|
|
16274
|
+
[
|
|
16275
|
+
1,
|
|
16276
|
+
"shapeType",
|
|
16277
|
+
"===",
|
|
16278
|
+
[103, "ellipsoid3D"]
|
|
16279
|
+
],
|
|
16280
|
+
[10, [
|
|
16281
|
+
6,
|
|
16282
|
+
"sdEllipsoid",
|
|
16283
|
+
[
|
|
16284
|
+
"p",
|
|
16285
|
+
[
|
|
16286
|
+
7,
|
|
16287
|
+
"pp",
|
|
16288
|
+
"pA"
|
|
16289
|
+
],
|
|
16290
|
+
[
|
|
16291
|
+
7,
|
|
16292
|
+
"pp",
|
|
16293
|
+
"pB"
|
|
16294
|
+
],
|
|
16295
|
+
[
|
|
16296
|
+
7,
|
|
16297
|
+
"pp",
|
|
16298
|
+
"pC"
|
|
16299
|
+
]
|
|
16300
|
+
]
|
|
16301
|
+
]],
|
|
16302
|
+
[
|
|
16303
|
+
11,
|
|
16304
|
+
[
|
|
16305
|
+
1,
|
|
16306
|
+
"shapeType",
|
|
16307
|
+
"===",
|
|
16308
|
+
[103, "diamond3D"]
|
|
16309
|
+
],
|
|
16310
|
+
[10, [
|
|
16311
|
+
6,
|
|
16312
|
+
"sdBicone",
|
|
16313
|
+
[
|
|
16314
|
+
"p",
|
|
16315
|
+
[
|
|
16316
|
+
7,
|
|
16317
|
+
"pp",
|
|
16318
|
+
"pA"
|
|
16319
|
+
],
|
|
16320
|
+
[
|
|
16321
|
+
7,
|
|
16322
|
+
"pp",
|
|
16323
|
+
"pB"
|
|
16324
|
+
]
|
|
16325
|
+
]
|
|
16326
|
+
]],
|
|
16327
|
+
[
|
|
16328
|
+
11,
|
|
16329
|
+
[
|
|
16330
|
+
1,
|
|
16331
|
+
"shapeType",
|
|
16332
|
+
"===",
|
|
16333
|
+
[103, "link3D"]
|
|
16334
|
+
],
|
|
16335
|
+
[10, [
|
|
16336
|
+
6,
|
|
16337
|
+
"sdLink",
|
|
16338
|
+
[
|
|
16339
|
+
"p",
|
|
16340
|
+
[
|
|
16341
|
+
7,
|
|
16342
|
+
"pp",
|
|
16343
|
+
"pB"
|
|
16344
|
+
],
|
|
16345
|
+
[
|
|
16346
|
+
7,
|
|
16347
|
+
"pp",
|
|
16348
|
+
"pA"
|
|
16349
|
+
],
|
|
16350
|
+
[
|
|
16351
|
+
7,
|
|
16352
|
+
"pp",
|
|
16353
|
+
"pC"
|
|
16354
|
+
]
|
|
16355
|
+
]
|
|
16356
|
+
]],
|
|
16357
|
+
[
|
|
16358
|
+
11,
|
|
16359
|
+
[
|
|
16360
|
+
1,
|
|
16361
|
+
"shapeType",
|
|
16362
|
+
"===",
|
|
16363
|
+
[103, "gem3D"]
|
|
16364
|
+
],
|
|
16365
|
+
[10, [
|
|
16366
|
+
6,
|
|
16367
|
+
"sdGem",
|
|
16368
|
+
[
|
|
16369
|
+
"p",
|
|
16370
|
+
[
|
|
16371
|
+
7,
|
|
16372
|
+
"pp",
|
|
16373
|
+
"pA"
|
|
16374
|
+
],
|
|
16375
|
+
[
|
|
16376
|
+
7,
|
|
16377
|
+
"pp",
|
|
16378
|
+
"pB"
|
|
16379
|
+
],
|
|
16380
|
+
[
|
|
16381
|
+
7,
|
|
16382
|
+
"pp",
|
|
16383
|
+
"pC"
|
|
16384
|
+
]
|
|
16385
|
+
]
|
|
16386
|
+
]],
|
|
16387
|
+
[
|
|
16388
|
+
11,
|
|
16389
|
+
[
|
|
16390
|
+
1,
|
|
16391
|
+
"shapeType",
|
|
16392
|
+
"===",
|
|
16393
|
+
[103, "helix3D"]
|
|
16394
|
+
],
|
|
16395
|
+
[10, [
|
|
16396
|
+
6,
|
|
16397
|
+
"sdHelix",
|
|
16398
|
+
[
|
|
16399
|
+
"p",
|
|
16400
|
+
[
|
|
16401
|
+
7,
|
|
16402
|
+
"pp",
|
|
16403
|
+
"pA"
|
|
16404
|
+
],
|
|
16405
|
+
[
|
|
16406
|
+
7,
|
|
16407
|
+
"pp",
|
|
16408
|
+
"pB"
|
|
16409
|
+
],
|
|
16410
|
+
[
|
|
16411
|
+
7,
|
|
16412
|
+
"pp",
|
|
16413
|
+
"pC"
|
|
16414
|
+
],
|
|
16415
|
+
[
|
|
16416
|
+
6,
|
|
16417
|
+
"d.f32",
|
|
16418
|
+
["HELIX_TURNS"]
|
|
16419
|
+
]
|
|
16420
|
+
]
|
|
16421
|
+
]],
|
|
16422
|
+
[
|
|
16423
|
+
11,
|
|
16424
|
+
[
|
|
16425
|
+
1,
|
|
16426
|
+
"shapeType",
|
|
16427
|
+
"===",
|
|
16428
|
+
[103, "metaballs3D"]
|
|
16429
|
+
],
|
|
16430
|
+
[10, [
|
|
16431
|
+
6,
|
|
16432
|
+
"sdMetaballs",
|
|
16433
|
+
[
|
|
16434
|
+
"p",
|
|
16435
|
+
[
|
|
16436
|
+
7,
|
|
16437
|
+
"pp",
|
|
16438
|
+
"mb0"
|
|
16439
|
+
],
|
|
16440
|
+
[
|
|
16441
|
+
7,
|
|
16442
|
+
"pp",
|
|
16443
|
+
"mb1"
|
|
16444
|
+
],
|
|
16445
|
+
[
|
|
16446
|
+
7,
|
|
16447
|
+
"pp",
|
|
16448
|
+
"mb2"
|
|
16449
|
+
],
|
|
16450
|
+
[
|
|
16451
|
+
7,
|
|
16452
|
+
"pp",
|
|
16453
|
+
"mb3"
|
|
16454
|
+
],
|
|
16455
|
+
[
|
|
16456
|
+
7,
|
|
16457
|
+
"pp",
|
|
16092
16458
|
"mb4"
|
|
16093
16459
|
],
|
|
16094
16460
|
[
|
|
@@ -16442,50 +16808,847 @@ function createAnalytic3dSdfSetup(root, shapeType, initialConfig, getShapeConfig
|
|
|
16442
16808
|
]
|
|
16443
16809
|
]
|
|
16444
16810
|
]
|
|
16445
|
-
]
|
|
16446
|
-
]]]
|
|
16447
|
-
},
|
|
16448
|
-
externals: {
|
|
16449
|
-
"layout": () => layout,
|
|
16450
|
-
"shapeType": () => shapeType,
|
|
16451
|
-
"sdRoundBox": () => sdRoundBox,
|
|
16452
|
-
"sdTorus": () => sdTorus,
|
|
16453
|
-
"sdOctahedron": () => sdOctahedron,
|
|
16454
|
-
"sdRoundCylinder": () => sdRoundCylinder,
|
|
16455
|
-
"sdCapsule": () => sdCapsule,
|
|
16456
|
-
"sdCappedCone": () => sdCappedCone,
|
|
16457
|
-
"sdPyramid": () => sdPyramid,
|
|
16458
|
-
"sdHexPrism": () => sdHexPrism,
|
|
16459
|
-
"sdEllipsoid": () => sdEllipsoid,
|
|
16460
|
-
"sdBicone": () => sdBicone,
|
|
16461
|
-
"sdLink": () => sdLink,
|
|
16462
|
-
"sdGem": () => sdGem,
|
|
16463
|
-
"sdHelix": () => sdHelix,
|
|
16811
|
+
]
|
|
16812
|
+
]]]
|
|
16813
|
+
},
|
|
16814
|
+
externals: {
|
|
16815
|
+
"layout": () => layout,
|
|
16816
|
+
"shapeType": () => shapeType,
|
|
16817
|
+
"sdRoundBox": () => sdRoundBox,
|
|
16818
|
+
"sdTorus": () => sdTorus,
|
|
16819
|
+
"sdOctahedron": () => sdOctahedron,
|
|
16820
|
+
"sdRoundCylinder": () => sdRoundCylinder,
|
|
16821
|
+
"sdCapsule": () => sdCapsule,
|
|
16822
|
+
"sdCappedCone": () => sdCappedCone,
|
|
16823
|
+
"sdPyramid": () => sdPyramid,
|
|
16824
|
+
"sdHexPrism": () => sdHexPrism,
|
|
16825
|
+
"sdEllipsoid": () => sdEllipsoid,
|
|
16826
|
+
"sdBicone": () => sdBicone,
|
|
16827
|
+
"sdLink": () => sdLink,
|
|
16828
|
+
"sdGem": () => sdGem,
|
|
16829
|
+
"sdHelix": () => sdHelix,
|
|
16830
|
+
"d.f32": () => f32,
|
|
16831
|
+
"HELIX_TURNS": () => 3,
|
|
16832
|
+
"sdMetaballs": () => sdMetaballs,
|
|
16833
|
+
"sdDodecahedron": () => sdDodecahedron,
|
|
16834
|
+
"sdCutSphere": () => sdCutSphere,
|
|
16835
|
+
"sdRibbon": () => sdRibbon,
|
|
16836
|
+
"sdWobbleBlob": () => sdWobbleBlob,
|
|
16837
|
+
"sdGyroscope": () => sdGyroscope,
|
|
16838
|
+
"sdSphere": () => sdSphere
|
|
16839
|
+
}
|
|
16840
|
+
}) && $.f)({}));
|
|
16841
|
+
let elapsed = 0;
|
|
16842
|
+
let lastShapeJson = "";
|
|
16843
|
+
let lastCfg = initialConfig;
|
|
16844
|
+
const springs = /* @__PURE__ */ new Map();
|
|
16845
|
+
let pA = .35, pB = .3, pC = .3, pD = 0;
|
|
16846
|
+
let rBound = .6;
|
|
16847
|
+
let cx = 1, sx = 0, cy = 1, sy = 0, cz = 1, sz = 0;
|
|
16848
|
+
let spanX = 1, spanY = 1, originX = 0, originY = 0;
|
|
16849
|
+
let activeRes = resolveVolumetricFieldRes();
|
|
16850
|
+
const mb = Array.from({ length: 8 }, () => [
|
|
16851
|
+
0,
|
|
16852
|
+
0,
|
|
16853
|
+
0
|
|
16854
|
+
]);
|
|
16855
|
+
const writeMarch = () => {
|
|
16856
|
+
marchParamsBuffer.write({
|
|
16857
|
+
rot: {
|
|
16858
|
+
cx,
|
|
16859
|
+
sx,
|
|
16860
|
+
cy,
|
|
16861
|
+
sy,
|
|
16862
|
+
cz,
|
|
16863
|
+
sz
|
|
16864
|
+
},
|
|
16865
|
+
rBound,
|
|
16866
|
+
spanX,
|
|
16867
|
+
spanY,
|
|
16868
|
+
originX,
|
|
16869
|
+
originY,
|
|
16870
|
+
activeRes,
|
|
16871
|
+
pA,
|
|
16872
|
+
pB,
|
|
16873
|
+
pC,
|
|
16874
|
+
pD,
|
|
16875
|
+
mb0: vec3f(mb[0][0], mb[0][1], mb[0][2]),
|
|
16876
|
+
mb1: vec3f(mb[1][0], mb[1][1], mb[1][2]),
|
|
16877
|
+
mb2: vec3f(mb[2][0], mb[2][1], mb[2][2]),
|
|
16878
|
+
mb3: vec3f(mb[3][0], mb[3][1], mb[3][2]),
|
|
16879
|
+
mb4: vec3f(mb[4][0], mb[4][1], mb[4][2]),
|
|
16880
|
+
mb5: vec3f(mb[5][0], mb[5][1], mb[5][2]),
|
|
16881
|
+
mb6: vec3f(mb[6][0], mb[6][1], mb[6][2]),
|
|
16882
|
+
mb7: vec3f(mb[7][0], mb[7][1], mb[7][2])
|
|
16883
|
+
});
|
|
16884
|
+
};
|
|
16885
|
+
const update = (frameParams) => {
|
|
16886
|
+
const deltaTime = frameParams?.deltaTime ?? 0;
|
|
16887
|
+
elapsed += deltaTime;
|
|
16888
|
+
const raw = getShapeConfig();
|
|
16889
|
+
if (raw && typeof raw === "object") lastCfg = raw;
|
|
16890
|
+
else if (typeof raw === "string") {
|
|
16891
|
+
if (raw !== lastShapeJson) {
|
|
16892
|
+
lastShapeJson = raw;
|
|
16893
|
+
try {
|
|
16894
|
+
lastCfg = JSON.parse(raw);
|
|
16895
|
+
} catch {}
|
|
16896
|
+
}
|
|
16897
|
+
}
|
|
16898
|
+
const frame = {
|
|
16899
|
+
elapsed,
|
|
16900
|
+
deltaTime,
|
|
16901
|
+
pointerX: frameParams?.pointer?.x ?? .5,
|
|
16902
|
+
pointerY: frameParams?.pointer?.y ?? .5,
|
|
16903
|
+
springs
|
|
16904
|
+
};
|
|
16905
|
+
const sub = (k) => resolveShapeSubProp(lastCfg[k], defaults[k] ?? 0, frame, k);
|
|
16906
|
+
pB = .3;
|
|
16907
|
+
pC = .3;
|
|
16908
|
+
pD = 0;
|
|
16909
|
+
for (let i = 0; i < mb.length; i++) mb[i] = [
|
|
16910
|
+
0,
|
|
16911
|
+
0,
|
|
16912
|
+
0
|
|
16913
|
+
];
|
|
16914
|
+
switch (shapeType) {
|
|
16915
|
+
case "cube3D":
|
|
16916
|
+
pA = sub("sizeX");
|
|
16917
|
+
pB = sub("sizeY");
|
|
16918
|
+
pC = sub("sizeZ");
|
|
16919
|
+
pD = sub("rounding");
|
|
16920
|
+
break;
|
|
16921
|
+
case "torus3D":
|
|
16922
|
+
pA = sub("radius");
|
|
16923
|
+
pB = sub("tube");
|
|
16924
|
+
break;
|
|
16925
|
+
case "cylinder3D":
|
|
16926
|
+
pA = sub("radius");
|
|
16927
|
+
pB = sub("height");
|
|
16928
|
+
pD = sub("rounding");
|
|
16929
|
+
break;
|
|
16930
|
+
case "capsule3D":
|
|
16931
|
+
pA = sub("radius");
|
|
16932
|
+
pB = sub("height");
|
|
16933
|
+
break;
|
|
16934
|
+
case "cone3D":
|
|
16935
|
+
pA = sub("radius");
|
|
16936
|
+
pB = sub("height");
|
|
16937
|
+
pC = sub("topRadius");
|
|
16938
|
+
break;
|
|
16939
|
+
case "pyramid3D":
|
|
16940
|
+
pA = sub("size");
|
|
16941
|
+
pB = sub("height");
|
|
16942
|
+
break;
|
|
16943
|
+
case "prism3D":
|
|
16944
|
+
case "diamond3D":
|
|
16945
|
+
pA = sub("radius");
|
|
16946
|
+
pB = sub("height");
|
|
16947
|
+
break;
|
|
16948
|
+
case "ellipsoid3D":
|
|
16949
|
+
pA = sub("radiusX");
|
|
16950
|
+
pB = sub("radiusY");
|
|
16951
|
+
pC = sub("radiusZ");
|
|
16952
|
+
break;
|
|
16953
|
+
case "link3D":
|
|
16954
|
+
pA = sub("radius");
|
|
16955
|
+
pB = sub("length");
|
|
16956
|
+
pC = sub("tube");
|
|
16957
|
+
break;
|
|
16958
|
+
case "gem3D":
|
|
16959
|
+
pA = sub("radius");
|
|
16960
|
+
pB = sub("height");
|
|
16961
|
+
pC = sub("facets");
|
|
16962
|
+
break;
|
|
16963
|
+
case "helix3D":
|
|
16964
|
+
pA = sub("radius");
|
|
16965
|
+
pB = sub("tube");
|
|
16966
|
+
pC = sub("pitch");
|
|
16967
|
+
break;
|
|
16968
|
+
case "metaballs3D": {
|
|
16969
|
+
pA = sub("ballRadius");
|
|
16970
|
+
pB = sub("spread");
|
|
16971
|
+
pD = sub("blend");
|
|
16972
|
+
const count = Math.min(8, Math.max(1, Math.round(sub("balls"))));
|
|
16973
|
+
const sp = pB, tt = elapsed * sub("speed") * .6;
|
|
16974
|
+
for (let i = 0; i < mb.length; i++) {
|
|
16975
|
+
if (i >= count) {
|
|
16976
|
+
mb[i] = [
|
|
16977
|
+
0,
|
|
16978
|
+
99,
|
|
16979
|
+
0
|
|
16980
|
+
];
|
|
16981
|
+
continue;
|
|
16982
|
+
}
|
|
16983
|
+
const phase = i * (TWO_PI / count);
|
|
16984
|
+
const ang = phase + tt;
|
|
16985
|
+
const wob = .75 + .25 * Math.sin(tt * 1.3 + i * 1.7);
|
|
16986
|
+
mb[i] = [
|
|
16987
|
+
sp * Math.cos(ang) * wob,
|
|
16988
|
+
sp * .6 * Math.sin(tt * .9 + phase * 1.5),
|
|
16989
|
+
sp * Math.sin(ang) * wob
|
|
16990
|
+
];
|
|
16991
|
+
}
|
|
16992
|
+
break;
|
|
16993
|
+
}
|
|
16994
|
+
case "hemisphere3D":
|
|
16995
|
+
pA = sub("radius");
|
|
16996
|
+
pB = sub("cut");
|
|
16997
|
+
break;
|
|
16998
|
+
case "ribbon3D": {
|
|
16999
|
+
pA = sub("width");
|
|
17000
|
+
pB = sub("thickness");
|
|
17001
|
+
pC = sub("length");
|
|
17002
|
+
const tt = elapsed * sub("speed");
|
|
17003
|
+
const amp = sub("wave") * (.8 + .2 * Math.sin(tt * .9));
|
|
17004
|
+
const wf = sub("waveFrequency");
|
|
17005
|
+
const twRate = sub("twist") * DEG / Math.max(pC * 2, .01);
|
|
17006
|
+
mb[0] = [
|
|
17007
|
+
amp,
|
|
17008
|
+
wf,
|
|
17009
|
+
tt * 1.1
|
|
17010
|
+
];
|
|
17011
|
+
mb[1] = [
|
|
17012
|
+
tt * .7 + 2.1,
|
|
17013
|
+
twRate,
|
|
17014
|
+
tt * .45
|
|
17015
|
+
];
|
|
17016
|
+
const slope = Math.abs(amp) * wf + Math.abs(twRate) * Math.hypot(pA, pB);
|
|
17017
|
+
mb[2] = [
|
|
17018
|
+
1 / Math.sqrt(1 + slope * slope),
|
|
17019
|
+
0,
|
|
17020
|
+
0
|
|
17021
|
+
];
|
|
17022
|
+
break;
|
|
17023
|
+
}
|
|
17024
|
+
case "blob3D": {
|
|
17025
|
+
pA = sub("radius");
|
|
17026
|
+
const tt = elapsed * sub("speed");
|
|
17027
|
+
const amp = sub("wobble") * (.75 + .25 * Math.sin(tt * .83));
|
|
17028
|
+
const wb = sub("wobbliness");
|
|
17029
|
+
mb[0] = [
|
|
17030
|
+
amp,
|
|
17031
|
+
wb,
|
|
17032
|
+
tt * 1.2
|
|
17033
|
+
];
|
|
17034
|
+
mb[1] = [
|
|
17035
|
+
tt * .77 + 1.3,
|
|
17036
|
+
0,
|
|
17037
|
+
0
|
|
17038
|
+
];
|
|
17039
|
+
mb[2] = [
|
|
17040
|
+
1 / (1 + Math.abs(amp) * wb * 1.3),
|
|
17041
|
+
0,
|
|
17042
|
+
0
|
|
17043
|
+
];
|
|
17044
|
+
break;
|
|
17045
|
+
}
|
|
17046
|
+
case "gyroscope3D": {
|
|
17047
|
+
pA = sub("radius");
|
|
17048
|
+
pB = sub("width");
|
|
17049
|
+
pC = sub("core");
|
|
17050
|
+
pD = sub("thickness");
|
|
17051
|
+
const rnd = Math.max(0, Math.min(sub("rounding"), Math.min(pB, pD) * .5));
|
|
17052
|
+
const tt = elapsed * sub("speed");
|
|
17053
|
+
const th1 = tt * .9;
|
|
17054
|
+
const th2 = tt * .63 + 1.1;
|
|
17055
|
+
const th3 = tt * 1.21 + 2.3;
|
|
17056
|
+
mb[0] = [
|
|
17057
|
+
Math.cos(th1),
|
|
17058
|
+
Math.sin(th1),
|
|
17059
|
+
0
|
|
17060
|
+
];
|
|
17061
|
+
mb[1] = [
|
|
17062
|
+
Math.cos(th2),
|
|
17063
|
+
Math.sin(th2),
|
|
17064
|
+
0
|
|
17065
|
+
];
|
|
17066
|
+
mb[2] = [
|
|
17067
|
+
Math.cos(th3),
|
|
17068
|
+
Math.sin(th3),
|
|
17069
|
+
0
|
|
17070
|
+
];
|
|
17071
|
+
mb[3] = [
|
|
17072
|
+
rnd,
|
|
17073
|
+
0,
|
|
17074
|
+
0
|
|
17075
|
+
];
|
|
17076
|
+
break;
|
|
17077
|
+
}
|
|
17078
|
+
case "sphere3D":
|
|
17079
|
+
case "octahedron3D":
|
|
17080
|
+
case "dodecahedron3D":
|
|
17081
|
+
default:
|
|
17082
|
+
pA = sub("radius");
|
|
17083
|
+
break;
|
|
17084
|
+
}
|
|
17085
|
+
rBound = shape3dBoundingRadius({
|
|
17086
|
+
...lastCfg,
|
|
17087
|
+
type: shapeType
|
|
17088
|
+
}) + .02 + extraPad();
|
|
17089
|
+
const rx = sub("rotX") * DEG, ry = sub("rotY") * DEG, rz = sub("rotZ") * DEG;
|
|
17090
|
+
cx = Math.cos(rx);
|
|
17091
|
+
sx = Math.sin(rx);
|
|
17092
|
+
cy = Math.cos(ry);
|
|
17093
|
+
sy = Math.sin(ry);
|
|
17094
|
+
cz = Math.cos(rz);
|
|
17095
|
+
sz = Math.sin(rz);
|
|
17096
|
+
const rPad = rBound + .05;
|
|
17097
|
+
spanX = rPad * 2;
|
|
17098
|
+
spanY = rPad * 2;
|
|
17099
|
+
originX = .5 - rPad;
|
|
17100
|
+
originY = .5 - rPad;
|
|
17101
|
+
writeMarch();
|
|
17102
|
+
};
|
|
17103
|
+
update();
|
|
17104
|
+
const setActiveRes = (res) => {
|
|
17105
|
+
if (res === activeRes) return;
|
|
17106
|
+
activeRes = res;
|
|
17107
|
+
writeMarch();
|
|
17108
|
+
};
|
|
17109
|
+
const getGeometryKey = () => `${pA},${pB},${pC},${pD},${rBound},` + mb.map((m) => `${m[0]},${m[1]},${m[2]}`).join(",");
|
|
17110
|
+
const getStateKey = () => `${getGeometryKey()},${cx},${sx},${cy},${sy},${cz},${sz}`;
|
|
17111
|
+
return {
|
|
17112
|
+
layout,
|
|
17113
|
+
marchParamsBuffer,
|
|
17114
|
+
sdfFn,
|
|
17115
|
+
update,
|
|
17116
|
+
setActiveRes,
|
|
17117
|
+
getStateKey,
|
|
17118
|
+
getFootprint: () => ({
|
|
17119
|
+
spanX,
|
|
17120
|
+
spanY,
|
|
17121
|
+
originX,
|
|
17122
|
+
originY,
|
|
17123
|
+
rBound
|
|
17124
|
+
}),
|
|
17125
|
+
getRotation: () => ({
|
|
17126
|
+
cx,
|
|
17127
|
+
sx,
|
|
17128
|
+
cy,
|
|
17129
|
+
sy,
|
|
17130
|
+
cz,
|
|
17131
|
+
sz
|
|
17132
|
+
}),
|
|
17133
|
+
getGeometryKey
|
|
17134
|
+
};
|
|
17135
|
+
}
|
|
17136
|
+
function createSvg3dSdfSetup(params, shapeSdfUrl, getShapeConfig, opts = {}) {
|
|
17137
|
+
const root = params.gpu.root;
|
|
17138
|
+
const extraPad = opts.extraPad ?? (() => 0);
|
|
17139
|
+
const { texture, getVersion } = createSdfDataTexture(params, shapeSdfUrl);
|
|
17140
|
+
const { layout } = makeVolumetricSvgFieldLayout();
|
|
17141
|
+
const marchParamsBuffer = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(MarchParams), "marchParamsBuffer");
|
|
17142
|
+
const SIZE_F = f32(512);
|
|
17143
|
+
const MAX_TEXEL = f32(511);
|
|
17144
|
+
const sdfFn = typegpu_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p) => {
|
|
17145
|
+
"use gpu";
|
|
17146
|
+
const pp = layout.$.params;
|
|
17147
|
+
const halfDepth$1 = pp.pA;
|
|
17148
|
+
const bevel$1 = pp.pB;
|
|
17149
|
+
const u = __tsover_sub(__tsover_mul(__tsover_add(p.x, .5), SIZE_F), .5);
|
|
17150
|
+
const v = __tsover_sub(__tsover_mul(__tsover_sub(.5, p.y), SIZE_F), .5);
|
|
17151
|
+
const x0 = floor(u);
|
|
17152
|
+
const y0 = floor(v);
|
|
17153
|
+
const fx = __tsover_sub(u, x0);
|
|
17154
|
+
const fy = __tsover_sub(v, y0);
|
|
17155
|
+
const cx0 = u32(clamp(x0, f32(0), MAX_TEXEL));
|
|
17156
|
+
const cx1 = u32(clamp(__tsover_add(x0, 1), f32(0), MAX_TEXEL));
|
|
17157
|
+
const cy0 = u32(clamp(y0, f32(0), MAX_TEXEL));
|
|
17158
|
+
const cy1 = u32(clamp(__tsover_add(y0, 1), f32(0), MAX_TEXEL));
|
|
17159
|
+
const s00 = textureLoad(layout.$.sdfSource, vec2u(cx0, cy0), 0).r;
|
|
17160
|
+
const s10 = textureLoad(layout.$.sdfSource, vec2u(cx1, cy0), 0).r;
|
|
17161
|
+
const s01 = textureLoad(layout.$.sdfSource, vec2u(cx0, cy1), 0).r;
|
|
17162
|
+
const s11 = textureLoad(layout.$.sdfSource, vec2u(cx1, cy1), 0).r;
|
|
17163
|
+
const field2d = mix(mix(s00, s10, fx), mix(s01, s11, fx), fy);
|
|
17164
|
+
const d2 = __tsover_add(field2d, bevel$1);
|
|
17165
|
+
const wz = __tsover_add(__tsover_sub(abs(p.z), halfDepth$1), bevel$1);
|
|
17166
|
+
const inner = min(max(d2, wz), f32(0));
|
|
17167
|
+
const outer = length(vec2f(max(d2, f32(0)), max(wz, f32(0))));
|
|
17168
|
+
return __tsover_sub(__tsover_add(inner, outer), bevel$1);
|
|
17169
|
+
}), {
|
|
17170
|
+
v: 2,
|
|
17171
|
+
name: void 0,
|
|
17172
|
+
ast: {
|
|
17173
|
+
"params": [{
|
|
17174
|
+
"type": "i",
|
|
17175
|
+
"name": "p"
|
|
17176
|
+
}],
|
|
17177
|
+
"body": [0, [
|
|
17178
|
+
[
|
|
17179
|
+
13,
|
|
17180
|
+
"pp",
|
|
17181
|
+
[
|
|
17182
|
+
7,
|
|
17183
|
+
[
|
|
17184
|
+
7,
|
|
17185
|
+
"layout",
|
|
17186
|
+
"$"
|
|
17187
|
+
],
|
|
17188
|
+
"params"
|
|
17189
|
+
]
|
|
17190
|
+
],
|
|
17191
|
+
[
|
|
17192
|
+
13,
|
|
17193
|
+
"halfDepth",
|
|
17194
|
+
[
|
|
17195
|
+
7,
|
|
17196
|
+
"pp",
|
|
17197
|
+
"pA"
|
|
17198
|
+
]
|
|
17199
|
+
],
|
|
17200
|
+
[
|
|
17201
|
+
13,
|
|
17202
|
+
"bevel",
|
|
17203
|
+
[
|
|
17204
|
+
7,
|
|
17205
|
+
"pp",
|
|
17206
|
+
"pB"
|
|
17207
|
+
]
|
|
17208
|
+
],
|
|
17209
|
+
[
|
|
17210
|
+
13,
|
|
17211
|
+
"u",
|
|
17212
|
+
[
|
|
17213
|
+
1,
|
|
17214
|
+
[
|
|
17215
|
+
1,
|
|
17216
|
+
[
|
|
17217
|
+
1,
|
|
17218
|
+
[
|
|
17219
|
+
7,
|
|
17220
|
+
"p",
|
|
17221
|
+
"x"
|
|
17222
|
+
],
|
|
17223
|
+
"+",
|
|
17224
|
+
[5, "0.5"]
|
|
17225
|
+
],
|
|
17226
|
+
"*",
|
|
17227
|
+
"SIZE_F"
|
|
17228
|
+
],
|
|
17229
|
+
"-",
|
|
17230
|
+
[5, "0.5"]
|
|
17231
|
+
]
|
|
17232
|
+
],
|
|
17233
|
+
[
|
|
17234
|
+
13,
|
|
17235
|
+
"v",
|
|
17236
|
+
[
|
|
17237
|
+
1,
|
|
17238
|
+
[
|
|
17239
|
+
1,
|
|
17240
|
+
[
|
|
17241
|
+
1,
|
|
17242
|
+
[5, "0.5"],
|
|
17243
|
+
"-",
|
|
17244
|
+
[
|
|
17245
|
+
7,
|
|
17246
|
+
"p",
|
|
17247
|
+
"y"
|
|
17248
|
+
]
|
|
17249
|
+
],
|
|
17250
|
+
"*",
|
|
17251
|
+
"SIZE_F"
|
|
17252
|
+
],
|
|
17253
|
+
"-",
|
|
17254
|
+
[5, "0.5"]
|
|
17255
|
+
]
|
|
17256
|
+
],
|
|
17257
|
+
[
|
|
17258
|
+
13,
|
|
17259
|
+
"x0",
|
|
17260
|
+
[
|
|
17261
|
+
6,
|
|
17262
|
+
"std.floor",
|
|
17263
|
+
["u"]
|
|
17264
|
+
]
|
|
17265
|
+
],
|
|
17266
|
+
[
|
|
17267
|
+
13,
|
|
17268
|
+
"y0",
|
|
17269
|
+
[
|
|
17270
|
+
6,
|
|
17271
|
+
"std.floor",
|
|
17272
|
+
["v"]
|
|
17273
|
+
]
|
|
17274
|
+
],
|
|
17275
|
+
[
|
|
17276
|
+
13,
|
|
17277
|
+
"fx",
|
|
17278
|
+
[
|
|
17279
|
+
1,
|
|
17280
|
+
"u",
|
|
17281
|
+
"-",
|
|
17282
|
+
"x0"
|
|
17283
|
+
]
|
|
17284
|
+
],
|
|
17285
|
+
[
|
|
17286
|
+
13,
|
|
17287
|
+
"fy",
|
|
17288
|
+
[
|
|
17289
|
+
1,
|
|
17290
|
+
"v",
|
|
17291
|
+
"-",
|
|
17292
|
+
"y0"
|
|
17293
|
+
]
|
|
17294
|
+
],
|
|
17295
|
+
[
|
|
17296
|
+
13,
|
|
17297
|
+
"cx0",
|
|
17298
|
+
[
|
|
17299
|
+
6,
|
|
17300
|
+
"d.u32",
|
|
17301
|
+
[[
|
|
17302
|
+
6,
|
|
17303
|
+
"std.clamp",
|
|
17304
|
+
[
|
|
17305
|
+
"x0",
|
|
17306
|
+
[
|
|
17307
|
+
6,
|
|
17308
|
+
"d.f32",
|
|
17309
|
+
[[5, "0"]]
|
|
17310
|
+
],
|
|
17311
|
+
"MAX_TEXEL"
|
|
17312
|
+
]
|
|
17313
|
+
]]
|
|
17314
|
+
]
|
|
17315
|
+
],
|
|
17316
|
+
[
|
|
17317
|
+
13,
|
|
17318
|
+
"cx1",
|
|
17319
|
+
[
|
|
17320
|
+
6,
|
|
17321
|
+
"d.u32",
|
|
17322
|
+
[[
|
|
17323
|
+
6,
|
|
17324
|
+
"std.clamp",
|
|
17325
|
+
[
|
|
17326
|
+
[
|
|
17327
|
+
1,
|
|
17328
|
+
"x0",
|
|
17329
|
+
"+",
|
|
17330
|
+
[5, "1"]
|
|
17331
|
+
],
|
|
17332
|
+
[
|
|
17333
|
+
6,
|
|
17334
|
+
"d.f32",
|
|
17335
|
+
[[5, "0"]]
|
|
17336
|
+
],
|
|
17337
|
+
"MAX_TEXEL"
|
|
17338
|
+
]
|
|
17339
|
+
]]
|
|
17340
|
+
]
|
|
17341
|
+
],
|
|
17342
|
+
[
|
|
17343
|
+
13,
|
|
17344
|
+
"cy0",
|
|
17345
|
+
[
|
|
17346
|
+
6,
|
|
17347
|
+
"d.u32",
|
|
17348
|
+
[[
|
|
17349
|
+
6,
|
|
17350
|
+
"std.clamp",
|
|
17351
|
+
[
|
|
17352
|
+
"y0",
|
|
17353
|
+
[
|
|
17354
|
+
6,
|
|
17355
|
+
"d.f32",
|
|
17356
|
+
[[5, "0"]]
|
|
17357
|
+
],
|
|
17358
|
+
"MAX_TEXEL"
|
|
17359
|
+
]
|
|
17360
|
+
]]
|
|
17361
|
+
]
|
|
17362
|
+
],
|
|
17363
|
+
[
|
|
17364
|
+
13,
|
|
17365
|
+
"cy1",
|
|
17366
|
+
[
|
|
17367
|
+
6,
|
|
17368
|
+
"d.u32",
|
|
17369
|
+
[[
|
|
17370
|
+
6,
|
|
17371
|
+
"std.clamp",
|
|
17372
|
+
[
|
|
17373
|
+
[
|
|
17374
|
+
1,
|
|
17375
|
+
"y0",
|
|
17376
|
+
"+",
|
|
17377
|
+
[5, "1"]
|
|
17378
|
+
],
|
|
17379
|
+
[
|
|
17380
|
+
6,
|
|
17381
|
+
"d.f32",
|
|
17382
|
+
[[5, "0"]]
|
|
17383
|
+
],
|
|
17384
|
+
"MAX_TEXEL"
|
|
17385
|
+
]
|
|
17386
|
+
]]
|
|
17387
|
+
]
|
|
17388
|
+
],
|
|
17389
|
+
[
|
|
17390
|
+
13,
|
|
17391
|
+
"s00",
|
|
17392
|
+
[
|
|
17393
|
+
7,
|
|
17394
|
+
[
|
|
17395
|
+
6,
|
|
17396
|
+
"std.textureLoad",
|
|
17397
|
+
[
|
|
17398
|
+
[
|
|
17399
|
+
7,
|
|
17400
|
+
[
|
|
17401
|
+
7,
|
|
17402
|
+
"layout",
|
|
17403
|
+
"$"
|
|
17404
|
+
],
|
|
17405
|
+
"sdfSource"
|
|
17406
|
+
],
|
|
17407
|
+
[
|
|
17408
|
+
6,
|
|
17409
|
+
"d.vec2u",
|
|
17410
|
+
["cx0", "cy0"]
|
|
17411
|
+
],
|
|
17412
|
+
[5, "0"]
|
|
17413
|
+
]
|
|
17414
|
+
],
|
|
17415
|
+
"r"
|
|
17416
|
+
]
|
|
17417
|
+
],
|
|
17418
|
+
[
|
|
17419
|
+
13,
|
|
17420
|
+
"s10",
|
|
17421
|
+
[
|
|
17422
|
+
7,
|
|
17423
|
+
[
|
|
17424
|
+
6,
|
|
17425
|
+
"std.textureLoad",
|
|
17426
|
+
[
|
|
17427
|
+
[
|
|
17428
|
+
7,
|
|
17429
|
+
[
|
|
17430
|
+
7,
|
|
17431
|
+
"layout",
|
|
17432
|
+
"$"
|
|
17433
|
+
],
|
|
17434
|
+
"sdfSource"
|
|
17435
|
+
],
|
|
17436
|
+
[
|
|
17437
|
+
6,
|
|
17438
|
+
"d.vec2u",
|
|
17439
|
+
["cx1", "cy0"]
|
|
17440
|
+
],
|
|
17441
|
+
[5, "0"]
|
|
17442
|
+
]
|
|
17443
|
+
],
|
|
17444
|
+
"r"
|
|
17445
|
+
]
|
|
17446
|
+
],
|
|
17447
|
+
[
|
|
17448
|
+
13,
|
|
17449
|
+
"s01",
|
|
17450
|
+
[
|
|
17451
|
+
7,
|
|
17452
|
+
[
|
|
17453
|
+
6,
|
|
17454
|
+
"std.textureLoad",
|
|
17455
|
+
[
|
|
17456
|
+
[
|
|
17457
|
+
7,
|
|
17458
|
+
[
|
|
17459
|
+
7,
|
|
17460
|
+
"layout",
|
|
17461
|
+
"$"
|
|
17462
|
+
],
|
|
17463
|
+
"sdfSource"
|
|
17464
|
+
],
|
|
17465
|
+
[
|
|
17466
|
+
6,
|
|
17467
|
+
"d.vec2u",
|
|
17468
|
+
["cx0", "cy1"]
|
|
17469
|
+
],
|
|
17470
|
+
[5, "0"]
|
|
17471
|
+
]
|
|
17472
|
+
],
|
|
17473
|
+
"r"
|
|
17474
|
+
]
|
|
17475
|
+
],
|
|
17476
|
+
[
|
|
17477
|
+
13,
|
|
17478
|
+
"s11",
|
|
17479
|
+
[
|
|
17480
|
+
7,
|
|
17481
|
+
[
|
|
17482
|
+
6,
|
|
17483
|
+
"std.textureLoad",
|
|
17484
|
+
[
|
|
17485
|
+
[
|
|
17486
|
+
7,
|
|
17487
|
+
[
|
|
17488
|
+
7,
|
|
17489
|
+
"layout",
|
|
17490
|
+
"$"
|
|
17491
|
+
],
|
|
17492
|
+
"sdfSource"
|
|
17493
|
+
],
|
|
17494
|
+
[
|
|
17495
|
+
6,
|
|
17496
|
+
"d.vec2u",
|
|
17497
|
+
["cx1", "cy1"]
|
|
17498
|
+
],
|
|
17499
|
+
[5, "0"]
|
|
17500
|
+
]
|
|
17501
|
+
],
|
|
17502
|
+
"r"
|
|
17503
|
+
]
|
|
17504
|
+
],
|
|
17505
|
+
[
|
|
17506
|
+
13,
|
|
17507
|
+
"field2d",
|
|
17508
|
+
[
|
|
17509
|
+
6,
|
|
17510
|
+
"std.mix",
|
|
17511
|
+
[
|
|
17512
|
+
[
|
|
17513
|
+
6,
|
|
17514
|
+
"std.mix",
|
|
17515
|
+
[
|
|
17516
|
+
"s00",
|
|
17517
|
+
"s10",
|
|
17518
|
+
"fx"
|
|
17519
|
+
]
|
|
17520
|
+
],
|
|
17521
|
+
[
|
|
17522
|
+
6,
|
|
17523
|
+
"std.mix",
|
|
17524
|
+
[
|
|
17525
|
+
"s01",
|
|
17526
|
+
"s11",
|
|
17527
|
+
"fx"
|
|
17528
|
+
]
|
|
17529
|
+
],
|
|
17530
|
+
"fy"
|
|
17531
|
+
]
|
|
17532
|
+
]
|
|
17533
|
+
],
|
|
17534
|
+
[
|
|
17535
|
+
13,
|
|
17536
|
+
"d2",
|
|
17537
|
+
[
|
|
17538
|
+
1,
|
|
17539
|
+
"field2d",
|
|
17540
|
+
"+",
|
|
17541
|
+
"bevel"
|
|
17542
|
+
]
|
|
17543
|
+
],
|
|
17544
|
+
[
|
|
17545
|
+
13,
|
|
17546
|
+
"wz",
|
|
17547
|
+
[
|
|
17548
|
+
1,
|
|
17549
|
+
[
|
|
17550
|
+
1,
|
|
17551
|
+
[
|
|
17552
|
+
6,
|
|
17553
|
+
"std.abs",
|
|
17554
|
+
[[
|
|
17555
|
+
7,
|
|
17556
|
+
"p",
|
|
17557
|
+
"z"
|
|
17558
|
+
]]
|
|
17559
|
+
],
|
|
17560
|
+
"-",
|
|
17561
|
+
"halfDepth"
|
|
17562
|
+
],
|
|
17563
|
+
"+",
|
|
17564
|
+
"bevel"
|
|
17565
|
+
]
|
|
17566
|
+
],
|
|
17567
|
+
[
|
|
17568
|
+
13,
|
|
17569
|
+
"inner",
|
|
17570
|
+
[
|
|
17571
|
+
6,
|
|
17572
|
+
"std.min",
|
|
17573
|
+
[[
|
|
17574
|
+
6,
|
|
17575
|
+
"std.max",
|
|
17576
|
+
["d2", "wz"]
|
|
17577
|
+
], [
|
|
17578
|
+
6,
|
|
17579
|
+
"d.f32",
|
|
17580
|
+
[[5, "0"]]
|
|
17581
|
+
]]
|
|
17582
|
+
]
|
|
17583
|
+
],
|
|
17584
|
+
[
|
|
17585
|
+
13,
|
|
17586
|
+
"outer",
|
|
17587
|
+
[
|
|
17588
|
+
6,
|
|
17589
|
+
"std.length",
|
|
17590
|
+
[[
|
|
17591
|
+
6,
|
|
17592
|
+
"d.vec2f",
|
|
17593
|
+
[[
|
|
17594
|
+
6,
|
|
17595
|
+
"std.max",
|
|
17596
|
+
["d2", [
|
|
17597
|
+
6,
|
|
17598
|
+
"d.f32",
|
|
17599
|
+
[[5, "0"]]
|
|
17600
|
+
]]
|
|
17601
|
+
], [
|
|
17602
|
+
6,
|
|
17603
|
+
"std.max",
|
|
17604
|
+
["wz", [
|
|
17605
|
+
6,
|
|
17606
|
+
"d.f32",
|
|
17607
|
+
[[5, "0"]]
|
|
17608
|
+
]]
|
|
17609
|
+
]]
|
|
17610
|
+
]]
|
|
17611
|
+
]
|
|
17612
|
+
],
|
|
17613
|
+
[10, [
|
|
17614
|
+
1,
|
|
17615
|
+
[
|
|
17616
|
+
1,
|
|
17617
|
+
"inner",
|
|
17618
|
+
"+",
|
|
17619
|
+
"outer"
|
|
17620
|
+
],
|
|
17621
|
+
"-",
|
|
17622
|
+
"bevel"
|
|
17623
|
+
]]
|
|
17624
|
+
]]
|
|
17625
|
+
},
|
|
17626
|
+
externals: {
|
|
17627
|
+
"layout": () => layout,
|
|
17628
|
+
"SIZE_F": () => SIZE_F,
|
|
17629
|
+
"std.floor": () => floor,
|
|
17630
|
+
"d.u32": () => u32,
|
|
17631
|
+
"std.clamp": () => clamp,
|
|
16464
17632
|
"d.f32": () => f32,
|
|
16465
|
-
"
|
|
16466
|
-
"
|
|
16467
|
-
"
|
|
16468
|
-
"
|
|
16469
|
-
"
|
|
16470
|
-
"
|
|
16471
|
-
"
|
|
16472
|
-
"
|
|
17633
|
+
"MAX_TEXEL": () => MAX_TEXEL,
|
|
17634
|
+
"std.textureLoad": () => textureLoad,
|
|
17635
|
+
"d.vec2u": () => vec2u,
|
|
17636
|
+
"std.mix": () => mix,
|
|
17637
|
+
"std.abs": () => abs,
|
|
17638
|
+
"std.min": () => min,
|
|
17639
|
+
"std.max": () => max,
|
|
17640
|
+
"std.length": () => length,
|
|
17641
|
+
"d.vec2f": () => vec2f
|
|
16473
17642
|
}
|
|
16474
17643
|
}) && $.f)({}));
|
|
16475
17644
|
let elapsed = 0;
|
|
16476
17645
|
let lastShapeJson = "";
|
|
16477
|
-
let lastCfg =
|
|
17646
|
+
let lastCfg = parseShapeConfig(getShapeConfig());
|
|
16478
17647
|
const springs = /* @__PURE__ */ new Map();
|
|
16479
|
-
let
|
|
16480
|
-
let rBound = .6;
|
|
17648
|
+
let halfDepth = .06, bevel = .02, rBound = .75;
|
|
16481
17649
|
let cx = 1, sx = 0, cy = 1, sy = 0, cz = 1, sz = 0;
|
|
16482
17650
|
let spanX = 1, spanY = 1, originX = 0, originY = 0;
|
|
16483
17651
|
let activeRes = resolveVolumetricFieldRes();
|
|
16484
|
-
const mb = Array.from({ length: 8 }, () => [
|
|
16485
|
-
0,
|
|
16486
|
-
0,
|
|
16487
|
-
0
|
|
16488
|
-
]);
|
|
16489
17652
|
const writeMarch = () => {
|
|
16490
17653
|
marchParamsBuffer.write({
|
|
16491
17654
|
rot: {
|
|
@@ -16502,18 +17665,18 @@ function createAnalytic3dSdfSetup(root, shapeType, initialConfig, getShapeConfig
|
|
|
16502
17665
|
originX,
|
|
16503
17666
|
originY,
|
|
16504
17667
|
activeRes,
|
|
16505
|
-
pA,
|
|
16506
|
-
pB,
|
|
16507
|
-
pC,
|
|
16508
|
-
pD,
|
|
16509
|
-
mb0: vec3f(
|
|
16510
|
-
mb1: vec3f(
|
|
16511
|
-
mb2: vec3f(
|
|
16512
|
-
mb3: vec3f(
|
|
16513
|
-
mb4: vec3f(
|
|
16514
|
-
mb5: vec3f(
|
|
16515
|
-
mb6: vec3f(
|
|
16516
|
-
mb7: vec3f(
|
|
17668
|
+
pA: halfDepth,
|
|
17669
|
+
pB: bevel,
|
|
17670
|
+
pC: 0,
|
|
17671
|
+
pD: 0,
|
|
17672
|
+
mb0: vec3f(0, 0, 0),
|
|
17673
|
+
mb1: vec3f(0, 0, 0),
|
|
17674
|
+
mb2: vec3f(0, 0, 0),
|
|
17675
|
+
mb3: vec3f(0, 0, 0),
|
|
17676
|
+
mb4: vec3f(0, 0, 0),
|
|
17677
|
+
mb5: vec3f(0, 0, 0),
|
|
17678
|
+
mb6: vec3f(0, 0, 0),
|
|
17679
|
+
mb7: vec3f(0, 0, 0)
|
|
16517
17680
|
});
|
|
16518
17681
|
};
|
|
16519
17682
|
const update = (frameParams) => {
|
|
@@ -16536,190 +17699,14 @@ function createAnalytic3dSdfSetup(root, shapeType, initialConfig, getShapeConfig
|
|
|
16536
17699
|
pointerY: frameParams?.pointer?.y ?? .5,
|
|
16537
17700
|
springs
|
|
16538
17701
|
};
|
|
16539
|
-
const sub = (k) => resolveShapeSubProp(lastCfg[k],
|
|
16540
|
-
|
|
16541
|
-
|
|
16542
|
-
|
|
16543
|
-
|
|
16544
|
-
|
|
16545
|
-
|
|
16546
|
-
|
|
16547
|
-
];
|
|
16548
|
-
switch (shapeType) {
|
|
16549
|
-
case "cube3D":
|
|
16550
|
-
pA = sub("sizeX");
|
|
16551
|
-
pB = sub("sizeY");
|
|
16552
|
-
pC = sub("sizeZ");
|
|
16553
|
-
pD = sub("rounding");
|
|
16554
|
-
break;
|
|
16555
|
-
case "torus3D":
|
|
16556
|
-
pA = sub("radius");
|
|
16557
|
-
pB = sub("tube");
|
|
16558
|
-
break;
|
|
16559
|
-
case "cylinder3D":
|
|
16560
|
-
pA = sub("radius");
|
|
16561
|
-
pB = sub("height");
|
|
16562
|
-
pD = sub("rounding");
|
|
16563
|
-
break;
|
|
16564
|
-
case "capsule3D":
|
|
16565
|
-
pA = sub("radius");
|
|
16566
|
-
pB = sub("height");
|
|
16567
|
-
break;
|
|
16568
|
-
case "cone3D":
|
|
16569
|
-
pA = sub("radius");
|
|
16570
|
-
pB = sub("height");
|
|
16571
|
-
pC = sub("topRadius");
|
|
16572
|
-
break;
|
|
16573
|
-
case "pyramid3D":
|
|
16574
|
-
pA = sub("size");
|
|
16575
|
-
pB = sub("height");
|
|
16576
|
-
break;
|
|
16577
|
-
case "prism3D":
|
|
16578
|
-
case "diamond3D":
|
|
16579
|
-
pA = sub("radius");
|
|
16580
|
-
pB = sub("height");
|
|
16581
|
-
break;
|
|
16582
|
-
case "ellipsoid3D":
|
|
16583
|
-
pA = sub("radiusX");
|
|
16584
|
-
pB = sub("radiusY");
|
|
16585
|
-
pC = sub("radiusZ");
|
|
16586
|
-
break;
|
|
16587
|
-
case "link3D":
|
|
16588
|
-
pA = sub("radius");
|
|
16589
|
-
pB = sub("length");
|
|
16590
|
-
pC = sub("tube");
|
|
16591
|
-
break;
|
|
16592
|
-
case "gem3D":
|
|
16593
|
-
pA = sub("radius");
|
|
16594
|
-
pB = sub("height");
|
|
16595
|
-
pC = sub("facets");
|
|
16596
|
-
break;
|
|
16597
|
-
case "helix3D":
|
|
16598
|
-
pA = sub("radius");
|
|
16599
|
-
pB = sub("tube");
|
|
16600
|
-
pC = sub("pitch");
|
|
16601
|
-
break;
|
|
16602
|
-
case "metaballs3D": {
|
|
16603
|
-
pA = sub("ballRadius");
|
|
16604
|
-
pB = sub("spread");
|
|
16605
|
-
pD = sub("blend");
|
|
16606
|
-
const count = Math.min(8, Math.max(1, Math.round(sub("balls"))));
|
|
16607
|
-
const sp = pB, tt = elapsed * sub("speed") * .6;
|
|
16608
|
-
for (let i = 0; i < mb.length; i++) {
|
|
16609
|
-
if (i >= count) {
|
|
16610
|
-
mb[i] = [
|
|
16611
|
-
0,
|
|
16612
|
-
99,
|
|
16613
|
-
0
|
|
16614
|
-
];
|
|
16615
|
-
continue;
|
|
16616
|
-
}
|
|
16617
|
-
const phase = i * (TWO_PI / count);
|
|
16618
|
-
const ang = phase + tt;
|
|
16619
|
-
const wob = .75 + .25 * Math.sin(tt * 1.3 + i * 1.7);
|
|
16620
|
-
mb[i] = [
|
|
16621
|
-
sp * Math.cos(ang) * wob,
|
|
16622
|
-
sp * .6 * Math.sin(tt * .9 + phase * 1.5),
|
|
16623
|
-
sp * Math.sin(ang) * wob
|
|
16624
|
-
];
|
|
16625
|
-
}
|
|
16626
|
-
break;
|
|
16627
|
-
}
|
|
16628
|
-
case "hemisphere3D":
|
|
16629
|
-
pA = sub("radius");
|
|
16630
|
-
pB = sub("cut");
|
|
16631
|
-
break;
|
|
16632
|
-
case "ribbon3D": {
|
|
16633
|
-
pA = sub("width");
|
|
16634
|
-
pB = sub("thickness");
|
|
16635
|
-
pC = sub("length");
|
|
16636
|
-
const tt = elapsed * sub("speed");
|
|
16637
|
-
const amp = sub("wave") * (.8 + .2 * Math.sin(tt * .9));
|
|
16638
|
-
const wf = sub("waveFrequency");
|
|
16639
|
-
const twRate = sub("twist") * DEG / Math.max(pC * 2, .01);
|
|
16640
|
-
mb[0] = [
|
|
16641
|
-
amp,
|
|
16642
|
-
wf,
|
|
16643
|
-
tt * 1.1
|
|
16644
|
-
];
|
|
16645
|
-
mb[1] = [
|
|
16646
|
-
tt * .7 + 2.1,
|
|
16647
|
-
twRate,
|
|
16648
|
-
tt * .45
|
|
16649
|
-
];
|
|
16650
|
-
const slope = Math.abs(amp) * wf + Math.abs(twRate) * Math.hypot(pA, pB);
|
|
16651
|
-
mb[2] = [
|
|
16652
|
-
1 / Math.sqrt(1 + slope * slope),
|
|
16653
|
-
0,
|
|
16654
|
-
0
|
|
16655
|
-
];
|
|
16656
|
-
break;
|
|
16657
|
-
}
|
|
16658
|
-
case "blob3D": {
|
|
16659
|
-
pA = sub("radius");
|
|
16660
|
-
const tt = elapsed * sub("speed");
|
|
16661
|
-
const amp = sub("wobble") * (.75 + .25 * Math.sin(tt * .83));
|
|
16662
|
-
const wb = sub("wobbliness");
|
|
16663
|
-
mb[0] = [
|
|
16664
|
-
amp,
|
|
16665
|
-
wb,
|
|
16666
|
-
tt * 1.2
|
|
16667
|
-
];
|
|
16668
|
-
mb[1] = [
|
|
16669
|
-
tt * .77 + 1.3,
|
|
16670
|
-
0,
|
|
16671
|
-
0
|
|
16672
|
-
];
|
|
16673
|
-
mb[2] = [
|
|
16674
|
-
1 / (1 + Math.abs(amp) * wb * 1.3),
|
|
16675
|
-
0,
|
|
16676
|
-
0
|
|
16677
|
-
];
|
|
16678
|
-
break;
|
|
16679
|
-
}
|
|
16680
|
-
case "gyroscope3D": {
|
|
16681
|
-
pA = sub("radius");
|
|
16682
|
-
pB = sub("width");
|
|
16683
|
-
pC = sub("core");
|
|
16684
|
-
pD = sub("thickness");
|
|
16685
|
-
const rnd = Math.max(0, Math.min(sub("rounding"), Math.min(pB, pD) * .5));
|
|
16686
|
-
const tt = elapsed * sub("speed");
|
|
16687
|
-
const th1 = tt * .9;
|
|
16688
|
-
const th2 = tt * .63 + 1.1;
|
|
16689
|
-
const th3 = tt * 1.21 + 2.3;
|
|
16690
|
-
mb[0] = [
|
|
16691
|
-
Math.cos(th1),
|
|
16692
|
-
Math.sin(th1),
|
|
16693
|
-
0
|
|
16694
|
-
];
|
|
16695
|
-
mb[1] = [
|
|
16696
|
-
Math.cos(th2),
|
|
16697
|
-
Math.sin(th2),
|
|
16698
|
-
0
|
|
16699
|
-
];
|
|
16700
|
-
mb[2] = [
|
|
16701
|
-
Math.cos(th3),
|
|
16702
|
-
Math.sin(th3),
|
|
16703
|
-
0
|
|
16704
|
-
];
|
|
16705
|
-
mb[3] = [
|
|
16706
|
-
rnd,
|
|
16707
|
-
0,
|
|
16708
|
-
0
|
|
16709
|
-
];
|
|
16710
|
-
break;
|
|
16711
|
-
}
|
|
16712
|
-
case "sphere3D":
|
|
16713
|
-
case "octahedron3D":
|
|
16714
|
-
case "dodecahedron3D":
|
|
16715
|
-
default:
|
|
16716
|
-
pA = sub("radius");
|
|
16717
|
-
break;
|
|
16718
|
-
}
|
|
16719
|
-
rBound = shape3dBoundingRadius({
|
|
16720
|
-
...lastCfg,
|
|
16721
|
-
type: shapeType
|
|
16722
|
-
}) + .02;
|
|
17702
|
+
const sub = (k) => resolveShapeSubProp(lastCfg[k], SVG3D_DEFAULTS[k] ?? 0, frame, k);
|
|
17703
|
+
halfDepth = Math.max(.001, sub("depth") * .5);
|
|
17704
|
+
bevel = Math.min(Math.max(0, sub("bevel")), halfDepth);
|
|
17705
|
+
const cb = getSdfContentBounds(shapeSdfUrl);
|
|
17706
|
+
const hwf = cb ? Math.min(.5, cb.hwf + .02) : .5;
|
|
17707
|
+
const hhf = cb ? Math.min(.5, cb.hhf + .02) : .5;
|
|
17708
|
+
const pad = extraPad();
|
|
17709
|
+
rBound = Math.hypot(hwf, hhf, halfDepth) + bevel + .03 + pad;
|
|
16723
17710
|
const rx = sub("rotX") * DEG, ry = sub("rotY") * DEG, rz = sub("rotZ") * DEG;
|
|
16724
17711
|
cx = Math.cos(rx);
|
|
16725
17712
|
sx = Math.sin(rx);
|
|
@@ -16727,11 +17714,25 @@ function createAnalytic3dSdfSetup(root, shapeType, initialConfig, getShapeConfig
|
|
|
16727
17714
|
sy = Math.sin(ry);
|
|
16728
17715
|
cz = Math.cos(rz);
|
|
16729
17716
|
sz = Math.sin(rz);
|
|
16730
|
-
const
|
|
16731
|
-
|
|
16732
|
-
|
|
16733
|
-
|
|
16734
|
-
|
|
17717
|
+
const s = {
|
|
17718
|
+
cx,
|
|
17719
|
+
sx,
|
|
17720
|
+
cy,
|
|
17721
|
+
sy,
|
|
17722
|
+
cz,
|
|
17723
|
+
sz
|
|
17724
|
+
};
|
|
17725
|
+
const eX = rotateVecCpu(1, 0, 0, s);
|
|
17726
|
+
const eY = rotateVecCpu(0, 1, 0, s);
|
|
17727
|
+
const axisPad = bevel + .03 + pad;
|
|
17728
|
+
const rBoundX = Math.abs(eX.x) * hwf + Math.abs(eX.y) * hhf + Math.abs(eX.z) * halfDepth + axisPad;
|
|
17729
|
+
const rBoundY = Math.abs(eY.x) * hwf + Math.abs(eY.y) * hhf + Math.abs(eY.z) * halfDepth + axisPad;
|
|
17730
|
+
const rPadX = rBoundX + .05;
|
|
17731
|
+
const rPadY = rBoundY + .05;
|
|
17732
|
+
spanX = rPadX * 2;
|
|
17733
|
+
spanY = rPadY * 2;
|
|
17734
|
+
originX = .5 - rPadX;
|
|
17735
|
+
originY = .5 - rPadY;
|
|
16735
17736
|
writeMarch();
|
|
16736
17737
|
};
|
|
16737
17738
|
update();
|
|
@@ -16740,11 +17741,13 @@ function createAnalytic3dSdfSetup(root, shapeType, initialConfig, getShapeConfig
|
|
|
16740
17741
|
activeRes = res;
|
|
16741
17742
|
writeMarch();
|
|
16742
17743
|
};
|
|
16743
|
-
const
|
|
17744
|
+
const getGeometryKey = () => `${halfDepth},${bevel},${rBound},${getVersion()}`;
|
|
17745
|
+
const getStateKey = () => `${getGeometryKey()},${spanX},${spanY},${cx},${sx},${cy},${sy},${cz},${sz}`;
|
|
16744
17746
|
return {
|
|
16745
17747
|
layout,
|
|
16746
17748
|
marchParamsBuffer,
|
|
16747
17749
|
sdfFn,
|
|
17750
|
+
sdfSourceTexture: texture.texture,
|
|
16748
17751
|
update,
|
|
16749
17752
|
setActiveRes,
|
|
16750
17753
|
getStateKey,
|
|
@@ -16754,41 +17757,31 @@ function createAnalytic3dSdfSetup(root, shapeType, initialConfig, getShapeConfig
|
|
|
16754
17757
|
originX,
|
|
16755
17758
|
originY,
|
|
16756
17759
|
rBound
|
|
16757
|
-
})
|
|
17760
|
+
}),
|
|
17761
|
+
getRotation: () => ({
|
|
17762
|
+
cx,
|
|
17763
|
+
sx,
|
|
17764
|
+
cy,
|
|
17765
|
+
sy,
|
|
17766
|
+
cz,
|
|
17767
|
+
sz
|
|
17768
|
+
}),
|
|
17769
|
+
getGeometryKey
|
|
16758
17770
|
};
|
|
16759
17771
|
}
|
|
16760
|
-
function
|
|
16761
|
-
const
|
|
16762
|
-
const {
|
|
16763
|
-
const { layout } = makeVolumetricSvgFieldLayout();
|
|
17772
|
+
function createAnalytic2dExtrudeSetup(root, shapeType, getShapeConfig, getHalfDepth, opts = {}) {
|
|
17773
|
+
const extraPad = opts.extraPad ?? (() => 0);
|
|
17774
|
+
const { layout } = makeVolumetricFieldLayout();
|
|
16764
17775
|
const marchParamsBuffer = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createUniform(MarchParams), "marchParamsBuffer");
|
|
16765
|
-
const
|
|
16766
|
-
const MAX_TEXEL = f32(511);
|
|
17776
|
+
const analytic = buildAnalyticSdfFn(shapeType);
|
|
16767
17777
|
const sdfFn = typegpu_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p) => {
|
|
16768
17778
|
"use gpu";
|
|
16769
17779
|
const pp = layout.$.params;
|
|
16770
|
-
const
|
|
16771
|
-
const
|
|
16772
|
-
const u = __tsover_sub(__tsover_mul(__tsover_add(p.x, .5), SIZE_F), .5);
|
|
16773
|
-
const v = __tsover_sub(__tsover_mul(__tsover_sub(.5, p.y), SIZE_F), .5);
|
|
16774
|
-
const x0 = floor(u);
|
|
16775
|
-
const y0 = floor(v);
|
|
16776
|
-
const fx = __tsover_sub(u, x0);
|
|
16777
|
-
const fy = __tsover_sub(v, y0);
|
|
16778
|
-
const cx0 = u32(clamp(x0, f32(0), MAX_TEXEL));
|
|
16779
|
-
const cx1 = u32(clamp(__tsover_add(x0, 1), f32(0), MAX_TEXEL));
|
|
16780
|
-
const cy0 = u32(clamp(y0, f32(0), MAX_TEXEL));
|
|
16781
|
-
const cy1 = u32(clamp(__tsover_add(y0, 1), f32(0), MAX_TEXEL));
|
|
16782
|
-
const s00 = textureLoad(layout.$.sdfSource, vec2u(cx0, cy0), 0).r;
|
|
16783
|
-
const s10 = textureLoad(layout.$.sdfSource, vec2u(cx1, cy0), 0).r;
|
|
16784
|
-
const s01 = textureLoad(layout.$.sdfSource, vec2u(cx0, cy1), 0).r;
|
|
16785
|
-
const s11 = textureLoad(layout.$.sdfSource, vec2u(cx1, cy1), 0).r;
|
|
16786
|
-
const field2d = mix(mix(s00, s10, fx), mix(s01, s11, fx), fy);
|
|
16787
|
-
const d2 = __tsover_add(field2d, bevel$1);
|
|
16788
|
-
const wz = __tsover_add(__tsover_sub(abs(p.z), halfDepth$1), bevel$1);
|
|
17780
|
+
const d2 = analytic(vec2f(__tsover_add(p.x, .5), __tsover_sub(.5, p.y)), pp.pA, pp.pB, pp.pC, pp.pD, pp.mb0.x, pp.mb0.y, pp.mb0.z, pp.mb1.x).x;
|
|
17781
|
+
const wz = __tsover_sub(abs(p.z), pp.mb1.y);
|
|
16789
17782
|
const inner = min(max(d2, wz), f32(0));
|
|
16790
17783
|
const outer = length(vec2f(max(d2, f32(0)), max(wz, f32(0))));
|
|
16791
|
-
return
|
|
17784
|
+
return __tsover_add(inner, outer);
|
|
16792
17785
|
}), {
|
|
16793
17786
|
v: 2,
|
|
16794
17787
|
name: void 0,
|
|
@@ -16813,355 +17806,100 @@ function createSvg3dSdfSetup(params, shapeSdfUrl, getShapeConfig) {
|
|
|
16813
17806
|
],
|
|
16814
17807
|
[
|
|
16815
17808
|
13,
|
|
16816
|
-
"
|
|
16817
|
-
[
|
|
16818
|
-
7,
|
|
16819
|
-
"pp",
|
|
16820
|
-
"pA"
|
|
16821
|
-
]
|
|
16822
|
-
],
|
|
16823
|
-
[
|
|
16824
|
-
13,
|
|
16825
|
-
"bevel",
|
|
16826
|
-
[
|
|
16827
|
-
7,
|
|
16828
|
-
"pp",
|
|
16829
|
-
"pB"
|
|
16830
|
-
]
|
|
16831
|
-
],
|
|
16832
|
-
[
|
|
16833
|
-
13,
|
|
16834
|
-
"u",
|
|
17809
|
+
"uv",
|
|
16835
17810
|
[
|
|
16836
|
-
|
|
16837
|
-
|
|
17811
|
+
6,
|
|
17812
|
+
"d.vec2f",
|
|
17813
|
+
[[
|
|
16838
17814
|
1,
|
|
16839
17815
|
[
|
|
16840
|
-
|
|
16841
|
-
|
|
16842
|
-
|
|
16843
|
-
"p",
|
|
16844
|
-
"x"
|
|
16845
|
-
],
|
|
16846
|
-
"+",
|
|
16847
|
-
[5, "0.5"]
|
|
17816
|
+
7,
|
|
17817
|
+
"p",
|
|
17818
|
+
"x"
|
|
16848
17819
|
],
|
|
16849
|
-
"
|
|
16850
|
-
"
|
|
16851
|
-
],
|
|
16852
|
-
"-",
|
|
16853
|
-
[5, "0.5"]
|
|
16854
|
-
]
|
|
16855
|
-
],
|
|
16856
|
-
[
|
|
16857
|
-
13,
|
|
16858
|
-
"v",
|
|
16859
|
-
[
|
|
16860
|
-
1,
|
|
16861
|
-
[
|
|
17820
|
+
"+",
|
|
17821
|
+
[5, "0.5"]
|
|
17822
|
+
], [
|
|
16862
17823
|
1,
|
|
17824
|
+
[5, "0.5"],
|
|
17825
|
+
"-",
|
|
16863
17826
|
[
|
|
16864
|
-
|
|
16865
|
-
|
|
16866
|
-
"
|
|
16867
|
-
[
|
|
16868
|
-
7,
|
|
16869
|
-
"p",
|
|
16870
|
-
"y"
|
|
16871
|
-
]
|
|
16872
|
-
],
|
|
16873
|
-
"*",
|
|
16874
|
-
"SIZE_F"
|
|
16875
|
-
],
|
|
16876
|
-
"-",
|
|
16877
|
-
[5, "0.5"]
|
|
16878
|
-
]
|
|
16879
|
-
],
|
|
16880
|
-
[
|
|
16881
|
-
13,
|
|
16882
|
-
"x0",
|
|
16883
|
-
[
|
|
16884
|
-
6,
|
|
16885
|
-
"std.floor",
|
|
16886
|
-
["u"]
|
|
16887
|
-
]
|
|
16888
|
-
],
|
|
16889
|
-
[
|
|
16890
|
-
13,
|
|
16891
|
-
"y0",
|
|
16892
|
-
[
|
|
16893
|
-
6,
|
|
16894
|
-
"std.floor",
|
|
16895
|
-
["v"]
|
|
16896
|
-
]
|
|
16897
|
-
],
|
|
16898
|
-
[
|
|
16899
|
-
13,
|
|
16900
|
-
"fx",
|
|
16901
|
-
[
|
|
16902
|
-
1,
|
|
16903
|
-
"u",
|
|
16904
|
-
"-",
|
|
16905
|
-
"x0"
|
|
16906
|
-
]
|
|
16907
|
-
],
|
|
16908
|
-
[
|
|
16909
|
-
13,
|
|
16910
|
-
"fy",
|
|
16911
|
-
[
|
|
16912
|
-
1,
|
|
16913
|
-
"v",
|
|
16914
|
-
"-",
|
|
16915
|
-
"y0"
|
|
16916
|
-
]
|
|
16917
|
-
],
|
|
16918
|
-
[
|
|
16919
|
-
13,
|
|
16920
|
-
"cx0",
|
|
16921
|
-
[
|
|
16922
|
-
6,
|
|
16923
|
-
"d.u32",
|
|
16924
|
-
[[
|
|
16925
|
-
6,
|
|
16926
|
-
"std.clamp",
|
|
16927
|
-
[
|
|
16928
|
-
"x0",
|
|
16929
|
-
[
|
|
16930
|
-
6,
|
|
16931
|
-
"d.f32",
|
|
16932
|
-
[[5, "0"]]
|
|
16933
|
-
],
|
|
16934
|
-
"MAX_TEXEL"
|
|
16935
|
-
]
|
|
16936
|
-
]]
|
|
16937
|
-
]
|
|
16938
|
-
],
|
|
16939
|
-
[
|
|
16940
|
-
13,
|
|
16941
|
-
"cx1",
|
|
16942
|
-
[
|
|
16943
|
-
6,
|
|
16944
|
-
"d.u32",
|
|
16945
|
-
[[
|
|
16946
|
-
6,
|
|
16947
|
-
"std.clamp",
|
|
16948
|
-
[
|
|
16949
|
-
[
|
|
16950
|
-
1,
|
|
16951
|
-
"x0",
|
|
16952
|
-
"+",
|
|
16953
|
-
[5, "1"]
|
|
16954
|
-
],
|
|
16955
|
-
[
|
|
16956
|
-
6,
|
|
16957
|
-
"d.f32",
|
|
16958
|
-
[[5, "0"]]
|
|
16959
|
-
],
|
|
16960
|
-
"MAX_TEXEL"
|
|
16961
|
-
]
|
|
16962
|
-
]]
|
|
16963
|
-
]
|
|
16964
|
-
],
|
|
16965
|
-
[
|
|
16966
|
-
13,
|
|
16967
|
-
"cy0",
|
|
16968
|
-
[
|
|
16969
|
-
6,
|
|
16970
|
-
"d.u32",
|
|
16971
|
-
[[
|
|
16972
|
-
6,
|
|
16973
|
-
"std.clamp",
|
|
16974
|
-
[
|
|
16975
|
-
"y0",
|
|
16976
|
-
[
|
|
16977
|
-
6,
|
|
16978
|
-
"d.f32",
|
|
16979
|
-
[[5, "0"]]
|
|
16980
|
-
],
|
|
16981
|
-
"MAX_TEXEL"
|
|
16982
|
-
]
|
|
16983
|
-
]]
|
|
16984
|
-
]
|
|
16985
|
-
],
|
|
16986
|
-
[
|
|
16987
|
-
13,
|
|
16988
|
-
"cy1",
|
|
16989
|
-
[
|
|
16990
|
-
6,
|
|
16991
|
-
"d.u32",
|
|
16992
|
-
[[
|
|
16993
|
-
6,
|
|
16994
|
-
"std.clamp",
|
|
16995
|
-
[
|
|
16996
|
-
[
|
|
16997
|
-
1,
|
|
16998
|
-
"y0",
|
|
16999
|
-
"+",
|
|
17000
|
-
[5, "1"]
|
|
17001
|
-
],
|
|
17002
|
-
[
|
|
17003
|
-
6,
|
|
17004
|
-
"d.f32",
|
|
17005
|
-
[[5, "0"]]
|
|
17006
|
-
],
|
|
17007
|
-
"MAX_TEXEL"
|
|
17827
|
+
7,
|
|
17828
|
+
"p",
|
|
17829
|
+
"y"
|
|
17008
17830
|
]
|
|
17009
17831
|
]]
|
|
17010
17832
|
]
|
|
17011
17833
|
],
|
|
17012
17834
|
[
|
|
17013
17835
|
13,
|
|
17014
|
-
"
|
|
17836
|
+
"d2",
|
|
17015
17837
|
[
|
|
17016
17838
|
7,
|
|
17017
17839
|
[
|
|
17018
17840
|
6,
|
|
17019
|
-
"
|
|
17841
|
+
"analytic",
|
|
17020
17842
|
[
|
|
17843
|
+
"uv",
|
|
17021
17844
|
[
|
|
17022
17845
|
7,
|
|
17023
|
-
|
|
17024
|
-
|
|
17025
|
-
"layout",
|
|
17026
|
-
"$"
|
|
17027
|
-
],
|
|
17028
|
-
"sdfSource"
|
|
17846
|
+
"pp",
|
|
17847
|
+
"pA"
|
|
17029
17848
|
],
|
|
17030
17849
|
[
|
|
17031
|
-
|
|
17032
|
-
"
|
|
17033
|
-
|
|
17850
|
+
7,
|
|
17851
|
+
"pp",
|
|
17852
|
+
"pB"
|
|
17034
17853
|
],
|
|
17035
|
-
[5, "0"]
|
|
17036
|
-
]
|
|
17037
|
-
],
|
|
17038
|
-
"r"
|
|
17039
|
-
]
|
|
17040
|
-
],
|
|
17041
|
-
[
|
|
17042
|
-
13,
|
|
17043
|
-
"s10",
|
|
17044
|
-
[
|
|
17045
|
-
7,
|
|
17046
|
-
[
|
|
17047
|
-
6,
|
|
17048
|
-
"std.textureLoad",
|
|
17049
|
-
[
|
|
17050
17854
|
[
|
|
17051
17855
|
7,
|
|
17052
|
-
|
|
17053
|
-
|
|
17054
|
-
"layout",
|
|
17055
|
-
"$"
|
|
17056
|
-
],
|
|
17057
|
-
"sdfSource"
|
|
17856
|
+
"pp",
|
|
17857
|
+
"pC"
|
|
17058
17858
|
],
|
|
17059
17859
|
[
|
|
17060
|
-
|
|
17061
|
-
"
|
|
17062
|
-
|
|
17860
|
+
7,
|
|
17861
|
+
"pp",
|
|
17862
|
+
"pD"
|
|
17063
17863
|
],
|
|
17064
|
-
[5, "0"]
|
|
17065
|
-
]
|
|
17066
|
-
],
|
|
17067
|
-
"r"
|
|
17068
|
-
]
|
|
17069
|
-
],
|
|
17070
|
-
[
|
|
17071
|
-
13,
|
|
17072
|
-
"s01",
|
|
17073
|
-
[
|
|
17074
|
-
7,
|
|
17075
|
-
[
|
|
17076
|
-
6,
|
|
17077
|
-
"std.textureLoad",
|
|
17078
|
-
[
|
|
17079
17864
|
[
|
|
17080
17865
|
7,
|
|
17081
17866
|
[
|
|
17082
17867
|
7,
|
|
17083
|
-
"
|
|
17084
|
-
"
|
|
17868
|
+
"pp",
|
|
17869
|
+
"mb0"
|
|
17085
17870
|
],
|
|
17086
|
-
"
|
|
17871
|
+
"x"
|
|
17087
17872
|
],
|
|
17088
17873
|
[
|
|
17089
|
-
|
|
17090
|
-
|
|
17091
|
-
|
|
17874
|
+
7,
|
|
17875
|
+
[
|
|
17876
|
+
7,
|
|
17877
|
+
"pp",
|
|
17878
|
+
"mb0"
|
|
17879
|
+
],
|
|
17880
|
+
"y"
|
|
17092
17881
|
],
|
|
17093
|
-
[5, "0"]
|
|
17094
|
-
]
|
|
17095
|
-
],
|
|
17096
|
-
"r"
|
|
17097
|
-
]
|
|
17098
|
-
],
|
|
17099
|
-
[
|
|
17100
|
-
13,
|
|
17101
|
-
"s11",
|
|
17102
|
-
[
|
|
17103
|
-
7,
|
|
17104
|
-
[
|
|
17105
|
-
6,
|
|
17106
|
-
"std.textureLoad",
|
|
17107
|
-
[
|
|
17108
17882
|
[
|
|
17109
17883
|
7,
|
|
17110
17884
|
[
|
|
17111
17885
|
7,
|
|
17112
|
-
"
|
|
17113
|
-
"
|
|
17886
|
+
"pp",
|
|
17887
|
+
"mb0"
|
|
17114
17888
|
],
|
|
17115
|
-
"
|
|
17889
|
+
"z"
|
|
17116
17890
|
],
|
|
17117
17891
|
[
|
|
17118
|
-
|
|
17119
|
-
|
|
17120
|
-
|
|
17121
|
-
|
|
17122
|
-
|
|
17892
|
+
7,
|
|
17893
|
+
[
|
|
17894
|
+
7,
|
|
17895
|
+
"pp",
|
|
17896
|
+
"mb1"
|
|
17897
|
+
],
|
|
17898
|
+
"x"
|
|
17899
|
+
]
|
|
17123
17900
|
]
|
|
17124
17901
|
],
|
|
17125
|
-
"
|
|
17126
|
-
]
|
|
17127
|
-
],
|
|
17128
|
-
[
|
|
17129
|
-
13,
|
|
17130
|
-
"field2d",
|
|
17131
|
-
[
|
|
17132
|
-
6,
|
|
17133
|
-
"std.mix",
|
|
17134
|
-
[
|
|
17135
|
-
[
|
|
17136
|
-
6,
|
|
17137
|
-
"std.mix",
|
|
17138
|
-
[
|
|
17139
|
-
"s00",
|
|
17140
|
-
"s10",
|
|
17141
|
-
"fx"
|
|
17142
|
-
]
|
|
17143
|
-
],
|
|
17144
|
-
[
|
|
17145
|
-
6,
|
|
17146
|
-
"std.mix",
|
|
17147
|
-
[
|
|
17148
|
-
"s01",
|
|
17149
|
-
"s11",
|
|
17150
|
-
"fx"
|
|
17151
|
-
]
|
|
17152
|
-
],
|
|
17153
|
-
"fy"
|
|
17154
|
-
]
|
|
17155
|
-
]
|
|
17156
|
-
],
|
|
17157
|
-
[
|
|
17158
|
-
13,
|
|
17159
|
-
"d2",
|
|
17160
|
-
[
|
|
17161
|
-
1,
|
|
17162
|
-
"field2d",
|
|
17163
|
-
"+",
|
|
17164
|
-
"bevel"
|
|
17902
|
+
"x"
|
|
17165
17903
|
]
|
|
17166
17904
|
],
|
|
17167
17905
|
[
|
|
@@ -17170,21 +17908,24 @@ function createSvg3dSdfSetup(params, shapeSdfUrl, getShapeConfig) {
|
|
|
17170
17908
|
[
|
|
17171
17909
|
1,
|
|
17172
17910
|
[
|
|
17173
|
-
|
|
17911
|
+
6,
|
|
17912
|
+
"std.abs",
|
|
17913
|
+
[[
|
|
17914
|
+
7,
|
|
17915
|
+
"p",
|
|
17916
|
+
"z"
|
|
17917
|
+
]]
|
|
17918
|
+
],
|
|
17919
|
+
"-",
|
|
17920
|
+
[
|
|
17921
|
+
7,
|
|
17174
17922
|
[
|
|
17175
|
-
|
|
17176
|
-
"
|
|
17177
|
-
|
|
17178
|
-
7,
|
|
17179
|
-
"p",
|
|
17180
|
-
"z"
|
|
17181
|
-
]]
|
|
17923
|
+
7,
|
|
17924
|
+
"pp",
|
|
17925
|
+
"mb1"
|
|
17182
17926
|
],
|
|
17183
|
-
"
|
|
17184
|
-
|
|
17185
|
-
],
|
|
17186
|
-
"+",
|
|
17187
|
-
"bevel"
|
|
17927
|
+
"y"
|
|
17928
|
+
]
|
|
17188
17929
|
]
|
|
17189
17930
|
],
|
|
17190
17931
|
[
|
|
@@ -17235,52 +17976,38 @@ function createSvg3dSdfSetup(params, shapeSdfUrl, getShapeConfig) {
|
|
|
17235
17976
|
],
|
|
17236
17977
|
[10, [
|
|
17237
17978
|
1,
|
|
17238
|
-
|
|
17239
|
-
|
|
17240
|
-
|
|
17241
|
-
"+",
|
|
17242
|
-
"outer"
|
|
17243
|
-
],
|
|
17244
|
-
"-",
|
|
17245
|
-
"bevel"
|
|
17979
|
+
"inner",
|
|
17980
|
+
"+",
|
|
17981
|
+
"outer"
|
|
17246
17982
|
]]
|
|
17247
17983
|
]]
|
|
17248
17984
|
},
|
|
17249
17985
|
externals: {
|
|
17250
17986
|
"layout": () => layout,
|
|
17251
|
-
"
|
|
17252
|
-
"
|
|
17253
|
-
"d.u32": () => u32,
|
|
17254
|
-
"std.clamp": () => clamp,
|
|
17255
|
-
"d.f32": () => f32,
|
|
17256
|
-
"MAX_TEXEL": () => MAX_TEXEL,
|
|
17257
|
-
"std.textureLoad": () => textureLoad,
|
|
17258
|
-
"d.vec2u": () => vec2u,
|
|
17259
|
-
"std.mix": () => mix,
|
|
17987
|
+
"d.vec2f": () => vec2f,
|
|
17988
|
+
"analytic": () => analytic,
|
|
17260
17989
|
"std.abs": () => abs,
|
|
17261
17990
|
"std.min": () => min,
|
|
17262
17991
|
"std.max": () => max,
|
|
17263
|
-
"
|
|
17264
|
-
"
|
|
17992
|
+
"d.f32": () => f32,
|
|
17993
|
+
"std.length": () => length
|
|
17265
17994
|
}
|
|
17266
17995
|
}) && $.f)({}));
|
|
17267
|
-
let elapsed = 0;
|
|
17268
17996
|
let lastShapeJson = "";
|
|
17269
17997
|
let lastCfg = parseShapeConfig(getShapeConfig());
|
|
17270
|
-
|
|
17271
|
-
let halfDepth = .06,
|
|
17272
|
-
let cx = 1, sx = 0, cy = 1, sy = 0, cz = 1, sz = 0;
|
|
17998
|
+
let sub = analyticSubPropValues(lastCfg);
|
|
17999
|
+
let halfDepth = .06, rBound = .6;
|
|
17273
18000
|
let spanX = 1, spanY = 1, originX = 0, originY = 0;
|
|
17274
18001
|
let activeRes = resolveVolumetricFieldRes();
|
|
17275
18002
|
const writeMarch = () => {
|
|
17276
18003
|
marchParamsBuffer.write({
|
|
17277
18004
|
rot: {
|
|
17278
|
-
cx,
|
|
17279
|
-
sx,
|
|
17280
|
-
cy,
|
|
17281
|
-
sy,
|
|
17282
|
-
cz,
|
|
17283
|
-
sz
|
|
18005
|
+
cx: 1,
|
|
18006
|
+
sx: 0,
|
|
18007
|
+
cy: 1,
|
|
18008
|
+
sy: 0,
|
|
18009
|
+
cz: 1,
|
|
18010
|
+
sz: 0
|
|
17284
18011
|
},
|
|
17285
18012
|
rBound,
|
|
17286
18013
|
spanX,
|
|
@@ -17288,12 +18015,12 @@ function createSvg3dSdfSetup(params, shapeSdfUrl, getShapeConfig) {
|
|
|
17288
18015
|
originX,
|
|
17289
18016
|
originY,
|
|
17290
18017
|
activeRes,
|
|
17291
|
-
pA:
|
|
17292
|
-
pB:
|
|
17293
|
-
pC:
|
|
17294
|
-
pD:
|
|
17295
|
-
mb0: vec3f(
|
|
17296
|
-
mb1: vec3f(
|
|
18018
|
+
pA: sub.radius,
|
|
18019
|
+
pB: sub.sides,
|
|
18020
|
+
pC: sub.rounding,
|
|
18021
|
+
pD: sub.innerRatio,
|
|
18022
|
+
mb0: vec3f(sub.rotation, sub.height, sub.offset),
|
|
18023
|
+
mb1: vec3f(sub.aperture, halfDepth, 0),
|
|
17297
18024
|
mb2: vec3f(0, 0, 0),
|
|
17298
18025
|
mb3: vec3f(0, 0, 0),
|
|
17299
18026
|
mb4: vec3f(0, 0, 0),
|
|
@@ -17302,9 +18029,7 @@ function createSvg3dSdfSetup(params, shapeSdfUrl, getShapeConfig) {
|
|
|
17302
18029
|
mb7: vec3f(0, 0, 0)
|
|
17303
18030
|
});
|
|
17304
18031
|
};
|
|
17305
|
-
const update = (
|
|
17306
|
-
const deltaTime = frameParams?.deltaTime ?? 0;
|
|
17307
|
-
elapsed += deltaTime;
|
|
18032
|
+
const update = () => {
|
|
17308
18033
|
const raw = getShapeConfig();
|
|
17309
18034
|
if (raw && typeof raw === "object") lastCfg = raw;
|
|
17310
18035
|
else if (typeof raw === "string") {
|
|
@@ -17315,46 +18040,19 @@ function createSvg3dSdfSetup(params, shapeSdfUrl, getShapeConfig) {
|
|
|
17315
18040
|
} catch {}
|
|
17316
18041
|
}
|
|
17317
18042
|
}
|
|
17318
|
-
|
|
17319
|
-
|
|
17320
|
-
|
|
17321
|
-
|
|
17322
|
-
|
|
17323
|
-
|
|
17324
|
-
};
|
|
17325
|
-
|
|
17326
|
-
|
|
17327
|
-
|
|
17328
|
-
|
|
17329
|
-
|
|
17330
|
-
|
|
17331
|
-
rBound = Math.hypot(hwf, hhf, halfDepth) + bevel + .03;
|
|
17332
|
-
const rx = sub("rotX") * DEG, ry = sub("rotY") * DEG, rz = sub("rotZ") * DEG;
|
|
17333
|
-
cx = Math.cos(rx);
|
|
17334
|
-
sx = Math.sin(rx);
|
|
17335
|
-
cy = Math.cos(ry);
|
|
17336
|
-
sy = Math.sin(ry);
|
|
17337
|
-
cz = Math.cos(rz);
|
|
17338
|
-
sz = Math.sin(rz);
|
|
17339
|
-
const s = {
|
|
17340
|
-
cx,
|
|
17341
|
-
sx,
|
|
17342
|
-
cy,
|
|
17343
|
-
sy,
|
|
17344
|
-
cz,
|
|
17345
|
-
sz
|
|
17346
|
-
};
|
|
17347
|
-
const eX = rotateVecCpu(1, 0, 0, s);
|
|
17348
|
-
const eY = rotateVecCpu(0, 1, 0, s);
|
|
17349
|
-
const axisPad = bevel + .03;
|
|
17350
|
-
const rBoundX = Math.abs(eX.x) * hwf + Math.abs(eX.y) * hhf + Math.abs(eX.z) * halfDepth + axisPad;
|
|
17351
|
-
const rBoundY = Math.abs(eY.x) * hwf + Math.abs(eY.y) * hhf + Math.abs(eY.z) * halfDepth + axisPad;
|
|
17352
|
-
const rPadX = rBoundX + .05;
|
|
17353
|
-
const rPadY = rBoundY + .05;
|
|
17354
|
-
spanX = rPadX * 2;
|
|
17355
|
-
spanY = rPadY * 2;
|
|
17356
|
-
originX = .5 - rPadX;
|
|
17357
|
-
originY = .5 - rPadY;
|
|
18043
|
+
sub = analyticSubPropValues(lastCfg);
|
|
18044
|
+
halfDepth = Math.max(.001, getHalfDepth());
|
|
18045
|
+
const { hwf, hhf } = shapeContentExtent({ shape: {
|
|
18046
|
+
...lastCfg,
|
|
18047
|
+
radius: sub.radius,
|
|
18048
|
+
height: sub.height
|
|
18049
|
+
} });
|
|
18050
|
+
rBound = Math.hypot(hwf, hhf, halfDepth) + .02 + extraPad();
|
|
18051
|
+
const rPad = rBound + .05;
|
|
18052
|
+
spanX = rPad * 2;
|
|
18053
|
+
spanY = rPad * 2;
|
|
18054
|
+
originX = .5 - rPad;
|
|
18055
|
+
originY = .5 - rPad;
|
|
17358
18056
|
writeMarch();
|
|
17359
18057
|
};
|
|
17360
18058
|
update();
|
|
@@ -17363,12 +18061,11 @@ function createSvg3dSdfSetup(params, shapeSdfUrl, getShapeConfig) {
|
|
|
17363
18061
|
activeRes = res;
|
|
17364
18062
|
writeMarch();
|
|
17365
18063
|
};
|
|
17366
|
-
const getStateKey = () => `${
|
|
18064
|
+
const getStateKey = () => `${sub.radius},${sub.sides},${sub.rounding},${sub.innerRatio},${sub.rotation},${sub.height},${sub.offset},${sub.aperture},${halfDepth},${rBound}`;
|
|
17367
18065
|
return {
|
|
17368
18066
|
layout,
|
|
17369
18067
|
marchParamsBuffer,
|
|
17370
18068
|
sdfFn,
|
|
17371
|
-
sdfSourceTexture: texture.texture,
|
|
17372
18069
|
update,
|
|
17373
18070
|
setActiveRes,
|
|
17374
18071
|
getStateKey,
|
|
@@ -17378,7 +18075,16 @@ function createSvg3dSdfSetup(params, shapeSdfUrl, getShapeConfig) {
|
|
|
17378
18075
|
originX,
|
|
17379
18076
|
originY,
|
|
17380
18077
|
rBound
|
|
17381
|
-
})
|
|
18078
|
+
}),
|
|
18079
|
+
getRotation: () => ({
|
|
18080
|
+
cx: 1,
|
|
18081
|
+
sx: 0,
|
|
18082
|
+
cy: 1,
|
|
18083
|
+
sy: 0,
|
|
18084
|
+
cz: 1,
|
|
18085
|
+
sz: 0
|
|
18086
|
+
}),
|
|
18087
|
+
getGeometryKey: getStateKey
|
|
17382
18088
|
};
|
|
17383
18089
|
}
|
|
17384
18090
|
function createVolumetricFieldComputeNode(params, getShapeConfig, patternMode = "none", chordMode = "span") {
|
|
@@ -20370,4 +21076,4 @@ function packedParamExtraFields(prefix, initials) {
|
|
|
20370
21076
|
});
|
|
20371
21077
|
return out;
|
|
20372
21078
|
}
|
|
20373
|
-
export {
|
|
21079
|
+
export { SHAPE3D_DEFAULTS$1 as A, awaitGpuIdle as B, sdRoundBox as C, twistedRibbonSurfaceUV as D, torusSurfaceUV as E, isSvg3dShapeType$1 as F, runFrameSequence as G, createFrameLoop as H, isVolumetricShapeType$1 as I, shape3dBoundingRadius$1 as L, SVG3D_DEFAULTS$1 as M, SVG3D_TYPES$1 as N, resolveShapeType as O, is3dShapeType$1 as P, applyEasing$1 as R, rotateVecCpu as S, sphereSurfaceUV as T, deriveElapsedTime as U, clampToTextureCap as V, frameGate as W, paramSphereSdf as _, capsuleSurfaceUV as a, resolveActiveFieldRes as b, createSvg3dSdfSetup as c, isSvg3dShapeType as d, mobiusSurfaceUV as f, paramMobiusSdf as g, paramCapsuleSdf as h, buildVolumetricFieldKernel as i, SHAPE3D_TYPES$1 as j, shapeEffectBoundingBoxDeclaration as k, createVolumetricFieldCompute as l, paramBoxSdf as m, boxFaceUV as n, createAnalytic2dExtrudeSetup as o, packedParamExtraFields as p, buildFieldSampleGraphArgs as r, createAnalytic3dSdfSetup as s, RotStruct as t, is3dShapeType as u, paramTorusSdf as v, sdf3d_exports as w, rotateVec3 as x, paramTwistedRibbonSdf as y, applySpring as z };
|