{
    "effectName": "Galaxy",
    "properties": [
        {
            "id": "Galaxy_CenterX",
            "label": "Center X",
            "type": "int",
            "controlType": "slider",
            "default": 50,
            "min": 0,
            "max": 100,
            "valueCurve": true,
            "lockable": true,
            "description": "Horizontal position of the galaxy center as a percentage of the buffer width."
        },
        {
            "id": "Galaxy_CenterY",
            "label": "Center Y",
            "type": "int",
            "controlType": "slider",
            "default": 50,
            "min": 0,
            "max": 100,
            "valueCurve": true,
            "lockable": true,
            "description": "Vertical position of the galaxy center as a percentage of the buffer height."
        },
        {
            "id": "Galaxy_Start_Radius",
            "label": "Radius",
            "type": "int",
            "controlType": "slider",
            "default": 1,
            "min": 0,
            "max": 250,
            "valueCurve": true,
            "lockable": true,
            "description": "Inner radius of the spiral arm at the center of the galaxy."
        },
        {
            "id": "Galaxy_Start_Width",
            "label": "Width",
            "type": "int",
            "controlType": "slider",
            "default": 5,
            "min": 0,
            "max": 255,
            "valueCurve": true,
            "lockable": true,
            "description": "Thickness of the spiral arm at the inner starting point."
        },
        {
            "id": "Galaxy_Start_Angle",
            "label": "Angle",
            "type": "int",
            "controlType": "slider",
            "default": 0,
            "min": 0,
            "max": 360,
            "valueCurve": true,
            "lockable": true,
            "description": "Initial rotation angle of the spiral arm in degrees."
        },
        {
            "id": "Galaxy_End_Radius",
            "label": "Radius",
            "type": "int",
            "controlType": "slider",
            "default": 10,
            "min": 0,
            "max": 250,
            "valueCurve": true,
            "lockable": true,
            "description": "Outer radius of the spiral arm at the edge of the galaxy."
        },
        {
            "id": "Galaxy_End_Width",
            "label": "Width",
            "type": "int",
            "controlType": "slider",
            "default": 5,
            "min": 0,
            "max": 255,
            "valueCurve": true,
            "lockable": true,
            "description": "Thickness of the spiral arm at the outer ending point."
        },
        {
            "id": "Galaxy_Revolutions",
            "label": "Rev's",
            "type": "float",
            "controlType": "slider",
            "settingPrefix": "SLIDER",
            "default": 4.0,
            "min": 0,
            "max": 3600,
            "divisor": 360,
            "valueCurve": true,
            "lockable": true,
            "description": "Number of full revolutions the spiral arm wraps around the center. More revolutions create a tighter spiral. settingPrefix:SLIDER because GalaxyEffect::Render calls GetValueCurveInt which reads SLIDER_<id> as a raw pre-divisor int and divides inside ValueCurve."
        },
        {
            "id": "Galaxy_Duration",
            "label": "Head Duration",
            "type": "int",
            "controlType": "slider",
            "default": 20,
            "min": 0,
            "max": 100,
            "valueCurve": true,
            "lockable": true,
            "description": "Percentage of the effect time that the leading head of the spiral is visible. Controls how quickly the spiral appears and disappears."
        },
        {
            "id": "Galaxy_Accel",
            "label": "Acceleration",
            "type": "int",
            "controlType": "slider",
            "default": 0,
            "min": -10,
            "max": 10,
            "valueCurve": true,
            "lockable": true,
            "description": "Adjusts the animation speed curve. Positive values accelerate toward the end, negative values decelerate."
        },
        {
            "id": "Galaxy_Reverse",
            "label": "Reverse",
            "type": "bool",
            "controlType": "checkbox",
            "default": false,
            "description": "Reverses the direction the spiral arm rotates."
        },
        {
            "id": "Galaxy_Blend_Edges",
            "label": "Blend Edges",
            "type": "bool",
            "controlType": "checkbox",
            "default": true,
            "description": "When enabled, the spiral arm edges fade smoothly using alpha blending instead of having hard edges."
        },
        {
            "id": "Galaxy_Inward",
            "label": "Inward",
            "type": "bool",
            "controlType": "checkbox",
            "default": false,
            "description": "When enabled, the spiral draws from the outside inward. When disabled, it draws from the center outward."
        },
        {
            "id": "Galaxy_Scale",
            "label": "Scale To Buffer",
            "type": "bool",
            "controlType": "checkbox",
            "default": true,
            "description": "When enabled, radius and width values are treated as percentages of the buffer size rather than absolute pixel values."
        }
    ],
    "groups": [
        {
            "type": "tabs",
            "tabs": [
                {
                    "label": "Start",
                    "properties": [
                        "Galaxy_CenterX",
                        "Galaxy_CenterY",
                        "Galaxy_Start_Radius",
                        "Galaxy_Start_Width",
                        "Galaxy_Start_Angle"
                    ]
                },
                {
                    "label": "End",
                    "properties": [
                        "Galaxy_End_Radius",
                        "Galaxy_End_Width",
                        "Galaxy_Revolutions"
                    ]
                },
                {
                    "label": "Options",
                    "properties": [
                        "Galaxy_Duration",
                        "Galaxy_Accel",
                        "Galaxy_Reverse",
                        "Galaxy_Blend_Edges",
                        "Galaxy_Inward",
                        "Galaxy_Scale"
                    ]
                }
            ],
            "settingKey": "E_NOTEBOOK_Galaxy"
        }
    ]
}
