coordinateConventions { "canvas": [ 1920, 1080 ], "workingDomain": [ 4096, 4096 ], "designOriginPx": [ 1024, 1024 ], "workingDesignCenterPx": [ 1024, 1024 ], "recipeAxes": "top-left, +X right, +Y down", "fusionAxes": "normalized bottom-left, +X right, +Y up", "pointFormula": "((x+1024)/4096,1-(y+1024)/4096)", "transform": "AnchorShift(c-o) -> ScaleRotate(scale,-rotation) -> Position(t+o-c); default pivot/center(.5,.5)", "layerOriginDefault": [ 0, 0 ], "masks": "Local before transform; alpha after child assembly; group dimensions do not scale children.", "finalCropDesignRect": [ 0, 0, 1920, 1080 ], "finalCropWorkingRect": [ 1024, 1024, 1920, 1080 ], "interpolation": "Left-key easing; smooth t*t*(3-2*t), linear t, hold until exact right key. Bake native-frame values with linear keys.", "clock": "Global local frame; no start subtraction; all ends exclusive; 60/1 rational.", "roundMaskBezierKappa": 0.5522847498307936 } fusionNodes [ { "layerId": "phone-context", "kind": "group", "recipePointer": "/layers/0", "parentLayerId": null, "mergeIndex": 0, "nodeId": "phone-context_Merge", "output": "phone-context_Merge", "backgroundInput": "RootPaper", "foregroundInput": "phone-context_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "width": 1920, "height": 1080 }, "rawNumericControls": { "width": 1920, "height": 1080 }, "tools": { "Construct": "phone-context_Construct", "LocalMask": "phone-context_LocalMask", "AnchorShift": "phone-context_AnchorShift", "ScaleRotate": "phone-context_ScaleRotate", "Position": "phone-context_Position", "Gated": "phone-context_Gated", "Merge": "phone-context_Merge" }, "connections": [ "phone-context_Construct -> phone-context_LocalMask -> phone-context_AnchorShift -> phone-context_ScaleRotate -> phone-context_Position -> phone-context_Gated -> phone-context_Merge.Foreground", "RootPaper -> phone-context_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "intro-shell", "kind": "rect", "recipePointer": "/layers/0/children/0", "parentLayerId": "phone-context", "mergeIndex": 0, "nodeId": "intro-shell_Merge", "output": "intro-shell_Merge", "backgroundInput": "phone-context_Transparent", "foregroundInput": "intro-shell_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "x": 448, "y": -760, "width": 1024, "height": 1712, "fill": "$border", "radius": 150 }, "rawNumericControls": { "x": 448, "y": -760, "width": 1024, "height": 1712, "radius": 150 }, "tools": { "Construct": "intro-shell_Construct", "LocalMask": "intro-shell_LocalMask", "AnchorShift": "intro-shell_AnchorShift", "ScaleRotate": "intro-shell_ScaleRotate", "Position": "intro-shell_Position", "Gated": "intro-shell_Gated", "Merge": "intro-shell_Merge" }, "connections": [ "intro-shell_Construct -> intro-shell_LocalMask -> intro-shell_AnchorShift -> intro-shell_ScaleRotate -> intro-shell_Position -> intro-shell_Gated -> intro-shell_Merge.Foreground", "phone-context_Transparent -> intro-shell_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 150, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "intro-screen", "kind": "rect", "recipePointer": "/layers/0/children/1", "parentLayerId": "phone-context", "mergeIndex": 1, "nodeId": "intro-screen_Merge", "output": "intro-screen_Merge", "backgroundInput": "intro-shell_Merge", "foregroundInput": "intro-screen_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "x": 480, "y": -728, "width": 960, "height": 1648, "fill": "#ffffff", "radius": 118 }, "rawNumericControls": { "x": 480, "y": -728, "width": 960, "height": 1648, "radius": 118 }, "tools": { "Construct": "intro-screen_Construct", "LocalMask": "intro-screen_LocalMask", "AnchorShift": "intro-screen_AnchorShift", "ScaleRotate": "intro-screen_ScaleRotate", "Position": "intro-screen_Position", "Gated": "intro-screen_Gated", "Merge": "intro-screen_Merge" }, "connections": [ "intro-screen_Construct -> intro-screen_LocalMask -> intro-screen_AnchorShift -> intro-screen_ScaleRotate -> intro-screen_Position -> intro-screen_Gated -> intro-screen_Merge.Foreground", "intro-shell_Merge -> intro-screen_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 118, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "intro-card-fragment", "kind": "rect", "recipePointer": "/layers/0/children/2", "parentLayerId": "phone-context", "mergeIndex": 2, "nodeId": "intro-card-fragment_Merge", "output": "intro-card-fragment_Merge", "backgroundInput": "intro-screen_Merge", "foregroundInput": "intro-card-fragment_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "x": 520, "y": -270, "width": 880, "height": 410, "fill": "$accent", "radius": 44 }, "rawNumericControls": { "x": 520, "y": -270, "width": 880, "height": 410, "radius": 44 }, "tools": { "Construct": "intro-card-fragment_Construct", "LocalMask": "intro-card-fragment_LocalMask", "AnchorShift": "intro-card-fragment_AnchorShift", "ScaleRotate": "intro-card-fragment_ScaleRotate", "Position": "intro-card-fragment_Position", "Gated": "intro-card-fragment_Gated", "Merge": "intro-card-fragment_Merge" }, "connections": [ "intro-card-fragment_Construct -> intro-card-fragment_LocalMask -> intro-card-fragment_AnchorShift -> intro-card-fragment_ScaleRotate -> intro-card-fragment_Position -> intro-card-fragment_Gated -> intro-card-fragment_Merge.Foreground", "intro-screen_Merge -> intro-card-fragment_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 44, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "intro-mark", "kind": "image", "recipePointer": "/layers/0/children/3", "parentLayerId": "phone-context", "mergeIndex": 3, "nodeId": "intro-mark_Merge", "output": "intro-mark_Merge", "backgroundInput": "intro-card-fragment_Merge", "foregroundInput": "intro-mark_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "slot": "suggestionMark", "x": 568, "y": 34, "width": 56, "height": 56, "fit": "contain" }, "rawNumericControls": { "x": 568, "y": 34, "width": 56, "height": 56 }, "tools": { "Construct": "intro-mark_Construct", "LocalMask": "intro-mark_LocalMask", "AnchorShift": "intro-mark_AnchorShift", "ScaleRotate": "intro-mark_ScaleRotate", "Position": "intro-mark_Position", "Gated": "intro-mark_Gated", "Merge": "intro-mark_Merge" }, "connections": [ "intro-mark_Construct -> intro-mark_LocalMask -> intro-mark_AnchorShift -> intro-mark_ScaleRotate -> intro-mark_Position -> intro-mark_Gated -> intro-mark_Merge.Foreground", "intro-card-fragment_Merge -> intro-mark_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." }, "adaptation": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." } }, "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader." }, { "layerId": "intro-heading", "kind": "text", "recipePointer": "/layers/0/children/4", "parentLayerId": "phone-context", "mergeIndex": 4, "nodeId": "intro-heading_Merge", "output": "intro-heading_Merge", "backgroundInput": "intro-mark_Merge", "foregroundInput": "intro-heading_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "slot": "introTitle", "x": 520, "y": 233, "width": 880, "height": 70, "fontSize": 44, "weight": 400, "lineHeight": 1.2, "color": "$ink" }, "rawNumericControls": { "x": 520, "y": 233, "width": 880, "height": 70 }, "tools": { "Construct": "intro-heading_Construct", "LocalMask": "intro-heading_LocalMask", "AnchorShift": "intro-heading_AnchorShift", "ScaleRotate": "intro-heading_ScaleRotate", "Position": "intro-heading_Position", "Gated": "intro-heading_Gated", "Merge": "intro-heading_Merge" }, "connections": [ "intro-heading_Construct -> intro-heading_LocalMask -> intro-heading_AnchorShift -> intro-heading_ScaleRotate -> intro-heading_Position -> intro-heading_Gated -> intro-heading_Merge.Foreground", "intro-mark_Merge -> intro-heading_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "A few notes for today.", "adaptation": "A few sketches for today." }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 44, "lineAdvancePx": 52.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.0107421875, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } }, { "layerId": "intro-body", "kind": "text", "recipePointer": "/layers/0/children/5", "parentLayerId": "phone-context", "mergeIndex": 5, "nodeId": "intro-body_Merge", "output": "intro-body_Merge", "backgroundInput": "intro-heading_Merge", "foregroundInput": "intro-body_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "slot": "introBody", "x": 520, "y": 354, "width": 880, "height": 190, "fontSize": 44, "weight": 400, "lineHeight": 1.2, "color": "$ink" }, "rawNumericControls": { "x": 520, "y": 354, "width": 880, "height": 190 }, "tools": { "Construct": "intro-body_Construct", "LocalMask": "intro-body_LocalMask", "AnchorShift": "intro-body_AnchorShift", "ScaleRotate": "intro-body_ScaleRotate", "Position": "intro-body_Position", "Gated": "intro-body_Gated", "Merge": "intro-body_Merge" }, "connections": [ "intro-body_Construct -> intro-body_LocalMask -> intro-body_AnchorShift -> intro-body_ScaleRotate -> intro-body_Position -> intro-body_Gated -> intro-body_Merge.Foreground", "intro-heading_Merge -> intro-body_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "Tomorrow could bring a paper study,\na new colour pairing, and a small\nidea for the shared studio.", "adaptation": "Tomorrow could bring a garden page,\na sky observation, and a small\nidea for the next notebook." }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 44, "lineAdvancePx": 52.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.0107421875, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } }, { "layerId": "intro-question", "kind": "text", "recipePointer": "/layers/0/children/6", "parentLayerId": "phone-context", "mergeIndex": 6, "nodeId": "intro-question_Merge", "output": "intro-question_Merge", "backgroundInput": "intro-body_Merge", "foregroundInput": "intro-question_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "slot": "introQuestion", "x": 520, "y": 599, "width": 880, "height": 70, "fontSize": 44, "weight": 400, "lineHeight": 1.2, "color": "$ink" }, "rawNumericControls": { "x": 520, "y": 599, "width": 880, "height": 70 }, "tools": { "Construct": "intro-question_Construct", "LocalMask": "intro-question_LocalMask", "AnchorShift": "intro-question_AnchorShift", "ScaleRotate": "intro-question_ScaleRotate", "Position": "intro-question_Position", "Gated": "intro-question_Gated", "Merge": "intro-question_Merge" }, "connections": [ "intro-question_Construct -> intro-question_LocalMask -> intro-question_AnchorShift -> intro-question_ScaleRotate -> intro-question_Position -> intro-question_Gated -> intro-question_Merge.Foreground", "intro-body_Merge -> intro-question_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "What would you like to explore?", "adaptation": "What would you like to notice?" }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 44, "lineAdvancePx": 52.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.0107421875, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } }, { "layerId": "intro-action", "kind": "group", "recipePointer": "/layers/0/children/7", "parentLayerId": "phone-context", "mergeIndex": 7, "nodeId": "intro-action_Merge", "output": "intro-action_Merge", "backgroundInput": "intro-question_Merge", "foregroundInput": "intro-action_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "x": 520, "y": 730, "width": 880, "height": 136, "origin": [ 440, 68 ] }, "rawNumericControls": { "x": 520, "y": 730, "width": 880, "height": 136, "scale": [ { "frame": 0, "value": 1, "easing": "hold" }, { "frame": 39, "value": 1, "easing": "smooth" }, { "frame": 45, "value": 0.96, "easing": "smooth" }, { "frame": 52, "value": 1, "easing": "smooth" } ] }, "tools": { "Construct": "intro-action_Construct", "LocalMask": "intro-action_LocalMask", "AnchorShift": "intro-action_AnchorShift", "ScaleRotate": "intro-action_ScaleRotate", "Position": "intro-action_Position", "Gated": "intro-action_Gated", "Merge": "intro-action_Merge" }, "connections": [ "intro-action_Construct -> intro-action_LocalMask -> intro-action_AnchorShift -> intro-action_ScaleRotate -> intro-action_Position -> intro-action_Gated -> intro-action_Merge.Foreground", "intro-question_Merge -> intro-action_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "intro-action-bg", "kind": "rect", "recipePointer": "/layers/0/children/7/children/0", "parentLayerId": "intro-action", "mergeIndex": 0, "nodeId": "intro-action-bg_Merge", "output": "intro-action-bg_Merge", "backgroundInput": "intro-action_Transparent", "foregroundInput": "intro-action-bg_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "x": 0, "y": 0, "width": 880, "height": 136, "fill": "$ink", "radius": 68 }, "rawNumericControls": { "x": 0, "y": 0, "width": 880, "height": 136, "radius": 68 }, "tools": { "Construct": "intro-action-bg_Construct", "LocalMask": "intro-action-bg_LocalMask", "AnchorShift": "intro-action-bg_AnchorShift", "ScaleRotate": "intro-action-bg_ScaleRotate", "Position": "intro-action-bg_Position", "Gated": "intro-action-bg_Gated", "Merge": "intro-action-bg_Merge" }, "connections": [ "intro-action-bg_Construct -> intro-action-bg_LocalMask -> intro-action-bg_AnchorShift -> intro-action-bg_ScaleRotate -> intro-action-bg_Position -> intro-action-bg_Gated -> intro-action-bg_Merge.Foreground", "intro-action_Transparent -> intro-action-bg_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 68, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "intro-action-text", "kind": "text", "recipePointer": "/layers/0/children/7/children/1", "parentLayerId": "intro-action", "mergeIndex": 1, "nodeId": "intro-action-text_Merge", "output": "intro-action-text_Merge", "backgroundInput": "intro-action-bg_Merge", "foregroundInput": "intro-action-text_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "slot": "introButton", "x": 156, "y": 43, "width": 674, "height": 66, "fontSize": 42, "weight": 400, "lineHeight": 1.2, "color": "#ffffff" }, "rawNumericControls": { "x": 156, "y": 43, "width": 674, "height": 66 }, "tools": { "Construct": "intro-action-text_Construct", "LocalMask": "intro-action-text_LocalMask", "AnchorShift": "intro-action-text_AnchorShift", "ScaleRotate": "intro-action-text_ScaleRotate", "Position": "intro-action-text_Position", "Gated": "intro-action-text_Gated", "Merge": "intro-action-text_Merge" }, "connections": [ "intro-action-text_Construct -> intro-action-text_LocalMask -> intro-action-text_AnchorShift -> intro-action-text_ScaleRotate -> intro-action-text_Position -> intro-action-text_Gated -> intro-action-text_Merge.Foreground", "intro-action-bg_Merge -> intro-action-text_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "Choose the next note", "adaptation": "Choose the next page" }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 42, "lineAdvancePx": 50.4, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.01025390625, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } }, { "layerId": "intro-action-mark", "kind": "image", "recipePointer": "/layers/0/children/7/children/2", "parentLayerId": "intro-action", "mergeIndex": 2, "nodeId": "intro-action-mark_Merge", "output": "intro-action-mark_Merge", "backgroundInput": "intro-action-text_Merge", "foregroundInput": "intro-action-mark_Gated", "activeLocalFrames": [ 0, 56 ], "effectiveActiveLocalFrames": [ 0, 56 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 56, "slot": "suggestionMark", "x": 72, "y": 38, "width": 60, "height": 60, "fit": "contain" }, "rawNumericControls": { "x": 72, "y": 38, "width": 60, "height": 60 }, "tools": { "Construct": "intro-action-mark_Construct", "LocalMask": "intro-action-mark_LocalMask", "AnchorShift": "intro-action-mark_AnchorShift", "ScaleRotate": "intro-action-mark_ScaleRotate", "Position": "intro-action-mark_Position", "Gated": "intro-action-mark_Gated", "Merge": "intro-action-mark_Merge" }, "connections": [ "intro-action-mark_Construct -> intro-action-mark_LocalMask -> intro-action-mark_AnchorShift -> intro-action-mark_ScaleRotate -> intro-action-mark_Position -> intro-action-mark_Gated -> intro-action-mark_Merge.Foreground", "intro-action-text_Merge -> intro-action-mark_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." }, "adaptation": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." } }, "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader." } ], "constructInput": "intro-action-mark_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." } ], "constructInput": "intro-action_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." }, { "layerId": "suggestion-scene", "kind": "group", "recipePointer": "/layers/1", "parentLayerId": null, "mergeIndex": 1, "nodeId": "suggestion-scene_Merge", "output": "suggestion-scene_Merge", "backgroundInput": "phone-context_Merge", "foregroundInput": "suggestion-scene_Gated", "activeLocalFrames": [ 56, 420 ], "effectiveActiveLocalFrames": [ 56, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 56, "end": 420, "width": 1920, "height": 1080, "origin": [ 960, 540 ] }, "rawNumericControls": { "width": 1920, "height": 1080, "scale": [ { "frame": 56, "value": 0.84, "easing": "smooth" }, { "frame": 88, "value": 1, "easing": "smooth" } ], "opacity": [ { "frame": 56, "value": 0.55, "easing": "smooth" }, { "frame": 66, "value": 1, "easing": "smooth" } ] }, "tools": { "Construct": "suggestion-scene_Construct", "LocalMask": "suggestion-scene_LocalMask", "AnchorShift": "suggestion-scene_AnchorShift", "ScaleRotate": "suggestion-scene_ScaleRotate", "Position": "suggestion-scene_Position", "Gated": "suggestion-scene_Gated", "Merge": "suggestion-scene_Merge" }, "connections": [ "suggestion-scene_Construct -> suggestion-scene_LocalMask -> suggestion-scene_AnchorShift -> suggestion-scene_ScaleRotate -> suggestion-scene_Position -> suggestion-scene_Gated -> suggestion-scene_Merge.Foreground", "phone-context_Merge -> suggestion-scene_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "stack-viewport", "kind": "group", "recipePointer": "/layers/1/children/0", "parentLayerId": "suggestion-scene", "mergeIndex": 0, "nodeId": "stack-viewport_Merge", "output": "stack-viewport_Merge", "backgroundInput": "suggestion-scene_Transparent", "foregroundInput": "stack-viewport_Gated", "activeLocalFrames": [ 56, 420 ], "effectiveActiveLocalFrames": [ 56, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 56, "end": 420, "x": 0, "y": 0, "width": 1920, "height": 1080, "clip": { "top": 154, "right": 0, "bottom": 144, "left": 0 } }, "rawNumericControls": { "x": 0, "y": 0, "width": 1920, "height": 1080, "clip.top": 154, "clip.right": 0, "clip.bottom": 144, "clip.left": 0 }, "tools": { "Construct": "stack-viewport_Construct", "LocalMask": "stack-viewport_LocalMask", "AnchorShift": "stack-viewport_AnchorShift", "ScaleRotate": "stack-viewport_ScaleRotate", "Position": "stack-viewport_Position", "Gated": "stack-viewport_Gated", "Merge": "stack-viewport_Merge" }, "connections": [ "stack-viewport_Construct -> stack-viewport_LocalMask -> stack-viewport_AnchorShift -> stack-viewport_ScaleRotate -> stack-viewport_Position -> stack-viewport_Gated -> stack-viewport_Merge.Foreground", "suggestion-scene_Transparent -> stack-viewport_Merge.Background" ], "mask": { "overflow": "visible", "clip": { "top": 154, "right": 0, "bottom": 144, "left": 0 }, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "cycling-list", "kind": "group", "recipePointer": "/layers/1/children/0/children/0", "parentLayerId": "stack-viewport", "mergeIndex": 0, "nodeId": "cycling-list_Merge", "output": "cycling-list_Merge", "backgroundInput": "stack-viewport_Transparent", "foregroundInput": "cycling-list_Gated", "activeLocalFrames": [ 56, 420 ], "effectiveActiveLocalFrames": [ 56, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 56, "end": 420, "width": 1920, "height": 1500 }, "rawNumericControls": { "y": [ { "frame": 56, "value": 0, "easing": "hold" }, { "frame": 120, "value": 0, "easing": "smooth" }, { "frame": 144, "value": -204, "easing": "hold" }, { "frame": 210, "value": -204, "easing": "smooth" }, { "frame": 234, "value": -408, "easing": "smooth" } ], "width": 1920, "height": 1500 }, "tools": { "Construct": "cycling-list_Construct", "LocalMask": "cycling-list_LocalMask", "AnchorShift": "cycling-list_AnchorShift", "ScaleRotate": "cycling-list_ScaleRotate", "Position": "cycling-list_Position", "Gated": "cycling-list_Gated", "Merge": "cycling-list_Merge" }, "connections": [ "cycling-list_Construct -> cycling-list_LocalMask -> cycling-list_AnchorShift -> cycling-list_ScaleRotate -> cycling-list_Position -> cycling-list_Gated -> cycling-list_Merge.Foreground", "stack-viewport_Transparent -> cycling-list_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "row-0", "kind": "group", "recipePointer": "/layers/1/children/0/children/0/children/0", "parentLayerId": "cycling-list", "mergeIndex": 0, "nodeId": "row-0_Merge", "output": "row-0_Merge", "backgroundInput": "cycling-list_Transparent", "foregroundInput": "row-0_Gated", "activeLocalFrames": [ 56, 140 ], "effectiveActiveLocalFrames": [ 56, 140 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 56, "end": 140, "x": 260, "y": 252, "width": 1400, "height": 168 }, "rawNumericControls": { "x": 260, "y": 252, "width": 1400, "height": 168, "opacity": [ { "frame": 56, "value": 0.42, "easing": "hold" }, { "frame": 120, "value": 0.42, "easing": "smooth" }, { "frame": 140, "value": 0, "easing": "smooth" } ] }, "tools": { "Construct": "row-0_Construct", "LocalMask": "row-0_LocalMask", "AnchorShift": "row-0_AnchorShift", "ScaleRotate": "row-0_ScaleRotate", "Position": "row-0_Position", "Gated": "row-0_Gated", "Merge": "row-0_Merge" }, "connections": [ "row-0_Construct -> row-0_LocalMask -> row-0_AnchorShift -> row-0_ScaleRotate -> row-0_Position -> row-0_Gated -> row-0_Merge.Foreground", "cycling-list_Transparent -> row-0_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "row-0-surface", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/0/children/0", "parentLayerId": "row-0", "mergeIndex": 0, "nodeId": "row-0-surface_Merge", "output": "row-0-surface_Merge", "backgroundInput": "row-0_Transparent", "foregroundInput": "row-0-surface_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 56, 140 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "x": 0, "y": 0, "width": 1400, "height": 168, "fill": "$surface", "radius": 84 }, "rawNumericControls": { "x": 0, "y": 0, "width": 1400, "height": 168, "radius": 84 }, "tools": { "Construct": "row-0-surface_Construct", "LocalMask": "row-0-surface_LocalMask", "AnchorShift": "row-0-surface_AnchorShift", "ScaleRotate": "row-0-surface_ScaleRotate", "Position": "row-0-surface_Position", "Gated": "row-0-surface_Gated", "Merge": "row-0-surface_Merge" }, "connections": [ "row-0-surface_Construct -> row-0-surface_LocalMask -> row-0-surface_AnchorShift -> row-0-surface_ScaleRotate -> row-0-surface_Position -> row-0-surface_Gated -> row-0-surface_Merge.Foreground", "row-0_Transparent -> row-0-surface_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 84, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "row-0-mark", "kind": "image", "recipePointer": "/layers/1/children/0/children/0/children/0/children/1", "parentLayerId": "row-0", "mergeIndex": 1, "nodeId": "row-0-mark_Merge", "output": "row-0-mark_Merge", "backgroundInput": "row-0-surface_Merge", "foregroundInput": "row-0-mark_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 56, 140 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "slot": "suggestionMark", "x": 52, "y": 56, "width": 56, "height": 56, "fit": "contain", "opacity": 1 }, "rawNumericControls": { "x": 52, "y": 56, "width": 56, "height": 56, "opacity": 1 }, "tools": { "Construct": "row-0-mark_Construct", "LocalMask": "row-0-mark_LocalMask", "AnchorShift": "row-0-mark_AnchorShift", "ScaleRotate": "row-0-mark_ScaleRotate", "Position": "row-0-mark_Position", "Gated": "row-0-mark_Gated", "Merge": "row-0-mark_Merge" }, "connections": [ "row-0-mark_Construct -> row-0-mark_LocalMask -> row-0-mark_AnchorShift -> row-0-mark_ScaleRotate -> row-0-mark_Position -> row-0-mark_Gated -> row-0-mark_Merge.Foreground", "row-0-surface_Merge -> row-0-mark_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." }, "adaptation": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." } }, "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader." }, { "layerId": "row-0-copy", "kind": "text", "recipePointer": "/layers/1/children/0/children/0/children/0/children/2", "parentLayerId": "row-0", "mergeIndex": 2, "nodeId": "row-0-copy_Merge", "output": "row-0-copy_Merge", "backgroundInput": "row-0-mark_Merge", "foregroundInput": "row-0-copy_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 56, 140 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "slot": "row0", "x": 168, "y": 48, "width": 1178, "height": 80, "fontSize": 54, "weight": 400, "lineHeight": 1.2, "color": "$ink" }, "rawNumericControls": { "x": 168, "y": 48, "width": 1178, "height": 80 }, "tools": { "Construct": "row-0-copy_Construct", "LocalMask": "row-0-copy_LocalMask", "AnchorShift": "row-0-copy_AnchorShift", "ScaleRotate": "row-0-copy_ScaleRotate", "Position": "row-0-copy_Position", "Gated": "row-0-copy_Gated", "Merge": "row-0-copy_Merge" }, "connections": [ "row-0-copy_Construct -> row-0-copy_LocalMask -> row-0-copy_AnchorShift -> row-0-copy_ScaleRotate -> row-0-copy_Position -> row-0-copy_Gated -> row-0-copy_Merge.Foreground", "row-0-mark_Merge -> row-0-copy_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "I'm curious about...", "adaptation": "I want to notice..." }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 54, "lineAdvancePx": 64.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.01318359375, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } } ], "constructInput": "row-0-copy_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." }, { "layerId": "row-1", "kind": "group", "recipePointer": "/layers/1/children/0/children/0/children/1", "parentLayerId": "cycling-list", "mergeIndex": 1, "nodeId": "row-1_Merge", "output": "row-1_Merge", "backgroundInput": "row-0_Merge", "foregroundInput": "row-1_Gated", "activeLocalFrames": [ 56, 230 ], "effectiveActiveLocalFrames": [ 56, 230 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 56, "end": 230, "x": 260, "y": 456, "width": 1400, "height": 168 }, "rawNumericControls": { "x": 260, "y": 456, "width": 1400, "height": 168, "opacity": [ { "frame": 56, "value": 1, "easing": "hold" }, { "frame": 120, "value": 1, "easing": "smooth" }, { "frame": 144, "value": 0.42, "easing": "hold" }, { "frame": 210, "value": 0.42, "easing": "smooth" }, { "frame": 230, "value": 0, "easing": "smooth" } ] }, "tools": { "Construct": "row-1_Construct", "LocalMask": "row-1_LocalMask", "AnchorShift": "row-1_AnchorShift", "ScaleRotate": "row-1_ScaleRotate", "Position": "row-1_Position", "Gated": "row-1_Gated", "Merge": "row-1_Merge" }, "connections": [ "row-1_Construct -> row-1_LocalMask -> row-1_AnchorShift -> row-1_ScaleRotate -> row-1_Position -> row-1_Gated -> row-1_Merge.Foreground", "row-0_Merge -> row-1_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "row-1-surface", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/1/children/0", "parentLayerId": "row-1", "mergeIndex": 0, "nodeId": "row-1-surface_Merge", "output": "row-1-surface_Merge", "backgroundInput": "row-1_Transparent", "foregroundInput": "row-1-surface_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 56, 230 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "x": 0, "y": 0, "width": 1400, "height": 168, "fill": "$surface", "radius": 84 }, "rawNumericControls": { "x": 0, "y": 0, "width": 1400, "height": 168, "radius": 84 }, "tools": { "Construct": "row-1-surface_Construct", "LocalMask": "row-1-surface_LocalMask", "AnchorShift": "row-1-surface_AnchorShift", "ScaleRotate": "row-1-surface_ScaleRotate", "Position": "row-1-surface_Position", "Gated": "row-1-surface_Gated", "Merge": "row-1-surface_Merge" }, "connections": [ "row-1-surface_Construct -> row-1-surface_LocalMask -> row-1-surface_AnchorShift -> row-1-surface_ScaleRotate -> row-1-surface_Position -> row-1-surface_Gated -> row-1-surface_Merge.Foreground", "row-1_Transparent -> row-1-surface_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 84, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "row-1-mark", "kind": "image", "recipePointer": "/layers/1/children/0/children/0/children/1/children/1", "parentLayerId": "row-1", "mergeIndex": 1, "nodeId": "row-1-mark_Merge", "output": "row-1-mark_Merge", "backgroundInput": "row-1-surface_Merge", "foregroundInput": "row-1-mark_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 56, 230 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "slot": "suggestionMark", "x": 52, "y": 56, "width": 56, "height": 56, "fit": "contain", "opacity": 1 }, "rawNumericControls": { "x": 52, "y": 56, "width": 56, "height": 56, "opacity": 1 }, "tools": { "Construct": "row-1-mark_Construct", "LocalMask": "row-1-mark_LocalMask", "AnchorShift": "row-1-mark_AnchorShift", "ScaleRotate": "row-1-mark_ScaleRotate", "Position": "row-1-mark_Position", "Gated": "row-1-mark_Gated", "Merge": "row-1-mark_Merge" }, "connections": [ "row-1-mark_Construct -> row-1-mark_LocalMask -> row-1-mark_AnchorShift -> row-1-mark_ScaleRotate -> row-1-mark_Position -> row-1-mark_Gated -> row-1-mark_Merge.Foreground", "row-1-surface_Merge -> row-1-mark_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." }, "adaptation": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." } }, "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader." }, { "layerId": "row-1-copy", "kind": "text", "recipePointer": "/layers/1/children/0/children/0/children/1/children/2", "parentLayerId": "row-1", "mergeIndex": 2, "nodeId": "row-1-copy_Merge", "output": "row-1-copy_Merge", "backgroundInput": "row-1-mark_Merge", "foregroundInput": "row-1-copy_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 56, 230 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "slot": "row1", "x": 168, "y": 48, "width": 430, "height": 80, "fontSize": 54, "weight": 400, "lineHeight": 1.2, "color": "$ink" }, "rawNumericControls": { "x": 168, "y": 48, "width": 430, "height": 80 }, "tools": { "Construct": "row-1-copy_Construct", "LocalMask": "row-1-copy_LocalMask", "AnchorShift": "row-1-copy_AnchorShift", "ScaleRotate": "row-1-copy_ScaleRotate", "Position": "row-1-copy_Position", "Gated": "row-1-copy_Gated", "Merge": "row-1-copy_Merge" }, "connections": [ "row-1-copy_Construct -> row-1-copy_LocalMask -> row-1-copy_AnchorShift -> row-1-copy_ScaleRotate -> row-1-copy_Position -> row-1-copy_Gated -> row-1-copy_Merge.Foreground", "row-1-mark_Merge -> row-1-copy_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "I'm making", "adaptation": "I'm collecting" }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 54, "lineAdvancePx": 64.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.01318359375, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } }, { "layerId": "row-1-topic", "kind": "text", "recipePointer": "/layers/1/children/0/children/0/children/1/children/3", "parentLayerId": "row-1", "mergeIndex": 3, "nodeId": "row-1-topic_Merge", "output": "row-1-topic_Merge", "backgroundInput": "row-1-copy_Merge", "foregroundInput": "row-1-topic_Gated", "activeLocalFrames": [ 56, 140 ], "effectiveActiveLocalFrames": [ 56, 140 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 56, "end": 140, "slot": "topic1", "x": 620, "y": 48, "width": 726, "height": 80, "fontSize": 54, "weight": 400, "lineHeight": 1.2, "color": "$accent" }, "rawNumericControls": { "x": 620, "y": 48, "width": 726, "height": 80, "opacity": [ { "frame": 56, "value": 1, "easing": "hold" }, { "frame": 120, "value": 1, "easing": "smooth" }, { "frame": 140, "value": 0, "easing": "smooth" } ] }, "tools": { "Construct": "row-1-topic_Construct", "LocalMask": "row-1-topic_LocalMask", "AnchorShift": "row-1-topic_AnchorShift", "ScaleRotate": "row-1-topic_ScaleRotate", "Position": "row-1-topic_Position", "Gated": "row-1-topic_Gated", "Merge": "row-1-topic_Merge" }, "connections": [ "row-1-topic_Construct -> row-1-topic_LocalMask -> row-1-topic_AnchorShift -> row-1-topic_ScaleRotate -> row-1-topic_Position -> row-1-topic_Gated -> row-1-topic_Merge.Foreground", "row-1-copy_Merge -> row-1-topic_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "paper objects", "adaptation": "garden colours" }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 54, "lineAdvancePx": 64.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.01318359375, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } } ], "constructInput": "row-1-topic_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." }, { "layerId": "row-2", "kind": "group", "recipePointer": "/layers/1/children/0/children/0/children/2", "parentLayerId": "cycling-list", "mergeIndex": 2, "nodeId": "row-2_Merge", "output": "row-2_Merge", "backgroundInput": "row-1_Merge", "foregroundInput": "row-2_Gated", "activeLocalFrames": [ 56, 298 ], "effectiveActiveLocalFrames": [ 56, 298 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 56, "end": 298, "x": 260, "y": 660, "width": 1400, "height": 168 }, "rawNumericControls": { "x": 260, "y": 660, "width": 1400, "height": 168, "opacity": [ { "frame": 56, "value": 0.42, "easing": "hold" }, { "frame": 120, "value": 0.42, "easing": "smooth" }, { "frame": 144, "value": 1, "easing": "hold" }, { "frame": 210, "value": 1, "easing": "smooth" }, { "frame": 234, "value": 0.42, "easing": "hold" }, { "frame": 278, "value": 0.42, "easing": "smooth" }, { "frame": 298, "value": 0, "easing": "smooth" } ] }, "tools": { "Construct": "row-2_Construct", "LocalMask": "row-2_LocalMask", "AnchorShift": "row-2_AnchorShift", "ScaleRotate": "row-2_ScaleRotate", "Position": "row-2_Position", "Gated": "row-2_Gated", "Merge": "row-2_Merge" }, "connections": [ "row-2_Construct -> row-2_LocalMask -> row-2_AnchorShift -> row-2_ScaleRotate -> row-2_Position -> row-2_Gated -> row-2_Merge.Foreground", "row-1_Merge -> row-2_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "row-2-surface", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/2/children/0", "parentLayerId": "row-2", "mergeIndex": 0, "nodeId": "row-2-surface_Merge", "output": "row-2-surface_Merge", "backgroundInput": "row-2_Transparent", "foregroundInput": "row-2-surface_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 56, 298 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "x": 0, "y": 0, "width": 1400, "height": 168, "fill": "$surface", "radius": 84 }, "rawNumericControls": { "x": 0, "y": 0, "width": 1400, "height": 168, "radius": 84 }, "tools": { "Construct": "row-2-surface_Construct", "LocalMask": "row-2-surface_LocalMask", "AnchorShift": "row-2-surface_AnchorShift", "ScaleRotate": "row-2-surface_ScaleRotate", "Position": "row-2-surface_Position", "Gated": "row-2-surface_Gated", "Merge": "row-2-surface_Merge" }, "connections": [ "row-2-surface_Construct -> row-2-surface_LocalMask -> row-2-surface_AnchorShift -> row-2-surface_ScaleRotate -> row-2-surface_Position -> row-2-surface_Gated -> row-2-surface_Merge.Foreground", "row-2_Transparent -> row-2-surface_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 84, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "row-2-mark", "kind": "image", "recipePointer": "/layers/1/children/0/children/0/children/2/children/1", "parentLayerId": "row-2", "mergeIndex": 1, "nodeId": "row-2-mark_Merge", "output": "row-2-mark_Merge", "backgroundInput": "row-2-surface_Merge", "foregroundInput": "row-2-mark_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 56, 298 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "slot": "suggestionMark", "x": 52, "y": 56, "width": 56, "height": 56, "fit": "contain", "opacity": 1 }, "rawNumericControls": { "x": 52, "y": 56, "width": 56, "height": 56, "opacity": 1 }, "tools": { "Construct": "row-2-mark_Construct", "LocalMask": "row-2-mark_LocalMask", "AnchorShift": "row-2-mark_AnchorShift", "ScaleRotate": "row-2-mark_ScaleRotate", "Position": "row-2-mark_Position", "Gated": "row-2-mark_Gated", "Merge": "row-2-mark_Merge" }, "connections": [ "row-2-mark_Construct -> row-2-mark_LocalMask -> row-2-mark_AnchorShift -> row-2-mark_ScaleRotate -> row-2-mark_Position -> row-2-mark_Gated -> row-2-mark_Merge.Foreground", "row-2-surface_Merge -> row-2-mark_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." }, "adaptation": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." } }, "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader." }, { "layerId": "row-2-copy", "kind": "text", "recipePointer": "/layers/1/children/0/children/0/children/2/children/2", "parentLayerId": "row-2", "mergeIndex": 2, "nodeId": "row-2-copy_Merge", "output": "row-2-copy_Merge", "backgroundInput": "row-2-mark_Merge", "foregroundInput": "row-2-copy_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 56, 298 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "slot": "row2", "x": 168, "y": 48, "width": 430, "height": 80, "fontSize": 54, "weight": 400, "lineHeight": 1.2, "color": "$ink" }, "rawNumericControls": { "x": 168, "y": 48, "width": 430, "height": 80 }, "tools": { "Construct": "row-2-copy_Construct", "LocalMask": "row-2-copy_LocalMask", "AnchorShift": "row-2-copy_AnchorShift", "ScaleRotate": "row-2-copy_ScaleRotate", "Position": "row-2-copy_Position", "Gated": "row-2-copy_Gated", "Merge": "row-2-copy_Merge" }, "connections": [ "row-2-copy_Construct -> row-2-copy_LocalMask -> row-2-copy_AnchorShift -> row-2-copy_ScaleRotate -> row-2-copy_Position -> row-2-copy_Gated -> row-2-copy_Merge.Foreground", "row-2-mark_Merge -> row-2-copy_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "Keep notes on", "adaptation": "Keep notes on" }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 54, "lineAdvancePx": 64.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.01318359375, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } }, { "layerId": "row-2-topic", "kind": "text", "recipePointer": "/layers/1/children/0/children/0/children/2/children/3", "parentLayerId": "row-2", "mergeIndex": 3, "nodeId": "row-2-topic_Merge", "output": "row-2-topic_Merge", "backgroundInput": "row-2-copy_Merge", "foregroundInput": "row-2-topic_Gated", "activeLocalFrames": [ 120, 230 ], "effectiveActiveLocalFrames": [ 120, 230 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 120, "end": 230, "slot": "topic2", "x": 620, "y": 48, "width": 726, "height": 80, "fontSize": 54, "weight": 400, "lineHeight": 1.2, "color": "$accent" }, "rawNumericControls": { "x": 620, "y": 48, "width": 726, "height": 80, "opacity": [ { "frame": 120, "value": 0, "easing": "smooth" }, { "frame": 132, "value": 1, "easing": "hold" }, { "frame": 210, "value": 1, "easing": "smooth" }, { "frame": 230, "value": 0, "easing": "smooth" } ] }, "tools": { "Construct": "row-2-topic_Construct", "LocalMask": "row-2-topic_LocalMask", "AnchorShift": "row-2-topic_AnchorShift", "ScaleRotate": "row-2-topic_ScaleRotate", "Position": "row-2-topic_Position", "Gated": "row-2-topic_Gated", "Merge": "row-2-topic_Merge" }, "connections": [ "row-2-topic_Construct -> row-2-topic_LocalMask -> row-2-topic_AnchorShift -> row-2-topic_ScaleRotate -> row-2-topic_Position -> row-2-topic_Gated -> row-2-topic_Merge.Foreground", "row-2-copy_Merge -> row-2-topic_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "studio rituals", "adaptation": "evening skies" }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 54, "lineAdvancePx": 64.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.01318359375, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } } ], "constructInput": "row-2-topic_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." }, { "layerId": "row-3", "kind": "group", "recipePointer": "/layers/1/children/0/children/0/children/3", "parentLayerId": "cycling-list", "mergeIndex": 3, "nodeId": "row-3_Merge", "output": "row-3_Merge", "backgroundInput": "row-2_Merge", "foregroundInput": "row-3_Gated", "activeLocalFrames": [ 120, 420 ], "effectiveActiveLocalFrames": [ 120, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 120, "end": 420, "x": 260, "y": 864, "width": 1400, "height": 168 }, "rawNumericControls": { "x": 260, "y": 864, "width": 1400, "height": 168, "opacity": [ { "frame": 56, "value": 0, "easing": "hold" }, { "frame": 120, "value": 0, "easing": "smooth" }, { "frame": 144, "value": 0.42, "easing": "hold" }, { "frame": 210, "value": 0.42, "easing": "smooth" }, { "frame": 234, "value": 1, "easing": "smooth" } ] }, "tools": { "Construct": "row-3_Construct", "LocalMask": "row-3_LocalMask", "AnchorShift": "row-3_AnchorShift", "ScaleRotate": "row-3_ScaleRotate", "Position": "row-3_Position", "Gated": "row-3_Gated", "Merge": "row-3_Merge" }, "connections": [ "row-3_Construct -> row-3_LocalMask -> row-3_AnchorShift -> row-3_ScaleRotate -> row-3_Position -> row-3_Gated -> row-3_Merge.Foreground", "row-2_Merge -> row-3_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "row-3-surface", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/3/children/0", "parentLayerId": "row-3", "mergeIndex": 0, "nodeId": "row-3-surface_Merge", "output": "row-3-surface_Merge", "backgroundInput": "row-3_Transparent", "foregroundInput": "row-3-surface_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 120, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "x": 0, "y": 0, "width": 1400, "height": 168, "fill": "$surface", "radius": 84 }, "rawNumericControls": { "x": 0, "y": 0, "width": 1400, "height": 168, "radius": 84 }, "tools": { "Construct": "row-3-surface_Construct", "LocalMask": "row-3-surface_LocalMask", "AnchorShift": "row-3-surface_AnchorShift", "ScaleRotate": "row-3-surface_ScaleRotate", "Position": "row-3-surface_Position", "Gated": "row-3-surface_Gated", "Merge": "row-3-surface_Merge" }, "connections": [ "row-3-surface_Construct -> row-3-surface_LocalMask -> row-3-surface_AnchorShift -> row-3-surface_ScaleRotate -> row-3-surface_Position -> row-3-surface_Gated -> row-3-surface_Merge.Foreground", "row-3_Transparent -> row-3-surface_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 84, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "row-3-mark", "kind": "image", "recipePointer": "/layers/1/children/0/children/0/children/3/children/1", "parentLayerId": "row-3", "mergeIndex": 1, "nodeId": "row-3-mark_Merge", "output": "row-3-mark_Merge", "backgroundInput": "row-3-surface_Merge", "foregroundInput": "row-3-mark_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 120, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "slot": "suggestionMark", "x": 52, "y": 56, "width": 56, "height": 56, "fit": "contain" }, "rawNumericControls": { "x": 52, "y": 56, "width": 56, "height": 56, "opacity": [ { "frame": 0, "value": 1, "easing": "hold" }, { "frame": 298, "value": 1, "easing": "smooth" }, { "frame": 309, "value": 0, "easing": "smooth" } ] }, "tools": { "Construct": "row-3-mark_Construct", "LocalMask": "row-3-mark_LocalMask", "AnchorShift": "row-3-mark_AnchorShift", "ScaleRotate": "row-3-mark_ScaleRotate", "Position": "row-3-mark_Position", "Gated": "row-3-mark_Gated", "Merge": "row-3-mark_Merge" }, "connections": [ "row-3-mark_Construct -> row-3-mark_LocalMask -> row-3-mark_AnchorShift -> row-3-mark_ScaleRotate -> row-3-mark_Position -> row-3-mark_Gated -> row-3-mark_Merge.Foreground", "row-3-surface_Merge -> row-3-mark_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." }, "adaptation": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." } }, "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader." }, { "layerId": "row-3-copy", "kind": "text", "recipePointer": "/layers/1/children/0/children/0/children/3/children/2", "parentLayerId": "row-3", "mergeIndex": 2, "nodeId": "row-3-copy_Merge", "output": "row-3-copy_Merge", "backgroundInput": "row-3-mark_Merge", "foregroundInput": "row-3-copy_Gated", "activeLocalFrames": [ 0, 362 ], "effectiveActiveLocalFrames": [ 120, 362 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 362, "slot": "row3", "y": 48, "width": 1178, "height": 80, "fontSize": 54, "weight": 400, "lineHeight": 1.2, "color": "$ink" }, "rawNumericControls": { "x": [ { "frame": 0, "value": 168, "easing": "hold" }, { "frame": 300, "value": 168, "easing": "smooth" }, { "frame": 312, "value": 62, "easing": "smooth" } ], "y": 48, "width": 1178, "height": 80 }, "tools": { "Construct": "row-3-copy_Construct", "LocalMask": "row-3-copy_LocalMask", "AnchorShift": "row-3-copy_AnchorShift", "ScaleRotate": "row-3-copy_ScaleRotate", "Position": "row-3-copy_Position", "Gated": "row-3-copy_Gated", "Merge": "row-3-copy_Merge" }, "connections": [ "row-3-copy_Construct -> row-3-copy_LocalMask -> row-3-copy_AnchorShift -> row-3-copy_ScaleRotate -> row-3-copy_Position -> row-3-copy_Gated -> row-3-copy_Merge.Foreground", "row-3-mark_Merge -> row-3-copy_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "Leave a note...", "adaptation": "Share a thought..." }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 54, "lineAdvancePx": 64.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.01318359375, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } }, { "layerId": "typed-request", "kind": "text", "recipePointer": "/layers/1/children/0/children/0/children/3/children/3", "parentLayerId": "row-3", "mergeIndex": 3, "nodeId": "typed-request_Merge", "output": "typed-request_Merge", "backgroundInput": "row-3-copy_Merge", "foregroundInput": "typed-request_Gated", "activeLocalFrames": [ 362, 420 ], "effectiveActiveLocalFrames": [ 362, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 362, "end": 420, "slot": "typed", "x": 62, "y": 48, "width": 1178, "height": 80, "fontSize": 54, "weight": 400, "lineHeight": 1.2, "color": "$ink", "suffix": "|", "reveal": { "unit": "characters", "steps": [ { "frame": 362, "count": 0 }, { "frame": 363, "count": 1 }, { "frame": 365, "count": 2 }, { "frame": 367, "count": 3 }, { "frame": 369, "count": 4 }, { "frame": 371, "count": 5 }, { "frame": 373, "count": 6 }, { "frame": 375, "count": 7 }, { "frame": 377, "count": 8 }, { "frame": 379, "count": 9 }, { "frame": 381, "count": 10 }, { "frame": 383, "count": 11 }, { "frame": 385, "count": 12 }, { "frame": 387, "count": 13 }, { "frame": 389, "count": 14 }, { "frame": 391, "count": 15 }, { "frame": 393, "count": 16 }, { "frame": 395, "count": 17 }, { "frame": 397, "count": 18 }, { "frame": 399, "count": 19 }, { "frame": 401, "count": 20 }, { "frame": 403, "count": 21 }, { "frame": 405, "count": 22 }, { "frame": 407, "count": 23 }, { "frame": 409, "count": 24 }, { "frame": 411, "count": 25 }, { "frame": 413, "count": 26 }, { "frame": 415, "count": 27 }, { "frame": 417, "count": 28 }, { "frame": 419, "count": 29 } ] } }, "rawNumericControls": { "x": 62, "y": 48, "width": 1178, "height": 80 }, "tools": { "Construct": "typed-request_Construct", "LocalMask": "typed-request_LocalMask", "AnchorShift": "typed-request_AnchorShift", "ScaleRotate": "typed-request_ScaleRotate", "Position": "typed-request_Position", "Gated": "typed-request_Gated", "Merge": "typed-request_Merge" }, "connections": [ "typed-request_Construct -> typed-request_LocalMask -> typed-request_AnchorShift -> typed-request_ScaleRotate -> typed-request_Position -> typed-request_Gated -> typed-request_Merge.Foreground", "row-3-copy_Merge -> typed-request_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "Add a weekly paper sketching prompt.", "adaptation": "Send a monthly colour study reminder." }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 54, "lineAdvancePx": 64.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.01318359375, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": { "unit": "characters", "steps": [ { "frame": 362, "count": 0 }, { "frame": 363, "count": 1 }, { "frame": 365, "count": 2 }, { "frame": 367, "count": 3 }, { "frame": 369, "count": 4 }, { "frame": 371, "count": 5 }, { "frame": 373, "count": 6 }, { "frame": 375, "count": 7 }, { "frame": 377, "count": 8 }, { "frame": 379, "count": 9 }, { "frame": 381, "count": 10 }, { "frame": 383, "count": 11 }, { "frame": 385, "count": 12 }, { "frame": 387, "count": 13 }, { "frame": 389, "count": 14 }, { "frame": 391, "count": 15 }, { "frame": 393, "count": 16 }, { "frame": 395, "count": 17 }, { "frame": 397, "count": 18 }, { "frame": 399, "count": 19 }, { "frame": 401, "count": 20 }, { "frame": 403, "count": 21 }, { "frame": 405, "count": 22 }, { "frame": 407, "count": 23 }, { "frame": 409, "count": 24 }, { "frame": 411, "count": 25 }, { "frame": 413, "count": 26 }, { "frame": 415, "count": 27 }, { "frame": 417, "count": 28 }, { "frame": 419, "count": 29 } ] }, "prefix": "", "suffix": "|" } }, { "layerId": "idle-caret", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/3/children/4", "parentLayerId": "row-3", "mergeIndex": 4, "nodeId": "idle-caret_Merge", "output": "idle-caret_Merge", "backgroundInput": "typed-request_Merge", "foregroundInput": "idle-caret_Gated", "activeLocalFrames": [ 324, 362 ], "effectiveActiveLocalFrames": [ 324, 362 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 324, "end": 362, "x": 62, "y": 53, "width": 3, "height": 62, "fill": "$ink" }, "rawNumericControls": { "x": 62, "y": 53, "width": 3, "height": 62, "opacity": [ { "frame": 324, "value": 1, "easing": "hold" }, { "frame": 331, "value": 0, "easing": "hold" }, { "frame": 354, "value": 1, "easing": "hold" } ] }, "tools": { "Construct": "idle-caret_Construct", "LocalMask": "idle-caret_LocalMask", "AnchorShift": "idle-caret_AnchorShift", "ScaleRotate": "idle-caret_ScaleRotate", "Position": "idle-caret_Position", "Gated": "idle-caret_Gated", "Merge": "idle-caret_Merge" }, "connections": [ "idle-caret_Construct -> idle-caret_LocalMask -> idle-caret_AnchorShift -> idle-caret_ScaleRotate -> idle-caret_Position -> idle-caret_Gated -> idle-caret_Merge.Foreground", "typed-request_Merge -> idle-caret_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "composer-voice", "kind": "group", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5", "parentLayerId": "row-3", "mergeIndex": 5, "nodeId": "composer-voice_Merge", "output": "composer-voice_Merge", "backgroundInput": "idle-caret_Merge", "foregroundInput": "composer-voice_Gated", "activeLocalFrames": [ 310, 420 ], "effectiveActiveLocalFrames": [ 310, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 310, "end": 420, "x": 1250, "y": 20, "width": 128, "height": 128, "origin": [ 64, 64 ] }, "rawNumericControls": { "x": 1250, "y": 20, "width": 128, "height": 128, "scale": [ { "frame": 310, "value": 0.02, "easing": "smooth" }, { "frame": 323, "value": 1, "easing": "smooth" } ] }, "tools": { "Construct": "composer-voice_Construct", "LocalMask": "composer-voice_LocalMask", "AnchorShift": "composer-voice_AnchorShift", "ScaleRotate": "composer-voice_ScaleRotate", "Position": "composer-voice_Position", "Gated": "composer-voice_Gated", "Merge": "composer-voice_Merge" }, "connections": [ "composer-voice_Construct -> composer-voice_LocalMask -> composer-voice_AnchorShift -> composer-voice_ScaleRotate -> composer-voice_Position -> composer-voice_Gated -> composer-voice_Merge.Foreground", "idle-caret_Merge -> composer-voice_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "voice-disc", "kind": "ellipse", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0", "parentLayerId": "composer-voice", "mergeIndex": 0, "nodeId": "voice-disc_Merge", "output": "voice-disc_Merge", "backgroundInput": "composer-voice_Transparent", "foregroundInput": "voice-disc_Gated", "activeLocalFrames": [ 310, 420 ], "effectiveActiveLocalFrames": [ 310, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 310, "end": 420, "x": 0, "y": 0, "width": 128, "height": 128, "fill": "$ink" }, "rawNumericControls": { "x": 0, "y": 0, "width": 128, "height": 128 }, "tools": { "Construct": "voice-disc_Construct", "LocalMask": "voice-disc_LocalMask", "AnchorShift": "voice-disc_AnchorShift", "ScaleRotate": "voice-disc_ScaleRotate", "Position": "voice-disc_Position", "Gated": "voice-disc_Gated", "Merge": "voice-disc_Merge" }, "connections": [ "voice-disc_Construct -> voice-disc_LocalMask -> voice-disc_AnchorShift -> voice-disc_ScaleRotate -> voice-disc_Position -> voice-disc_Gated -> voice-disc_Merge.Foreground", "composer-voice_Transparent -> voice-disc_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "voice-bar-0", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1", "parentLayerId": "composer-voice", "mergeIndex": 1, "nodeId": "voice-bar-0_Merge", "output": "voice-bar-0_Merge", "backgroundInput": "voice-disc_Merge", "foregroundInput": "voice-bar-0_Gated", "activeLocalFrames": [ 310, 362 ], "effectiveActiveLocalFrames": [ 310, 362 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 310, "end": 362, "x": 37, "y": 50, "width": 8, "height": 28, "fill": "#ffffff", "radius": 4 }, "rawNumericControls": { "x": 37, "y": 50, "width": 8, "height": 28, "radius": 4 }, "tools": { "Construct": "voice-bar-0_Construct", "LocalMask": "voice-bar-0_LocalMask", "AnchorShift": "voice-bar-0_AnchorShift", "ScaleRotate": "voice-bar-0_ScaleRotate", "Position": "voice-bar-0_Position", "Gated": "voice-bar-0_Gated", "Merge": "voice-bar-0_Merge" }, "connections": [ "voice-bar-0_Construct -> voice-bar-0_LocalMask -> voice-bar-0_AnchorShift -> voice-bar-0_ScaleRotate -> voice-bar-0_Position -> voice-bar-0_Gated -> voice-bar-0_Merge.Foreground", "voice-disc_Merge -> voice-bar-0_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 4, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "voice-bar-1", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2", "parentLayerId": "composer-voice", "mergeIndex": 2, "nodeId": "voice-bar-1_Merge", "output": "voice-bar-1_Merge", "backgroundInput": "voice-bar-0_Merge", "foregroundInput": "voice-bar-1_Gated", "activeLocalFrames": [ 310, 362 ], "effectiveActiveLocalFrames": [ 310, 362 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 310, "end": 362, "x": 52, "y": 37, "width": 8, "height": 54, "fill": "#ffffff", "radius": 4 }, "rawNumericControls": { "x": 52, "y": 37, "width": 8, "height": 54, "radius": 4 }, "tools": { "Construct": "voice-bar-1_Construct", "LocalMask": "voice-bar-1_LocalMask", "AnchorShift": "voice-bar-1_AnchorShift", "ScaleRotate": "voice-bar-1_ScaleRotate", "Position": "voice-bar-1_Position", "Gated": "voice-bar-1_Gated", "Merge": "voice-bar-1_Merge" }, "connections": [ "voice-bar-1_Construct -> voice-bar-1_LocalMask -> voice-bar-1_AnchorShift -> voice-bar-1_ScaleRotate -> voice-bar-1_Position -> voice-bar-1_Gated -> voice-bar-1_Merge.Foreground", "voice-bar-0_Merge -> voice-bar-1_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 4, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "voice-bar-2", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3", "parentLayerId": "composer-voice", "mergeIndex": 3, "nodeId": "voice-bar-2_Merge", "output": "voice-bar-2_Merge", "backgroundInput": "voice-bar-1_Merge", "foregroundInput": "voice-bar-2_Gated", "activeLocalFrames": [ 310, 362 ], "effectiveActiveLocalFrames": [ 310, 362 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 310, "end": 362, "x": 67, "y": 50, "width": 8, "height": 28, "fill": "#ffffff", "radius": 4 }, "rawNumericControls": { "x": 67, "y": 50, "width": 8, "height": 28, "radius": 4 }, "tools": { "Construct": "voice-bar-2_Construct", "LocalMask": "voice-bar-2_LocalMask", "AnchorShift": "voice-bar-2_AnchorShift", "ScaleRotate": "voice-bar-2_ScaleRotate", "Position": "voice-bar-2_Position", "Gated": "voice-bar-2_Gated", "Merge": "voice-bar-2_Merge" }, "connections": [ "voice-bar-2_Construct -> voice-bar-2_LocalMask -> voice-bar-2_AnchorShift -> voice-bar-2_ScaleRotate -> voice-bar-2_Position -> voice-bar-2_Gated -> voice-bar-2_Merge.Foreground", "voice-bar-1_Merge -> voice-bar-2_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 4, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "voice-bar-3", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4", "parentLayerId": "composer-voice", "mergeIndex": 4, "nodeId": "voice-bar-3_Merge", "output": "voice-bar-3_Merge", "backgroundInput": "voice-bar-2_Merge", "foregroundInput": "voice-bar-3_Gated", "activeLocalFrames": [ 310, 362 ], "effectiveActiveLocalFrames": [ 310, 362 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 310, "end": 362, "x": 82, "y": 37, "width": 8, "height": 54, "fill": "#ffffff", "radius": 4 }, "rawNumericControls": { "x": 82, "y": 37, "width": 8, "height": 54, "radius": 4 }, "tools": { "Construct": "voice-bar-3_Construct", "LocalMask": "voice-bar-3_LocalMask", "AnchorShift": "voice-bar-3_AnchorShift", "ScaleRotate": "voice-bar-3_ScaleRotate", "Position": "voice-bar-3_Position", "Gated": "voice-bar-3_Gated", "Merge": "voice-bar-3_Merge" }, "connections": [ "voice-bar-3_Construct -> voice-bar-3_LocalMask -> voice-bar-3_AnchorShift -> voice-bar-3_ScaleRotate -> voice-bar-3_Position -> voice-bar-3_Gated -> voice-bar-3_Merge.Foreground", "voice-bar-2_Merge -> voice-bar-3_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 4, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "send-arrow", "kind": "path", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5", "parentLayerId": "composer-voice", "mergeIndex": 5, "nodeId": "send-arrow_Merge", "output": "send-arrow_Merge", "backgroundInput": "voice-bar-3_Merge", "foregroundInput": "send-arrow_Gated", "activeLocalFrames": [ 362, 420 ], "effectiveActiveLocalFrames": [ 362, 420 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 362, "end": 420, "path": "M 28 54 V 23 L 14 37 L 8 31 L 32 7 L 56 31 L 50 37 L 36 23 V 54 Z", "viewBox": [ 0, 0, 64, 64 ], "x": 29, "y": 29, "width": 70, "height": 70, "fill": "#ffffff" }, "rawNumericControls": { "x": 29, "y": 29, "width": 70, "height": 70 }, "tools": { "Construct": "send-arrow_Construct", "LocalMask": "send-arrow_LocalMask", "AnchorShift": "send-arrow_AnchorShift", "ScaleRotate": "send-arrow_ScaleRotate", "Position": "send-arrow_Position", "Gated": "send-arrow_Gated", "Merge": "send-arrow_Merge" }, "connections": [ "send-arrow_Construct -> send-arrow_LocalMask -> send-arrow_AnchorShift -> send-arrow_ScaleRotate -> send-arrow_Position -> send-arrow_Gated -> send-arrow_Merge.Foreground", "voice-bar-3_Merge -> send-arrow_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Native closed Polygon masks for the absolute M/L/H/V/Z path subpaths, mapped from the stated viewBox. Preserve winding: inner bookmark contour subtracts from the outer contour. No freehand tracing. Fill only; raw path remains exact editable code." } ], "constructInput": "send-arrow_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." }, { "layerId": "composer-microphone", "kind": "group", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6", "parentLayerId": "row-3", "mergeIndex": 6, "nodeId": "composer-microphone_Merge", "output": "composer-microphone_Merge", "backgroundInput": "composer-voice_Merge", "foregroundInput": "composer-microphone_Gated", "activeLocalFrames": [ 310, 362 ], "effectiveActiveLocalFrames": [ 310, 362 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 310, "end": 362, "x": 1135, "y": 52, "width": 48, "height": 64 }, "rawNumericControls": { "x": 1135, "y": 52, "width": 48, "height": 64, "opacity": [ { "frame": 310, "value": 0, "easing": "smooth" }, { "frame": 323, "value": 1, "easing": "smooth" } ] }, "tools": { "Construct": "composer-microphone_Construct", "LocalMask": "composer-microphone_LocalMask", "AnchorShift": "composer-microphone_AnchorShift", "ScaleRotate": "composer-microphone_ScaleRotate", "Position": "composer-microphone_Position", "Gated": "composer-microphone_Gated", "Merge": "composer-microphone_Merge" }, "connections": [ "composer-microphone_Construct -> composer-microphone_LocalMask -> composer-microphone_AnchorShift -> composer-microphone_ScaleRotate -> composer-microphone_Position -> composer-microphone_Gated -> composer-microphone_Merge.Foreground", "composer-voice_Merge -> composer-microphone_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "mic-capsule", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0", "parentLayerId": "composer-microphone", "mergeIndex": 0, "nodeId": "mic-capsule_Merge", "output": "mic-capsule_Merge", "backgroundInput": "composer-microphone_Transparent", "foregroundInput": "mic-capsule_Gated", "activeLocalFrames": [ 310, 362 ], "effectiveActiveLocalFrames": [ 310, 362 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 310, "end": 362, "x": 14, "y": 0, "width": 20, "height": 37, "fill": "$muted", "radius": 10 }, "rawNumericControls": { "x": 14, "y": 0, "width": 20, "height": 37, "radius": 10 }, "tools": { "Construct": "mic-capsule_Construct", "LocalMask": "mic-capsule_LocalMask", "AnchorShift": "mic-capsule_AnchorShift", "ScaleRotate": "mic-capsule_ScaleRotate", "Position": "mic-capsule_Position", "Gated": "mic-capsule_Gated", "Merge": "mic-capsule_Merge" }, "connections": [ "mic-capsule_Construct -> mic-capsule_LocalMask -> mic-capsule_AnchorShift -> mic-capsule_ScaleRotate -> mic-capsule_Position -> mic-capsule_Gated -> mic-capsule_Merge.Foreground", "composer-microphone_Transparent -> mic-capsule_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 10, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "mic-base", "kind": "path", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1", "parentLayerId": "composer-microphone", "mergeIndex": 1, "nodeId": "mic-base_Merge", "output": "mic-base_Merge", "backgroundInput": "mic-capsule_Merge", "foregroundInput": "mic-base_Gated", "activeLocalFrames": [ 310, 362 ], "effectiveActiveLocalFrames": [ 310, 362 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 310, "end": 362, "path": "M 7 28 H 13 V 38 L 20 45 H 28 L 35 38 V 28 H 41 V 41 L 30 51 H 27 V 58 H 37 V 64 H 11 V 58 H 21 V 51 H 18 L 7 41 Z", "viewBox": [ 0, 0, 64, 64 ], "x": 0, "y": 0, "width": 48, "height": 48, "fill": "$muted" }, "rawNumericControls": { "x": 0, "y": 0, "width": 48, "height": 48 }, "tools": { "Construct": "mic-base_Construct", "LocalMask": "mic-base_LocalMask", "AnchorShift": "mic-base_AnchorShift", "ScaleRotate": "mic-base_ScaleRotate", "Position": "mic-base_Position", "Gated": "mic-base_Gated", "Merge": "mic-base_Merge" }, "connections": [ "mic-base_Construct -> mic-base_LocalMask -> mic-base_AnchorShift -> mic-base_ScaleRotate -> mic-base_Position -> mic-base_Gated -> mic-base_Merge.Foreground", "mic-capsule_Merge -> mic-base_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Native closed Polygon masks for the absolute M/L/H/V/Z path subpaths, mapped from the stated viewBox. Preserve winding: inner bookmark contour subtracts from the outer contour. No freehand tracing. Fill only; raw path remains exact editable code." } ], "constructInput": "mic-base_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." } ], "constructInput": "composer-microphone_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." }, { "layerId": "row-4", "kind": "group", "recipePointer": "/layers/1/children/0/children/0/children/4", "parentLayerId": "cycling-list", "mergeIndex": 4, "nodeId": "row-4_Merge", "output": "row-4_Merge", "backgroundInput": "row-3_Merge", "foregroundInput": "row-4_Gated", "activeLocalFrames": [ 210, 298 ], "effectiveActiveLocalFrames": [ 210, 298 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 210, "end": 298, "x": 260, "y": 1068, "width": 1400, "height": 168 }, "rawNumericControls": { "x": 260, "y": 1068, "width": 1400, "height": 168, "opacity": [ { "frame": 56, "value": 0, "easing": "hold" }, { "frame": 210, "value": 0, "easing": "smooth" }, { "frame": 234, "value": 0.42, "easing": "hold" }, { "frame": 278, "value": 0.42, "easing": "smooth" }, { "frame": 298, "value": 0, "easing": "smooth" } ] }, "tools": { "Construct": "row-4_Construct", "LocalMask": "row-4_LocalMask", "AnchorShift": "row-4_AnchorShift", "ScaleRotate": "row-4_ScaleRotate", "Position": "row-4_Position", "Gated": "row-4_Gated", "Merge": "row-4_Merge" }, "connections": [ "row-4_Construct -> row-4_LocalMask -> row-4_AnchorShift -> row-4_ScaleRotate -> row-4_Position -> row-4_Gated -> row-4_Merge.Foreground", "row-3_Merge -> row-4_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "children": [ { "layerId": "row-4-surface", "kind": "rect", "recipePointer": "/layers/1/children/0/children/0/children/4/children/0", "parentLayerId": "row-4", "mergeIndex": 0, "nodeId": "row-4-surface_Merge", "output": "row-4-surface_Merge", "backgroundInput": "row-4_Transparent", "foregroundInput": "row-4-surface_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 210, 298 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "x": 0, "y": 0, "width": 1400, "height": 168, "fill": "$surface", "radius": 84 }, "rawNumericControls": { "x": 0, "y": 0, "width": 1400, "height": 168, "radius": 84 }, "tools": { "Construct": "row-4-surface_Construct", "LocalMask": "row-4-surface_LocalMask", "AnchorShift": "row-4-surface_AnchorShift", "ScaleRotate": "row-4-surface_ScaleRotate", "Position": "row-4-surface_Position", "Gated": "row-4-surface_Gated", "Merge": "row-4-surface_Merge" }, "connections": [ "row-4-surface_Construct -> row-4-surface_LocalMask -> row-4-surface_AnchorShift -> row-4-surface_ScaleRotate -> row-4-surface_Position -> row-4-surface_Gated -> row-4-surface_Merge.Foreground", "row-4_Transparent -> row-4-surface_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 84, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "construction": "Background through local Rectangle/Ellipse mask. For CSS border, use outer stroke-color mask and inset fill mask (inset by strokeWidth, inner radius=max(0,radius-strokeWidth)); border is inward, not a centered SVG stroke. Ellipse ignores radius." }, { "layerId": "row-4-mark", "kind": "image", "recipePointer": "/layers/1/children/0/children/0/children/4/children/1", "parentLayerId": "row-4", "mergeIndex": 1, "nodeId": "row-4-mark_Merge", "output": "row-4-mark_Merge", "backgroundInput": "row-4-surface_Merge", "foregroundInput": "row-4-mark_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 210, 298 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "slot": "suggestionMark", "x": 52, "y": 56, "width": 56, "height": 56, "fit": "contain", "opacity": 1 }, "rawNumericControls": { "x": 52, "y": 56, "width": 56, "height": 56, "opacity": 1 }, "tools": { "Construct": "row-4-mark_Construct", "LocalMask": "row-4-mark_LocalMask", "AnchorShift": "row-4-mark_AnchorShift", "ScaleRotate": "row-4-mark_ScaleRotate", "Position": "row-4-mark_Position", "Gated": "row-4-mark_Gated", "Merge": "row-4-mark_Merge" }, "connections": [ "row-4-mark_Construct -> row-4-mark_LocalMask -> row-4-mark_AnchorShift -> row-4-mark_ScaleRotate -> row-4-mark_Position -> row-4-mark_Gated -> row-4-mark_Merge.Foreground", "row-4-surface_Merge -> row-4-mark_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." }, "adaptation": { "kind": "image", "path": "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg", "width": 64, "height": 64, "rights": "Original geometric SVG authored for this kit; no source-film pixels, tracing, branding, embedded fonts or external resources." } }, "construction": "Build the selected svgSubgraphs primitive chain as native Background+mask nodes. Apply contain fitting before the layer transform. No bitmap conversion or reference-media Loader." }, { "layerId": "row-4-copy", "kind": "text", "recipePointer": "/layers/1/children/0/children/0/children/4/children/2", "parentLayerId": "row-4", "mergeIndex": 2, "nodeId": "row-4-copy_Merge", "output": "row-4-copy_Merge", "backgroundInput": "row-4-mark_Merge", "foregroundInput": "row-4-copy_Gated", "activeLocalFrames": [ 0, 420 ], "effectiveActiveLocalFrames": [ 210, 298 ], "frameConvention": "Global local frame throughout hierarchy; start inclusive/end exclusive. Do not subtract child start.", "staticControls": { "start": 0, "end": 420, "slot": "row4", "x": 168, "y": 48, "width": 1178, "height": 80, "fontSize": 54, "weight": 400, "lineHeight": 1.2, "color": "$ink" }, "rawNumericControls": { "x": 168, "y": 48, "width": 1178, "height": 80 }, "tools": { "Construct": "row-4-copy_Construct", "LocalMask": "row-4-copy_LocalMask", "AnchorShift": "row-4-copy_AnchorShift", "ScaleRotate": "row-4-copy_ScaleRotate", "Position": "row-4-copy_Position", "Gated": "row-4-copy_Gated", "Merge": "row-4-copy_Merge" }, "connections": [ "row-4-copy_Construct -> row-4-copy_LocalMask -> row-4-copy_AnchorShift -> row-4-copy_ScaleRotate -> row-4-copy_Position -> row-4-copy_Gated -> row-4-copy_Merge.Foreground", "row-4-mark_Merge -> row-4-copy_Merge.Background" ], "mask": { "overflow": "visible", "clip": null, "cornerRadiusPx": 0, "stage": "Intersect overflow rounded mask and clip-inset mask before this layer transform. No dimensions-only clipping." }, "content": { "defaults": "Help me learn...", "adaptation": "Give me a prompt..." }, "construction": "Text+ with bundled Geist, explicit weight and literal line breaks. Disable auto-fit/reflow. Preserve the pixel box and line advance. For reveal, step StyledText to prefix + visible first N characters + suffix at each reveal step; from=start. No type scaling.", "textControls": { "font": "Geist", "fontFile": "project/public/fonts/Geist.ttf", "weight": 400, "fontSizePx": 54, "lineAdvancePx": 64.8, "trackingPx": 0, "alignment": "left", "verticalAlignment": "top", "nominalTextPlusSizeStartingEstimate": 0.01318359375, "sizeStatus": "Unverified starting estimate, not a calibrated Fusion conversion. Match actual glyph footprint with the licensed font before pixel review.", "reveal": null, "prefix": "", "suffix": "" } } ], "constructInput": "row-4-copy_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." } ], "constructInput": "row-4_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." } ], "constructInput": "cycling-list_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." } ], "constructInput": "stack-viewport_Merge", "construction": "Transparent domain -> ordered child merges -> local mask -> group transform -> group alpha. Child opacity is not a substitute for group opacity. Group dimensions never implicitly scale children." } ] svgSubgraphs { "reading-next/pulse-prompt-collapse/suggestion-mark-defaults.svg": { "viewBox": [ 0.0, 0.0, 64.0, 64.0 ], "prefixRule": "Prefix every primitive/node name with the consuming layerId; repeated uses remain editable independent instances.", "primitives": [ { "id": "Primitive00", "kind": "rect", "geometry": { "centerPx": [ 32.0, 32.0 ], "sizePx": [ 58.0, 58.0 ], "cornerRadiusPx": 14.0 }, "fill": "#c86d46", "alpha": 1.0, "tools": [ "Rectangle", "Background", "Merge" ], "connections": { "mask": "Primitive00_Mask", "foreground": "Primitive00_Paint", "background": "Transparent", "output": "Primitive00_Merge" }, "svgAttributes": { "x": "3", "y": "3", "width": "58", "height": "58", "rx": "14", "fill": "#c86d46" } }, { "id": "Primitive01", "kind": "polygon", "geometry": { "verticesPx": [ [ 15.0, 18.0 ], [ 32.0, 11.0 ], [ 49.0, 18.0 ], [ 49.0, 47.0 ], [ 32.0, 54.0 ], [ 15.0, 47.0 ] ], "closed": true }, "fill": "#ffffff", "alpha": 1.0, "tools": [ "Polygon", "Background", "Merge" ], "connections": { "mask": "Primitive01_Mask", "foreground": "Primitive01_Paint", "background": "Primitive00_Merge", "output": "Primitive01_Merge" }, "svgAttributes": { "points": "15,18 32,11 49,18 49,47 32,54 15,47", "fill": "#ffffff" } }, { "id": "Primitive02", "kind": "rect", "geometry": { "centerPx": [ 32.0, 32.0 ], "sizePx": [ 6.0, 28.0 ], "cornerRadiusPx": 0.0 }, "fill": "#c86d46", "alpha": 1.0, "tools": [ "Rectangle", "Background", "Merge" ], "connections": { "mask": "Primitive02_Mask", "foreground": "Primitive02_Paint", "background": "Primitive01_Merge", "output": "Primitive02_Merge" }, "svgAttributes": { "x": "29", "y": "18", "width": "6", "height": "28", "fill": "#c86d46" } } ], "output": "Primitive02_Merge", "fit": "Contain, centered in consuming box. factor=min(boxWidth/viewBoxWidth,boxHeight/viewBoxHeight); letterbox offsets=(boxSize-factor*viewBoxSize)/2. Map primitive geometry through factor/offset before layer transform.", "input": "Transparent padded working domain; no raster Loader or source frame." }, "reading-next/pulse-prompt-collapse/suggestion-mark-adaptation.svg": { "viewBox": [ 0.0, 0.0, 64.0, 64.0 ], "prefixRule": "Prefix every primitive/node name with the consuming layerId; repeated uses remain editable independent instances.", "primitives": [ { "id": "Primitive00", "kind": "rect", "geometry": { "centerPx": [ 32.0, 32.0 ], "sizePx": [ 58.0, 58.0 ], "cornerRadiusPx": 14.0 }, "fill": "#ad702d", "alpha": 1.0, "tools": [ "Rectangle", "Background", "Merge" ], "connections": { "mask": "Primitive00_Mask", "foreground": "Primitive00_Paint", "background": "Transparent", "output": "Primitive00_Merge" }, "svgAttributes": { "x": "3", "y": "3", "width": "58", "height": "58", "rx": "14", "fill": "#ad702d" } }, { "id": "Primitive01", "kind": "circle", "geometry": { "centerPx": [ 23.0, 23.0 ], "sizePx": [ 16.0, 16.0 ] }, "fill": "#ffffff", "alpha": 1.0, "tools": [ "Ellipse", "Background", "Merge" ], "connections": { "mask": "Primitive01_Mask", "foreground": "Primitive01_Paint", "background": "Primitive00_Merge", "output": "Primitive01_Merge" }, "svgAttributes": { "cx": "23", "cy": "23", "r": "8", "fill": "#ffffff" } }, { "id": "Primitive02", "kind": "circle", "geometry": { "centerPx": [ 43.0, 41.0 ], "sizePx": [ 18.0, 18.0 ] }, "fill": "#ffffff", "alpha": 1.0, "tools": [ "Ellipse", "Background", "Merge" ], "connections": { "mask": "Primitive02_Mask", "foreground": "Primitive02_Paint", "background": "Primitive01_Merge", "output": "Primitive02_Merge" }, "svgAttributes": { "cx": "43", "cy": "41", "r": "9", "fill": "#ffffff" } }, { "id": "Primitive03", "kind": "rect", "geometry": { "centerPx": [ 23.0, 43.5 ], "sizePx": [ 6.0, 15.0 ], "cornerRadiusPx": 2.0 }, "fill": "#ffffff", "alpha": 1.0, "tools": [ "Rectangle", "Background", "Merge" ], "connections": { "mask": "Primitive03_Mask", "foreground": "Primitive03_Paint", "background": "Primitive02_Merge", "output": "Primitive03_Merge" }, "svgAttributes": { "x": "20", "y": "36", "width": "6", "height": "15", "rx": "2", "fill": "#ffffff" } }, { "id": "Primitive04", "kind": "rect", "geometry": { "centerPx": [ 43.0, 16.0 ], "sizePx": [ 10.0, 6.0 ], "cornerRadiusPx": 2.0 }, "fill": "#ffffff", "alpha": 1.0, "tools": [ "Rectangle", "Background", "Merge" ], "connections": { "mask": "Primitive04_Mask", "foreground": "Primitive04_Paint", "background": "Primitive03_Merge", "output": "Primitive04_Merge" }, "svgAttributes": { "x": "38", "y": "13", "width": "10", "height": "6", "rx": "2", "fill": "#ffffff" } } ], "output": "Primitive04_Merge", "fit": "Contain, centered in consuming box. factor=min(boxWidth/viewBoxWidth,boxHeight/viewBoxHeight); letterbox offsets=(boxSize-factor*viewBoxSize)/2. Map primitive geometry through factor/offset before layer transform.", "input": "Transparent padded working domain; no raster Loader or source frame." } } tracks [ { "layerId": "phone-context", "parentId": null, "property": "width", "recipePointer": "/layers/0/width", "animated": false, "keyCount": 1, "minimum": 1920, "maximum": 1920, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1920 }, { "layerId": "phone-context", "parentId": null, "property": "height", "recipePointer": "/layers/0/height", "animated": false, "keyCount": 1, "minimum": 1080, "maximum": 1080, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 1080 }, { "layerId": "intro-shell", "parentId": "phone-context", "property": "x", "recipePointer": "/layers/0/children/0/x", "animated": false, "keyCount": 1, "minimum": 448, "maximum": 448, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 448 }, { "layerId": "intro-shell", "parentId": "phone-context", "property": "y", "recipePointer": "/layers/0/children/0/y", "animated": false, "keyCount": 1, "minimum": -760, "maximum": -760, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": -760 }, { "layerId": "intro-shell", "parentId": "phone-context", "property": "width", "recipePointer": "/layers/0/children/0/width", "animated": false, "keyCount": 1, "minimum": 1024, "maximum": 1024, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1024 }, { "layerId": "intro-shell", "parentId": "phone-context", "property": "height", "recipePointer": "/layers/0/children/0/height", "animated": false, "keyCount": 1, "minimum": 1712, "maximum": 1712, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 1712 }, { "layerId": "intro-shell", "parentId": "phone-context", "property": "radius", "recipePointer": "/layers/0/children/0/radius", "animated": false, "keyCount": 1, "minimum": 150, "maximum": 150, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 150 }, { "layerId": "intro-screen", "parentId": "phone-context", "property": "x", "recipePointer": "/layers/0/children/1/x", "animated": false, "keyCount": 1, "minimum": 480, "maximum": 480, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 480 }, { "layerId": "intro-screen", "parentId": "phone-context", "property": "y", "recipePointer": "/layers/0/children/1/y", "animated": false, "keyCount": 1, "minimum": -728, "maximum": -728, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": -728 }, { "layerId": "intro-screen", "parentId": "phone-context", "property": "width", "recipePointer": "/layers/0/children/1/width", "animated": false, "keyCount": 1, "minimum": 960, "maximum": 960, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 960 }, { "layerId": "intro-screen", "parentId": "phone-context", "property": "height", "recipePointer": "/layers/0/children/1/height", "animated": false, "keyCount": 1, "minimum": 1648, "maximum": 1648, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 1648 }, { "layerId": "intro-screen", "parentId": "phone-context", "property": "radius", "recipePointer": "/layers/0/children/1/radius", "animated": false, "keyCount": 1, "minimum": 118, "maximum": 118, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 118 }, { "layerId": "intro-card-fragment", "parentId": "phone-context", "property": "x", "recipePointer": "/layers/0/children/2/x", "animated": false, "keyCount": 1, "minimum": 520, "maximum": 520, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 520 }, { "layerId": "intro-card-fragment", "parentId": "phone-context", "property": "y", "recipePointer": "/layers/0/children/2/y", "animated": false, "keyCount": 1, "minimum": -270, "maximum": -270, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": -270 }, { "layerId": "intro-card-fragment", "parentId": "phone-context", "property": "width", "recipePointer": "/layers/0/children/2/width", "animated": false, "keyCount": 1, "minimum": 880, "maximum": 880, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 880 }, { "layerId": "intro-card-fragment", "parentId": "phone-context", "property": "height", "recipePointer": "/layers/0/children/2/height", "animated": false, "keyCount": 1, "minimum": 410, "maximum": 410, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 410 }, { "layerId": "intro-card-fragment", "parentId": "phone-context", "property": "radius", "recipePointer": "/layers/0/children/2/radius", "animated": false, "keyCount": 1, "minimum": 44, "maximum": 44, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 44 }, { "layerId": "intro-mark", "parentId": "phone-context", "property": "x", "recipePointer": "/layers/0/children/3/x", "animated": false, "keyCount": 1, "minimum": 568, "maximum": 568, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 568 }, { "layerId": "intro-mark", "parentId": "phone-context", "property": "y", "recipePointer": "/layers/0/children/3/y", "animated": false, "keyCount": 1, "minimum": 34, "maximum": 34, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 34 }, { "layerId": "intro-mark", "parentId": "phone-context", "property": "width", "recipePointer": "/layers/0/children/3/width", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "intro-mark", "parentId": "phone-context", "property": "height", "recipePointer": "/layers/0/children/3/height", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "intro-heading", "parentId": "phone-context", "property": "x", "recipePointer": "/layers/0/children/4/x", "animated": false, "keyCount": 1, "minimum": 520, "maximum": 520, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 520 }, { "layerId": "intro-heading", "parentId": "phone-context", "property": "y", "recipePointer": "/layers/0/children/4/y", "animated": false, "keyCount": 1, "minimum": 233, "maximum": 233, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 233 }, { "layerId": "intro-heading", "parentId": "phone-context", "property": "width", "recipePointer": "/layers/0/children/4/width", "animated": false, "keyCount": 1, "minimum": 880, "maximum": 880, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 880 }, { "layerId": "intro-heading", "parentId": "phone-context", "property": "height", "recipePointer": "/layers/0/children/4/height", "animated": false, "keyCount": 1, "minimum": 70, "maximum": 70, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 70 }, { "layerId": "intro-body", "parentId": "phone-context", "property": "x", "recipePointer": "/layers/0/children/5/x", "animated": false, "keyCount": 1, "minimum": 520, "maximum": 520, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 520 }, { "layerId": "intro-body", "parentId": "phone-context", "property": "y", "recipePointer": "/layers/0/children/5/y", "animated": false, "keyCount": 1, "minimum": 354, "maximum": 354, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 354 }, { "layerId": "intro-body", "parentId": "phone-context", "property": "width", "recipePointer": "/layers/0/children/5/width", "animated": false, "keyCount": 1, "minimum": 880, "maximum": 880, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 880 }, { "layerId": "intro-body", "parentId": "phone-context", "property": "height", "recipePointer": "/layers/0/children/5/height", "animated": false, "keyCount": 1, "minimum": 190, "maximum": 190, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 190 }, { "layerId": "intro-question", "parentId": "phone-context", "property": "x", "recipePointer": "/layers/0/children/6/x", "animated": false, "keyCount": 1, "minimum": 520, "maximum": 520, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 520 }, { "layerId": "intro-question", "parentId": "phone-context", "property": "y", "recipePointer": "/layers/0/children/6/y", "animated": false, "keyCount": 1, "minimum": 599, "maximum": 599, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 599 }, { "layerId": "intro-question", "parentId": "phone-context", "property": "width", "recipePointer": "/layers/0/children/6/width", "animated": false, "keyCount": 1, "minimum": 880, "maximum": 880, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 880 }, { "layerId": "intro-question", "parentId": "phone-context", "property": "height", "recipePointer": "/layers/0/children/6/height", "animated": false, "keyCount": 1, "minimum": 70, "maximum": 70, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 70 }, { "layerId": "intro-action", "parentId": "phone-context", "property": "x", "recipePointer": "/layers/0/children/7/x", "animated": false, "keyCount": 1, "minimum": 520, "maximum": 520, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 520 }, { "layerId": "intro-action", "parentId": "phone-context", "property": "y", "recipePointer": "/layers/0/children/7/y", "animated": false, "keyCount": 1, "minimum": 730, "maximum": 730, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 730 }, { "layerId": "intro-action", "parentId": "phone-context", "property": "width", "recipePointer": "/layers/0/children/7/width", "animated": false, "keyCount": 1, "minimum": 880, "maximum": 880, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 880 }, { "layerId": "intro-action", "parentId": "phone-context", "property": "height", "recipePointer": "/layers/0/children/7/height", "animated": false, "keyCount": 1, "minimum": 136, "maximum": 136, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 136 }, { "layerId": "intro-action", "parentId": "phone-context", "property": "scale", "recipePointer": "/layers/0/children/7/scale", "animated": true, "keyCount": 4, "minimum": 0.96, "maximum": 1, "nativeMapping": "ScaleRotate.Size=scale", "rawTrack": [ { "frame": 0, "value": 1, "easing": "hold" }, { "frame": 39, "value": 1, "easing": "smooth" }, { "frame": 45, "value": 0.96, "easing": "smooth" }, { "frame": 52, "value": 1, "easing": "smooth" } ] }, { "layerId": "intro-action-bg", "parentId": "intro-action", "property": "x", "recipePointer": "/layers/0/children/7/children/0/x", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 0 }, { "layerId": "intro-action-bg", "parentId": "intro-action", "property": "y", "recipePointer": "/layers/0/children/7/children/0/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "intro-action-bg", "parentId": "intro-action", "property": "width", "recipePointer": "/layers/0/children/7/children/0/width", "animated": false, "keyCount": 1, "minimum": 880, "maximum": 880, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 880 }, { "layerId": "intro-action-bg", "parentId": "intro-action", "property": "height", "recipePointer": "/layers/0/children/7/children/0/height", "animated": false, "keyCount": 1, "minimum": 136, "maximum": 136, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 136 }, { "layerId": "intro-action-bg", "parentId": "intro-action", "property": "radius", "recipePointer": "/layers/0/children/7/children/0/radius", "animated": false, "keyCount": 1, "minimum": 68, "maximum": 68, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 68 }, { "layerId": "intro-action-text", "parentId": "intro-action", "property": "x", "recipePointer": "/layers/0/children/7/children/1/x", "animated": false, "keyCount": 1, "minimum": 156, "maximum": 156, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 156 }, { "layerId": "intro-action-text", "parentId": "intro-action", "property": "y", "recipePointer": "/layers/0/children/7/children/1/y", "animated": false, "keyCount": 1, "minimum": 43, "maximum": 43, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 43 }, { "layerId": "intro-action-text", "parentId": "intro-action", "property": "width", "recipePointer": "/layers/0/children/7/children/1/width", "animated": false, "keyCount": 1, "minimum": 674, "maximum": 674, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 674 }, { "layerId": "intro-action-text", "parentId": "intro-action", "property": "height", "recipePointer": "/layers/0/children/7/children/1/height", "animated": false, "keyCount": 1, "minimum": 66, "maximum": 66, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 66 }, { "layerId": "intro-action-mark", "parentId": "intro-action", "property": "x", "recipePointer": "/layers/0/children/7/children/2/x", "animated": false, "keyCount": 1, "minimum": 72, "maximum": 72, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 72 }, { "layerId": "intro-action-mark", "parentId": "intro-action", "property": "y", "recipePointer": "/layers/0/children/7/children/2/y", "animated": false, "keyCount": 1, "minimum": 38, "maximum": 38, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 38 }, { "layerId": "intro-action-mark", "parentId": "intro-action", "property": "width", "recipePointer": "/layers/0/children/7/children/2/width", "animated": false, "keyCount": 1, "minimum": 60, "maximum": 60, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 60 }, { "layerId": "intro-action-mark", "parentId": "intro-action", "property": "height", "recipePointer": "/layers/0/children/7/children/2/height", "animated": false, "keyCount": 1, "minimum": 60, "maximum": 60, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 60 }, { "layerId": "suggestion-scene", "parentId": null, "property": "width", "recipePointer": "/layers/1/width", "animated": false, "keyCount": 1, "minimum": 1920, "maximum": 1920, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1920 }, { "layerId": "suggestion-scene", "parentId": null, "property": "height", "recipePointer": "/layers/1/height", "animated": false, "keyCount": 1, "minimum": 1080, "maximum": 1080, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 1080 }, { "layerId": "suggestion-scene", "parentId": null, "property": "scale", "recipePointer": "/layers/1/scale", "animated": true, "keyCount": 2, "minimum": 0.84, "maximum": 1, "nativeMapping": "ScaleRotate.Size=scale", "rawTrack": [ { "frame": 56, "value": 0.84, "easing": "smooth" }, { "frame": 88, "value": 1, "easing": "smooth" } ] }, { "layerId": "suggestion-scene", "parentId": null, "property": "opacity", "recipePointer": "/layers/1/opacity", "animated": true, "keyCount": 2, "minimum": 0.55, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 56, "value": 0.55, "easing": "smooth" }, { "frame": 66, "value": 1, "easing": "smooth" } ] }, { "layerId": "stack-viewport", "parentId": "suggestion-scene", "property": "x", "recipePointer": "/layers/1/children/0/x", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 0 }, { "layerId": "stack-viewport", "parentId": "suggestion-scene", "property": "y", "recipePointer": "/layers/1/children/0/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "stack-viewport", "parentId": "suggestion-scene", "property": "width", "recipePointer": "/layers/1/children/0/width", "animated": false, "keyCount": 1, "minimum": 1920, "maximum": 1920, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1920 }, { "layerId": "stack-viewport", "parentId": "suggestion-scene", "property": "height", "recipePointer": "/layers/1/children/0/height", "animated": false, "keyCount": 1, "minimum": 1080, "maximum": 1080, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 1080 }, { "layerId": "stack-viewport", "parentId": "suggestion-scene", "property": "clip.top", "recipePointer": "/layers/1/children/0/clip/top", "animated": false, "keyCount": 1, "minimum": 154, "maximum": 154, "nativeMapping": "Local mask top edge in pixels", "rawTrack": 154 }, { "layerId": "stack-viewport", "parentId": "suggestion-scene", "property": "clip.right", "recipePointer": "/layers/1/children/0/clip/right", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Local mask right inset in pixels", "rawTrack": 0 }, { "layerId": "stack-viewport", "parentId": "suggestion-scene", "property": "clip.bottom", "recipePointer": "/layers/1/children/0/clip/bottom", "animated": false, "keyCount": 1, "minimum": 144, "maximum": 144, "nativeMapping": "Local mask bottom inset in pixels", "rawTrack": 144 }, { "layerId": "stack-viewport", "parentId": "suggestion-scene", "property": "clip.left", "recipePointer": "/layers/1/children/0/clip/left", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Local mask left edge in pixels", "rawTrack": 0 }, { "layerId": "cycling-list", "parentId": "stack-viewport", "property": "y", "recipePointer": "/layers/1/children/0/children/0/y", "animated": true, "keyCount": 5, "minimum": -408, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": [ { "frame": 56, "value": 0, "easing": "hold" }, { "frame": 120, "value": 0, "easing": "smooth" }, { "frame": 144, "value": -204, "easing": "hold" }, { "frame": 210, "value": -204, "easing": "smooth" }, { "frame": 234, "value": -408, "easing": "smooth" } ] }, { "layerId": "cycling-list", "parentId": "stack-viewport", "property": "width", "recipePointer": "/layers/1/children/0/children/0/width", "animated": false, "keyCount": 1, "minimum": 1920, "maximum": 1920, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1920 }, { "layerId": "cycling-list", "parentId": "stack-viewport", "property": "height", "recipePointer": "/layers/1/children/0/children/0/height", "animated": false, "keyCount": 1, "minimum": 1500, "maximum": 1500, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 1500 }, { "layerId": "row-0", "parentId": "cycling-list", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/0/x", "animated": false, "keyCount": 1, "minimum": 260, "maximum": 260, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 260 }, { "layerId": "row-0", "parentId": "cycling-list", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/0/y", "animated": false, "keyCount": 1, "minimum": 252, "maximum": 252, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 252 }, { "layerId": "row-0", "parentId": "cycling-list", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/0/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-0", "parentId": "cycling-list", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/0/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-0", "parentId": "cycling-list", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/0/opacity", "animated": true, "keyCount": 3, "minimum": 0, "maximum": 0.42, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 56, "value": 0.42, "easing": "hold" }, { "frame": 120, "value": 0.42, "easing": "smooth" }, { "frame": 140, "value": 0, "easing": "smooth" } ] }, { "layerId": "row-0-surface", "parentId": "row-0", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/x", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 0 }, { "layerId": "row-0-surface", "parentId": "row-0", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "row-0-surface", "parentId": "row-0", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-0-surface", "parentId": "row-0", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-0-surface", "parentId": "row-0", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/0/children/0/radius", "animated": false, "keyCount": 1, "minimum": 84, "maximum": 84, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 84 }, { "layerId": "row-0-mark", "parentId": "row-0", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/x", "animated": false, "keyCount": 1, "minimum": 52, "maximum": 52, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 52 }, { "layerId": "row-0-mark", "parentId": "row-0", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/y", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 56 }, { "layerId": "row-0-mark", "parentId": "row-0", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/width", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-0-mark", "parentId": "row-0", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/height", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-0-mark", "parentId": "row-0", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/0/children/1/opacity", "animated": false, "keyCount": 1, "minimum": 1, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": 1 }, { "layerId": "row-0-copy", "parentId": "row-0", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/0/children/2/x", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 168 }, { "layerId": "row-0-copy", "parentId": "row-0", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/0/children/2/y", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 48 }, { "layerId": "row-0-copy", "parentId": "row-0", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/0/children/2/width", "animated": false, "keyCount": 1, "minimum": 1178, "maximum": 1178, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1178 }, { "layerId": "row-0-copy", "parentId": "row-0", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/0/children/2/height", "animated": false, "keyCount": 1, "minimum": 80, "maximum": 80, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 80 }, { "layerId": "row-1", "parentId": "cycling-list", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/1/x", "animated": false, "keyCount": 1, "minimum": 260, "maximum": 260, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 260 }, { "layerId": "row-1", "parentId": "cycling-list", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/1/y", "animated": false, "keyCount": 1, "minimum": 456, "maximum": 456, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 456 }, { "layerId": "row-1", "parentId": "cycling-list", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/1/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-1", "parentId": "cycling-list", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/1/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-1", "parentId": "cycling-list", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/1/opacity", "animated": true, "keyCount": 5, "minimum": 0, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 56, "value": 1, "easing": "hold" }, { "frame": 120, "value": 1, "easing": "smooth" }, { "frame": 144, "value": 0.42, "easing": "hold" }, { "frame": 210, "value": 0.42, "easing": "smooth" }, { "frame": 230, "value": 0, "easing": "smooth" } ] }, { "layerId": "row-1-surface", "parentId": "row-1", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/x", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 0 }, { "layerId": "row-1-surface", "parentId": "row-1", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "row-1-surface", "parentId": "row-1", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-1-surface", "parentId": "row-1", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-1-surface", "parentId": "row-1", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/1/children/0/radius", "animated": false, "keyCount": 1, "minimum": 84, "maximum": 84, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 84 }, { "layerId": "row-1-mark", "parentId": "row-1", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/x", "animated": false, "keyCount": 1, "minimum": 52, "maximum": 52, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 52 }, { "layerId": "row-1-mark", "parentId": "row-1", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/y", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 56 }, { "layerId": "row-1-mark", "parentId": "row-1", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/width", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-1-mark", "parentId": "row-1", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/height", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-1-mark", "parentId": "row-1", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/1/children/1/opacity", "animated": false, "keyCount": 1, "minimum": 1, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": 1 }, { "layerId": "row-1-copy", "parentId": "row-1", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/1/children/2/x", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 168 }, { "layerId": "row-1-copy", "parentId": "row-1", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/1/children/2/y", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 48 }, { "layerId": "row-1-copy", "parentId": "row-1", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/1/children/2/width", "animated": false, "keyCount": 1, "minimum": 430, "maximum": 430, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 430 }, { "layerId": "row-1-copy", "parentId": "row-1", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/1/children/2/height", "animated": false, "keyCount": 1, "minimum": 80, "maximum": 80, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 80 }, { "layerId": "row-1-topic", "parentId": "row-1", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/x", "animated": false, "keyCount": 1, "minimum": 620, "maximum": 620, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 620 }, { "layerId": "row-1-topic", "parentId": "row-1", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/y", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 48 }, { "layerId": "row-1-topic", "parentId": "row-1", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/width", "animated": false, "keyCount": 1, "minimum": 726, "maximum": 726, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 726 }, { "layerId": "row-1-topic", "parentId": "row-1", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/height", "animated": false, "keyCount": 1, "minimum": 80, "maximum": 80, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 80 }, { "layerId": "row-1-topic", "parentId": "row-1", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/1/children/3/opacity", "animated": true, "keyCount": 3, "minimum": 0, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 56, "value": 1, "easing": "hold" }, { "frame": 120, "value": 1, "easing": "smooth" }, { "frame": 140, "value": 0, "easing": "smooth" } ] }, { "layerId": "row-2", "parentId": "cycling-list", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/2/x", "animated": false, "keyCount": 1, "minimum": 260, "maximum": 260, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 260 }, { "layerId": "row-2", "parentId": "cycling-list", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/2/y", "animated": false, "keyCount": 1, "minimum": 660, "maximum": 660, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 660 }, { "layerId": "row-2", "parentId": "cycling-list", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/2/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-2", "parentId": "cycling-list", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/2/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-2", "parentId": "cycling-list", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/2/opacity", "animated": true, "keyCount": 7, "minimum": 0, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 56, "value": 0.42, "easing": "hold" }, { "frame": 120, "value": 0.42, "easing": "smooth" }, { "frame": 144, "value": 1, "easing": "hold" }, { "frame": 210, "value": 1, "easing": "smooth" }, { "frame": 234, "value": 0.42, "easing": "hold" }, { "frame": 278, "value": 0.42, "easing": "smooth" }, { "frame": 298, "value": 0, "easing": "smooth" } ] }, { "layerId": "row-2-surface", "parentId": "row-2", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/x", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 0 }, { "layerId": "row-2-surface", "parentId": "row-2", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "row-2-surface", "parentId": "row-2", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-2-surface", "parentId": "row-2", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-2-surface", "parentId": "row-2", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/2/children/0/radius", "animated": false, "keyCount": 1, "minimum": 84, "maximum": 84, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 84 }, { "layerId": "row-2-mark", "parentId": "row-2", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/x", "animated": false, "keyCount": 1, "minimum": 52, "maximum": 52, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 52 }, { "layerId": "row-2-mark", "parentId": "row-2", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/y", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 56 }, { "layerId": "row-2-mark", "parentId": "row-2", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/width", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-2-mark", "parentId": "row-2", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/height", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-2-mark", "parentId": "row-2", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/2/children/1/opacity", "animated": false, "keyCount": 1, "minimum": 1, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": 1 }, { "layerId": "row-2-copy", "parentId": "row-2", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/2/children/2/x", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 168 }, { "layerId": "row-2-copy", "parentId": "row-2", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/2/children/2/y", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 48 }, { "layerId": "row-2-copy", "parentId": "row-2", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/2/children/2/width", "animated": false, "keyCount": 1, "minimum": 430, "maximum": 430, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 430 }, { "layerId": "row-2-copy", "parentId": "row-2", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/2/children/2/height", "animated": false, "keyCount": 1, "minimum": 80, "maximum": 80, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 80 }, { "layerId": "row-2-topic", "parentId": "row-2", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/x", "animated": false, "keyCount": 1, "minimum": 620, "maximum": 620, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 620 }, { "layerId": "row-2-topic", "parentId": "row-2", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/y", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 48 }, { "layerId": "row-2-topic", "parentId": "row-2", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/width", "animated": false, "keyCount": 1, "minimum": 726, "maximum": 726, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 726 }, { "layerId": "row-2-topic", "parentId": "row-2", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/height", "animated": false, "keyCount": 1, "minimum": 80, "maximum": 80, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 80 }, { "layerId": "row-2-topic", "parentId": "row-2", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/2/children/3/opacity", "animated": true, "keyCount": 4, "minimum": 0, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 120, "value": 0, "easing": "smooth" }, { "frame": 132, "value": 1, "easing": "hold" }, { "frame": 210, "value": 1, "easing": "smooth" }, { "frame": 230, "value": 0, "easing": "smooth" } ] }, { "layerId": "row-3", "parentId": "cycling-list", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/x", "animated": false, "keyCount": 1, "minimum": 260, "maximum": 260, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 260 }, { "layerId": "row-3", "parentId": "cycling-list", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/y", "animated": false, "keyCount": 1, "minimum": 864, "maximum": 864, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 864 }, { "layerId": "row-3", "parentId": "cycling-list", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-3", "parentId": "cycling-list", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-3", "parentId": "cycling-list", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/3/opacity", "animated": true, "keyCount": 5, "minimum": 0, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 56, "value": 0, "easing": "hold" }, { "frame": 120, "value": 0, "easing": "smooth" }, { "frame": 144, "value": 0.42, "easing": "hold" }, { "frame": 210, "value": 0.42, "easing": "smooth" }, { "frame": 234, "value": 1, "easing": "smooth" } ] }, { "layerId": "row-3-surface", "parentId": "row-3", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/x", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 0 }, { "layerId": "row-3-surface", "parentId": "row-3", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "row-3-surface", "parentId": "row-3", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-3-surface", "parentId": "row-3", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-3-surface", "parentId": "row-3", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/3/children/0/radius", "animated": false, "keyCount": 1, "minimum": 84, "maximum": 84, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 84 }, { "layerId": "row-3-mark", "parentId": "row-3", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/x", "animated": false, "keyCount": 1, "minimum": 52, "maximum": 52, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 52 }, { "layerId": "row-3-mark", "parentId": "row-3", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/y", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 56 }, { "layerId": "row-3-mark", "parentId": "row-3", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/width", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-3-mark", "parentId": "row-3", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/height", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-3-mark", "parentId": "row-3", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/3/children/1/opacity", "animated": true, "keyCount": 3, "minimum": 0, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 0, "value": 1, "easing": "hold" }, { "frame": 298, "value": 1, "easing": "smooth" }, { "frame": 309, "value": 0, "easing": "smooth" } ] }, { "layerId": "row-3-copy", "parentId": "row-3", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/2/x", "animated": true, "keyCount": 3, "minimum": 62, "maximum": 168, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": [ { "frame": 0, "value": 168, "easing": "hold" }, { "frame": 300, "value": 168, "easing": "smooth" }, { "frame": 312, "value": 62, "easing": "smooth" } ] }, { "layerId": "row-3-copy", "parentId": "row-3", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/2/y", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 48 }, { "layerId": "row-3-copy", "parentId": "row-3", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/2/width", "animated": false, "keyCount": 1, "minimum": 1178, "maximum": 1178, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1178 }, { "layerId": "row-3-copy", "parentId": "row-3", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/2/height", "animated": false, "keyCount": 1, "minimum": 80, "maximum": 80, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 80 }, { "layerId": "typed-request", "parentId": "row-3", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/3/x", "animated": false, "keyCount": 1, "minimum": 62, "maximum": 62, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 62 }, { "layerId": "typed-request", "parentId": "row-3", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/3/y", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 48 }, { "layerId": "typed-request", "parentId": "row-3", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/3/width", "animated": false, "keyCount": 1, "minimum": 1178, "maximum": 1178, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1178 }, { "layerId": "typed-request", "parentId": "row-3", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/3/height", "animated": false, "keyCount": 1, "minimum": 80, "maximum": 80, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 80 }, { "layerId": "idle-caret", "parentId": "row-3", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/x", "animated": false, "keyCount": 1, "minimum": 62, "maximum": 62, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 62 }, { "layerId": "idle-caret", "parentId": "row-3", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/y", "animated": false, "keyCount": 1, "minimum": 53, "maximum": 53, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 53 }, { "layerId": "idle-caret", "parentId": "row-3", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/width", "animated": false, "keyCount": 1, "minimum": 3, "maximum": 3, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 3 }, { "layerId": "idle-caret", "parentId": "row-3", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/height", "animated": false, "keyCount": 1, "minimum": 62, "maximum": 62, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 62 }, { "layerId": "idle-caret", "parentId": "row-3", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/3/children/4/opacity", "animated": true, "keyCount": 3, "minimum": 0, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 324, "value": 1, "easing": "hold" }, { "frame": 331, "value": 0, "easing": "hold" }, { "frame": 354, "value": 1, "easing": "hold" } ] }, { "layerId": "composer-voice", "parentId": "row-3", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/x", "animated": false, "keyCount": 1, "minimum": 1250, "maximum": 1250, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 1250 }, { "layerId": "composer-voice", "parentId": "row-3", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/y", "animated": false, "keyCount": 1, "minimum": 20, "maximum": 20, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 20 }, { "layerId": "composer-voice", "parentId": "row-3", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/width", "animated": false, "keyCount": 1, "minimum": 128, "maximum": 128, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 128 }, { "layerId": "composer-voice", "parentId": "row-3", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/height", "animated": false, "keyCount": 1, "minimum": 128, "maximum": 128, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 128 }, { "layerId": "composer-voice", "parentId": "row-3", "property": "scale", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/scale", "animated": true, "keyCount": 2, "minimum": 0.02, "maximum": 1, "nativeMapping": "ScaleRotate.Size=scale", "rawTrack": [ { "frame": 310, "value": 0.02, "easing": "smooth" }, { "frame": 323, "value": 1, "easing": "smooth" } ] }, { "layerId": "voice-disc", "parentId": "composer-voice", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0/x", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 0 }, { "layerId": "voice-disc", "parentId": "composer-voice", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "voice-disc", "parentId": "composer-voice", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0/width", "animated": false, "keyCount": 1, "minimum": 128, "maximum": 128, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 128 }, { "layerId": "voice-disc", "parentId": "composer-voice", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/0/height", "animated": false, "keyCount": 1, "minimum": 128, "maximum": 128, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 128 }, { "layerId": "voice-bar-0", "parentId": "composer-voice", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/x", "animated": false, "keyCount": 1, "minimum": 37, "maximum": 37, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 37 }, { "layerId": "voice-bar-0", "parentId": "composer-voice", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/y", "animated": false, "keyCount": 1, "minimum": 50, "maximum": 50, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 50 }, { "layerId": "voice-bar-0", "parentId": "composer-voice", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/width", "animated": false, "keyCount": 1, "minimum": 8, "maximum": 8, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 8 }, { "layerId": "voice-bar-0", "parentId": "composer-voice", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/height", "animated": false, "keyCount": 1, "minimum": 28, "maximum": 28, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 28 }, { "layerId": "voice-bar-0", "parentId": "composer-voice", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/1/radius", "animated": false, "keyCount": 1, "minimum": 4, "maximum": 4, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 4 }, { "layerId": "voice-bar-1", "parentId": "composer-voice", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/x", "animated": false, "keyCount": 1, "minimum": 52, "maximum": 52, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 52 }, { "layerId": "voice-bar-1", "parentId": "composer-voice", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/y", "animated": false, "keyCount": 1, "minimum": 37, "maximum": 37, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 37 }, { "layerId": "voice-bar-1", "parentId": "composer-voice", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/width", "animated": false, "keyCount": 1, "minimum": 8, "maximum": 8, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 8 }, { "layerId": "voice-bar-1", "parentId": "composer-voice", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/height", "animated": false, "keyCount": 1, "minimum": 54, "maximum": 54, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 54 }, { "layerId": "voice-bar-1", "parentId": "composer-voice", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/2/radius", "animated": false, "keyCount": 1, "minimum": 4, "maximum": 4, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 4 }, { "layerId": "voice-bar-2", "parentId": "composer-voice", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/x", "animated": false, "keyCount": 1, "minimum": 67, "maximum": 67, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 67 }, { "layerId": "voice-bar-2", "parentId": "composer-voice", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/y", "animated": false, "keyCount": 1, "minimum": 50, "maximum": 50, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 50 }, { "layerId": "voice-bar-2", "parentId": "composer-voice", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/width", "animated": false, "keyCount": 1, "minimum": 8, "maximum": 8, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 8 }, { "layerId": "voice-bar-2", "parentId": "composer-voice", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/height", "animated": false, "keyCount": 1, "minimum": 28, "maximum": 28, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 28 }, { "layerId": "voice-bar-2", "parentId": "composer-voice", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/3/radius", "animated": false, "keyCount": 1, "minimum": 4, "maximum": 4, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 4 }, { "layerId": "voice-bar-3", "parentId": "composer-voice", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/x", "animated": false, "keyCount": 1, "minimum": 82, "maximum": 82, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 82 }, { "layerId": "voice-bar-3", "parentId": "composer-voice", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/y", "animated": false, "keyCount": 1, "minimum": 37, "maximum": 37, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 37 }, { "layerId": "voice-bar-3", "parentId": "composer-voice", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/width", "animated": false, "keyCount": 1, "minimum": 8, "maximum": 8, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 8 }, { "layerId": "voice-bar-3", "parentId": "composer-voice", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/height", "animated": false, "keyCount": 1, "minimum": 54, "maximum": 54, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 54 }, { "layerId": "voice-bar-3", "parentId": "composer-voice", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/4/radius", "animated": false, "keyCount": 1, "minimum": 4, "maximum": 4, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 4 }, { "layerId": "send-arrow", "parentId": "composer-voice", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5/x", "animated": false, "keyCount": 1, "minimum": 29, "maximum": 29, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 29 }, { "layerId": "send-arrow", "parentId": "composer-voice", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5/y", "animated": false, "keyCount": 1, "minimum": 29, "maximum": 29, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 29 }, { "layerId": "send-arrow", "parentId": "composer-voice", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5/width", "animated": false, "keyCount": 1, "minimum": 70, "maximum": 70, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 70 }, { "layerId": "send-arrow", "parentId": "composer-voice", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/5/children/5/height", "animated": false, "keyCount": 1, "minimum": 70, "maximum": 70, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 70 }, { "layerId": "composer-microphone", "parentId": "row-3", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/x", "animated": false, "keyCount": 1, "minimum": 1135, "maximum": 1135, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 1135 }, { "layerId": "composer-microphone", "parentId": "row-3", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/y", "animated": false, "keyCount": 1, "minimum": 52, "maximum": 52, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 52 }, { "layerId": "composer-microphone", "parentId": "row-3", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/width", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 48 }, { "layerId": "composer-microphone", "parentId": "row-3", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/height", "animated": false, "keyCount": 1, "minimum": 64, "maximum": 64, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 64 }, { "layerId": "composer-microphone", "parentId": "row-3", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/opacity", "animated": true, "keyCount": 2, "minimum": 0, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 310, "value": 0, "easing": "smooth" }, { "frame": 323, "value": 1, "easing": "smooth" } ] }, { "layerId": "mic-capsule", "parentId": "composer-microphone", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/x", "animated": false, "keyCount": 1, "minimum": 14, "maximum": 14, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 14 }, { "layerId": "mic-capsule", "parentId": "composer-microphone", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "mic-capsule", "parentId": "composer-microphone", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/width", "animated": false, "keyCount": 1, "minimum": 20, "maximum": 20, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 20 }, { "layerId": "mic-capsule", "parentId": "composer-microphone", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/height", "animated": false, "keyCount": 1, "minimum": 37, "maximum": 37, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 37 }, { "layerId": "mic-capsule", "parentId": "composer-microphone", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/0/radius", "animated": false, "keyCount": 1, "minimum": 10, "maximum": 10, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 10 }, { "layerId": "mic-base", "parentId": "composer-microphone", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1/x", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 0 }, { "layerId": "mic-base", "parentId": "composer-microphone", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "mic-base", "parentId": "composer-microphone", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1/width", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 48 }, { "layerId": "mic-base", "parentId": "composer-microphone", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/3/children/6/children/1/height", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 48 }, { "layerId": "row-4", "parentId": "cycling-list", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/4/x", "animated": false, "keyCount": 1, "minimum": 260, "maximum": 260, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 260 }, { "layerId": "row-4", "parentId": "cycling-list", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/4/y", "animated": false, "keyCount": 1, "minimum": 1068, "maximum": 1068, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 1068 }, { "layerId": "row-4", "parentId": "cycling-list", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/4/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-4", "parentId": "cycling-list", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/4/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-4", "parentId": "cycling-list", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/4/opacity", "animated": true, "keyCount": 5, "minimum": 0, "maximum": 0.42, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": [ { "frame": 56, "value": 0, "easing": "hold" }, { "frame": 210, "value": 0, "easing": "smooth" }, { "frame": 234, "value": 0.42, "easing": "hold" }, { "frame": 278, "value": 0.42, "easing": "smooth" }, { "frame": 298, "value": 0, "easing": "smooth" } ] }, { "layerId": "row-4-surface", "parentId": "row-4", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/x", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 0 }, { "layerId": "row-4-surface", "parentId": "row-4", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/y", "animated": false, "keyCount": 1, "minimum": 0, "maximum": 0, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 0 }, { "layerId": "row-4-surface", "parentId": "row-4", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/width", "animated": false, "keyCount": 1, "minimum": 1400, "maximum": 1400, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1400 }, { "layerId": "row-4-surface", "parentId": "row-4", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/height", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 168 }, { "layerId": "row-4-surface", "parentId": "row-4", "property": "radius", "recipePointer": "/layers/1/children/0/children/0/children/4/children/0/radius", "animated": false, "keyCount": 1, "minimum": 84, "maximum": 84, "nativeMapping": "Pixel corner radius; use rounded-mask construction", "rawTrack": 84 }, { "layerId": "row-4-mark", "parentId": "row-4", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/x", "animated": false, "keyCount": 1, "minimum": 52, "maximum": 52, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 52 }, { "layerId": "row-4-mark", "parentId": "row-4", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/y", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 56 }, { "layerId": "row-4-mark", "parentId": "row-4", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/width", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-4-mark", "parentId": "row-4", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/height", "animated": false, "keyCount": 1, "minimum": 56, "maximum": 56, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 56 }, { "layerId": "row-4-mark", "parentId": "row-4", "property": "opacity", "recipePointer": "/layers/1/children/0/children/0/children/4/children/1/opacity", "animated": false, "keyCount": 1, "minimum": 1, "maximum": 1, "nativeMapping": "Gated.Merge.Blend=active*opacity after child assembly", "rawTrack": 1 }, { "layerId": "row-4-copy", "parentId": "row-4", "property": "x", "recipePointer": "/layers/1/children/0/children/0/children/4/children/2/x", "animated": false, "keyCount": 1, "minimum": 168, "maximum": 168, "nativeMapping": "Position.Center.X=.5+(x+originX-workingCenterX)/4096", "rawTrack": 168 }, { "layerId": "row-4-copy", "parentId": "row-4", "property": "y", "recipePointer": "/layers/1/children/0/children/0/children/4/children/2/y", "animated": false, "keyCount": 1, "minimum": 48, "maximum": 48, "nativeMapping": "Position.Center.Y=.5-(y+originY-workingCenterY)/4096", "rawTrack": 48 }, { "layerId": "row-4-copy", "parentId": "row-4", "property": "width", "recipePointer": "/layers/1/children/0/children/0/children/4/children/2/width", "animated": false, "keyCount": 1, "minimum": 1178, "maximum": 1178, "nativeMapping": "Local geometry width in pixels; do not resize children", "rawTrack": 1178 }, { "layerId": "row-4-copy", "parentId": "row-4", "property": "height", "recipePointer": "/layers/1/children/0/children/0/children/4/children/2/height", "animated": false, "keyCount": 1, "minimum": 80, "maximum": 80, "nativeMapping": "Local geometry height in pixels; do not resize children", "rawTrack": 80 } ] steps [ "0–55: retain the phone-footer context and a 39–52 button press/release. At 56 cut to suggestions. Do not trim this lead to make the collapse start earlier.", "56–88: stack scales .84→1 around (960,540). Rows are 1400×168px, pitch 204px, inside a fixed clip; visible text is live.", "120–144: list shifts −204px; the initially lower row becomes central. 210–234: shift reaches −408px and the free-note row becomes central. A fourth row can overlap the visibility fringe during travel; this is one stack treatment.", "278–298: top/bottom rows clear while the middle surface remains. 298–309: its leading mark fades; 300–312: its placeholder moves 168→62px locally. Controls grow separately at 310–323.", "324–361: empty placeholder/caret phase. At 362, placeholder and microphone/voice bars switch off and send arrow/typed layer switch on. Characters arrive at 363+2n, n=0…28. Local 419 shows only 29 characters, not the entire supplied sentence; no submit follows." ] checkpoints [ { "localFrame": 0, "excerptFrame": 0, "sourceFrame": 3060, "nominalSourceSeconds": 51.0, "expected": "Phone footer, not suggestion rows." }, { "localFrame": 40, "excerptFrame": 40, "sourceFrame": 3100, "nominalSourceSeconds": 51.666666666666664, "expected": "Footer button press phase." }, { "localFrame": 55, "excerptFrame": 55, "sourceFrame": 3115, "nominalSourceSeconds": 51.916666666666664, "expected": "Last phone-context frame." }, { "localFrame": 56, "excerptFrame": 56, "sourceFrame": 3116, "nominalSourceSeconds": 51.93333333333333, "expected": "Cut to suggestion abstraction." }, { "localFrame": 88, "excerptFrame": 88, "sourceFrame": 3148, "nominalSourceSeconds": 52.46666666666667, "expected": "Stack at full authored scale." }, { "localFrame": 120, "excerptFrame": 120, "sourceFrame": 3180, "nominalSourceSeconds": 53.0, "expected": "First upward list cycle begins." }, { "localFrame": 140, "excerptFrame": 140, "sourceFrame": 3200, "nominalSourceSeconds": 53.333333333333336, "expected": "Departing top row gone." }, { "localFrame": 144, "excerptFrame": 144, "sourceFrame": 3204, "nominalSourceSeconds": 53.4, "expected": "Second subject occupies the center." }, { "localFrame": 210, "excerptFrame": 210, "sourceFrame": 3270, "nominalSourceSeconds": 54.5, "expected": "Second upward cycle begins." }, { "localFrame": 230, "excerptFrame": 230, "sourceFrame": 3290, "nominalSourceSeconds": 54.833333333333336, "expected": "Former first selected row gone." }, { "localFrame": 234, "excerptFrame": 234, "sourceFrame": 3294, "nominalSourceSeconds": 54.9, "expected": "Free-note row at the center." }, { "localFrame": 278, "excerptFrame": 278, "sourceFrame": 3338, "nominalSourceSeconds": 55.63333333333333, "expected": "Peripheral fade begins." }, { "localFrame": 298, "excerptFrame": 298, "sourceFrame": 3358, "nominalSourceSeconds": 55.96666666666667, "expected": "Peripheral rows inactive." }, { "localFrame": 300, "excerptFrame": 300, "sourceFrame": 3360, "nominalSourceSeconds": 56.0, "expected": "Leading mark clears as placeholder starts shifting." }, { "localFrame": 309, "excerptFrame": 309, "sourceFrame": 3369, "nominalSourceSeconds": 56.15, "expected": "No leading mark." }, { "localFrame": 310, "excerptFrame": 310, "sourceFrame": 3370, "nominalSourceSeconds": 56.166666666666664, "expected": "Separate voice/microphone growth begins." }, { "localFrame": 323, "excerptFrame": 323, "sourceFrame": 3383, "nominalSourceSeconds": 56.38333333333333, "expected": "Controls full size." }, { "localFrame": 324, "excerptFrame": 324, "sourceFrame": 3384, "nominalSourceSeconds": 56.4, "expected": "Placeholder focus/caret phase." }, { "localFrame": 361, "excerptFrame": 361, "sourceFrame": 3421, "nominalSourceSeconds": 57.016666666666666, "expected": "Last placeholder frame." }, { "localFrame": 362, "excerptFrame": 362, "sourceFrame": 3422, "nominalSourceSeconds": 57.03333333333333, "expected": "Blank typed layer, send arrow; no first character yet." }, { "localFrame": 363, "excerptFrame": 363, "sourceFrame": 3423, "nominalSourceSeconds": 57.05, "expected": "First original character." }, { "localFrame": 391, "excerptFrame": 391, "sourceFrame": 3451, "nominalSourceSeconds": 57.516666666666666, "expected": "15 characters visible." }, { "localFrame": 419, "excerptFrame": 419, "sourceFrame": 3479, "nominalSourceSeconds": 57.983333333333334, "expected": "29 characters, partial word at source cutoff; no send." } ] limitations [ "Suggestion words, symbols, press response, row opacity curves and input cadence are original approximations. The source uses a wand mark and different content; this kit is a promotional motion specimen, not proof of a shipping suggestion/composer interaction.", "No worker rendering, browser font measurement or native Resolve execution.", "Static all-frame excerpt inspection is not moving review or source-fidelity acceptance." ]