fusionSetup
{
  "backgroundNode": "Background_Canvas",
  "background": "#ffffff",
  "outputNode": "MediaOut1",
  "input": "Merge_topic-parent-3",
  "localFrames": [
    0,
    76
  ],
  "timelineFps": {
    "numerator": 24000,
    "denominator": 1001
  },
  "pixelAspect": 1,
  "notAnImportFile": true,
  "documentation": "Retained official Resolve21 manual: Transform chapter120 printed2929–2931; masks chapter108. Documentation is not installed-application verification.",
  "layerOrder": "Ordered premultiplied Over merges, each child tree before its parent transform and whole-group opacity. Final1920x1080 output clip only after parent transforms.",
  "instructions": [
    "All keys are global zero-based recipe-local frames, not layer-relative time. Activation is half-open start<=f<end. A node outside its gate contributes transparent alpha. Gate and reveal controls are distinct from numeric CSV tracks.",
    "Use x-right/y-down local pixel coordinates. For zero rotation and origin(ox,oy), sx=scale*scaleX, sy=scale*scaleY; bx=x+ox-sx*ox, by=y+oy-sy*oy. Mapped point=(bx+sx*inputX,by+sy*inputY). For a full-domain centered Fusion Pivot, CenterX=bx/domainWidth+sx/2, CenterY=1-by/domainHeight-sy/2. Use actual domain dimensions, not automatically1920. Positive CSS clockwise rotation would use negative Fusion Angle; these recipes do not rotate.",
    "Rectangle center=((x+w/2)/domainWidth,1-(y+h/2)/domainHeight), Width=w/domainWidth, Height=h/domainHeight. Rounded radius is specified in pixels; construct matching Bezier geometry rather than assuming a native radius slider is pixel-valued.",
    "Preserve the carousel4180x1080 strip and all offscreen material until translation and camera scale are applied. Do not flatten to a1920-wide intermediate before cards3/4 enter. Parent scale pivot is output pixel960,540, not strip center2090,540. The step guide gives the composed per-card pixel transform as a cross-check.",
    "Left-key hold persists strictly before the next key; the next key becomes active exactly at its frame. Smooth is u*u*(3-2*u), linear is u. Do not substitute Auto splines or the inherited helper cubic Bezier. Native values in controls.csv can be baked directly.",
    "Apply image blur before its white-veil Over merge and rounded-card alpha mask. Inset clip always affects alpha even when overflow is visible; rounded descendant clipping requires overflow:hidden. New-image masks are local to that card. Use transparent RGBA outside masks, not black or Screen blending. Group opacity applies once after child composition.",
    "Text uses bundled Geist, fixed full-string boxes, explicit newlines and held character prefixes. Calibrate Text+ font size and baseline in the actual application. SVG gradient appearance and blur units also require native validation; scalar agreement does not imply identical rasterization.",
    "No retiming, optical flow, transition handles, added terminal hold, synthesized audio or native Resolve execution is part of this handoff."
  ]
}

fusionNodes
[
  {
    "layerId": "canvas-paper",
    "nodeId": "Layer_canvas-paper",
    "kind": "rect",
    "parentLayerId": null,
    "recipePointer": "/layers/0",
    "mergeIndex": 0,
    "backgroundInput": "Background_Canvas",
    "foregroundInput": "Processed_canvas-paper",
    "output": "Merge_canvas-paper",
    "activeLocalFrames": [
      0,
      76
    ],
    "effectiveActiveLocalFrames": [
      0,
      76
    ],
    "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.",
    "controls": {
      "start": 0,
      "end": 76,
      "x": 0,
      "y": 0,
      "width": 1920,
      "height": 1080,
      "origin": [
        0,
        0
      ],
      "fill": "$paper"
    },
    "alphaAndMasks": {
      "opacity": 1,
      "radiusPixels": 0,
      "overflow": "visible",
      "clip": null,
      "insetClipIsIndependentOfOverflow": true,
      "order": "Draw or merge local content; apply the listed local effects and alpha masks. The explicit inset clip always applies, independently of overflow. Rounded descendant clipping requires overflow:hidden. Apply the local transform and whole-layer opacity before ordered Over into the parent."
    },
    "defaultTransform": {
      "originPixels": [
        0,
        0
      ],
      "scale": 1,
      "scaleX": 1,
      "scaleY": 1,
      "rotation": 0,
      "opacity": 1
    },
    "tools": [
      "Background with Rectangle/Ellipse mask",
      "Inside-border ring if stroke is present",
      "Blur if present",
      "Local Transform",
      "Over Merge"
    ]
  },
  {
    "layerId": "original-context",
    "nodeId": "Layer_original-context",
    "kind": "image",
    "parentLayerId": null,
    "recipePointer": "/layers/1",
    "mergeIndex": 1,
    "backgroundInput": "Merge_canvas-paper",
    "foregroundInput": "Processed_original-context",
    "output": "Merge_original-context",
    "activeLocalFrames": [
      0,
      76
    ],
    "effectiveActiveLocalFrames": [
      0,
      76
    ],
    "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.",
    "controls": {
      "start": 0,
      "end": 76,
      "x": 0,
      "y": 0,
      "width": 1920,
      "height": 1080,
      "origin": [
        0,
        0
      ],
      "slot": "contextArt",
      "fit": "contain"
    },
    "alphaAndMasks": {
      "opacity": 1,
      "radiusPixels": 0,
      "overflow": "visible",
      "clip": null,
      "insetClipIsIndependentOfOverflow": true,
      "order": "Draw or merge local content; apply the listed local effects and alpha masks. The explicit inset clip always applies, independently of overflow. Rounded descendant clipping requires overflow:hidden. Apply the local transform and whole-layer opacity before ordered Over into the parent."
    },
    "defaultTransform": {
      "originPixels": [
        0,
        0
      ],
      "scale": 1,
      "scaleX": 1,
      "scaleY": 1,
      "rotation": 0,
      "opacity": 1
    },
    "tools": [
      "Native vector subgroup reconstructed from svgConstruction",
      "Fit Transform",
      "Local Transform",
      "Over Merge"
    ],
    "assets": {
      "defaults": {
        "kind": "image",
        "path": "art/overlay-topic-stack-release/context-default.svg",
        "width": 1920,
        "height": 1080,
        "rights": "Original code-generated vector geometry for this kit. No source film imagery, tracing, logos, embedded bitmap or external resources."
      },
      "adaptation": {
        "kind": "image",
        "path": "art/overlay-topic-stack-release/context-adaptation.svg",
        "width": 1920,
        "height": 1080,
        "rights": "Original code-generated vector geometry for this kit. No source film imagery, tracing, logos, embedded bitmap or external resources."
      }
    },
    "fitRule": "Use min(boxWidth/SVGWidth, boxHeight/SVGHeight), center the resulting artwork in the box, preserve SVG viewBox and alpha. These supplied boxes match their assets; no photographic crop."
  },
  {
    "layerId": "topic-parent-1",
    "nodeId": "Layer_topic-parent-1",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/2",
    "mergeIndex": 2,
    "backgroundInput": "Merge_original-context",
    "foregroundInput": "Processed_topic-parent-1",
    "output": "Merge_topic-parent-1",
    "activeLocalFrames": [
      10,
      63
    ],
    "effectiveActiveLocalFrames": [
      10,
      63
    ],
    "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.",
    "controls": {
      "start": 10,
      "end": 63,
      "x": [
        {
          "frame": 10,
          "value": 128,
          "easing": "smooth"
        },
        {
          "frame": 16,
          "value": 116,
          "easing": "hold"
        }
      ],
      "y": 549,
      "width": 850,
      "height": 170,
      "origin": [
        0,
        0
      ]
    },
    "alphaAndMasks": {
      "opacity": 1,
      "radiusPixels": 0,
      "overflow": "visible",
      "clip": null,
      "insetClipIsIndependentOfOverflow": true,
      "order": "Draw or merge local content; apply the listed local effects and alpha masks. The explicit inset clip always applies, independently of overflow. Rounded descendant clipping requires overflow:hidden. Apply the local transform and whole-layer opacity before ordered Over into the parent."
    },
    "defaultTransform": {
      "originPixels": [
        0,
        0
      ],
      "scale": 1,
      "scaleX": 1,
      "scaleY": 1,
      "rotation": 0,
      "opacity": 1
    },
    "tools": [
      "Transparent RGBA working domain",
      "Ordered child Merges",
      "Rounded Rectangle/Polygon alpha intersection if required",
      "Transform",
      "Group opacity",
      "Over Merge"
    ],
    "localFill": "transparent",
    "childLayerIds": [
      "topic-text-1"
    ],
    "contentsInput": "Merge_topic-text-1"
  },
  {
    "layerId": "topic-text-1",
    "nodeId": "Layer_topic-text-1",
    "kind": "text",
    "parentLayerId": "topic-parent-1",
    "recipePointer": "/layers/2/children/0",
    "mergeIndex": 0,
    "backgroundInput": "Transparent_topic-parent-1",
    "foregroundInput": "Processed_topic-text-1",
    "output": "Merge_topic-text-1",
    "activeLocalFrames": [
      10,
      63
    ],
    "effectiveActiveLocalFrames": [
      10,
      63
    ],
    "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.",
    "controls": {
      "start": 10,
      "end": 63,
      "x": 0,
      "y": 0,
      "width": 850,
      "height": 170,
      "origin": [
        0,
        0
      ],
      "slot": "topicFirst",
      "fontSize": 136,
      "weight": 650,
      "lineHeight": 1.05,
      "color": "$ink",
      "letterSpacing": -2
    },
    "alphaAndMasks": {
      "opacity": 1,
      "radiusPixels": 0,
      "overflow": "visible",
      "clip": null,
      "insetClipIsIndependentOfOverflow": true,
      "order": "Draw or merge local content; apply the listed local effects and alpha masks. The explicit inset clip always applies, independently of overflow. Rounded descendant clipping requires overflow:hidden. Apply the local transform and whole-layer opacity before ordered Over into the parent."
    },
    "defaultTransform": {
      "originPixels": [
        0,
        0
      ],
      "scale": 1,
      "scaleX": 1,
      "scaleY": 1,
      "rotation": 0,
      "opacity": 1
    },
    "tools": [
      "Text+ in bundled Geist",
      "Set explicit newline layout",
      "Stepped StyledText or Write On gate when present",
      "Local Transform",
      "Over Merge"
    ],
    "content": {
      "defaults": "Gather",
      "adaptation": "Survey"
    },
    "font": {
      "family": "Geist",
      "file": "project/public/fonts/Geist.ttf",
      "pixels": 136,
      "weight": 650,
      "lineHeightPixels": 142.8,
      "letterSpacingPixels": -2,
      "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative."
    }
  },
  {
    "layerId": "topic-parent-2",
    "nodeId": "Layer_topic-parent-2",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/3",
    "mergeIndex": 3,
    "backgroundInput": "Merge_topic-parent-1",
    "foregroundInput": "Processed_topic-parent-2",
    "output": "Merge_topic-parent-2",
    "activeLocalFrames": [
      15,
      66
    ],
    "effectiveActiveLocalFrames": [
      15,
      66
    ],
    "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.",
    "controls": {
      "start": 15,
      "end": 66,
      "x": [
        {
          "frame": 15,
          "value": 146,
          "easing": "smooth"
        },
        {
          "frame": 22,
          "value": 116,
          "easing": "hold"
        }
      ],
      "y": 691,
      "width": 850,
      "height": 170,
      "origin": [
        0,
        0
      ]
    },
    "alphaAndMasks": {
      "opacity": 1,
      "radiusPixels": 0,
      "overflow": "visible",
      "clip": null,
      "insetClipIsIndependentOfOverflow": true,
      "order": "Draw or merge local content; apply the listed local effects and alpha masks. The explicit inset clip always applies, independently of overflow. Rounded descendant clipping requires overflow:hidden. Apply the local transform and whole-layer opacity before ordered Over into the parent."
    },
    "defaultTransform": {
      "originPixels": [
        0,
        0
      ],
      "scale": 1,
      "scaleX": 1,
      "scaleY": 1,
      "rotation": 0,
      "opacity": 1
    },
    "tools": [
      "Transparent RGBA working domain",
      "Ordered child Merges",
      "Rounded Rectangle/Polygon alpha intersection if required",
      "Transform",
      "Group opacity",
      "Over Merge"
    ],
    "localFill": "transparent",
    "childLayerIds": [
      "topic-text-2"
    ],
    "contentsInput": "Merge_topic-text-2"
  },
  {
    "layerId": "topic-text-2",
    "nodeId": "Layer_topic-text-2",
    "kind": "text",
    "parentLayerId": "topic-parent-2",
    "recipePointer": "/layers/3/children/0",
    "mergeIndex": 0,
    "backgroundInput": "Transparent_topic-parent-2",
    "foregroundInput": "Processed_topic-text-2",
    "output": "Merge_topic-text-2",
    "activeLocalFrames": [
      15,
      66
    ],
    "effectiveActiveLocalFrames": [
      15,
      66
    ],
    "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.",
    "controls": {
      "start": 15,
      "end": 66,
      "x": 0,
      "y": 0,
      "width": 850,
      "height": 170,
      "origin": [
        0,
        0
      ],
      "slot": "topicSecond",
      "fontSize": 136,
      "weight": 650,
      "lineHeight": 1.05,
      "color": "$ink",
      "letterSpacing": -2
    },
    "alphaAndMasks": {
      "opacity": 1,
      "radiusPixels": 0,
      "overflow": "visible",
      "clip": null,
      "insetClipIsIndependentOfOverflow": true,
      "order": "Draw or merge local content; apply the listed local effects and alpha masks. The explicit inset clip always applies, independently of overflow. Rounded descendant clipping requires overflow:hidden. Apply the local transform and whole-layer opacity before ordered Over into the parent."
    },
    "defaultTransform": {
      "originPixels": [
        0,
        0
      ],
      "scale": 1,
      "scaleX": 1,
      "scaleY": 1,
      "rotation": 0,
      "opacity": 1
    },
    "tools": [
      "Text+ in bundled Geist",
      "Set explicit newline layout",
      "Stepped StyledText or Write On gate when present",
      "Local Transform",
      "Over Merge"
    ],
    "content": {
      "defaults": "Shape",
      "adaptation": "Trace"
    },
    "font": {
      "family": "Geist",
      "file": "project/public/fonts/Geist.ttf",
      "pixels": 136,
      "weight": 650,
      "lineHeightPixels": 142.8,
      "letterSpacingPixels": -2,
      "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative."
    }
  },
  {
    "layerId": "topic-parent-3",
    "nodeId": "Layer_topic-parent-3",
    "kind": "group",
    "parentLayerId": null,
    "recipePointer": "/layers/4",
    "mergeIndex": 4,
    "backgroundInput": "Merge_topic-parent-2",
    "foregroundInput": "Processed_topic-parent-3",
    "output": "Merge_topic-parent-3",
    "activeLocalFrames": [
      20,
      69
    ],
    "effectiveActiveLocalFrames": [
      20,
      69
    ],
    "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.",
    "controls": {
      "start": 20,
      "end": 69,
      "x": [
        {
          "frame": 20,
          "value": 130,
          "easing": "smooth"
        },
        {
          "frame": 29,
          "value": 116,
          "easing": "hold"
        }
      ],
      "y": 833,
      "width": 850,
      "height": 170,
      "origin": [
        0,
        0
      ]
    },
    "alphaAndMasks": {
      "opacity": 1,
      "radiusPixels": 0,
      "overflow": "visible",
      "clip": null,
      "insetClipIsIndependentOfOverflow": true,
      "order": "Draw or merge local content; apply the listed local effects and alpha masks. The explicit inset clip always applies, independently of overflow. Rounded descendant clipping requires overflow:hidden. Apply the local transform and whole-layer opacity before ordered Over into the parent."
    },
    "defaultTransform": {
      "originPixels": [
        0,
        0
      ],
      "scale": 1,
      "scaleX": 1,
      "scaleY": 1,
      "rotation": 0,
      "opacity": 1
    },
    "tools": [
      "Transparent RGBA working domain",
      "Ordered child Merges",
      "Rounded Rectangle/Polygon alpha intersection if required",
      "Transform",
      "Group opacity",
      "Over Merge"
    ],
    "localFill": "transparent",
    "childLayerIds": [
      "topic-text-3"
    ],
    "contentsInput": "Merge_topic-text-3"
  },
  {
    "layerId": "topic-text-3",
    "nodeId": "Layer_topic-text-3",
    "kind": "text",
    "parentLayerId": "topic-parent-3",
    "recipePointer": "/layers/4/children/0",
    "mergeIndex": 0,
    "backgroundInput": "Transparent_topic-parent-3",
    "foregroundInput": "Processed_topic-text-3",
    "output": "Merge_topic-text-3",
    "activeLocalFrames": [
      20,
      69
    ],
    "effectiveActiveLocalFrames": [
      20,
      69
    ],
    "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.",
    "controls": {
      "start": 20,
      "end": 69,
      "x": 0,
      "y": 0,
      "width": 850,
      "height": 170,
      "origin": [
        0,
        0
      ],
      "slot": "topicThird",
      "fontSize": 136,
      "weight": 650,
      "lineHeight": 1.05,
      "color": "$ink",
      "letterSpacing": -2,
      "reveal": {
        "unit": "characters",
        "steps": [
          {
            "frame": 20,
            "count": 1
          },
          {
            "frame": 22,
            "count": 2
          },
          {
            "frame": 23,
            "count": 3
          },
          {
            "frame": 24,
            "count": 4
          },
          {
            "frame": 26,
            "count": 5
          },
          {
            "frame": 29,
            "count": 8
          }
        ]
      }
    },
    "alphaAndMasks": {
      "opacity": 1,
      "radiusPixels": 0,
      "overflow": "visible",
      "clip": null,
      "insetClipIsIndependentOfOverflow": true,
      "order": "Draw or merge local content; apply the listed local effects and alpha masks. The explicit inset clip always applies, independently of overflow. Rounded descendant clipping requires overflow:hidden. Apply the local transform and whole-layer opacity before ordered Over into the parent."
    },
    "defaultTransform": {
      "originPixels": [
        0,
        0
      ],
      "scale": 1,
      "scaleX": 1,
      "scaleY": 1,
      "rotation": 0,
      "opacity": 1
    },
    "tools": [
      "Text+ in bundled Geist",
      "Set explicit newline layout",
      "Stepped StyledText or Write On gate when present",
      "Local Transform",
      "Over Merge"
    ],
    "content": {
      "defaults": "Finish",
      "adaptation": "Publish"
    },
    "font": {
      "family": "Geist",
      "file": "project/public/fonts/Geist.ttf",
      "pixels": 136,
      "weight": 650,
      "lineHeightPixels": 142.8,
      "letterSpacingPixels": -2,
      "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative."
    }
  }
]

svgConstruction
{
  "art/overlay-topic-stack-release/context-default.svg": {
    "sha256": "f15e1be6d42801acc5cf1a3e520ef279bc81ec4453417e5f6f07bec25eb745e8",
    "construction": {
      "element": "svg",
      "attributes": {
        "width": "1920",
        "height": "1080",
        "viewBox": "0 0 1920 1080"
      },
      "children": [
        {
          "element": "title",
          "attributes": {},
          "children": []
        },
        {
          "element": "defs",
          "attributes": {},
          "children": [
            {
              "element": "linearGradient",
              "attributes": {
                "id": "wall",
                "x1": "0",
                "y1": "0",
                "x2": "1",
                "y2": "1"
              },
              "children": [
                {
                  "element": "stop",
                  "attributes": {
                    "stop-color": "#d8c5a8"
                  },
                  "children": []
                },
                {
                  "element": "stop",
                  "attributes": {
                    "offset": "1",
                    "stop-color": "#f0ede2"
                  },
                  "children": []
                }
              ]
            },
            {
              "element": "linearGradient",
              "attributes": {
                "id": "shade",
                "x1": "0",
                "y1": "0",
                "x2": "1",
                "y2": "0"
              },
              "children": [
                {
                  "element": "stop",
                  "attributes": {
                    "stop-color": "#263e3c"
                  },
                  "children": []
                },
                {
                  "element": "stop",
                  "attributes": {
                    "offset": "1",
                    "stop-color": "#4c5b58"
                  },
                  "children": []
                }
              ]
            }
          ]
        },
        {
          "element": "rect",
          "attributes": {
            "id": "wall-plane",
            "width": "1920",
            "height": "1080",
            "fill": "url(#wall)"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "window-light",
            "d": "M80 0H760L1120 640H0V144Z",
            "fill": "#ffffff",
            "opacity": ".25"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "rear-workbench",
            "d": "M0 524L1034 478L1920 601V1080H0Z",
            "fill": "url(#shade)"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "table-plane",
            "d": "M801 864L1920 713V1080H542Z",
            "fill": "#b89c77"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "table-edge",
            "d": "M542 1080L801 864L1920 713V740L818 892L585 1080Z",
            "fill": "#d2b992"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "wall-shelf",
            "d": "M1066 322H1784V346H1066Z",
            "fill": "#6a6559"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "shelf-shadow",
            "d": "M1066 346H1784V373H1098Z",
            "fill": "#183832",
            "opacity": ".13"
          },
          "children": []
        },
        {
          "element": "rect",
          "attributes": {
            "id": "back-frame",
            "x": "1504",
            "y": "104",
            "width": "234",
            "height": "210",
            "rx": "3",
            "fill": "#eee4cf"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "framed-study",
            "d": "M1532 274V135H1706V274Z",
            "fill": "#4e706d"
          },
          "children": []
        },
        {
          "element": "circle",
          "attributes": {
            "id": "study-circle",
            "cx": "1600",
            "cy": "191",
            "r": "37",
            "fill": "#d7bc79"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "study-line",
            "d": "M1532 244L1582 216L1635 238L1706 165",
            "fill": "none",
            "stroke": "#ebd9b7",
            "stroke-width": "7"
          },
          "children": []
        },
        {
          "element": "ellipse",
          "attributes": {
            "id": "main-shadow",
            "cx": "1347",
            "cy": "886",
            "rx": "255",
            "ry": "45",
            "fill": "#273632",
            "opacity": ".23"
          },
          "children": []
        },
        {
          "element": "defs",
          "attributes": {},
          "children": [
            {
              "element": "linearGradient",
              "attributes": {
                "id": "clay",
                "x1": "0",
                "y1": "0",
                "x2": "1",
                "y2": "0"
              },
              "children": [
                {
                  "element": "stop",
                  "attributes": {
                    "stop-color": "#915b3f"
                  },
                  "children": []
                },
                {
                  "element": "stop",
                  "attributes": {
                    "offset": ".40",
                    "stop-color": "#ce9470"
                  },
                  "children": []
                },
                {
                  "element": "stop",
                  "attributes": {
                    "offset": "1",
                    "stop-color": "#79503e"
                  },
                  "children": []
                }
              ]
            }
          ]
        },
        {
          "element": "path",
          "attributes": {
            "id": "tall-vessel",
            "d": "M1192 487H1385L1370 531L1411 804Q1417 873 1288 886Q1158 883 1164 809L1210 531Z",
            "fill": "url(#clay)"
          },
          "children": []
        },
        {
          "element": "ellipse",
          "attributes": {
            "id": "vessel-opening",
            "cx": "1288",
            "cy": "488",
            "rx": "96",
            "ry": "22",
            "fill": "#664438"
          },
          "children": []
        },
        {
          "element": "ellipse",
          "attributes": {
            "id": "opening-lip",
            "cx": "1288",
            "cy": "488",
            "rx": "75",
            "ry": "12",
            "fill": "#332f2a"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "vessel-highlight",
            "d": "M1212 551Q1186 739 1206 823",
            "stroke": "#e4b78d",
            "stroke-width": "16",
            "fill": "none",
            "opacity": ".38"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "small-bowl",
            "d": "M1449 753H1661Q1650 871 1551 869Q1468 865 1449 753Z",
            "fill": "#8b9c85"
          },
          "children": []
        },
        {
          "element": "ellipse",
          "attributes": {
            "id": "bowl-mouth",
            "cx": "1555",
            "cy": "753",
            "rx": "106",
            "ry": "20",
            "fill": "#465b4a"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "clay-tool",
            "d": "M1441 550L1460 550L1534 793L1510 801Z",
            "fill": "#ddcba8"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "small-plinth",
            "d": "M1099 742L1142 736L1148 870L1111 877Z",
            "fill": "#e3c894"
          },
          "children": []
        },
        {
          "element": "rect",
          "attributes": {
            "id": "shelf-block",
            "x": "1120",
            "y": "233",
            "width": "123",
            "height": "89",
            "fill": "#e4d6b6"
          },
          "children": []
        },
        {
          "element": "circle",
          "attributes": {
            "id": "shelf-sample",
            "cx": "1331",
            "cy": "280",
            "r": "42",
            "fill": "#987256"
          },
          "children": []
        }
      ]
    },
    "authorship": "Original authored SVG geometry; no source image conversion or tracing.",
    "nativeRebuild": "Rebuild each identified element as its own vector/masked color node in XML order. Keep path coordinates, gradient stops, stop-opacity, fill/stroke opacity, stroke width, explicit line joins/caps and viewBox. No SVG image nodes. Gradients without units use objectBoundingBox; defaults are butt caps/miter joins. Nothing is a flattened screenshot."
  },
  "art/overlay-topic-stack-release/context-adaptation.svg": {
    "sha256": "69dedf9ea67241e3caa026f51c7f6bb434d3ee9a495323f575318613d7cb2667",
    "construction": {
      "element": "svg",
      "attributes": {
        "width": "1920",
        "height": "1080",
        "viewBox": "0 0 1920 1080"
      },
      "children": [
        {
          "element": "title",
          "attributes": {},
          "children": []
        },
        {
          "element": "defs",
          "attributes": {},
          "children": [
            {
              "element": "linearGradient",
              "attributes": {
                "id": "wall",
                "x1": "0",
                "y1": "0",
                "x2": "1",
                "y2": "1"
              },
              "children": [
                {
                  "element": "stop",
                  "attributes": {
                    "stop-color": "#b3c6be"
                  },
                  "children": []
                },
                {
                  "element": "stop",
                  "attributes": {
                    "offset": "1",
                    "stop-color": "#f0ede2"
                  },
                  "children": []
                }
              ]
            },
            {
              "element": "linearGradient",
              "attributes": {
                "id": "shade",
                "x1": "0",
                "y1": "0",
                "x2": "1",
                "y2": "0"
              },
              "children": [
                {
                  "element": "stop",
                  "attributes": {
                    "stop-color": "#253c47"
                  },
                  "children": []
                },
                {
                  "element": "stop",
                  "attributes": {
                    "offset": "1",
                    "stop-color": "#31474d"
                  },
                  "children": []
                }
              ]
            }
          ]
        },
        {
          "element": "rect",
          "attributes": {
            "id": "wall-plane",
            "width": "1920",
            "height": "1080",
            "fill": "url(#wall)"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "window-light",
            "d": "M80 0H760L1120 640H0V144Z",
            "fill": "#ffffff",
            "opacity": ".25"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "rear-workbench",
            "d": "M0 524L1034 478L1920 601V1080H0Z",
            "fill": "url(#shade)"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "table-plane",
            "d": "M801 864L1920 713V1080H542Z",
            "fill": "#b89c77"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "table-edge",
            "d": "M542 1080L801 864L1920 713V740L818 892L585 1080Z",
            "fill": "#d2b992"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "wall-shelf",
            "d": "M1066 322H1784V346H1066Z",
            "fill": "#6a6559"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "shelf-shadow",
            "d": "M1066 346H1784V373H1098Z",
            "fill": "#183832",
            "opacity": ".13"
          },
          "children": []
        },
        {
          "element": "rect",
          "attributes": {
            "id": "back-frame",
            "x": "1504",
            "y": "104",
            "width": "234",
            "height": "210",
            "rx": "3",
            "fill": "#eee4cf"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "framed-study",
            "d": "M1532 274V135H1706V274Z",
            "fill": "#4e706d"
          },
          "children": []
        },
        {
          "element": "circle",
          "attributes": {
            "id": "study-circle",
            "cx": "1600",
            "cy": "191",
            "r": "37",
            "fill": "#d7bc79"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "study-line",
            "d": "M1532 244L1582 216L1635 238L1706 165",
            "fill": "none",
            "stroke": "#ebd9b7",
            "stroke-width": "7"
          },
          "children": []
        },
        {
          "element": "ellipse",
          "attributes": {
            "id": "main-shadow",
            "cx": "1347",
            "cy": "886",
            "rx": "255",
            "ry": "45",
            "fill": "#273632",
            "opacity": ".23"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "map-board",
            "d": "M1156 427L1524 464L1477 855L1106 816Z",
            "fill": "#dfd3ae"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "map-land",
            "d": "M1159 477L1304 459L1378 548L1476 581L1401 653L1370 785L1170 759L1212 645Z",
            "fill": "#658878"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "map-river",
            "d": "M1281 476C1393 550 1242 603 1364 744",
            "fill": "none",
            "stroke": "#b4c9c3",
            "stroke-width": "19"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "route",
            "d": "M1174 716L1210 561L1350 604L1444 714",
            "fill": "none",
            "stroke": "#855d3c",
            "stroke-width": "5",
            "stroke-dasharray": "9 8"
          },
          "children": []
        },
        {
          "element": "circle",
          "attributes": {
            "id": "route-start",
            "cx": "1174",
            "cy": "716",
            "r": "10",
            "fill": "#edc787"
          },
          "children": []
        },
        {
          "element": "circle",
          "attributes": {
            "id": "route-end",
            "cx": "1444",
            "cy": "714",
            "r": "10",
            "fill": "#edc787"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "rolled-sheet",
            "d": "M1551 558L1678 572L1635 868L1510 855Z",
            "fill": "#eee1bd"
          },
          "children": []
        },
        {
          "element": "ellipse",
          "attributes": {
            "id": "roll-end",
            "cx": "1614",
            "cy": "564",
            "rx": "64",
            "ry": "19",
            "fill": "#ae9f7e"
          },
          "children": []
        },
        {
          "element": "ellipse",
          "attributes": {
            "id": "roll-core",
            "cx": "1614",
            "cy": "564",
            "rx": "39",
            "ry": "10",
            "fill": "#6c7265"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "ruler",
            "d": "M1128 847L1477 887L1471 917L1121 877Z",
            "fill": "#9b773e"
          },
          "children": []
        },
        {
          "element": "path",
          "attributes": {
            "id": "compass-arms",
            "d": "M1320 248L1270 322M1320 248L1370 322",
            "stroke": "#425650",
            "stroke-width": "10",
            "fill": "none"
          },
          "children": []
        },
        {
          "element": "circle",
          "attributes": {
            "id": "compass-hinge",
            "cx": "1320",
            "cy": "248",
            "r": "13",
            "fill": "#b09255"
          },
          "children": []
        },
        {
          "element": "rect",
          "attributes": {
            "id": "shelf-book",
            "x": "1120",
            "y": "288",
            "width": "130",
            "height": "34",
            "fill": "#597570"
          },
          "children": []
        }
      ]
    },
    "authorship": "Original authored SVG geometry; no source image conversion or tracing.",
    "nativeRebuild": "Rebuild each identified element as its own vector/masked color node in XML order. Keep path coordinates, gradient stops, stop-opacity, fill/stroke opacity, stroke width, explicit line joins/caps and viewBox. No SVG image nodes. Gradients without units use objectBoundingBox; defaults are butt caps/miter joins. Nothing is a flattened screenshot."
  }
}

tracks
[
  {
    "layerId": "canvas-paper",
    "property": "x",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "canvas-paper",
    "property": "y",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "canvas-paper",
    "property": "width",
    "value": 1920,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "canvas-paper",
    "property": "height",
    "value": 1080,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "original-context",
    "property": "x",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "original-context",
    "property": "y",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "original-context",
    "property": "width",
    "value": 1920,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "original-context",
    "property": "height",
    "value": 1080,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-1",
    "property": "x",
    "value": [
      {
        "frame": 10,
        "value": 128,
        "easing": "smooth"
      },
      {
        "frame": 16,
        "value": 116,
        "easing": "hold"
      }
    ],
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-1",
    "property": "y",
    "value": 549,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-1",
    "property": "width",
    "value": 850,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-1",
    "property": "height",
    "value": 170,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-1",
    "property": "x",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-1",
    "property": "y",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-1",
    "property": "width",
    "value": 850,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-1",
    "property": "height",
    "value": 170,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-2",
    "property": "x",
    "value": [
      {
        "frame": 15,
        "value": 146,
        "easing": "smooth"
      },
      {
        "frame": 22,
        "value": 116,
        "easing": "hold"
      }
    ],
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-2",
    "property": "y",
    "value": 691,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-2",
    "property": "width",
    "value": 850,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-2",
    "property": "height",
    "value": 170,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-2",
    "property": "x",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-2",
    "property": "y",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-2",
    "property": "width",
    "value": 850,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-2",
    "property": "height",
    "value": 170,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-3",
    "property": "x",
    "value": [
      {
        "frame": 20,
        "value": 130,
        "easing": "smooth"
      },
      {
        "frame": 29,
        "value": 116,
        "easing": "hold"
      }
    ],
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-3",
    "property": "y",
    "value": 833,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-3",
    "property": "width",
    "value": 850,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-parent-3",
    "property": "height",
    "value": 170,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-3",
    "property": "x",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-3",
    "property": "y",
    "value": 0,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-3",
    "property": "width",
    "value": 850,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  },
  {
    "layerId": "topic-text-3",
    "property": "height",
    "value": 170,
    "basis": "Chosen implementation control; source observations and exact half-open interval are documented separately."
  }
]

steps
[
  "Set the exact clock. Create1920x1080 square-pixel composition,24000/1001 (23.976 label),76frames indexed0..75. Do not use24fps or add transition handles. Whole-source frame is419+f. Source-relative integer clock uses f*1001 ticks at24000; keep the provided actual PTS record separate from nominal calculations.",
  "Build original context on V1. Use canvas-paper, then original-context as ordered Over merges. Reconstruct the selected context SVG from svgConstruction: wall gradient, angled light, dark workbench, tabletop, shelf, frame, contact shadow, and variant-specific objects. Preserve element IDs, exact paths/stops/opacities. Default has ceramic vessels; adaptation has map, roll, ruler and compass. No MediaIn of a source frame, person or laptop.",
  "Make three editable text groups on V2–V4. For each topic-parent use transparent local domain850x170, then Text+ topic-text. Geist650 at136px, line height142.8px, tracking-2px, white, left aligned; row y549/691/833 and settled x116. Full-string850px box is constant. Calibrate Text+ Size/baseline against these pixel values; a Resolve font substitution is not accepted.",
  "Gate and settle independent parents. Rows activate[10,63),[15,66),[20,69). Give each entire parent a held0/1 gate. Do not fade the backdrop or change row positions on release. Animate parent x128→116 over10..16;146→116 over15..22;130→116 over20..29, with left-key smoothstep. These offsets/easing are chosen values, not recovered official settings.",
  "Type only the third row. Rows1/2 start as complete words. For row3 use held StyledText prefixes at20/22/23/24/26/29 with character counts1/2/3/4/5/8, clamped to content length. Do not animate textbox width or use a wipe that reveals half glyphs. Longer allowed words finish their remaining characters at29. This is an explicit content adaptation.",
  "Hold, release, check. Common complete stack29..62. Cut row1 at63, row2 at66, row3 at69; no vertical reflow. V1 continues through75. Compare all checkpoint indices and native CSV values before parent movie review. Do not infer motion quality from this static/source-only inspection."
]

checkpoints
[
  {
    "localFrame": 0,
    "sourceFrame": 419,
    "expectation": "Original vector context only."
  },
  {
    "localFrame": 9,
    "sourceFrame": 428,
    "expectation": "Last clean lead frame."
  },
  {
    "localFrame": 10,
    "sourceFrame": 429,
    "expectation": "First whole word appears; parent x128, textbox850."
  },
  {
    "localFrame": 14,
    "sourceFrame": 433,
    "expectation": "First word settling; no second row."
  },
  {
    "localFrame": 15,
    "sourceFrame": 434,
    "expectation": "Second whole word appears at parent x146."
  },
  {
    "localFrame": 16,
    "sourceFrame": 435,
    "expectation": "First parent settled x116."
  },
  {
    "localFrame": 19,
    "sourceFrame": 438,
    "expectation": "Third row still absent."
  },
  {
    "localFrame": 20,
    "sourceFrame": 439,
    "expectation": "Third row appears with one character; parent x130."
  },
  {
    "localFrame": 22,
    "sourceFrame": 441,
    "expectation": "Two third-row characters; second parent settled."
  },
  {
    "localFrame": 23,
    "sourceFrame": 442,
    "expectation": "Three third-row characters."
  },
  {
    "localFrame": 24,
    "sourceFrame": 443,
    "expectation": "Four third-row characters."
  },
  {
    "localFrame": 26,
    "sourceFrame": 445,
    "expectation": "Five third-row characters."
  },
  {
    "localFrame": 28,
    "sourceFrame": 447,
    "expectation": "Five-character hold persists."
  },
  {
    "localFrame": 29,
    "sourceFrame": 448,
    "expectation": "All content through cap8 visible; third parent settled."
  },
  {
    "localFrame": 32,
    "sourceFrame": 451,
    "expectation": "Complete stack, fixed row baselines."
  },
  {
    "localFrame": 40,
    "sourceFrame": 459,
    "expectation": "Common reading hold."
  },
  {
    "localFrame": 48,
    "sourceFrame": 467,
    "expectation": "All glyphs remain intact; no hidden letter masks."
  },
  {
    "localFrame": 56,
    "sourceFrame": 475,
    "expectation": "All rows held; context unchanged."
  },
  {
    "localFrame": 62,
    "sourceFrame": 481,
    "expectation": "Last complete stack frame."
  },
  {
    "localFrame": 63,
    "sourceFrame": 482,
    "expectation": "Top row absent; lower rows do not reflow."
  },
  {
    "localFrame": 64,
    "sourceFrame": 483,
    "expectation": "Only rows2 and3."
  },
  {
    "localFrame": 65,
    "sourceFrame": 484,
    "expectation": "Last row2 frame."
  },
  {
    "localFrame": 66,
    "sourceFrame": 485,
    "expectation": "Only row3."
  },
  {
    "localFrame": 68,
    "sourceFrame": 487,
    "expectation": "Last row3 frame."
  },
  {
    "localFrame": 69,
    "sourceFrame": 488,
    "expectation": "All words absent."
  },
  {
    "localFrame": 75,
    "sourceFrame": 494,
    "expectation": "Last clean context frame; no extra hold."
  }
]

implementationDifferences
[
  "The literal source uses live-action performance. Default replaces it with an original ceramics workbench; adaptation uses a cartographic workbench. Both are non-human vector still-lifes, a material substitution with no live-action motion claim.",
  "Default process: Gather / Shape / Finish. Adaptation: Survey / Trace / Publish. These are different original content workflows, not source words or two examples.",
  "Source gates observed near10/15/20 and63/66/69 inform chosen exact implementation gates.136px Geist650,142px row pitch, x116, parent offsets12/30/14px and smoothstep settling are authored approximations, not recovered film controls.",
  "The third prefix schedule preserves the observed6-character source progression through frame26; frame29 reveals the remaining characters up to the8-character cap, so longer permitted replacement words finish together. Full textbox width remains850 at every frame."
]

limitations
[
  "Replacing a continuously moving live-action presenter/room with original non-human vector context loses the performance, photographic depth, and exact contrast modulation. Text gates are source-index observations; font, exact bounds and easing are chosen implementation values, not official measurements.",
  "All source-quality status remains unresolved; no motion win, blind comparison, source-master inspection or native Resolve execution.",
  "No composition render, encode, npm installation or dependency copy was performed by this builder. Parent production is separate.",
  "Every retained index was viewed in a static480x270 cell; only the explicitly listed frames were additionally viewed at native excerpt resolution. This is not a moving review.",
  "Nominal cadence is inherited and explicit; absolute master PTS remain unknown. Carousel raw source clock is absent and excerpt PTS are not a substitute.",
  "This is one treatment per kit; two content variants and historical resolving states are not extra examples.",
  "A full-string text cap does not guarantee fit for every glyph combination. The actual font gate must run; no automatic shrinking is allowed."
]
