{ "id": "balatro-swirl", "name": "Balatro Swirl", "description": "Animated painterly swirl background. Original by localthunk (https://www.playbalatro.com), adapted from https://www.shadertoy.com/view/XXtBRr.", "category": "Generative", "entryPoint": "shadeVideo", "parameters": [ { "id": "spinRotation", "label": "Spin Rotation", "type": "float", "default": -2, "min": -8, "max": 8, "step": 0.05, "description": "Base rotation applied to the swirl field." }, { "id": "spinSpeed", "label": "Spin Speed", "type": "float", "default": 7, "min": 0, "max": 20, "step": 0.1, "description": "How quickly the swirl pattern rotates." }, { "id": "spinAmount", "label": "Spin Amount", "type": "float", "default": 0.25, "min": 0, "max": 1, "step": 0.01, "description": "Amount of radial twisting in the swirl." }, { "id": "spinEase", "label": "Spin Ease", "type": "float", "default": 1, "min": 0, "max": 3, "step": 0.01, "description": "Changes how strongly the twist falls off from the center." }, { "id": "contrast", "label": "Contrast", "type": "float", "default": 3.5, "min": 0.5, "max": 8, "step": 0.05, "description": "Adjusts separation between dark and bright areas." }, { "id": "lighting", "label": "Lighting", "type": "float", "default": 0.4, "min": 0, "max": 1.5, "step": 0.01, "description": "Strength of the highlight/shadow modulation." }, { "id": "offset", "label": "Offset", "type": "vec2", "default": [ 0, 0 ], "min": [ -1, -1 ], "max": [ 1, 1 ], "step": [ 0.001, 0.001 ], "description": "Moves the generated field in normalized coordinates." }, { "id": "colour1", "label": "Colour 1", "type": "color", "default": [ 0.871, 0.267, 0.231, 1 ], "description": "Primary warm swirl color." }, { "id": "colour2", "label": "Colour 2", "type": "color", "default": [ 0, 0.42, 0.706, 1 ], "description": "Secondary cool swirl color." }, { "id": "colour3", "label": "Colour 3", "type": "color", "default": [ 0.086, 0.137, 0.145, 1 ], "description": "Dark base color in the swirl." }, { "id": "isRotate", "label": "Rotate Field", "type": "bool", "default": false, "description": "Rotates the whole generated field over time." }, { "id": "sourceMix", "label": "Source Mix", "type": "float", "default": 0, "min": 0, "max": 1, "step": 0.01, "description": "Blends the generated effect with the incoming video." } ] }