export declare const DUAL_VORTEX_SKETCH = "\nfunction setup() {\n const bgMode = typeof backgroundMode !== 'undefined' ? backgroundMode : 'rgb';\n if (bgMode === 'white') background(245, 245, 245);\n else if (bgMode === 'black') background(10, 10, 10);\n else {\n const r = Math.floor((S.brightness / 100) * 255);\n const g = Math.floor((S.rhythmicity / 100) * 255);\n const b = Math.floor((S.harmonicity / 100) * 255);\n background(r, g, b);\n }\n\n const presence = 1.0 - S.silence / 100;\n const sizeFactor = (S.length * 0.7 + S.volume * 0.6);\n const layers = Math.floor(map(S.length, 0, 100, 60, 180));\n const baseR = map(sizeFactor, 0, 100, Math.min(width, height) * 0.15, Math.min(width, height) * 0.55);\n const steps = Math.floor(map(S.attack, 0, 100, 180, 480));\n const twist = map(S.harmonicity, 0, 100, 0.5, 3.5);\n const bulge = map(S.aggression, 0, 100, 0.05, 0.55);\n const waveF = map(S.rhythmicity, 0, 100, 0.8, 5.0);\n const CY = height * 0.5 + map(S.bass, 0, 100, -height * 0.1, height * 0.1);\n const wBase = map(S.volume, 0, 100, 1.5, 6.0);\n const alphaLo = map(S.dynamicRange, 0, 100, 80, 180) * presence;\n const alphaHi = map(S.dynamicRange, 0, 100, 180, 255) * presence;\n\n const mainHue = (S.brightness * 3.6) % 360;\n \n noFill();\n\n for (let pass = 0; pass < 2; pass++) {\n const isSecond = pass === 0;\n const alphaScale = isSecond ? 0.7 : 1.0;\n const weightScale = isSecond ? 0.85 : 1.1;\n \n for (let i = 0; i < layers; i++) {\n const t = i / (layers - 1);\n const h = (mainHue + i * 22.5) % 360;\n const sat = map(S.treble, 0, 100, 60, 90);\n const bri = map(S.bass, 0, 100, 70, 95);\n \n const r0 = baseR * (0.6 + (isSecond ? 0.8 : 0.7) * sin(PI * 2 * t + 0.42));\n const rot = t * (twist + 0.6) + sin(i * 0.05) * map(S.attack, 0, 100, 0.02, 0.12);\n \n const hueShift = (i / layers) * 120;\n const finalH = (h + hueShift) % 360;\n const a = lerp(alphaHi, alphaLo, pow(t, 0.9)) * alphaScale / 255;\n \n push();\n translate(width * 0.5, CY);\n rotate(rot);\n \n strokeWeight(max(0.6, wBase * weightScale));\n stroke('hsla(' + finalH + ',' + sat + '%,' + bri + '%,' + constrain(a, 0, 1) + ')');\n \n beginShape();\n for (let k = 0; k <= steps; k++) {\n const ang = map(k, 0, steps, 0, PI * 2);\n const baseRR = r0 * (1.0 + bulge * sin(ang * waveF + t * PI * 3));\n vertex(baseRR * cos(ang), baseRR * sin(ang));\n }\n endShape(CLOSE);\n pop();\n }\n }\n}\n"; export default DUAL_VORTEX_SKETCH; //# sourceMappingURL=dualVortex.d.ts.map