fusionSetup
{
  "backgroundNode": "Background_Canvas",
  "background": {
    "width": 1920,
    "height": 1080,
    "background": "#ffffff"
  },
  "outputNode": "MediaOut1",
  "input": "Merge_arc-card-3",
  "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": "opening-identity",
    "nodeId": "Layer_opening-identity",
    "kind": "text",
    "parentLayerId": null,
    "recipePointer": "/layers/0",
    "mergeIndex": 0,
    "tools": [
      "TextPlus",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Background_Canvas",
    "foregroundInput": "Processed_opening-identity",
    "output": "Merge_opening-identity",
    "activeLocalFrames": [
      0,
      1
    ],
    "effectiveActiveLocalFrames": [
      0,
      1
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 700,
      "y": 452,
      "width": 700,
      "height": 120,
      "slot": "brand",
      "fontSize": 92,
      "color": "#111111",
      "weight": 650
    },
    "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": "phone-container",
    "nodeId": "Layer_phone-container",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/1",
    "mergeIndex": 1,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_opening-identity",
    "foregroundInput": "Processed_phone-container",
    "output": "Merge_phone-container",
    "activeLocalFrames": [
      1,
      90
    ],
    "effectiveActiveLocalFrames": [
      1,
      90
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 603,
      "width": 714,
      "height": 1500
    },
    "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": "phone-outline",
        "nodeId": "Layer_phone-outline",
        "kind": "rect",
        "parentLayerId": "phone-container",
        "recipePointer": "/layers/1/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_phone-container",
        "foregroundInput": "Processed_phone-outline",
        "output": "Merge_phone-outline",
        "activeLocalFrames": [
          1,
          90
        ],
        "effectiveActiveLocalFrames": [
          1,
          90
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 714,
          "height": 1500,
          "fill": "#ffffff",
          "stroke": "#cccccc",
          "strokeWidth": 20,
          "radius": 112,
          "shadow": "0 0 48px #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": "phone-heading",
        "nodeId": "Layer_phone-heading",
        "kind": "text",
        "parentLayerId": "phone-container",
        "recipePointer": "/layers/1/children/1",
        "mergeIndex": 1,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_phone-outline",
        "foregroundInput": "Processed_phone-heading",
        "output": "Merge_phone-heading",
        "activeLocalFrames": [
          1,
          90
        ],
        "effectiveActiveLocalFrames": [
          1,
          90
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 90,
          "y": 506,
          "width": 580,
          "height": 50,
          "slot": "deviceTitle",
          "fontSize": 36,
          "color": "#111111",
          "align": "center",
          "weight": 600
        },
        "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": "phone-copy",
        "nodeId": "Layer_phone-copy",
        "kind": "text",
        "parentLayerId": "phone-container",
        "recipePointer": "/layers/1/children/2",
        "mergeIndex": 2,
        "tools": [
          "TextPlus",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_phone-heading",
        "foregroundInput": "Processed_phone-copy",
        "output": "Merge_phone-copy",
        "activeLocalFrames": [
          1,
          90
        ],
        "effectiveActiveLocalFrames": [
          1,
          90
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 48,
          "y": 563,
          "width": 620,
          "height": 163,
          "slot": "deviceCopy",
          "fontSize": 39,
          "color": "#838383",
          "align": "center",
          "lineHeight": 1.18
        },
        "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": "takeaway",
    "nodeId": "Layer_takeaway",
    "kind": "text",
    "parentLayerId": null,
    "recipePointer": "/layers/2",
    "mergeIndex": 2,
    "tools": [
      "TextPlus",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_phone-container",
    "foregroundInput": "Processed_takeaway",
    "output": "Merge_takeaway",
    "activeLocalFrames": [
      200,
      235
    ],
    "effectiveActiveLocalFrames": [
      200,
      235
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "x": 410,
      "y": 522,
      "width": 1070,
      "height": 128,
      "slot": "statement",
      "fontSize": 92,
      "color": "#111111",
      "weight": 600,
      "letterSpacing": -2.5,
      "reveal": {
        "unit": "words",
        "steps": [
          {
            "frame": 200,
            "count": 1
          },
          {
            "frame": 206,
            "count": 2
          },
          {
            "frame": 211,
            "count": 3
          },
          {
            "frame": 214,
            "count": 4
          }
        ]
      }
    },
    "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": "arc-card-0",
    "nodeId": "Layer_arc-card-0",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/3",
    "mergeIndex": 3,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_takeaway",
    "foregroundInput": "Processed_arc-card-0",
    "output": "Merge_arc-card-0",
    "activeLocalFrames": [
      74,
      224
    ],
    "effectiveActiveLocalFrames": [
      74,
      224
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 640,
      "height": 640,
      "origin": [
        320,
        320
      ]
    },
    "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": "tile-shadow-0",
        "nodeId": "Layer_tile-shadow-0",
        "kind": "rect",
        "parentLayerId": "arc-card-0",
        "recipePointer": "/layers/3/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_arc-card-0",
        "foregroundInput": "Processed_tile-shadow-0",
        "output": "Merge_tile-shadow-0",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "fill": "#ffffff",
          "radius": 54,
          "shadow": "0 9px 15px #0000001a"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "card-face-0",
        "nodeId": "Layer_card-face-0",
        "kind": "image",
        "parentLayerId": "arc-card-0",
        "recipePointer": "/layers/3/children/1",
        "mergeIndex": 1,
        "tools": [
          "SVG vector source",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_tile-shadow-0",
        "foregroundInput": "Processed_card-face-0",
        "output": "Merge_card-face-0",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "slot": "tile0",
          "fit": "cover",
          "radius": 54
        },
        "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/pulse-device-card-arc/default-0.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          },
          "adaptation": {
            "kind": "image",
            "path": "art/pulse-device-card-arc/adaptation-0.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          }
        }
      }
    ],
    "exposure": {
      "samples": 7,
      "shutterTrack": "/layers/3/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": "arc-card-1",
    "nodeId": "Layer_arc-card-1",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/4",
    "mergeIndex": 4,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_arc-card-0",
    "foregroundInput": "Processed_arc-card-1",
    "output": "Merge_arc-card-1",
    "activeLocalFrames": [
      74,
      224
    ],
    "effectiveActiveLocalFrames": [
      74,
      224
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 640,
      "height": 640,
      "origin": [
        320,
        320
      ]
    },
    "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": "tile-shadow-1",
        "nodeId": "Layer_tile-shadow-1",
        "kind": "rect",
        "parentLayerId": "arc-card-1",
        "recipePointer": "/layers/4/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_arc-card-1",
        "foregroundInput": "Processed_tile-shadow-1",
        "output": "Merge_tile-shadow-1",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "fill": "#ffffff",
          "radius": 54,
          "shadow": "0 9px 15px #0000001a"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "card-face-1",
        "nodeId": "Layer_card-face-1",
        "kind": "image",
        "parentLayerId": "arc-card-1",
        "recipePointer": "/layers/4/children/1",
        "mergeIndex": 1,
        "tools": [
          "SVG vector source",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_tile-shadow-1",
        "foregroundInput": "Processed_card-face-1",
        "output": "Merge_card-face-1",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "slot": "tile1",
          "fit": "cover",
          "radius": 54
        },
        "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/pulse-device-card-arc/default-1.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          },
          "adaptation": {
            "kind": "image",
            "path": "art/pulse-device-card-arc/adaptation-1.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          }
        }
      }
    ],
    "exposure": {
      "samples": 7,
      "shutterTrack": "/layers/4/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": "arc-card-2",
    "nodeId": "Layer_arc-card-2",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/5",
    "mergeIndex": 5,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_arc-card-1",
    "foregroundInput": "Processed_arc-card-2",
    "output": "Merge_arc-card-2",
    "activeLocalFrames": [
      74,
      224
    ],
    "effectiveActiveLocalFrames": [
      74,
      224
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 640,
      "height": 640,
      "origin": [
        320,
        320
      ]
    },
    "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": "tile-shadow-2",
        "nodeId": "Layer_tile-shadow-2",
        "kind": "rect",
        "parentLayerId": "arc-card-2",
        "recipePointer": "/layers/5/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_arc-card-2",
        "foregroundInput": "Processed_tile-shadow-2",
        "output": "Merge_tile-shadow-2",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "fill": "#ffffff",
          "radius": 54,
          "shadow": "0 9px 15px #0000001a"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "card-face-2",
        "nodeId": "Layer_card-face-2",
        "kind": "image",
        "parentLayerId": "arc-card-2",
        "recipePointer": "/layers/5/children/1",
        "mergeIndex": 1,
        "tools": [
          "SVG vector source",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_tile-shadow-2",
        "foregroundInput": "Processed_card-face-2",
        "output": "Merge_card-face-2",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "slot": "tile2",
          "fit": "cover",
          "radius": 54
        },
        "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/pulse-device-card-arc/default-2.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          },
          "adaptation": {
            "kind": "image",
            "path": "art/pulse-device-card-arc/adaptation-2.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          }
        }
      }
    ],
    "exposure": {
      "samples": 7,
      "shutterTrack": "/layers/5/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": "arc-card-4",
    "nodeId": "Layer_arc-card-4",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/6",
    "mergeIndex": 6,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_arc-card-2",
    "foregroundInput": "Processed_arc-card-4",
    "output": "Merge_arc-card-4",
    "activeLocalFrames": [
      74,
      224
    ],
    "effectiveActiveLocalFrames": [
      74,
      224
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 640,
      "height": 640,
      "origin": [
        320,
        320
      ]
    },
    "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": "tile-shadow-4",
        "nodeId": "Layer_tile-shadow-4",
        "kind": "rect",
        "parentLayerId": "arc-card-4",
        "recipePointer": "/layers/6/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_arc-card-4",
        "foregroundInput": "Processed_tile-shadow-4",
        "output": "Merge_tile-shadow-4",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "fill": "#ffffff",
          "radius": 54,
          "shadow": "0 9px 15px #0000001a"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "card-face-4",
        "nodeId": "Layer_card-face-4",
        "kind": "image",
        "parentLayerId": "arc-card-4",
        "recipePointer": "/layers/6/children/1",
        "mergeIndex": 1,
        "tools": [
          "SVG vector source",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_tile-shadow-4",
        "foregroundInput": "Processed_card-face-4",
        "output": "Merge_card-face-4",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "slot": "tile4",
          "fit": "cover",
          "radius": 54
        },
        "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/pulse-device-card-arc/default-4.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          },
          "adaptation": {
            "kind": "image",
            "path": "art/pulse-device-card-arc/adaptation-4.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          }
        }
      }
    ],
    "exposure": {
      "samples": 7,
      "shutterTrack": "/layers/6/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": "arc-card-5",
    "nodeId": "Layer_arc-card-5",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/7",
    "mergeIndex": 7,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_arc-card-4",
    "foregroundInput": "Processed_arc-card-5",
    "output": "Merge_arc-card-5",
    "activeLocalFrames": [
      74,
      224
    ],
    "effectiveActiveLocalFrames": [
      74,
      224
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 640,
      "height": 640,
      "origin": [
        320,
        320
      ]
    },
    "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": "tile-shadow-5",
        "nodeId": "Layer_tile-shadow-5",
        "kind": "rect",
        "parentLayerId": "arc-card-5",
        "recipePointer": "/layers/7/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_arc-card-5",
        "foregroundInput": "Processed_tile-shadow-5",
        "output": "Merge_tile-shadow-5",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "fill": "#ffffff",
          "radius": 54,
          "shadow": "0 9px 15px #0000001a"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "card-face-5",
        "nodeId": "Layer_card-face-5",
        "kind": "image",
        "parentLayerId": "arc-card-5",
        "recipePointer": "/layers/7/children/1",
        "mergeIndex": 1,
        "tools": [
          "SVG vector source",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_tile-shadow-5",
        "foregroundInput": "Processed_card-face-5",
        "output": "Merge_card-face-5",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "slot": "tile5",
          "fit": "cover",
          "radius": 54
        },
        "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/pulse-device-card-arc/default-5.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          },
          "adaptation": {
            "kind": "image",
            "path": "art/pulse-device-card-arc/adaptation-5.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          }
        }
      }
    ],
    "exposure": {
      "samples": 7,
      "shutterTrack": "/layers/7/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": "arc-card-6",
    "nodeId": "Layer_arc-card-6",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/8",
    "mergeIndex": 8,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_arc-card-5",
    "foregroundInput": "Processed_arc-card-6",
    "output": "Merge_arc-card-6",
    "activeLocalFrames": [
      74,
      224
    ],
    "effectiveActiveLocalFrames": [
      74,
      224
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 640,
      "height": 640,
      "origin": [
        320,
        320
      ]
    },
    "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": "tile-shadow-6",
        "nodeId": "Layer_tile-shadow-6",
        "kind": "rect",
        "parentLayerId": "arc-card-6",
        "recipePointer": "/layers/8/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_arc-card-6",
        "foregroundInput": "Processed_tile-shadow-6",
        "output": "Merge_tile-shadow-6",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "fill": "#ffffff",
          "radius": 54,
          "shadow": "0 9px 15px #0000001a"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "card-face-6",
        "nodeId": "Layer_card-face-6",
        "kind": "image",
        "parentLayerId": "arc-card-6",
        "recipePointer": "/layers/8/children/1",
        "mergeIndex": 1,
        "tools": [
          "SVG vector source",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_tile-shadow-6",
        "foregroundInput": "Processed_card-face-6",
        "output": "Merge_card-face-6",
        "activeLocalFrames": [
          74,
          224
        ],
        "effectiveActiveLocalFrames": [
          74,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "slot": "tile6",
          "fit": "cover",
          "radius": 54
        },
        "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/pulse-device-card-arc/default-6.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          },
          "adaptation": {
            "kind": "image",
            "path": "art/pulse-device-card-arc/adaptation-6.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          }
        }
      }
    ],
    "exposure": {
      "samples": 7,
      "shutterTrack": "/layers/8/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": "arc-card-3",
    "nodeId": "Layer_arc-card-3",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/9",
    "mergeIndex": 9,
    "tools": [
      "Group",
      "Transform",
      "Merge"
    ],
    "backgroundInput": "Merge_arc-card-6",
    "foregroundInput": "Processed_arc-card-3",
    "output": "Merge_arc-card-3",
    "activeLocalFrames": [
      1,
      224
    ],
    "effectiveActiveLocalFrames": [
      1,
      224
    ],
    "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
    "staticControls": {
      "width": 640,
      "height": 640,
      "origin": [
        320,
        320
      ]
    },
    "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": "tile-shadow-3",
        "nodeId": "Layer_tile-shadow-3",
        "kind": "rect",
        "parentLayerId": "arc-card-3",
        "recipePointer": "/layers/9/children/0",
        "mergeIndex": 0,
        "tools": [
          "Rectangle mask",
          "Background",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Transparent_arc-card-3",
        "foregroundInput": "Processed_tile-shadow-3",
        "output": "Merge_tile-shadow-3",
        "activeLocalFrames": [
          1,
          224
        ],
        "effectiveActiveLocalFrames": [
          1,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "fill": "#ffffff",
          "radius": 54,
          "shadow": "0 9px 15px #0000001a"
        },
        "construction": "Construct editable geometry from these local controls and the recipe. Preserve fill/stroke/shadow and ordering; normalize coordinates only after parent composition."
      },
      {
        "layerId": "card-face-3",
        "nodeId": "Layer_card-face-3",
        "kind": "image",
        "parentLayerId": "arc-card-3",
        "recipePointer": "/layers/9/children/1",
        "mergeIndex": 1,
        "tools": [
          "SVG vector source",
          "Transform",
          "Merge"
        ],
        "backgroundInput": "Merge_tile-shadow-3",
        "foregroundInput": "Processed_card-face-3",
        "output": "Merge_card-face-3",
        "activeLocalFrames": [
          1,
          224
        ],
        "effectiveActiveLocalFrames": [
          1,
          224
        ],
        "frameConvention": "Start inclusive, end exclusive; ancestors gate children without subtracting their starts.",
        "staticControls": {
          "x": 0,
          "y": 0,
          "width": 640,
          "height": 640,
          "slot": "tile3",
          "fit": "cover",
          "radius": 54
        },
        "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/pulse-device-card-arc/default-3.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          },
          "adaptation": {
            "kind": "image",
            "path": "art/pulse-device-card-arc/adaptation-3.svg",
            "width": 640,
            "height": 640,
            "rights": "Original FORMA portfolio artwork from the repository; square crop, outlined OFL Geist glyphs. See assets.json for source file and hash."
          }
        }
      }
    ],
    "exposure": {
      "samples": 7,
      "shutterTrack": "/layers/9/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)."
    }
  }
]

tracks
[
  {
    "layerId": "opening-identity",
    "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": "opening-identity",
    "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": "opening-identity",
    "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": "opening-identity",
    "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": "phone-container",
    "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": "phone-container",
    "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": "phone-container",
    "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": "phone-container",
    "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": "phone-container",
    "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": "phone-outline",
    "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": "phone-outline",
    "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": "phone-outline",
    "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": "phone-outline",
    "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": "phone-outline",
    "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": "phone-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": "phone-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": "phone-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": "phone-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": "phone-heading",
    "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": "phone-copy",
    "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": "phone-copy",
    "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": "phone-copy",
    "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": "phone-copy",
    "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": "phone-copy",
    "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": "takeaway",
    "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": "takeaway",
    "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": "takeaway",
    "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": "takeaway",
    "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": "arc-card-0",
    "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": "arc-card-0",
    "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": "arc-card-0",
    "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": "arc-card-0",
    "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": "arc-card-0",
    "property": "scale",
    "mapping": "Uniform size about recipe origin in local box pixels; preserve the separate x/y placement and nested transforms.",
    "caveat": "Pinned 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": "arc-card-0",
    "property": "rotation",
    "mapping": "Screen-space degrees about recipe origin. Reverse sign for a counter-clockwise-positive Fusion Angle; check a retained tilted frame before reuse.",
    "caveat": "Pinned 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": "arc-card-0",
    "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": "tile-shadow-0",
    "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": "tile-shadow-0",
    "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": "tile-shadow-0",
    "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": "tile-shadow-0",
    "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": "tile-shadow-0",
    "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": "card-face-0",
    "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": "card-face-0",
    "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": "card-face-0",
    "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": "card-face-0",
    "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": "card-face-0",
    "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": "arc-card-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": true
  },
  {
    "layerId": "arc-card-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": true
  },
  {
    "layerId": "arc-card-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": "arc-card-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": "arc-card-1",
    "property": "scale",
    "mapping": "Uniform size about recipe origin in local box pixels; preserve the separate x/y placement and nested transforms.",
    "caveat": "Pinned 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": "arc-card-1",
    "property": "rotation",
    "mapping": "Screen-space degrees about recipe origin. Reverse sign for a counter-clockwise-positive Fusion Angle; check a retained tilted frame before reuse.",
    "caveat": "Pinned 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": "arc-card-1",
    "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": "tile-shadow-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": "tile-shadow-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": "tile-shadow-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": "tile-shadow-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": "tile-shadow-1",
    "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": "card-face-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": "card-face-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": "card-face-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": "card-face-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": "card-face-1",
    "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": "arc-card-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": true
  },
  {
    "layerId": "arc-card-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": true
  },
  {
    "layerId": "arc-card-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": "arc-card-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": "arc-card-2",
    "property": "scale",
    "mapping": "Uniform size about recipe origin in local box pixels; preserve the separate x/y placement and nested transforms.",
    "caveat": "Pinned 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": "arc-card-2",
    "property": "rotation",
    "mapping": "Screen-space degrees about recipe origin. Reverse sign for a counter-clockwise-positive Fusion Angle; check a retained tilted frame before reuse.",
    "caveat": "Pinned 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": "arc-card-2",
    "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": "tile-shadow-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": "tile-shadow-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": "tile-shadow-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": "tile-shadow-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": "tile-shadow-2",
    "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": "card-face-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": "card-face-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": "card-face-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": "card-face-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": "card-face-2",
    "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": "arc-card-4",
    "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": "arc-card-4",
    "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": "arc-card-4",
    "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": "arc-card-4",
    "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": "arc-card-4",
    "property": "scale",
    "mapping": "Uniform size about recipe origin in local box pixels; preserve the separate x/y placement and nested transforms.",
    "caveat": "Pinned 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": "arc-card-4",
    "property": "rotation",
    "mapping": "Screen-space degrees about recipe origin. Reverse sign for a counter-clockwise-positive Fusion Angle; check a retained tilted frame before reuse.",
    "caveat": "Pinned 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": "arc-card-4",
    "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": "tile-shadow-4",
    "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": "tile-shadow-4",
    "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": "tile-shadow-4",
    "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": "tile-shadow-4",
    "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": "tile-shadow-4",
    "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": "card-face-4",
    "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": "card-face-4",
    "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": "card-face-4",
    "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": "card-face-4",
    "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": "card-face-4",
    "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": "arc-card-5",
    "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": "arc-card-5",
    "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": "arc-card-5",
    "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": "arc-card-5",
    "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": "arc-card-5",
    "property": "scale",
    "mapping": "Uniform size about recipe origin in local box pixels; preserve the separate x/y placement and nested transforms.",
    "caveat": "Pinned 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": "arc-card-5",
    "property": "rotation",
    "mapping": "Screen-space degrees about recipe origin. Reverse sign for a counter-clockwise-positive Fusion Angle; check a retained tilted frame before reuse.",
    "caveat": "Pinned 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": "arc-card-5",
    "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": "tile-shadow-5",
    "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": "tile-shadow-5",
    "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": "tile-shadow-5",
    "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": "tile-shadow-5",
    "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": "tile-shadow-5",
    "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": "card-face-5",
    "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": "card-face-5",
    "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": "card-face-5",
    "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": "card-face-5",
    "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": "card-face-5",
    "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": "arc-card-6",
    "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": "arc-card-6",
    "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": "arc-card-6",
    "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": "arc-card-6",
    "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": "arc-card-6",
    "property": "scale",
    "mapping": "Uniform size about recipe origin in local box pixels; preserve the separate x/y placement and nested transforms.",
    "caveat": "Pinned 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": "arc-card-6",
    "property": "rotation",
    "mapping": "Screen-space degrees about recipe origin. Reverse sign for a counter-clockwise-positive Fusion Angle; check a retained tilted frame before reuse.",
    "caveat": "Pinned 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": "arc-card-6",
    "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": "tile-shadow-6",
    "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": "tile-shadow-6",
    "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": "tile-shadow-6",
    "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": "tile-shadow-6",
    "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": "tile-shadow-6",
    "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": "card-face-6",
    "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": "card-face-6",
    "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": "card-face-6",
    "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": "card-face-6",
    "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": "card-face-6",
    "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": "arc-card-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": true
  },
  {
    "layerId": "arc-card-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": true
  },
  {
    "layerId": "arc-card-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": "arc-card-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": "arc-card-3",
    "property": "scale",
    "mapping": "Uniform size about recipe origin in local box pixels; preserve the separate x/y placement and nested transforms.",
    "caveat": "Pinned 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": "arc-card-3",
    "property": "rotation",
    "mapping": "Screen-space degrees about recipe origin. Reverse sign for a counter-clockwise-positive Fusion Angle; check a retained tilted frame before reuse.",
    "caveat": "Pinned 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": "arc-card-3",
    "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": "tile-shadow-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": "tile-shadow-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": "tile-shadow-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": "tile-shadow-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": "tile-shadow-3",
    "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": "card-face-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": "card-face-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": "card-face-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": "card-face-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": "card-face-3",
    "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
  }
]

steps
[
  "Create a 1920x1080 white composition of 235 frames at 60/1 fps, source [300,535). Opening identity lasts [0,1); cut directly to the device and central card at local 1.",
  "Build phone-container in a 714x1500 local domain at x=603. Merge the rounded white outline with 20-pixel #cccccc border and 112-pixel radius, then separate heading and copy. Keep the bottom outside the 1080-pixel scene; do not scale the whole device to fit.",
  "Translate phone y from 238 at 1 through its retained keys to 98 at 45. Heading and body have independent opacity tracks; both reach 0 at 76. Phone group alpha remains 1 through 74, then 0.8 at 76, 0.15 at 78, 0.06 at 80, 0.025 at 83 and 0 at 86; gate the group off at 90. This abrupt fitted fade remains a known discrepancy.",
  "Build seven independent 640x640 card groups. For each, merge tile-shadow first, then card-face; both have radius 54. The shadow recipe is 0 9px 15px #0000001a. Use each original SVG with cover fit; do not substitute colored placeholder tiles or source screenshots.",
  "Place central arc-card-3 at scene root, not inside the phone. At frame 1 its raw box x=639,y=333, origin=(320,320), scale=0.22812 and rotation=-4. This gives an unrotated center at (959,653), not x plus half the scaled width.",
  "Activate the other six cards at 74 while the phone is still visible. Preserve back-to-front root order: opening, phone, takeaway, cards 0,1,2,4,5,6,3. Card 3 is on top of the fan; do not sort card numbers or depth dynamically.",
  "Drive x,y,rotation,scale separately for each card from its pinned tracks. By 100 scale=0.40625, so the 640-pixel face spans 260 pixels before rotation. The central pivot is at (960,480) at 100; the later path is not stationary. Do not replace this with one shared circle, camera rotation or perspective rig.",
  "For each card group use seven sampled parent transforms only when shutterFrames is positive. Keep children at the integer frame, use fractional parent samples across the centered shutter, and merge with 1/(sampleIndex+1) opacity in order. A built-in motion-blur switch or Echo is not demonstrated equivalent; the retained exit multi-copy smear remains open.",
  "Place takeaway under every card and reveal complete words at 200,206,211,214. Use the current revealed substring in one Text+ box at (410,522), not four independently centered text objects. Cards overlap this text through 223 and are gated off at 224.",
  "Inspect source ordinals 522/523 (locals 222/223) for the last edge before the clean statement. Preserve the distinction between offscreen geometry and the explicit card end at 224. Final output frame is 234; do not hold, fade or submit a product result beyond the source interval.",
  "Run the shared handoff checks and archive-checked commands on original content. Retain the open artwork, corner/shadow, exit exposure, device-fade and closing-type findings. A two-variant recipe remains one treatment; no Resolve or new render validation is asserted."
]

checkpoints
[
  {
    "localFrame": 0,
    "check": "One-frame opening identity only."
  },
  {
    "localFrame": 1,
    "check": "Hard cut to phone and card 3; raw card center=(959,653) before rotation, scale=0.22812."
  },
  {
    "localFrame": 45,
    "check": "Phone y reaches 98; do not auto-fit its 1500-pixel local height to the frame."
  },
  {
    "localFrame": 68,
    "check": "Source fade review begins here; the retained phone group is still fully opaque."
  },
  {
    "localFrame": 74,
    "check": "Six surrounding cards enter and fan overlaps phone; phone alpha is still 1."
  },
  {
    "localFrame": 76,
    "check": "Phone heading/copy alpha=0; outline group alpha=0.8."
  },
  {
    "localFrame": 78,
    "check": "Phone group alpha=0.15; compare its abrupt washout separately from card travel."
  },
  {
    "localFrame": 86,
    "check": "Phone group alpha=0; its layer remains structurally active until 90."
  },
  {
    "localFrame": 100,
    "check": "Card 3 at x=640,y=160,scale=0.40625,rotation=0; centered 260-pixel face."
  },
  {
    "localFrame": 124,
    "check": "Viewed retained source/original native pair: source aircraft versus editorial architecture page. Card 3 center=(1031.3567555,474.3662449)."
  },
  {
    "localFrame": 175,
    "check": "Exiting art starts the open multi-copy-smear review range; inspect outlines and small type independently."
  },
  {
    "localFrame": 200,
    "check": "First statement word appears behind exiting cards; their activity is not over."
  },
  {
    "localFrame": 206,
    "check": "Second complete word appears, without re-centering the line."
  },
  {
    "localFrame": 211,
    "check": "Third complete word appears."
  },
  {
    "localFrame": 214,
    "check": "Fourth complete word appears while cards still exist."
  },
  {
    "localFrame": 222,
    "check": "Source frame 522 has a faint final card edge according to inherited contacts; compare exact retained native outputs, not an approximate video seek."
  },
  {
    "localFrame": 223,
    "check": "Source frame 523 is clean according to inherited contacts; cards are still structurally active, shutter=0."
  },
  {
    "localFrame": 224,
    "check": "Every card is gated off; the statement continues."
  },
  {
    "localFrame": 234,
    "check": "Last statement frame; inherited lower/smaller type mismatch remains open."
  }
]

limitations
[
  "Material source difference: the retained editorial SVG crops are not the large textured subject illustrations in the source. Geometry guidance does not repair that content gap.",
  "Inherited open material pulse-editorial-art: Editorial portfolio tiles replace the source’s illustrated subject cards",
  "Inherited open minor pulse-card-surface: Card corners and shadows make the outputs look flatter",
  "Inherited open minor pulse-exit-ghosting: Exit artwork develops conspicuous multi-copy smearing",
  "Inherited open minor pulse-device-fade: The phone border holds longer, then washes out too abruptly",
  "Inherited open minor pulse-closing-type: Closing copy sits lower and slightly smaller",
  "Ordered contacts do not establish uninterrupted human viewing.",
  "Review clip starts at source 300; implementation starts at source 300; clip offset 0 frames.",
  "No acceptance record has been authored by this builder.",
  "Draft, not source-fidelity approval. Main owns synchronized comparisons and fresh-context review.",
  "New aspect ratio, variable count or changed movement timing needs a separately reviewed layout.",
  "Geist is a bundled OFL substitute, not a recovered source font. Source metric differences remain open.",
  "Source category drawings are replaced by original editorial/architectural artwork: subject matter and illustrative texture remain materially different.",
  "Per-card arc angles, phone alpha curve, shadow and corner values are implementation fits; no original projection/easing tokens were recovered.",
  "At f522 a faint exiting card edge remains; f523 is clean in the inspected contacts. The fitted path must be checked at those exact export frames.",
  "Original FORMA editorial illustrations still differ materially from the source category drawings.",
  "Card shadows and subframe shutter remain fitted, not recovered production settings.",
  "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."
]
