{ "id": "crt-bulge", "name": "CRT Bulge", "description": "Warps the image like convex CRT glass, with optional rounded screen edges and vignette darkening.", "category": "Distortion", "entryPoint": "shadeVideo", "parameters": [ { "id": "bulgeAmount", "label": "Bulge", "type": "float", "default": -0.04, "min": -0.5, "max": 0.8, "step": 0.01, "description": "Positive values swell the center outward; negative values pinch it inward." }, { "id": "zoom", "label": "Zoom", "type": "float", "default": 1.04, "min": 0.5, "max": 2, "step": 0.01, "description": "Scales the source before distortion, useful for hiding warped edges." }, { "id": "edgeRoundness", "label": "Edge Roundness", "type": "float", "default": 0.08, "min": 0, "max": 0.35, "step": 0.01, "description": "Rounds the visible screen corners like older CRT glass." }, { "id": "edgeFeather", "label": "Edge Feather", "type": "float", "default": 2, "min": 0, "max": 24, "step": 0.1, "description": "Softens the rounded screen edge in pixels." }, { "id": "sourceEdgeFeather", "label": "Source Edge Feather", "type": "float", "default": 1.5, "min": 0, "max": 16, "step": 0.1, "description": "Antialiases warped source edges when the distortion reveals outside-frame pixels." }, { "id": "vignetteAmount", "label": "Vignette", "type": "float", "default": 0.18, "min": 0, "max": 1, "step": 0.01, "description": "Darkens the glass toward the screen edges." }, { "id": "edgeMode", "label": "Edge Mode", "type": "enum", "default": "black", "options": [ { "value": "black", "label": "Black" }, { "value": "clamp", "label": "Clamp" }, { "value": "mirror", "label": "Mirror" } ], "description": "Chooses how warped samples outside the source frame are filled." }, { "id": "outsideColor", "label": "Outside Color", "type": "color", "default": [ 0, 0, 0, 1 ], "description": "Color used outside the curved screen or source frame." } ] }