fusionSetup
{
  "backgroundNode": "Background_Canvas",
  "background": {
    "width": 1920,
    "height": 1080,
    "background": "#ffffff"
  },
  "outputNode": "MediaOut1",
  "input": "Merge_disclosure",
  "layerOrder": "Each array is back-to-front. Every sibling output feeds the next backgroundInput. Group children use their own transparent base.",
  "coordinatePolicy": "CSS top-left local pixel boxes. Build local child domains and compose parent transforms. Fusion center/angle mappings are construction targets, not application-verified settings.",
  "easing": "sample() uses the left key easing: linear by default, smooth=progress^2*(3-2*progress), hold until the right key then its exact value. Clamp before first/after last keys. Preserve dense per-frame linear tracks; do not auto-smooth."
}

fusionNodes
[
  {
    "layerId": "desktop",
    "nodeId": "Layer_desktop",
    "kind": "image",
    "parentLayerId": null,
    "recipePointer": "/layers/0",
    "mergeIndex": 0,
    "tools": [
      "SVG vector source",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Background_Canvas",
    "foregroundInput": "Processed_desktop",
    "output": "Merge_desktop",
    "activeLocalFrames": [
      0,
      122
    ],
    "effectiveActiveLocalFrames": [
      0,
      122
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "slot": "desktop",
      "width": 1920,
      "height": 1080,
      "fit": "contain"
    },
    "construction": "Use the declared original SVG, not a source/reconstruction movie. Recreate/import its vector geometry into a local domain with explicit fit; SVG import/filter support is not application-tested.",
    "assets": {
      "defaults": {
        "kind": "image",
        "path": "art/codex-modal-relay/desktop-default.svg",
        "width": 1920,
        "height": 1080,
        "rights": "Original illustrated study artwork authored for this library; no source footage, screenshots, brand marks or demo data. SVG glyphs outlined from local Geist under SIL OFL 1.1; local FONT-LICENSE.txt. No font bytes or remote resources in SVGs. Not real Poe UI."
      },
      "adaptation": {
        "kind": "image",
        "path": "art/codex-modal-relay/desktop-adaptation.svg",
        "width": 1920,
        "height": 1080,
        "rights": "Original illustrated study artwork authored for this library; no source footage, screenshots, brand marks or demo data. SVG glyphs outlined from local Geist under SIL OFL 1.1; local FONT-LICENSE.txt. No font bytes or remote resources in SVGs. Not real Poe UI."
      }
    }
  },
  {
    "layerId": "workspace-before-relay",
    "nodeId": "Layer_workspace-before-relay",
    "kind": "image",
    "parentLayerId": null,
    "recipePointer": "/layers/1",
    "mergeIndex": 1,
    "tools": [
      "SVG vector source",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_desktop",
    "foregroundInput": "Processed_workspace-before-relay",
    "output": "Merge_workspace-before-relay",
    "activeLocalFrames": [
      0,
      47
    ],
    "effectiveActiveLocalFrames": [
      0,
      47
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "slot": "workspaceBefore",
      "width": 1720,
      "height": 1080,
      "fit": "contain"
    },
    "construction": "Use the declared original SVG, not a source/reconstruction movie. Recreate/import its vector geometry into a local domain with explicit fit; SVG import/filter support is not application-tested.",
    "assets": {
      "defaults": {
        "kind": "image",
        "path": "art/codex-modal-relay/workspace-r04-default-before.svg",
        "width": 1720,
        "height": 1080,
        "rights": "Original illustrated study artwork authored for this library; no source footage, screenshots, brand marks or demo data. SVG glyphs outlined from local Geist under SIL OFL 1.1; local FONT-LICENSE.txt. No font bytes or remote resources in SVGs. Not real Poe UI."
      },
      "adaptation": {
        "kind": "image",
        "path": "art/codex-modal-relay/workspace-r04-adaptation-before.svg",
        "width": 1720,
        "height": 1080,
        "rights": "Original illustrated study artwork authored for this library; no source footage, screenshots, brand marks or demo data. SVG glyphs outlined from local Geist under SIL OFL 1.1; local FONT-LICENSE.txt. No font bytes or remote resources in SVGs. Not real Poe UI."
      }
    }
  },
  {
    "layerId": "workspace-after-relay",
    "nodeId": "Layer_workspace-after-relay",
    "kind": "image",
    "parentLayerId": null,
    "recipePointer": "/layers/2",
    "mergeIndex": 2,
    "tools": [
      "SVG vector source",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_workspace-before-relay",
    "foregroundInput": "Processed_workspace-after-relay",
    "output": "Merge_workspace-after-relay",
    "activeLocalFrames": [
      47,
      122
    ],
    "effectiveActiveLocalFrames": [
      47,
      122
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "slot": "workspaceAfter",
      "width": 1720,
      "height": 1080,
      "fit": "contain"
    },
    "construction": "Use the declared original SVG, not a source/reconstruction movie. Recreate/import its vector geometry into a local domain with explicit fit; SVG import/filter support is not application-tested.",
    "assets": {
      "defaults": {
        "kind": "image",
        "path": "art/codex-modal-relay/workspace-r04-default-after.svg",
        "width": 1720,
        "height": 1080,
        "rights": "Original illustrated study artwork authored for this library; no source footage, screenshots, brand marks or demo data. SVG glyphs outlined from local Geist under SIL OFL 1.1; local FONT-LICENSE.txt. No font bytes or remote resources in SVGs. Not real Poe UI."
      },
      "adaptation": {
        "kind": "image",
        "path": "art/codex-modal-relay/workspace-r04-adaptation-after.svg",
        "width": 1720,
        "height": 1080,
        "rights": "Original illustrated study artwork authored for this library; no source footage, screenshots, brand marks or demo data. SVG glyphs outlined from local Geist under SIL OFL 1.1; local FONT-LICENSE.txt. No font bytes or remote resources in SVGs. Not real Poe UI."
      }
    }
  },
  {
    "layerId": "toolbar-dropdown-hover",
    "nodeId": "Layer_toolbar-dropdown-hover",
    "kind": "rect",
    "parentLayerId": null,
    "recipePointer": "/layers/3",
    "mergeIndex": 3,
    "tools": [
      "Rectangle mask",
      "Background",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_workspace-after-relay",
    "foregroundInput": "Processed_toolbar-dropdown-hover",
    "output": "Merge_toolbar-dropdown-hover",
    "activeLocalFrames": [
      80,
      82
    ],
    "effectiveActiveLocalFrames": [
      80,
      82
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 1417,
      "y": 19,
      "width": 34,
      "height": 33,
      "radius": 10,
      "fill": "#000000",
      "opacity": 0.098
    },
    "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
  },
  {
    "layerId": "toolbar-main-hover",
    "nodeId": "Layer_toolbar-main-hover",
    "kind": "rect",
    "parentLayerId": null,
    "recipePointer": "/layers/4",
    "mergeIndex": 4,
    "tools": [
      "Rectangle mask",
      "Background",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_toolbar-dropdown-hover",
    "foregroundInput": "Processed_toolbar-main-hover",
    "output": "Merge_toolbar-main-hover",
    "activeLocalFrames": [
      82,
      87
    ],
    "effectiveActiveLocalFrames": [
      82,
      87
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 1313,
      "y": 19,
      "width": 104,
      "height": 33,
      "radius": 10,
      "fill": "#000000",
      "opacity": 0.098
    },
    "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
  },
  {
    "layerId": "first-scrim",
    "nodeId": "Layer_first-scrim",
    "kind": "rect",
    "parentLayerId": null,
    "recipePointer": "/layers/5",
    "mergeIndex": 5,
    "tools": [
      "Rectangle mask",
      "Background",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_toolbar-main-hover",
    "foregroundInput": "Processed_first-scrim",
    "output": "Merge_first-scrim",
    "activeLocalFrames": [
      4,
      47
    ],
    "effectiveActiveLocalFrames": [
      4,
      47
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 1720,
      "height": 1080,
      "fill": "#101010",
      "opacity": 0.135
    },
    "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
  },
  {
    "layerId": "create-copy-dialog",
    "nodeId": "Layer_create-copy-dialog",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/6",
    "mergeIndex": 6,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_first-scrim",
    "foregroundInput": "Processed_create-copy-dialog",
    "output": "Merge_create-copy-dialog",
    "activeLocalFrames": [
      4,
      26
    ],
    "effectiveActiveLocalFrames": [
      4,
      26
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 550,
      "width": 483,
      "height": 402
    },
    "construction": "Merge children in this order on a transparent local domain; apply local clipping only when declared; transform the assembled group, then blur/alpha and merge over backgroundInput. Preserve shadow/overflow pixels where overflow is visible.",
    "children": [
      {
        "layerId": "first-card",
        "nodeId": "Layer_first-card",
        "kind": "rect",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_create-copy-dialog",
        "foregroundInput": "Processed_first-card",
        "output": "Merge_first-card",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "width": 483,
          "height": 402,
          "radius": 26,
          "fill": "#ffffff",
          "shadow": "0 4px 10px #00000010"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "copy-tile",
        "nodeId": "Layer_copy-tile",
        "kind": "rect",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/1",
        "mergeIndex": 1,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_first-card",
        "foregroundInput": "Processed_copy-tile",
        "output": "Merge_copy-tile",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 25,
          "width": 46,
          "height": 46,
          "radius": 13,
          "fill": "#f7f7f7"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "copy-glyph",
        "nodeId": "Layer_copy-glyph",
        "kind": "path",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/2",
        "mergeIndex": 2,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_copy-tile",
        "foregroundInput": "Processed_copy-glyph",
        "output": "Merge_copy-glyph",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 36,
          "y": 36,
          "width": 24,
          "height": 24,
          "path": "M6 3V21M6 12H17V3M3 3A3 3 0 1 0 9 3A3 3 0 1 0 3 3M14 3A3 3 0 1 0 20 3A3 3 0 1 0 14 3",
          "viewBox": [
            0,
            0,
            24,
            24
          ],
          "fill": "none",
          "stroke": "#24292c",
          "strokeWidth": 2
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "first-close",
        "nodeId": "Layer_first-close",
        "kind": "path",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/3",
        "mergeIndex": 3,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_copy-glyph",
        "foregroundInput": "Processed_first-close",
        "output": "Merge_first-close",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 440,
          "y": 30,
          "width": 15,
          "height": 15,
          "path": "M2 2L13 13M13 2L2 13",
          "viewBox": [
            0,
            0,
            15,
            15
          ],
          "fill": "none",
          "stroke": "#777777",
          "strokeWidth": 1.5
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "first-title",
        "nodeId": "Layer_first-title",
        "kind": "text",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/4",
        "mergeIndex": 4,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_first-close",
        "foregroundInput": "Processed_first-title",
        "output": "Merge_first-title",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "firstTitle",
          "x": 25,
          "y": 90,
          "width": 433,
          "height": 32,
          "fontSize": 24,
          "weight": 600,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "first-body",
        "nodeId": "Layer_first-body",
        "kind": "text",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/5",
        "mergeIndex": 5,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_first-title",
        "foregroundInput": "Processed_first-body",
        "output": "Merge_first-body",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "firstBody",
          "x": 25,
          "y": 141,
          "width": 433,
          "height": 76,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#777777"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "name-label",
        "nodeId": "Layer_name-label",
        "kind": "text",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/6",
        "mergeIndex": 6,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_first-body",
        "foregroundInput": "Processed_name-label",
        "output": "Merge_name-label",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "nameLabel",
          "x": 25,
          "y": 234,
          "width": 300,
          "height": 25,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "prefix-hint",
        "nodeId": "Layer_prefix-hint",
        "kind": "text",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/7",
        "mergeIndex": 7,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_name-label",
        "foregroundInput": "Processed_prefix-hint",
        "output": "Merge_prefix-hint",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "prefixHint",
          "x": 345,
          "y": 234,
          "width": 106,
          "height": 25,
          "fontSize": 16,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#999999",
          "align": "right"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "copy-name-input",
        "nodeId": "Layer_copy-name-input",
        "kind": "rect",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/8",
        "mergeIndex": 8,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_prefix-hint",
        "foregroundInput": "Processed_copy-name-input",
        "output": "Merge_copy-name-input",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 275,
          "width": 433,
          "height": 47,
          "radius": 15,
          "fill": "#f7f7f7",
          "stroke": "#e5e5e5",
          "strokeWidth": 1.5
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "copy-name",
        "nodeId": "Layer_copy-name",
        "kind": "text",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/9",
        "mergeIndex": 9,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_copy-name-input",
        "foregroundInput": "Processed_copy-name",
        "output": "Merge_copy-name",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "copyName",
          "x": 41,
          "y": 286,
          "width": 399,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "first-button",
        "nodeId": "Layer_first-button",
        "kind": "rect",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/10",
        "mergeIndex": 10,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_copy-name",
        "foregroundInput": "Processed_first-button",
        "output": "Merge_first-button",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 338,
          "width": 433,
          "height": 35,
          "radius": 13,
          "fill": "#3b3b3b"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "first-action",
        "nodeId": "Layer_first-action",
        "kind": "text",
        "parentLayerId": "create-copy-dialog",
        "recipePointer": "/layers/6/children/11",
        "mergeIndex": 11,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_first-button",
        "foregroundInput": "Processed_first-action",
        "output": "Merge_first-action",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          4,
          26
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "firstAction",
          "x": 35,
          "y": 343,
          "width": 413,
          "height": 25,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#ffffff",
          "align": "center"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      }
    ]
  },
  {
    "layerId": "one-frame-progress",
    "nodeId": "Layer_one-frame-progress",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/7",
    "mergeIndex": 7,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_create-copy-dialog",
    "foregroundInput": "Processed_one-frame-progress",
    "output": "Merge_one-frame-progress",
    "activeLocalFrames": [
      26,
      27
    ],
    "effectiveActiveLocalFrames": [
      26,
      27
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 550,
      "y": 565,
      "width": 483,
      "height": 174
    },
    "construction": "Merge children in this order on a transparent local domain; apply local clipping only when declared; transform the assembled group, then blur/alpha and merge over backgroundInput. Preserve shadow/overflow pixels where overflow is visible.",
    "children": [
      {
        "layerId": "progress-card",
        "nodeId": "Layer_progress-card",
        "kind": "rect",
        "parentLayerId": "one-frame-progress",
        "recipePointer": "/layers/7/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_one-frame-progress",
        "foregroundInput": "Processed_progress-card",
        "output": "Merge_progress-card",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          26,
          27
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "width": 483,
          "height": 174,
          "radius": 26,
          "fill": "#ffffff",
          "shadow": "0 4px 10px #00000010"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "progress-icon-tile",
        "nodeId": "Layer_progress-icon-tile",
        "kind": "rect",
        "parentLayerId": "one-frame-progress",
        "recipePointer": "/layers/7/children/1",
        "mergeIndex": 1,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_progress-card",
        "foregroundInput": "Processed_progress-icon-tile",
        "output": "Merge_progress-icon-tile",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          26,
          27
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 22,
          "width": 46,
          "height": 46,
          "radius": 13,
          "fill": "#fafafa"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "progress-spinner",
        "nodeId": "Layer_progress-spinner",
        "kind": "path",
        "parentLayerId": "one-frame-progress",
        "recipePointer": "/layers/7/children/2",
        "mergeIndex": 2,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_progress-icon-tile",
        "foregroundInput": "Processed_progress-spinner",
        "output": "Merge_progress-spinner",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          26,
          27
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 38,
          "y": 34,
          "width": 22,
          "height": 22,
          "path": "M11 2A9 9 0 1 1 2 11",
          "viewBox": [
            0,
            0,
            22,
            22
          ],
          "fill": "none",
          "stroke": "#c5c9c8",
          "strokeWidth": 2.5
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "progress-close",
        "nodeId": "Layer_progress-close",
        "kind": "path",
        "parentLayerId": "one-frame-progress",
        "recipePointer": "/layers/7/children/3",
        "mergeIndex": 3,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_progress-spinner",
        "foregroundInput": "Processed_progress-close",
        "output": "Merge_progress-close",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          26,
          27
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 440,
          "y": 25,
          "width": 15,
          "height": 15,
          "path": "M2 2L13 13M13 2L2 13",
          "viewBox": [
            0,
            0,
            15,
            15
          ],
          "fill": "none",
          "stroke": "#777777",
          "strokeWidth": 1.5
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "progress-message",
        "nodeId": "Layer_progress-message",
        "kind": "text",
        "parentLayerId": "one-frame-progress",
        "recipePointer": "/layers/7/children/4",
        "mergeIndex": 4,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_progress-close",
        "foregroundInput": "Processed_progress-message",
        "output": "Merge_progress-message",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          26,
          27
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "progress",
          "x": 25,
          "y": 80,
          "width": 433,
          "height": 32,
          "fontSize": 24,
          "weight": 600,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "progress-subline",
        "nodeId": "Layer_progress-subline",
        "kind": "text",
        "parentLayerId": "one-frame-progress",
        "recipePointer": "/layers/7/children/5",
        "mergeIndex": 5,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_progress-message",
        "foregroundInput": "Processed_progress-subline",
        "output": "Merge_progress-subline",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          26,
          27
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "progressSubline",
          "x": 25,
          "y": 123,
          "width": 433,
          "height": 27,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#858585"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      }
    ]
  },
  {
    "layerId": "copy-confirmation",
    "nodeId": "Layer_copy-confirmation",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/8",
    "mergeIndex": 8,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_one-frame-progress",
    "foregroundInput": "Processed_copy-confirmation",
    "output": "Merge_copy-confirmation",
    "activeLocalFrames": [
      27,
      47
    ],
    "effectiveActiveLocalFrames": [
      27,
      47
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 550,
      "y": 451,
      "width": 483,
      "height": 402
    },
    "construction": "Merge children in this order on a transparent local domain; apply local clipping only when declared; transform the assembled group, then blur/alpha and merge over backgroundInput. Preserve shadow/overflow pixels where overflow is visible.",
    "children": [
      {
        "layerId": "success-card",
        "nodeId": "Layer_success-card",
        "kind": "rect",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_copy-confirmation",
        "foregroundInput": "Processed_success-card",
        "output": "Merge_success-card",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "width": 483,
          "height": 402,
          "radius": 26,
          "fill": "#ffffff",
          "shadow": "0 4px 10px #00000010"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "success-tile",
        "nodeId": "Layer_success-tile",
        "kind": "rect",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/1",
        "mergeIndex": 1,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-card",
        "foregroundInput": "Processed_success-tile",
        "output": "Merge_success-tile",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 25,
          "width": 46,
          "height": 46,
          "radius": 13,
          "fill": "#e5f5ed"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "success-glyph",
        "nodeId": "Layer_success-glyph",
        "kind": "path",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/2",
        "mergeIndex": 2,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-tile",
        "foregroundInput": "Processed_success-glyph",
        "output": "Merge_success-glyph",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 36,
          "y": 36,
          "width": 24,
          "height": 24,
          "path": "M3 12L9 18L22 4",
          "viewBox": [
            0,
            0,
            24,
            24
          ],
          "fill": "none",
          "stroke": "#247b52",
          "strokeWidth": 2
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "success-close",
        "nodeId": "Layer_success-close",
        "kind": "path",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/3",
        "mergeIndex": 3,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-glyph",
        "foregroundInput": "Processed_success-close",
        "output": "Merge_success-close",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 440,
          "y": 30,
          "width": 15,
          "height": 15,
          "path": "M2 2L13 13M13 2L2 13",
          "viewBox": [
            0,
            0,
            15,
            15
          ],
          "fill": "none",
          "stroke": "#777777",
          "strokeWidth": 1.5
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "success-title",
        "nodeId": "Layer_success-title",
        "kind": "text",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/4",
        "mergeIndex": 4,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-close",
        "foregroundInput": "Processed_success-title",
        "output": "Merge_success-title",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "successTitle",
          "x": 25,
          "y": 90,
          "width": 433,
          "height": 32,
          "fontSize": 24,
          "weight": 600,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "success-body",
        "nodeId": "Layer_success-body",
        "kind": "text",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/5",
        "mergeIndex": 5,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-title",
        "foregroundInput": "Processed_success-body",
        "output": "Merge_success-body",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "successBody",
          "x": 25,
          "y": 128,
          "width": 433,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#777777"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "success-name-heading",
        "nodeId": "Layer_success-name-heading",
        "kind": "text",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/6",
        "mergeIndex": 6,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-body",
        "foregroundInput": "Processed_success-name-heading",
        "output": "Merge_success-name-heading",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "nameLabel",
          "x": 25,
          "y": 165,
          "width": 108,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "success-name-glyph",
        "nodeId": "Layer_success-name-glyph",
        "kind": "path",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/7",
        "mergeIndex": 7,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-name-heading",
        "foregroundInput": "Processed_success-name-glyph",
        "output": "Merge_success-name-glyph",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 124,
          "y": 169,
          "width": 15,
          "height": 18,
          "path": "M3 2V16M3 8H12V2M1 2H5M10 2H14",
          "viewBox": [
            0,
            0,
            15,
            18
          ],
          "fill": "none",
          "stroke": "#343434",
          "strokeWidth": 1.5
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "success-name",
        "nodeId": "Layer_success-name",
        "kind": "text",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/8",
        "mergeIndex": 8,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-name-glyph",
        "foregroundInput": "Processed_success-name",
        "output": "Merge_success-name",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "copyNameShort",
          "x": 145,
          "y": 165,
          "width": 313,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "success-next-heading",
        "nodeId": "Layer_success-next-heading",
        "kind": "text",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/9",
        "mergeIndex": 9,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-name",
        "foregroundInput": "Processed_success-next-heading",
        "output": "Merge_success-next-heading",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "nextHeading",
          "x": 25,
          "y": 205,
          "width": 433,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "success-steps",
        "nodeId": "Layer_success-steps",
        "kind": "text",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/10",
        "mergeIndex": 10,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-next-heading",
        "foregroundInput": "Processed_success-steps",
        "output": "Merge_success-steps",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "successSteps",
          "x": 25,
          "y": 241,
          "width": 433,
          "height": 60,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.53,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "success-foot",
        "nodeId": "Layer_success-foot",
        "kind": "text",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/11",
        "mergeIndex": 11,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-steps",
        "foregroundInput": "Processed_success-foot",
        "output": "Merge_success-foot",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "successFoot",
          "x": 25,
          "y": 303,
          "width": 433,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#787878"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "continue-button",
        "nodeId": "Layer_continue-button",
        "kind": "rect",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/12",
        "mergeIndex": 12,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_success-foot",
        "foregroundInput": "Processed_continue-button",
        "output": "Merge_continue-button",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 341,
          "width": 433,
          "height": 35,
          "radius": 13,
          "fill": "#3b3b3b"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "continue-action",
        "nodeId": "Layer_continue-action",
        "kind": "text",
        "parentLayerId": "copy-confirmation",
        "recipePointer": "/layers/8/children/13",
        "mergeIndex": 13,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_continue-button",
        "foregroundInput": "Processed_continue-action",
        "output": "Merge_continue-action",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          27,
          47
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "closeAction",
          "x": 35,
          "y": 346,
          "width": 413,
          "height": 25,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#ffffff",
          "align": "center"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      }
    ]
  },
  {
    "layerId": "second-scrim",
    "nodeId": "Layer_second-scrim",
    "kind": "rect",
    "parentLayerId": null,
    "recipePointer": "/layers/9",
    "mergeIndex": 9,
    "tools": [
      "Rectangle mask",
      "Background",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_copy-confirmation",
    "foregroundInput": "Processed_second-scrim",
    "output": "Merge_second-scrim",
    "activeLocalFrames": [
      87,
      122
    ],
    "effectiveActiveLocalFrames": [
      87,
      122
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 1720,
      "height": 1080,
      "fill": "#101010"
    },
    "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
  },
  {
    "layerId": "save-dialog",
    "nodeId": "Layer_save-dialog",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/10",
    "mergeIndex": 10,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_second-scrim",
    "foregroundInput": "Processed_save-dialog",
    "output": "Merge_save-dialog",
    "activeLocalFrames": [
      87,
      122
    ],
    "effectiveActiveLocalFrames": [
      87,
      122
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 525,
      "width": 533,
      "height": 636
    },
    "construction": "Merge children in this order on a transparent local domain; apply local clipping only when declared; transform the assembled group, then blur/alpha and merge over backgroundInput. Preserve shadow/overflow pixels where overflow is visible.",
    "children": [
      {
        "layerId": "second-card",
        "nodeId": "Layer_second-card",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_save-dialog",
        "foregroundInput": "Processed_second-card",
        "output": "Merge_second-card",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "width": 533,
          "height": 636,
          "radius": 26,
          "fill": "#ffffff",
          "shadow": "0 4px 10px #00000010"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "save-tile",
        "nodeId": "Layer_save-tile",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/1",
        "mergeIndex": 1,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_second-card",
        "foregroundInput": "Processed_save-tile",
        "output": "Merge_save-tile",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 26,
          "width": 46,
          "height": 46,
          "radius": 13,
          "fill": "#f7f7f7"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "save-glyph",
        "nodeId": "Layer_save-glyph",
        "kind": "path",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/2",
        "mergeIndex": 2,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_save-tile",
        "foregroundInput": "Processed_save-glyph",
        "output": "Merge_save-glyph",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 36,
          "y": 37,
          "width": 24,
          "height": 24,
          "path": "M6 3V21M6 12H17V3M3 3A3 3 0 1 0 9 3A3 3 0 1 0 3 3M14 3A3 3 0 1 0 20 3A3 3 0 1 0 14 3",
          "viewBox": [
            0,
            0,
            24,
            24
          ],
          "fill": "none",
          "stroke": "#24292c",
          "strokeWidth": 2
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "second-close",
        "nodeId": "Layer_second-close",
        "kind": "path",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/3",
        "mergeIndex": 3,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_save-glyph",
        "foregroundInput": "Processed_second-close",
        "output": "Merge_second-close",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 490,
          "y": 29,
          "width": 15,
          "height": 15,
          "path": "M2 2L13 13M13 2L2 13",
          "viewBox": [
            0,
            0,
            15,
            15
          ],
          "fill": "none",
          "stroke": "#777777",
          "strokeWidth": 1.5
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "second-title",
        "nodeId": "Layer_second-title",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/4",
        "mergeIndex": 4,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_second-close",
        "foregroundInput": "Processed_second-title",
        "output": "Merge_second-title",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "secondTitle",
          "x": 25,
          "y": 89,
          "width": 483,
          "height": 32,
          "fontSize": 24,
          "weight": 600,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "branch-heading",
        "nodeId": "Layer_branch-heading",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/5",
        "mergeIndex": 5,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_second-title",
        "foregroundInput": "Processed_branch-heading",
        "output": "Merge_branch-heading",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "nameLabel",
          "x": 25,
          "y": 137,
          "width": 180,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "branch-value-glyph",
        "nodeId": "Layer_branch-value-glyph",
        "kind": "path",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/6",
        "mergeIndex": 6,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_branch-heading",
        "foregroundInput": "Processed_branch-value-glyph",
        "output": "Merge_branch-value-glyph",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 220,
          "y": 141,
          "width": 17,
          "height": 18,
          "path": "M3 2V16M3 8H12V2M1 2H5M10 2H14",
          "viewBox": [
            0,
            0,
            15,
            18
          ],
          "fill": "none",
          "stroke": "#343434",
          "strokeWidth": 1.5
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "branch-value",
        "nodeId": "Layer_branch-value",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/7",
        "mergeIndex": 7,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_branch-value-glyph",
        "foregroundInput": "Processed_branch-value",
        "output": "Merge_branch-value",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "copyNameShort",
          "x": 251,
          "y": 137,
          "width": 257,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "changes-heading",
        "nodeId": "Layer_changes-heading",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/8",
        "mergeIndex": 8,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_branch-value",
        "foregroundInput": "Processed_changes-heading",
        "output": "Merge_changes-heading",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "changesLabel",
          "x": 25,
          "y": 178,
          "width": 230,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "changes-value",
        "nodeId": "Layer_changes-value",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/9",
        "mergeIndex": 9,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_changes-heading",
        "foregroundInput": "Processed_changes-value",
        "output": "Merge_changes-value",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "changeCount",
          "x": 325,
          "y": 178,
          "width": 183,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#8b9691",
          "align": "right"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "include-toggle",
        "nodeId": "Layer_include-toggle",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/10",
        "mergeIndex": 10,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_changes-value",
        "foregroundInput": "Processed_include-toggle",
        "output": "Merge_include-toggle",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 30,
          "y": 218,
          "width": 40,
          "height": 26,
          "radius": 13,
          "fill": "#111111"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "toggle-knob",
        "nodeId": "Layer_toggle-knob",
        "kind": "ellipse",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/11",
        "mergeIndex": 11,
        "tools": [
          "Ellipse mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_include-toggle",
        "foregroundInput": "Processed_toggle-knob",
        "output": "Merge_toggle-knob",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 47,
          "y": 221,
          "width": 20,
          "height": 20,
          "fill": "#ffffff"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "toggle-label",
        "nodeId": "Layer_toggle-label",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/12",
        "mergeIndex": 12,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_toggle-knob",
        "foregroundInput": "Processed_toggle-label",
        "output": "Merge_toggle-label",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "toggleLabel",
          "x": 85,
          "y": 218,
          "width": 415,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "summary-heading",
        "nodeId": "Layer_summary-heading",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/13",
        "mergeIndex": 13,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_toggle-label",
        "foregroundInput": "Processed_summary-heading",
        "output": "Merge_summary-heading",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "summaryLabel",
          "x": 25,
          "y": 265,
          "width": 483,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "summary-field",
        "nodeId": "Layer_summary-field",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/14",
        "mergeIndex": 14,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_summary-heading",
        "foregroundInput": "Processed_summary-field",
        "output": "Merge_summary-field",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 299,
          "width": 483,
          "height": 73,
          "radius": 15,
          "fill": "#f7f7f7",
          "stroke": "#e5e5e5",
          "strokeWidth": 1.5
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "summary-placeholder",
        "nodeId": "Layer_summary-placeholder",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/15",
        "mergeIndex": 15,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_summary-field",
        "foregroundInput": "Processed_summary-placeholder",
        "output": "Merge_summary-placeholder",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "summaryPlaceholder",
          "x": 41,
          "y": 311,
          "width": 453,
          "height": 55,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.45,
          "color": "#999999"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "next-heading",
        "nodeId": "Layer_next-heading",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/16",
        "mergeIndex": 16,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_summary-placeholder",
        "foregroundInput": "Processed_next-heading",
        "output": "Merge_next-heading",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "nextHeading",
          "x": 25,
          "y": 389,
          "width": 483,
          "height": 26,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "option-row-background",
        "nodeId": "Layer_option-row-background",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/17",
        "mergeIndex": 17,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_next-heading",
        "foregroundInput": "Processed_option-row-background",
        "output": "Merge_option-row-background",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 422,
          "width": 483,
          "height": 137,
          "radius": 14,
          "fill": "#f9f9f9"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "second-option-hover",
        "nodeId": "Layer_second-option-hover",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/18",
        "mergeIndex": 18,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_option-row-background",
        "foregroundInput": "Processed_second-option-hover",
        "output": "Merge_second-option-hover",
        "activeLocalFrames": [
          98,
          104
        ],
        "effectiveActiveLocalFrames": [
          98,
          104
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 469,
          "width": 483,
          "height": 44,
          "fill": "#f4f4f4"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "third-option-hover",
        "nodeId": "Layer_third-option-hover",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/19",
        "mergeIndex": 19,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_second-option-hover",
        "foregroundInput": "Processed_third-option-hover",
        "output": "Merge_third-option-hover",
        "activeLocalFrames": [
          103,
          121
        ],
        "effectiveActiveLocalFrames": [
          103,
          121
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 515,
          "width": 483,
          "height": 43,
          "radius": 12,
          "fill": "#f4f4f4"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "option-icon-1",
        "nodeId": "Layer_option-icon-1",
        "kind": "path",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/20",
        "mergeIndex": 20,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_third-option-hover",
        "foregroundInput": "Processed_option-icon-1",
        "output": "Merge_option-icon-1",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 46,
          "y": 435,
          "width": 22,
          "height": 22,
          "path": "M1 11H21M6 11A5 5 0 1 0 16 11A5 5 0 1 0 6 11",
          "viewBox": [
            0,
            0,
            22,
            22
          ],
          "fill": "none",
          "stroke": "#171a1c",
          "strokeWidth": 1.8
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "option-label-1",
        "nodeId": "Layer_option-label-1",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/21",
        "mergeIndex": 21,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_option-icon-1",
        "foregroundInput": "Processed_option-label-1",
        "output": "Merge_option-label-1",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "option1",
          "x": 83,
          "y": 433,
          "width": 375,
          "height": 27,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "option-divider-1",
        "nodeId": "Layer_option-divider-1",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/22",
        "mergeIndex": 22,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_option-label-1",
        "foregroundInput": "Processed_option-divider-1",
        "output": "Merge_option-divider-1",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 468,
          "width": 483,
          "height": 1,
          "fill": "#e5e5e5"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "option-icon-2",
        "nodeId": "Layer_option-icon-2",
        "kind": "path",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/23",
        "mergeIndex": 23,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_option-divider-1",
        "foregroundInput": "Processed_option-icon-2",
        "output": "Merge_option-icon-2",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 46,
          "y": 481,
          "width": 22,
          "height": 22,
          "path": "M4 8L11 1L18 8M11 1V21",
          "viewBox": [
            0,
            0,
            22,
            22
          ],
          "fill": "none",
          "stroke": "#171a1c",
          "strokeWidth": 1.8
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "option-label-2",
        "nodeId": "Layer_option-label-2",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/24",
        "mergeIndex": 24,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_option-icon-2",
        "foregroundInput": "Processed_option-label-2",
        "output": "Merge_option-label-2",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "option2",
          "x": 83,
          "y": 479,
          "width": 375,
          "height": 27,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "option-divider-2",
        "nodeId": "Layer_option-divider-2",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/25",
        "mergeIndex": 25,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_option-label-2",
        "foregroundInput": "Processed_option-divider-2",
        "output": "Merge_option-divider-2",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 514,
          "width": 483,
          "height": 1,
          "fill": "#e5e5e5"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "option-icon-3",
        "nodeId": "Layer_option-icon-3",
        "kind": "path",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/26",
        "mergeIndex": 26,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_option-divider-2",
        "foregroundInput": "Processed_option-icon-3",
        "output": "Merge_option-icon-3",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 46,
          "y": 527,
          "width": 22,
          "height": 22,
          "path": "M2 3H20V19H2ZM6 8H16M6 13H14",
          "viewBox": [
            0,
            0,
            22,
            22
          ],
          "fill": "none",
          "stroke": "#171a1c",
          "strokeWidth": 1.8
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "option-label-3",
        "nodeId": "Layer_option-label-3",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/27",
        "mergeIndex": 27,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_option-icon-3",
        "foregroundInput": "Processed_option-label-3",
        "output": "Merge_option-label-3",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "option3",
          "x": 83,
          "y": 525,
          "width": 375,
          "height": 27,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#292d31"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      },
      {
        "layerId": "first-option-check",
        "nodeId": "Layer_first-option-check",
        "kind": "path",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/28",
        "mergeIndex": 28,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_option-label-3",
        "foregroundInput": "Processed_first-option-check",
        "output": "Merge_first-option-check",
        "activeLocalFrames": [
          0,
          110
        ],
        "effectiveActiveLocalFrames": [
          87,
          110
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 465,
          "y": 434,
          "width": 23,
          "height": 23,
          "path": "M3 12L9 18L21 3",
          "viewBox": [
            0,
            0,
            24,
            24
          ],
          "fill": "none",
          "stroke": "#101010",
          "strokeWidth": 2
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "third-option-check",
        "nodeId": "Layer_third-option-check",
        "kind": "path",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/29",
        "mergeIndex": 29,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_first-option-check",
        "foregroundInput": "Processed_third-option-check",
        "output": "Merge_third-option-check",
        "activeLocalFrames": [
          110,
          122
        ],
        "effectiveActiveLocalFrames": [
          110,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 465,
          "y": 526,
          "width": 23,
          "height": 23,
          "path": "M3 12L9 18L21 3",
          "viewBox": [
            0,
            0,
            24,
            24
          ],
          "fill": "none",
          "stroke": "#101010",
          "strokeWidth": 2
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "save-button",
        "nodeId": "Layer_save-button",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/30",
        "mergeIndex": 30,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_third-option-check",
        "foregroundInput": "Processed_save-button",
        "output": "Merge_save-button",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 575,
          "width": 483,
          "height": 36,
          "radius": 13,
          "fill": "#0b0b0b"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "save-button-hover",
        "nodeId": "Layer_save-button-hover",
        "kind": "rect",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/31",
        "mergeIndex": 31,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_save-button",
        "foregroundInput": "Processed_save-button-hover",
        "output": "Merge_save-button-hover",
        "activeLocalFrames": [
          120,
          122
        ],
        "effectiveActiveLocalFrames": [
          120,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 25,
          "y": 575,
          "width": 483,
          "height": 36,
          "radius": 13,
          "fill": "#3b3b3b"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "save-action",
        "nodeId": "Layer_save-action",
        "kind": "text",
        "parentLayerId": "save-dialog",
        "recipePointer": "/layers/10/children/32",
        "mergeIndex": 32,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_save-button-hover",
        "foregroundInput": "Processed_save-action",
        "output": "Merge_save-action",
        "activeLocalFrames": [
          0,
          122
        ],
        "effectiveActiveLocalFrames": [
          87,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "saveAction",
          "x": 35,
          "y": 580,
          "width": 463,
          "height": 25,
          "fontSize": 17,
          "weight": 400,
          "lineHeight": 1.25,
          "color": "#ffffff",
          "align": "center"
        },
        "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
      }
    ]
  },
  {
    "layerId": "relay-cursor",
    "nodeId": "Layer_relay-cursor",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/11",
    "mergeIndex": 11,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_save-dialog",
    "foregroundInput": "Processed_relay-cursor",
    "output": "Merge_relay-cursor",
    "activeLocalFrames": [
      0,
      122
    ],
    "effectiveActiveLocalFrames": [
      0,
      122
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 40,
      "height": 48
    },
    "construction": "Merge children in this order on a transparent local domain; apply local clipping only when declared; transform the assembled group, then blur/alpha and merge over backgroundInput. Preserve shadow/overflow pixels where overflow is visible.",
    "children": [
      {
        "layerId": "relay-arrow-before-selection-halo",
        "nodeId": "Layer_relay-arrow-before-selection-halo",
        "kind": "path",
        "parentLayerId": "relay-cursor",
        "recipePointer": "/layers/11/children/0",
        "mergeIndex": 0,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_relay-cursor",
        "foregroundInput": "Processed_relay-arrow-before-selection-halo",
        "output": "Merge_relay-arrow-before-selection-halo",
        "activeLocalFrames": [
          0,
          97
        ],
        "effectiveActiveLocalFrames": [
          0,
          97
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "arrowPath",
          "viewBox": [
            0,
            0,
            24,
            30
          ],
          "width": 32,
          "height": 40,
          "fill": "#111111",
          "stroke": "#111111",
          "strokeWidth": 2.4,
          "scaleY": 1.05,
          "origin": [
            4.3,
            5.7
          ],
          "blur": 1.3,
          "opacity": 0.22,
          "y": 1.6
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "third-option-hand-halo",
        "nodeId": "Layer_third-option-hand-halo",
        "kind": "path",
        "parentLayerId": "relay-cursor",
        "recipePointer": "/layers/11/children/1",
        "mergeIndex": 1,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_relay-arrow-before-selection-halo",
        "foregroundInput": "Processed_third-option-hand-halo",
        "output": "Merge_third-option-hand-halo",
        "activeLocalFrames": [
          97,
          119
        ],
        "effectiveActiveLocalFrames": [
          97,
          119
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "handPath",
          "viewBox": [
            0,
            0,
            26,
            32
          ],
          "width": 37,
          "height": 46,
          "fill": "#111111",
          "stroke": "#111111",
          "strokeWidth": 2.4,
          "x": -8,
          "y": -2,
          "origin": [
            4,
            1
          ],
          "blur": 1.3,
          "opacity": 0.22
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "relay-arrow-to-continue-halo",
        "nodeId": "Layer_relay-arrow-to-continue-halo",
        "kind": "path",
        "parentLayerId": "relay-cursor",
        "recipePointer": "/layers/11/children/2",
        "mergeIndex": 2,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_third-option-hand-halo",
        "foregroundInput": "Processed_relay-arrow-to-continue-halo",
        "output": "Merge_relay-arrow-to-continue-halo",
        "activeLocalFrames": [
          119,
          122
        ],
        "effectiveActiveLocalFrames": [
          119,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "arrowPath",
          "viewBox": [
            0,
            0,
            24,
            30
          ],
          "width": 32,
          "height": 40,
          "fill": "#111111",
          "stroke": "#111111",
          "strokeWidth": 2.4,
          "scaleY": 1.05,
          "origin": [
            4.3,
            5.7
          ],
          "blur": 1.3,
          "opacity": 0.22,
          "y": 1.6
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "relay-arrow-before-selection",
        "nodeId": "Layer_relay-arrow-before-selection",
        "kind": "path",
        "parentLayerId": "relay-cursor",
        "recipePointer": "/layers/11/children/3",
        "mergeIndex": 3,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_relay-arrow-to-continue-halo",
        "foregroundInput": "Processed_relay-arrow-before-selection",
        "output": "Merge_relay-arrow-before-selection",
        "activeLocalFrames": [
          0,
          97
        ],
        "effectiveActiveLocalFrames": [
          0,
          97
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "arrowPath",
          "viewBox": [
            0,
            0,
            24,
            30
          ],
          "width": 32,
          "height": 40,
          "fill": "#050505",
          "stroke": "#ffffff",
          "strokeWidth": 1.8,
          "scaleY": 1.05,
          "origin": [
            4.3,
            5.7
          ],
          "y": 1.6
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "third-option-hand",
        "nodeId": "Layer_third-option-hand",
        "kind": "path",
        "parentLayerId": "relay-cursor",
        "recipePointer": "/layers/11/children/4",
        "mergeIndex": 4,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_relay-arrow-before-selection",
        "foregroundInput": "Processed_third-option-hand",
        "output": "Merge_third-option-hand",
        "activeLocalFrames": [
          97,
          119
        ],
        "effectiveActiveLocalFrames": [
          97,
          119
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "handPath",
          "viewBox": [
            0,
            0,
            26,
            32
          ],
          "width": 37,
          "height": 46,
          "fill": "#ffffff",
          "stroke": "#111111",
          "strokeWidth": 1.7,
          "x": -8,
          "y": -2,
          "origin": [
            4,
            1
          ]
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "relay-arrow-to-continue",
        "nodeId": "Layer_relay-arrow-to-continue",
        "kind": "path",
        "parentLayerId": "relay-cursor",
        "recipePointer": "/layers/11/children/5",
        "mergeIndex": 5,
        "tools": [
          "SVG path geometry",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_third-option-hand",
        "foregroundInput": "Processed_relay-arrow-to-continue",
        "output": "Merge_relay-arrow-to-continue",
        "activeLocalFrames": [
          119,
          122
        ],
        "effectiveActiveLocalFrames": [
          119,
          122
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "slot": "arrowPath",
          "viewBox": [
            0,
            0,
            24,
            30
          ],
          "width": 32,
          "height": 40,
          "fill": "#050505",
          "stroke": "#ffffff",
          "strokeWidth": 1.8,
          "scaleY": 1.05,
          "origin": [
            4.3,
            5.7
          ],
          "y": 1.6
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      }
    ],
    "exposure": {
      "samples": 41,
      "shutterTrack": "/layers/11/exposure/shutterFrames",
      "evaluation": "For positive shutter, sample parent transform at frame+(sampleIndex/(samples-1)-0.5)*shutter; otherwise one sample at frame. Children and all visibility gates remain at frame. Over-composite samples in ascending index with opacity 1/(sampleIndex+1)."
    }
  },
  {
    "layerId": "disclosure-back",
    "nodeId": "Layer_disclosure-back",
    "kind": "rect",
    "parentLayerId": null,
    "recipePointer": "/layers/12",
    "mergeIndex": 12,
    "tools": [
      "Rectangle mask",
      "Background",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_relay-cursor",
    "foregroundInput": "Processed_disclosure-back",
    "output": "Merge_disclosure-back",
    "activeLocalFrames": [
      0,
      122
    ],
    "effectiveActiveLocalFrames": [
      0,
      122
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 18,
      "y": 1038,
      "width": 254,
      "height": 28,
      "radius": 5,
      "fill": "#ffffff",
      "opacity": 0.9
    },
    "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
  },
  {
    "layerId": "disclosure",
    "nodeId": "Layer_disclosure",
    "kind": "text",
    "parentLayerId": null,
    "recipePointer": "/layers/13",
    "mergeIndex": 13,
    "tools": [
      "TextPlus",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_disclosure-back",
    "foregroundInput": "Processed_disclosure",
    "output": "Merge_disclosure",
    "activeLocalFrames": [
      0,
      122
    ],
    "effectiveActiveLocalFrames": [
      0,
      122
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "slot": "disclosure",
      "x": 29,
      "y": 1044,
      "width": 232,
      "height": 19,
      "fontSize": 13,
      "weight": 600,
      "lineHeight": 1.25,
      "color": "#292d31"
    },
    "construction": "Text+ with declared content slot, box and line breaks. Font metrics and pixel size must be compared, not assumed equivalent to CSS. Use a single revealed substring when reveal is present."
  }
]

tracks
[
  {
    "layerId": "desktop",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "desktop",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "workspace-before-relay",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "workspace-before-relay",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "workspace-after-relay",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "workspace-after-relay",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-dropdown-hover",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-dropdown-hover",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-dropdown-hover",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-dropdown-hover",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-dropdown-hover",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-dropdown-hover",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-main-hover",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-main-hover",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-main-hover",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-main-hover",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-main-hover",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toolbar-main-hover",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-scrim",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-scrim",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-scrim",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "create-copy-dialog",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "create-copy-dialog",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "create-copy-dialog",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "create-copy-dialog",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "create-copy-dialog",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "create-copy-dialog",
    "property": "blur",
    "mapping": "CSS spatial blur radius in local pixels, after the layer transform; not a shutter angle or a directly calibrated Fusion Blur Size.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "first-card",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-card",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-card",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-tile",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-tile",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-tile",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-tile",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-tile",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-glyph",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-glyph",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-glyph",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-glyph",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-close",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-close",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-close",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-close",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-title",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-title",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-title",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-title",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-body",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-body",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-body",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-body",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "name-label",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "name-label",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "name-label",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "name-label",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "prefix-hint",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "prefix-hint",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "prefix-hint",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "prefix-hint",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-name-input",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-name-input",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-name-input",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-name-input",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-name-input",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-name",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-name",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-name",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-name",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-button",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-button",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-button",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-button",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-button",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-action",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-action",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-action",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-action",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "one-frame-progress",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "one-frame-progress",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "one-frame-progress",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "one-frame-progress",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-card",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-card",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-card",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-icon-tile",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-icon-tile",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-icon-tile",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-icon-tile",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-icon-tile",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-spinner",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-spinner",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-spinner",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-spinner",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-close",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-close",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-close",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-close",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-message",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-message",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-message",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-message",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-subline",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-subline",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-subline",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "progress-subline",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-confirmation",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-confirmation",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-confirmation",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "copy-confirmation",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-card",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-card",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-card",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-tile",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-tile",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-tile",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-tile",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-tile",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-glyph",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-glyph",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-glyph",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-glyph",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-close",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-close",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-close",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-close",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-title",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-title",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-title",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-title",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-body",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-body",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-body",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-body",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name-heading",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name-heading",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name-heading",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name-heading",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name-glyph",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name-glyph",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name-glyph",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name-glyph",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-name",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-next-heading",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-next-heading",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-next-heading",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-next-heading",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-steps",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-steps",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-steps",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-steps",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-foot",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-foot",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-foot",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "success-foot",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "continue-button",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "continue-button",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "continue-button",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "continue-button",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "continue-button",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "continue-action",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "continue-action",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "continue-action",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "continue-action",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-scrim",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-scrim",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-scrim",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "save-dialog",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-dialog",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "save-dialog",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-dialog",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-dialog",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "save-dialog",
    "property": "blur",
    "mapping": "CSS spatial blur radius in local pixels, after the layer transform; not a shutter angle or a directly calibrated Fusion Blur Size.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "second-card",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-card",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-card",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-tile",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-tile",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-tile",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-tile",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-tile",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-glyph",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-glyph",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-glyph",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-glyph",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-close",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-close",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-close",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-close",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-title",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-title",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-title",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-title",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-heading",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-heading",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-heading",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-heading",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-value-glyph",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-value-glyph",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-value-glyph",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-value-glyph",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-value",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-value",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-value",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "branch-value",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "changes-heading",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "changes-heading",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "changes-heading",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "changes-heading",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "changes-value",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "changes-value",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "changes-value",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "changes-value",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "include-toggle",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "include-toggle",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "include-toggle",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "include-toggle",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "include-toggle",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toggle-knob",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toggle-knob",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toggle-knob",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toggle-knob",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toggle-label",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toggle-label",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toggle-label",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "toggle-label",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-heading",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-heading",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-heading",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-heading",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-field",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-field",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-field",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-field",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-field",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-placeholder",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-placeholder",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-placeholder",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "summary-placeholder",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "next-heading",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "next-heading",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "next-heading",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "next-heading",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-row-background",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-row-background",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-row-background",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-row-background",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-row-background",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-option-hover",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-option-hover",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-option-hover",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-option-hover",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "second-option-hover",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "third-option-hover",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hover",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hover",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hover",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hover",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "third-option-hover",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-1",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-1",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-1",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-1",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-1",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-1",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-1",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-1",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-divider-1",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-divider-1",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-divider-1",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-divider-1",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-2",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-2",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-2",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-2",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-2",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-2",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-2",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-2",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-divider-2",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-divider-2",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-divider-2",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-divider-2",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-3",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-3",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-3",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-icon-3",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-3",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-3",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-3",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "option-label-3",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-option-check",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-option-check",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-option-check",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "first-option-check",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-check",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-check",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-check",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-check",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button-hover",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button-hover",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button-hover",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button-hover",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-button-hover",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-action",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-action",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-action",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "save-action",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-cursor",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "relay-cursor",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "relay-cursor",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-cursor",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-cursor",
    "property": "exposure.shutterFrames",
    "mapping": "Centered parent-transform exposure width in native frames; use the recipe sample count and 1/(sampleIndex+1) over-composite stack, keeping children at integer time.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "relay-arrow-before-selection-halo",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection-halo",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection-halo",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection-halo",
    "property": "scaleY",
    "mapping": "Vertical scale multiplier in addition to uniform scale, about the recipe origin.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection-halo",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection-halo",
    "property": "blur",
    "mapping": "CSS spatial blur radius in local pixels, after the layer transform; not a shutter angle or a directly calibrated Fusion Blur Size.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand-halo",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand-halo",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand-halo",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand-halo",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand-halo",
    "property": "scaleX",
    "mapping": "Horizontal scale multiplier in addition to uniform scale, about the recipe origin.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "third-option-hand-halo",
    "property": "scaleY",
    "mapping": "Vertical scale multiplier in addition to uniform scale, about the recipe origin.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "third-option-hand-halo",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand-halo",
    "property": "blur",
    "mapping": "CSS spatial blur radius in local pixels, after the layer transform; not a shutter angle or a directly calibrated Fusion Blur Size.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue-halo",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue-halo",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue-halo",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue-halo",
    "property": "scaleY",
    "mapping": "Vertical scale multiplier in addition to uniform scale, about the recipe origin.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue-halo",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue-halo",
    "property": "blur",
    "mapping": "CSS spatial blur radius in local pixels, after the layer transform; not a shutter angle or a directly calibrated Fusion Blur Size.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection",
    "property": "scaleY",
    "mapping": "Vertical scale multiplier in addition to uniform scale, about the recipe origin.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-before-selection",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "relay-arrow-before-selection",
    "property": "blur",
    "mapping": "CSS spatial blur radius in local pixels, after the layer transform; not a shutter angle or a directly calibrated Fusion Blur Size.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "third-option-hand",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "third-option-hand",
    "property": "scaleX",
    "mapping": "Horizontal scale multiplier in addition to uniform scale, about the recipe origin.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "third-option-hand",
    "property": "scaleY",
    "mapping": "Vertical scale multiplier in addition to uniform scale, about the recipe origin.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "third-option-hand",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "third-option-hand",
    "property": "blur",
    "mapping": "CSS spatial blur radius in local pixels, after the layer transform; not a shutter angle or a directly calibrated Fusion Blur Size.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "relay-arrow-to-continue",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue",
    "property": "scaleY",
    "mapping": "Vertical scale multiplier in addition to uniform scale, about the recipe origin.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "relay-arrow-to-continue",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "relay-arrow-to-continue",
    "property": "blur",
    "mapping": "CSS spatial blur radius in local pixels, after the layer transform; not a shutter angle or a directly calibrated Fusion Blur Size.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": true
  },
  {
    "layerId": "disclosure-back",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "disclosure-back",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "disclosure-back",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "disclosure-back",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "disclosure-back",
    "property": "opacity",
    "mapping": "Apply layer/group alpha after compositing its own children, then multiply by its half-open activity gate. Parent alpha multiplies child alpha.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "disclosure-back",
    "property": "radius",
    "mapping": "CSS corner radius in local pixels; construct a matching rounded mask, not the same number in a normalized Fusion corner control.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "disclosure",
    "property": "x",
    "mapping": "Local box left in parent pixels; combine with origin, scale and rotation before normalizing the Fusion Transform center. Never treat this as a world-space Center X.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "disclosure",
    "property": "y",
    "mapping": "Local box top in parent pixels, positive downward; compose ancestors first and invert the final normalized vertical center for Fusion.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "disclosure",
    "property": "width",
    "mapping": "Untransformed local box width in pixels; use for the image/shape/text domain, not as the post-scale visible width.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  },
  {
    "layerId": "disclosure",
    "property": "height",
    "mapping": "Untransformed local box height in pixels; preserve overflow and parent clipping rather than auto-fitting it.",
    "caveat": "Pinned implementation data, not a fresh source measurement. Respect ancestor activity, coordinate domains and README-specific mask/overlap/shutter instructions; no native Resolve verification.",
    "animated": false
  }
]

steps
[
  "Create a 1920x1080 composition of 122 frames at rational 24000/1001. Set local zero at source 1390, end exclusive 1512. Keep the camera locked; do not add a global zoom or a dissolve.",
  "Build the desktop from the declared desktop SVG. Overlay the 1720x1080 workspaceBefore SVG on [0,47), then workspaceAfter on [47,122), both at x=0,y=0. Retain the 200-pixel desktop strip on the right and the illustrated-UI disclosure above all other layers.",
  "Create each modal as a transparent local group. Merge every child in the listed fusionNodes order, then position the whole group. First and confirmation boxes are 483x402 at x=550; progress is 483x174 at (550,565); save is 533x636 at x=525. Never center every box independently on the full 1920-pixel stage.",
  "Merge first-scrim, #101010 at alpha 0.135, over only the 1720x1080 workspace on [4,47). First form runs [4,26), progress [26,27), confirmation [27,47). Frame 26 must exist as one frame; do not replace this hard state relay with crossfades.",
  "Animate first-form y=454,451.8,451 at frames 4,5,6; opacity=0.88,0.97,0.985,1 at 4,5,6,7; blur=0.32,0.12,0 at 4,5,6. Keep this retained fit separate from the open one-frame-too-late settling finding.",
  "Remove the first scrim at 47. Keep frames 47 through 86 undimmed, including toolbar hover rectangles on [80,82) and [82,87). At 87 add second-scrim alpha 0.06, then 0.135 at 88; second form y=338,335,334 at 87,88,89 with opacity=0.525,0.94,0.975,1 at 87,88,89,90.",
  "Within save-dialog keep second-option-hover on [98,104) and third-option-hover on [103,121); both are present at 103. Hard-switch first-option-check to third-option-check at 110. Apply save-button-hover at 120. End at local 121 with the summary placeholder and no submit/result.",
  "Place relay-cursor above every modal. Compose halo paths before foreground paths. Keep arrow [0,97), hand [97,119), arrow [119,122); do not time-shift these child gates with the parent exposure. Reproduce 41 parent-transform samples and the per-frame shutter track only as an implementation approximation; see README for the alpha-stack formula.",
  "Keep text editable in Text+ and use the bundled Geist substitute as a starting point, not an asserted native font. Copy each text layer box, weight, tracking, alignment, line-height and line breaks from the recipe. Full/truncated identifiers and toolbar art must be edited together; validation cannot prove their semantics.",
  "Use the shared handoff verifier/control exporter and the archive-checked Remotion commands. Compare source, original and adaptation separately at the listed checkpoints before any fidelity claim. No Resolve import, render or fresh moving-source verdict is supplied here."
]

checkpoints
[
  {
    "localFrame": 0,
    "check": "Workspace before relay; cursor visible. Retained entry description is broader than the actual first four frames: no modal yet."
  },
  {
    "localFrame": 4,
    "check": "First scrim and first translucent modal start; y=454, alpha=0.88."
  },
  {
    "localFrame": 6,
    "check": "First form reaches y=451; retained alpha 0.985 still leaves background residue, an inherited open finding."
  },
  {
    "localFrame": 16,
    "check": "Fast arrow flight; inspect dark leading edge against source. First button stays gray in the implementation despite source feedback change at 17."
  },
  {
    "localFrame": 25,
    "check": "Last first-form frame; next frame must be compact progress, not an interpolated height."
  },
  {
    "localFrame": 26,
    "check": "Only compact-progress frame, 483x174 at (550,565); viewed retained source/original native PNG pair."
  },
  {
    "localFrame": 27,
    "check": "Confirmation replaces progress; no overlap of the two groups."
  },
  {
    "localFrame": 46,
    "check": "Last confirmation and first-scrim frame."
  },
  {
    "localFrame": 47,
    "check": "WorkspaceAfter replaces WorkspaceBefore and the scrim clears in the same native frame."
  },
  {
    "localFrame": 80,
    "check": "Dropdown hover, before the main-toolbar hover at 82; background remains undimmed."
  },
  {
    "localFrame": 86,
    "check": "Last undimmed frame."
  },
  {
    "localFrame": 87,
    "check": "Second scrim and taller modal start; second alpha/blur animation is distinct from first arrival."
  },
  {
    "localFrame": 89,
    "check": "Second y reaches 334 but alpha is 0.975; source settles a frame earlier than the retained output."
  },
  {
    "localFrame": 97,
    "check": "Cursor changes from arrow to hand, without changing child time during exposure."
  },
  {
    "localFrame": 103,
    "check": "Two option-hover backgrounds coexist at alpha 0.6 each in different rows."
  },
  {
    "localFrame": 110,
    "check": "First check disappears; third check appears. Summary remains a placeholder."
  },
  {
    "localFrame": 119,
    "check": "Cursor changes back to arrow."
  },
  {
    "localFrame": 120,
    "check": "Final button hover starts while third hover fades to 0.5."
  },
  {
    "localFrame": 121,
    "check": "Last frame; no submit or success screen may be invented."
  }
]

limitations
[
  "Cursor exposure: the retained 41-sample fit still leaves a dark leading arrow/hand rather than the source streak; no Resolve equivalent has been validated.",
  "Inherited open minor CM-R03-01: Fast arrow and hand flights remain much more opaque at the leading edge",
  "Inherited open minor CM-R03-02: Early control feedback starts in the wrong visual states",
  "Inherited open minor CM-R03-03: Both modal arrivals retain faint background text for one extra native frame",
  "Editable text layout does not reproduce native form density automatically; original state plates or constrained layouts are required.",
  "No measured scrim alpha or native-font match is supplied by the API; both remain fresh-review work.",
  "Source excerpt playback had headless limitations; source transitions were inspected through labelled native contacts. Source contacts do not approve rendered motion.",
  "Geometry marked estimate remains a fit target; new original text, symbols and required disclosure differ intentionally.",
  "No full-film source UI pixels become presentation assets.",
  "Maintain camera lock while modal state changes.",
  "No Poe branch or commit behavior is asserted.",
  "Arbitrary UI screenshots, reflowing copy or aspect-ratio changes are unsupported.",
  "Fresh moving-source fidelity review and final font/blur/alpha fitting are outstanding.",
  "Full/truncated identifier, toolbar artwork, option labels and cursor targets are manually coupled; typed constraints do not prove semantic agreement.",
  "Source pointer subframe blur and optical type metrics require fresh retest. Forty-one-sample cursor exposure and opacity are implementation fits, not a measured source shutter. Generic hand contour and residual exposure weighting differ from source.",
  "Only retained contact sheets and the explicitly listed source/original native stills were visually inspected in this authoring pass. Archive extraction is not viewing. No fresh moving-source playback, audio review, Resolve import/render, new Remotion render or installed-dependency test.",
  "Fusion mask, Text+ font shaping, rounded-corner, blur, color-management and sampled-exposure equivalence remain unverified. The shared controls CSV is raw local implementation data, not world-space or native Resolve controls.",
  "Variants, tracks, nodes, revisions and this guide do not create additional source treatments. Separate fresh critique must assess the actual guide before integration."
]
