{ "id": "fisheye-reproject", "name": "Fisheye Reproject", "description": "Inverse-projects a cropped fisheye source into a virtual rectilinear or cylindrical camera view with pan, tilt, and roll controls.", "category": "Projection", "entryPoint": "shadeVideo", "parameters": [ { "id": "lensFovDegrees", "label": "Lens FOV", "type": "float", "default": 190.0, "min": 1.0, "max": 220.0, "step": 0.1 }, { "id": "center", "label": "Optical Center", "type": "vec2", "default": [0.5, 0.5], "min": [0.0, 0.0], "max": [1.0, 1.0], "step": [0.001, 0.001] }, { "id": "radius", "label": "Fisheye Radius", "type": "vec2", "default": [0.5, 0.885], "min": [0.001, 0.001], "max": [2.0, 2.0], "step": [0.001, 0.001] }, { "id": "virtualFovDegrees", "label": "Virtual FOV", "type": "float", "default": 75.0, "min": 1.0, "max": 175.0, "step": 0.1 }, { "id": "basePanDegrees", "label": "Base Pan", "type": "float", "default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1 }, { "id": "baseTiltDegrees", "label": "Base Tilt", "type": "float", "default": 0.0, "min": -120.0, "max": 120.0, "step": 0.1 }, { "id": "baseRollDegrees", "label": "Base Roll", "type": "float", "default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1 }, { "id": "panDegrees", "label": "Pan", "type": "float", "default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1 }, { "id": "tiltDegrees", "label": "Tilt", "type": "float", "default": 0.0, "min": -120.0, "max": 120.0, "step": 0.1 }, { "id": "rollDegrees", "label": "Roll", "type": "float", "default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1 }, { "id": "fisheyeModel", "label": "Fisheye Model", "type": "enum", "default": "equidistant", "options": [ { "value": "equidistant", "label": "Equidistant" }, { "value": "equisolid", "label": "Equisolid" }, { "value": "stereographic", "label": "Stereographic" }, { "value": "orthographic", "label": "Orthographic" } ] }, { "id": "outputProjection", "label": "Output Projection", "type": "enum", "default": "rectilinear", "options": [ { "value": "rectilinear", "label": "Rectilinear" }, { "value": "cylindrical", "label": "Cylindrical" } ] }, { "id": "outsideColor", "label": "Outside Color", "type": "color", "default": [0.0, 0.0, 0.0, 1.0] } ] }