fusionSetup { "backgroundNode": "Background_Canvas", "background": "#ffffff", "outputNode": "MediaOut1", "input": "Merge_crop-camera", "localFrames": [ 0, 69 ], "timelineFps": { "numerator": 30, "denominator": 1 }, "pixelAspect": 1, "layerOrder": "Listed ordered Over merges. Child tree is composited before its parent transform.", "notAnImportFile": true, "documentation": { "retainedManual": "Resolve-21.pdf / chapter120 Transform, printed pages2929-2931; chapter108 masks. Read from retained official documentation, not a claim of installed-version validation.", "transform": "Center positions the image, Pivot is the rotation/scaling axis, Size scales, positive Angle is counterclockwise, Canvas edges default transparent." }, "instructions": [ "Local x/y are pixels from the top-left of the parent, not the composition. All keys use the same native local frame f. For absolute source time use sourceStart+f, and for nominal seconds multiply by fpsDenominator/fpsNumerator. These are not measured master PTS.", "Use full 1920x1080 transparent domains for transforms, retaining needed offscreen material until the final canvas clip. For the phone, any material clipped below the domain is never translated back into view in this recipe. Do not reduce each layer domain to its visible bounding box before parenting.", "For zero-rotation local origin(ox,oy), sx=scale*scaleX and sy=scale*scaleY: bx=x+ox-sx*ox, by=y+oy-sy*oy. Output pixels=(bx+sx*inputX,by+sy*inputY). Full-frame Fusion centered Pivot=(0.5,0.5) then uses CenterX=bx/1920+sx/2; CenterY=1-by/1080-sy/2. Use independent X/Y Size if scales differ. All authored rotations are zero; Angle sign would invert for CSS clockwise rotation.", "For a local rectangle center use ((x+w/2)/1920,1-(y+h/2)/1080), Width=w/1920, Height=h/1080. For rounded corners preserve the radius in pixel geometry; reconstruct a Bezier rounded rectangle rather than treating the Fusion Corner Radius knob as pixels. Every SVG path/viewBox and native icon path is preserved in the guide.", "Left-key hold means the left value persists strictly before the next key, and the right value begins exactly at that key. Smooth means u*u*(3-2*u), not Resolve default Auto or the older cubic Bezier(.16,1,.3,1). Bake controls.csv values as native-frame keys when an analytic expression is inconvenient.", "Masks change alpha before compositing. overflow:hidden plus radius clips descendants to the rounded rectangle; a radius alone only shapes the background of a group and is not an extra child clip. Keep the browser/screen/gallery clips in their local parent coordinate system.", "CSS rect borders lie inside their stated box. Native fallback uses an outer rounded mask minus an inset rounded mask of border thickness; do not expand the box with a centered outline. Whole-group opacity is applied once after child Over merges.", "Keep premultiplied RGBA consistent for Over. If a color operation needs straight alpha, unpremultiply then premultiply immediately around it. No arbitrary opacity compensation, Screen blend or black backing. The original SVG radial/linear gradients use local alpha stops.", "The free prompt shadow is a separate black rectangle with alpha0.07 and CSS blur24px. Fusion Gaussian radius is not assumed equal to CSS blur; compare that one material at full resolution. Other geometry remains sharp and motion blur is disabled.", "Geist text uses explicit line breaks and listed pixel boxes. Resolve Text+ font size/baseline and SVG gradient appearance need actual application calibration. Do not claim identical rasterization from a numerical sampler pass. Use held StyledText strings for the exact character prefix schedule if Write On counts differently.", "Use no optical flow, dynamic zoom, retiming, transition handles or synthesized audio. No extra frames precede or follow the source window. Final output is clipped to1920x1080, not scaled to fit it." ] } fusionNodes [ { "layerId": "context-background", "nodeId": "Layer_context-background", "kind": "image", "parentLayerId": null, "recipePointer": "/layers/0", "mergeIndex": 0, "backgroundInput": "Background_Canvas", "foregroundInput": "Processed_context-background", "output": "Merge_context-background", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 0, "y": 0, "width": 1920, "height": 1080, "origin": [ 0, 0 ], "slot": "contextArt", "fit": "contain" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Native vector subgroup reconstructed from svgConstruction", "Fit Transform", "Local Transform", "Over Merge" ], "assets": { "defaults": { "kind": "image", "path": "art/hard-cut-crop/context-default.svg", "width": 1920, "height": 1080, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." }, "adaptation": { "kind": "image", "path": "art/hard-cut-crop/context-adaptation.svg", "width": 1920, "height": 1080, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." } }, "fitRule": "Use min(boxWidth/SVGWidth, boxHeight/SVGHeight), center the resulting artwork in the box, preserve SVG viewBox and alpha. These supplied boxes match their assets; no photographic crop." }, { "layerId": "crop-camera", "nodeId": "Layer_crop-camera", "kind": "group", "parentLayerId": null, "recipePointer": "/layers/1", "mergeIndex": 1, "backgroundInput": "Merge_context-background", "foregroundInput": "Processed_crop-camera", "output": "Merge_crop-camera", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": [ { "frame": 0, "value": 0, "easing": "hold" }, { "frame": 16, "value": -2348, "easing": "hold" }, { "frame": 68, "value": -2348, "easing": "hold" } ], "y": [ { "frame": 0, "value": 0, "easing": "hold" }, { "frame": 16, "value": -1544, "easing": "hold" }, { "frame": 68, "value": -1544, "easing": "hold" } ], "width": 1920, "height": 1080, "origin": [ 0, 0 ], "scale": [ { "frame": 0, "value": 1, "easing": "hold" }, { "frame": 16, "value": 2.4, "easing": "hold" }, { "frame": 68, "value": 2.4, "easing": "hold" } ] }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": [ { "frame": 0, "value": 1, "easing": "hold" }, { "frame": 16, "value": 2.4, "easing": "hold" }, { "frame": 68, "value": 2.4, "easing": "hold" } ], "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Transparent RGBA working domain", "Ordered child Merges", "Rounded Rectangle/Polygon alpha intersection if required", "Transform", "Group opacity", "Over Merge" ], "localFill": "transparent", "childLayerIds": [ "browser-window" ], "contentsInput": "Merge_browser-window" }, { "layerId": "browser-window", "nodeId": "Layer_browser-window", "kind": "group", "parentLayerId": "crop-camera", "recipePointer": "/layers/1/children/0", "mergeIndex": 0, "backgroundInput": "Transparent_crop-camera", "foregroundInput": "Processed_browser-window", "output": "Merge_browser-window", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 212, "y": [ { "frame": 0, "value": 40, "easing": "linear" }, { "frame": 15, "value": 32, "easing": "hold" }, { "frame": 16, "value": 32, "easing": "smooth" }, { "frame": 40, "value": 28, "easing": "hold" }, { "frame": 68, "value": 28, "easing": "hold" } ], "width": 1496, "height": 1000, "origin": [ 0, 0 ], "radius": 14, "overflow": "hidden" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 14, "overflow": "hidden", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Transparent RGBA working domain", "Ordered child Merges", "Rounded Rectangle/Polygon alpha intersection if required", "Transform", "Group opacity", "Over Merge" ], "localFill": "transparent", "childLayerIds": [ "window-dot-1", "window-dot-2", "window-dot-3", "window-paper", "tab-strip", "active-tab", "tab-title", "address-bar", "site-address", "site-brand", "site-nav", "nav-rule", "search-location", "search-location-text", "search-dates", "search-dates-text", "search-guests", "search-guests-text", "search-button", "search-button-label", "property-category", "property-title", "property-subtitle", "gallery-clip", "property-tabs", "detail-rule", "rating-chip", "rating-value", "rating-caption", "features-line", "booking-panel", "booking-title", "arrival-box", "departure-box", "arrival-date", "departure-date", "side-panel", "side-rule", "composer-rule", "context-chip", "context-square", "context-label", "composer-plus", "input-placeholder", "input-question", "composer-send", "composer-arrow" ], "contentsInput": "Merge_composer-arrow" }, { "layerId": "window-dot-1", "nodeId": "Layer_window-dot-1", "kind": "ellipse", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/0", "mergeIndex": 0, "backgroundInput": "Transparent_browser-window", "foregroundInput": "Processed_window-dot-1", "output": "Merge_window-dot-1", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 24, "y": 22, "width": 12, "height": 12, "origin": [ 0, 0 ], "fill": "#df9b90" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "window-dot-2", "nodeId": "Layer_window-dot-2", "kind": "ellipse", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/1", "mergeIndex": 1, "backgroundInput": "Merge_window-dot-1", "foregroundInput": "Processed_window-dot-2", "output": "Merge_window-dot-2", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 46, "y": 22, "width": 12, "height": 12, "origin": [ 0, 0 ], "fill": "#e7cb89" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "window-dot-3", "nodeId": "Layer_window-dot-3", "kind": "ellipse", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/2", "mergeIndex": 2, "backgroundInput": "Merge_window-dot-2", "foregroundInput": "Processed_window-dot-3", "output": "Merge_window-dot-3", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 68, "y": 22, "width": 12, "height": 12, "origin": [ 0, 0 ], "fill": "#98bfa8" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "window-paper", "nodeId": "Layer_window-paper", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/3", "mergeIndex": 3, "backgroundInput": "Merge_window-dot-3", "foregroundInput": "Processed_window-paper", "output": "Merge_window-paper", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 0, "y": 0, "width": 1496, "height": 1000, "origin": [ 0, 0 ], "fill": "#ffffff", "radius": 14 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 14, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "tab-strip", "nodeId": "Layer_tab-strip", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/4", "mergeIndex": 4, "backgroundInput": "Merge_window-paper", "foregroundInput": "Processed_tab-strip", "output": "Merge_tab-strip", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 0, "y": 0, "width": 1496, "height": 52, "origin": [ 0, 0 ], "fill": "$rim" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "active-tab", "nodeId": "Layer_active-tab", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/5", "mergeIndex": 5, "backgroundInput": "Merge_tab-strip", "foregroundInput": "Processed_active-tab", "output": "Merge_active-tab", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 100, "y": 12, "width": 380, "height": 40, "origin": [ 0, 0 ], "fill": "#ffffff", "radius": 10 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 10, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "tab-title", "nodeId": "Layer_tab-title", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/6", "mergeIndex": 6, "backgroundInput": "Merge_active-tab", "foregroundInput": "Processed_tab-title", "output": "Merge_tab-title", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 133, "y": 24, "width": 296, "height": 25, "origin": [ 0, 0 ], "slot": "property", "fontSize": 18, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Cedar Studio", "adaptation": "Harbor Workshop" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 18, "weight": 400, "lineHeightPixels": 22.5, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "address-bar", "nodeId": "Layer_address-bar", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/7", "mergeIndex": 7, "backgroundInput": "Merge_tab-title", "foregroundInput": "Processed_address-bar", "output": "Merge_address-bar", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 0, "y": 52, "width": 1496, "height": 54, "origin": [ 0, 0 ], "fill": "$panel" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "site-address", "nodeId": "Layer_site-address", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/8", "mergeIndex": 8, "backgroundInput": "Merge_address-bar", "foregroundInput": "Processed_site-address", "output": "Merge_site-address", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 600, "y": 68, "width": 280, "height": 25, "origin": [ 0, 0 ], "slot": "address", "fontSize": 18, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "stays.example", "adaptation": "spaces.example" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 18, "weight": 400, "lineHeightPixels": 22.5, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "site-brand", "nodeId": "Layer_site-brand", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/9", "mergeIndex": 9, "backgroundInput": "Merge_site-address", "foregroundInput": "Processed_site-brand", "output": "Merge_site-brand", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 24, "y": 128, "width": 280, "height": 38, "origin": [ 0, 0 ], "slot": "brand", "fontSize": 29, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "FIELD STAYS", "adaptation": "FIELD SPACES" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 29, "weight": 400, "lineHeightPixels": 36.25, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "site-nav", "nodeId": "Layer_site-nav", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/10", "mergeIndex": 10, "backgroundInput": "Merge_site-brand", "foregroundInput": "Processed_site-nav", "output": "Merge_site-nav", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 382, "y": 132, "width": 655, "height": 30, "origin": [ 0, 0 ], "slot": "navigation", "fontSize": 20, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Discover Places Journal Help", "adaptation": "Explore Spaces Notes Help" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 20, "weight": 400, "lineHeightPixels": 25.0, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "nav-rule", "nodeId": "Layer_nav-rule", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/11", "mergeIndex": 11, "backgroundInput": "Merge_site-nav", "foregroundInput": "Processed_nav-rule", "output": "Merge_nav-rule", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 0, "y": 204, "width": 1080, "height": 2, "origin": [ 0, 0 ], "fill": "#e4e5e5" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "search-location", "nodeId": "Layer_search-location", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/12", "mergeIndex": 12, "backgroundInput": "Merge_nav-rule", "foregroundInput": "Processed_search-location", "output": "Merge_search-location", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 18, "y": 243, "width": 316, "height": 50, "origin": [ 0, 0 ], "fill": "#ffffff", "radius": 7, "stroke": "#bdc3c9", "strokeWidth": 2 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 7, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "search-location-text", "nodeId": "Layer_search-location-text", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/13", "mergeIndex": 13, "backgroundInput": "Merge_search-location", "foregroundInput": "Processed_search-location-text", "output": "Merge_search-location-text", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 37, "y": 256, "width": 274, "height": 28, "origin": [ 0, 0 ], "slot": "location", "fontSize": 19, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Cedar Lane", "adaptation": "Harbor Road" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 19, "weight": 400, "lineHeightPixels": 23.75, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "search-dates", "nodeId": "Layer_search-dates", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/14", "mergeIndex": 14, "backgroundInput": "Merge_search-location-text", "foregroundInput": "Processed_search-dates", "output": "Merge_search-dates", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 346, "y": 243, "width": 316, "height": 50, "origin": [ 0, 0 ], "fill": "#ffffff", "radius": 7, "stroke": "#bdc3c9", "strokeWidth": 2 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 7, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "search-dates-text", "nodeId": "Layer_search-dates-text", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/15", "mergeIndex": 15, "backgroundInput": "Merge_search-dates", "foregroundInput": "Processed_search-dates-text", "output": "Merge_search-dates-text", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 365, "y": 256, "width": 278, "height": 28, "origin": [ 0, 0 ], "slot": "dates", "fontSize": 19, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Oct 21 - Oct 28", "adaptation": "May 08 - May 15" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 19, "weight": 400, "lineHeightPixels": 23.75, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "search-guests", "nodeId": "Layer_search-guests", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/16", "mergeIndex": 16, "backgroundInput": "Merge_search-dates-text", "foregroundInput": "Processed_search-guests", "output": "Merge_search-guests", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 674, "y": 243, "width": 295, "height": 50, "origin": [ 0, 0 ], "fill": "#ffffff", "radius": 7, "stroke": "#bdc3c9", "strokeWidth": 2 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 7, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "search-guests-text", "nodeId": "Layer_search-guests-text", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/17", "mergeIndex": 17, "backgroundInput": "Merge_search-guests", "foregroundInput": "Processed_search-guests-text", "output": "Merge_search-guests-text", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 693, "y": 256, "width": 252, "height": 28, "origin": [ 0, 0 ], "slot": "guests", "fontSize": 19, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "4 guests", "adaptation": "2 guests" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 19, "weight": 400, "lineHeightPixels": 23.75, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "search-button", "nodeId": "Layer_search-button", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/18", "mergeIndex": 18, "backgroundInput": "Merge_search-guests-text", "foregroundInput": "Processed_search-button", "output": "Merge_search-button", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 980, "y": 243, "width": 88, "height": 50, "origin": [ 0, 0 ], "fill": "$accent", "radius": 25 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 25, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "search-button-label", "nodeId": "Layer_search-button-label", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/19", "mergeIndex": 19, "backgroundInput": "Merge_search-button", "foregroundInput": "Processed_search-button-label", "output": "Merge_search-button-label", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 988, "y": 258, "width": 74, "height": 24, "origin": [ 0, 0 ], "slot": "search", "fontSize": 16, "lineHeight": 1.25, "weight": 400, "color": "#ffffff", "align": "center" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Search", "adaptation": "Explore" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 16, "weight": 400, "lineHeightPixels": 20.0, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "property-category", "nodeId": "Layer_property-category", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/20", "mergeIndex": 20, "backgroundInput": "Merge_search-button-label", "foregroundInput": "Processed_property-category", "output": "Merge_property-category", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 18, "y": 328, "width": 520, "height": 25, "origin": [ 0, 0 ], "slot": "category", "fontSize": 18, "lineHeight": 1.25, "weight": 400, "color": "$muted" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "ENTIRE STUDIO", "adaptation": "ENTIRE WORKSHOP" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 18, "weight": 400, "lineHeightPixels": 22.5, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "property-title", "nodeId": "Layer_property-title", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/21", "mergeIndex": 21, "backgroundInput": "Merge_property-category", "foregroundInput": "Processed_property-title", "output": "Merge_property-title", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 18, "y": 360, "width": 1000, "height": 52, "origin": [ 0, 0 ], "slot": "property", "fontSize": 38, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Cedar Studio", "adaptation": "Harbor Workshop" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 38, "weight": 400, "lineHeightPixels": 47.5, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "property-subtitle", "nodeId": "Layer_property-subtitle", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/22", "mergeIndex": 22, "backgroundInput": "Merge_property-title", "foregroundInput": "Processed_property-subtitle", "output": "Merge_property-subtitle", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 18, "y": 414, "width": 1000, "height": 25, "origin": [ 0, 0 ], "slot": "subtitle", "fontSize": 18, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "A quiet room and a garden path", "adaptation": "A bright space beside the water" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 18, "weight": 400, "lineHeightPixels": 22.5, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "gallery-clip", "nodeId": "Layer_gallery-clip", "kind": "group", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/23", "mergeIndex": 23, "backgroundInput": "Merge_property-subtitle", "foregroundInput": "Processed_gallery-clip", "output": "Merge_gallery-clip", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 0, "y": 448, "width": 1080, "height": 360, "origin": [ 0, 0 ], "overflow": "hidden" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "hidden", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Transparent RGBA working domain", "Ordered child Merges", "Rounded Rectangle/Polygon alpha intersection if required", "Transform", "Group opacity", "Over Merge" ], "localFill": "transparent", "childLayerIds": [ "gallery-room", "gallery-kitchen", "gallery-garden", "gallery-terrace", "gallery-cabin", "gallery-count-chip", "gallery-count" ], "contentsInput": "Merge_gallery-count" }, { "layerId": "gallery-room", "nodeId": "Layer_gallery-room", "kind": "image", "parentLayerId": "gallery-clip", "recipePointer": "/layers/1/children/0/children/23/children/0", "mergeIndex": 0, "backgroundInput": "Transparent_gallery-clip", "foregroundInput": "Processed_gallery-room", "output": "Merge_gallery-room", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 0, "y": 0, "width": 540, "height": 360, "origin": [ 0, 0 ], "slot": "roomArt", "fit": "contain" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Native vector subgroup reconstructed from svgConstruction", "Fit Transform", "Local Transform", "Over Merge" ], "assets": { "defaults": { "kind": "image", "path": "art/hard-cut-crop/room-default.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." }, "adaptation": { "kind": "image", "path": "art/hard-cut-crop/room-adaptation.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." } }, "fitRule": "Use min(boxWidth/SVGWidth, boxHeight/SVGHeight), center the resulting artwork in the box, preserve SVG viewBox and alpha. These supplied boxes match their assets; no photographic crop." }, { "layerId": "gallery-kitchen", "nodeId": "Layer_gallery-kitchen", "kind": "image", "parentLayerId": "gallery-clip", "recipePointer": "/layers/1/children/0/children/23/children/1", "mergeIndex": 1, "backgroundInput": "Merge_gallery-room", "foregroundInput": "Processed_gallery-kitchen", "output": "Merge_gallery-kitchen", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 542, "y": 0, "width": 268, "height": 178.6666666667, "origin": [ 0, 0 ], "slot": "kitchenArt", "fit": "contain" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Native vector subgroup reconstructed from svgConstruction", "Fit Transform", "Local Transform", "Over Merge" ], "assets": { "defaults": { "kind": "image", "path": "art/hard-cut-crop/kitchen-default.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." }, "adaptation": { "kind": "image", "path": "art/hard-cut-crop/kitchen-adaptation.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." } }, "fitRule": "Use min(boxWidth/SVGWidth, boxHeight/SVGHeight), center the resulting artwork in the box, preserve SVG viewBox and alpha. These supplied boxes match their assets; no photographic crop." }, { "layerId": "gallery-garden", "nodeId": "Layer_gallery-garden", "kind": "image", "parentLayerId": "gallery-clip", "recipePointer": "/layers/1/children/0/children/23/children/2", "mergeIndex": 2, "backgroundInput": "Merge_gallery-kitchen", "foregroundInput": "Processed_gallery-garden", "output": "Merge_gallery-garden", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 812, "y": 0, "width": 268, "height": 178.6666666667, "origin": [ 0, 0 ], "slot": "gardenArt", "fit": "contain" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Native vector subgroup reconstructed from svgConstruction", "Fit Transform", "Local Transform", "Over Merge" ], "assets": { "defaults": { "kind": "image", "path": "art/hard-cut-crop/garden-default.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." }, "adaptation": { "kind": "image", "path": "art/hard-cut-crop/garden-adaptation.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." } }, "fitRule": "Use min(boxWidth/SVGWidth, boxHeight/SVGHeight), center the resulting artwork in the box, preserve SVG viewBox and alpha. These supplied boxes match their assets; no photographic crop." }, { "layerId": "gallery-terrace", "nodeId": "Layer_gallery-terrace", "kind": "image", "parentLayerId": "gallery-clip", "recipePointer": "/layers/1/children/0/children/23/children/3", "mergeIndex": 3, "backgroundInput": "Merge_gallery-garden", "foregroundInput": "Processed_gallery-terrace", "output": "Merge_gallery-terrace", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 542, "y": 180, "width": 268, "height": 178.6666666667, "origin": [ 0, 0 ], "slot": "terraceArt", "fit": "contain" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Native vector subgroup reconstructed from svgConstruction", "Fit Transform", "Local Transform", "Over Merge" ], "assets": { "defaults": { "kind": "image", "path": "art/hard-cut-crop/terrace-default.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." }, "adaptation": { "kind": "image", "path": "art/hard-cut-crop/terrace-adaptation.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." } }, "fitRule": "Use min(boxWidth/SVGWidth, boxHeight/SVGHeight), center the resulting artwork in the box, preserve SVG viewBox and alpha. These supplied boxes match their assets; no photographic crop." }, { "layerId": "gallery-cabin", "nodeId": "Layer_gallery-cabin", "kind": "image", "parentLayerId": "gallery-clip", "recipePointer": "/layers/1/children/0/children/23/children/4", "mergeIndex": 4, "backgroundInput": "Merge_gallery-terrace", "foregroundInput": "Processed_gallery-cabin", "output": "Merge_gallery-cabin", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 812, "y": 180, "width": 268, "height": 178.6666666667, "origin": [ 0, 0 ], "slot": "cabinArt", "fit": "contain" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Native vector subgroup reconstructed from svgConstruction", "Fit Transform", "Local Transform", "Over Merge" ], "assets": { "defaults": { "kind": "image", "path": "art/hard-cut-crop/cabin-default.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." }, "adaptation": { "kind": "image", "path": "art/hard-cut-crop/cabin-adaptation.svg", "width": 600, "height": 400, "rights": "Original code-generated vector artwork authored for this kit. No source-film imagery, logos, tracing, embedded bitmap, remote resource or third-party photograph." } }, "fitRule": "Use min(boxWidth/SVGWidth, boxHeight/SVGHeight), center the resulting artwork in the box, preserve SVG viewBox and alpha. These supplied boxes match their assets; no photographic crop." }, { "layerId": "gallery-count-chip", "nodeId": "Layer_gallery-count-chip", "kind": "rect", "parentLayerId": "gallery-clip", "recipePointer": "/layers/1/children/0/children/23/children/5", "mergeIndex": 5, "backgroundInput": "Merge_gallery-cabin", "foregroundInput": "Processed_gallery-count-chip", "output": "Merge_gallery-count-chip", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 944, "y": 305, "width": 124, "height": 40, "origin": [ 0, 0 ], "fill": "$ink", "radius": 20, "opacity": 0.85 }, "alphaAndMasks": { "opacity": 0.85, "radiusPixels": 20, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 0.85 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "gallery-count", "nodeId": "Layer_gallery-count", "kind": "text", "parentLayerId": "gallery-clip", "recipePointer": "/layers/1/children/0/children/23/children/6", "mergeIndex": 6, "backgroundInput": "Merge_gallery-count-chip", "foregroundInput": "Processed_gallery-count", "output": "Merge_gallery-count", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 957, "y": 315, "width": 100, "height": 26, "origin": [ 0, 0 ], "slot": "galleryCount", "fontSize": 18, "lineHeight": 1.25, "weight": 400, "color": "#ffffff" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "5 views", "adaptation": "5 views" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 18, "weight": 400, "lineHeightPixels": 22.5, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "property-tabs", "nodeId": "Layer_property-tabs", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/24", "mergeIndex": 24, "backgroundInput": "Merge_gallery-clip", "foregroundInput": "Processed_property-tabs", "output": "Merge_property-tabs", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 18, "y": 824, "width": 1000, "height": 25, "origin": [ 0, 0 ], "slot": "tabs", "fontSize": 18, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Overview Details Area", "adaptation": "Overview Notes Area" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 18, "weight": 400, "lineHeightPixels": 22.5, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "detail-rule", "nodeId": "Layer_detail-rule", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/25", "mergeIndex": 25, "backgroundInput": "Merge_property-tabs", "foregroundInput": "Processed_detail-rule", "output": "Merge_detail-rule", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 0, "y": 862, "width": 1080, "height": 2, "origin": [ 0, 0 ], "fill": "#e4e5e5" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "rating-chip", "nodeId": "Layer_rating-chip", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/26", "mergeIndex": 26, "backgroundInput": "Merge_detail-rule", "foregroundInput": "Processed_rating-chip", "output": "Merge_rating-chip", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 32, "y": 893, "width": 50, "height": 38, "origin": [ 0, 0 ], "fill": "$accent", "radius": 6 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 6, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "rating-value", "nodeId": "Layer_rating-value", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/27", "mergeIndex": 27, "backgroundInput": "Merge_rating-chip", "foregroundInput": "Processed_rating-value", "output": "Merge_rating-value", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 38, "y": 901, "width": 40, "height": 24, "origin": [ 0, 0 ], "slot": "rating", "fontSize": 17, "lineHeight": 1.25, "weight": 400, "color": "#ffffff" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "9.7", "adaptation": "9.5" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 17, "weight": 400, "lineHeightPixels": 21.25, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "rating-caption", "nodeId": "Layer_rating-caption", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/28", "mergeIndex": 28, "backgroundInput": "Merge_rating-value", "foregroundInput": "Processed_rating-caption", "output": "Merge_rating-caption", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 95, "y": 902, "width": 382, "height": 28, "origin": [ 0, 0 ], "slot": "ratingLabel", "fontSize": 20, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Guest notes", "adaptation": "Visitor notes" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 20, "weight": 400, "lineHeightPixels": 25.0, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "features-line", "nodeId": "Layer_features-line", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/29", "mergeIndex": 29, "backgroundInput": "Merge_rating-caption", "foregroundInput": "Processed_features-line", "output": "Merge_features-line", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 32, "y": 967, "width": 590, "height": 26, "origin": [ 0, 0 ], "slot": "features", "fontSize": 17, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "2 rooms Garden Sleeps 4", "adaptation": "1 studio Terrace Sleeps 2" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 17, "weight": 400, "lineHeightPixels": 21.25, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "booking-panel", "nodeId": "Layer_booking-panel", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/30", "mergeIndex": 30, "backgroundInput": "Merge_features-line", "foregroundInput": "Processed_booking-panel", "output": "Merge_booking-panel", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 660, "y": 878, "width": 390, "height": 165, "origin": [ 0, 0 ], "fill": "#ffffff", "radius": 20, "stroke": "#e0e2e4", "strokeWidth": 2 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 20, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "booking-title", "nodeId": "Layer_booking-title", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/31", "mergeIndex": 31, "backgroundInput": "Merge_booking-panel", "foregroundInput": "Processed_booking-title", "output": "Merge_booking-title", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 684, "y": 901, "width": 344, "height": 34, "origin": [ 0, 0 ], "slot": "booking", "fontSize": 24, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Choose your dates", "adaptation": "Plan your visit" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 24, "weight": 400, "lineHeightPixels": 30.0, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "arrival-box", "nodeId": "Layer_arrival-box", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/32", "mergeIndex": 32, "backgroundInput": "Merge_booking-title", "foregroundInput": "Processed_arrival-box", "output": "Merge_arrival-box", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 685, "y": 951, "width": 164, "height": 52, "origin": [ 0, 0 ], "fill": "#ffffff", "radius": 8, "stroke": "#a8aeb5", "strokeWidth": 2 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 8, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "departure-box", "nodeId": "Layer_departure-box", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/33", "mergeIndex": 33, "backgroundInput": "Merge_arrival-box", "foregroundInput": "Processed_departure-box", "output": "Merge_departure-box", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 859, "y": 951, "width": 164, "height": 52, "origin": [ 0, 0 ], "fill": "#ffffff", "radius": 8, "stroke": "#a8aeb5", "strokeWidth": 2 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 8, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "arrival-date", "nodeId": "Layer_arrival-date", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/34", "mergeIndex": 34, "backgroundInput": "Merge_departure-box", "foregroundInput": "Processed_arrival-date", "output": "Merge_arrival-date", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 714, "y": 967, "width": 126, "height": 27, "origin": [ 0, 0 ], "slot": "arrival", "fontSize": 19, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Oct 21", "adaptation": "May 08" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 19, "weight": 400, "lineHeightPixels": 23.75, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "departure-date", "nodeId": "Layer_departure-date", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/35", "mergeIndex": 35, "backgroundInput": "Merge_arrival-date", "foregroundInput": "Processed_departure-date", "output": "Merge_departure-date", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 888, "y": 967, "width": 126, "height": 27, "origin": [ 0, 0 ], "slot": "departure", "fontSize": 19, "lineHeight": 1.25, "weight": 400, "color": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Oct 28", "adaptation": "May 15" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 19, "weight": 400, "lineHeightPixels": 23.75, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "side-panel", "nodeId": "Layer_side-panel", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/36", "mergeIndex": 36, "backgroundInput": "Merge_departure-date", "foregroundInput": "Processed_side-panel", "output": "Merge_side-panel", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 1080, "y": 106, "width": 416, "height": 894, "origin": [ 0, 0 ], "fill": "#fbfbfc" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "side-rule", "nodeId": "Layer_side-rule", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/37", "mergeIndex": 37, "backgroundInput": "Merge_side-panel", "foregroundInput": "Processed_side-rule", "output": "Merge_side-rule", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 1080, "y": 106, "width": 2, "height": 894, "origin": [ 0, 0 ], "fill": "#dfe2e5" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "composer-rule", "nodeId": "Layer_composer-rule", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/38", "mergeIndex": 38, "backgroundInput": "Merge_side-rule", "foregroundInput": "Processed_composer-rule", "output": "Merge_composer-rule", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 1082, "y": 884, "width": 414, "height": 2, "origin": [ 0, 0 ], "fill": "#e4e5e7" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "context-chip", "nodeId": "Layer_context-chip", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/39", "mergeIndex": 39, "backgroundInput": "Merge_composer-rule", "foregroundInput": "Processed_context-chip", "output": "Merge_context-chip", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 1099, "y": 902, "width": 276, "height": 40, "origin": [ 0, 0 ], "fill": "$panel", "radius": 9 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 9, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "context-square", "nodeId": "Layer_context-square", "kind": "rect", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/40", "mergeIndex": 40, "backgroundInput": "Merge_context-chip", "foregroundInput": "Processed_context-square", "output": "Merge_context-square", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 1110, "y": 913, "width": 19, "height": 19, "origin": [ 0, 0 ], "fill": "$accent", "radius": 3 }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 3, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "context-label", "nodeId": "Layer_context-label", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/41", "mergeIndex": 41, "backgroundInput": "Merge_context-square", "foregroundInput": "Processed_context-label", "output": "Merge_context-label", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 1137, "y": 914, "width": 226, "height": 23, "origin": [ 0, 0 ], "slot": "property", "fontSize": 16, "lineHeight": 1.25, "weight": 400, "color": "$muted" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Cedar Studio", "adaptation": "Harbor Workshop" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 16, "weight": 400, "lineHeightPixels": 20.0, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "composer-plus", "nodeId": "Layer_composer-plus", "kind": "path", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/42", "mergeIndex": 42, "backgroundInput": "Merge_context-label", "foregroundInput": "Processed_composer-plus", "output": "Merge_composer-plus", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 1101, "y": 959, "width": 28, "height": 28, "origin": [ 0, 0 ], "path": "M28 9H36V28H55V36H36V55H28V36H9V28H28Z", "viewBox": [ 0, 0, 64, 64 ], "fill": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Polygon/Bezier fill using exact path/viewBox", "Local Transform", "Over Merge" ] }, { "layerId": "input-placeholder", "nodeId": "Layer_input-placeholder", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/43", "mergeIndex": 43, "backgroundInput": "Merge_composer-plus", "foregroundInput": "Processed_input-placeholder", "output": "Merge_input-placeholder", "activeLocalFrames": [ 0, 34 ], "effectiveActiveLocalFrames": [ 0, 34 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 34, "x": 1140, "y": 960, "width": 284, "height": 28, "origin": [ 0, 0 ], "slot": "placeholder", "fontSize": 18, "lineHeight": 1.25, "weight": 400, "color": "$muted" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Ask about this place", "adaptation": "Ask about this space" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 18, "weight": 400, "lineHeightPixels": 22.5, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "input-question", "nodeId": "Layer_input-question", "kind": "text", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/44", "mergeIndex": 44, "backgroundInput": "Merge_input-placeholder", "foregroundInput": "Processed_input-question", "output": "Merge_input-question", "activeLocalFrames": [ 34, 69 ], "effectiveActiveLocalFrames": [ 34, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 34, "end": 69, "x": 1140, "y": 960, "width": 284, "height": 28, "origin": [ 0, 0 ], "slot": "question", "fontSize": 18, "lineHeight": 1.25, "weight": 400, "color": "$ink", "reveal": { "unit": "characters", "steps": [ { "frame": 34, "count": 0 }, { "frame": 36, "count": 1 }, { "frame": 38, "count": 2 }, { "frame": 40, "count": 3 }, { "frame": 42, "count": 4 }, { "frame": 44, "count": 5 }, { "frame": 46, "count": 6 }, { "frame": 48, "count": 7 }, { "frame": 50, "count": 8 }, { "frame": 52, "count": 9 }, { "frame": 54, "count": 10 }, { "frame": 56, "count": 11 }, { "frame": 58, "count": 12 }, { "frame": 60, "count": 13 }, { "frame": 62, "count": 14 }, { "frame": 64, "count": 15 }, { "frame": 66, "count": 16 }, { "frame": 68, "count": 17 } ] } }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Text+ in bundled Geist", "Set explicit newline layout", "Stepped StyledText or Write On gate when present", "Local Transform", "Over Merge" ], "content": { "defaults": "Are there quiet trails?", "adaptation": "Is there a sunny walk?" }, "font": { "family": "Geist", "file": "project/public/fonts/Geist.ttf", "pixels": 18, "weight": 400, "lineHeightPixels": 22.5, "letterSpacingPixels": 0, "fit": "No shrink or automatic wrapping. Text+ Size and baseline need actual installed-font calibration; the recipe pixel box is authoritative." } }, { "layerId": "composer-send", "nodeId": "Layer_composer-send", "kind": "ellipse", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/45", "mergeIndex": 45, "backgroundInput": "Merge_input-question", "foregroundInput": "Processed_composer-send", "output": "Merge_composer-send", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 1450, "y": 953, "width": 36, "height": 36, "origin": [ 0, 0 ], "fill": "$ink" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Background with Rectangle/Ellipse mask", "Inside-border ring if stroke is present", "Blur if present", "Local Transform", "Over Merge" ] }, { "layerId": "composer-arrow", "nodeId": "Layer_composer-arrow", "kind": "path", "parentLayerId": "browser-window", "recipePointer": "/layers/1/children/0/children/46", "mergeIndex": 46, "backgroundInput": "Merge_composer-send", "foregroundInput": "Processed_composer-arrow", "output": "Merge_composer-arrow", "activeLocalFrames": [ 0, 69 ], "effectiveActiveLocalFrames": [ 0, 69 ], "frameConvention": "Global zero-based recipe clock, not frame minus layer start. Gates are half-open.", "controls": { "start": 0, "end": 69, "x": 1458, "y": 961, "width": 20, "height": 20, "origin": [ 0, 0 ], "path": "M28 54V23L16 35L10 29L32 7L54 29L48 35L36 23V54Z", "viewBox": [ 0, 0, 64, 64 ], "fill": "#ffffff" }, "alphaAndMasks": { "opacity": 1, "radiusPixels": 0, "overflow": "visible", "clip": null, "order": "Draw or merge local content; apply rounded/inset alpha clipping when overflow is hidden; apply local blur if present, local transform and whole-layer opacity; then ordered Over into the parent." }, "defaultTransform": { "originPixels": [ 0, 0 ], "scale": 1, "scaleX": 1, "scaleY": 1, "rotation": 0, "opacity": 1 }, "tools": [ "Polygon/Bezier fill using exact path/viewBox", "Local Transform", "Over Merge" ] } ] svgConstruction { "art/hard-cut-crop/context-default.svg": { "sha256": "5e621e793036d9531b89f59a458b65041f04e8510e21793bfa499244fab64187", "construction": { "element": "svg", "attributes": { "width": "1920", "height": "1080", "viewBox": "0 0 1920 1080" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "radialGradient", "attributes": { "id": "wash", "cx": "0.2", "cy": "0.5", "r": "0.75" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dce7df" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#62866a", "stop-opacity": "0" }, "children": [] } ] }, { "element": "radialGradient", "attributes": { "id": "glow", "cx": "0.83", "cy": "0.15", "r": "0.72" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#fff8e7" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#b47a5c", "stop-opacity": "0" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "1920", "height": "1080", "fill": "#dce7df" }, "children": [] }, { "element": "rect", "attributes": { "width": "1920", "height": "1080", "fill": "url(#wash)" }, "children": [] }, { "element": "rect", "attributes": { "width": "1920", "height": "1080", "fill": "url(#glow)" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/room-default.svg": { "sha256": "099e5deaa54bbd379e54403fa4a131bcf4e81ed5f2141a0baa9715ce8a6bc5d7", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dce7df" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#fff8e7" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "#ece4d6" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 0H600L424 288H172Z", "fill": "#fff8e7" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 400L172 288H424L600 400Z", "fill": "#927355" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 0L300 46L172 288L0 400Z", "fill": "#927355", "opacity": "0.46" }, "children": [] }, { "element": "path", "attributes": { "d": "M600 0L300 46L424 288L600 400Z", "fill": "#927355", "opacity": "0.24" }, "children": [] }, { "element": "path", "attributes": { "d": "M200 276V177L300 72L400 177V276Z", "fill": "url(#day)", "stroke": "#344b44", "stroke-width": "8" }, "children": [] }, { "element": "path", "attributes": { "d": "M300 76V276M208 186H395", "fill": "none", "stroke": "#344b44", "stroke-width": "6" }, "children": [] }, { "element": "path", "attributes": { "d": "M32 32L290 59M570 25L309 58M85 99L255 87M519 93L346 92", "fill": "none", "stroke": "#344b44", "stroke-width": "10" }, "children": [] }, { "element": "path", "attributes": { "d": "M200 320L389 306L446 362L141 376Z", "fill": "#fff8e7" }, "children": [] }, { "element": "path", "attributes": { "d": "M88 266H170V330H82Z", "fill": "#b47a5c" }, "children": [] }, { "element": "rect", "attributes": { "x": "74", "y": "251", "width": "102", "height": "44", "rx": "12", "fill": "#344b44" }, "children": [] }, { "element": "path", "attributes": { "d": "M422 275H522V337H429Z", "fill": "#344b44" }, "children": [] }, { "element": "rect", "attributes": { "x": "419", "y": "255", "width": "110", "height": "44", "rx": "12", "fill": "#b47a5c" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "298", "cy": "331", "rx": "54", "ry": "17", "fill": "#927355" }, "children": [] }, { "element": "path", "attributes": { "d": "M270 335L262 366M324 335L333 363", "stroke": "#344b44", "stroke-width": "8" }, "children": [] }, { "element": "path", "attributes": { "d": "M479 226V281M479 248Q436 212 451 195Q480 200 479 238M480 233Q515 191 526 205Q518 235 480 252", "fill": "#62866a", "stroke": "#62866a", "stroke-width": "7" }, "children": [] }, { "element": "path", "attributes": { "d": "M460 275H498L492 310H467Z", "fill": "#927355" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/kitchen-default.svg": { "sha256": "31b0d2d934cec8d80d62145e1080a7b0350a5fd9194c8d2c1e4cebbc7fabef4f", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dce7df" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#fff8e7" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "#ece4d6" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 312H600V400H0Z", "fill": "#927355" }, "children": [] }, { "element": "rect", "attributes": { "x": "323", "y": "44", "width": "221", "height": "201", "fill": "url(#day)", "stroke": "#344b44", "stroke-width": "10" }, "children": [] }, { "element": "path", "attributes": { "d": "M433 49V240M328 145H539", "stroke": "#344b44", "stroke-width": "6" }, "children": [] }, { "element": "rect", "attributes": { "x": "24", "y": "71", "width": "227", "height": "44", "rx": "4", "fill": "#927355" }, "children": [] }, { "element": "rect", "attributes": { "x": "33", "y": "133", "width": "206", "height": "13", "fill": "#927355" }, "children": [] }, { "element": "path", "attributes": { "d": "M41 214H297V353H41Z", "fill": "#344b44" }, "children": [] }, { "element": "path", "attributes": { "d": "M28 205H310V228H28Z", "fill": "#fff8e7" }, "children": [] }, { "element": "path", "attributes": { "d": "M121 231V347M209 231V347M63 249H86M145 249H168M232 249H255", "stroke": "#927355", "stroke-width": "6" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "446", "cy": "300", "rx": "98", "ry": "25", "fill": "#b47a5c" }, "children": [] }, { "element": "path", "attributes": { "d": "M389 309L377 385M503 309L521 385", "stroke": "#344b44", "stroke-width": "12" }, "children": [] }, { "element": "rect", "attributes": { "x": "429", "y": "246", "width": "29", "height": "46", "rx": "8", "fill": "#62866a" }, "children": [] }, { "element": "path", "attributes": { "d": "M67 105V75H85V105M103 105V64H127V105M145 105V71H171V105", "fill": "#fff8e7" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/terrace-default.svg": { "sha256": "6752b55aa09a03d6d1e432adb798147510c0f0bd6a474887ed9557d534ff6bc3", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dce7df" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#fff8e7" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "url(#day)" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 168L96 112L193 174L305 82L408 170L510 104L600 165V295H0Z", "fill": "#62866a", "opacity": "0.48" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 270H600V400H0Z", "fill": "#927355" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 300H600M0 340H600M0 381H600M60 270L5 400M180 270L156 400M300 270V400M420 270L444 400M540 270L595 400", "stroke": "#fff8e7", "stroke-width": "3", "opacity": "0.5" }, "children": [] }, { "element": "path", "attributes": { "d": "M44 244H556M76 185V284M200 185V284M400 185V284M525 185V284M50 182H550", "fill": "none", "stroke": "#344b44", "stroke-width": "9" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "303", "cy": "279", "rx": "69", "ry": "21", "fill": "#fff8e7" }, "children": [] }, { "element": "path", "attributes": { "d": "M270 291L260 359M334 291L345 359", "stroke": "#344b44", "stroke-width": "8" }, "children": [] }, { "element": "path", "attributes": { "d": "M132 237H202V315H145Z M410 237H480L467 315H410Z", "fill": "#b47a5c" }, "children": [] }, { "element": "path", "attributes": { "d": "M149 315V361M192 315V347M416 315V347M461 315V361", "stroke": "#344b44", "stroke-width": "8" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/cabin-default.svg": { "sha256": "d0f8a623710250a2f5f5fd5db04ee68cc5b2e3df12d55c3c5e3f9ef66f5d1bf5", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dce7df" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#fff8e7" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "url(#day)" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 273Q160 216 315 276T600 263V400H0Z", "fill": "#62866a" }, "children": [] }, { "element": "path", "attributes": { "d": "M153 310V170L309 65L468 171V310Z", "fill": "#344b44" }, "children": [] }, { "element": "path", "attributes": { "d": "M134 175L309 48L489 175L473 190L309 77L148 190Z", "fill": "#927355" }, "children": [] }, { "element": "path", "attributes": { "d": "M187 294V191L310 99L429 191V294Z", "fill": "url(#day)" }, "children": [] }, { "element": "path", "attributes": { "d": "M310 109V294M193 219H423M257 151V294M368 151V294", "stroke": "#927355", "stroke-width": "8" }, "children": [] }, { "element": "path", "attributes": { "d": "M140 313H477L513 347H105Z", "fill": "#b47a5c" }, "children": [] }, { "element": "path", "attributes": { "d": "M243 347H377L433 400H184Z", "fill": "#fff8e7", "opacity": "0.75" }, "children": [] }, { "element": "path", "attributes": { "d": "M68 80V309M542 63V303", "stroke": "#927355", "stroke-width": "10" }, "children": [] }, { "element": "path", "attributes": { "d": "M68 45L16 157H119ZM68 119L3 249H134ZM542 26L491 145H591ZM542 109L478 240H600Z", "fill": "#62866a" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "131", "cy": "356", "rx": "43", "ry": "14", "fill": "#344b44", "opacity": "0.45" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/garden-default.svg": { "sha256": "6e8500629ae5d60e637afb07ba200a8f11d3697063fd38af10ccd788e94b75c9", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dce7df" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#fff8e7" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "url(#day)" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 248Q135 170 291 235T600 213V400H0Z", "fill": "#62866a" }, "children": [] }, { "element": "path", "attributes": { "d": "M316 246Q236 285 280 400H392Q309 313 356 246Z", "fill": "#fff8e7" }, "children": [] }, { "element": "path", "attributes": { "d": "M68 280H227V309H68Z", "fill": "#927355" }, "children": [] }, { "element": "path", "attributes": { "d": "M85 280V351M209 280V351M73 239H218V270H73Z", "stroke": "#344b44", "stroke-width": "8", "fill": "#b47a5c" }, "children": [] }, { "element": "path", "attributes": { "d": "M486 124V344", "stroke": "#927355", "stroke-width": "14" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "477", "cy": "136", "rx": "73", "ry": "99", "fill": "#344b44" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "444", "cy": "113", "rx": "49", "ry": "62", "fill": "#62866a" }, "children": [] }, { "element": "path", "attributes": { "d": "M33 360L73 332L102 359M407 374L438 349L473 378M492 327L530 304L564 333", "fill": "#b47a5c" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 399H600", "stroke": "#927355", "stroke-width": "3" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/context-adaptation.svg": { "sha256": "8bf8ab1d71e6dab09c524c78528fe012ae500e5b1f0f4c97a32163613892b357", "construction": { "element": "svg", "attributes": { "width": "1920", "height": "1080", "viewBox": "0 0 1920 1080" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "radialGradient", "attributes": { "id": "wash", "cx": "0.2", "cy": "0.5", "r": "0.75" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dcebf0" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#75a1a1", "stop-opacity": "0" }, "children": [] } ] }, { "element": "radialGradient", "attributes": { "id": "glow", "cx": "0.83", "cy": "0.15", "r": "0.72" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#f5f0dc" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#c89b60", "stop-opacity": "0" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "1920", "height": "1080", "fill": "#dcebf0" }, "children": [] }, { "element": "rect", "attributes": { "width": "1920", "height": "1080", "fill": "url(#wash)" }, "children": [] }, { "element": "rect", "attributes": { "width": "1920", "height": "1080", "fill": "url(#glow)" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/room-adaptation.svg": { "sha256": "dd9acad7a3cceb2a01afaecaeb43df163a06bb8ef0f59b478e6fd4c8b47a3066", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dcebf0" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#f5f0dc" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "#e4e8e6" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 0H600L424 288H172Z", "fill": "#f5f0dc" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 400L172 288H424L600 400Z", "fill": "#8b9eaa" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 0L300 46L172 288L0 400Z", "fill": "#8b9eaa", "opacity": "0.46" }, "children": [] }, { "element": "path", "attributes": { "d": "M600 0L300 46L424 288L600 400Z", "fill": "#8b9eaa", "opacity": "0.24" }, "children": [] }, { "element": "path", "attributes": { "d": "M200 276V177L300 72L400 177V276Z", "fill": "url(#day)", "stroke": "#354e66", "stroke-width": "8" }, "children": [] }, { "element": "path", "attributes": { "d": "M300 76V276M208 186H395", "fill": "none", "stroke": "#354e66", "stroke-width": "6" }, "children": [] }, { "element": "path", "attributes": { "d": "M32 32L290 59M570 25L309 58M85 99L255 87M519 93L346 92", "fill": "none", "stroke": "#354e66", "stroke-width": "10" }, "children": [] }, { "element": "path", "attributes": { "d": "M200 320L389 306L446 362L141 376Z", "fill": "#f5f0dc" }, "children": [] }, { "element": "path", "attributes": { "d": "M88 266H170V330H82Z", "fill": "#c89b60" }, "children": [] }, { "element": "rect", "attributes": { "x": "74", "y": "251", "width": "102", "height": "44", "rx": "12", "fill": "#354e66" }, "children": [] }, { "element": "path", "attributes": { "d": "M422 275H522V337H429Z", "fill": "#354e66" }, "children": [] }, { "element": "rect", "attributes": { "x": "419", "y": "255", "width": "110", "height": "44", "rx": "12", "fill": "#c89b60" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "298", "cy": "331", "rx": "54", "ry": "17", "fill": "#8b9eaa" }, "children": [] }, { "element": "path", "attributes": { "d": "M270 335L262 366M324 335L333 363", "stroke": "#354e66", "stroke-width": "8" }, "children": [] }, { "element": "path", "attributes": { "d": "M479 226V281M479 248Q436 212 451 195Q480 200 479 238M480 233Q515 191 526 205Q518 235 480 252", "fill": "#75a1a1", "stroke": "#75a1a1", "stroke-width": "7" }, "children": [] }, { "element": "path", "attributes": { "d": "M460 275H498L492 310H467Z", "fill": "#8b9eaa" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/kitchen-adaptation.svg": { "sha256": "ef9291e9b4e35b91da9e7b2306548ef4edd5ca8c687aff7113aebd92738012c9", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dcebf0" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#f5f0dc" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "#e4e8e6" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 312H600V400H0Z", "fill": "#8b9eaa" }, "children": [] }, { "element": "rect", "attributes": { "x": "323", "y": "44", "width": "221", "height": "201", "fill": "url(#day)", "stroke": "#354e66", "stroke-width": "10" }, "children": [] }, { "element": "path", "attributes": { "d": "M433 49V240M328 145H539", "stroke": "#354e66", "stroke-width": "6" }, "children": [] }, { "element": "rect", "attributes": { "x": "24", "y": "71", "width": "227", "height": "44", "rx": "4", "fill": "#8b9eaa" }, "children": [] }, { "element": "rect", "attributes": { "x": "33", "y": "133", "width": "206", "height": "13", "fill": "#8b9eaa" }, "children": [] }, { "element": "path", "attributes": { "d": "M41 214H297V353H41Z", "fill": "#354e66" }, "children": [] }, { "element": "path", "attributes": { "d": "M28 205H310V228H28Z", "fill": "#f5f0dc" }, "children": [] }, { "element": "path", "attributes": { "d": "M121 231V347M209 231V347M63 249H86M145 249H168M232 249H255", "stroke": "#8b9eaa", "stroke-width": "6" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "446", "cy": "300", "rx": "98", "ry": "25", "fill": "#c89b60" }, "children": [] }, { "element": "path", "attributes": { "d": "M389 309L377 385M503 309L521 385", "stroke": "#354e66", "stroke-width": "12" }, "children": [] }, { "element": "rect", "attributes": { "x": "429", "y": "246", "width": "29", "height": "46", "rx": "8", "fill": "#75a1a1" }, "children": [] }, { "element": "path", "attributes": { "d": "M67 105V75H85V105M103 105V64H127V105M145 105V71H171V105", "fill": "#f5f0dc" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/terrace-adaptation.svg": { "sha256": "d3c9cd4ed6823b05f3f84b7d7ddd7ab94c41287b14cb7c935c1eb52421b1d1df", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dcebf0" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#f5f0dc" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "url(#day)" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 168L96 112L193 174L305 82L408 170L510 104L600 165V295H0Z", "fill": "#75a1a1", "opacity": "0.48" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 270H600V400H0Z", "fill": "#8b9eaa" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 300H600M0 340H600M0 381H600M60 270L5 400M180 270L156 400M300 270V400M420 270L444 400M540 270L595 400", "stroke": "#f5f0dc", "stroke-width": "3", "opacity": "0.5" }, "children": [] }, { "element": "path", "attributes": { "d": "M44 244H556M76 185V284M200 185V284M400 185V284M525 185V284M50 182H550", "fill": "none", "stroke": "#354e66", "stroke-width": "9" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "303", "cy": "279", "rx": "69", "ry": "21", "fill": "#f5f0dc" }, "children": [] }, { "element": "path", "attributes": { "d": "M270 291L260 359M334 291L345 359", "stroke": "#354e66", "stroke-width": "8" }, "children": [] }, { "element": "path", "attributes": { "d": "M132 237H202V315H145Z M410 237H480L467 315H410Z", "fill": "#c89b60" }, "children": [] }, { "element": "path", "attributes": { "d": "M149 315V361M192 315V347M416 315V347M461 315V361", "stroke": "#354e66", "stroke-width": "8" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/cabin-adaptation.svg": { "sha256": "45d0b7c37cd0fe987e0b9ca6f2381114f2a70943be4b0c0e002639d3641931fd", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dcebf0" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#f5f0dc" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "url(#day)" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 273Q160 216 315 276T600 263V400H0Z", "fill": "#75a1a1" }, "children": [] }, { "element": "path", "attributes": { "d": "M153 310V170L309 65L468 171V310Z", "fill": "#354e66" }, "children": [] }, { "element": "path", "attributes": { "d": "M134 175L309 48L489 175L473 190L309 77L148 190Z", "fill": "#8b9eaa" }, "children": [] }, { "element": "path", "attributes": { "d": "M187 294V191L310 99L429 191V294Z", "fill": "url(#day)" }, "children": [] }, { "element": "path", "attributes": { "d": "M310 109V294M193 219H423M257 151V294M368 151V294", "stroke": "#8b9eaa", "stroke-width": "8" }, "children": [] }, { "element": "path", "attributes": { "d": "M140 313H477L513 347H105Z", "fill": "#c89b60" }, "children": [] }, { "element": "path", "attributes": { "d": "M243 347H377L433 400H184Z", "fill": "#f5f0dc", "opacity": "0.75" }, "children": [] }, { "element": "path", "attributes": { "d": "M68 80V309M542 63V303", "stroke": "#8b9eaa", "stroke-width": "10" }, "children": [] }, { "element": "path", "attributes": { "d": "M68 45L16 157H119ZM68 119L3 249H134ZM542 26L491 145H591ZM542 109L478 240H600Z", "fill": "#75a1a1" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "131", "cy": "356", "rx": "43", "ry": "14", "fill": "#354e66", "opacity": "0.45" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." }, "art/hard-cut-crop/garden-adaptation.svg": { "sha256": "d6996e37d4b23c39349263cc4e06f8bf96ef04b378c810956707a490c45e3385", "construction": { "element": "svg", "attributes": { "width": "600", "height": "400", "viewBox": "0 0 600 400" }, "children": [ { "element": "defs", "attributes": {}, "children": [ { "element": "linearGradient", "attributes": { "id": "day", "x1": "0", "y1": "0", "x2": "0", "y2": "1" }, "children": [ { "element": "stop", "attributes": { "offset": "0", "stop-color": "#dcebf0" }, "children": [] }, { "element": "stop", "attributes": { "offset": "1", "stop-color": "#f5f0dc" }, "children": [] } ] } ] }, { "element": "rect", "attributes": { "width": "600", "height": "400", "fill": "url(#day)" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 248Q135 170 291 235T600 213V400H0Z", "fill": "#75a1a1" }, "children": [] }, { "element": "path", "attributes": { "d": "M316 246Q236 285 280 400H392Q309 313 356 246Z", "fill": "#f5f0dc" }, "children": [] }, { "element": "path", "attributes": { "d": "M68 280H227V309H68Z", "fill": "#8b9eaa" }, "children": [] }, { "element": "path", "attributes": { "d": "M85 280V351M209 280V351M73 239H218V270H73Z", "stroke": "#354e66", "stroke-width": "8", "fill": "#c89b60" }, "children": [] }, { "element": "path", "attributes": { "d": "M486 124V344", "stroke": "#8b9eaa", "stroke-width": "14" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "477", "cy": "136", "rx": "73", "ry": "99", "fill": "#354e66" }, "children": [] }, { "element": "ellipse", "attributes": { "cx": "444", "cy": "113", "rx": "49", "ry": "62", "fill": "#75a1a1" }, "children": [] }, { "element": "path", "attributes": { "d": "M33 360L73 332L102 359M407 374L438 349L473 378M492 327L530 304L564 333", "fill": "#c89b60" }, "children": [] }, { "element": "path", "attributes": { "d": "M0 399H600", "stroke": "#8b9eaa", "stroke-width": "3" }, "children": [] } ] }, "authorship": "Original parameterized SVG; no image source, trace or conversion.", "nativeRebuild": "Use each explicit SVG element as a separate filled/masked vector node. Gradient coordinates without units are objectBoundingBox; x right, y down. Carry stop-opacity through alpha, not a solid-color approximation." } } tracks [ { "layerId": "context-background", "property": "x", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-background", "property": "y", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-background", "property": "width", "value": 1920, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-background", "property": "height", "value": 1080, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "crop-camera", "property": "x", "value": [ { "frame": 0, "value": 0, "easing": "hold" }, { "frame": 16, "value": -2348, "easing": "hold" }, { "frame": 68, "value": -2348, "easing": "hold" } ], "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "crop-camera", "property": "y", "value": [ { "frame": 0, "value": 0, "easing": "hold" }, { "frame": 16, "value": -1544, "easing": "hold" }, { "frame": 68, "value": -1544, "easing": "hold" } ], "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "crop-camera", "property": "width", "value": 1920, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "crop-camera", "property": "height", "value": 1080, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "crop-camera", "property": "scale", "value": [ { "frame": 0, "value": 1, "easing": "hold" }, { "frame": 16, "value": 2.4, "easing": "hold" }, { "frame": 68, "value": 2.4, "easing": "hold" } ], "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "browser-window", "property": "x", "value": 212, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "browser-window", "property": "y", "value": [ { "frame": 0, "value": 40, "easing": "linear" }, { "frame": 15, "value": 32, "easing": "hold" }, { "frame": 16, "value": 32, "easing": "smooth" }, { "frame": 40, "value": 28, "easing": "hold" }, { "frame": 68, "value": 28, "easing": "hold" } ], "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "browser-window", "property": "width", "value": 1496, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "browser-window", "property": "height", "value": 1000, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "browser-window", "property": "radius", "value": 14, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-1", "property": "x", "value": 24, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-1", "property": "y", "value": 22, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-1", "property": "width", "value": 12, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-1", "property": "height", "value": 12, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-2", "property": "x", "value": 46, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-2", "property": "y", "value": 22, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-2", "property": "width", "value": 12, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-2", "property": "height", "value": 12, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-3", "property": "x", "value": 68, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-3", "property": "y", "value": 22, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-3", "property": "width", "value": 12, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-dot-3", "property": "height", "value": 12, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-paper", "property": "x", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-paper", "property": "y", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-paper", "property": "width", "value": 1496, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-paper", "property": "height", "value": 1000, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "window-paper", "property": "radius", "value": 14, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "tab-strip", "property": "x", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "tab-strip", "property": "y", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "tab-strip", "property": "width", "value": 1496, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "tab-strip", "property": "height", "value": 52, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "active-tab", "property": "x", "value": 100, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "active-tab", "property": "y", "value": 12, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "active-tab", "property": "width", "value": 380, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "active-tab", "property": "height", "value": 40, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "active-tab", "property": "radius", "value": 10, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "tab-title", "property": "x", "value": 133, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "tab-title", "property": "y", "value": 24, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "tab-title", "property": "width", "value": 296, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "tab-title", "property": "height", "value": 25, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "address-bar", "property": "x", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "address-bar", "property": "y", "value": 52, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "address-bar", "property": "width", "value": 1496, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "address-bar", "property": "height", "value": 54, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-address", "property": "x", "value": 600, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-address", "property": "y", "value": 68, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-address", "property": "width", "value": 280, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-address", "property": "height", "value": 25, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-brand", "property": "x", "value": 24, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-brand", "property": "y", "value": 128, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-brand", "property": "width", "value": 280, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-brand", "property": "height", "value": 38, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-nav", "property": "x", "value": 382, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-nav", "property": "y", "value": 132, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-nav", "property": "width", "value": 655, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "site-nav", "property": "height", "value": 30, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "nav-rule", "property": "x", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "nav-rule", "property": "y", "value": 204, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "nav-rule", "property": "width", "value": 1080, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "nav-rule", "property": "height", "value": 2, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-location", "property": "x", "value": 18, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-location", "property": "y", "value": 243, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-location", "property": "width", "value": 316, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-location", "property": "height", "value": 50, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-location", "property": "radius", "value": 7, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-location-text", "property": "x", "value": 37, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-location-text", "property": "y", "value": 256, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-location-text", "property": "width", "value": 274, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-location-text", "property": "height", "value": 28, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-dates", "property": "x", "value": 346, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-dates", "property": "y", "value": 243, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-dates", "property": "width", "value": 316, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-dates", "property": "height", "value": 50, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-dates", "property": "radius", "value": 7, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-dates-text", "property": "x", "value": 365, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-dates-text", "property": "y", "value": 256, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-dates-text", "property": "width", "value": 278, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-dates-text", "property": "height", "value": 28, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-guests", "property": "x", "value": 674, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-guests", "property": "y", "value": 243, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-guests", "property": "width", "value": 295, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-guests", "property": "height", "value": 50, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-guests", "property": "radius", "value": 7, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-guests-text", "property": "x", "value": 693, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-guests-text", "property": "y", "value": 256, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-guests-text", "property": "width", "value": 252, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-guests-text", "property": "height", "value": 28, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-button", "property": "x", "value": 980, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-button", "property": "y", "value": 243, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-button", "property": "width", "value": 88, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-button", "property": "height", "value": 50, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-button", "property": "radius", "value": 25, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-button-label", "property": "x", "value": 988, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-button-label", "property": "y", "value": 258, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-button-label", "property": "width", "value": 74, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "search-button-label", "property": "height", "value": 24, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-category", "property": "x", "value": 18, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-category", "property": "y", "value": 328, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-category", "property": "width", "value": 520, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-category", "property": "height", "value": 25, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-title", "property": "x", "value": 18, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-title", "property": "y", "value": 360, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-title", "property": "width", "value": 1000, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-title", "property": "height", "value": 52, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-subtitle", "property": "x", "value": 18, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-subtitle", "property": "y", "value": 414, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-subtitle", "property": "width", "value": 1000, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-subtitle", "property": "height", "value": 25, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-clip", "property": "x", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-clip", "property": "y", "value": 448, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-clip", "property": "width", "value": 1080, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-clip", "property": "height", "value": 360, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-room", "property": "x", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-room", "property": "y", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-room", "property": "width", "value": 540, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-room", "property": "height", "value": 360, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-kitchen", "property": "x", "value": 542, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-kitchen", "property": "y", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-kitchen", "property": "width", "value": 268, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-kitchen", "property": "height", "value": 178.6666666667, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-garden", "property": "x", "value": 812, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-garden", "property": "y", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-garden", "property": "width", "value": 268, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-garden", "property": "height", "value": 178.6666666667, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-terrace", "property": "x", "value": 542, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-terrace", "property": "y", "value": 180, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-terrace", "property": "width", "value": 268, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-terrace", "property": "height", "value": 178.6666666667, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-cabin", "property": "x", "value": 812, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-cabin", "property": "y", "value": 180, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-cabin", "property": "width", "value": 268, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-cabin", "property": "height", "value": 178.6666666667, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count-chip", "property": "x", "value": 944, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count-chip", "property": "y", "value": 305, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count-chip", "property": "width", "value": 124, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count-chip", "property": "height", "value": 40, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count-chip", "property": "opacity", "value": 0.85, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count-chip", "property": "radius", "value": 20, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count", "property": "x", "value": 957, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count", "property": "y", "value": 315, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count", "property": "width", "value": 100, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "gallery-count", "property": "height", "value": 26, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-tabs", "property": "x", "value": 18, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-tabs", "property": "y", "value": 824, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-tabs", "property": "width", "value": 1000, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "property-tabs", "property": "height", "value": 25, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "detail-rule", "property": "x", "value": 0, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "detail-rule", "property": "y", "value": 862, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "detail-rule", "property": "width", "value": 1080, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "detail-rule", "property": "height", "value": 2, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-chip", "property": "x", "value": 32, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-chip", "property": "y", "value": 893, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-chip", "property": "width", "value": 50, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-chip", "property": "height", "value": 38, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-chip", "property": "radius", "value": 6, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-value", "property": "x", "value": 38, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-value", "property": "y", "value": 901, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-value", "property": "width", "value": 40, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-value", "property": "height", "value": 24, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-caption", "property": "x", "value": 95, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-caption", "property": "y", "value": 902, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-caption", "property": "width", "value": 382, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "rating-caption", "property": "height", "value": 28, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "features-line", "property": "x", "value": 32, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "features-line", "property": "y", "value": 967, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "features-line", "property": "width", "value": 590, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "features-line", "property": "height", "value": 26, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "booking-panel", "property": "x", "value": 660, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "booking-panel", "property": "y", "value": 878, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "booking-panel", "property": "width", "value": 390, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "booking-panel", "property": "height", "value": 165, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "booking-panel", "property": "radius", "value": 20, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "booking-title", "property": "x", "value": 684, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "booking-title", "property": "y", "value": 901, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "booking-title", "property": "width", "value": 344, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "booking-title", "property": "height", "value": 34, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "arrival-box", "property": "x", "value": 685, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "arrival-box", "property": "y", "value": 951, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "arrival-box", "property": "width", "value": 164, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "arrival-box", "property": "height", "value": 52, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "arrival-box", "property": "radius", "value": 8, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "departure-box", "property": "x", "value": 859, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "departure-box", "property": "y", "value": 951, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "departure-box", "property": "width", "value": 164, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "departure-box", "property": "height", "value": 52, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "departure-box", "property": "radius", "value": 8, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "arrival-date", "property": "x", "value": 714, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "arrival-date", "property": "y", "value": 967, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "arrival-date", "property": "width", "value": 126, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "arrival-date", "property": "height", "value": 27, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "departure-date", "property": "x", "value": 888, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "departure-date", "property": "y", "value": 967, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "departure-date", "property": "width", "value": 126, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "departure-date", "property": "height", "value": 27, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "side-panel", "property": "x", "value": 1080, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "side-panel", "property": "y", "value": 106, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "side-panel", "property": "width", "value": 416, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "side-panel", "property": "height", "value": 894, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "side-rule", "property": "x", "value": 1080, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "side-rule", "property": "y", "value": 106, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "side-rule", "property": "width", "value": 2, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "side-rule", "property": "height", "value": 894, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-rule", "property": "x", "value": 1082, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-rule", "property": "y", "value": 884, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-rule", "property": "width", "value": 414, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-rule", "property": "height", "value": 2, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-chip", "property": "x", "value": 1099, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-chip", "property": "y", "value": 902, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-chip", "property": "width", "value": 276, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-chip", "property": "height", "value": 40, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-chip", "property": "radius", "value": 9, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-square", "property": "x", "value": 1110, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-square", "property": "y", "value": 913, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-square", "property": "width", "value": 19, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-square", "property": "height", "value": 19, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-square", "property": "radius", "value": 3, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-label", "property": "x", "value": 1137, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-label", "property": "y", "value": 914, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-label", "property": "width", "value": 226, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "context-label", "property": "height", "value": 23, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-plus", "property": "x", "value": 1101, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-plus", "property": "y", "value": 959, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-plus", "property": "width", "value": 28, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-plus", "property": "height", "value": 28, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "input-placeholder", "property": "x", "value": 1140, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "input-placeholder", "property": "y", "value": 960, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "input-placeholder", "property": "width", "value": 284, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "input-placeholder", "property": "height", "value": 28, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "input-question", "property": "x", "value": 1140, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "input-question", "property": "y", "value": 960, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "input-question", "property": "width", "value": 284, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "input-question", "property": "height", "value": 28, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-send", "property": "x", "value": 1450, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-send", "property": "y", "value": 953, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-send", "property": "width", "value": 36, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-send", "property": "height", "value": 36, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-arrow", "property": "x", "value": 1458, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-arrow", "property": "y", "value": 961, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-arrow", "property": "width", "value": 20, "basis": "Chosen implementation control; source cut bounds are documented separately." }, { "layerId": "composer-arrow", "property": "height", "value": 20, "basis": "Chosen implementation control; source cut bounds are documented separately." } ] steps [ "Unpack core-publication-v08.zip, then active-assets.zip with overwrite enabled. The overlay installs this selected recipe and only its active SVGs. Do not fetch any legacy assets-001.zip.", "Verify recipe and every default/adaptation SVG with the unchanged handoff.py. Export native controls.csv rows before editing; local frame zero is the queued source start, not source frame zero.", "Build all native UI parts as individual rectangles, ellipses, paths and text layers. SVG files contain original vector materials only; no layer may reference source footage, screenshots or embedded raster data.", "In Fusion, create a 1920x1080, square-pixel composition at the exact recipe cadence, with local start zero. Keep the full listed node/parent order and one global clock; intersect every child gate with all ancestor gates.", "Use transparent RGBA subgroups. Multiply group alpha once after child compositing. Make overflow:hidden a true alpha intersection before the group transform, not a Transform effect mask that limits only the transform.", "Use Geist from the core with the exact pixel sizes, line heights and explicit newlines. Content length caps are not font measurements. Test both contents using the installed font; reject overflow rather than shrinking.", "Build one browser-window subtree, not a wide screenshot and a separately drawn detail. Browser=(212,y,1496,1000), radius14, overflow hidden. Its y is40@0,32@15,32@16,28@40,28@68; 0..15 linear,15..16 hold,16..40 smoothstep,then hold.", "Inside the browser, construct tab strip, address bar, navigation, three search fields, heading and gallery. The gallery clip=(0,448,1080,360). Use the five original SVGs, with the large room at(0,0,540,360) and four 268x178.6666666667 thumbnails at x542/812,y0/180. Keep two-pixel gutters; original SVG viewBoxes remain600x400.", "Add property tabs and booking controls below the gallery. Put side-panel=(1080,106,416,894) above that page in the merge stack. Its composer-rule is y884; context-chip=(1099,902,276,40); prompt origin=(1140,960). Property heading and context label share the property slot.", "Parent all browser layers, including sidebar and text, to crop-camera. Keep the context SVG outside this camera. Camera uses top-left origin(0,0) and is exactly x0,y0,scale1 on [0,16); at16 it becomes x-2348,y-1544,scale2.4 through68. Use left-key hold interpolation; no intermediate magnifications, motion blur, optical flow or dissolve.", "For full-frame Fusion transforms with centered Pivot=(0.5,0.5), the camera detail Center is(-0.0229166666667,1.22962962963), Size2.4, Aspect1, Angle0. This implements outputPixels=(-2348,-1544)+2.4*inputPixels; use the same transform for the entire browser, not independent target pieces.", "Gate input-placeholder [0,34), then input-question [34,69). The question is empty at34, one character at36 and one extra every two frames through17 characters at68. The send disc is present throughout, but no click, send or response is authored.", "The close view intentionally clips the page at top and left. Browser camera is held through68, but the small internal y settle lasts to40 and typing continues. Never call the whole late interval a frozen frame or extend past exclusive69." ] checkpoints [ { "localFrame": 0, "sourceFrame": 675, "expectation": "Wide camera scale1; browser y40." }, { "localFrame": 8, "sourceFrame": 683, "expectation": "Wide frame, only small internal y drift." }, { "localFrame": 15, "sourceFrame": 690, "expectation": "Last wide frame; browser y32." }, { "localFrame": 16, "sourceFrame": 691, "expectation": "First detail: scale2.4,x-2348,y-1544. No intermediate crop." }, { "localFrame": 24, "sourceFrame": 699, "expectation": "Detail camera held; browser y is settling." }, { "localFrame": 33, "sourceFrame": 708, "expectation": "Last placeholder frame." }, { "localFrame": 34, "sourceFrame": 709, "expectation": "Placeholder off; empty question gate on." }, { "localFrame": 35, "sourceFrame": 710, "expectation": "Question remains empty." }, { "localFrame": 36, "sourceFrame": 711, "expectation": "One question character." }, { "localFrame": 40, "sourceFrame": 715, "expectation": "Browser y28 final pose; three question characters." }, { "localFrame": 52, "sourceFrame": 727, "expectation": "Nine question characters." }, { "localFrame": 64, "sourceFrame": 739, "expectation": "Fifteen question characters." }, { "localFrame": 68, "sourceFrame": 743, "expectation": "Seventeen question characters; no send. Exclusive end69." } ] implementationDifferences [ "Cedar Studio and Harbor Workshop replace source lodging photographs/branding with original architectural vectors and illustrative copy.", "The old PunchCut is a useful stepped-camera mechanism, but change=54, zoom=1.55 and focus=(0.66,0.64) are chosen old defaults. The new frame-16 cut is source-observed; magnification=2.4, offsets and drift are this adaptation, not fitted source numbers.", "The underlying architecture is shared across wide/detail. Secondary content replaces all gallery palettes and labels without changing the camera or text-box limits.", "Typing uses even two-frame character steps, not a recovered source keystroke schedule. The close crop retains deliberate offscreen clipping at top and left." ] limitations [ "Original architectural vectors replace source property photographs; unbranded UI and chosen crop/typing values preserve the mechanism but not source material, precise geometry or text cadence. No fresh rendered comparison exists.", "No output render/encode, npm dependency installation, moving-source review, audio assessment, blind test or native Resolve execution was performed by this builder.", "Full native source masters were unavailable. Retained excerpts have960x540 pixels; 1920x1080 source dimensions and master hashes are inherited queue metadata.", "All historical source-quality status remains unresolved. Mechanical readiness does not approve material, typography, motion, source fidelity or production use.", "The core includes a licensed Geist font. This is SVG/code-only active imagery, not an assertion that the entire runtime contains no binary files.", "Only selected recipe and active SVG files belong in the overlay. No old asset pack, source master, private worker, dependency tree or critic output belongs in it.", "Text fit requires the actual loaded browser font; field length caps and numeric tracks alone cannot establish readability.", "Both content variants demonstrate one treatment, not two new examples. No shared counts, catalog entries or publication state are modified." ]