{ "id": "xyla-exposure-chart", "name": "XYLA Exposure Chart", "description": "Procedural grayscale exposure chart inspired by XYLA-style dynamic range charts, with each patch one stop brighter than the previous.", "category": "Calibration", "entryPoint": "shadeVideo", "parameters": [ { "id": "patchCount", "label": "Patch Count", "type": "float", "default": 15, "min": 2, "max": 21, "step": 1, "description": "Number of exposure patches in the chart." }, { "id": "baseLevel", "label": "Base Level", "type": "float", "default": 0.00006103515625, "min": 0.000001, "max": 0.01, "step": 0.000001, "description": "Brightness of the darkest patch before tone mapping." }, { "id": "peakLevel", "label": "Peak Level", "type": "float", "default": 1, "min": 0.01, "max": 1, "step": 0.001, "description": "Brightness limit for the brightest patch." }, { "id": "gammaEncode", "label": "Display Gamma", "type": "float", "default": 1, "min": 1, "max": 2.6, "step": 0.01, "description": "Gamma value used when Tone Curve is Display Gamma." }, { "id": "toneCurve", "label": "Tone Curve", "type": "enum", "default": "rec709", "options": [ { "value": "linear", "label": "Linear" }, { "value": "gamma", "label": "Display Gamma" }, { "value": "rec709", "label": "Rec.709" } ], "description": "Output encoding used for the chart patches." }, { "id": "chartScale", "label": "Chart Scale", "type": "float", "default": 0.86, "min": 0.25, "max": 1, "step": 0.01, "description": "Overall size of the chart in frame." }, { "id": "gapSize", "label": "Gap Size", "type": "float", "default": 0.18, "min": 0, "max": 0.45, "step": 0.01, "description": "Spacing between exposure patches." }, { "id": "vertical", "label": "Vertical", "type": "bool", "default": false, "description": "Stacks patches vertically instead of horizontally." }, { "id": "reverseOrder", "label": "Reverse Order", "type": "bool", "default": false, "description": "Reverses the dark-to-bright patch order." }, { "id": "backgroundLevel", "label": "Background", "type": "float", "default": 0, "min": 0, "max": 0.2, "step": 0.001, "description": "Background brightness behind the chart." }, { "id": "borderLevel", "label": "Border", "type": "float", "default": 0.08, "min": 0, "max": 1, "step": 0.001, "description": "Brightness of patch borders." }, { "id": "sourceMix", "label": "Source Mix", "type": "float", "default": 0, "min": 0, "max": 1, "step": 0.01, "description": "Blends the generated effect with the incoming video." } ] }