{ "id": "video-transform", "name": "Video Transform", "description": "Zooms, pans, and rotates the video by remapping output pixels back into source UV space.", "category": "Transform", "entryPoint": "shadeVideo", "parameters": [ { "id": "zoom", "label": "Zoom", "type": "float", "default": 1, "min": 0.1, "max": 8, "step": 0.01, "description": "Scales the source image before edge handling is applied." }, { "id": "pan", "label": "Pan", "type": "vec2", "default": [ 0, 0 ], "min": [ -1, -1 ], "max": [ 1, 1 ], "step": [ 0.001, 0.001 ], "description": "Moves the source image in normalized frame units." }, { "id": "rotationDegrees", "label": "Rotation", "type": "float", "default": 0, "min": -180, "max": 180, "step": 0.1, "description": "Rotates the source image around the frame center." }, { "id": "edgeMode", "label": "Edge Mode", "type": "enum", "default": "black", "options": [ { "value": "black", "label": "Black" }, { "value": "clamp", "label": "Clamp" }, { "value": "wrap", "label": "Wrap" }, { "value": "mirror", "label": "Mirror" } ], "description": "Chooses how samples outside the source frame are filled." }, { "id": "outsideColor", "label": "Outside Color", "type": "color", "default": [ 0, 0, 0, 1 ], "description": "Color used where the remapped image samples outside the source frame." } ] }