{
  "dependencies": [
    {
      "typeId": "nodra.adjust.levels",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.adjust.vibrance",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.ai.depth",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.ai.refinemask",
      "version": "0.2.0"
    },
    {
      "typeId": "nodra.ai.subjectmask",
      "version": "0.2.0"
    },
    {
      "typeId": "nodra.analyze.channelstats",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.analyze.dimensions",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.blend.maskmix",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.channel.booleans",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.channel.premultiply",
      "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.filter.gaussianblur",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.filter.glow",
      "version": "0.2.0"
    },
    {
      "typeId": "nodra.filter.guided",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.filter.invert",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.filter.lensblur",
      "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.logic.compare",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.math.add",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.math.clamp",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.math.divide",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.math.lerp",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.math.multiply",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.math.subtract",
      "version": "0.1.0"
    },
    {
      "typeId": "nodra.view.preview",
      "version": "0.1.0"
    }
  ],
  "editor": {
    "names": {
      "1": "Source Image",
      "10": "Guided Filter Radius",
      "11": "1% of Width",
      "12": "Refine Edge Radius",
      "13": "Fill Radius (2.5% of Width)",
      "14": "10% of Width",
      "15": "Blur Radius (px)",
      "16": "Mist Radius (5% of Width)",
      "17": "Depth Map (near = bright)",
      "18": "Depth Edge Cleanup (Guided Filter)",
      "19": "Subject Mask (Apple Vision)",
      "2": "Fallback Image",
      "20": "Refine Subject Edge (hair)",
      "21": "Black",
      "22": "Depth Inside Subject",
      "23": "Mean Depth in Subject",
      "24": "Subject Size",
      "25": "Avoid Divide by Zero",
      "26": "Subject Depth",
      "27": "Subject Found? (x30)",
      "28": "Confidence 0..1",
      "29": "Auto Focus (else mid depth)",
      "3": "Image Size",
      "30": "Auto Focus + Focus Distance",
      "31": "Focus Plane Depth",
      "32": "Half Width of Sharp Zone",
      "33": "Focus - Half Width",
      "34": "Near Edge of Sharp Zone",
      "35": "Focus + Half Width",
      "36": "Far Edge of Sharp Zone",
      "37": "Focus Plane Curve (V)",
      "38": "Grow Subject Area (wide, for depth)",
      "39": "Subject Area incl. Halo (for depth)",
      "4": "Focus Distance",
      "40": "Valid Background (for depth)",
      "41": "Photo + Background Coverage",
      "42": "Premultiply (photo)",
      "43": "Spread Background Colors",
      "44": "Unpremultiply (photo)",
      "45": "Photo with Background under Subject",
      "46": "Depth + Background Coverage",
      "47": "Premultiply (depth)",
      "48": "Spread Background Depth",
      "49": "Unpremultiply (depth)",
      "5": "Depth of Field",
      "50": "Depth with Background under Subject",
      "51": "Blur Map from Depth",
      "52": "Blades below 13 = polygon",
      "53": "Bokeh (Lens Blur)",
      "54": "Subject Vibrance (OKLCh)",
      "55": "Sharp Subject over Bokeh",
      "56": "Pro-Mist",
      "57": "Cinema Bokeh Portrait Preview",
      "58": "Blur Present? (0 = keep original)",
      "59": "Original Where In Focus",
      "6": "Blur Amount",
      "60": "Depth in Front of Sharp Zone",
      "61": "Front Falloff Slope",
      "62": "Blur at Nearest Depth (soft shoulder)",
      "63": "Tight Grow Radius (0.4% of Width)",
      "64": "Grow Subject Area (tight)",
      "65": "Subject Area (tight)",
      "66": "Valid Background (tight)",
      "7": "Bokeh Blades",
      "8": "Pro-Mist",
      "9": "1.2% of Width"
    },
    "pluginPreviewNode": "57",
    "positions": {
      "1": [
        260.0,
        0.0
      ],
      "10": [
        1040.0,
        160.0
      ],
      "11": [
        1300.0,
        160.0
      ],
      "12": [
        1560.0,
        160.0
      ],
      "13": [
        1820.0,
        160.0
      ],
      "14": [
        2080.0,
        160.0
      ],
      "15": [
        2340.0,
        160.0
      ],
      "16": [
        2600.0,
        160.0
      ],
      "17": [
        520.0,
        320.0
      ],
      "18": [
        1300.0,
        320.0
      ],
      "19": [
        520.0,
        480.0
      ],
      "2": [
        0.0,
        0.0
      ],
      "20": [
        1820.0,
        480.0
      ],
      "21": [
        520.0,
        640.0
      ],
      "22": [
        2080.0,
        640.0
      ],
      "23": [
        2340.0,
        640.0
      ],
      "24": [
        2080.0,
        780.0
      ],
      "25": [
        2340.0,
        780.0
      ],
      "26": [
        2600.0,
        700.0
      ],
      "27": [
        2340.0,
        920.0
      ],
      "28": [
        2600.0,
        920.0
      ],
      "29": [
        2860.0,
        800.0
      ],
      "3": [
        520.0,
        0.0
      ],
      "30": [
        3120.0,
        800.0
      ],
      "31": [
        3380.0,
        800.0
      ],
      "32": [
        3380.0,
        1040.0
      ],
      "33": [
        3640.0,
        900.0
      ],
      "34": [
        3900.0,
        900.0
      ],
      "35": [
        3640.0,
        1040.0
      ],
      "36": [
        3900.0,
        1040.0
      ],
      "37": [
        4940.0,
        960.0
      ],
      "38": [
        2080.0,
        1280.0
      ],
      "39": [
        2340.0,
        1280.0
      ],
      "4": [
        0.0,
        -400.0
      ],
      "40": [
        2600.0,
        1280.0
      ],
      "41": [
        2860.0,
        1280.0
      ],
      "42": [
        3120.0,
        1280.0
      ],
      "43": [
        3380.0,
        1280.0
      ],
      "44": [
        3640.0,
        1280.0
      ],
      "45": [
        3900.0,
        1280.0
      ],
      "46": [
        2860.0,
        1440.0
      ],
      "47": [
        3120.0,
        1440.0
      ],
      "48": [
        3380.0,
        1440.0
      ],
      "49": [
        3640.0,
        1440.0
      ],
      "5": [
        260.0,
        -400.0
      ],
      "50": [
        3900.0,
        1440.0
      ],
      "51": [
        5200.0,
        1200.0
      ],
      "52": [
        780.0,
        -250.0
      ],
      "53": [
        5460.0,
        0.0
      ],
      "54": [
        5720.0,
        -160.0
      ],
      "55": [
        5980.0,
        0.0
      ],
      "56": [
        6240.0,
        0.0
      ],
      "57": [
        6500.0,
        0.0
      ],
      "58": [
        5460.0,
        160.0
      ],
      "59": [
        5720.0,
        0.0
      ],
      "6": [
        520.0,
        -400.0
      ],
      "60": [
        4160.0,
        1180.0
      ],
      "61": [
        4420.0,
        1180.0
      ],
      "62": [
        4680.0,
        1180.0
      ],
      "63": [
        1820.0,
        1140.0
      ],
      "64": [
        2080.0,
        1140.0
      ],
      "65": [
        2340.0,
        1140.0
      ],
      "66": [
        2600.0,
        1140.0
      ],
      "7": [
        780.0,
        -400.0
      ],
      "8": [
        1040.0,
        -400.0
      ],
      "9": [
        780.0,
        160.0
      ]
    },
    "schemaVersion": 1
  },
  "format": "nodra-patch",
  "formatVersion": 1,
  "graph": {
    "connections": [
      {
        "dst": [
          1,
          1
        ],
        "src": [
          2,
          0
        ]
      },
      {
        "dst": [
          3,
          0
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          9,
          0
        ],
        "src": [
          3,
          0
        ]
      },
      {
        "dst": [
          10,
          0
        ],
        "src": [
          9,
          0
        ]
      },
      {
        "dst": [
          11,
          0
        ],
        "src": [
          3,
          0
        ]
      },
      {
        "dst": [
          12,
          0
        ],
        "src": [
          11,
          0
        ]
      },
      {
        "dst": [
          13,
          0
        ],
        "src": [
          3,
          0
        ]
      },
      {
        "dst": [
          14,
          0
        ],
        "src": [
          3,
          0
        ]
      },
      {
        "dst": [
          15,
          0
        ],
        "src": [
          14,
          0
        ]
      },
      {
        "dst": [
          15,
          1
        ],
        "src": [
          6,
          0
        ]
      },
      {
        "dst": [
          16,
          0
        ],
        "src": [
          3,
          0
        ]
      },
      {
        "dst": [
          17,
          0
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          18,
          0
        ],
        "src": [
          17,
          0
        ]
      },
      {
        "dst": [
          18,
          1
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          18,
          2
        ],
        "src": [
          10,
          0
        ]
      },
      {
        "dst": [
          19,
          0
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          20,
          0
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          20,
          1
        ],
        "src": [
          19,
          0
        ]
      },
      {
        "dst": [
          20,
          2
        ],
        "src": [
          12,
          0
        ]
      },
      {
        "dst": [
          21,
          0
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          22,
          0
        ],
        "src": [
          21,
          0
        ]
      },
      {
        "dst": [
          22,
          1
        ],
        "src": [
          18,
          0
        ]
      },
      {
        "dst": [
          22,
          2
        ],
        "src": [
          20,
          0
        ]
      },
      {
        "dst": [
          23,
          0
        ],
        "src": [
          22,
          0
        ]
      },
      {
        "dst": [
          24,
          0
        ],
        "src": [
          20,
          0
        ]
      },
      {
        "dst": [
          26,
          0
        ],
        "src": [
          23,
          0
        ]
      },
      {
        "dst": [
          25,
          0
        ],
        "src": [
          24,
          0
        ]
      },
      {
        "dst": [
          26,
          1
        ],
        "src": [
          25,
          0
        ]
      },
      {
        "dst": [
          27,
          0
        ],
        "src": [
          24,
          0
        ]
      },
      {
        "dst": [
          28,
          0
        ],
        "src": [
          27,
          0
        ]
      },
      {
        "dst": [
          29,
          1
        ],
        "src": [
          26,
          0
        ]
      },
      {
        "dst": [
          29,
          2
        ],
        "src": [
          28,
          0
        ]
      },
      {
        "dst": [
          30,
          0
        ],
        "src": [
          29,
          0
        ]
      },
      {
        "dst": [
          30,
          1
        ],
        "src": [
          4,
          0
        ]
      },
      {
        "dst": [
          31,
          0
        ],
        "src": [
          30,
          0
        ]
      },
      {
        "dst": [
          32,
          0
        ],
        "src": [
          5,
          0
        ]
      },
      {
        "dst": [
          33,
          0
        ],
        "src": [
          31,
          0
        ]
      },
      {
        "dst": [
          33,
          1
        ],
        "src": [
          32,
          0
        ]
      },
      {
        "dst": [
          34,
          0
        ],
        "src": [
          33,
          0
        ]
      },
      {
        "dst": [
          35,
          0
        ],
        "src": [
          31,
          0
        ]
      },
      {
        "dst": [
          35,
          1
        ],
        "src": [
          32,
          0
        ]
      },
      {
        "dst": [
          36,
          0
        ],
        "src": [
          35,
          0
        ]
      },
      {
        "dst": [
          37,
          2
        ],
        "src": [
          34,
          0
        ]
      },
      {
        "dst": [
          37,
          4
        ],
        "src": [
          36,
          0
        ]
      },
      {
        "dst": [
          38,
          0
        ],
        "src": [
          20,
          0
        ]
      },
      {
        "dst": [
          39,
          0
        ],
        "src": [
          38,
          0
        ]
      },
      {
        "dst": [
          40,
          0
        ],
        "src": [
          39,
          0
        ]
      },
      {
        "dst": [
          41,
          0
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          41,
          1
        ],
        "src": [
          66,
          0
        ]
      },
      {
        "dst": [
          42,
          0
        ],
        "src": [
          41,
          0
        ]
      },
      {
        "dst": [
          43,
          0
        ],
        "src": [
          42,
          0
        ]
      },
      {
        "dst": [
          43,
          1
        ],
        "src": [
          13,
          0
        ]
      },
      {
        "dst": [
          44,
          0
        ],
        "src": [
          43,
          0
        ]
      },
      {
        "dst": [
          45,
          0
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          45,
          1
        ],
        "src": [
          44,
          0
        ]
      },
      {
        "dst": [
          45,
          2
        ],
        "src": [
          65,
          0
        ]
      },
      {
        "dst": [
          46,
          0
        ],
        "src": [
          18,
          0
        ]
      },
      {
        "dst": [
          46,
          1
        ],
        "src": [
          40,
          0
        ]
      },
      {
        "dst": [
          47,
          0
        ],
        "src": [
          46,
          0
        ]
      },
      {
        "dst": [
          48,
          0
        ],
        "src": [
          47,
          0
        ]
      },
      {
        "dst": [
          48,
          1
        ],
        "src": [
          13,
          0
        ]
      },
      {
        "dst": [
          49,
          0
        ],
        "src": [
          48,
          0
        ]
      },
      {
        "dst": [
          50,
          0
        ],
        "src": [
          18,
          0
        ]
      },
      {
        "dst": [
          50,
          1
        ],
        "src": [
          49,
          0
        ]
      },
      {
        "dst": [
          50,
          2
        ],
        "src": [
          39,
          0
        ]
      },
      {
        "dst": [
          51,
          0
        ],
        "src": [
          50,
          0
        ]
      },
      {
        "dst": [
          51,
          1
        ],
        "src": [
          37,
          0
        ]
      },
      {
        "dst": [
          52,
          0
        ],
        "src": [
          7,
          0
        ]
      },
      {
        "dst": [
          53,
          0
        ],
        "src": [
          45,
          0
        ]
      },
      {
        "dst": [
          53,
          1
        ],
        "src": [
          51,
          0
        ]
      },
      {
        "dst": [
          53,
          2
        ],
        "src": [
          15,
          0
        ]
      },
      {
        "dst": [
          53,
          3
        ],
        "src": [
          52,
          0
        ]
      },
      {
        "dst": [
          53,
          4
        ],
        "src": [
          7,
          0
        ]
      },
      {
        "dst": [
          55,
          1
        ],
        "src": [
          54,
          0
        ]
      },
      {
        "dst": [
          55,
          2
        ],
        "src": [
          20,
          0
        ]
      },
      {
        "dst": [
          56,
          0
        ],
        "src": [
          55,
          0
        ]
      },
      {
        "dst": [
          56,
          3
        ],
        "src": [
          16,
          0
        ]
      },
      {
        "dst": [
          56,
          4
        ],
        "src": [
          8,
          0
        ]
      },
      {
        "dst": [
          57,
          0
        ],
        "src": [
          56,
          0
        ]
      },
      {
        "dst": [
          58,
          0
        ],
        "src": [
          51,
          0
        ]
      },
      {
        "dst": [
          59,
          0
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          59,
          1
        ],
        "src": [
          53,
          0
        ]
      },
      {
        "dst": [
          59,
          2
        ],
        "src": [
          58,
          0
        ]
      },
      {
        "dst": [
          55,
          0
        ],
        "src": [
          59,
          0
        ]
      },
      {
        "dst": [
          38,
          1
        ],
        "src": [
          9,
          0
        ]
      },
      {
        "dst": [
          54,
          0
        ],
        "src": [
          1,
          0
        ]
      },
      {
        "dst": [
          60,
          1
        ],
        "src": [
          36,
          0
        ]
      },
      {
        "dst": [
          61,
          0
        ],
        "src": [
          60,
          0
        ]
      },
      {
        "dst": [
          62,
          0
        ],
        "src": [
          61,
          0
        ]
      },
      {
        "dst": [
          37,
          7
        ],
        "src": [
          62,
          0
        ]
      },
      {
        "dst": [
          63,
          0
        ],
        "src": [
          3,
          0
        ]
      },
      {
        "dst": [
          64,
          0
        ],
        "src": [
          20,
          0
        ]
      },
      {
        "dst": [
          64,
          1
        ],
        "src": [
          63,
          0
        ]
      },
      {
        "dst": [
          65,
          0
        ],
        "src": [
          64,
          0
        ]
      },
      {
        "dst": [
          66,
          0
        ],
        "src": [
          65,
          0
        ]
      }
    ],
    "nodes": [
      {
        "id": 1,
        "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": 2,
        "params": {
          "colorA": {
            "t": "color",
            "v": [
              0.3499999940395355,
              0.30000001192092896,
              0.4000000059604645,
              1.0
            ]
          },
          "colorB": {
            "t": "color",
            "v": [
              0.8999999761581421,
              0.800000011920929,
              0.699999988079071,
              1.0
            ]
          },
          "height": {
            "t": "int",
            "v": 768
          },
          "type": {
            "t": "int",
            "v": 0
          },
          "width": {
            "t": "int",
            "v": 768
          }
        },
        "type": "nodra.gen.gradient"
      },
      {
        "id": 3,
        "params": {},
        "type": "nodra.analyze.dimensions"
      },
      {
        "id": 4,
        "params": {
          "max": {
            "t": "float",
            "v": 0.4
          },
          "min": {
            "t": "float",
            "v": -0.4
          },
          "value": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 5,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.3
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 6,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.35
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 7,
        "params": {
          "max": {
            "t": "float",
            "v": 13.0
          },
          "min": {
            "t": "float",
            "v": 3.0
          },
          "value": {
            "t": "float",
            "v": 13.0
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 8,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.2
          }
        },
        "type": "nodra.control.slider"
      },
      {
        "id": 9,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 0.012
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 10,
        "params": {
          "max": {
            "t": "float",
            "v": 32.0
          },
          "min": {
            "t": "float",
            "v": 1.0
          },
          "value": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.clamp"
      },
      {
        "id": 11,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 0.01
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 12,
        "params": {
          "max": {
            "t": "float",
            "v": 100.0
          },
          "min": {
            "t": "float",
            "v": 2.0
          },
          "value": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.clamp"
      },
      {
        "id": 13,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 0.025
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 14,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 0.1
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 15,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 16,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 0.05
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 17,
        "params": {
          "computeUnits": {
            "t": "int",
            "v": 0
          },
          "edgeSmooth": {
            "t": "float",
            "v": 0.0
          },
          "gamma": {
            "t": "float",
            "v": 1.0
          },
          "nearIsBright": {
            "t": "bool",
            "v": true
          },
          "normalize": {
            "t": "int",
            "v": 1
          }
        },
        "type": "nodra.ai.depth"
      },
      {
        "id": 18,
        "params": {
          "epsilon": {
            "t": "float",
            "v": 0.004
          },
          "radius": {
            "t": "int",
            "v": 8
          }
        },
        "type": "nodra.filter.guided"
      },
      {
        "id": 19,
        "params": {
          "feather": {
            "t": "float",
            "v": 0.0
          },
          "index": {
            "t": "int",
            "v": 1
          },
          "invert": {
            "t": "bool",
            "v": false
          },
          "margin": {
            "t": "float",
            "v": 0.0
          },
          "selection": {
            "t": "int",
            "v": 0
          },
          "threshold": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.ai.subjectmask"
      },
      {
        "id": 20,
        "params": {
          "decontaminate": {
            "t": "bool",
            "v": true
          },
          "detail": {
            "t": "float",
            "v": 0.45
          },
          "edgeContrast": {
            "t": "float",
            "v": 0.7
          },
          "radius": {
            "t": "float",
            "v": 8.0
          },
          "shift": {
            "t": "float",
            "v": -1.0
          },
          "smooth": {
            "t": "float",
            "v": 1.0
          },
          "strandSoftness": {
            "t": "float",
            "v": 0.2
          }
        },
        "type": "nodra.ai.refinemask"
      },
      {
        "id": 21,
        "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": 22,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 23,
        "params": {
          "channel": {
            "t": "int",
            "v": 0
          }
        },
        "type": "nodra.analyze.channelstats"
      },
      {
        "id": 24,
        "params": {
          "channel": {
            "t": "int",
            "v": 0
          }
        },
        "type": "nodra.analyze.channelstats"
      },
      {
        "id": 25,
        "params": {
          "a": {
            "t": "float",
            "v": 0.0
          },
          "b": {
            "t": "float",
            "v": 0.001
          }
        },
        "type": "nodra.math.add"
      },
      {
        "id": 26,
        "params": {
          "a": {
            "t": "float",
            "v": 0.0
          },
          "b": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.math.divide"
      },
      {
        "id": 27,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 30.0
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 28,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.clamp"
      },
      {
        "id": 29,
        "params": {
          "a": {
            "t": "float",
            "v": 0.5
          },
          "b": {
            "t": "float",
            "v": 1.0
          },
          "t": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.lerp"
      },
      {
        "id": 30,
        "params": {
          "a": {
            "t": "float",
            "v": 0.0
          },
          "b": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.add"
      },
      {
        "id": 31,
        "params": {
          "max": {
            "t": "float",
            "v": 0.96
          },
          "min": {
            "t": "float",
            "v": 0.04
          },
          "value": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.clamp"
      },
      {
        "id": 32,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 0.3
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 33,
        "params": {
          "a": {
            "t": "float",
            "v": 0.0
          },
          "b": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.subtract"
      },
      {
        "id": 34,
        "params": {
          "max": {
            "t": "float",
            "v": 0.97
          },
          "min": {
            "t": "float",
            "v": 0.02
          },
          "value": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.clamp"
      },
      {
        "id": 35,
        "params": {
          "a": {
            "t": "float",
            "v": 0.0
          },
          "b": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.add"
      },
      {
        "id": 36,
        "params": {
          "max": {
            "t": "float",
            "v": 0.98
          },
          "min": {
            "t": "float",
            "v": 0.03
          },
          "value": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.clamp"
      },
      {
        "id": 37,
        "params": {
          "p1x": {
            "t": "float",
            "v": 0.0
          },
          "p1y": {
            "t": "float",
            "v": 1.0
          },
          "p2x": {
            "t": "float",
            "v": 0.33
          },
          "p2y": {
            "t": "float",
            "v": 0.0
          },
          "p3x": {
            "t": "float",
            "v": 0.66
          },
          "p3y": {
            "t": "float",
            "v": 0.0
          },
          "p4x": {
            "t": "float",
            "v": 1.0
          },
          "p4y": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.curve.assemble"
      },
      {
        "id": 38,
        "params": {
          "radius": {
            "t": "float",
            "v": 5.0
          }
        },
        "type": "nodra.filter.gaussianblur"
      },
      {
        "id": 39,
        "params": {
          "gamma": {
            "t": "float",
            "v": 1.0
          },
          "inBlack": {
            "t": "float",
            "v": 0.05
          },
          "inWhite": {
            "t": "float",
            "v": 0.25
          },
          "outBlack": {
            "t": "float",
            "v": 0.0
          },
          "outWhite": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.adjust.levels"
      },
      {
        "id": 40,
        "params": {},
        "type": "nodra.filter.invert"
      },
      {
        "id": 41,
        "params": {
          "opA": {
            "t": "int",
            "v": 0
          },
          "opB": {
            "t": "int",
            "v": 0
          },
          "opG": {
            "t": "int",
            "v": 0
          },
          "opR": {
            "t": "int",
            "v": 0
          },
          "sourceA": {
            "t": "int",
            "v": 9
          },
          "sourceB": {
            "t": "int",
            "v": 2
          },
          "sourceG": {
            "t": "int",
            "v": 1
          },
          "sourceR": {
            "t": "int",
            "v": 0
          }
        },
        "type": "nodra.channel.booleans"
      },
      {
        "id": 42,
        "params": {
          "alphaFloor": {
            "t": "float",
            "v": 0.0001
          },
          "mode": {
            "t": "int",
            "v": 0
          }
        },
        "type": "nodra.channel.premultiply"
      },
      {
        "id": 43,
        "params": {
          "radius": {
            "t": "float",
            "v": 5.0
          }
        },
        "type": "nodra.filter.gaussianblur"
      },
      {
        "id": 44,
        "params": {
          "alphaFloor": {
            "t": "float",
            "v": 0.0005
          },
          "mode": {
            "t": "int",
            "v": 1
          }
        },
        "type": "nodra.channel.premultiply"
      },
      {
        "id": 45,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 46,
        "params": {
          "opA": {
            "t": "int",
            "v": 0
          },
          "opB": {
            "t": "int",
            "v": 0
          },
          "opG": {
            "t": "int",
            "v": 0
          },
          "opR": {
            "t": "int",
            "v": 0
          },
          "sourceA": {
            "t": "int",
            "v": 9
          },
          "sourceB": {
            "t": "int",
            "v": 2
          },
          "sourceG": {
            "t": "int",
            "v": 1
          },
          "sourceR": {
            "t": "int",
            "v": 0
          }
        },
        "type": "nodra.channel.booleans"
      },
      {
        "id": 47,
        "params": {
          "alphaFloor": {
            "t": "float",
            "v": 0.0001
          },
          "mode": {
            "t": "int",
            "v": 0
          }
        },
        "type": "nodra.channel.premultiply"
      },
      {
        "id": 48,
        "params": {
          "radius": {
            "t": "float",
            "v": 5.0
          }
        },
        "type": "nodra.filter.gaussianblur"
      },
      {
        "id": 49,
        "params": {
          "alphaFloor": {
            "t": "float",
            "v": 0.0005
          },
          "mode": {
            "t": "int",
            "v": 1
          }
        },
        "type": "nodra.channel.premultiply"
      },
      {
        "id": 50,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 51,
        "params": {},
        "type": "nodra.curve.apply"
      },
      {
        "id": 52,
        "params": {
          "a": {
            "t": "float",
            "v": 0.0
          },
          "b": {
            "t": "float",
            "v": 12.5
          },
          "epsilon": {
            "t": "float",
            "v": 1e-06
          },
          "mode": {
            "t": "int",
            "v": 1
          }
        },
        "type": "nodra.logic.compare"
      },
      {
        "id": 53,
        "params": {
          "blades": {
            "t": "int",
            "v": 6
          },
          "highlightBoost": {
            "t": "float",
            "v": 2.0
          },
          "highlightThreshold": {
            "t": "float",
            "v": 0.97
          },
          "quality": {
            "t": "int",
            "v": 1
          },
          "radius": {
            "t": "float",
            "v": 15.0
          },
          "rotation": {
            "t": "float",
            "v": 12.0
          },
          "shape": {
            "t": "int",
            "v": 1
          }
        },
        "type": "nodra.filter.lensblur"
      },
      {
        "id": 54,
        "params": {
          "colorSpace": {
            "t": "int",
            "v": 3
          },
          "vibrance": {
            "t": "float",
            "v": 0.25
          }
        },
        "type": "nodra.adjust.vibrance"
      },
      {
        "id": 55,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 56,
        "params": {
          "blackLift": {
            "t": "float",
            "v": 0.1
          },
          "intensity": {
            "t": "float",
            "v": 0.5
          },
          "mode": {
            "t": "int",
            "v": 2
          },
          "radius": {
            "t": "float",
            "v": 20.0
          },
          "saturation": {
            "t": "float",
            "v": 1.0
          },
          "threshold": {
            "t": "float",
            "v": 0.9
          },
          "tint": {
            "t": "color",
            "v": [
              1.0,
              1.0,
              1.0,
              1.0
            ]
          }
        },
        "type": "nodra.filter.glow"
      },
      {
        "id": 57,
        "params": {},
        "type": "nodra.view.preview"
      },
      {
        "id": 58,
        "params": {
          "gamma": {
            "t": "float",
            "v": 1.0
          },
          "inBlack": {
            "t": "float",
            "v": 0.0
          },
          "inWhite": {
            "t": "float",
            "v": 0.15
          },
          "outBlack": {
            "t": "float",
            "v": 0.0
          },
          "outWhite": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.adjust.levels"
      },
      {
        "id": 59,
        "params": {
          "invert": {
            "t": "bool",
            "v": false
          },
          "opacity": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.blend.maskmix"
      },
      {
        "id": 60,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.subtract"
      },
      {
        "id": 61,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 62,
        "params": {
          "max": {
            "t": "float",
            "v": 1.0
          },
          "min": {
            "t": "float",
            "v": 0.0
          },
          "value": {
            "t": "float",
            "v": 0.0
          }
        },
        "type": "nodra.math.clamp"
      },
      {
        "id": 63,
        "params": {
          "a": {
            "t": "float",
            "v": 1.0
          },
          "b": {
            "t": "float",
            "v": 0.004
          }
        },
        "type": "nodra.math.multiply"
      },
      {
        "id": 64,
        "params": {
          "radius": {
            "t": "float",
            "v": 5.0
          }
        },
        "type": "nodra.filter.gaussianblur"
      },
      {
        "id": 65,
        "params": {
          "gamma": {
            "t": "float",
            "v": 1.0
          },
          "inBlack": {
            "t": "float",
            "v": 0.05
          },
          "inWhite": {
            "t": "float",
            "v": 0.25
          },
          "outBlack": {
            "t": "float",
            "v": 0.0
          },
          "outWhite": {
            "t": "float",
            "v": 1.0
          }
        },
        "type": "nodra.adjust.levels"
      },
      {
        "id": 66,
        "params": {},
        "type": "nodra.filter.invert"
      }
    ]
  },
  "metadata": {
    "author": "",
    "description": "A phone portrait becomes a fast-lens portrait: the AI depth map is cleaned against the photo, a V-shaped focus-plane curve turns it into a per-pixel blur map, and Lens Blur renders round or polygon bokeh discs from it, with the focus placed automatically on the subject. The subject (Apple Vision mask, Refine Edge) stays crisp over a background that was filled in behind it, so no halo appears around hair or ears; vibrance on the subject and a Pro-Mist glow finish the look. Pick your own photo in the Image Input node; without one, a synthetic image is used.",
    "i18n": {
      "de": {
        "description": "Aus einem Handyporträt wird ein Porträt wie von einem lichtstarken Objektiv: Die KI-Tiefenkarte wird am Foto geglättet, eine V-förmige Schärfeebenen-Kurve macht daraus eine Unschärfekarte pro Pixel, und Lens Blur zeichnet daraus runde oder eckige Bokeh-Scheiben; der Fokus sitzt automatisch auf dem Motiv. Das Motiv (Apple-Vision-Maske, Kante verfeinern) bleibt scharf über einem Hintergrund, der dahinter aufgefüllt wurde, sodass an Haaren und Ohren kein Saum entsteht; Vibrance aufs Motiv und ein Pro-Mist-Glühen runden den Look ab. Eigenes Foto im Bild-Eingang wählen; ohne Foto wird ein synthetisches Bild verwendet.",
        "name": "Showcase: Kino-Bokeh-Porträt"
      }
    },
    "name": "Showcase: Cinema Bokeh Portrait"
  },
  "ui": {
    "assets": {},
    "elements": [
      {
        "frame": {
          "h": 32,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "id": 1,
        "size": 1,
        "text": "Kino-Bokeh-Porträt",
        "textEn": "Cinema Bokeh Portrait",
        "type": "heading"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Verschiebt die Schärfeebene. 0 = genau auf dem Motiv, minus = weiter hinten, plus = näher zur Kamera.",
        "helpEn": "Moves the plane of focus. 0 = right on the subject, negative = further back, positive = closer to the camera.",
        "id": 2,
        "label": "Fokusentfernung",
        "labelEn": "Focus Distance",
        "nodeId": "4",
        "param": "value",
        "showValue": true,
        "type": "control"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Wie dick die scharfe Zone um die Fokusebene ist. Klein = offene Blende, groß = mehr bleibt scharf.",
        "helpEn": "How thick the sharp zone around the focus plane is. Low = wide-open aperture, high = more of the scene stays sharp.",
        "id": 3,
        "label": "Schärfentiefe",
        "labelEn": "Depth of Field",
        "nodeId": "5",
        "param": "value",
        "showValue": true,
        "type": "control"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Wie groß die Unschärfescheiben im Hintergrund werden. Passt sich der Bildgröße an.",
        "helpEn": "How large the out-of-focus discs become. Adapts to the image size.",
        "id": 4,
        "label": "Unschärfe-Stärke",
        "labelEn": "Blur Amount",
        "nodeId": "6",
        "param": "value",
        "showValue": true,
        "type": "control"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Anzahl der Blendenlamellen: wenige ergeben eckige Lichter, ganz rechts (13) sind sie perfekt rund.",
        "helpEn": "Number of aperture blades: few give polygon highlights, the far right (13) gives perfectly round discs.",
        "id": 5,
        "label": "Blendenlamellen",
        "labelEn": "Bokeh Blades",
        "nodeId": "7",
        "param": "value",
        "showValue": true,
        "type": "control"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Weiches Leuchten um helle Stellen und leicht angehobene Schwärzen wie bei einem Diffusionsfilter.",
        "helpEn": "Soft glow around highlights and slightly lifted blacks, like a diffusion filter.",
        "id": 6,
        "label": "Pro-Mist",
        "labelEn": "Pro-Mist",
        "nodeId": "8",
        "param": "value",
        "showValue": true,
        "type": "control"
      },
      {
        "frame": {
          "h": 56,
          "w": 320,
          "x": 0,
          "y": 0
        },
        "help": "Vorschau rechnet am schnellsten, Fein am glattesten. Bei großen Fotos braucht Normal einige Sekunden.",
        "helpEn": "Preview is the fastest, Fine the smoothest. On large photos Normal takes several seconds.",
        "id": 7,
        "label": "Bokeh-Qualität",
        "labelEn": "Bokeh Quality",
        "nodeId": "53",
        "param": "quality",
        "showValue": true,
        "type": "control"
      }
    ],
    "layout": {
      "align": "stretch",
      "direction": "vertical",
      "gap": "md",
      "justify": "start",
      "mode": "stack",
      "padding": "lg",
      "wrap": false
    },
    "minWidth": 240,
    "style": {
      "template": "infiniteDark"
    },
    "stylePresets": [],
    "version": 3
  }
}
