{
  "dependencies": [
    {
      "typeId": "nodra.adjust.huesat",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.adjust.huetonecurve",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.ai.faces",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.ai.personmask",
      "version": "0.2.0"
    },
    {
      "typeId": "nodra.analyze.dimensions",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.blend.maskmix",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.blend.mix",
      "version": "0.3.0"
    },
    {
      "typeId": "nodra.color.gamutcompress",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.color.labmerge",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.color.labsplit",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.control.slider",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.curve.apply",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.curve.assemble",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.curve.editor",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.filter.bilateral",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.filter.colorkey",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.filter.curvemask",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.filter.gaussianblur",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.filter.maskbuilder",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.gen.gradient",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.gen.solid",
      "version": "0.2.0"
    },
    {
      "typeId": "nodra.io.fileinput",
      "version": "0.2.0"
    },
    {
      "typeId": "nodra.math.add",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.math.multiply",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.math.remap",
      "version": "0.2.0"
    },
    {
      "typeId": "nodra.view.preview",
      "version": "0.1.0"
    }
  ],
  "editor": {
    "names": {
      "1": "Fallback Image",
      "10": "Width + Height",
      "11": "Size Scale (1 = 1600x1200)",
      "12": "Chroma Denoise Radius",
      "13": "Skin Mask Softness",
      "14": "Chroma Denoise a",
      "15": "Chroma Denoise b",
      "16": "Chroma Boost Line (x2.8 around neutral)",
      "17": "Boost a",
      "18": "Boost b",
      "19": "Denoised Color (to measure chroma)",
      "2": "Source Image",
      "20": "Chroma Contrast Curve (gain by chroma)",
      "21": "Chroma Gain Map",
      "22": "Soften Gain Map",
      "23": "Gamut Guard (no boost on dark, bright or edge-of-gamut colors)",
      "24": "Black (for mask products)",
      "25": "Gain Map x Gamut Guard",
      "26": "Velvia a (original vs boosted)",
      "27": "Velvia b (original vs boosted)",
      "28": "Skin with Neck (Faces)",
      "29": "People",
      "3": "LAB Split",
      "30": "Skin Hue Key",
      "31": "Skin Key on People Only",
      "32": "Skin = Faces + Key",
      "33": "Feather Skin Mask",
      "34": "Skin Protection a",
      "35": "Skin Protection b",
      "36": "Lightness S-Curve",
      "37": "Shadow Point",
      "38": "Highlight Point",
      "39": "Lightness Contrast",
      "4": "Velvia Strength",
      "40": "Contrast Guard (skip saturated dark colors)",
      "41": "Lightness Contrast x Guard",
      "42": "LAB Merge",
      "43": "Sky Low Point",
      "44": "Sky High Point",
      "45": "Sky Darkening Curve",
      "46": "Blue Sky Depth",
      "47": "Foliage Hue Band",
      "48": "Foliage Band x Gamut Guard",
      "49": "Greens Richer (OKLCh)",
      "5": "Contrast",
      "50": "Foliage Richness",
      "51": "Gamut Safety",
      "52": "LAB Velvia, Skin-Safe Preview",
      "6": "Skin Protection",
      "7": "Blue Sky Depth",
      "8": "Foliage Richness",
      "9": "Image Size"
    },
    "pluginPreviewNode": "52",
    "positions": {
      "1": [
        -840.0,
        0.0
      ],
      "10": [
        -280.0,
        660.0
      ],
      "11": [
        0.0,
        660.0
      ],
      "12": [
        280.0,
        660.0
      ],
      "13": [
        280.0,
        780.0
      ],
      "14": [
        0.0,
        -300.0
      ],
      "15": [
        0.0,
        -150.0
      ],
      "16": [
        140.0,
        -440.0
      ],
      "17": [
        280.0,
        -300.0
      ],
      "18": [
        280.0,
        -150.0
      ],
      "19": [
        280.0,
        -620.0
      ],
      "2": [
        -560.0,
        0.0
      ],
      "20": [
        560.0,
        -780.0
      ],
      "21": [
        560.0,
        -620.0
      ],
      "22": [
        840.0,
        -620.0
      ],
      "23": [
        560.0,
        -460.0
      ],
      "24": [
        840.0,
        -780.0
      ],
      "25": [
        1120.0,
        -560.0
      ],
      "26": [
        1400.0,
        -300.0
      ],
      "27": [
        1400.0,
        -150.0
      ],
      "28": [
        -280.0,
        -1180.0
      ],
      "29": [
        -280.0,
        -1040.0
      ],
      "3": [
        -280.0,
        0.0
      ],
      "30": [
        -280.0,
        -900.0
      ],
      "31": [
        0.0,
        -980.0
      ],
      "32": [
        280.0,
        -1080.0
      ],
      "33": [
        560.0,
        -1080.0
      ],
      "34": [
        1680.0,
        -300.0
      ],
      "35": [
        1680.0,
        -150.0
      ],
      "36": [
        0.0,
        160.0
      ],
      "37": [
        -280.0,
        160.0
      ],
      "38": [
        -280.0,
        280.0
      ],
      "39": [
        280.0,
        0.0
      ],
      "4": [
        -840.0,
        300.0
      ],
      "40": [
        280.0,
        160.0
      ],
      "41": [
        560.0,
        0.0
      ],
      "42": [
        1960.0,
        -150.0
      ],
      "43": [
        1680.0,
        160.0
      ],
      "44": [
        1680.0,
        280.0
      ],
      "45": [
        1960.0,
        160.0
      ],
      "46": [
        2240.0,
        -150.0
      ],
      "47": [
        2240.0,
        -520.0
      ],
      "48": [
        2520.0,
        -520.0
      ],
      "49": [
        2520.0,
        -360.0
      ],
      "5": [
        -840.0,
        420.0
      ],
      "50": [
        2800.0,
        -150.0
      ],
      "51": [
        3080.0,
        -150.0
      ],
      "52": [
        3360.0,
        -150.0
      ],
      "6": [
        -840.0,
        540.0
      ],
      "7": [
        -840.0,
        660.0
      ],
      "8": [
        -840.0,
        780.0
      ],
      "9": [
        -560.0,
        660.0
      ]
    },
    "schemaVersion": 1,
    "viewOrder": []
  },
  "format": "nodra-patch",
  "formatVersion": 1,
  "graph": {
    "connections": [
      {
        "dst": [
          2,
          1
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          3,
          0
        ],
        "src": [
          2,
          0
        ]
      },
      {
        "dst": [
          9,
          0
        ],
        "src": [
          2,
          0
        ]
      },
      {
        "dst": [
          10,
          0
        ],
        "src": [
          9,
          0
        ]
      },
      {
        "dst": [
          10,
          1
        ],
        "src": [
          9,
          1
        ]
      },
      {
        "dst": [
          11,
          0
        ],
        "src": [
          10,
          0
        ]
      },
      {
        "dst": [
          12,
          0
        ],
        "src": [
          11,
          0
        ]
      },
      {
        "dst": [
          13,
          0
        ],
        "src": [
          11,
          0
        ]
      },
      {
        "dst": [
          14,
          1
        ],
        "src": [
          12,
          0
        ]
      },
      {
        "dst": [
          15,
          1
        ],
        "src": [
          12,
          0
        ]
      },
      {
        "dst": [
          14,
          0
        ],
        "src": [
          3,
          1
        ]
      },
      {
        "dst": [
          15,
          0
        ],
        "src": [
          3,
          2
        ]
      },
      {
        "dst": [
          19,
          0
        ],
        "src": [
          3,
          0
        ]
      },
      {
        "dst": [
          19,
          1
        ],
        "src": [
          14,
          0
        ]
      },
      {
        "dst": [
          19,
          2
        ],
        "src": [
          15,
          0
        ]
      },
      {
        "dst": [
          21,
          0
        ],
        "src": [
          19,
          0
        ]
      },
      {
        "dst": [
          21,
          3
        ],
        "src": [
          20,
          0
        ]
      },
      {
        "dst": [
          22,
          0
        ],
        "src": [
          21,
          0
        ]
      },
      {
        "dst": [
          22,
          1
        ],
        "src": [
          12,
          0
        ]
      },
      {
        "dst": [
          23,
          0
        ],
        "src": [
          2,
          0
        ]
      },
      {
        "dst": [
          24,
          0
        ],
        "src": [
          2,
          0
        ]
      },
      {
        "dst": [
          25,
          0
        ],
        "src": [
          24,
          0
        ]
      },
      {
        "dst": [
          25,
          1
        ],
        "src": [
          22,
          0
        ]
      },
      {
        "dst": [
          25,
          2
        ],
        "src": [
          23,
          0
        ]
      },
      {
        "dst": [
          17,
          0
        ],
        "src": [
          14,
          0
        ]
      },
      {
        "dst": [
          18,
          0
        ],
        "src": [
          15,
          0
        ]
      },
      {
        "dst": [
          17,
          1
        ],
        "src": [
          16,
          0
        ]
      },
      {
        "dst": [
          18,
          1
        ],
        "src": [
          16,
          0
        ]
      },
      {
        "dst": [
          26,
          0
        ],
        "src": [
          3,
          1
        ]
      },
      {
        "dst": [
          26,
          1
        ],
        "src": [
          17,
          0
        ]
      },
      {
        "dst": [
          26,
          2
        ],
        "src": [
          25,
          0
        ]
      },
      {
        "dst": [
          26,
          4
        ],
        "src": [
          4,
          0
        ]
      },
      {
        "dst": [
          27,
          0
        ],
        "src": [
          3,
          2
        ]
      },
      {
        "dst": [
          27,
          1
        ],
        "src": [
          18,
          0
        ]
      },
      {
        "dst": [
          27,
          2
        ],
        "src": [
          25,
          0
        ]
      },
      {
        "dst": [
          27,
          4
        ],
        "src": [
          4,
          0
        ]
      },
      {
        "dst": [
          28,
          0
        ],
        "src": [
          2,
          0
        ]
      },
      {
        "dst": [
          28,
          4
        ],
        "src": [
          13,
          0
        ]
      },
      {
        "dst": [
          29,
          0
        ],
        "src": [
          2,
          0
        ]
      },
      {
        "dst": [
          30,
          0
        ],
        "src": [
          2,
          0
        ]
      },
      {
        "dst": [
          31,
          0
        ],
        "src": [
          30,
          0
        ]
      },
      {
        "dst": [
          31,
          1
        ],
        "src": [
          29,
          0
        ]
      },
      {
        "dst": [
          32,
          0
        ],
        "src": [
          28,
          0
        ]
      },
      {
        "dst": [
          32,
          1
        ],
        "src": [
          31,
          0
        ]
      },
      {
        "dst": [
          33,
          0
        ],
        "src": [
          32,
          0
        ]
      },
      {
        "dst": [
          33,
          1
        ],
        "src": [
          13,
          0
        ]
      },
      {
        "dst": [
          34,
          0
        ],
        "src": [
          26,
          0
        ]
      },
      {
        "dst": [
          34,
          1
        ],
        "src": [
          3,
          1
        ]
      },
      {
        "dst": [
          34,
          2
        ],
        "src": [
          33,
          0
        ]
      },
      {
        "dst": [
          34,
          4
        ],
        "src": [
          6,
          0
        ]
      },
      {
        "dst": [
          35,
          0
        ],
        "src": [
          27,
          0
        ]
      },
      {
        "dst": [
          35,
          1
        ],
        "src": [
          3,
          2
        ]
      },
      {
        "dst": [
          35,
          2
        ],
        "src": [
          33,
          0
        ]
      },
      {
        "dst": [
          35,
          4
        ],
        "src": [
          6,
          0
        ]
      },
      {
        "dst": [
          37,
          0
        ],
        "src": [
          5,
          0
        ]
      },
      {
        "dst": [
          38,
          0
        ],
        "src": [
          5,
          0
        ]
      },
      {
        "dst": [
          36,
          3
        ],
        "src": [
          37,
          0
        ]
      },
      {
        "dst": [
          36,
          5
        ],
        "src": [
          38,
          0
        ]
      },
      {
        "dst": [
          39,
          0
        ],
        "src": [
          3,
          0
        ]
      },
      {
        "dst": [
          39,
          1
        ],
        "src": [
          36,
          0
        ]
      },
      {
        "dst": [
          40,
          0
        ],
        "src": [
          2,
          0
        ]
      },
      {
        "dst": [
          41,
          0
        ],
        "src": [
          3,
          0
        ]
      },
      {
        "dst": [
          41,
          1
        ],
        "src": [
          39,
          0
        ]
      },
      {
        "dst": [
          41,
          2
        ],
        "src": [
          40,
          0
        ]
      },
      {
        "dst": [
          42,
          0
        ],
        "src": [
          41,
          0
        ]
      },
      {
        "dst": [
          42,
          1
        ],
        "src": [
          34,
          0
        ]
      },
      {
        "dst": [
          42,
          2
        ],
        "src": [
          35,
          0
        ]
      },
      {
        "dst": [
          43,
          0
        ],
        "src": [
          7,
          0
        ]
      },
      {
        "dst": [
          44,
          0
        ],
        "src": [
          7,
          0
        ]
      },
      {
        "dst": [
          45,
          3
        ],
        "src": [
          43,
          0
        ]
      },
      {
        "dst": [
          45,
          5
        ],
        "src": [
          44,
          0
        ]
      },
      {
        "dst": [
          46,
          0
        ],
        "src": [
          42,
          0
        ]
      },
      {
        "dst": [
          46,
          6
        ],
        "src": [
          45,
          0
        ]
      },
      {
        "dst": [
          47,
          0
        ],
        "src": [
          42,
          0
        ]
      },
      {
        "dst": [
          48,
          0
        ],
        "src": [
          24,
          0
        ]
      },
      {
        "dst": [
          48,
          1
        ],
        "src": [
          47,
          1
        ]
      },
      {
        "dst": [
          48,
          2
        ],
        "src": [
          23,
          0
        ]
      },
      {
        "dst": [
          49,
          0
        ],
        "src": [
          46,
          0
        ]
      },
      {
        "dst": [
          50,
          0
        ],
        "src": [
          46,
          0
        ]
      },
      {
        "dst": [
          50,
          1
        ],
        "src": [
          49,
          0
        ]
      },
      {
        "dst": [
          50,
          2
        ],
        "src": [
          48,
          0
        ]
      },
      {
        "dst": [
          50,
          4
        ],
        "src": [
          8,
          0
        ]
      },
      {
        "dst": [
          51,
          0
        ],
        "src": [
          50,
          0
        ]
      },
      {
        "dst": [
          52,
          0
        ],
        "src": [
          51,
          0
        ]
      }
    ],
    "nodes": [
      {
        "id": 1,
        "params": {
          "colorA": {
            "t": "color",
            "v": [
              0.1094617173075676,
              0.17144109308719635,
              0.24228119850158691,
              1.0
            ]
          },
          "colorB": {
            "t": "color",
            "v": [
              0.6938719153404236,
              0.48514997959136963,
              0.2746773660182953,
              1.0
            ]
          },
          "height": {
            "t": "int",
            "v": 768
          },
          "type": {
            "t": "int",
            "v": 0
          },
          "width": {
            "t": "int",
            "v": 768
          }
        },
        "type": "nodra.gen.gradient"
      },
      {
        "id": 2,
        "params": {
          "containerMode": {
            "t": "int",
            "v": 0
          },
          "exifOrientation": {
            "t": "int",
            "v": 0
          },
          "file": {
            "t": "string",
            "v": ""
          },
          "tiffPage": {
            "t": "int",
            "v": 1
          }
        },
        "type": "nodra.io.fileinput"
      },
      {
        "id": 3,
        "params": {},
        "type": "nodra.color.labsplit"
      },
      {
        "id": 4,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.7
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 5,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.65
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 6,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.8
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 7,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.6
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 8,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.6
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 9,
        "params": {},
        "type": "nodra.analyze.dimensions"
      },
      {
        "id": 10,
        "params": {
          "a": {
            "t": "float",
            "v": 0.0
          },
          "b": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.add"
      },
      {
        "id": 11,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 0.00036
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 12,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 3.5
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 13,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 14.0
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 14,
        "params": {
          "radius": {
            "t": "float",
            "v": 5.0
          },
          "sigmaColor": {
            "t": "float",
            "v": 0.03
          },
          "strength": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.filter.bilateral"
      },
      {
        "id": 15,
        "params": {
          "radius": {
            "t": "float",
            "v": 5.0
          },
          "sigmaColor": {
            "t": "float",
            "v": 0.03
          },
          "strength": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.filter.bilateral"
      },
      {
        "id": 16,
        "params": {
          "curve": {
            "t": "curve",
            "v": [
              [
                0.0,
                0.0
              ],
              [
                0.321399986743927,
                0.0
              ],
              [
                0.36000001430511475,
                0.1080000028014183
              ],
              [
                0.4300000071525574,
                0.30399999022483826
              ],
              [
                0.5,
                0.5
              ],
              [
                0.5699999928474426,
                0.6959999799728394
              ],
              [
                0.6399999856948853,
                0.8920000195503235
              ],
              [
                0.678600013256073,
                1.0
              ],
              [
                1.0,
                1.0
              ]
            ]
          }
        },
        "type": "nodra.curve.editor"
      },
      {
        "id": 17,
        "params": {},
        "type": "nodra.curve.apply"
      },
      {
        "id": 18,
        "params": {},
        "type": "nodra.curve.apply"
      },
      {
        "id": 19,
        "params": {},
        "type": "nodra.color.labmerge"
      },
      {
        "id": 20,
        "params": {
          "curve": {
            "t": "curve",
            "v": [
              [
                0.0,
                0.0
              ],
              [
                0.013000000268220901,
                0.0
              ],
              [
                0.027000000700354576,
                0.11999999731779099
              ],
              [
                0.05299999937415123,
                0.4000000059604645
              ],
              [
                0.07999999821186066,
                0.699999988079071
              ],
              [
                0.10700000077486038,
                0.9200000166893005
              ],
              [
                0.1469999998807907,
                1.0
              ],
              [
                0.20000000298023224,
                0.8799999952316284
              ],
              [
                0.2529999911785126,
                0.699999988079071
              ],
              [
                0.3199999928474426,
                0.5
              ],
              [
                0.4000000059604645,
                0.3199999928474426
              ],
              [
                0.5,
                0.17000000178813934
              ],
              [
                0.6330000162124634,
                0.07000000029802322
              ],
              [
                0.800000011920929,
                0.019999999552965164
              ],
              [
                1.0,
                0.0
              ]
            ]
          }
        },
        "type": "nodra.curve.editor"
      },
      {
        "id": 21,
        "params": {
          "channel": {
            "t": "int",
            "v": 1
          },
          "colorSpace": {
            "t": "int",
            "v": 3
          },
          "curve": {
            "t": "curve",
            "v": [
              [
                0.0,
                0.0
              ],
              [
                1.0,
                1.0
              ]
            ]
          },
          "invert": {
            "t": "bool",
            "v": false
          }
        },
        "type": "nodra.filter.curvemask"
      },
      {
        "id": 22,
        "params": {
          "radius": {
            "t": "float",
            "v": 5.0
          }
        },
        "type": "nodra.filter.gaussianblur"
      },
      {
        "id": 23,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "q1Active": {
            "t": "bool",
            "v": true
          },
          "q1Channel": {
            "t": "int",
            "v": 2
          },
          "q1Max": {
            "t": "float",
            "v": 0.8
          },
          "q1Min": {
            "t": "float",
            "v": 0.36
          },
          "q1Mode": {
            "t": "int",
            "v": 0
          },
          "q1SoftHigh": {
            "t": "float",
            "v": 0.95
          },
          "q1SoftLow": {
            "t": "float",
            "v": 0.2
          },
          "q1Space": {
            "t": "int",
            "v": 4
          },
          "q2Active": {
            "t": "bool",
            "v": true
          },
          "q2Channel": {
            "t": "int",
            "v": 2
          },
          "q2Max": {
            "t": "float",
            "v": 0.7
          },
          "q2Min": {
            "t": "float",
            "v": 0.0
          },
          "q2Mode": {
            "t": "int",
            "v": 2
          },
          "q2SoftHigh": {
            "t": "float",
            "v": 0.9
          },
          "q2SoftLow": {
            "t": "float",
            "v": 0.0
          },
          "q2Space": {
            "t": "int",
            "v": 0
          },
          "q3Active": {
            "t": "bool",
            "v": true
          },
          "q3Channel": {
            "t": "int",
            "v": 1
          },
          "q3Max": {
            "t": "float",
            "v": 0.45
          },
          "q3Min": {
            "t": "float",
            "v": 0.0
          },
          "q3Mode": {
            "t": "int",
            "v": 2
          },
          "q3SoftHigh": {
            "t": "float",
            "v": 1.0
          },
          "q3SoftLow": {
            "t": "float",
            "v": 0.0
          },
          "q3Space": {
            "t": "int",
            "v": 0
          },
          "q4Active": {
            "t": "bool",
            "v": true
          },
          "q4Channel": {
            "t": "int",
            "v": 0
          },
          "q4Max": {
            "t": "float",
            "v": 0.32
          },
          "q4Min": {
            "t": "float",
            "v": 0.26
          },
          "q4Mode": {
            "t": "int",
            "v": 1
          },
          "q4SoftHigh": {
            "t": "float",
            "v": 0.4
          },
          "q4SoftLow": {
            "t": "float",
            "v": 0.17
          },
          "q4Space": {
            "t": "int",
            "v": 5
          }
        },
        "type": "nodra.filter.maskbuilder"
      },
      {
        "id": 24,
        "params": {
          "color": {
            "t": "color",
            "v": [
              0.0,
              0.0,
              0.0,
              1.0
            ]
          },
          "height": {
            "t": "int",
            "v": 512
          },
          "width": {
            "t": "int",
            "v": 512
          }
        },
        "type": "nodra.gen.solid"
      },
      {
        "id": 25,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 26,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 27,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 28,
        "params": {
          "expand": {
            "t": "float",
            "v": 0.0
          },
          "faces": {
            "t": "int",
            "v": 0
          },
          "feather": {
            "t": "float",
            "v": 2.0
          },
          "invert": {
            "t": "bool",
            "v": false
          },
          "region": {
            "t": "int",
            "v": 7
          }
        },
        "type": "nodra.ai.faces"
      },
      {
        "id": 29,
        "params": {
          "feather": {
            "t": "float",
            "v": 0.0
          },
          "invert": {
            "t": "bool",
            "v": false
          },
          "margin": {
            "t": "float",
            "v": 0.0
          },
          "quality": {
            "t": "int",
            "v": 1
          },
          "threshold": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.ai.personmask"
      },
      {
        "id": 30,
        "params": {
          "colorSpace": {
            "t": "int",
            "v": 1
          },
          "feather": {
            "t": "float",
            "v": 0.12
          },
          "mode": {
            "t": "int",
            "v": 0
          },
          "rangeHigh": {
            "t": "float",
            "v": 0.6
          },
          "rangeLow": {
            "t": "float",
            "v": 0.4
          },
          "targetColor": {
            "t": "color",
            "v": [
              0.6514056921005249,
              0.31398874521255493,
              0.2015562355518341,
              1.0
            ]
          },
          "tolerance": {
            "t": "float",
            "v": 0.14
          }
        },
        "type": "nodra.filter.colorkey"
      },
      {
        "id": 31,
        "params": {
          "mix": {
            "t": "float",
            "v": 1.0
          },
          "mode": {
            "t": "int",
            "v": 1
          },
          "useLayerAlpha": {
            "t": "bool",
            "v": false
          }
        },
        "type": "nodra.blend.mix"
      },
      {
        "id": 32,
        "params": {
          "mix": {
            "t": "float",
            "v": 1.0
          },
          "mode": {
            "t": "int",
            "v": 7
          },
          "useLayerAlpha": {
            "t": "bool",
            "v": false
          }
        },
        "type": "nodra.blend.mix"
      },
      {
        "id": 33,
        "params": {
          "radius": {
            "t": "float",
            "v": 5.0
          }
        },
        "type": "nodra.filter.gaussianblur"
      },
      {
        "id": 34,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 35,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 36,
        "params": {
          "p1x": {
            "t": "float",
            "v": 0.0
          },
          "p1y": {
            "t": "float",
            "v": 0.0
          },
          "p2x": {
            "t": "float",
            "v": 0.3
          },
          "p2y": {
            "t": "float",
            "v": 0.33
          },
          "p3x": {
            "t": "float",
            "v": 0.72
          },
          "p3y": {
            "t": "float",
            "v": 0.66
          },
          "p4x": {
            "t": "float",
            "v": 1.0
          },
          "p4y": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.curve.assemble"
      },
      {
        "id": 37,
        "params": {
          "inMax": {
            "t": "float",
            "v": 1.0
          },
          "inMin": {
            "t": "float",
            "v": 0.0
          },
          "outMax": {
            "t": "float",
            "v": 0.235
          },
          "outMin": {
            "t": "float",
            "v": 0.3
          },
          "value": {
            "t": "float",
            "v": 0.5
          }
        },
        "type": "nodra.math.remap"
      },
      {
        "id": 38,
        "params": {
          "inMax": {
            "t": "float",
            "v": 1.0
          },
          "inMin": {
            "t": "float",
            "v": 0.0
          },
          "outMax": {
            "t": "float",
            "v": 0.755
          },
          "outMin": {
            "t": "float",
            "v": 0.72
          },
          "value": {
            "t": "float",
            "v": 0.5
          }
        },
        "type": "nodra.math.remap"
      },
      {
        "id": 39,
        "params": {},
        "type": "nodra.curve.apply"
      },
      {
        "id": 40,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "q1Active": {
            "t": "bool",
            "v": true
          },
          "q1Channel": {
            "t": "int",
            "v": 1
          },
          "q1Max": {
            "t": "float",
            "v": 0.4
          },
          "q1Min": {
            "t": "float",
            "v": 0.0
          },
          "q1Mode": {
            "t": "int",
            "v": 0
          },
          "q1SoftHigh": {
            "t": "float",
            "v": 0.7
          },
          "q1SoftLow": {
            "t": "float",
            "v": 0.0
          },
          "q1Space": {
            "t": "int",
            "v": 0
          },
          "q2Active": {
            "t": "bool",
            "v": true
          },
          "q2Channel": {
            "t": "int",
            "v": 2
          },
          "q2Max": {
            "t": "float",
            "v": 0.65
          },
          "q2Min": {
            "t": "float",
            "v": 0.55
          },
          "q2Mode": {
            "t": "int",
            "v": 0
          },
          "q2SoftHigh": {
            "t": "float",
            "v": 0.95
          },
          "q2SoftLow": {
            "t": "float",
            "v": 0.42
          },
          "q2Space": {
            "t": "int",
            "v": 4
          },
          "q3Active": {
            "t": "bool",
            "v": false
          },
          "q3Channel": {
            "t": "int",
            "v": 2
          },
          "q3Max": {
            "t": "float",
            "v": 1.0
          },
          "q3Min": {
            "t": "float",
            "v": 0.0
          },
          "q3Mode": {
            "t": "int",
            "v": 2
          },
          "q3SoftHigh": {
            "t": "float",
            "v": 1.0
          },
          "q3SoftLow": {
            "t": "float",
            "v": 0.0
          },
          "q3Space": {
            "t": "int",
            "v": 0
          },
          "q4Active": {
            "t": "bool",
            "v": false
          },
          "q4Channel": {
            "t": "int",
            "v": 0
          },
          "q4Max": {
            "t": "float",
            "v": 1.0
          },
          "q4Min": {
            "t": "float",
            "v": 0.0
          },
          "q4Mode": {
            "t": "int",
            "v": 2
          },
          "q4SoftHigh": {
            "t": "float",
            "v": 1.0
          },
          "q4SoftLow": {
            "t": "float",
            "v": 0.0
          },
          "q4Space": {
            "t": "int",
            "v": 0
          }
        },
        "type": "nodra.filter.maskbuilder"
      },
      {
        "id": 41,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 42,
        "params": {},
        "type": "nodra.color.labmerge"
      },
      {
        "id": 43,
        "params": {
          "inMax": {
            "t": "float",
            "v": 1.0
          },
          "inMin": {
            "t": "float",
            "v": 0.0
          },
          "outMax": {
            "t": "float",
            "v": 0.3
          },
          "outMin": {
            "t": "float",
            "v": 0.35
          },
          "value": {
            "t": "float",
            "v": 0.5
          }
        },
        "type": "nodra.math.remap"
      },
      {
        "id": 44,
        "params": {
          "inMax": {
            "t": "float",
            "v": 1.0
          },
          "inMin": {
            "t": "float",
            "v": 0.0
          },
          "outMax": {
            "t": "float",
            "v": 0.59
          },
          "outMin": {
            "t": "float",
            "v": 0.72
          },
          "value": {
            "t": "float",
            "v": 0.5
          }
        },
        "type": "nodra.math.remap"
      },
      {
        "id": 45,
        "params": {
          "p1x": {
            "t": "float",
            "v": 0.0
          },
          "p1y": {
            "t": "float",
            "v": 0.0
          },
          "p2x": {
            "t": "float",
            "v": 0.35
          },
          "p2y": {
            "t": "float",
            "v": 0.33
          },
          "p3x": {
            "t": "float",
            "v": 0.72
          },
          "p3y": {
            "t": "float",
            "v": 0.66
          },
          "p4x": {
            "t": "float",
            "v": 1.0
          },
          "p4y": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.curve.assemble"
      },
      {
        "id": 46,
        "params": {
          "center": {
            "t": "float",
            "v": 255.0
          },
          "colorSpace": {
            "t": "int",
            "v": 4
          },
          "minChroma": {
            "t": "float",
            "v": 0.06
          },
          "range": {
            "t": "float",
            "v": 35.0
          },
          "soft": {
            "t": "float",
            "v": 35.0
          },
          "tone": {
            "t": "curve",
            "v": [
              [
                0.0,
                0.0
              ],
              [
                1.0,
                1.0
              ]
            ]
          }
        },
        "type": "nodra.adjust.huetonecurve"
      },
      {
        "id": 47,
        "params": {
          "center": {
            "t": "float",
            "v": 132.0
          },
          "colorSpace": {
            "t": "int",
            "v": 4
          },
          "minChroma": {
            "t": "float",
            "v": 0.03
          },
          "range": {
            "t": "float",
            "v": 22.0
          },
          "soft": {
            "t": "float",
            "v": 28.0
          },
          "tone": {
            "t": "curve",
            "v": [
              [
                0.0,
                0.0
              ],
              [
                1.0,
                1.0
              ]
            ]
          }
        },
        "type": "nodra.adjust.huetonecurve"
      },
      {
        "id": 48,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 49,
        "params": {
          "colorSpace": {
            "t": "int",
            "v": 3
          },
          "hue": {
            "t": "float",
            "v": 0.0
          },
          "lightness": {
            "t": "float",
            "v": 0.0
          },
          "saturation": {
            "t": "float",
            "v": 0.3
          }
        },
        "type": "nodra.adjust.huesat"
      },
      {
        "id": 50,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 51,
        "params": {
          "power": {
            "t": "float",
            "v": 1.5
          },
          "threshold": {
            "t": "float",
            "v": 0.8
          }
        },
        "type": "nodra.color.gamutcompress"
      },
      {
        "id": 52,
        "params": {},
        "type": "nodra.view.preview"
      }
    ]
  },
  "metadata": {
    "author": "",
    "description": "Slide-film color built in LAB: lightness and the a/b color axes are split, a chroma-contrast curve lifts pale and mid colors strongly while loud colors stay almost untouched (hue locked, greys untouched), and lightness gets its own S-curve for deeper tonality. Faces and skin are held back through Apple Vision faces plus a skin-hue key limited to people, a gamut guard keeps boost and contrast away from colors at the edge of the gamut, and OKLCh tweaks deepen blue skies and greens. Pick your own photo in the Image Input node; without one, a synthetic image is used.",
    "i18n": {
      "de": {
        "description": "Dia-Film-Farbe in LAB: Helligkeit und die a/b-Farbachsen werden getrennt, eine Chroma-Kontrastkurve hebt blasse und mittlere Farben kräftig an, laute Farben bleiben fast unberührt (Farbton fixiert, Grau unberührt), und die Helligkeit bekommt eine eigene S-Kurve für mehr Dichte. Gesichter und Haut werden über Apple-Vision-Gesichter plus einen Hautton-Key nur auf Personen ausgenommen, eine Gamut-Wache hält Schub und Kontrast von Farben am Rand des Farbraums fern, und OKLCh-Eingriffe vertiefen blauen Himmel und Grün. Eigenes Foto im Bild-Eingang wählen; ohne Foto wird ein synthetisches Bild verwendet.",
        "name": "Showcase: LAB-Velvia mit Hautschutz"
      }
    },
    "name": "Showcase: LAB Velvia, Skin-Safe"
  },
  "ui": {
    "elements": [
      {
        "frame": {
          "h": 32,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "id": 1,
        "size": 1,
        "text": "LAB-Velvia mit Hautschutz",
        "textEn": "LAB Velvia, Skin-Safe",
        "type": "heading"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Wie stark die Farben aufgehen. Blasse und mittlere Farben legen deutlich zu, schon laute Farben kaum, Grau bleibt Grau. Rechts von der Voreinstellung wird es richtig Diafilm.",
        "helpEn": "How much the colors open up. Pale and mid colors gain a lot, already loud ones barely, greys stay grey. Push right of the default for full slide film.",
        "id": 2,
        "label": "Velvia-Stärke",
        "labelEn": "Velvia Strength",
        "nodeId": "4",
        "param": "value",
        "showValue": true,
        "type": "control"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "S-Kurve nur auf der Helligkeit: tiefere Tiefen, klarere Lichter. Gesättigte dunkle Farben bleiben unberührt.",
        "helpEn": "S-curve on lightness only: deeper shadows, clearer highlights. Saturated dark colors are left alone.",
        "id": 3,
        "label": "Kontrast",
        "labelEn": "Contrast",
        "nodeId": "5",
        "param": "value",
        "showValue": true,
        "type": "control"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Wie weit Gesichter und Haut vom Farbschub ausgenommen werden (1 = Hautfarbe bleibt wie im Original).",
        "helpEn": "How far faces and skin are kept out of the color boost (1 = skin stays as in the original).",
        "id": 4,
        "label": "Hautschutz",
        "labelEn": "Skin Protection",
        "nodeId": "6",
        "param": "value",
        "showValue": true,
        "type": "control"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Dunkelt Blautöne ab wie ein Polfilter, ohne sie ins Violette zu drehen.",
        "helpEn": "Darkens blues like a polarizer, without turning them toward violet.",
        "id": 5,
        "label": "Himmelsblau-Tiefe",
        "labelEn": "Blue Sky Depth",
        "nodeId": "7",
        "param": "value",
        "showValue": true,
        "type": "control"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Macht Gelbgrün und Grün satter und voller.",
        "helpEn": "Makes yellow-greens and greens richer and fuller.",
        "id": 6,
        "label": "Blattgrün-Fülle",
        "labelEn": "Foliage Richness",
        "nodeId": "8",
        "param": "value",
        "showValue": true,
        "type": "control"
      }
    ],
    "layout": {
      "align": "stretch",
      "direction": "vertical",
      "gap": "md",
      "justify": "start",
      "mode": "stack",
      "padding": "lg",
      "wrap": false
    },
    "minWidth": 240,
    "style": {
      "template": "infiniteDark"
    },
    "version": 3
  }
}
