{
    "effectName": "Curtain",
    "properties": [
        {
            "id": "Curtain_Edge",
            "label": "Curtain Edge",
            "type": "enum",
            "controlType": "choice",
            "options": [
                "left",
                "center",
                "right",
                "bottom",
                "middle",
                "top"
            ],
            "default": "left",
            "lockable": true,
            "description": "Sets which edge or pair of edges the curtain opens/closes from. Center and middle split the curtain into two halves that move symmetrically."
        },
        {
            "id": "Curtain_Effect",
            "label": "Effect",
            "type": "enum",
            "controlType": "choice",
            "options": [
                "open",
                "close",
                "open then close",
                "close then open"
            ],
            "default": "open",
            "lockable": true,
            "description": "Controls the curtain motion. Open reveals the model by pulling the curtain away; close covers it. Combined modes perform both actions in sequence within the effect duration."
        },
        {
            "id": "Curtain_Swag",
            "label": "Swag Width",
            "type": "int",
            "controlType": "slider",
            "default": 3,
            "min": 0,
            "max": 10,
            "valueCurve": true,
            "lockable": true,
            "description": "Controls the width of the decorative draped curve at the curtain edge. Higher values create a wider parabolic swag that hangs down from the top."
        },
        {
            "id": "Curtain_Speed",
            "label": "Swag Speed",
            "type": "float",
            "controlType": "slider",
            "default": 1.0,
            "divisor": 10,
            "valueCurve": true,
            "min": 0,
            "max": 100,
            "description": "Controls how fast the curtain opens or closes. Values above 1 make the curtain complete its motion before the effect ends; values below 1 slow it down."
        },
        {
            "id": "Curtain_Repeat",
            "label": "Repeat",
            "type": "bool",
            "controlType": "checkbox",
            "default": false,
            "lockable": true,
            "description": "When enabled, the curtain motion cycles repeatedly for the duration of the effect instead of playing once and stopping."
        }
    ]
}
