{
  "id": "cmv6ul9yo00002ao09enx017d",
  "projectId": "cmv6g4r9e005f2ao49hjkdcry",
  "story": "SETS (make each one a cast member of kind \"set\" and give every shot the set of the place it shows):\n1. The courtyard of a Hanoi tube house: a tiled yard with low stools, a charcoal stove and a big pot (kit place: garden); afternoon, night, dawn\n2. The family's front room with the ancestor altar (kit place: living-room); dawn\n3. Hanoi's old quarter rooftops under New Year's Eve fireworks (kit place: village); midnight\n\nKEY OBJECT (the owner's notes — draw it exactly so): Bánh chưng: a flat SQUARE parcel wrapped in glossy green dong leaves with visible leaf texture (veins), tied with two pairs of thin pale bamboo strings each way (four strings crossing in a grid, NOT a ribbon, NO bow), a darker green leaf fold at the corners. ONE look only (owner 2026-10-12, D77): the wrapped parcel; the cooking is told by the pot and the fire in the courtyard sets. The front room has no altar drawn (owner + QC 2026-10-12, D78): in the LAST shot the bánh chưng sits on a small wooden table in the front room, in the centre, big enough to read — draw that table in the shot, do not change the set.\n\nChiều Ba Mươi Tết, bé An cùng bà gói bánh chưng trong sân nhà ở phố cổ Hà Nội. Bà trải lá dong xanh lên mâm, đong gạo nếp trắng, nhân đậu xanh và thịt. An học bà gấp lá thật vuông và buộc lạt tre thật chặt. Chiếc bánh đầu tiên An tự gói, bà khen vuông vắn như bánh của người lớn. Đêm xuống, nồi bánh sôi lục bục trên bếp lửa hồng giữa sân. Hai bà cháu ngồi canh nồi bánh, bà kể chuyện Lang Liêu dâng bánh cho vua Hùng. Bà chỉ chiếc bánh vuông như mặt đất, An tròn mắt lắng nghe. Đêm giao thừa, pháo hoa nở rực trên những mái ngói phố cổ. An ngủ gục trên vai bà, tay vẫn nắm sợi lạt tre. Sáng mùng Một, An mở mắt và chạy ra phòng khách. Trên bàn là chiếc bánh chưng vuông vức đầu tiên do chính tay An gói.",
  "language": "vi",
  "style": "storybook",
  "status": "done",
  "provider": "nemotron",
  "models": {
    "strong": "nvidia/Nemotron-3-Ultra-550b-a55b",
    "mid": "nvidia/nemotron-3-super-120b-a12b",
    "fast": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
    "vision": "openbmb/MiniCPM-V-4_5"
  },
  "config": {
    "budget": {
      "maxShots": 2,
      "maxTokens": 800000,
      "maxUsd": 0.6,
      "maxRepairs": 3,
      "maxCriticRounds": 2,
      "maxWallMs": 840000
    },
    "profile": "crew",
    "series": null,
    "critic": true,
    "research": "off",
    "fps": 12,
    "visionAvailable": true,
    "modelNotes": [
      "vision: no NVIDIA vision model in the catalog, so openbmb/MiniCPM-V-4_5 LOOKS at each render and Nemotron Nano still scores it (vision critic: openbmb/MiniCPM-V-4_5; Nemotron crew: Ultra/Super/Nano)."
    ]
  },
  "bible": {
    "title": "Bánh Chưng Tết: Ký Ức Của An",
    "logline": "Chiều Ba Mươi Tết, bé An học gói bánh chưng cùng bà, qua đêm canh nồi nghe chuyện xưa, sáng mùng Một thức dậy thấy chiếc bánh đầu đời vuông vức trên bàn thờ.",
    "palette": [
      "#F5E6C8",
      "#D4A843",
      "#8B5E3C",
      "#4A7C59",
      "#C8553D",
      "#E8D4B9",
      "#6B8E5A",
      "#3D3D3D"
    ],
    "cast": [
      {
        "id": "courtyard",
        "name": "Sân nhà phố cổ",
        "kind": "set",
        "look": "Narrow tube house courtyard with tiled floor, low wooden stools, a charcoal stove with a big iron pot, brick walls, open sky",
        "colors": [
          "#F5E6C8",
          "#8B5E3C",
          "#C8553D",
          "#3D3D3D"
        ],
        "cites": [
          1
        ]
      },
      {
        "id": "front-room",
        "name": "Phòng khách bàn thờ",
        "kind": "set",
        "look": "Family front room with ancestor altar centered on main wall, brass incense burner, candle holders, fresh flowers, framed photograph, wooden floor",
        "colors": [
          "#F5E6C8",
          "#D4A843",
          "#4A7C59",
          "#3D3D3D"
        ],
        "cites": [
          2
        ]
      },
      {
        "id": "rooftops",
        "name": "Mái ngói phố cổ",
        "kind": "set",
        "look": "Hanoi old quarter rooftops with terracotta tiles, narrow alleys, night sky illuminated by fireworks",
        "colors": [
          "#C8553D",
          "#D4A843",
          "#3D3D3D",
          "#E8D4B9"
        ],
        "cites": [
          3
        ]
      },
      {
        "id": "an",
        "name": "Bé An",
        "kind": "character",
        "look": "Small child, round face, short black hair, wearing a simple áo bà ba in soft beige, bare feet",
        "colors": [
          "#E8D4B9",
          "#8B5E3C"
        ],
        "cites": []
      },
      {
        "id": "grandma",
        "name": "Bà",
        "kind": "character",
        "look": "Elderly woman, gentle smile, silver hair in a bun, wearing a dark áo dài with subtle floral pattern, hands wrinkled",
        "colors": [
          "#4A7C59",
          "#8B5E3C"
        ],
        "cites": []
      },
      {
        "id": "banh-chung",
        "name": "Bánh chưng",
        "kind": "prop",
        "look": "Flat square parcel wrapped in glossy green dong leaves with visible veins, tied with four thin pale bamboo strings in a grid, darker green leaf folds at corners",
        "colors": [
          "#6B8E5A",
          "#4A7C59",
          "#D4A843"
        ],
        "cites": [
          4,
          5,
          6
        ],
        "anatomy": {
          "category": [
            "square leaf-wrapped parcel",
            "green leaf packet",
            "tied leaf bundle",
            "square rice cake parcel",
            "leaf-wrapped cake"
          ],
          "parts": [
            {
              "part": "parcel body",
              "look": "flat square block about as thick as a thumb, wrapped tight in whole leaves, edges sharp and corners folded to points"
            },
            {
              "part": "dong leaves",
              "look": "glossy bright green leaf sheets covering all faces, clear vein lines running lengthwise, darker green triangular folds tucked at each corner"
            },
            {
              "part": "bamboo strings",
              "look": "four thin pale bamboo strips, two running left–right and two front–back, crossing in a neat grid on top and bottom, no bow or knot visible"
            },
            {
              "part": "corner folds",
              "look": "darker green leaf tips folded into sharp triangles at the four corners, tucked under the grid strings"
            }
          ],
          "notLike": [
            "gift box with ribbon",
            "picture frame",
            "candle holder",
            "spatula",
            "sandwich wrapper"
          ],
          "states": []
        }
      }
    ],
    "shots": [
      {
        "scene": "Chiều gói bánh",
        "shotType": "Wide shot",
        "description": "Wide shot of the Hanoi tube house courtyard in golden afternoon light. Bé An and Bà stand near the charcoal stove, low stools and big iron pot visible, brick walls and tiled floor. An holds a dong leaf, Bà smiles.",
        "mode": "still",
        "durationSec": 4,
        "dialogue": "Chiều Ba Mươi Tết, bé An cùng bà gói bánh chưng trong sân nhà ở phố cổ Hà Nội.",
        "speaker": null,
        "transition": "cut",
        "cast": [
          "courtyard",
          "an",
          "grandma"
        ],
        "cites": [
          1,
          6
        ],
        "mood": "playful",
        "acting": [
          {
            "who": "an",
            "pose": "stand",
            "expression": "smile"
          },
          {
            "who": "grandma",
            "pose": "stand",
            "expression": "smile"
          }
        ]
      },
      {
        "scene": "Chiều gói bánh",
        "shotType": "Medium shot",
        "description": "Medium shot, close on Bà's hands spreading glossy green dong leaves on a woven mat, white glutinous rice, mung bean filling and pork laid out. Afternoon light filters through courtyard bricks.",
        "mode": "motion",
        "durationSec": 3,
        "dialogue": "Bà trải lá dong xanh lên mâm, đong gạo nếp trắng, nhân đậu xanh và thịt.",
        "speaker": null,
        "transition": "cut",
        "cast": [
          "courtyard",
          "grandma"
        ],
        "cites": [
          1,
          5,
          6
        ],
        "mood": "playful",
        "acting": [
          {
            "who": "grandma",
            "pose": "hold",
            "expression": "neutral"
          }
        ]
      },
      {
        "scene": "Chiều gói bánh",
        "shotType": "Medium shot",
        "description": "Over-the-shoulder two-shot from behind An as Bà guides her small hands folding the dong leaves into a perfect square and tying four pale bamboo strings in a tight grid. The courtyard afternoon light softens.",
        "mode": "motion",
        "durationSec": 4,
        "dialogue": "An học bà gấp lá thật vuông và buộc lạt tre thật chặt.",
        "speaker": null,
        "transition": "cut",
        "cast": [
          "courtyard",
          "an",
          "grandma",
          "banh-chung"
        ],
        "cites": [
          1,
          5
        ],
        "mood": "tender",
        "acting": [
          {
            "who": "an",
            "pose": "hold",
            "expression": "surprised"
          },
          {
            "who": "grandma",
            "pose": "point",
            "expression": "smile"
          }
        ]
      },
      {
        "scene": "Chiều gói bánh",
        "shotType": "Close-up",
        "description": "Close-up on the finished square bánh chưng resting in An's cupped palms, leaf veins and bamboo grid sharp. Bà leans in, smiling proudly, afternoon glow on their faces.",
        "mode": "still",
        "durationSec": 3,
        "dialogue": "Chiếc bánh đầu tiên An tự gói, bà khen vuông vắn như bánh của người lớn.",
        "speaker": null,
        "transition": "cut",
        "cast": [
          "courtyard",
          "an",
          "grandma",
          "banh-chung"
        ],
        "cites": [
          1,
          5
        ],
        "mood": "triumph",
        "acting": [
          {
            "who": "an",
            "pose": "hold",
            "expression": "laugh"
          },
          {
            "who": "grandma",
            "pose": "look-right",
            "expression": "smile"
          }
        ]
      },
      {
        "scene": "Đêm canh nồi",
        "shotType": "Wide shot",
        "description": "Wide shot of the courtyard at night, charcoal stove glowing red, big iron pot bubbling with steam. An and Bà sit on low stools beside the fire, the wrapped bánh chưng parcels visible on a stool nearby. Night shadows, lantern glow.",
        "mode": "motion",
        "durationSec": 4,
        "dialogue": "Đêm xuống, nồi bánh sôi lục bục trên bếp lửa hồng giữa sân.",
        "speaker": null,
        "transition": "dissolve",
        "cast": [
          "courtyard",
          "an",
          "grandma",
          "banh-chung"
        ],
        "cites": [
          1,
          6
        ],
        "mood": "night",
        "acting": [
          {
            "who": "an",
            "pose": "sit",
            "expression": "sleepy"
          },
          {
            "who": "grandma",
            "pose": "sit",
            "expression": "neutral"
          }
        ]
      },
      {
        "scene": "Đêm canh nồi",
        "shotType": "Medium shot",
        "description": "Medium two-shot, An and Bà side by side on stools watching the pot, Bà gestures toward the square parcel as she tells the legend of Lang Liêu. Night deepens, firelight dances on their faces.",
        "mode": "still",
        "durationSec": 5,
        "dialogue": "Hai bà cháu ngồi canh nồi bánh, bà kể chuyện Lang Liêu dâng bánh cho vua Hùng.",
        "speaker": null,
        "transition": "cut",
        "cast": [
          "courtyard",
          "an",
          "grandma",
          "banh-chung"
        ],
        "cites": [
          1,
          5
        ],
        "mood": "tender",
        "acting": [
          {
            "who": "an",
            "pose": "look-left",
            "expression": "surprised"
          },
          {
            "who": "grandma",
            "pose": "point",
            "expression": "smile"
          }
        ]
      },
      {
        "scene": "Đêm canh nồi",
        "shotType": "Close-up",
        "description": "Close-up on Bà's finger pointing at the square bánh chưng on the stool, An's round eyes wide with wonder, firelight reflecting. Night, intimate.",
        "mode": "still",
        "durationSec": 4,
        "dialogue": "Bà chỉ chiếc bánh vuông như mặt đất, An tròn mắt lắng nghe.",
        "speaker": null,
        "transition": "dissolve",
        "cast": [
          "courtyard",
          "an",
          "grandma",
          "banh-chung"
        ],
        "cites": [
          1,
          5
        ],
        "mood": "wonder",
        "acting": [
          {
            "who": "an",
            "pose": "look-right",
            "expression": "surprised"
          },
          {
            "who": "grandma",
            "pose": "point",
            "expression": "neutral"
          }
        ]
      },
      {
        "scene": "Đêm giao thừa",
        "shotType": "Wide shot",
        "description": "Wide shot of Hanoi old quarter rooftops under midnight sky, fireworks blooming in vivid reds and golds over terracotta tiles. An and Bà silhouetted on a rooftop, watching.",
        "mode": "motion",
        "durationSec": 4,
        "dialogue": "Đêm giao thừa, pháo hoa nở rực trên những mái ngói phố cổ.",
        "speaker": null,
        "transition": "dissolve",
        "cast": [
          "rooftops",
          "an",
          "grandma"
        ],
        "cites": [
          3
        ],
        "mood": "festival",
        "acting": [
          {
            "who": "an",
            "pose": "stand",
            "expression": "surprised"
          },
          {
            "who": "grandma",
            "pose": "stand",
            "expression": "smile"
          }
        ]
      },
      {
        "scene": "Đêm giao thừa",
        "shotType": "Close-up",
        "description": "Close-up on An asleep on Bà's lap, her small fingers still curled around a pale bamboo string from the bánh chưng. Fireworks glow softly on their faces, midnight.",
        "mode": "still",
        "durationSec": 4,
        "dialogue": "An ngủ gục trên vai bà, tay vẫn nắm sợi lạt tre.",
        "speaker": null,
        "transition": "dissolve",
        "cast": [
          "rooftops",
          "an",
          "grandma",
          "banh-chung"
        ],
        "cites": [
          3,
          5
        ],
        "mood": "lullaby",
        "acting": [
          {
            "who": "an",
            "pose": "sit",
            "expression": "sleepy"
          },
          {
            "who": "grandma",
            "pose": "hug",
            "expression": "neutral"
          }
        ]
      },
      {
        "scene": "Sáng mùng Một",
        "shotType": "Low angle",
        "description": "Medium shot from low angle in the front room at dawn, An darts across wooden floor toward the small wooden table centered under the ancestor altar wall. Dawn light paints the room gold.",
        "mode": "motion",
        "durationSec": 3,
        "dialogue": "Sáng mùng Một, An mở mắt và chạy ra phòng khách.",
        "speaker": null,
        "transition": "dissolve",
        "cast": [
          "front-room",
          "an"
        ],
        "cites": [
          2,
          4
        ],
        "mood": "dawn",
        "acting": [
          {
            "who": "an",
            "pose": "walk",
            "expression": "surprised"
          }
        ]
      },
      {
        "scene": "Sáng mùng Một",
        "shotType": "Close-up",
        "description": "Close-up detail shot of the square bánh chưng sitting on the small wooden table in the front room, leaf veins and bamboo grid perfectly clear in morning light. The ancestor altar wall behind, no altar drawn, just the table and parcel. Dawn.",
        "mode": "still",
        "durationSec": 4,
        "dialogue": "Trên bàn là chiếc bánh chưng vuông vức đầu tiên do chính tay An gói.",
        "speaker": null,
        "transition": "fadeBlack",
        "cast": [
          "front-room",
          "banh-chung"
        ],
        "cites": [
          2,
          5
        ],
        "mood": "wonder",
        "acting": []
      }
    ],
    "references": []
  },
  "summary": {
    "status": "done",
    "shots": 11,
    "rendered": 11,
    "firstPassOk": 6,
    "repairs": 11,
    "criticBefore": 5.36,
    "criticAfter": 6.36,
    "revisions": 11,
    "gateFailures": 0,
    "gateFailShots": [],
    "offPlan": [],
    "actionNotes": {
      "6": "The key object (square parcel) is not clearly shown.",
      "7": "grandma's foot extends beyond frame",
      "9": "Bánh chưng appears too large and mispositioned, not clearly visible as a small held prop"
    },
    "setless": [],
    "shotScores": {
      "1": 7,
      "2": 7,
      "3": 7,
      "4": 7,
      "5": 7,
      "6": 5,
      "7": 6,
      "8": 8,
      "9": 6,
      "10": 3,
      "11": 7
    },
    "belowFloor": [
      6,
      7,
      9,
      10
    ],
    "criticModel": "openbmb/MiniCPM-V-4_5 looks · nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scores",
    "lintErrors": 0,
    "lintWarnings": 12,
    "durationSec": 46.083333,
    "wallMs": 97643,
    "tokens": 33589,
    "costUsd": 0.0193509,
    "continuity": [
      "Shot 11 mentions 'ancestor altar wall' but the set description says the altar is centered on the main wall; the altar itself is not drawn, only the wall is visible, which may cause a continuity inconsistency",
      "Shot 11 shows the bánh chưng on a small wooden table in the front room, but earlier shots place the altar centered on the main wall; moving the parcel to a table away from the altar may break spatial continuity",
      "Shot 11 uses 'low angle' but the description says 'medium shot from low angle in the front room', which conflicts with the earlier 'low angle' label used only for Shot 10; this could cause confusion in shot labeling",
      "Shot 11's time reference 'Sáng mùng Một' (first day of the new year) implies dawn after midnight fireworks, but the transition from night fireworks to dawn in the same shot may require a clearer time jump",
      "Shot 11's close-up focuses on the bánh chưng on the table while the ancestor altar wall is mentioned but not shown; this could cause a continuity issue if the altar is expected to be visible in the frame",
      "Shot 11's description says 'no altar drawn, just the table and parcel', yet the set includes an ancestor altar; omitting the altar may be a continuity error if the altar is supposed to be present in the scene"
    ],
    "textCritic": false,
    "propRecognition": [
      {
        "symbol": "banh-chung",
        "prop": "banh-chung",
        "state": "wrapped",
        "ok": false,
        "saw": "green grid pattern",
        "redraws": 4
      }
    ],
    "castSetTimes": {
      "courtyard": "night",
      "front-room": "day",
      "rooftops": "night",
      "courtyard--day": "day"
    },
    "castFromRun": "cmv6to3le000x2as8hv2waon7",
    "research": {
      "notes": 6,
      "cited": 6,
      "castCiting": 4,
      "shotsCiting": 11,
      "byUse": {
        "set": 3,
        "customs": 1,
        "props": 1,
        "costume": 1
      }
    },
    "redoOf": {
      "sourceRunId": "cmv6to3le000x2as8hv2waon7",
      "shots": [
        9,
        10
      ]
    }
  },
  "tokensIn": 17985,
  "tokensOut": 15604,
  "costUsd": 0.0193509,
  "error": null,
  "startedAt": "2026-10-13T15:40:40.752Z",
  "finishedAt": "2026-10-13T15:42:18.405Z",
  "library": "<linearGradient id=\"banh-chung--cooked-leafGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n  <stop offset=\"0\" stop-color=\"#4A7C59\"/>\n  <stop offset=\"1\" stop-color=\"#6B8E5A\"/>\n</linearGradient>\n<linearGradient id=\"banh-chung-leafGrad-a107\" x1=\"0\" y1=\"0\" x2=\"200\" y2=\"200\"><stop offset=\"0\" stop-color=\"#6B8E5A\"/><stop offset=\"1\" stop-color=\"#4A7C59\"/></linearGradient>\n<linearGradient id=\"banh-chung-leafGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n  <stop offset=\"0\" stop-color=\"#6B8E5A\"/>\n  <stop offset=\"1\" stop-color=\"#5A7A4F\"/>\n</linearGradient>\n<linearGradient id=\"courtyard-ground\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#383b47\"/><stop offset=\"1\" stop-color=\"#252734\"/></linearGradient>\n<linearGradient id=\"courtyard-midground\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#8f909b\"/><stop offset=\"1\" stop-color=\"#ccc4b6\"/></linearGradient>\n<radialGradient id=\"courtyard-moonglow\"><stop offset=\"0\" stop-color=\"#f6f1d8\" stop-opacity=\"0.3\"/><stop offset=\"1\" stop-color=\"#f6f1d8\" stop-opacity=\"0\"/></radialGradient>\n<linearGradient id=\"courtyard-sky\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#0b1330\"/><stop offset=\"1\" stop-color=\"#283a6e\"/></linearGradient>\n<linearGradient id=\"courtyard-stove-body-1651\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#a8866d\"/><stop offset=\"1\" stop-color=\"#755038\"/></linearGradient>\n<radialGradient id=\"courtyard-vignette\" cx=\"0.5\" cy=\"0.5\" r=\"0.75\"><stop offset=\"0.6\" stop-color=\"#1d1a26\" stop-opacity=\"0\"/><stop offset=\"1\" stop-color=\"#1d1a26\" stop-opacity=\"0.45\"/></radialGradient>\n<linearGradient id=\"front-room-floor\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#436d51\"/><stop offset=\"1\" stop-color=\"#608c6d\"/></linearGradient>\n<linearGradient id=\"front-room-paint-1574\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#9fc5e8\"/><stop offset=\"0.6\" stop-color=\"#f6e3c0\"/><stop offset=\"1\" stop-color=\"#7fa36b\"/></linearGradient>\n<radialGradient id=\"front-room-vignette\" cx=\"0.5\" cy=\"0.5\" r=\"0.75\"><stop offset=\"0.6\" stop-color=\"#1d1a26\" stop-opacity=\"0\"/><stop offset=\"1\" stop-color=\"#1d1a26\" stop-opacity=\"0.22\"/></radialGradient>\n<linearGradient id=\"front-room-wainscot\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#e9d099\"/><stop offset=\"1\" stop-color=\"#bfb3a0\"/></linearGradient>\n<linearGradient id=\"front-room-wall\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#dbceb5\"/><stop offset=\"0.55\" stop-color=\"#F5E6C8\"/><stop offset=\"1\" stop-color=\"#f6e8cc\"/></linearGradient>\n<linearGradient id=\"front-room-win-960\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#7fb6e8\"/><stop offset=\"1\" stop-color=\"#d9ecf7\"/></linearGradient>\n<radialGradient id=\"rooftops-glow-house-614\"><stop offset=\"0\" stop-color=\"#ffc870\" stop-opacity=\"0.75\"/><stop offset=\"1\" stop-color=\"#ffc870\" stop-opacity=\"0\"/></radialGradient>\n<radialGradient id=\"rooftops-glow-lantern-269\"><stop offset=\"0\" stop-color=\"#ffc870\" stop-opacity=\"0.75\"/><stop offset=\"1\" stop-color=\"#ffc870\" stop-opacity=\"0\"/></radialGradient>\n<radialGradient id=\"rooftops-glow-streetlamp-960\"><stop offset=\"0\" stop-color=\"#ffc870\" stop-opacity=\"0.75\"/><stop offset=\"1\" stop-color=\"#ffc870\" stop-opacity=\"0\"/></radialGradient>\n<linearGradient id=\"rooftops-ground\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#5f4c47\"/><stop offset=\"1\" stop-color=\"#483634\"/></linearGradient>\n<linearGradient id=\"rooftops-midground\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#333c56\"/><stop offset=\"1\" stop-color=\"#393c47\"/></linearGradient>\n<radialGradient id=\"rooftops-moonglow\"><stop offset=\"0\" stop-color=\"#f6f1d8\" stop-opacity=\"0.3\"/><stop offset=\"1\" stop-color=\"#f6f1d8\" stop-opacity=\"0\"/></radialGradient>\n<linearGradient id=\"rooftops-sky\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#0b1330\"/><stop offset=\"1\" stop-color=\"#283a6e\"/></linearGradient>\n<radialGradient id=\"rooftops-vignette\" cx=\"0.5\" cy=\"0.5\" r=\"0.75\"><stop offset=\"0.6\" stop-color=\"#1d1a26\" stop-opacity=\"0\"/><stop offset=\"1\" stop-color=\"#1d1a26\" stop-opacity=\"0.45\"/></radialGradient>\n<radialGradient id=\"an-skin\" cx=\"0.38\" cy=\"0.32\" r=\"0.75\"><stop offset=\"0\" stop-color=\"#eee0cd\"/><stop offset=\"1\" stop-color=\"#e8d4b9\"/></radialGradient>\n<radialGradient id=\"grandma-skin\" cx=\"0.38\" cy=\"0.32\" r=\"0.75\"><stop offset=\"0\" stop-color=\"#e0c078\"/><stop offset=\"1\" stop-color=\"#d4a843\"/></radialGradient>\n<linearGradient id=\"courtyard--day-ground\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#4d4d4d\"/><stop offset=\"1\" stop-color=\"#373739\"/></linearGradient>\n<linearGradient id=\"courtyard--day-midground\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#e7e9e0\"/><stop offset=\"1\" stop-color=\"#efe7d1\"/></linearGradient>\n<linearGradient id=\"courtyard--day-sky\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#7fb6e8\"/><stop offset=\"1\" stop-color=\"#d9ecf7\"/></linearGradient>\n<linearGradient id=\"courtyard--day-stove-body-1651\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#a8866d\"/><stop offset=\"1\" stop-color=\"#755038\"/></linearGradient>\n<radialGradient id=\"courtyard--day-sunglow\"><stop offset=\"0\" stop-color=\"#fff4c9\" stop-opacity=\"0.55\"/><stop offset=\"1\" stop-color=\"#fff4c9\" stop-opacity=\"0\"/></radialGradient>\n<radialGradient id=\"courtyard--day-vignette\" cx=\"0.5\" cy=\"0.5\" r=\"0.75\"><stop offset=\"0.6\" stop-color=\"#1d1a26\" stop-opacity=\"0\"/><stop offset=\"1\" stop-color=\"#1d1a26\" stop-opacity=\"0.22\"/></radialGradient>\n<symbol id=\"courtyard\" viewBox=\"0 0 1920 1080\">\n<rect width=\"1920\" height=\"601.6\" fill=\"url(#courtyard-sky)\"/>\n<circle cx=\"1536\" cy=\"183.6\" r=\"200\" fill=\"url(#courtyard-moonglow)\"/><circle cx=\"1536\" cy=\"183.6\" r=\"54\" fill=\"#f6f1d8\"/>\n<circle cx=\"187.2\" cy=\"75.4\" r=\"3\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"1724.8\" cy=\"319.3\" r=\"1.9\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1597\" cy=\"241.9\" r=\"2.8\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"1068.1\" cy=\"154.2\" r=\"3\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1247.7\" cy=\"446.2\" r=\"3.2\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"512.7\" cy=\"316.7\" r=\"2.1\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"75.3\" cy=\"405.2\" r=\"3.5\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"1090.2\" cy=\"310.6\" r=\"2.7\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"1687.9\" cy=\"144\" r=\"1.8\" fill=\"#ffffff\" fill-opacity=\"1\"/>\n<circle cx=\"895.9\" cy=\"256.8\" r=\"1.9\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"1403.2\" cy=\"286.8\" r=\"2\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"22\" cy=\"289.3\" r=\"3\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"267.8\" cy=\"12.2\" r=\"2\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"66.6\" cy=\"394.9\" r=\"3\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"914.5\" cy=\"387.6\" r=\"1.7\" fill=\"#ffffff\" fill-opacity=\"1\"/>\n<circle cx=\"728\" cy=\"228.7\" r=\"2.3\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"1538.3\" cy=\"256.2\" r=\"1.8\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"1372.2\" cy=\"298.5\" r=\"3\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"621\" cy=\"227.3\" r=\"2.7\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"1314.5\" cy=\"320\" r=\"1.5\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"692.1\" cy=\"8\" r=\"3.1\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"1847.5\" cy=\"269.9\" r=\"3.2\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"387.2\" cy=\"319.1\" r=\"2.3\" fill=\"#ffffff\" fill-opacity=\"1\"/>\n<circle cx=\"1199.2\" cy=\"12.2\" r=\"2.4\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"928.9\" cy=\"412.1\" r=\"3.4\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1474.9\" cy=\"94.4\" r=\"3.4\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1845.3\" cy=\"125.3\" r=\"2\" fill=\"#ffffff\" fill-opacity=\"0.5\"/>\n<circle cx=\"1563.9\" cy=\"408.6\" r=\"2.8\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"742.1\" cy=\"166.8\" r=\"2.4\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"1512.1\" cy=\"56\" r=\"2.1\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"243.8\" cy=\"183.8\" r=\"2\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"1069.2\" cy=\"342.3\" r=\"1.9\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"1729.7\" cy=\"175\" r=\"2.5\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1136.1\" cy=\"311.6\" r=\"1.8\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"925.3\" cy=\"396.2\" r=\"2.6\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"549.2\" cy=\"92.2\" r=\"2.8\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"390.4\" cy=\"381\" r=\"2.3\" fill=\"#ffffff\" fill-opacity=\"0.5\"/>\n<circle cx=\"750.5\" cy=\"342.5\" r=\"2\" fill=\"#ffffff\" fill-opacity=\"1\"/>\n<circle cx=\"1144.4\" cy=\"332.2\" r=\"3.5\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"1675.5\" cy=\"88.7\" r=\"2.6\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<g fill=\"#3a4a7a\" fill-opacity=\"0.6\"><ellipse cx=\"223.8\" cy=\"154.7\" rx=\"110\" ry=\"34\"/><ellipse cx=\"283.8\" cy=\"132.7\" rx=\"70\" ry=\"38\"/><ellipse cx=\"173.8\" cy=\"142.7\" rx=\"60\" ry=\"30\"/></g>\n<g fill=\"#3a4a7a\" fill-opacity=\"0.6\"><ellipse cx=\"500.3\" cy=\"232.7\" rx=\"110\" ry=\"34\"/><ellipse cx=\"560.3\" cy=\"210.7\" rx=\"70\" ry=\"38\"/><ellipse cx=\"450.3\" cy=\"220.7\" rx=\"60\" ry=\"30\"/></g>\n<g fill=\"#3a4a7a\" fill-opacity=\"0.6\"><ellipse cx=\"858.2\" cy=\"134.1\" rx=\"110\" ry=\"34\"/><ellipse cx=\"918.2\" cy=\"112.1\" rx=\"70\" ry=\"38\"/><ellipse cx=\"808.2\" cy=\"122.1\" rx=\"60\" ry=\"30\"/></g>\n<path d=\"M0 521.6 Q384 411.6 806.4 501.6 T1536 471.6 T1920 511.6 L1920 601.6 L0 601.6 Z\" fill=\"#7a7f92\"/>\n<rect y=\"551.6\" width=\"1920\" height=\"297.6\" fill=\"url(#courtyard-midground)\"/>\n<circle cx=\"144.9\" cy=\"678.8\" r=\"77.3\" fill=\"#4b6770\"/>\n<circle cx=\"416.9\" cy=\"664.1\" r=\"71.4\" fill=\"#4b6770\"/>\n<circle cx=\"704.3\" cy=\"654.9\" r=\"75.7\" fill=\"#4b6770\"/>\n<circle cx=\"954.7\" cy=\"664.9\" r=\"87\" fill=\"#4b6770\"/>\n<circle cx=\"1243.3\" cy=\"673.4\" r=\"74.5\" fill=\"#4b6770\"/>\n<circle cx=\"1509.3\" cy=\"677\" r=\"72.1\" fill=\"#4b6770\"/>\n<circle cx=\"1781.7\" cy=\"663.8\" r=\"84\" fill=\"#4b6770\"/>\n<path d=\"M0 799.2 Q672 773.2 1152 793.2 T1920 785.2 L1920 1080 L0 1080 Z\" fill=\"url(#courtyard-ground)\"/>\n<path d=\"M748.5 999.5 l-6 -18 M748.5 999.5 l4 -22 M748.5 999.5 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1325.5 895.3 l-6 -18 M1325.5 895.3 l4 -22 M1325.5 895.3 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1689.9 879.9 l-6 -18 M1689.9 879.9 l4 -22 M1689.9 879.9 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M353.9 903.4 l-6 -18 M353.9 903.4 l4 -22 M353.9 903.4 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M575.4 884.4 l-6 -18 M575.4 884.4 l4 -22 M575.4 884.4 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M465.2 1052 l-6 -18 M465.2 1052 l4 -22 M465.2 1052 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M334.1 848.8 l-6 -18 M334.1 848.8 l4 -22 M334.1 848.8 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M195.3 1059.6 l-6 -18 M195.3 1059.6 l4 -22 M195.3 1059.6 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1084.4 957.2 l-6 -18 M1084.4 957.2 l4 -22 M1084.4 957.2 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M311.9 1056.1 l-6 -18 M311.9 1056.1 l4 -22 M311.9 1056.1 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M907.8 833.8 l-6 -18 M907.8 833.8 l4 -22 M907.8 833.8 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M921.7 1002 l-6 -18 M921.7 1002 l4 -22 M921.7 1002 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M992.6 845.5 l-6 -18 M992.6 845.5 l4 -22 M992.6 845.5 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1095.2 973.3 l-6 -18 M1095.2 973.3 l4 -22 M1095.2 973.3 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M262.7 1063.7 l-6 -18 M262.7 1063.7 l4 -22 M262.7 1063.7 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M758.9 932.2 l-6 -18 M758.9 932.2 l4 -22 M758.9 932.2 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M673.1 1000.6 l-6 -18 M673.1 1000.6 l4 -22 M673.1 1000.6 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M5.6 979 l-6 -18 M5.6 979 l4 -22 M5.6 979 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1422.2 916 l-6 -18 M1422.2 916 l4 -22 M1422.2 916 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1554.6 889 l-6 -18 M1554.6 889 l4 -22 M1554.6 889 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M416.1 1047.1 l-6 -18 M416.1 1047.1 l4 -22 M416.1 1047.1 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M670.9 991.9 l-6 -18 M670.9 991.9 l4 -22 M670.9 991.9 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1108.2 973.4 l-6 -18 M1108.2 973.4 l4 -22 M1108.2 973.4 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1373.1 957.8 l-6 -18 M1373.1 957.8 l4 -22 M1373.1 957.8 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1122.9 906.9 l-6 -18 M1122.9 906.9 l4 -22 M1122.9 906.9 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M347.9 993.3 l-6 -18 M347.9 993.3 l4 -22 M347.9 993.3 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M187.6 870.6 l-6 -18 M187.6 870.6 l4 -22 M187.6 870.6 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1442.1 924.5 l-6 -18 M1442.1 924.5 l4 -22 M1442.1 924.5 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1182.9 1016.2 l-6 -18 M1182.9 1016.2 l4 -22 M1182.9 1016.2 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M498.4 941.1 l-6 -18 M498.4 941.1 l4 -22 M498.4 941.1 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1608.4 1020.1 l-6 -18 M1608.4 1020.1 l4 -22 M1608.4 1020.1 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M470.4 882.6 l-6 -18 M470.4 882.6 l4 -22 M470.4 882.6 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1189.7 990.9 l-6 -18 M1189.7 990.9 l4 -22 M1189.7 990.9 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1271.6 949.3 l-6 -18 M1271.6 949.3 l4 -22 M1271.6 949.3 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1883.9 1051 l-6 -18 M1883.9 1051 l4 -22 M1883.9 1051 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1708.7 946 l-6 -18 M1708.7 946 l4 -22 M1708.7 946 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M628.9 921.6 l-6 -18 M628.9 921.6 l4 -22 M628.9 921.6 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1425.8 944 l-6 -18 M1425.8 944 l4 -22 M1425.8 944 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1413.1 889.4 l-6 -18 M1413.1 889.4 l4 -22 M1413.1 889.4 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M786.4 1067.2 l-6 -18 M786.4 1067.2 l4 -22 M786.4 1067.2 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1452.1 879.4 l-6 -18 M1452.1 879.4 l4 -22 M1452.1 879.4 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M538.2 882.6 l-6 -18 M538.2 882.6 l4 -22 M538.2 882.6 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1894.4 1012.8 l-6 -18 M1894.4 1012.8 l4 -22 M1894.4 1012.8 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1242.4 912.8 l-6 -18 M1242.4 912.8 l4 -22 M1242.4 912.8 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M973.1 1069.1 l-6 -18 M973.1 1069.1 l4 -22 M973.1 1069.1 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1074.4 845.3 l-6 -18 M1074.4 845.3 l4 -22 M1074.4 845.3 l10 -14\" stroke=\"#242532\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"268.8\" cy=\"805.2\" rx=\"46\" ry=\"10\" fill=\"#593f2e\"/><rect x=\"262.8\" y=\"619.2\" width=\"12\" height=\"186\" fill=\"#8b8f96\"/>\n<ellipse cx=\"268.8\" cy=\"739.2\" rx=\"34\" ry=\"8\" fill=\"none\" stroke=\"#8b8f96\" stroke-width=\"5\"/>\n<rect x=\"216.8\" y=\"597.2\" width=\"104\" height=\"26\" rx=\"13\" fill=\"#834830\"/><rect x=\"220.8\" y=\"617.2\" width=\"96\" height=\"8\" rx=\"4\" fill=\"#593f2e\"/>\n<rect x=\"1491.2\" y=\"619.2\" width=\"320\" height=\"190\" rx=\"8\" fill=\"url(#courtyard-stove-body-1651)\"/>\n<rect x=\"1481.2\" y=\"609.2\" width=\"340\" height=\"18\" rx=\"4\" fill=\"#faf3e4\"/>\n<rect x=\"1501.2\" y=\"644.2\" width=\"142\" height=\"150\" rx=\"6\" fill=\"none\" stroke=\"#593f2e\" stroke-opacity=\"0.45\" stroke-width=\"4\"/><circle cx=\"1626.2\" cy=\"719.2\" r=\"5\" fill=\"#593f2e\"/>\n<rect x=\"1649.2\" y=\"644.2\" width=\"142\" height=\"150\" rx=\"6\" fill=\"none\" stroke=\"#593f2e\" stroke-opacity=\"0.45\" stroke-width=\"4\"/><circle cx=\"1774.2\" cy=\"719.2\" r=\"5\" fill=\"#593f2e\"/>\n<ellipse cx=\"1581.2\" cy=\"604.2\" rx=\"50\" ry=\"10\" fill=\"#2b2530\"/>\n<ellipse cx=\"1721.2\" cy=\"604.2\" rx=\"50\" ry=\"10\" fill=\"#2b2530\"/>\n<path d=\"M1551.2 595.2 h80 v-60 a40 20 0 0 0 -80 0 Z\" fill=\"#5a4842\"/>\n<path d=\"M1591.2 509.2 q14 -20 0 -40 q-14 -20 0 -40\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.5\" stroke-width=\"5\" stroke-linecap=\"round\"/>\n<path d=\"M586.4 723.2 L642.4 723.2 L635.4 779.2 L593.4 779.2 Z\" fill=\"#965835\"/>\n<path d=\"M614.4 723.2 Q588.7 700.3 549.1 677.5\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q590.9 682.2 553.4 641.3\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q605.6 675.6 582.9 628\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q621.4 676.9 614.4 630.6\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q636.4 678 644.3 632.8\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q646.6 689.3 664.8 655.4\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q653.4 700.8 678.4 678.4\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.38\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"url(#courtyard-vignette)\"/>\n</symbol>\n<symbol id=\"front-room\" viewBox=\"0 0 1920 1080\">\n<rect width=\"1920\" height=\"758\" fill=\"url(#front-room-wall)\"/>\n<path d=\"M120 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M240 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M360 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M480 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M600 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M720 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M840 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M960 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M1080 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M1200 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M1320 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M1440 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M1560 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M1680 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<path d=\"M1800 0 V468.7\" stroke=\"#b4a997\" stroke-opacity=\"0.25\" stroke-width=\"4\"/>\n<rect y=\"468.7\" width=\"1920\" height=\"287.3\" fill=\"url(#front-room-wainscot)\"/>\n<rect y=\"460.7\" width=\"1920\" height=\"14\" fill=\"#a07937\"/>\n<path d=\"M80 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M160 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M240 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M320 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M400 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M480 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M560 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M640 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M720 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M800 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M880 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M960 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1040 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1120 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1200 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1280 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1360 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1440 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1520 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1600 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1680 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1760 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<path d=\"M1840 474.7 V756\" stroke=\"#b4a997\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<rect width=\"1920\" height=\"38\" fill=\"#8f6f33\"/>\n<rect y=\"756\" width=\"1920\" height=\"324\" fill=\"url(#front-room-floor)\"/>\n<rect y=\"756\" width=\"1920\" height=\"10\" fill=\"#3a5a47\"/>\n<path d=\"M420 756 L-600 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M510 756 L-340 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M600 756 L-80 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M690 756 L180 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M780 756 L440 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M870 756 L700 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M960 756 L960 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M1050 756 L1220 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M1140 756 L1480 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M1230 756 L1740 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M1320 756 L2000 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M1410 756 L2260 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<path d=\"M1500 756 L2520 1080\" stroke=\"#3d5f4a\" stroke-opacity=\"0.4\" stroke-width=\"3\"/>\n<rect x=\"756\" y=\"85.5\" width=\"408\" height=\"328\" rx=\"6\" fill=\"#9a7436\"/>\n<rect x=\"770\" y=\"99.5\" width=\"380\" height=\"300\" fill=\"url(#front-room-win-960)\"/>\n<path d=\"M770 333.5 Q922 264.5 1036 324.5 T1150 309.5 V399.5 H770 Z\" fill=\"#9ab995\"/>\n<path d=\"M960 99.5 V399.5 M770 249.5 H1150\" stroke=\"#9a7436\" stroke-width=\"10\"/>\n<rect x=\"746\" y=\"409.5\" width=\"428\" height=\"14\" rx=\"4\" fill=\"#aa8239\"/>\n<path d=\"M770 399.5 L1150 399.5 L1380 1080 L840 1080 Z\" fill=\"#fff6dc\" fill-opacity=\"0.14\"/>\n<rect x=\"235.6\" y=\"226.8\" width=\"220\" height=\"10\" fill=\"#9a7436\"/>\n<rect x=\"245.6\" y=\"156.8\" width=\"22\" height=\"70\" fill=\"#D4A843\"/>\n<rect x=\"273.6\" y=\"167\" width=\"22\" height=\"59.8\" fill=\"#5b7aa6\"/>\n<rect x=\"301.6\" y=\"169.6\" width=\"22\" height=\"57.2\" fill=\"#c9a24b\"/>\n<rect x=\"329.6\" y=\"158.6\" width=\"22\" height=\"68.2\" fill=\"#8a5a7a\"/>\n<rect x=\"357.6\" y=\"154.8\" width=\"22\" height=\"72\" fill=\"#6b8e4e\"/>\n<rect x=\"385.6\" y=\"160.9\" width=\"22\" height=\"65.9\" fill=\"#D4A843\"/>\n<rect x=\"413.6\" y=\"154.1\" width=\"22\" height=\"72.7\" fill=\"#5b7aa6\"/>\n<path d=\"M264.4 722 L388.4 722 L372.9 846 L279.9 846 Z\" fill=\"#ba7d38\"/>\n<path d=\"M326.4 722 Q251.7 658.9 146.1 595.8\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"14\" stroke-linecap=\"round\"/>\n<path d=\"M326.4 722 Q283.7 643.9 210.1 565.8\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"14\" stroke-linecap=\"round\"/>\n<path d=\"M326.4 722 Q312.3 632.6 267.2 543.2\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"14\" stroke-linecap=\"round\"/>\n<path d=\"M326.4 722 Q341.9 614.2 326.4 506.4\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"14\" stroke-linecap=\"round\"/>\n<path d=\"M326.4 722 Q377.3 615.2 397.2 508.4\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"14\" stroke-linecap=\"round\"/>\n<path d=\"M326.4 722 Q404.6 637.8 451.7 553.7\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"14\" stroke-linecap=\"round\"/>\n<path d=\"M326.4 722 Q434.8 657 512.2 591.9\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"14\" stroke-linecap=\"round\"/>\n<rect x=\"1464.4\" y=\"146.8\" width=\"220\" height=\"160\" fill=\"#9a7436\"/><rect x=\"1478.4\" y=\"160.8\" width=\"192\" height=\"132\" fill=\"url(#front-room-paint-1574)\"/><path d=\"M1478.4 266.8 Q1544.4 196.8 1594.4 236.8 T1670.4 226.8 L1670.4 292.8 L1478.4 292.8 Z\" fill=\"#6b8e4e\"/>\n<rect x=\"1585.9\" y=\"334.5\" width=\"15.5\" height=\"511.5\" fill=\"#6e5530\"/><path d=\"M1500.6 334.5 L1686.6 334.5 L1649.4 226 L1537.8 226 Z\" fill=\"#eace8d\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"url(#front-room-vignette)\"/>\n</symbol>\n<symbol id=\"rooftops\" viewBox=\"0 0 1920 1080\">\n<rect width=\"1920\" height=\"601.6\" fill=\"url(#rooftops-sky)\"/>\n<circle cx=\"1536\" cy=\"183.6\" r=\"200\" fill=\"url(#rooftops-moonglow)\"/><circle cx=\"1536\" cy=\"183.6\" r=\"54\" fill=\"#f6f1d8\"/>\n<circle cx=\"1261.1\" cy=\"107.5\" r=\"3.1\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"1032.1\" cy=\"286.9\" r=\"1.8\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"739.4\" cy=\"436.1\" r=\"1.6\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"1417.5\" cy=\"423.1\" r=\"2\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"1126.9\" cy=\"347.5\" r=\"2.3\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"696.8\" cy=\"318.3\" r=\"2.4\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1463.3\" cy=\"228.2\" r=\"3.1\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1745.3\" cy=\"227.9\" r=\"3.2\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"514.2\" cy=\"231.5\" r=\"1.6\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"825.5\" cy=\"136.7\" r=\"3\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1325.4\" cy=\"374.4\" r=\"2.4\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"1569.2\" cy=\"270\" r=\"2.9\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"220.5\" cy=\"312.4\" r=\"2.4\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"521.8\" cy=\"125.2\" r=\"1.6\" fill=\"#ffffff\" fill-opacity=\"1\"/>\n<circle cx=\"1609.9\" cy=\"218.3\" r=\"2.9\" fill=\"#ffffff\" fill-opacity=\"1\"/>\n<circle cx=\"314.3\" cy=\"168.9\" r=\"3.4\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"337.3\" cy=\"218.8\" r=\"2.9\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"71.6\" cy=\"281\" r=\"3\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"1769.1\" cy=\"89.8\" r=\"1.6\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1791.1\" cy=\"283.9\" r=\"2.1\" fill=\"#ffffff\" fill-opacity=\"1\"/>\n<circle cx=\"269.2\" cy=\"351.1\" r=\"3\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"958.1\" cy=\"303.7\" r=\"2.1\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"398.9\" cy=\"375.8\" r=\"1.9\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"75.3\" cy=\"248.5\" r=\"1.9\" fill=\"#ffffff\" fill-opacity=\"0.5\"/>\n<circle cx=\"682.3\" cy=\"21.8\" r=\"1.7\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"1876.5\" cy=\"301.3\" r=\"2.2\" fill=\"#ffffff\" fill-opacity=\"0.7\"/>\n<circle cx=\"303.4\" cy=\"254.3\" r=\"2\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"47.3\" cy=\"341.5\" r=\"1.8\" fill=\"#ffffff\" fill-opacity=\"0.5\"/>\n<circle cx=\"145.9\" cy=\"432.7\" r=\"3.2\" fill=\"#ffffff\" fill-opacity=\"1\"/>\n<circle cx=\"356.7\" cy=\"247\" r=\"2.6\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"510.7\" cy=\"306.4\" r=\"2.7\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"602.8\" cy=\"46.5\" r=\"3.5\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"1910.9\" cy=\"448.1\" r=\"2.6\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"1608.1\" cy=\"191.3\" r=\"2.2\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"921.4\" cy=\"189.2\" r=\"2.6\" fill=\"#ffffff\" fill-opacity=\"1\"/>\n<circle cx=\"1829.8\" cy=\"29.3\" r=\"2\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"1336.5\" cy=\"48.6\" r=\"2.3\" fill=\"#ffffff\" fill-opacity=\"0.9\"/>\n<circle cx=\"800.5\" cy=\"75.6\" r=\"1.6\" fill=\"#ffffff\" fill-opacity=\"0.8\"/>\n<circle cx=\"1157.7\" cy=\"51.8\" r=\"2.2\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<circle cx=\"672.4\" cy=\"433.3\" r=\"2.1\" fill=\"#ffffff\" fill-opacity=\"0.6\"/>\n<g fill=\"#3a4a7a\" fill-opacity=\"0.6\"><ellipse cx=\"219.9\" cy=\"126.2\" rx=\"110\" ry=\"34\"/><ellipse cx=\"279.9\" cy=\"104.2\" rx=\"70\" ry=\"38\"/><ellipse cx=\"169.9\" cy=\"114.2\" rx=\"60\" ry=\"30\"/></g>\n<g fill=\"#3a4a7a\" fill-opacity=\"0.6\"><ellipse cx=\"577.7\" cy=\"172.7\" rx=\"110\" ry=\"34\"/><ellipse cx=\"637.7\" cy=\"150.7\" rx=\"70\" ry=\"38\"/><ellipse cx=\"527.7\" cy=\"160.7\" rx=\"60\" ry=\"30\"/></g>\n<g fill=\"#3a4a7a\" fill-opacity=\"0.6\"><ellipse cx=\"855.8\" cy=\"134.9\" rx=\"110\" ry=\"34\"/><ellipse cx=\"915.8\" cy=\"112.9\" rx=\"70\" ry=\"38\"/><ellipse cx=\"805.8\" cy=\"122.9\" rx=\"60\" ry=\"30\"/></g>\n<path d=\"M0 561.6 L230.4 301.6 L480 441.6 L806.4 221.6 L1152 421.6 L1497.6 261.6 L1920 471.6 L1920 601.6 L0 601.6 Z\" fill=\"#303b5a\"/>\n<path d=\"M736.4 311.6 L806.4 221.6 L886.4 321.6 Z M1437.6 336.6 L1497.6 261.6 L1563.6 341.6 Z\" fill=\"#f7f9fc\" fill-opacity=\"0.5\"/>\n<rect y=\"551.6\" width=\"1920\" height=\"297.6\" fill=\"url(#rooftops-midground)\"/>\n<rect x=\"-40\" y=\"498.4\" width=\"283.4\" height=\"300.8\" fill=\"#704658\"/><path d=\"M-52 498.4 L101.7 428.4 L255.4 498.4 Z\" fill=\"#5d3c44\"/>\n<rect x=\"0\" y=\"538.4\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"120\" y=\"538.4\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"0\" y=\"628.4\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"120\" y=\"628.4\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"255.4\" y=\"524.7\" width=\"283.4\" height=\"274.5\" fill=\"#7e8193\"/><path d=\"M243.4 524.7 L397.1 454.7 L550.8 524.7 Z\" fill=\"#66636b\"/>\n<rect x=\"295.4\" y=\"564.7\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"415.4\" y=\"564.7\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"295.4\" y=\"654.7\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"415.4\" y=\"654.7\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"550.8\" y=\"565.4\" width=\"283.4\" height=\"233.8\" fill=\"#706973\"/><path d=\"M538.8 565.4 L692.5 495.4 L846.2 565.4 Z\" fill=\"#5d5356\"/>\n<rect x=\"590.8\" y=\"605.4\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"710.8\" y=\"605.4\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"590.8\" y=\"695.4\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"710.8\" y=\"695.4\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"846.2\" y=\"497.7\" width=\"283.4\" height=\"301.5\" fill=\"#67799b\"/><path d=\"M834.2 497.7 L987.8 427.7 L1141.5 497.7 Z\" fill=\"#575d70\"/>\n<rect x=\"886.2\" y=\"537.7\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"1006.2\" y=\"537.7\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"886.2\" y=\"627.7\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"1006.2\" y=\"627.7\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"1141.5\" y=\"500.3\" width=\"283.4\" height=\"298.9\" fill=\"#704658\"/><path d=\"M1129.5 500.3 L1283.2 430.3 L1436.9 500.3 Z\" fill=\"#5d3c44\"/>\n<rect x=\"1181.5\" y=\"540.3\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"1301.5\" y=\"540.3\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"1181.5\" y=\"630.3\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"1301.5\" y=\"630.3\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"1436.9\" y=\"492.2\" width=\"283.4\" height=\"307\" fill=\"#7e8193\"/><path d=\"M1424.9 492.2 L1578.6 422.2 L1732.3 492.2 Z\" fill=\"#66636b\"/>\n<rect x=\"1476.9\" y=\"532.2\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"1596.9\" y=\"532.2\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"1476.9\" y=\"622.2\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"1596.9\" y=\"622.2\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"1732.3\" y=\"489.4\" width=\"283.4\" height=\"309.8\" fill=\"#706973\"/><path d=\"M1720.3 489.4 L1874 419.4 L2027.7 489.4 Z\" fill=\"#5d5356\"/>\n<rect x=\"1772.3\" y=\"529.4\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"1892.3\" y=\"529.4\" width=\"54\" height=\"54\" fill=\"#ffcf6e\"/>\n<rect x=\"1772.3\" y=\"619.4\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<rect x=\"1892.3\" y=\"619.4\" width=\"54\" height=\"54\" fill=\"#2b3150\"/>\n<path d=\"M0 799.2 Q672 773.2 1152 793.2 T1920 785.2 L1920 1080 L0 1080 Z\" fill=\"url(#rooftops-ground)\"/>\n<path d=\"M1513.8 998.4 l-6 -18 M1513.8 998.4 l4 -22 M1513.8 998.4 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1267.3 866 l-6 -18 M1267.3 866 l4 -22 M1267.3 866 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1278 840.5 l-6 -18 M1278 840.5 l4 -22 M1278 840.5 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1884 1017.5 l-6 -18 M1884 1017.5 l4 -22 M1884 1017.5 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M287.2 876.6 l-6 -18 M287.2 876.6 l4 -22 M287.2 876.6 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M431 936.7 l-6 -18 M431 936.7 l4 -22 M431 936.7 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1902.2 968.5 l-6 -18 M1902.2 968.5 l4 -22 M1902.2 968.5 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M583.3 988.1 l-6 -18 M583.3 988.1 l4 -22 M583.3 988.1 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M773.9 1034.6 l-6 -18 M773.9 1034.6 l4 -22 M773.9 1034.6 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M287.4 990.8 l-6 -18 M287.4 990.8 l4 -22 M287.4 990.8 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1625.2 820.6 l-6 -18 M1625.2 820.6 l4 -22 M1625.2 820.6 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M432.3 864.9 l-6 -18 M432.3 864.9 l4 -22 M432.3 864.9 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1320 924.5 l-6 -18 M1320 924.5 l4 -22 M1320 924.5 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M471.8 1003.3 l-6 -18 M471.8 1003.3 l4 -22 M471.8 1003.3 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M206.1 941.7 l-6 -18 M206.1 941.7 l4 -22 M206.1 941.7 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1654.6 1041 l-6 -18 M1654.6 1041 l4 -22 M1654.6 1041 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1369.8 877.8 l-6 -18 M1369.8 877.8 l4 -22 M1369.8 877.8 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M501.8 828.9 l-6 -18 M501.8 828.9 l4 -22 M501.8 828.9 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1536.4 958.9 l-6 -18 M1536.4 958.9 l4 -22 M1536.4 958.9 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1853.4 824.9 l-6 -18 M1853.4 824.9 l4 -22 M1853.4 824.9 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M693.4 928.7 l-6 -18 M693.4 928.7 l4 -22 M693.4 928.7 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1186.7 962.4 l-6 -18 M1186.7 962.4 l4 -22 M1186.7 962.4 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M24.8 894.4 l-6 -18 M24.8 894.4 l4 -22 M24.8 894.4 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1689.3 828.4 l-6 -18 M1689.3 828.4 l4 -22 M1689.3 828.4 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M708.6 831.4 l-6 -18 M708.6 831.4 l4 -22 M708.6 831.4 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1660.5 1010.8 l-6 -18 M1660.5 1010.8 l4 -22 M1660.5 1010.8 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1887.6 1044.5 l-6 -18 M1887.6 1044.5 l4 -22 M1887.6 1044.5 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1585.8 1018.8 l-6 -18 M1585.8 1018.8 l4 -22 M1585.8 1018.8 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1692.7 929.4 l-6 -18 M1692.7 929.4 l4 -22 M1692.7 929.4 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M143.3 853 l-6 -18 M143.3 853 l4 -22 M143.3 853 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1784.1 1055 l-6 -18 M1784.1 1055 l4 -22 M1784.1 1055 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M241.9 1008.1 l-6 -18 M241.9 1008.1 l4 -22 M241.9 1008.1 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M655 901.3 l-6 -18 M655 901.3 l4 -22 M655 901.3 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1857 1061.8 l-6 -18 M1857 1061.8 l4 -22 M1857 1061.8 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1308.9 893.8 l-6 -18 M1308.9 893.8 l4 -22 M1308.9 893.8 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M448.1 983.9 l-6 -18 M448.1 983.9 l4 -22 M448.1 983.9 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M488.4 826.5 l-6 -18 M488.4 826.5 l4 -22 M488.4 826.5 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1744.6 876.9 l-6 -18 M1744.6 876.9 l4 -22 M1744.6 876.9 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1328.2 996.2 l-6 -18 M1328.2 996.2 l4 -22 M1328.2 996.2 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M83.8 925.5 l-6 -18 M83.8 925.5 l4 -22 M83.8 925.5 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M636.6 858.7 l-6 -18 M636.6 858.7 l4 -22 M636.6 858.7 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1539.5 1012.5 l-6 -18 M1539.5 1012.5 l4 -22 M1539.5 1012.5 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M530.5 887.8 l-6 -18 M530.5 887.8 l4 -22 M530.5 887.8 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M807.3 918.6 l-6 -18 M807.3 918.6 l4 -22 M807.3 918.6 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1377.4 1054.2 l-6 -18 M1377.4 1054.2 l4 -22 M1377.4 1054.2 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M494.5 1038.1 l-6 -18 M494.5 1038.1 l4 -22 M494.5 1038.1 l10 -14\" stroke=\"#413232\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M268.8 479.2 v40\" stroke=\"#6b3c2e\" stroke-width=\"4\"/><ellipse cx=\"268.8\" cy=\"559.2\" rx=\"42\" ry=\"56\" fill=\"#ffcf6e\"/><path d=\"M226.8 559.2 h84 M230.8 534.2 h76 M230.8 584.2 h76\" stroke=\"#6b3c2e\" stroke-opacity=\"0.35\" stroke-width=\"3\"/>\n<circle cx=\"268.8\" cy=\"559.2\" r=\"190\" fill=\"url(#rooftops-glow-lantern-269)\"/>\n<path d=\"M1371.2 809.2 v-110 l12 -16 l12 16 v110 Z\" fill=\"#7f7f84\"/>\n<path d=\"M1441.2 809.2 v-110 l12 -16 l12 16 v110 Z\" fill=\"#7f7f84\"/>\n<path d=\"M1511.2 809.2 v-110 l12 -16 l12 16 v110 Z\" fill=\"#7f7f84\"/>\n<path d=\"M1581.2 809.2 v-110 l12 -16 l12 16 v110 Z\" fill=\"#7f7f84\"/>\n<path d=\"M1651.2 809.2 v-110 l12 -16 l12 16 v110 Z\" fill=\"#7f7f84\"/>\n<path d=\"M1721.2 809.2 v-110 l12 -16 l12 16 v110 Z\" fill=\"#7f7f84\"/>\n<path d=\"M1791.2 809.2 v-110 l12 -16 l12 16 v110 Z\" fill=\"#7f7f84\"/>\n<path d=\"M1861.2 809.2 v-110 l12 -16 l12 16 v110 Z\" fill=\"#7f7f84\"/>\n<path d=\"M1931.2 809.2 v-110 l12 -16 l12 16 v110 Z\" fill=\"#7f7f84\"/>\n<path d=\"M1361.2 729.2 h600 M1361.2 774.2 h600\" stroke=\"#bab4a6\" stroke-width=\"10\"/>\n<rect x=\"509.4\" y=\"625.2\" width=\"210\" height=\"154\" fill=\"#765c5f\"/><path d=\"M488.4 628.7 L614.4 541.2 L740.4 628.7 Z\" fill=\"#964633\"/>\n<rect x=\"551.4\" y=\"660.2\" width=\"39.2\" height=\"39.2\" fill=\"#ffcf6e\" stroke=\"#9e7461\" stroke-width=\"3.5\"/>\n<rect x=\"649.4\" y=\"660.2\" width=\"39.2\" height=\"39.2\" fill=\"#ffcf6e\" stroke=\"#9e7461\" stroke-width=\"3.5\"/>\n<rect x=\"596.9\" y=\"709.2\" width=\"35\" height=\"70\" fill=\"#81402f\"/>\n<circle cx=\"614.4\" cy=\"681.2\" r=\"119\" fill=\"url(#rooftops-glow-house-614)\"/>\n<path d=\"M1293 779.2 L1298.6 625.2 L1312.6 625.2 L1318.2 779.2 Z\" fill=\"#45342d\"/>\n<circle cx=\"1371\" cy=\"555.1\" r=\"73.9\" fill=\"#364f39\"/>\n<circle cx=\"1365.4\" cy=\"599.7\" r=\"69.9\" fill=\"#9cb69a\"/>\n<circle cx=\"1304.1\" cy=\"548.9\" r=\"75.1\" fill=\"#364f39\"/>\n<circle cx=\"1270.1\" cy=\"586\" r=\"72.9\" fill=\"#9cb69a\"/>\n<circle cx=\"1312.7\" cy=\"584.2\" r=\"49.6\" fill=\"#364f39\"/>\n<circle cx=\"1251.1\" cy=\"586.6\" r=\"69.1\" fill=\"#9cb69a\"/>\n<rect x=\"956.2\" y=\"528.2\" width=\"7.7\" height=\"231\" fill=\"#2b2f3a\"/><path d=\"M943.5 528.2 h33 l-6.6 -22 h-19.8 Z\" fill=\"#ffd27f\"/>\n<circle cx=\"960\" cy=\"533.7\" r=\"126.5\" fill=\"url(#rooftops-glow-streetlamp-960)\"/>\n<rect x=\"-88\" y=\"778.7\" width=\"368\" height=\"20.7\" rx=\"5.8\" fill=\"#954f33\"/><rect x=\"-88\" y=\"709.7\" width=\"368\" height=\"16.1\" rx=\"5.8\" fill=\"#954f33\"/>\n<rect x=\"-65\" y=\"709.7\" width=\"16.1\" height=\"149.5\" fill=\"#6b3c2e\"/>\n<rect x=\"239.8\" y=\"709.7\" width=\"16.1\" height=\"149.5\" fill=\"#6b3c2e\"/>\n<use href=\"#rooftops-d1\" x=\"331.2\" y=\"560\" width=\"259.2\" height=\"259.2\"/>\n<use href=\"#rooftops-d2\" x=\"478.8\" y=\"40\" width=\"194.4\" height=\"194.4\"/>\n<use href=\"#rooftops-d3\" x=\"484.2\" y=\"108\" width=\"183.6\" height=\"183.6\"/>\n<use href=\"#rooftops-d4\" x=\"1329.6\" y=\"560\" width=\"259.2\" height=\"259.2\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.38\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"url(#rooftops-vignette)\"/>\n</symbol>\n<symbol id=\"an\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 234 Q113.2 291 115.2 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 234 Q286.8 291 284.8 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<circle cx=\"115.2\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"284.8\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 120 Q171.2 112.8 183.2 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228.8\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 120 Q228.8 112.8 240.8 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M186.4 170.4 Q200 182.4 213.6 170.4\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"grandma\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 182 Q122 245 124 348\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 182 Q278 245 276 348\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"124\" cy=\"352\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"276\" cy=\"352\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"184.2\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M177.6 105.4 Q184.2 101.4 190.8 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M177.1 116.4 l-4.4 -2.2 M177.1 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.8\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M209.2 105.4 Q215.8 101.4 222.4 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M222.9 116.4 l4.4 -2.2 M222.9 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"125.2\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M192.5 133.1 Q200 139.7 207.5 133.1\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"banh-chung\" viewBox=\"0 0 400 400\">\n  <rect x=\"70\" y=\"70\" width=\"260\" height=\"260\" fill=\"#6B8E5A\"/>\n  <rect x=\"70\" y=\"150\" width=\"260\" height=\"8\" fill=\"#D4A843\"/>\n  <rect x=\"70\" y=\"250\" width=\"260\" height=\"8\" fill=\"#D4A843\"/>\n  <rect x=\"150\" y=\"70\" width=\"8\" height=\"260\" fill=\"#D4A843\"/>\n  <rect x=\"250\" y=\"70\" width=\"8\" height=\"260\" fill=\"#D4A843\"/>\n  <polygon points=\"70,70 90,70 70,90\" fill=\"#4A7C59\"/>\n  <polygon points=\"330,70 310,70 330,90\" fill=\"#4A7C59\"/>\n  <polygon points=\"70,330 90,330 70,310\" fill=\"#4A7C59\"/>\n  <polygon points=\"330,330 310,330 330,310\" fill=\"#4A7C59\"/>\n  <path d=\"M150 70 Q180 130 150 190 Q120 250 150 310\" stroke=\"#4A7C59\" stroke-width=\"4\" fill=\"none\"/>\n  <path d=\"M200 70 Q230 130 200 190 Q170 250 200 310\" stroke=\"#4A7C59\" stroke-width=\"4\" fill=\"none\"/>\n  <path d=\"M250 70 Q280 130 250 190 Q220 250 250 310\" stroke=\"#4A7C59\" stroke-width=\"4\" fill=\"none\"/>\n  <ellipse cx=\"130\" cy=\"130\" rx=\"30\" ry=\"15\" fill=\"#FFFFFF\" fill-opacity=\"0.3\"/>\n</symbol>\n<symbol id=\"rooftops-d1\" viewBox=\"0 0 400 400\">\n  <rect x=\"0\" y=\"200\" width=\"400\" height=\"200\" fill=\"#E8D4B9\"/>\n  <rect x=\"50\" y=\"250\" width=\"100\" height=\"100\" fill=\"#C8553D\"/>\n  <rect x=\"150\" y=\"250\" width=\"100\" height=\"100\" fill=\"#D4A843\"/>\n  <rect x=\"250\" y=\"250\" width=\"100\" height=\"100\" fill=\"#C8553D\"/>\n  <rect x=\"50\" y=\"250\" width=\"100\" height=\"10\" fill=\"#3D3D3D\" fill-opacity=\"0.5\"/>\n  <rect x=\"150\" y=\"250\" width=\"100\" height=\"10\" fill=\"#3D3D3D\" fill-opacity=\"0.5\"/>\n</symbol>\n<symbol id=\"rooftops-d2\" viewBox=\"0 0 400 400\">\n  <ellipse cx=\"200\" cy=\"300\" rx=\"80\" ry=\"100\" fill=\"#C8553D\"/>\n  <rect x=\"120\" y=\"200\" width=\"160\" height=\"20\" fill=\"#D4A843\"/>\n  <rect x=\"120\" y=\"380\" width=\"160\" height=\"20\" fill=\"#D4A843\"/>\n  <line x1=\"200\" y1=\"200\" x2=\"200\" y2=\"150\" stroke=\"#3D3D3D\" stroke-width=\"8\"/>\n  <ellipse cx=\"180\" cy=\"260\" rx=\"20\" ry=\"10\" fill=\"#E8D4B9\" fill-opacity=\"0.7\"/>\n</symbol>\n<symbol id=\"rooftops-d3\" viewBox=\"0 0 400 400\"><rect x=\"80\" y=\"140\" width=\"240\" height=\"260\" rx=\"40\" fill=\"#C8553D\"/><circle cx=\"200\" cy=\"120\" r=\"70\" fill=\"#D4A843\"/></symbol>\n<symbol id=\"rooftops-d4\" viewBox=\"0 0 400 400\">\n  <rect x=\"0\" y=\"200\" width=\"400\" height=\"200\" fill=\"#E8D4B9\"/>\n  <rect x=\"50\" y=\"250\" width=\"300\" height=\"30\" fill=\"#C8553D\"/>\n  <rect x=\"50\" y=\"300\" width=\"300\" height=\"30\" fill=\"#D4A843\"/>\n  <rect x=\"50\" y=\"350\" width=\"300\" height=\"30\" fill=\"#C8553D\"/>\n  <rect x=\"50\" y=\"250\" width=\"300\" height=\"5\" fill=\"#E8D4B9\" fill-opacity=\"0.6\"/>\n  <rect x=\"50\" y=\"300\" width=\"300\" height=\"5\" fill=\"#E8D4B9\" fill-opacity=\"0.6\"/>\n</symbol>\n<symbol id=\"courtyard--day\" viewBox=\"0 0 1920 1080\">\n<rect width=\"1920\" height=\"601.6\" fill=\"url(#courtyard--day-sky)\"/>\n<circle cx=\"1382.4\" cy=\"172.8\" r=\"260\" fill=\"url(#courtyard--day-sunglow)\"/><circle cx=\"1382.4\" cy=\"172.8\" r=\"62\" fill=\"#fff4c9\"/>\n<g fill=\"#ffffff\" fill-opacity=\"0.85\"><ellipse cx=\"206.7\" cy=\"184.5\" rx=\"110\" ry=\"34\"/><ellipse cx=\"266.7\" cy=\"162.5\" rx=\"70\" ry=\"38\"/><ellipse cx=\"156.7\" cy=\"172.5\" rx=\"60\" ry=\"30\"/></g>\n<g fill=\"#ffffff\" fill-opacity=\"0.85\"><ellipse cx=\"519.7\" cy=\"156.3\" rx=\"110\" ry=\"34\"/><ellipse cx=\"579.7\" cy=\"134.3\" rx=\"70\" ry=\"38\"/><ellipse cx=\"469.7\" cy=\"144.3\" rx=\"60\" ry=\"30\"/></g>\n<g fill=\"#ffffff\" fill-opacity=\"0.85\"><ellipse cx=\"860\" cy=\"208\" rx=\"110\" ry=\"34\"/><ellipse cx=\"920\" cy=\"186\" rx=\"70\" ry=\"38\"/><ellipse cx=\"810\" cy=\"196\" rx=\"60\" ry=\"30\"/></g>\n<path d=\"M0 521.6 Q384 411.6 806.4 501.6 T1536 471.6 T1920 511.6 L1920 601.6 L0 601.6 Z\" fill=\"#e4eae4\"/>\n<rect y=\"551.6\" width=\"1920\" height=\"297.6\" fill=\"url(#courtyard--day-midground)\"/>\n<circle cx=\"124.3\" cy=\"647.9\" r=\"71.3\" fill=\"#94b59b\"/>\n<circle cx=\"394.2\" cy=\"658.1\" r=\"77.9\" fill=\"#94b59b\"/>\n<circle cx=\"689.4\" cy=\"674.9\" r=\"96.7\" fill=\"#94b59b\"/>\n<circle cx=\"954.5\" cy=\"643.8\" r=\"88.8\" fill=\"#94b59b\"/>\n<circle cx=\"1251.4\" cy=\"662.6\" r=\"84\" fill=\"#94b59b\"/>\n<circle cx=\"1517.6\" cy=\"656.8\" r=\"72.8\" fill=\"#94b59b\"/>\n<circle cx=\"1764.7\" cy=\"653.3\" r=\"85.5\" fill=\"#94b59b\"/>\n<path d=\"M0 799.2 Q672 773.2 1152 793.2 T1920 785.2 L1920 1080 L0 1080 Z\" fill=\"url(#courtyard--day-ground)\"/>\n<path d=\"M958.4 912.5 l-6 -18 M958.4 912.5 l4 -22 M958.4 912.5 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1641.3 951.5 l-6 -18 M1641.3 951.5 l4 -22 M1641.3 951.5 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M16.3 1028.4 l-6 -18 M16.3 1028.4 l4 -22 M16.3 1028.4 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1222.5 994.3 l-6 -18 M1222.5 994.3 l4 -22 M1222.5 994.3 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1223.6 984 l-6 -18 M1223.6 984 l4 -22 M1223.6 984 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1035.1 899.8 l-6 -18 M1035.1 899.8 l4 -22 M1035.1 899.8 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1524.2 851.8 l-6 -18 M1524.2 851.8 l4 -22 M1524.2 851.8 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M199.1 829.7 l-6 -18 M199.1 829.7 l4 -22 M199.1 829.7 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1335.4 909.7 l-6 -18 M1335.4 909.7 l4 -22 M1335.4 909.7 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M680 957.2 l-6 -18 M680 957.2 l4 -22 M680 957.2 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1016.5 849.9 l-6 -18 M1016.5 849.9 l4 -22 M1016.5 849.9 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M284.2 963.2 l-6 -18 M284.2 963.2 l4 -22 M284.2 963.2 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M74.5 1034 l-6 -18 M74.5 1034 l4 -22 M74.5 1034 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1258.3 840.9 l-6 -18 M1258.3 840.9 l4 -22 M1258.3 840.9 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M940 926.2 l-6 -18 M940 926.2 l4 -22 M940 926.2 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1914.9 1057.9 l-6 -18 M1914.9 1057.9 l4 -22 M1914.9 1057.9 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1789.7 830.2 l-6 -18 M1789.7 830.2 l4 -22 M1789.7 830.2 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1598.7 1000.4 l-6 -18 M1598.7 1000.4 l4 -22 M1598.7 1000.4 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M305.2 851.4 l-6 -18 M305.2 851.4 l4 -22 M305.2 851.4 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M662 1061.9 l-6 -18 M662 1061.9 l4 -22 M662 1061.9 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1662.1 905.6 l-6 -18 M1662.1 905.6 l4 -22 M1662.1 905.6 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M280.8 900.8 l-6 -18 M280.8 900.8 l4 -22 M280.8 900.8 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M421.2 1054.1 l-6 -18 M421.2 1054.1 l4 -22 M421.2 1054.1 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M884.4 874.3 l-6 -18 M884.4 874.3 l4 -22 M884.4 874.3 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1653.4 866.5 l-6 -18 M1653.4 866.5 l4 -22 M1653.4 866.5 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1030.8 819.6 l-6 -18 M1030.8 819.6 l4 -22 M1030.8 819.6 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1562.2 910.9 l-6 -18 M1562.2 910.9 l4 -22 M1562.2 910.9 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M598.5 1001.1 l-6 -18 M598.5 1001.1 l4 -22 M598.5 1001.1 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M194.7 1005 l-6 -18 M194.7 1005 l4 -22 M194.7 1005 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M329 1030 l-6 -18 M329 1030 l4 -22 M329 1030 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1157.5 845.7 l-6 -18 M1157.5 845.7 l4 -22 M1157.5 845.7 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1670.6 832.3 l-6 -18 M1670.6 832.3 l4 -22 M1670.6 832.3 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M416.2 903.9 l-6 -18 M416.2 903.9 l4 -22 M416.2 903.9 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M811.9 886.7 l-6 -18 M811.9 886.7 l4 -22 M811.9 886.7 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M463 977.9 l-6 -18 M463 977.9 l4 -22 M463 977.9 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1388.7 1010.9 l-6 -18 M1388.7 1010.9 l4 -22 M1388.7 1010.9 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M127.8 905.7 l-6 -18 M127.8 905.7 l4 -22 M127.8 905.7 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M811.7 919 l-6 -18 M811.7 919 l4 -22 M811.7 919 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1744.7 824.6 l-6 -18 M1744.7 824.6 l4 -22 M1744.7 824.6 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M502.8 986 l-6 -18 M502.8 986 l4 -22 M502.8 986 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M966.6 986.1 l-6 -18 M966.6 986.1 l4 -22 M966.6 986.1 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M669 833.3 l-6 -18 M669 833.3 l4 -22 M669 833.3 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1645 841.2 l-6 -18 M1645 841.2 l4 -22 M1645 841.2 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1087.4 895.2 l-6 -18 M1087.4 895.2 l4 -22 M1087.4 895.2 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1374.5 877.1 l-6 -18 M1374.5 877.1 l4 -22 M1374.5 877.1 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M1206.1 978 l-6 -18 M1206.1 978 l4 -22 M1206.1 978 l10 -14\" stroke=\"#333336\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"268.8\" cy=\"805.2\" rx=\"46\" ry=\"10\" fill=\"#593f2e\"/><rect x=\"262.8\" y=\"619.2\" width=\"12\" height=\"186\" fill=\"#8b8f96\"/>\n<ellipse cx=\"268.8\" cy=\"739.2\" rx=\"34\" ry=\"8\" fill=\"none\" stroke=\"#8b8f96\" stroke-width=\"5\"/>\n<rect x=\"216.8\" y=\"597.2\" width=\"104\" height=\"26\" rx=\"13\" fill=\"#834830\"/><rect x=\"220.8\" y=\"617.2\" width=\"96\" height=\"8\" rx=\"4\" fill=\"#593f2e\"/>\n<rect x=\"1491.2\" y=\"619.2\" width=\"320\" height=\"190\" rx=\"8\" fill=\"url(#courtyard--day-stove-body-1651)\"/>\n<rect x=\"1481.2\" y=\"609.2\" width=\"340\" height=\"18\" rx=\"4\" fill=\"#faf3e4\"/>\n<rect x=\"1501.2\" y=\"644.2\" width=\"142\" height=\"150\" rx=\"6\" fill=\"none\" stroke=\"#593f2e\" stroke-opacity=\"0.45\" stroke-width=\"4\"/><circle cx=\"1626.2\" cy=\"719.2\" r=\"5\" fill=\"#593f2e\"/>\n<rect x=\"1649.2\" y=\"644.2\" width=\"142\" height=\"150\" rx=\"6\" fill=\"none\" stroke=\"#593f2e\" stroke-opacity=\"0.45\" stroke-width=\"4\"/><circle cx=\"1774.2\" cy=\"719.2\" r=\"5\" fill=\"#593f2e\"/>\n<ellipse cx=\"1581.2\" cy=\"604.2\" rx=\"50\" ry=\"10\" fill=\"#2b2530\"/>\n<ellipse cx=\"1721.2\" cy=\"604.2\" rx=\"50\" ry=\"10\" fill=\"#2b2530\"/>\n<path d=\"M1551.2 595.2 h80 v-60 a40 20 0 0 0 -80 0 Z\" fill=\"#5a4842\"/>\n<path d=\"M1591.2 509.2 q14 -20 0 -40 q-14 -20 0 -40\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.5\" stroke-width=\"5\" stroke-linecap=\"round\"/>\n<path d=\"M586.4 723.2 L642.4 723.2 L635.4 779.2 L593.4 779.2 Z\" fill=\"#965835\"/>\n<path d=\"M614.4 723.2 Q587.8 699.7 547.2 676.1\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q594.7 687.4 561 651.5\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q605.8 676.1 583.2 629\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q621.4 683.6 614.4 644\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q634.3 684.2 640.3 645.2\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q644.9 691.6 661.5 659.9\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<path d=\"M614.4 723.2 Q657.7 697.8 687 672.4\" fill=\"none\" stroke=\"#5a8d60\" stroke-width=\"6.3\" stroke-linecap=\"round\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"url(#courtyard--day-vignette)\"/>\n</symbol>\n<symbol id=\"an--sit-neutral\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--sit-neutral-torso\"><path d=\"M129.2 314.3 Q129.2 298.3 149.2 296.3 L250.8 296.3 Q270.8 298.3 270.8 314.3 Q288.8 391.3 267 494.3 L133 494.3 Q111.2 391.3 129.2 314.3 Z\"/></clipPath>\n<ellipse cx=\"242.7\" cy=\"594\" rx=\"164.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"117.7\" y=\"493.7\" width=\"182.9\" height=\"18\" rx=\"7\" fill=\"#9a6a43\"/>\n<rect x=\"122.9\" y=\"507.7\" width=\"14\" height=\"82.3\" rx=\"5\" fill=\"#7a5233\"/>\n<rect x=\"279.6\" y=\"507.7\" width=\"14\" height=\"82.3\" rx=\"5\" fill=\"#7a5233\"/>\n<path d=\"M183.9 475.3 L289.6 486.3\" fill=\"none\" stroke=\"#c3b39f\" stroke-width=\"38\" stroke-linecap=\"round\"/>\n<path d=\"M289.6 486.3 L285.6 576\" fill=\"none\" stroke=\"#c3b39f\" stroke-width=\"28\" stroke-linecap=\"round\"/>\n<ellipse cx=\"299.6\" cy=\"586\" rx=\"26.6\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M203.9 481.3 L299.6 498.3\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"38\" stroke-linecap=\"round\"/>\n<path d=\"M299.6 498.3 L295.6 576\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"28\" stroke-linecap=\"round\"/>\n<ellipse cx=\"309.6\" cy=\"586\" rx=\"26.6\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 316.3 Q117.2 396.3 218.3 476.3\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 316.3 Q282.8 396.3 258 476.3\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 314.3 Q129.2 298.3 149.2 296.3 L250.8 296.3 Q270.8 298.3 270.8 314.3 Q288.8 391.3 267 494.3 L133 494.3 Q111.2 391.3 129.2 314.3 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"292.3\" width=\"115\" height=\"204\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--sit-neutral-torso)\"/>\n<path d=\"M200 298.3 L200 490.3\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 297.3 Q200 322.3 224 297.3\" fill=\"#c9b49c\"/>\n<circle cx=\"218.3\" cy=\"480.3\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"258\" cy=\"480.3\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"278.3\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"223.9\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"223.9\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"214.3\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"223.9\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"219.9\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 202.3 Q171.2 195.1 183.2 202.3\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"247.9\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228.8\" cy=\"223.9\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"219.9\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 202.3 Q228.8 195.1 240.8 202.3\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"247.9\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"238.3\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M186.4 252.7 Q200 264.7 213.6 252.7\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M117 220.3 Q118 124.3 200 124.3 Q282 124.3 283 220.3 Q244 180.7 204 174.3 Q152 182.3 117 220.3 Z\" fill=\"#000000\"/>\n<path d=\"M160 138.3 Q192 128.3 224 136.3\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"grandma--sit-smile\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--sit-smile-torso\"><path d=\"M138 279.1 Q138 263.1 158 261.1 L242 261.1 Q262 263.1 262 279.1 Q262 362.1 267.5 471.1 L132.5 471.1 Q138 362.1 138 279.1 Z\"/></clipPath>\n<ellipse cx=\"237.8\" cy=\"594\" rx=\"145.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"127.1\" y=\"468.3\" width=\"162.6\" height=\"18\" rx=\"7\" fill=\"#9a6a43\"/>\n<rect x=\"130.9\" y=\"482.3\" width=\"14\" height=\"107.7\" rx=\"5\" fill=\"#7a5233\"/>\n<rect x=\"268.7\" y=\"482.3\" width=\"14\" height=\"107.7\" rx=\"5\" fill=\"#7a5233\"/>\n<path d=\"M184.6 452.1 L278.7 461.1\" fill=\"none\" stroke=\"#426a50\" stroke-width=\"34\" stroke-linecap=\"round\"/>\n<path d=\"M278.7 461.1 L274.7 576\" fill=\"none\" stroke=\"#426a50\" stroke-width=\"24\" stroke-linecap=\"round\"/>\n<ellipse cx=\"288.7\" cy=\"586\" rx=\"22.8\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M204.6 458.1 L288.7 473.1\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"34\" stroke-linecap=\"round\"/>\n<path d=\"M288.7 473.1 L284.7 576\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"24\" stroke-linecap=\"round\"/>\n<ellipse cx=\"298.7\" cy=\"586\" rx=\"22.8\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 281.1 Q126 367.1 216.2 453.1\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 281.1 Q274 367.1 251.3 453.1\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 279.1 Q138 263.1 158 261.1 L242 261.1 Q262 263.1 262 279.1 Q262 362.1 267.5 471.1 L132.5 471.1 Q138 362.1 138 279.1 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"257.1\" width=\"97.5\" height=\"216\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--sit-smile-torso)\"/>\n<path d=\"M184 309.1 L174 471.1 M216 309.1 L226 471.1\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"216.2\" cy=\"457.1\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"251.3\" cy=\"457.1\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"246.3\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"216.4\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"216.4\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"211.1\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"184.2\" cy=\"216.4\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M177.6 204.5 Q184.2 200.6 190.8 204.5\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"229.6\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M177.1 215.5 l-4.4 -2.2 M177.1 219 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.8\" cy=\"216.4\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M209.2 204.5 Q215.8 200.6 222.4 204.5\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"229.6\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M222.9 215.5 l4.4 -2.2 M222.9 219 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"224.3\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M190.3 232.2 Q200 242.8 209.7 232.2\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 217.1 Q154 157.1 200 157.1 Q246 157.1 247 217.1 Q224.2 192.6 202.2 189.1 Q173.6 193.5 153 217.1 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 171.1 Q195.6 161.1 213.2 169.1\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"155.1\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"grandma--hold-smile\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--hold-smile-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--hold-smile-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<path d=\"M148 182 L140 218 L178 240\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M140 218 L178 240\" fill=\"none\" stroke=\"#40664e\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<path d=\"M252 182 L260 218 L222 240\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M260 218 L222 240\" fill=\"none\" stroke=\"#40664e\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<circle cx=\"178\" cy=\"244\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"222\" cy=\"244\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"184.2\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M177.6 105.4 Q184.2 101.4 190.8 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"130.5\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M177.1 116.4 l-4.4 -2.2 M177.1 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.8\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M209.2 105.4 Q215.8 101.4 222.4 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"130.5\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M222.9 116.4 l4.4 -2.2 M222.9 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"125.2\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M190.3 133.1 Q200 143.7 209.7 133.1\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"an--look-right-neutral\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--look-right-neutral-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n<g transform=\"translate(11.2 0)\">\n</g>\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 234 Q113.2 291 115.2 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 234 Q286.8 291 284.8 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--look-right-neutral-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<circle cx=\"115.2\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"284.8\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n<g transform=\"translate(11.2 0)\">\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"147.2\" cy=\"127.2\" rx=\"32\" ry=\"70.4\" fill=\"#000000\"/>\n<ellipse cx=\"176\" cy=\"143.2\" rx=\"12\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"195.2\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"198\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M183.2 120 Q195.2 112.8 207.2 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<ellipse cx=\"252.8\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"255.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M240.8 120 Q252.8 112.8 264.8 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"268.8\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228\" cy=\"156\" rx=\"7.2\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M210.4 170.4 Q224 182.4 237.6 170.4\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n</g>\n</symbol>\n<symbol id=\"an--hold-surprised\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--hold-surprised-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--hold-surprised-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<path d=\"M139.2 234 L131.2 270 L178 292\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M131.2 270 L178 292\" fill=\"none\" stroke=\"#bbab99\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<path d=\"M260.8 234 L268.8 270 L222 292\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M268.8 270 L222 292\" fill=\"none\" stroke=\"#bbab99\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<circle cx=\"178\" cy=\"296\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"222\" cy=\"296\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 112.8 Q171.2 105.6 183.2 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228.8\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 112.8 Q228.8 105.6 240.8 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<ellipse cx=\"200\" cy=\"173.6\" rx=\"7.2\" ry=\"9.6\" fill=\"#7a2a22\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"grandma--point-smile\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--point-smile-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 182 Q122 245 124 348\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 182 Q318 176 374 196\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--point-smile-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"124\" cy=\"352\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"374\" cy=\"200\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"184.2\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M177.6 105.4 Q184.2 101.4 190.8 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"130.5\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M177.1 116.4 l-4.4 -2.2 M177.1 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.8\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M209.2 105.4 Q215.8 101.4 222.4 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"130.5\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M222.9 116.4 l4.4 -2.2 M222.9 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"125.2\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M190.3 133.1 Q200 143.7 209.7 133.1\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"an--hold-smile\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--hold-smile-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--hold-smile-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<path d=\"M139.2 234 L131.2 270 L178 292\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M131.2 270 L178 292\" fill=\"none\" stroke=\"#bbab99\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<path d=\"M260.8 234 L268.8 270 L222 292\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M268.8 270 L222 292\" fill=\"none\" stroke=\"#bbab99\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<circle cx=\"178\" cy=\"296\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"222\" cy=\"296\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 120 Q171.2 112.8 183.2 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"15.2\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<ellipse cx=\"228.8\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 120 Q228.8 112.8 240.8 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"15.2\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M182.4 170.4 Q200 189.6 217.6 170.4\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"grandma--wave-laugh\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--wave-laugh-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 182 Q122 245 124 348\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 182 Q332 160 314 103.2\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--wave-laugh-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"124\" cy=\"352\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"314\" cy=\"107.2\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<path d=\"M178.4 117.3 Q184.2 113.1 189.9 117.3\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M177.6 105.4 Q184.2 101.4 190.8 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"130.5\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M177.1 116.4 l-4.4 -2.2 M177.1 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M210.1 117.3 Q215.8 113.1 221.6 117.3\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M209.2 105.4 Q215.8 101.4 222.4 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"130.5\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M222.9 116.4 l4.4 -2.2 M222.9 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"125.2\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M190.3 131.4 L209.7 131.4 Q200 146.3 190.3 131.4 Z\" fill=\"#7a2a22\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"grandma--sit-neutral\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--sit-neutral-torso\"><path d=\"M138 279.1 Q138 263.1 158 261.1 L242 261.1 Q262 263.1 262 279.1 Q262 362.1 267.5 471.1 L132.5 471.1 Q138 362.1 138 279.1 Z\"/></clipPath>\n<ellipse cx=\"237.8\" cy=\"594\" rx=\"145.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"127.1\" y=\"468.3\" width=\"162.6\" height=\"18\" rx=\"7\" fill=\"#9a6a43\"/>\n<rect x=\"130.9\" y=\"482.3\" width=\"14\" height=\"107.7\" rx=\"5\" fill=\"#7a5233\"/>\n<rect x=\"268.7\" y=\"482.3\" width=\"14\" height=\"107.7\" rx=\"5\" fill=\"#7a5233\"/>\n<path d=\"M184.6 452.1 L278.7 461.1\" fill=\"none\" stroke=\"#426a50\" stroke-width=\"34\" stroke-linecap=\"round\"/>\n<path d=\"M278.7 461.1 L274.7 576\" fill=\"none\" stroke=\"#426a50\" stroke-width=\"24\" stroke-linecap=\"round\"/>\n<ellipse cx=\"288.7\" cy=\"586\" rx=\"22.8\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M204.6 458.1 L288.7 473.1\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"34\" stroke-linecap=\"round\"/>\n<path d=\"M288.7 473.1 L284.7 576\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"24\" stroke-linecap=\"round\"/>\n<ellipse cx=\"298.7\" cy=\"586\" rx=\"22.8\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 281.1 Q126 367.1 216.2 453.1\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 281.1 Q274 367.1 251.3 453.1\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 279.1 Q138 263.1 158 261.1 L242 261.1 Q262 263.1 262 279.1 Q262 362.1 267.5 471.1 L132.5 471.1 Q138 362.1 138 279.1 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"257.1\" width=\"97.5\" height=\"216\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--sit-neutral-torso)\"/>\n<path d=\"M184 309.1 L174 471.1 M216 309.1 L226 471.1\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"216.2\" cy=\"457.1\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"251.3\" cy=\"457.1\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"246.3\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"216.4\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"216.4\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"211.1\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"184.2\" cy=\"216.4\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M177.6 204.5 Q184.2 200.6 190.8 204.5\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"229.6\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M177.1 215.5 l-4.4 -2.2 M177.1 219 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.8\" cy=\"216.4\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M209.2 204.5 Q215.8 200.6 222.4 204.5\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"229.6\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M222.9 215.5 l4.4 -2.2 M222.9 219 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"224.3\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M192.5 232.2 Q200 238.8 207.5 232.2\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 217.1 Q154 157.1 200 157.1 Q246 157.1 247 217.1 Q224.2 192.6 202.2 189.1 Q173.6 193.5 153 217.1 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 171.1 Q195.6 161.1 213.2 169.1\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"155.1\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"an--look-left-surprised\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--look-left-surprised-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n<g transform=\"translate(-11.2 0)\">\n</g>\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 234 Q113.2 291 115.2 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 234 Q286.8 291 284.8 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--look-left-surprised-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<circle cx=\"115.2\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"284.8\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n<g transform=\"translate(-11.2 0)\">\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"252.8\" cy=\"127.2\" rx=\"32\" ry=\"70.4\" fill=\"#000000\"/>\n<ellipse cx=\"224\" cy=\"143.2\" rx=\"12\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"147.2\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"150\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M135.2 112.8 Q147.2 105.6 159.2 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"131.2\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"204.8\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"207.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M192.8 112.8 Q204.8 105.6 216.8 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<ellipse cx=\"172\" cy=\"156\" rx=\"7.2\" ry=\"4\" fill=\"#c9b49c\"/>\n<ellipse cx=\"176\" cy=\"173.6\" rx=\"7.2\" ry=\"9.6\" fill=\"#7a2a22\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n</g>\n</symbol>\n<symbol id=\"an--look-right-surprised\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--look-right-surprised-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n<g transform=\"translate(11.2 0)\">\n</g>\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 234 Q113.2 291 115.2 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 234 Q286.8 291 284.8 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--look-right-surprised-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<circle cx=\"115.2\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"284.8\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n<g transform=\"translate(11.2 0)\">\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"147.2\" cy=\"127.2\" rx=\"32\" ry=\"70.4\" fill=\"#000000\"/>\n<ellipse cx=\"176\" cy=\"143.2\" rx=\"12\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"195.2\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"198\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M183.2 112.8 Q195.2 105.6 207.2 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<ellipse cx=\"252.8\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"255.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M240.8 112.8 Q252.8 105.6 264.8 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"268.8\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228\" cy=\"156\" rx=\"7.2\" ry=\"4\" fill=\"#c9b49c\"/>\n<ellipse cx=\"224\" cy=\"173.6\" rx=\"7.2\" ry=\"9.6\" fill=\"#7a2a22\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n</g>\n</symbol>\n<symbol id=\"an--hug-sleepy\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--hug-sleepy-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 234 Q89.2 268 71.2 258\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 234 Q310.8 268 328.8 258\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--hug-sleepy-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<circle cx=\"71.2\" cy=\"262\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"328.8\" cy=\"262\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<path d=\"M160.8 141.6 Q171.2 148.3 181.6 141.6\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M159.2 120 Q171.2 112.8 183.2 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M218.4 141.6 Q228.8 148.3 239.2 141.6\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M216.8 120 Q228.8 112.8 240.8 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M190.9 172.8 L209.1 172.8\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"4\" stroke-linecap=\"round\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"grandma--hug-neutral\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--hug-neutral-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 182 Q98 216 80 206\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 182 Q302 216 320 206\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--hug-neutral-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"80\" cy=\"210\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"320\" cy=\"210\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"184.2\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M177.6 105.4 Q184.2 101.4 190.8 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M177.1 116.4 l-4.4 -2.2 M177.1 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.8\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M209.2 105.4 Q215.8 101.4 222.4 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M222.9 116.4 l4.4 -2.2 M222.9 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"125.2\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M192.5 133.1 Q200 139.7 207.5 133.1\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"an--walk_a-surprised\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--walk_a-surprised-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"186\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\" transform=\"rotate(-16 200 386)\"/>\n<ellipse cx=\"258.6\" cy=\"578.3\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"186\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#c3b39f\" transform=\"rotate(16 200 386)\"/>\n<ellipse cx=\"149.4\" cy=\"578.3\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 234 Q111.2 291 97.2 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 234 Q288.8 291 302.8 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--walk_a-surprised-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<circle cx=\"97.2\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"302.8\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 112.8 Q171.2 105.6 183.2 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228.8\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 112.8 Q228.8 105.6 240.8 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<ellipse cx=\"200\" cy=\"173.6\" rx=\"7.2\" ry=\"9.6\" fill=\"#7a2a22\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"an--walk_b-surprised\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--walk_b-surprised-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"186\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\" transform=\"rotate(16 200 386)\"/>\n<ellipse cx=\"149.4\" cy=\"578.3\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"186\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#c3b39f\" transform=\"rotate(-16 200 386)\"/>\n<ellipse cx=\"258.6\" cy=\"578.3\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 234 Q111.2 291 141.2 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 234 Q288.8 291 258.8 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--walk_b-surprised-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<circle cx=\"141.2\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"258.8\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 112.8 Q171.2 105.6 183.2 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228.8\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 112.8 Q228.8 105.6 240.8 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<ellipse cx=\"200\" cy=\"173.6\" rx=\"7.2\" ry=\"9.6\" fill=\"#7a2a22\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"an--kneel-neutral\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--kneel-neutral-torso\"><path d=\"M129.2 353.5 Q129.2 337.5 149.2 335.5 L250.8 335.5 Q270.8 337.5 270.8 353.5 Q288.8 430.5 267 527.5 L133 527.5 Q111.2 430.5 129.2 353.5 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"128.1\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<ellipse cx=\"108.5\" cy=\"585\" rx=\"23.8\" ry=\"11.8\" fill=\"#2b2530\" stroke=\"#27222d\" stroke-width=\"1.5\"/>\n<ellipse cx=\"291.5\" cy=\"585\" rx=\"23.8\" ry=\"11.8\" fill=\"#2b2530\" stroke=\"#27222d\" stroke-width=\"1.5\"/>\n<path d=\"M102.4 588 Q93.3 521.5 148.2 507.5 L251.9 507.5 Q306.8 521.5 297.6 588 Z\" fill=\"#e8d4b9\"/>\n<path d=\"M102.4 588 Q93.3 521.5 148.2 507.5 Q126.8 527.5 123.8 588 Z\" fill=\"#bbab99\" fill-opacity=\"0.55\"/>\n<ellipse cx=\"162.2\" cy=\"576\" rx=\"26.6\" ry=\"15.4\" fill=\"#ecdbc4\"/>\n<path d=\"M297.6 588 Q306.8 521.5 251.9 507.5 Q273.2 527.5 276.3 588 Z\" fill=\"#bbab99\" fill-opacity=\"0.55\"/>\n<ellipse cx=\"237.8\" cy=\"576\" rx=\"26.6\" ry=\"15.4\" fill=\"#ecdbc4\"/>\n<path d=\"M200 523.5 L200 586\" stroke=\"#bbab99\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M139.2 355.5 Q117.2 449.5 156.1 543.5\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 355.5 Q282.8 449.5 243.9 543.5\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 353.5 Q129.2 337.5 149.2 335.5 L250.8 335.5 Q270.8 337.5 270.8 353.5 Q288.8 430.5 267 527.5 L133 527.5 Q111.2 430.5 129.2 353.5 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"331.5\" width=\"115\" height=\"198\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--kneel-neutral-torso)\"/>\n<path d=\"M200 337.5 L200 523.5\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 336.5 Q200 361.5 224 336.5\" fill=\"#c9b49c\"/>\n<circle cx=\"156.1\" cy=\"547.5\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"243.9\" cy=\"547.5\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"317.5\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"263.1\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"263.1\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"253.5\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"263.1\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"259.1\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 241.5 Q171.2 234.3 183.2 241.5\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"287.1\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228.8\" cy=\"263.1\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"259.1\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 241.5 Q228.8 234.3 240.8 241.5\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"287.1\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"277.5\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M186.4 291.9 Q200 303.9 213.6 291.9\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M117 259.5 Q118 163.5 200 163.5 Q282 163.5 283 259.5 Q244 219.9 204 213.5 Q152 221.5 117 259.5 Z\" fill=\"#000000\"/>\n<path d=\"M160 177.5 Q192 167.5 224 175.5\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"grandma--hold-neutral\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--hold-neutral-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--hold-neutral-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<path d=\"M148 182 L140 218 L178 240\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M140 218 L178 240\" fill=\"none\" stroke=\"#40664e\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<path d=\"M252 182 L260 218 L222 240\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M260 218 L222 240\" fill=\"none\" stroke=\"#40664e\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<circle cx=\"178\" cy=\"244\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"222\" cy=\"244\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"184.2\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M177.6 105.4 Q184.2 101.4 190.8 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M177.1 116.4 l-4.4 -2.2 M177.1 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.8\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M209.2 105.4 Q215.8 101.4 222.4 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M222.9 116.4 l4.4 -2.2 M222.9 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"125.2\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M192.5 133.1 Q200 139.7 207.5 133.1\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"an--hold-neutral\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--hold-neutral-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--hold-neutral-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<path d=\"M139.2 234 L131.2 270 L178 292\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M131.2 270 L178 292\" fill=\"none\" stroke=\"#bbab99\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<path d=\"M260.8 234 L268.8 270 L222 292\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M268.8 270 L222 292\" fill=\"none\" stroke=\"#bbab99\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<circle cx=\"178\" cy=\"296\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"222\" cy=\"296\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 120 Q171.2 112.8 183.2 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228.8\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 120 Q228.8 112.8 240.8 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M186.4 170.4 Q200 182.4 213.6 170.4\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"an--sit-surprised\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--sit-surprised-torso\"><path d=\"M129.2 314.3 Q129.2 298.3 149.2 296.3 L250.8 296.3 Q270.8 298.3 270.8 314.3 Q288.8 391.3 267 494.3 L133 494.3 Q111.2 391.3 129.2 314.3 Z\"/></clipPath>\n<ellipse cx=\"242.7\" cy=\"594\" rx=\"164.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"117.7\" y=\"493.7\" width=\"182.9\" height=\"18\" rx=\"7\" fill=\"#9a6a43\"/>\n<rect x=\"122.9\" y=\"507.7\" width=\"14\" height=\"82.3\" rx=\"5\" fill=\"#7a5233\"/>\n<rect x=\"279.6\" y=\"507.7\" width=\"14\" height=\"82.3\" rx=\"5\" fill=\"#7a5233\"/>\n<path d=\"M183.9 475.3 L289.6 486.3\" fill=\"none\" stroke=\"#c3b39f\" stroke-width=\"38\" stroke-linecap=\"round\"/>\n<path d=\"M289.6 486.3 L285.6 576\" fill=\"none\" stroke=\"#c3b39f\" stroke-width=\"28\" stroke-linecap=\"round\"/>\n<ellipse cx=\"299.6\" cy=\"586\" rx=\"26.6\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M203.9 481.3 L299.6 498.3\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"38\" stroke-linecap=\"round\"/>\n<path d=\"M299.6 498.3 L295.6 576\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"28\" stroke-linecap=\"round\"/>\n<ellipse cx=\"309.6\" cy=\"586\" rx=\"26.6\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 316.3 Q117.2 396.3 218.3 476.3\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 316.3 Q282.8 396.3 258 476.3\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 314.3 Q129.2 298.3 149.2 296.3 L250.8 296.3 Q270.8 298.3 270.8 314.3 Q288.8 391.3 267 494.3 L133 494.3 Q111.2 391.3 129.2 314.3 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"292.3\" width=\"115\" height=\"204\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--sit-surprised-torso)\"/>\n<path d=\"M200 298.3 L200 490.3\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 297.3 Q200 322.3 224 297.3\" fill=\"#c9b49c\"/>\n<circle cx=\"218.3\" cy=\"480.3\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"258\" cy=\"480.3\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"278.3\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"223.9\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"223.9\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"214.3\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"223.9\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"219.9\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 195.1 Q171.2 187.9 183.2 195.1\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"247.9\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228.8\" cy=\"223.9\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"219.9\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 195.1 Q228.8 187.9 240.8 195.1\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"247.9\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"238.3\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<ellipse cx=\"200\" cy=\"255.9\" rx=\"7.2\" ry=\"9.6\" fill=\"#7a2a22\"/>\n<path d=\"M117 220.3 Q118 124.3 200 124.3 Q282 124.3 283 220.3 Q244 180.7 204 174.3 Q152 182.3 117 220.3 Z\" fill=\"#000000\"/>\n<path d=\"M160 138.3 Q192 128.3 224 136.3\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"grandma--point-neutral\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--point-neutral-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 182 Q122 245 124 348\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 182 Q318 176 374 196\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--point-neutral-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"124\" cy=\"352\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"374\" cy=\"200\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"184.2\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M177.6 105.4 Q184.2 101.4 190.8 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M177.1 116.4 l-4.4 -2.2 M177.1 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.8\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M209.2 105.4 Q215.8 101.4 222.4 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M222.9 116.4 l4.4 -2.2 M222.9 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"125.2\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M192.5 133.1 Q200 139.7 207.5 133.1\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"grandma--hug-sleepy\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--hug-sleepy-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 182 Q98 216 80 206\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 182 Q302 216 320 206\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--hug-sleepy-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"80\" cy=\"210\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"320\" cy=\"210\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<path d=\"M178.4 117.3 Q184.2 119.4 189.9 117.3\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M177.6 105.4 Q184.2 101.4 190.8 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M177.1 116.4 l-4.4 -2.2 M177.1 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<path d=\"M210.1 117.3 Q215.8 119.4 221.6 117.3\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M209.2 105.4 Q215.8 101.4 222.4 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"130.5\" r=\"7\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M222.9 116.4 l4.4 -2.2 M222.9 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"125.2\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M195 134.4 L205 134.4\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.2\" stroke-linecap=\"round\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"an--stand-smile\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--stand-smile-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 234 Q113.2 291 115.2 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 234 Q286.8 291 284.8 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--stand-smile-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<circle cx=\"115.2\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"284.8\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 120 Q171.2 112.8 183.2 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"15.2\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<ellipse cx=\"228.8\" cy=\"141.6\" rx=\"8\" ry=\"11.2\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 120 Q228.8 112.8 240.8 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"15.2\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M182.4 170.4 Q200 189.6 217.6 170.4\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"grandma--stand-smile\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--stand-smile-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 182 Q122 245 124 348\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 182 Q278 245 276 348\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--stand-smile-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"124\" cy=\"352\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"276\" cy=\"352\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n\n<ellipse cx=\"157.8\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"242.2\" cy=\"117.3\" rx=\"7\" ry=\"9.7\" fill=\"#d4a843\"/>\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"184.2\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M177.6 105.4 Q184.2 101.4 190.8 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"175.4\" cy=\"130.5\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M177.1 116.4 l-4.4 -2.2 M177.1 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.8\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M209.2 105.4 Q215.8 101.4 222.4 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"224.6\" cy=\"130.5\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M222.9 116.4 l4.4 -2.2 M222.9 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"200\" cy=\"125.2\" rx=\"3.1\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M190.3 133.1 Q200 143.7 209.7 133.1\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n\n</symbol>\n<symbol id=\"an--hold-laugh\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--hold-laugh-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--hold-laugh-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<path d=\"M139.2 234 L131.2 270 L178 292\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M131.2 270 L178 292\" fill=\"none\" stroke=\"#bbab99\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<path d=\"M260.8 234 L268.8 270 L222 292\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M268.8 270 L222 292\" fill=\"none\" stroke=\"#bbab99\" stroke-width=\"2.5\" stroke-opacity=\"0.5\"/>\n<circle cx=\"178\" cy=\"296\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"222\" cy=\"296\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<path d=\"M160.8 141.6 Q171.2 128.2 181.6 141.6\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M159.2 120 Q171.2 112.8 183.2 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"15.2\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M218.4 141.6 Q228.8 128.2 239.2 141.6\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M216.8 120 Q228.8 112.8 240.8 120\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"15.2\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M182.4 167.2 L217.6 167.2 Q200 194.4 182.4 167.2 Z\" fill=\"#7a2a22\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"grandma--look-right-smile\" viewBox=\"0 0 400 600\">\n<clipPath id=\"grandma--look-right-smile-torso\"><path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"91.8\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n<g transform=\"translate(6.2 0)\">\n</g>\n<rect x=\"163.7\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"179.7\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<rect x=\"212.3\" y=\"346\" width=\"24\" height=\"238\" rx=\"12\" fill=\"#d4a843\"/>\n<ellipse cx=\"228.3\" cy=\"586\" rx=\"21.6\" ry=\"11\" fill=\"#3d3d3d\"/>\n<path d=\"M148 182 Q122 245 124 348\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M252 182 Q278 245 276 348\" fill=\"none\" stroke=\"#4a7c59\" stroke-width=\"19\" stroke-linecap=\"round\"/>\n<path d=\"M138 180 Q138 164 158 162 L242 162 Q262 164 262 180 Q262 263 267.5 546 L132.5 546 Q138 263 138 180 Z\" fill=\"#4a7c59\"/>\n<rect x=\"206\" y=\"158\" width=\"97.5\" height=\"390\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#grandma--look-right-smile-torso)\"/>\n<path d=\"M184 210 L174 546 M216 210 L226 546\" stroke=\"#8b5e3c\" stroke-width=\"4\"/>\n<circle cx=\"124\" cy=\"352\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<circle cx=\"276\" cy=\"352\" r=\"12.5\" fill=\"url(#grandma-skin)\"/>\n<rect x=\"189.4\" y=\"147.2\" width=\"21.1\" height=\"24.8\" fill=\"#b8903b\"/>\n<g transform=\"translate(6.2 0)\">\n<circle cx=\"200\" cy=\"112\" r=\"44\" fill=\"url(#grandma-skin)\"/>\n<ellipse cx=\"171\" cy=\"109.4\" rx=\"17.6\" ry=\"38.7\" fill=\"#c0c0c0\"/>\n<ellipse cx=\"186.8\" cy=\"118.2\" rx=\"6.6\" ry=\"9.7\" fill=\"#d4a843\"/>\n<ellipse cx=\"197.4\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M190.8 105.4 Q197.4 101.4 204 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<path d=\"M190.3 116.4 l-4.4 -2.2 M190.3 119.9 l-4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"229\" cy=\"117.3\" rx=\"4.4\" ry=\"3.5\" fill=\"#2a2233\"/>\n<path d=\"M222.4 105.4 Q229 101.4 235.6 105.4\" fill=\"none\" stroke=\"#c0c0c0\" stroke-width=\"3.1\" stroke-linecap=\"round\"/>\n<circle cx=\"237.8\" cy=\"130.5\" r=\"8.4\" fill=\"#ff8a80\" fill-opacity=\"0.55\"/>\n<path d=\"M236.1 116.4 l4.4 -2.2 M236.1 119.9 l4.4 1.3\" stroke=\"#b8903b\" stroke-width=\"3\" stroke-linecap=\"round\"/>\n<ellipse cx=\"215.4\" cy=\"125.2\" rx=\"4\" ry=\"2.2\" fill=\"#b8903b\"/>\n<path d=\"M203.5 133.1 Q213.2 143.7 222.9 133.1\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"2.6\" stroke-linecap=\"round\"/>\n<path d=\"M153 118 Q154 58 200 58 Q246 58 247 118 Q224.2 93.5 202.2 90 Q173.6 94.4 153 118 Z\" fill=\"#c0c0c0\"/>\n<path d=\"M178 72 Q195.6 62 213.2 70\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n<circle cx=\"200\" cy=\"56\" r=\"15.8\" fill=\"#c0c0c0\"/>\n</g>\n</symbol>\n<symbol id=\"an--sit-sleepy\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--sit-sleepy-torso\"><path d=\"M129.2 314.3 Q129.2 298.3 149.2 296.3 L250.8 296.3 Q270.8 298.3 270.8 314.3 Q288.8 391.3 267 494.3 L133 494.3 Q111.2 391.3 129.2 314.3 Z\"/></clipPath>\n<ellipse cx=\"242.7\" cy=\"594\" rx=\"164.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"117.7\" y=\"493.7\" width=\"182.9\" height=\"18\" rx=\"7\" fill=\"#9a6a43\"/>\n<rect x=\"122.9\" y=\"507.7\" width=\"14\" height=\"82.3\" rx=\"5\" fill=\"#7a5233\"/>\n<rect x=\"279.6\" y=\"507.7\" width=\"14\" height=\"82.3\" rx=\"5\" fill=\"#7a5233\"/>\n<path d=\"M183.9 475.3 L289.6 486.3\" fill=\"none\" stroke=\"#c3b39f\" stroke-width=\"38\" stroke-linecap=\"round\"/>\n<path d=\"M289.6 486.3 L285.6 576\" fill=\"none\" stroke=\"#c3b39f\" stroke-width=\"28\" stroke-linecap=\"round\"/>\n<ellipse cx=\"299.6\" cy=\"586\" rx=\"26.6\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M203.9 481.3 L299.6 498.3\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"38\" stroke-linecap=\"round\"/>\n<path d=\"M299.6 498.3 L295.6 576\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"28\" stroke-linecap=\"round\"/>\n<ellipse cx=\"309.6\" cy=\"586\" rx=\"26.6\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 316.3 Q117.2 396.3 218.3 476.3\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 316.3 Q282.8 396.3 258 476.3\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 314.3 Q129.2 298.3 149.2 296.3 L250.8 296.3 Q270.8 298.3 270.8 314.3 Q288.8 391.3 267 494.3 L133 494.3 Q111.2 391.3 129.2 314.3 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"292.3\" width=\"115\" height=\"204\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--sit-sleepy-torso)\"/>\n<path d=\"M200 298.3 L200 490.3\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 297.3 Q200 322.3 224 297.3\" fill=\"#c9b49c\"/>\n<circle cx=\"218.3\" cy=\"480.3\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"258\" cy=\"480.3\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"278.3\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"223.9\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"223.9\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"214.3\" r=\"80\" fill=\"url(#an-skin)\"/>\n<path d=\"M160.8 223.9 Q171.2 230.6 181.6 223.9\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M159.2 202.3 Q171.2 195.1 183.2 202.3\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"247.9\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<path d=\"M218.4 223.9 Q228.8 230.6 239.2 223.9\" fill=\"none\" stroke=\"#2a2233\" stroke-width=\"4.8\" stroke-linecap=\"round\"/>\n<path d=\"M216.8 202.3 Q228.8 195.1 240.8 202.3\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"247.9\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"238.3\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<path d=\"M190.9 255.1 L209.1 255.1\" fill=\"none\" stroke=\"#8a3a2a\" stroke-width=\"4\" stroke-linecap=\"round\"/>\n<path d=\"M117 220.3 Q118 124.3 200 124.3 Q282 124.3 283 220.3 Q244 180.7 204 174.3 Q152 182.3 117 220.3 Z\" fill=\"#000000\"/>\n<path d=\"M160 138.3 Q192 128.3 224 136.3\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>\n<symbol id=\"an--stand-surprised\" viewBox=\"0 0 400 600\">\n<clipPath id=\"an--stand-surprised-torso\"><path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\"/></clipPath>\n<ellipse cx=\"200\" cy=\"594\" rx=\"103.7\" ry=\"8\" fill=\"#1d2233\" fill-opacity=\"0.22\"/>\n\n\n<rect x=\"158.6\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"176.6\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<rect x=\"213.5\" y=\"386\" width=\"28\" height=\"198\" rx=\"14\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"231.5\" cy=\"586\" rx=\"25.2\" ry=\"11\" fill=\"#2b2530\"/>\n<path d=\"M139.2 234 Q113.2 291 115.2 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M260.8 234 Q286.8 291 284.8 388\" fill=\"none\" stroke=\"#e8d4b9\" stroke-width=\"22\" stroke-linecap=\"round\"/>\n<path d=\"M129.2 232 Q129.2 216 149.2 214 L250.8 214 Q270.8 216 270.8 232 Q288.8 309 267 418 L133 418 Q111.2 309 129.2 232 Z\" fill=\"#e8d4b9\"/>\n<rect x=\"206\" y=\"210\" width=\"115\" height=\"210\" fill=\"#1d1a26\" fill-opacity=\"0.13\" clip-path=\"url(#an--stand-surprised-torso)\"/>\n<path d=\"M200 216 L200 414\" stroke=\"#8b5e3c\" stroke-width=\"5\"/>\n<path d=\"M176 215 Q200 240 224 215\" fill=\"#c9b49c\"/>\n<circle cx=\"115.2\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<circle cx=\"284.8\" cy=\"392\" r=\"14.5\" fill=\"url(#an-skin)\"/>\n<rect x=\"180.8\" y=\"196\" width=\"38.4\" height=\"28\" fill=\"#c9b49c\"/>\n\n<ellipse cx=\"123.2\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<ellipse cx=\"276.8\" cy=\"141.6\" rx=\"12.8\" ry=\"17.6\" fill=\"#e8d4b9\"/>\n<circle cx=\"200\" cy=\"132\" r=\"80\" fill=\"url(#an-skin)\"/>\n<ellipse cx=\"171.2\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"174\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M159.2 112.8 Q171.2 105.6 183.2 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"155.2\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"228.8\" cy=\"141.6\" rx=\"10.4\" ry=\"14.6\" fill=\"#2a2233\"/>\n<circle cx=\"231.6\" cy=\"137.6\" r=\"3.6\" fill=\"#ffffff\"/>\n<path d=\"M216.8 112.8 Q228.8 105.6 240.8 112.8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"5.6\" stroke-linecap=\"round\"/>\n<circle cx=\"244.8\" cy=\"165.6\" r=\"12.8\" fill=\"#ff8a80\" fill-opacity=\"0.4\"/>\n<ellipse cx=\"200\" cy=\"156\" rx=\"5.6\" ry=\"4\" fill=\"#c9b49c\"/>\n<ellipse cx=\"200\" cy=\"173.6\" rx=\"7.2\" ry=\"9.6\" fill=\"#7a2a22\"/>\n<path d=\"M117 138 Q118 42 200 42 Q282 42 283 138 Q244 98.4 204 92 Q152 100 117 138 Z\" fill=\"#000000\"/>\n<path d=\"M160 56 Q192 46 224 54\" fill=\"none\" stroke=\"#ffffff\" stroke-opacity=\"0.25\" stroke-width=\"6\" stroke-linecap=\"round\"/>\n\n</symbol>",
  "kits": "{\"an\":{\"kind\":\"doll\",\"spec\":{\"age\":\"child\",\"build\":\"round\",\"skin\":\"#e8d4b9\",\"hairStyle\":\"short\",\"hairColor\":\"#000000\",\"top\":\"shirt\",\"topColor\":\"#e8d4b9\",\"bottom\":\"none\",\"accent\":\"#8b5e3c\",\"accessories\":[],\"figure\":\"storybook\"}},\"grandma\":{\"kind\":\"doll\",\"spec\":{\"age\":\"elder\",\"build\":\"average\",\"skin\":\"#d4a843\",\"hairStyle\":\"bun\",\"hairColor\":\"#c0c0c0\",\"top\":\"aodai\",\"topColor\":\"#4a7c59\",\"bottom\":\"pants\",\"bottomColor\":\"#8b5e3c\",\"accent\":\"#8b5e3c\",\"accessories\":[],\"figure\":\"adult\",\"shoeColor\":\"#3d3d3d\"}}}",
  "voices": null,
  "seriesId": null,
  "steps": [
    {
      "id": "cmv6g4rbr005h2ao4w4f17zxa",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 0,
      "shotIndex": null,
      "role": "system",
      "model": "catalog",
      "action": "models",
      "promptHash": null,
      "outputSummary": "vision: no NVIDIA vision model in the catalog, so openbmb/MiniCPM-V-4_5 LOOKS at each render and Nemotron Nano still scores it (vision critic: openbmb/MiniCPM-V-4_5; Nemotron crew: Ultra/Super/Nano).",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:55:55.479Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g4rby005i2ao4ccx0frpy",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 1,
      "shotIndex": null,
      "role": "system",
      "model": "policy",
      "action": "stop-rule",
      "promptHash": null,
      "outputSummary": "Floor redraw off for this run (DEMO_FLOOR_REDRAW=off on this server)",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:55:55.486Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g4rvd005j2ao4edb04p17",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 2,
      "shotIndex": null,
      "role": "researcher",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "queries",
      "promptHash": "1a61c99fa7183bc8",
      "outputSummary": "queries",
      "output": "{\n  \"queries\": [\n    \"Hanoi tube house courtyard interior\",\n    \"Vietnamese ancestor altar front room\",\n    \"Hanoi Old Quarter rooftops fireworks\"\n  ]\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 693,
      "tokensIn": 688,
      "tokensOut": 43,
      "costUsd": 0.0000516,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:55:56.185Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g4sza005k2ao4k4ytdmd1",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 3,
      "shotIndex": null,
      "role": "researcher",
      "model": "tavily/search",
      "action": "search",
      "promptHash": null,
      "outputSummary": "“Hanoi tube house courtyard interior” → 3 results",
      "output": "[{\"title\":\"The modern 3-storey tube house interior design in Hanoi\",\"url\":\"https://thietkehoanggia.com/en/house-interior-design/the-modern-3storey-tube-house-interior-design-in-hanoi.html\"},{\"title\":\"Instagram\",\"url\":\"https://www.instagram.com/p/DSbSCcDE408?hl=en\"},{\"title\":\"Tube Houses: 15 Projects Reinterpreting the Narrow Vietnamese Residences  | ArchDaily\",\"url\":\"https://www.archdaily.com/956220/tube-houses-15-projects-reinterpreting-the-narrow-vietnamese-residences\"}]",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1424,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:55:57.622Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g4tys005l2ao4b2n9r9rs",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 4,
      "shotIndex": null,
      "role": "researcher",
      "model": "tavily/search",
      "action": "search",
      "promptHash": null,
      "outputSummary": "“Vietnamese ancestor altar front room” → 3 results",
      "output": "[{\"title\":\"Ancestor worship in Vietnam: altars, rituals and what travelers should know | Vietnam Tourism\",\"url\":\"https://www.vietnamtourism.com/en/ancestor-worship-in-vietnam-altars-rituals-and-what-travelers-should-know\"},{\"title\":\"Ancestor Worship in Vietnam: When the Dead Remain Among the Living\",\"url\":\"https://parfumdautomne.fr/en/ancestor-worship-in-vietnam\"},{\"title\":\"Suggestions for Decorating the Ancestral Altar for Tết | FAHASA\",\"url\":\"https://fahasasg.com.vn/en/goi-y-cach-trang-tri-ban-tho-ngay-tet\"}]",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1270,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:55:58.900Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g4u83005m2ao4e5ph61z3",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 5,
      "shotIndex": null,
      "role": "researcher",
      "model": "tavily/extract",
      "action": "extract",
      "promptHash": null,
      "outputSummary": "Extracted 1500 chars from https://thietkehoanggia.com/en/house-interior-design/the-modern-3storey-tube-house-interior-design-in-hanoi.html",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 325,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:55:59.235Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g515j005n2ao48a5dmz0t",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 6,
      "shotIndex": null,
      "role": "researcher",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "notes",
      "promptHash": "e9b91cca4d34e81a",
      "outputSummary": "notes",
      "output": "{\n  \"notes\": [\n    {\n      \"note\": \"A courtyard of a Hanoi tube house with low stools, a charcoal stove, and a big pot; the pot and fire set the scene for cooking bánh chưng.\",\n      \"source\": 1,\n      \"use\": \"set\"\n    },\n    {\n      \"note\": \"The family front room with an ancestor altar; the altar is not drawn, but a small wooden table appears in the final shot where the wrapped bánh chưng sits.\",\n      \"source\": 2,\n      \"use\": \"set\"\n    },\n    {\n      \"note\": \"Rooftop of Hanoi’s Old Quarter during New Year’s Eve fireworks; midnight lighting and fireworks backdrop.\",\n      \"source\": 3,\n      \"use\": \"set\"\n    },\n    {\n      \"note\": \"Ancestor altar placement: central wall of the main room, eye‑level or higher, never below waist height, facing the entrance.\",\n      \"source\": 4,\n      \"use\": \"customs\"\n    },\n    {\n      \"note\": \"Bánh chưng: flat square parcel wrapped in glossy green dong leaves with visible leaf veins, tied with four thin pale bamboo strings in a grid (no ribbon or bow), darker green leaf fold at corners.\",\n      \"source\": 5,\n      \"use\": \"props\"\n    },\n    {\n      \"note\": \"Cooking scene: pot of boiling bánh chưng on a charcoal stove in the courtyard at night; the pot and fire set the cooking atmosphere.\",\n      \"source\": 1,\n      \"use\": \"costume\"\n    }\n  ]\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 8966,
      "tokensIn": 1918,
      "tokensOut": 344,
      "costUsd": 0.00019764,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:08.215Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g515x005o2ao43ikek57u",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 7,
      "shotIndex": null,
      "role": "researcher",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "references",
      "promptHash": null,
      "outputSummary": "Researcher found 6 reference note(s) from 5 source(s)",
      "output": "[{\"note\":\"A courtyard of a Hanoi tube house with low stools, a charcoal stove, and a big pot; the pot and fire set the scene for cooking bánh chưng.\",\"url\":\"https://thietkehoanggia.com/en/house-interior-design/the-modern-3storey-tube-house-interior-design-in-hanoi.html\",\"title\":\"The modern 3-storey tube house interior design in Hanoi\",\"use\":\"set\"},{\"note\":\"The family front room with an ancestor altar; the altar is not drawn, but a small wooden table appears in the final shot where the wrapped bánh chưng sits.\",\"url\":\"https://www.instagram.com/p/DSbSCcDE408?hl=en\",\"title\":\"Instagram\",\"use\":\"set\"},{\"note\":\"Rooftop of Hanoi’s Old Quarter during New Year’s Eve fireworks; midnight lighting and fireworks backdrop.\",\"url\":\"https://www.archdaily.com/956220/tube-houses-15-projects-reinterpreting-the-narrow-vietnamese-residences\",\"title\":\"Tube Houses: 15 Projects Reinterpreting the Narrow Vietnamese Residences  | ArchDaily\",\"use\":\"set\"},{\"note\":\"Ancestor altar placement: central wall of the main room, eye‑level or higher, never below waist height, facing the entrance.\",\"url\":\"https://www.vietnamtourism.com/en/ancestor-worship-in-vietnam-altars-rituals-and-what-travelers-should-know\",\"title\":\"Ancestor worship in Vietnam: altars, rituals and what travelers should know | Vietnam Tourism\",\"use\":\"customs\"},{\"note\":\"Bánh chưng: flat square parcel wrapped in glossy green dong leaves with visible leaf veins, tied with four thin pale bamboo strings in a grid (no ribbon or bow), darker green leaf fold at corners.\",\"url\":\"https://parfumdautomne.fr/en/ancestor-worship-in-vietnam\",\"title\":\"Ancestor Worship in Vietnam: When the Dead Remain Among the Living\",\"use\":\"props\"},{\"note\":\"Cooking scene: pot of boiling bánh chưng on a charcoal stove in the courtyard at night; the pot and fire set the cooking atmosphere.\",\"url\":\"https://thietkehoanggia.com/en/house-interior-design/the-modern-3storey-tube-house-interior-design-in-hanoi.html\",\"title\":\"The modern 3-storey tube house interior design in Hanoi\",\"use\":\"costume\"}]",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:08.229Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5jd5005p2ao4ux9kvgoy",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 8,
      "shotIndex": null,
      "role": "director",
      "model": "nvidia/Nemotron-3-Ultra-550b-a55b",
      "action": "plan",
      "promptHash": "272cfbeee8f0cf3d",
      "outputSummary": "plan",
      "output": "{\n  \"title\": \"Bánh Chưng Tết: Ký Ức Của An\",\n  \"logline\": \"Chiều Ba Mươi Tết, bé An học gói bánh chưng cùng bà, qua đêm canh nồi nghe chuyện xưa, sáng mùng Một thức dậy thấy chiếc bánh đầu đời vuông vức trên bàn thờ.\",\n  \"palette\": [\"#F5E6C8\", \"#D4A843\", \"#8B5E3C\", \"#4A7C59\", \"#C8553D\", \"#E8D4B9\", \"#6B8E5A\", \"#3D3D3D\"],\n  \"cast\": [\n    {\n      \"id\": \"courtyard\",\n      \"name\": \"Sân nhà phố cổ\",\n      \"kind\": \"set\",\n      \"look\": \"Narrow tube house courtyard with tiled floor, low wooden stools, a charcoal stove with a big iron pot, brick walls, open sky\",\n      \"colors\": [\"#8B5E3C\", \"#3D3D3D\", \"#E8D4B9\", \"#4A7C59\"],\n      \"cites\": [1, 6]\n    },\n    {\n      \"id\": \"front-room\",\n      \"name\": \"Phòng khách bàn thờ\",\n      \"kind\": \"set\",\n      \"look\": \"Family front room with ancestor altar centered on main wall, brass incense burner, candle holders, fresh flowers, framed photograph, wooden floor. A small wooden table in center for final shot.\",\n      \"colors\": [\"#F5E6C8\", \"#D4A843\", \"#C8553D\", \"#3D3D3D\"],\n      \"cites\": [2, 4]\n    },\n    {\n      \"id\": \"rooftops\",\n      \"name\": \"Mái ngói phố cổ\",\n      \"kind\": \"set\",\n      \"look\": \"Hanoi old quarter rooftops with terracotta tiles, narrow alleys, night sky illuminated by fireworks\",\n      \"colors\": [\"#8B5E3C\", \"#3D3D3D\", \"#C8553D\", \"#D4A843\"],\n      \"cites\": [3]\n    },\n    {\n      \"id\": \"an\",\n      \"name\": \"Bé An\",\n      \"kind\": \"character\",\n      \"look\": \"Small child, round face, short black hair, wearing a simple áo bà ba in soft beige, bare feet\",\n      \"colors\": [\"#F5E6C8\", \"#3D3D3D\", \"#E8D4B9\"],\n      \"cites\": []\n    },\n    {\n      \"id\": \"grandma\",\n      \"name\": \"Bà\",\n      \"kind\": \"character\",\n      \"look\": \"Elderly woman, gentle smile, silver hair in a bun, wearing a dark áo dài with subtle floral pattern, hands wrinkled\",\n      \"colors\": [\"#3D3D3D\", \"#8B5E3C\", \"#D4A843\", \"#E8D4B9\"],\n      \"cites\": []\n    },\n    {\n      \"id\": \"banh-chung\",\n      \"name\": \"Bánh chưng\",\n      \"kind\": \"prop\",\n      \"look\": \"Flat square parcel wrapped in glossy green dong leaves with visible veins, tied with four thin pale bamboo strings in a grid, darker green leaf folds at corners\",\n      \"colors\": [\"#4A7C59\", \"#6B8E5A\", \"#E8D4B9\"],\n      \"cites\": [5]\n    }\n  ],\n  \"shots\": [\n    {\n      \"scene\": \"Chiều gói bánh\",\n      \"shotType\": \"Wide shot\",\n      \"description\": \"Wide shot of the Hanoi tube house courtyard in golden afternoon light. Bé An and Bà stand near the charcoal stove, low stools and big iron pot visible, brick walls and tiled floor. An holds a dong leaf, Bà smiles.\",\n      \"mode\": \"still\",\n      \"durationSec\": 4,\n      \"dialogue\": \"Chiều Ba Mươi Tết, bé An cùng bà gói bánh chưng trong sân nhà ở phố cổ Hà Nội.\",\n      \"speaker\": null,\n      \"transition\": \"cut\",\n      \"cast\": [\"courtyard\", \"an\", \"grandma\"],\n      \"cites\": [1, 6],\n      \"mood\": \"playful\",\n      \"acting\": [\n        { \"who\": \"an\", \"pose\": \"stand\", \"expression\": \"smile\" },\n        { \"who\": \"grandma\", \"pose\": \"stand\", \"expression\": \"smile\" }\n      ]\n    },\n    {\n      \"scene\": \"Chiều gói bánh\",\n      \"shotType\": \"Medium shot\",\n      \"description\": \"Medium shot, close on Bà's hands spreading glossy green dong leaves on a woven mat, white glutinous rice, mung bean filling and pork laid out. Afternoon light filters through courtyard bricks.\",\n      \"mode\": \"motion\",\n      \"durationSec\": 3,\n      \"dialogue\": \"Bà trải lá dong xanh lên mâm, đong gạo nếp trắng, nhân đậu xanh và thịt.\",\n      \"speaker\": null,\n      \"transition\": \"cut\",\n      \"cast\": [\"courtyard\", \"grandma\"],\n      \"cites\": [1, 5, 6],\n      \"mood\": \"playful\",\n      \"acting\": [\n        { \"who\": \"grandma\", \"pose\": \"hold\", \"expression\": \"neutral\" }\n      ]\n    },\n    {\n      \"scene\": \"Chiều gói bánh\",\n      \"shotType\": \"Medium shot\",\n      \"description\": \"Over-the-shoulder two-shot from behind An as Bà guides her small hands folding the dong leaves into a perfect square and tying four pale bamboo strings in a tight grid. The courtyard afternoon light softens.\",\n      \"mode\": \"motion\",\n      \"durationSec\": 4,\n      \"dialogue\": \"An học bà gấp lá thật vuông và buộc lạt tre thật chặt.\",\n      \"speaker\": null,\n      \"transition\": \"cut\",\n      \"cast\": [\"courtyard\", \"an\", \"grandma\", \"banh-chung\"],\n      \"cites\": [1, 5],\n      \"mood\": \"tender\",\n      \"acting\": [\n        { \"who\": \"an\", \"pose\": \"hold\", \"expression\": \"surprised\" },\n        { \"who\": \"grandma\", \"pose\": \"point\", \"expression\": \"smile\" }\n      ]\n    },\n    {\n      \"scene\": \"Chiều gói bánh\",\n      \"shotType\": \"Close-up\",\n      \"description\": \"Close-up on the finished square bánh chưng resting in An's cupped palms, leaf veins and bamboo grid sharp. Bà leans in, smiling proudly, afternoon glow on their faces.\",\n      \"mode\": \"still\",\n      \"durationSec\": 3,\n      \"dialogue\": \"Chiếc bánh đầu tiên An tự gói, bà khen vuông vắn như bánh của người lớn.\",\n      \"speaker\": null,\n      \"transition\": \"cut\",\n      \"cast\": [\"courtyard\", \"an\", \"grandma\", \"banh-chung\"],\n      \"cites\": [1, 5],\n      \"mood\": \"triumph\",\n      \"acting\": [\n        { \"who\": \"an\", \"pose\": \"hold\", \"expression\": \"laugh\" },\n        { \"who\": \"grandma\", \"pose\": \"look-right\", \"expression\": \"smile\" }\n      ]\n    },\n    {\n      \"scene\": \"Đêm canh nồi\",\n      \"shotType\": \"Wide shot\",\n      \"description\": \"Wide shot of the courtyard at night, charcoal stove glowing red, big iron pot bubbling with steam. An and Bà sit on low stools beside the fire, the wrapped bánh chưng parcels visible on a stool nearby. Night shadows, lantern glow.\",\n      \"mode\": \"motion\",\n      \"durationSec\": 4,\n      \"dialogue\": \"Đêm xuống, nồi bánh sôi lục bục trên bếp lửa hồng giữa sân.\",\n      \"speaker\": null,\n      \"transition\": \"cut\",\n      \"cast\": [\"courtyard\", \"an\", \"grandma\", \"banh-chung\"],\n      \"cites\": [1, 6],\n      \"mood\": \"night\",\n      \"acting\": [\n        { \"who\": \"an\", \"pose\": \"sit\", \"expression\": \"sleepy\" },\n        { \"who\": \"grandma\", \"pose\": \"sit\", \"expression\": \"neutral\" }\n      ]\n    },\n    {\n      \"scene\": \"Đêm canh nồi\",\n      \"shotType\": \"Medium shot\",\n      \"description\": \"Medium two-shot, An and Bà side by side on stools watching the pot, Bà gestures toward the square parcel as she tells the legend of Lang Liêu. Night deepens, firelight dances on their faces.\",\n      \"mode\": \"still\",\n      \"durationSec\": 5,\n      \"dialogue\": \"Hai bà cháu ngồi canh nồi bánh, bà kể chuyện Lang Liêu dâng bánh cho vua Hùng.\",\n      \"speaker\": null,\n      \"transition\": \"cut\",\n      \"cast\": [\"courtyard\", \"an\", \"grandma\", \"banh-chung\"],\n      \"cites\": [1, 5],\n      \"mood\": \"tender\",\n      \"acting\": [\n        { \"who\": \"an\", \"pose\": \"look-left\", \"expression\": \"surprised\" },\n        { \"who\": \"grandma\", \"pose\": \"point\", \"expression\": \"smile\" }\n      ]\n    },\n    {\n      \"scene\": \"Đêm canh nồi\",\n      \"shotType\": \"Close-up\",\n      \"description\": \"Close-up on Bà's finger pointing at the square bánh chưng on the stool, An's round eyes wide with wonder, firelight reflecting. Night, intimate.\",\n      \"mode\": \"still\",\n      \"durationSec\": 4,\n      \"dialogue\": \"Bà chỉ chiếc bánh vuông như mặt đất, An tròn mắt lắng nghe.\",\n      \"speaker\": null,\n      \"transition\": \"dissolve\",\n      \"cast\": [\"courtyard\", \"an\", \"grandma\", \"banh-chung\"],\n      \"cites\": [1, 5],\n      \"mood\": \"wonder\",\n      \"acting\": [\n        { \"who\": \"an\", \"pose\": \"look-right\", \"expression\": \"surprised\" },\n        { \"who\": \"grandma\", \"pose\": \"point\", \"expression\": \"neutral\" }\n      ]\n    },\n    {\n      \"scene\": \"Đêm giao thừa\",\n      \"shotType\": \"Wide shot\",\n      \"description\": \"Wide shot of Hanoi old quarter rooftops under midnight sky, fireworks blooming in vivid reds and golds over terracotta tiles. An and Bà silhouetted on a rooftop, watching.\",\n      \"mode\": \"motion\",\n      \"durationSec\": 4,\n      \"dialogue\": \"Đêm giao thừa, pháo hoa nở rực trên những mái ngói phố cổ.\",\n      \"speaker\": null,\n      \"transition\": \"cut\",\n      \"cast\": [\"rooftops\", \"an\", \"grandma\"],\n      \"cites\": [3],\n      \"mood\": \"festival\",\n      \"acting\": [\n        { \"who\": \"an\", \"pose\": \"stand\", \"expression\": \"surprised\" },\n        { \"who\": \"grandma\", \"pose\": \"stand\", \"expression\": \"smile\" }\n      ]\n    },\n    {\n      \"scene\": \"Đêm giao thừa\",\n      \"shotType\": \"Close-up\",\n      \"description\": \"Close-up on An asleep on Bà's lap, her small fingers still curled around a pale bamboo string from the bánh chưng. Fireworks glow softly on their faces, midnight.\",\n      \"mode\": \"still\",\n      \"durationSec\": 4,\n      \"dialogue\": \"An ngủ gục trên vai bà, tay vẫn nắm sợi lạt tre.\",\n      \"speaker\": null,\n      \"transition\": \"dissolve\",\n      \"cast\": [\"rooftops\", \"an\", \"grandma\", \"banh-chung\"],\n      \"cites\": [3, 5],\n      \"mood\": \"lullaby\",\n      \"acting\": [\n        { \"who\": \"an\", \"pose\": \"sit\", \"expression\": \"sleepy\" },\n        { \"who\": \"grandma\", \"pose\": \"hug\", \"expression\": \"neutral\" }\n      ]\n    },\n    {\n      \"scene\": \"Sáng mùng Một\",\n      \"shotType\": \"Low angle\",\n      \"description\": \"Medium shot from low angle in the front room at dawn, An darts across wooden floor toward the small wooden table centered under the ancestor altar wall. Dawn light paints the room gold.\",\n      \"mode\": \"motion\",\n      \"durationSec\": 3,\n      \"dialogue\": \"Sáng mùng Một, An mở mắt và chạy ra phòng khách.\",\n      \"speaker\": null,\n      \"transition\": \"cut\",\n      \"cast\": [\"front-room\", \"an\"],\n      \"cites\": [2, 4],\n      \"mood\": \"dawn\",\n      \"acting\": [\n        { \"who\": \"an\", \"pose\": \"walk\", \"expression\": \"surprised\" }\n      ]\n    },\n    {\n      \"scene\": \"Sáng mùng Một\",\n      \"shotType\": \"Close-up\",\n      \"description\": \"Close-up detail shot of the square bánh chưng sitting on the small wooden table in the front room, leaf veins and bamboo grid perfectly clear in morning light. The ancestor altar wall behind, no altar drawn, just the table and parcel. Dawn.\",\n      \"mode\": \"still\",\n      \"durationSec\": 4,\n      \"dialogue\": \"Trên bàn là chiếc bánh chưng vuông vức đầu tiên do chính tay An gói.\",\n      \"speaker\": null,\n      \"transition\": \"fadeBlack\",\n      \"cast\": [\"front-room\", \"banh-chung\"],\n      \"cites\": [2, 5],\n      \"mood\": \"wonder\",\n      \"acting\": []\n    }\n  ]\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 23581,
      "tokensIn": 2920,
      "tokensOut": 9304,
      "costUsd": 0.0240816,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:31.817Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5jdk005q2ao4egr6t6rk",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 9,
      "shotIndex": null,
      "role": "director",
      "model": "engine",
      "action": "plan:anatomy",
      "promptHash": null,
      "outputSummary": "#banh-chung anatomy carried with the cast: square leaf-wrapped parcel / green leaf packet / tied leaf bundle / square rice cake parcel / leaf-wrapped cake — parcel body, dong leaves, bamboo strings, corner folds",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:31.832Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5jdt005r2ao4rm1ycd0h",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 10,
      "shotIndex": null,
      "role": "researcher",
      "model": "engine",
      "action": "bible-use",
      "promptHash": null,
      "outputSummary": "The Bible cites 6 of 6 research notes (4 cast designs, 11 shots)",
      "output": "{\"notes\":6,\"cited\":6,\"castCiting\":4,\"shotsCiting\":11,\"byUse\":{\"set\":3,\"customs\":1,\"props\":1,\"costume\":1}}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:31.841Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5lca00632ao453zlquca",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 11,
      "shotIndex": 1,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 3.924s (Piper vi_VN-vais1000-medium (narrator)): “Chiều Ba Mươi Tết, bé An cùng bà gói bánh chưng trong sân nhà ở phố cổ Hà Nội.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2441,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:34.378Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5n6s00642ao4tzl54iiz",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 12,
      "shotIndex": 2,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 3.704s (Piper vi_VN-vais1000-medium (narrator)): “Bà trải lá dong xanh lên mâm, đong gạo nếp trắng, nhân đậu xanh và thịt.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2388,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:36.772Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5oyj00652ao479gcvba8",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 13,
      "shotIndex": 3,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 2.612s (Piper vi_VN-vais1000-medium (narrator)): “An học bà gấp lá thật vuông và buộc lạt tre thật chặt.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2287,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:39.067Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5qvx00662ao4dv26jhej",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 14,
      "shotIndex": 4,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 3.762s (Piper vi_VN-vais1000-medium (narrator)): “Chiếc bánh đầu tiên An tự gói, bà khen vuông vắn như bánh của người lớn.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2492,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:41.565Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5sti00672ao4439a9191",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 15,
      "shotIndex": 5,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 3.053s (Piper vi_VN-vais1000-medium (narrator)): “Đêm xuống, nồi bánh sôi lục bục trên bếp lửa hồng giữa sân.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2497,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:44.070Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5uhw00682ao4li2mqz0d",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 16,
      "shotIndex": 6,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 3.541s (Piper vi_VN-vais1000-medium (narrator)): “Hai bà cháu ngồi canh nồi bánh, bà kể chuyện Lang Liêu dâng bánh cho vua Hùng.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2167,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:46.244Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5w5800692ao49mfsz5qa",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 17,
      "shotIndex": 7,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 2.879s (Piper vi_VN-vais1000-medium (narrator)): “Bà chỉ chiếc bánh vuông như mặt đất, An tròn mắt lắng nghe.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2125,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:48.381Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5xlq006a2ao42nkiml36",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 18,
      "shotIndex": 8,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 3.1s (Piper vi_VN-vais1000-medium (narrator)): “Đêm giao thừa, pháo hoa nở rực trên những mái ngói phố cổ.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1884,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:50.270Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g5z73006b2ao4gkxd4vy8",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 19,
      "shotIndex": 9,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 2.543s (Piper vi_VN-vais1000-medium (narrator)): “An ngủ gục trên vai bà, tay vẫn nắm sợi lạt tre.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2058,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:52.335Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g60j3006c2ao45y21by27",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 20,
      "shotIndex": 10,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 2.183s (Piper vi_VN-vais1000-medium (narrator)): “Sáng mùng Một, An mở mắt và chạy ra phòng khách.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1722,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:54.063Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g62dv006d2ao4g4isbh0c",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 21,
      "shotIndex": 11,
      "role": "dialogue",
      "model": "piper:vi_VN-vais1000-medium",
      "action": "voice",
      "promptHash": null,
      "outputSummary": "Voiced 3.216s (Piper vi_VN-vais1000-medium (narrator)): “Trên bàn là chiếc bánh chưng vuông vức đầu tiên do chính tay An gói.”",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2398,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:56.467Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g62e8006e2ao4bpvxhn0r",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 22,
      "shotIndex": null,
      "role": "editor",
      "model": "engine",
      "action": "pad-holds",
      "promptHash": null,
      "outputSummary": "The film would run 45.5s, under its 46s floor: every shot holds 0.1s longer",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:56.480Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g62el006f2ao4uz6uh3cc",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 23,
      "shotIndex": null,
      "role": "cast",
      "model": "preview",
      "action": "cast-from-run",
      "promptHash": null,
      "outputSummary": "Reused the approved cast of run cmv5ckxxt00132aphiklvzwwj verbatim (no Cast call): #courtyard 3660353f0d7f · #courtyard--day 78c9c3b87f1b · #front-room 1fbcf94fcfd2 · #rooftops ccf925b80135 · #an 632ea62db3b5 · #grandma 500522cb3a5a · #banh-chung 82007704a615",
      "output": "{\"sourceRunId\":\"cmv5ckxxt00132aphiklvzwwj\",\"hashes\":[{\"id\":\"courtyard\",\"sha\":\"3660353f0d7f\"},{\"id\":\"courtyard--day\",\"sha\":\"78c9c3b87f1b\"},{\"id\":\"front-room\",\"sha\":\"1fbcf94fcfd2\"},{\"id\":\"rooftops\",\"sha\":\"ccf925b80135\"},{\"id\":\"an\",\"sha\":\"632ea62db3b5\"},{\"id\":\"grandma\",\"sha\":\"500522cb3a5a\"},{\"id\":\"banh-chung\",\"sha\":\"82007704a615\"}]}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:56.493Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g62f4006g2ao45y1acgwd",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 24,
      "shotIndex": null,
      "role": "cast",
      "model": "engine",
      "action": "acting-variants",
      "promptHash": null,
      "outputSummary": "Posed 6 variant(s) from the kit: an stand/smile, grandma stand/smile, an hold/laugh, grandma look-right/smile, an sit/sleepy, an stand/surprised",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:56.512Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g62fa006h2ao49e4rjkik",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 25,
      "shotIndex": null,
      "role": "critic",
      "model": "preview",
      "action": "recognize:carried",
      "promptHash": null,
      "outputSummary": "Recognition carried over from the approved preview: #banh-chung NOT recognised (\"green grid pattern\")",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:56:56.518Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6804006i2ao442zzetms",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 26,
      "shotIndex": 1,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "608d98c50d540e65",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#an--stand-smile\" x=\"400\" y=\"800\" width=\"288\" height=\"432\"/>\n<use href=\"#grandma--stand-smile\" x=\"1200\" y=\"800\" width=\"288\" height=\"432\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 7207,
      "tokensIn": 1544,
      "tokensOut": 1173,
      "costUsd": 0.0015189,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:03.748Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g689i006j2ao457z3qfnr",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 27,
      "shotIndex": 1,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Framing/lighting check failed: #an is cut by the bottom edge of the frame (only 7% of the frame wide is visible): move it inside so the whole figure shows (in a wide shot the feet stay in frame: make it smaller or move it up); a character is cut by the frame only when the shot has it leave or enter; #grandma is cut by the bottom edge of the frame (only 7% of the frame wide is visible): move it inside so the whole figure shows (in a wide shot the feet stay in frame: make it smaller or move it up); a character is cut by the frame only when the shot has it leave or enter; the main character is only 23% of the frame height as rendered; a \"Wide shot\" needs at least 25% (use height=\"270\" or more with width = height × 2/3, and no shrinking transform).",
      "createdAt": "2026-10-13T08:57:04.086Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6ebl006k2ao46n1mzzf4",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 28,
      "shotIndex": 3,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "bb2aacf9aa1f49b2",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#an--hold-surprised\" x=\"200\" y=\"200\" width=\"467\" height=\"700\"/>\n<g transform=\"translate(600 0) scale(-1 1)\">\n  <use href=\"#grandma--point-smile\" x=\"0\" y=\"0\" width=\"467\" height=\"700\"/>\n</g>\n<rect x=\"150\" y=\"850\" width=\"120\" height=\"20\" fill=\"#8B5E3C\"/>\n<rect x=\"170\" y=\"830\" width=\"80\" height=\"10\" fill=\"#D4A843\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"steam1\",\n      \"type\": \"circle\",\n      \"r\": 12,\n      \"at\": [960, 850],\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"steam2\",\n      \"type\": \"circle\",\n      \"r\": 10,\n      \"at\": [980, 860],\n      \"fill\": \"#E8D4B9\"\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.steam1.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [960, 850]},\n        {\"t\": 4.1, \"v\": [960, 600], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam1.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [980, 860]},\n        {\"t\": 4.1, \"v\": [980, 620], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 15396,
      "tokensIn": 1931,
      "tokensOut": 2840,
      "costUsd": 0.0031353,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:11.937Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6f7v006l2ao4jt8r80c9",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 29,
      "shotIndex": 4,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "2085c182b7089b5f",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<g>\n  <use href=\"#grandma--look-right-smile\" x=\"172\" y=\"0\" width=\"936\" height=\"1404\"/>\n</g>\n<g transform=\"translate(1280 0) scale(-1 1)\">\n  <use href=\"#an--hold-laugh\" x=\"-468\" y=\"0\" width=\"936\" height=\"1404\"/>\n</g>\n<use href=\"#banh-chung\" x=\"1130\" y=\"400\" width=\"300\" height=\"300\"/>\n<circle cx=\"200\" cy=\"950\" r=\"8\" fill=\"#D4A843\" fill-opacity=\"0.7\"/>\n<circle cx=\"250\" cy=\"970\" r=\"6\" fill=\"#8B5E3C\" fill-opacity=\"0.6\"/>\n<circle cx=\"300\" cy=\"930\" r=\"7\" fill=\"#6B8E5A\" fill-opacity=\"0.6\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 16558,
      "tokensIn": 1574,
      "tokensOut": 3109,
      "costUsd": 0.0032703,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:13.099Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6fgu006m2ao44chj0biq",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 30,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "bf16b15b07554055",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#grandma--hold-neutral\" x=\"400\" y=\"162\" width=\"504\" height=\"756\"/>\n<use href=\"#banh-chung\" x=\"924\" y=\"440\" width=\"200\" height=\"200\" fill=\"#F5E6C8\" stroke=\"#D4A843\"/>\n<!-- foreground leaves -->\n<ellipse cx=\"200\" cy=\"900\" rx=\"30\" ry=\"15\" fill=\"#4A7C59\"/>\n<ellipse cx=\"350\" cy=\"950\" rx=\"25\" ry=\"12\" fill=\"#4A7C59\"/>\n<ellipse cx=\"500\" cy=\"880\" rx=\"28\" ry=\"14\" fill=\"#4A7C59\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\"id\":\"steam1\",\"type\":\"circle\",\"r\":8,\"at\":[400,900],\"fill\":\"#E8D4B980\"},\n    {\"id\":\"steam2\",\"type\":\"circle\",\"r\":8,\"at\":[500,880],\"fill\":\"#E8D4B980\"},\n    {\"id\":\"steam3\",\"type\":\"circle\",\"r\":8,\"at\":[600,920]\",\"fill\":\"#E8D4B980\"}\n  ],\n  \"tracks\": [\n    {\"target\":\"shapes.steam1.at\",\"keys\":[{\"t\":0,\"v\":[400,900]},{\"t\":4.5,\"v\":[400,200],\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.steam1.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.5,\"v\":0.01,\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.steam2.at\",\"keys\":[{\"t\":0,\"v\":[500,880]},{\"t\":4.5,\"v\":[500,180],\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.steam2.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.5,\"v\":0.01,\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.steam3.at\",\"keys\":[{\"t\":0,\"v\":[600,920]},{\"t\":4.5,\"v\":[600,220],\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.steam3.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.5,\"v\":0.01,\"ease\":\"inOut\"}]}\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 16881,
      "tokensIn": 1844,
      "tokensOut": 3413,
      "costUsd": 0.0036249,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:13.422Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6fh7006n2ao43uif02e8",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 31,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "The ```json ambient block is not valid JSON: Expected ',' or '}' after property value in JSON at position 225 (line 5 column 56)",
      "createdAt": "2026-10-13T08:57:13.435Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6hye006o2ao4vyb4cjau",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 32,
      "shotIndex": 3,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: an blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3421,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:16.646Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6jhb006p2ao4pst2ljim",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 33,
      "shotIndex": 3,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "93c752b2d7b77a0b",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A medium shot shows two characters: a young girl (An) and an older woman (Bà) standing in a courtyard.\", \"An is holding a large green object (banh-chung) vertically in front of her, with Bà's hands visible on top of it.\", \"Bà is standing behind An, guiding her hands.\", \"The background features a blue sky with clouds, a bright sun, a potted plant, and a wooden cabinet with a pot on it.\", \"The scene is set outdoors, likely in the afternoon, with soft lighting.\", \"The characters are positioned in the left half of the frame, with the right half showing the landscape and the cabinet.\", \"The characters' heads are fully visible, and their bodies occupy a significant portion of the frame height.\"], \"problems\": [\"The banh-chung is positioned vertically in front of An's face, partially obscuring it (fixed by engine check).\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1959,
      "tokensIn": 728,
      "tokensOut": 201,
      "costUsd": 0.0009192,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f03-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:18.623Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f03-r0.jpg"
    },
    {
      "id": "cmv6g6kcm006q2ao460liwioe",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 34,
      "shotIndex": 1,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "c6380000a8bdd6bc",
      "outputSummary": "repair",
      "output": "<svg>\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#an--stand-smile\" x=\"500\" y=\"590\" width=\"240\" height=\"360\"/>\n<use href=\"#grandma--stand-smile\" x=\"1300\" y=\"590\" width=\"240\" height=\"360\"/>\n</svg>",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 15657,
      "tokensIn": 1875,
      "tokensOut": 2928,
      "costUsd": 0.0031977,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:19.750Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6kig006r2ao48s9v2eya",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 35,
      "shotIndex": 3,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "c94d012bde262d80",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 7,\n  \"verdict\": \"accept\",\n  \"issues\": [\n    \"banh-chung partially obscures An's face\"\n  ],\n  \"fixes\": [\n    \"move banh-chung slightly to the right or lower it so it no longer covers An's face\",\n    \"ensure An's face remains fully visible while still holding the bánh chưng\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1234,
      "tokensIn": 1820,
      "tokensOut": 121,
      "costUsd": 0.00013824,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f03-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:19.960Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f03-r0.jpg"
    },
    {
      "id": "cmv6g6kiw006s2ao4x0mb82ca",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 36,
      "shotIndex": 3,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 7/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · banh-chung partially obscures An's face",
      "output": "{\"score\":7,\"verdict\":\"accept\",\"issues\":[\"banh-chung partially obscures An's face\"],\"fixes\":[\"move banh-chung slightly to the right or lower it so it no longer covers An's face\",\"ensure An's face remains fully visible while still holding the bánh chưng\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f03-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:19.976Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f03-r0.jpg"
    },
    {
      "id": "cmv6g6l02006t2ao4gpde6qo8",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 37,
      "shotIndex": 4,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 55 frames @ 12 fps rendered; acting: grandma blinks 2×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 6989,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:20.594Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6mzl006u2ao4y2fw7inp",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 38,
      "shotIndex": 4,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "2129b339e98791be",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters: an elderly woman (Bà) in a green dress with white hair, and a younger person (An) in a beige outfit with black hair, both smiling.\", \"An is holding a green square bánh chưng with a yellow grid pattern.\", \"The background shows a simple landscape with a blue sky, white clouds, green hills, and a small table with a pot on it.\", \"The scene is set outdoors during the day, with soft lighting and a clear sky.\", \"The characters are positioned in the foreground, with the background elements providing context.\", \"The elderly woman (Bà) is standing to the left, slightly behind An.\", \"An is centered in the frame, holding the bánh chưng prominently in front of them.\"], \"problems\": [\"The focus is not on the bánh chưng as the primary subject; it is held by An and not the central close-up element.\", \"The characters' faces are not the primary focus, which contradicts the 'close-up' requirement.\", \"The background elements (table, hills) are too prominent and distract from a close-up of the bánh chưng.\", \"The composition does not emphasize the bánh chưng's details (leaf veins, bamboo grid) as described in the notes.\", \"The lighting does not specifically highlight the afternoon glow on the faces as mentioned in the notes.\", \"The frame is not a true close-up of the bánh chưng, as it is held by a character and not the main subject of the shot.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2558,
      "tokensIn": 591,
      "tokensOut": 316,
      "costUsd": 0.001113,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:23.169Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r0.jpg"
    },
    {
      "id": "cmv6g6nzk006v2ao45kf89htc",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 39,
      "shotIndex": 1,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 56 frames @ 12 fps rendered; acting: an blinks 1×, grandma blinks 2×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 4176,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:24.464Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6o36006w2ao4y54sd7b2",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 40,
      "shotIndex": 4,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "792fb5ab81ee49bc",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 4,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"bánh chưng not central or dominant; faces not primary focus; background too prominent; composition lacks close‑up emphasis on bánh chưng details\",\n    \"time bucket mismatch: planned DAY but render shows bright/day lighting but composition not clearly daytime close‑up; place mismatch: background includes hills and table distracting from indoor‑like focus; action mismatch: key object (bánh)州\" \n  ],\n  \"fixes\": [\n    \"move bánh chưng to centre of frame and enlarge to dominate composition\",\n    \"shift An and Bà slightly back so faces fill upper third and focus on bánh\",\n    \"reduce size and opacity of background hills and table to de‑emphasize\",\n    \"add subtle afternoon light rim on bánh edges to highlight leaf veins and grid\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"wrong\",\n    \"action\": \"unclear\",\n    \"note\": \"background dominates, key object not central\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1337,
      "tokensIn": 1843,
      "tokensOut": 236,
      "costUsd": 0.00016722,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:24.594Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r0.jpg"
    },
    {
      "id": "cmv6g6o3h006x2ao4ateh1n70",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 41,
      "shotIndex": 4,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 4/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · OFF-PLAN place · Off-plan place: background dominates, key object not central",
      "output": "{\"score\":4,\"verdict\":\"revise\",\"issues\":[\"Off-plan place: background dominates, key object not central\",\"bánh chưng not central or dominant; faces not primary focus; background too prominent; composition lacks close‑up emphasis on bánh chưng details\",\"time bucket mismatch: planned DAY but render shows bright/day lighting but composition not clearly daytime close‑up; place mismatch: background includes hills and table distracting from indoor‑like focus; action mismatch: key object (bánh)州\"],\"fixes\":[\"move bánh chưng to centre of frame and enlarge to dominate composition\",\"shift An and Bà slightly back so faces fill upper third and focus on bánh\",\"reduce size and opacity of background hills and table to de‑emphasize\",\"add subtle afternoon light rim on bánh edges to highlight leaf veins and grid\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"wrong\",\"action\":\"unclear\",\"note\":\"background dominates, key object not central\"}}",
      "critiqueScore": 4,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:24.605Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r0.jpg"
    },
    {
      "id": "cmv6g6q8y006y2ao41qsulzv9",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 42,
      "shotIndex": 1,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "7fad6c3b17cd648a",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A wide outdoor scene with a clear blue sky, three white clouds, and a bright yellow sun in the upper right.\", \"A character with black hair and a beige coat (Bé An) standing on the left side, holding a green dong leaf.\", \"A character with white hair and a green robe (Bà) standing on the right side, near a brown cabinet with a black pot on top.\", \"A low stool with a brown seat and silver legs is on the left, near the wall.\", \"A wavy white wall with several green circular shapes (possibly windows or decorations) runs horizontally behind the characters.\", \"The ground is dark with small green plants scattered across it.\", \"The sun is high, suggesting daytime, likely afternoon due to its brightness.\"], \"problems\": [\"The wall behind the characters is a single, continuous wavy shape with no visible texture or detail that matches a 'brick wall' or 'tiled floor' as described.\", \"The cabinet on the right has a simple design with no visible details that suggest it is a 'charcoal stove' or 'big iron pot' as described.\", \"The stool on the left is a simple low stool without any indication of being a 'charcoal stove' or 'big iron pot'.\", \"The ground is uniformly dark with no visible texture or detail that matches a 'tiled floor' as described.\", \"The characters' expressions are simplified and lack detail, making it difficult to confirm 'Bà smiles' as described.\", \"The overall scene lacks the specific architectural or environmental details (e.g., brick walls, tiled floor) mentioned in the notes.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2914,
      "tokensIn": 569,
      "tokensOut": 342,
      "costUsd": 0.0011622,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:27.394Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r0.jpg"
    },
    {
      "id": "cmv6g6rby006z2ao4yji4dx3g",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 43,
      "shotIndex": 1,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "57784e5aa6f474b2",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 4,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"The render lacks any brick wall or tiled floor details; the wall is a simple wavy shape and the floor is uniformly dark without texture.\",\n    \"The cabinet shown is a plain object with no indication it represents a charcoal stove or holds a big iron pot.\",\n    \"The stool is a generic low stool and does not convey the described charcoal stove or pot.\",\n    \"Bà’s smile is not discernible due to simplified facial expression.\",\n    \"The key objects (dong leaf, charcoal stove, iron pot) are not clearly depicted.\"\n  ],\n  \"fixes\": [\n    \"Add brick wall texture and tiled floor pattern behind characters.\",\n    \"Replace cabinet with a charcoal stove and add a visible iron pot on it.\",\n    \"Enhance Bà’s facial expression to show a clear smile.\",\n    \"Include a dong leaf in Bé An’s hand and a pot on the stove.\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"unclear\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1351,
      "tokensIn": 1632,
      "tokensOut": 246,
      "costUsd": 0.00015696,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:28.798Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r0.jpg"
    },
    {
      "id": "cmv6g6rce00702ao4x0u26x72",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 44,
      "shotIndex": 1,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 4/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · The render lacks any brick wall or tiled floor details; the wall is a simple wavy shape and the floor is uniformly dark without texture.",
      "output": "{\"score\":4,\"verdict\":\"revise\",\"issues\":[\"The render lacks any brick wall or tiled floor details; the wall is a simple wavy shape and the floor is uniformly dark without texture.\",\"The cabinet shown is a plain object with no indication it represents a charcoal stove or holds a big iron pot.\",\"The stool is a generic low stool and does not convey the described charcoal stove or pot.\",\"Bà’s smile is not discernible due to simplified facial expression.\",\"The key objects (dong leaf, charcoal stove, iron pot) are not clearly depicted.\"],\"fixes\":[\"Add brick wall texture and tiled floor pattern behind characters.\",\"Replace cabinet with a charcoal stove and add a visible iron pot on it.\",\"Enhance Bà’s facial expression to show a clear smile.\",\"Include a dong leaf in Bé An’s hand and a pot on the stove.\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"unclear\",\"note\":\"\"}}",
      "critiqueScore": 4,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:28.814Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r0.jpg"
    },
    {
      "id": "cmv6g6vwa00712ao4yrjpm2ru",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 45,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "99097d02cfe900c6",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#grandma--hold-neutral\" x=\"400\" y=\"162\" width=\"504\" height=\"756\"/>\n<ellipse cx=\"900\" cy=\"400\" rx=\"20\" ry=\"10\" fill=\"#4A7C59\"/>\n<ellipse cx=\"1000\" cy=\"420\" rx=\"20\" ry=\"10\" fill=\"#4A7C59\"/>\n<ellipse cx=\"1100\" cy=\"380\" rx=\"20\" ry=\"10\" fill=\"#4A7C59\"/>\n<circle cx=\"950\" cy=\"500\" r=\"15\" fill=\"#F5E6C8\"/>\n<circle cx=\"1000\" cy=\"520\" r=\"15\" fill=\"#F5E6C8\"/>\n<circle cx=\"1050\" cy=\"480\" r=\"15\" fill=\"#F5E6C8\"/>\n<circle cx=\"970\" cy=\"560\" r=\"12\" fill=\"#D4A843\"/>\n<circle cx=\"1020\" cy=\"580\" r=\"12\" fill=\"#D4A843\"/>\n<circle cx=\"1070\" cy=\"540\" r=\"12\" fill=\"#D4A843\"/>\n<rect x=\"960\" y=\"620\" width=\"40\" height=\"20\" fill=\"#C8553D\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\"id\":\"puff1\",\"type\":\"circle\",\"r\":12,\"at\":[300,900],\"fill\":\"#E8D4B980\"},\n    {\"id\":\"puff2\",\"type\":\"circle\",\"r\":10,\"at\":[500,880],\"fill\":\"#E8D4B980\"},\n    {\"id\":\"puff3\",\"type\":\"circle\",\"r\":14,\"at\":[700,920],\"fill\":\"#E8D4B980\"}\n  ],\n  \"tracks\": [\n    {\"target\":\"shapes.puff1.at\",\"keys\":[{\"t\":0,\"v\":[300,900]},{\"t\":4.5,\"v\":[300,750],\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.puff1.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.5,\"v\":0.01,\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.puff2.at\",\"keys\":[{\"t\":0,\"v\":[500,880]},{\"t\":4.5,\"v\":[500,730],\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.puff2.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.5,\"v\":0.01,\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.puff3.at\",\"keys\":[{\"t\":0,\"v\":[700,920]},{\"t\":4.5,\"v\":[700,770],\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.puff3.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.5,\"v\":0.01,\"ease\":\"inOut\"}]}\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 21272,
      "tokensIn": 2130,
      "tokensOut": 4119,
      "costUsd": 0.0043461,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:34.714Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6w4200722ao4lzdw1fay",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 46,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Framing/lighting check failed: this frame is 94% similar to shot 1 (same composition). Change the camera so the cut is visible: a close-up, an over-the-shoulder, or a different corner of the set, different character placement, another part of the set; this frame is 91% similar to shot 3 (same composition). Change the camera so the cut is visible: a close-up, an over-the-shoulder, or a different corner of the set, different character placement, another part of the set.",
      "createdAt": "2026-10-13T08:57:34.994Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g6xic00732ao4yp4n5gla",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 47,
      "shotIndex": 5,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "75246a316ecdb12d",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<!-- warm glows behind characters -->\n<circle cx=\"340\" cy=\"690\" r=\"150\" fill=\"#F5E6C8\" fill-opacity=\"0.2\"/>\n<circle cx=\"1540\" cy=\"690\" r=\"150\" fill=\"#F5E6C8\" fill-opacity=\"0.2\"/>\n<!-- characters -->\n<use href=\"#an--sit-sleepy\" x=\"200\" y=\"480\" width=\"280\" height=\"420\"/>\n<use href=\"#grandma--sit-neutral\" x=\"1400\" y=\"480\" width=\"280\" height=\"420\"/>\n<!-- prop: bánh chưng -->\n<use href=\"#banh-chung\" x=\"900\" y=\"500\" width=\"200\" height=\"200\"/>\n```\n\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"steam1\",\n      \"type\": \"ellipse\",\n      \"rx\": 20,\n      \"ry\": 10,\n      \"at\": [960, 700],\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"steam2\",\n      \"type\": \"ellipse\",\n      \"rx\": 20,\n      \"ry\": 10,\n      \"at\": [940, 720],\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"steam3\",\n      \"type\": \"ellipse\",\n      \"rx\": 20,\n      \"ry\": 10,\n      \"at\": [980, 720],\n      \"fill\": \"#E8D4B9\"\n    }\n  ],\n  \"tracks\": [\n    { \"target\": \"shapes.steam1.at\", \"keys\": [ { \"t\": 0, \"v\": [960, 700] }, { \"t\": 4.1, \"v\": [960, 300], \"ease\": \"inOut\" } ] },\n    { \"target\": \"shapes.steam1.scale\", \"keys\": [ { \"t\": 0, \"v\": 1 }, { \"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\" } ] },\n    { \"target\": \"shapes.steam2.at\", \"keys\": [ { \"t\": 0, \"v\": [940, 720] }, { \"t\": 4.1, \"v\": [940, 320], \"ease\": \"inOut\" } ] },\n    { \"target\": \"shapes.steam2.scale\", \"keys\": [ { \"t\": 0, \"v\": 1 }, { \"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\" } ] },\n    { \"target\": \"shapes.steam3.at\", \"keys\": [ { \"t\": 0, \"v\": [980, 720] }, { \"t\": 4.1, \"v\": [980, 320], \"ease\": \"inOut\" } ] },\n    { \"target\": \"shapes.steam3.scale\", \"keys\": [ { \"t\": 0, \"v\": 1 }, { \"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\" } ] }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 16821,
      "tokensIn": 2056,
      "tokensOut": 3039,
      "costUsd": 0.0033519,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:36.804Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g70d500742ao4ckwattjd",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 48,
      "shotIndex": 5,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3246,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:40.505Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g71i300752ao41bineegi",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 49,
      "shotIndex": 5,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "90080bcf6c1bfc40",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A wide night scene with a dark blue sky, stars, and a full moon.\", \"Two characters, a young person and an elderly person, sitting on low stools on a dark ground.\", \"A green window with yellow panes in the center background.\", \"A potted plant to the left of the window.\", \"A stove with a chimney emitting smoke on the right side, near the elderly person.\", \"A wrapped item (possibly bánh chưng) on a stool near the elderly person.\", \"Circular focus markers around the two characters, indicating attention.\", \"Night shadows and low light overall.\"], \"problems\": [\"The elderly person's stool is partially cut off at the bottom right.\", \"The young person's stool is partially cut off at the bottom left.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1458,
      "tokensIn": 662,
      "tokensOut": 166,
      "costUsd": 0.0007956,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f05-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:41.979Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f05-r0.jpg"
    },
    {
      "id": "cmv6g72fa00762ao41cj4s1mw",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 50,
      "shotIndex": 5,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "8cddb79ea3cfd55e",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 7,\n  \"verdict\": \"accept\",\n  \"issues\": [\n    \"The elderly person's stool is partially cut off at the bottom right.\",\n    \"The young person's stool is partially cut off at the bottom left.\"\n  ],\n  \"fixes\": [\n    \"extend the canvas height to keep both stools fully visible\",\n    \"adjust the positioning of the characters so their feet are fully within the frame\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1147,
      "tokensIn": 1731,
      "tokensOut": 131,
      "costUsd": 0.0001353,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f05-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:43.174Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f05-r0.jpg"
    },
    {
      "id": "cmv6g72fm00772ao4i2adm3z7",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 51,
      "shotIndex": 5,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 7/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · The elderly person's stool is partially cut off at the bottom right.",
      "output": "{\"score\":7,\"verdict\":\"accept\",\"issues\":[\"The elderly person's stool is partially cut off at the bottom right.\",\"The young person's stool is partially cut off at the bottom left.\"],\"fixes\":[\"extend the canvas height to keep both stools fully visible\",\"adjust the positioning of the characters so their feet are fully within the frame\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f05-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:57:43.186Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f05-r0.jpg"
    },
    {
      "id": "cmv6g75nz00782ao4eo3fj0kb",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 52,
      "shotIndex": 1,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "caf421aff288c646",
      "outputSummary": "revise",
      "output": "```svg\n<defs>\n  <linearGradient id=\"leafGrad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n    <stop offset=\"0%\" stop-color=\"#6B8E5A\"/>\n    <stop offset=\"100%\" stop-color=\"#4A7C59\"/>\n  </linearGradient>\n</defs>\n\n<!-- Background set -->\n<use href=\"#courtyard--day\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n\n<!-- Charcoal stove with iron pot -->\n<g id=\"stove\">\n  <!-- stove body -->\n  <rect x=\"900\" y=\"620\" width=\"200\" height=\"120\" fill=\"#3D3D3D\" fill-opacity=\"0.8\"/>\n  <!-- fire -->\n  <circle cx=\"1000\" cy=\"660\" r=\"30\" fill=\"#C8553D\"/>\n  <circle cx=\"1050\" cy=\"680\" r=\"25\" fill=\"#C8553D\"/>\n  <!-- iron pot -->\n  <ellipse cx=\"1000\" cy=\"560\" rx=\"80\" ry=\"30\" fill=\"#6B8E5A\" fill-opacity=\"0.7\"/>\n  <ellipse cx=\"1000\" cy=\"560\" rx=\"70\" ry=\"20\" fill=\"#3D3D3D\"/>\n</g>\n\n<!-- Dong leaf in Bé An's hand -->\n<path d=\"M 720 560 C 680 500, 620 520, 600 560 L 620 580 C 640 620, 700 600, 720 560 Z\"\n      fill=\"url(#leafGrad)\"/>\n\n<!-- Enhance Bà’s smile (small highlight) -->\n<circle cx=\"1380\" cy=\"660\" r=\"8\" fill=\"#FFFFFF\" fill-opacity=\"0.6\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 18553,
      "tokensIn": 1861,
      "tokensOut": 2959,
      "costUsd": 0.0032214,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:47.375Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g75rj00792ao4oobmqvxe",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 53,
      "shotIndex": 1,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Framing/lighting check failed: #an is in this shot but not placed: add <use href=\"#an\" …/> (or its posed variant); #grandma is in this shot but not placed: add <use href=\"#grandma\" …/> (or its posed variant).",
      "createdAt": "2026-10-13T08:57:47.503Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7c63007a2ao4yt6x5fl8",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 54,
      "shotIndex": 6,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "959b5d476c7ca682",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<defs>\n  <radialGradient id=\"glow1\" cx=\"0.5\" cy=\"0.5\" r=\"0.5\">\n    <stop offset=\"0%\" stop-color=\"#FFEB80\" stop-opacity=\"0.3\"/>\n    <stop offset=\"100%\" stop-color=\"#FFEB80\" stop-opacity=\"0\"/>\n  </radialGradient>\n</defs>\n<circle cx=\"552\" cy=\"522\" r=\"200\" fill=\"url(#glow1)\"/>\n<circle cx=\"1152\" cy=\"522\" r=\"200\" fill=\"url(#glow1)\"/>\n<use href=\"#an--look-left-surprised\" x=\"300\" y=\"144\" width=\"504\" height=\"756\"/>\n<use href=\"#grandma--point-smile\" x=\"900\" y=\"144\" width=\"504\" height=\"756\"/>\n<use href=\"#banh-chung\" x=\"600\" y=\"500\" width=\"200\" height=\"200\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 12609,
      "tokensIn": 1698,
      "tokensOut": 2246,
      "costUsd": 0.0025308,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:55.803Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7cf5007b2ao4lgbiwdcf",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 55,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "0a5324ed9625cbea",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#grandma--hold-neutral\" x=\"200\" y=\"180\" width=\"504\" height=\"756\"/>\n<ellipse cx=\"900\" cy=\"800\" rx=\"30\" ry=\"15\" fill=\"#4A7C59\"/>\n<ellipse cx=\"960\" cy=\"820\" rx=\"25\" ry=\"12\" fill=\"#F5E6C8\"/>\n<rect x=\"1020\" y=\"790\" width=\"40\" height=\"20\" fill=\"#C8553D\"/>\n<circle cx=\"860\" cy=\"770\" r=\"10\" fill=\"#D4A843\"/>\n<circle cx=\"940\" cy=\"750\" r=\"10\" fill=\"#D4A843\"/>\n<circle cx=\"1000\" cy=\"730\" r=\"10\" fill=\"#D4A843\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"steam1\",\n      \"type\": \"ellipse\",\n      \"at\": [800, 900],\n      \"rx\": 8,\n      \"ry\": 4,\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"steam2\",\n      \"type\": \"ellipse\",\n      \"at\": [850, 910],\n      \"rx\": 8,\n      \"ry\": 4,\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"steam3\",\n      \"type\": \"ellipse\",\n      \"at\": [900, 905],\n      \"rx\": 8,\n      \"ry\": 4,\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"mote1\",\n      \"type\": \"circle\",\n      \"at\": [400, 200],\n      \"r\": 2,\n      \"fill\": \"#F5E6C8\"\n    },\n    {\n      \"id\": \"mote2\",\n      \"type\": \"circle\",\n      \"at\": [1200, 300],\n      \"r\": 2,\n      \"fill\": \"#F5E6C8\"\n    },\n    {\n      \"id\": \"mote3\",\n      \"type\": \"circle\",\n      \"at\": [600, 500],\n      \"r\": 2,\n      \"fill\": \"#F5E6C8\"\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.steam1.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [800, 900]},\n        {\"t\": 4.5, \"v\": [800, 600], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam1.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [850, 910]},\n        {\"t\": 4.5, \"v\": [850, 580], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [900, 905]},\n        {\"t\": 4.5, \"v\": [900, 590], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.mote1.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [400, 200]},\n        {\"t\": 4.5, \"v\": [420, 180], \"ease\": \"linear\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.mote2.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [1200, 300]},\n        {\"t\": 4.5, \"v\": [1180, 280], \"ease\": \"linear\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.mote3.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [600, 500]},\n        {\"t\": 4.5, \"v\": [580, 480], \"ease\": \"linear\"}\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 2,
      "latencyMs": 21126,
      "tokensIn": 2365,
      "tokensOut": 3494,
      "costUsd": 0.0038541,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:56.129Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7cni007c2ao486gp5xpi",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 56,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 2,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Framing/lighting check failed: this frame is 93% similar to shot 1 (same composition). Change the camera so the cut is visible: a close-up, an over-the-shoulder, or a different corner of the set, different character placement, another part of the set; this frame is 94% similar to shot 3 (same composition). Change the camera so the cut is visible: a close-up, an over-the-shoulder, or a different corner of the set, different character placement, another part of the set.",
      "createdAt": "2026-10-13T08:57:56.430Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7fdq007d2ao45cm5qgrw",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 57,
      "shotIndex": 6,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 61 frames @ 12 fps rendered; acting: an blinks 2×, grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3666,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:57:59.966Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7gcx007e2ao4g5yp6qfl",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 58,
      "shotIndex": 6,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "08f657f1eba16b08",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters, An (left) and Bà (right), stand side by side in a night scene. An has short black hair, wears a light-colored coat, and holds a green checkered box. Bà has white hair, wears a green tọ\"]  \n,\"problems\": [\"The box is too small and not clearly the 'square parcel' mentioned; the 'firelight' is not visible, only a small pot on the table; the background set (stools, table, hills) is not detailed enough to '\"],  \n\"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1253,
      "tokensIn": 655,
      "tokensOut": 120,
      "costUsd": 0.000681,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:01.233Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r0.jpg"
    },
    {
      "id": "cmv6g7h7z007f2ao44m6zap3q",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 59,
      "shotIndex": 6,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "92ce23e838161c1b",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 5,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"The square parcel is too small and not clearly recognizable as the key object.\",\n    \"Firelight is not visible; only a pot is shown, missing the described firelight effect.\",\n    \"Background details like stools and table are not sufficiently detailed to convey the setting.\",\n    \"Composition is off‑center and lacks clear rule‑of‑thirds balance.\"\n  ],\n  \"fixes\": [\n    \"Enlarge the square parcel and add clear checkered pattern to make it unmistakable.\",\n    \"Add visible firelight glow or embers around the pot to indicate dancing firelight.\",\n    \"Include more detailed stools and a simple table in the background to set the scene.\",\n    \"Reposition characters to align with the left and right thirds for better composition.\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"wrong\",\n    \"note\": \"The key object (square parcel) is not clearly shown.\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1063,
      "tokensIn": 1752,
      "tokensOut": 231,
      "costUsd": 0.00016056,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:02.351Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r0.jpg"
    },
    {
      "id": "cmv6g7h8b007g2ao4ipm40hm5",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 60,
      "shotIndex": 6,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 5/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · action note · Key action: The key object (square parcel) is not clearly shown.",
      "output": "{\"score\":5,\"verdict\":\"revise\",\"issues\":[\"Key action: The key object (square parcel) is not clearly shown.\",\"The square parcel is too small and not clearly recognizable as the key object.\",\"Firelight is not visible; only a pot is shown, missing the described firelight effect.\",\"Background details like stools and table are not sufficiently detailed to convey the setting.\",\"Composition is off‑center and lacks clear rule‑of‑thirds balance.\"],\"fixes\":[\"Enlarge the square parcel and add clear checkered pattern to make it unmistakable.\",\"Add visible firelight glow or embers around the pot to indicate dancing firelight.\",\"Include more detailed stools and a simple table in the background to set the scene.\",\"Reposition characters to align with the left and right thirds for better composition.\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"wrong\",\"note\":\"The key object (square parcel) is not clearly shown.\"}}",
      "critiqueScore": 5,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:02.363Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r0.jpg"
    },
    {
      "id": "cmv6g7p9p007h2ao4mktfyl72",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 61,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "d77cb87d9890a8b1",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#grandma--hold-neutral\" x=\"400\" y=\"300\" width=\"467\" height=\"700\"/>\n<ellipse cx=\"580\" cy=\"780\" rx=\"25\" ry=\"12\" fill=\"#4A7C59\"/>\n<ellipse cx=\"620\" cy=\"820\" rx=\"20\" ry=\"10\" fill=\"#F5E6C8\"/>\n<circle cx=\"660\" cy=\"800\" r=\"8\" fill=\"#D4A843\"/>\n<rect x=\"700\" y=\"790\" width=\"30\" height=\"15\" fill=\"#C8553D\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"puff1\",\n      \"type\": \"ellipse\",\n      \"rx\": 8,\n      \"ry\": 4,\n      \"fill\": \"#E8D4B9\",\n      \"at\": [900, 800]\n    },\n    {\n      \"id\": \"puff2\",\n      \"type\": \"ellipse\",\n      \"rx\": 6,\n      \"ry\": 3,\n      \"fill\": \"#E8D4B9\",\n      \"at\": [960, 820]\n    },\n    {\n      \"id\": \"puff3\",\n      \"type\": \"ellipse\",\n      \"rx\": 7,\n      \"ry\": 3,\n      \"fill\": \"#E8D4B9\",\n      \"at\": [1020, 790]\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.puff1.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [900, 800]},\n        {\"t\": 4.5, \"v\": [900, 650], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.puff1.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.puff2.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [960, 820]},\n        {\"t\": 4.5, \"v\": [960, 670], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.puff2.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.puff3.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [1020, 790]},\n        {\"t\": 4.5, \"v\": [1020, 640], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.puff3.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 3,
      "latencyMs": 16342,
      "tokensIn": 2243,
      "tokensOut": 2478,
      "costUsd": 0.0029031,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:12.781Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7s39007i2ao4t4v0dnae",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 62,
      "shotIndex": 4,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "9da564a34504bd22",
      "outputSummary": "revise",
      "output": "```svg\n<use href=\"#courtyard--day\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#F5E6C8\" fill-opacity=\"0.2\"/>\n<use href=\"#grandma--look-right-smile\" x=\"200\" y=\"0\" width=\"733\" height=\"1100\"/>\n<g transform=\"translate(-1733 0) scale(-1 1)\">\n  <use href=\"#an--hold-laugh\" x=\"0\" y=\"0\" width=\"733\" height=\"1100\"/>\n</g>\n<use href=\"#banh-chung\" x=\"645\" y=\"285\" width=\"630\" height=\"630\" fill=\"none\" stroke=\"#F5E6C8\" stroke-width=\"8\" stroke-opacity=\"0.3\"/>\n<use href=\"#banh-chung\" x=\"660\" y=\"300\" width=\"600\" height=\"600\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 51824,
      "tokensIn": 2054,
      "tokensOut": 8602,
      "costUsd": 0.008358,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:16.437Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7sd9007j2ao4m92uhos5",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 63,
      "shotIndex": 2,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 54 frames @ 12 fps rendered; acting: grandma blinks 2×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3711,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:16.798Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7sdr007k2ao49qsmola9",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 64,
      "shotIndex": 4,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Framing/lighting check failed: #an is placed but not visible (off-canvas or covered).",
      "createdAt": "2026-10-13T08:58:16.815Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7syi007l2ao4gax4ky7a",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 65,
      "shotIndex": 6,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "d7bd15fba44fe9c2",
      "outputSummary": "revise",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n\n<defs>\n  <!-- warm glow for characters -->\n  <radialGradient id=\"glow\" cx=\"0.5\" cy=\"0.5\" r=\"0.5\">\n    <stop offset=\"0%\" stop-color=\"#FFEB80\" stop-opacity=\"0.35\"/>\n    <stop offset=\"100%\" stop-color=\"#FFEB80\" stop-opacity=\"0\"/>\n  </radialGradient>\n  <!-- subtle ember glow -->\n  <radialGradient id=\"ember\" cx=\"0.5\" cy=\"0.5\" r=\"0.5\">\n    <stop offset=\"0%\" stop-color=\"#F5E6C8\" stop-opacity=\"0.6\"/>\n    <stop offset=\"100%\" stop-color=\"#F5E6C8\" stop-opacity=\"0\"/>\n  </radialGradient>\n</defs>\n\n<!-- glows behind characters -->\n<circle cx=\"388\" cy=\"522\" r=\"180\" fill=\"url(#glow)\"/>\n<circle cx=\"1028\" cy=\"522\" r=\"180\" fill=\"url(#glow)\"/>\n\n<!-- ember / firelight around the pot (approximate pot centre) -->\n<circle cx=\"960\" cy=\"820\" r=\"22\" fill=\"url(#ember)\"/>\n<circle cx=\"940\" cy=\"805\" r=\"18\" fill=\"url(#ember)\" fill-opacity=\"0.8\"/>\n<circle cx=\"980\" cy=\"835\" r=\"16\" fill=\"url(#ember)\" fill-opacity=\"0.8\"/>\n<circle cx=\"970\" cy=\"795\" r=\"14\" fill=\"url(#ember)\" fill-opacity=\"0.9\"/>\n\n<!-- simple stool details (two stools) -->\n<rect x=\"350\" y=\"880\" width=\"80\" height=\"20\" fill=\"#8B5E3C\"/>\n<rect x=\"350\" y=\"860\" width=\"20\" height=\"20\" fill=\"#8B5E3C\"/>\n<rect x=\"410\" y=\"860\" width=\"20\" height=\"20\" fill=\"#8B5E3C\"/>\n\n<rect x=\"990\" y=\"880\" width=\"80\" height=\"20\" fill=\"#8B5E3C\"/>\n<rect x=\"990\" y=\"860\" width=\"20\" height=\"20\" fill=\"#8B5E3C\"/>\n<rect x=\"1050\" y=\"860\" width=\"20\" height=\"20\" fill=\"#8B5E3C\"/>\n\n<!-- enlarged banh-chung with checkered pattern -->\n<g>\n  <!-- base parcel -->\n  <use href=\"#banh-chung\" x=\"660\" y=\"460\" width=\"400\" height=\"400\"/>\n  <!-- checkered overlay: 4x4 dark squares -->\n  <rect x=\"660\" y=\"460\" width=\"100\" height=\"100\" fill=\"#4A7C59\" fill-opacity=\"0.4\"/>\n  <rect x=\"860\" y=\"460\" width=\"100\" height=\"100\" fill=\"#4A7C59\" fill-opacity=\"0.4\"/>\n  <rect x=\"660\" y=\"560\" width=\"100\" height=\"100\" fill=\"#4A7C59\" fill-opacity=\"0.4\"/>\n  <rect x=\"860\" y=\"560\" width=\"100\" height=\"100\" fill=\"#4A7C59\" fill-opacity=\"0.4\"/>\n  <rect x=\"760\" y=\"560\" width=\"100\" height=\"100\" fill=\"#4A7C59\" fill-opacity=\"0.4\"/>\n  <rect x=\"660\" y=\"660\" width=\"100\" height=\"100\" fill=\"#4A7C59\" fill-opacity=\"0.4\"/>\n  <rect x=\"760\" y=\"660\" width=\"100\" height=\"100\" fill=\"#4A7C59\" fill-opacity=\"0.4\"/>\n  <rect x=\"860\" y=\"660\" width=\"100\" height=\"100\" fill=\"#4A7C59\" fill-opacity=\"0.4\"/>\n</g>\n\n<!-- characters (posed as specified) -->\n<use href=\"#an--look-left-surprised\" x=\"388\" y=\"144\" width=\"504\" height=\"756\"/>\n<use href=\"#grandma--point-smile\" x=\"1028\" y=\"144\" width=\"504\" height=\"756\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 15194,
      "tokensIn": 2221,
      "tokensOut": 2392,
      "costUsd": 0.0028191,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:17.562Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g7u54007m2ao461nxq27a",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 66,
      "shotIndex": 2,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "5b1c1a60a1b44cad",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A character in a green outfit stands in the center of the frame, facing forward.\", \"The character has a white head covering and a smiling expression.\", \"The background features a light blue sky with three white clouds and a bright yellow sun.\", \"There is a white wall with green circular patterns behind the character.\", \"To the left, there is a tall, thin stool with a brown seat.\", \"To the right, there is a wooden cabinet with a pot on top, emitting a small wisp of smoke.\", \"The ground is dark with small, scattered shapes resembling plants or grass.\"], \"problems\": [\"The character's hands are empty; they should be spreading glossy green dong leaves on a woven mat.\", \"No woven mat or food items (white glutinous rice, mung bean filling, pork) are visible.\", \"The composition is identical to previous shots, lacking variation for a medium shot.\", \"The character is not engaged in the described action.\", \"The lighting and time of day do not match the 'afternoon light' description.\", \"The character's pose is static and not focused on hands or food preparation.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2285,
      "tokensIn": 653,
      "tokensOut": 240,
      "costUsd": 0.0009678,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:19.096Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r0.jpg"
    },
    {
      "id": "cmv6g7uro007n2ao4f3kc4pcn",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 67,
      "shotIndex": 6,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "d9014baa8c3a580e",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters, An and Bà, are side by side in a medium shot.\", \"An is on the left, Bà on the right, both standing upright.\", \"The scene is set at night with a dark blue sky and stars.\", \"A green quilted package (banh chung) is visible behind them, slightly to the left.\", \"A small table with a pot on it is on the right, emitting a small wisp of smoke.\", \"Two stools are present: one behind An, one behind Bà.\", \"There are two small square objects on the ground in front of the characters.\"], \"problems\": [\"The characters' feet are partially cut off at the bottom of the frame.\", \"The composition does not show the characters sitting on stools as described; they are standing.\", \"The banh chung is not clearly identified as the 'square parcel' Bà is gesturing toward.\", \"The pot on the table is not clearly associated with the 'legend of Lang Liêu' as described.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1926,
      "tokensIn": 655,
      "tokensOut": 216,
      "costUsd": 0.0009114,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:19.908Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r1.jpg"
    },
    {
      "id": "cmv6g7vde007o2ao4iu4thbd5",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 68,
      "shotIndex": 2,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "f20ad90ce8d6072c",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 3,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"character's hands are empty; no woven mat or food items visible\",\n    \"composition identical to previous shots, lacking variation\",\n    \"lighting and time of day do not match 'afternoon light' description\",\n    \"character not engaged in described action\",\n    \"background elements (sky, sun, wall patterns) do not align with courtyard setting\"\n  ],\n  \"fixes\": [\n    \"move grandma's hands to spread glossy green dong leaves on a woven mat\",\n    \"add woven mat with white glutinous rice, mung bean filling, and pork on it\",\n    \"shift composition to a different angle (e.g., over-the-shoulder view) or reposition character\",\n    \"adjust lighting to show warm afternoon light filtering through courtyard bricks\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"wrong\",\n    \"action\": \"wrong\",\n    \"note\": \"hands empty, no food items, wrong lighting\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1535,
      "tokensIn": 1670,
      "tokensOut": 231,
      "costUsd": 0.00015564,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:20.690Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r0.jpg"
    },
    {
      "id": "cmv6g7vdq007p2ao4ok5aliyx",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 69,
      "shotIndex": 2,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 3/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · OFF-PLAN place · action note · Off-plan place: hands empty, no food items, wrong lighting",
      "output": "{\"score\":3,\"verdict\":\"revise\",\"issues\":[\"Off-plan place: hands empty, no food items, wrong lighting\",\"character's hands are empty; no woven mat or food items visible\",\"composition identical to previous shots, lacking variation\",\"lighting and time of day do not match 'afternoon light' description\",\"character not engaged in described action\",\"background elements (sky, sun, wall patterns) do not align with courtyard setting\"],\"fixes\":[\"move grandma's hands to spread glossy green dong leaves on a woven mat\",\"add woven mat with white glutinous rice, mung bean filling, and pork on it\",\"shift composition to a different angle (e.g., over-the-shoulder view) or reposition character\",\"adjust lighting to show warm afternoon light filtering through courtyard bricks\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"wrong\",\"action\":\"wrong\",\"note\":\"hands empty, no food items, wrong lighting\"}}",
      "critiqueScore": 3,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:20.702Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r0.jpg"
    },
    {
      "id": "cmv6g7vl9007q2ao4qy7szkap",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 70,
      "shotIndex": 6,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "133ffbffde1a2737",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 5,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"characters' feet are partially cut off\",\n    \"characters are standing instead of sitting on stools\",\n    \"banh chung not clearly identified as square parcel\",\n    \"pot not clearly associated with legend\"\n  ],\n  \"fixes\": [\n    \"move characters to sit on stools\",\n    \"raise feet to be fully visible\",\n    \"position banh chung directly in front of Bà's gesture\",\n    \"add clear pot with smoke near characters\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"wrong\",\n    \"note\": \"characters standing, not sitting\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1021,
      "tokensIn": 2619,
      "tokensOut": 164,
      "costUsd": 0.0001965,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:20.973Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r1.jpg"
    },
    {
      "id": "cmv6g7vlm007r2ao4d5r8k6ap",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 71,
      "shotIndex": 6,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 5/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · action note · Key action: characters standing, not sitting",
      "output": "{\"score\":5,\"verdict\":\"revise\",\"issues\":[\"Key action: characters standing, not sitting\",\"characters' feet are partially cut off\",\"characters are standing instead of sitting on stools\",\"banh chung not clearly identified as square parcel\",\"pot not clearly associated with legend\"],\"fixes\":[\"move characters to sit on stools\",\"raise feet to be fully visible\",\"position banh chung directly in front of Bà's gesture\",\"add clear pot with smoke near characters\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"wrong\",\"note\":\"characters standing, not sitting\"}}",
      "critiqueScore": 5,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:20.986Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f06-r1.jpg"
    },
    {
      "id": "cmv6g7vlr007s2ao4ie8zkr1m",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 72,
      "shotIndex": 6,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "keep",
      "promptHash": null,
      "outputSummary": "Revision scored 5 ≤ 5: kept the previous version",
      "output": null,
      "critiqueScore": 5,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:20.991Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8744007t2ao4ievdzrom",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 73,
      "shotIndex": 1,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "fd04f4e47b9de663",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#courtyard--day\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<g id=\"wallTex\">\n  <!-- left wall bricks -->\n  <rect x=\"0\"   y=\"0\"   width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"130\" y=\"0\"   width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"0\"   y=\"70\"  width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"130\" y=\"70\"  width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"0\"   y=\"140\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"130\" y=\"140\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"0\"   y=\"210\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"130\" y=\"210\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"0\"   y=\"280\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"130\" y=\"280\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <!-- right wall bricks -->\n  <rect x=\"1620\" y=\"0\"   width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"1750\" y=\"0\"   width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"1620\" y=\"70\"  width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"1750\" y=\"70\"  width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"1620\" y=\"140\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"1750\" y=\"140\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"1620\" y=\"210\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"1750\" y=\"210\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"1620\" y=\"280\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n  <rect x=\"1750\" y=\"280\" width=\"120\" height=\"60\" fill=\"#8B5E3C\"/>\n</g>\n<g id=\"floorTex\">\n  <!-- floor tiles -->\n  <rect x=\"0\"   y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"140\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"280\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"420\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"560\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"700\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"840\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"980\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1120\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1260\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1400\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1540\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1680\" y=\"800\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"0\"   y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"140\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"280\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"420\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"560\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"700\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"840\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"980\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1120\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1260\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1400\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1540\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n  <rect x=\"1680\" y=\"940\" width=\"120\" height=\"120\" fill=\"#D4A843\"/>\n</g>\n<g id=\"stove\">\n  <rect x=\"900\" y=\"700\" width=\"200\" height=\"120\" fill=\"#3D3D3D\"/>\n  <circle cx=\"1000\" cy=\"670\" r=\"30\" fill=\"#C8553D\"/>\n</g>\n<use href=\"#an--stand-smile\" x=\"200\" y=\"380\" width=\"280\" height=\"420\"/>\n<use href=\"#grandma--stand-smile\" x=\"1480\" y=\"380\" width=\"280\" height=\"420\"/>\n<ellipse cx=\"460\" cy=\"632\" rx=\"15\" ry=\"7\" fill=\"#6B8E5A\"/>\n```",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 48397,
      "tokensIn": 2255,
      "tokensOut": 8872,
      "costUsd": 0.0086613,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:35.908Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g89aw007u2ao4h4s5v5ut",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 74,
      "shotIndex": 1,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "df8960357b6521d7",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A wide shot of an outdoor courtyard with a blue sky, white clouds, and a yellow sun.\", \"A young boy (Bé An) stands on the left side, wearing a beige coat and black shoes, smiling.\", \"An elderly woman (Bà) stands on the right side, wearing a green robe, smiling.\", \"A black rectangular object with a red circle on top is centered between the boy and the woman.\", \"A potted plant with green leaves is placed near the boy.\", \"A wooden table with a black object on it is near the elderly woman.\", \"The ground is covered with yellow and brown tiles.\", \"The background has a white wall with green circular patterns and two brown window frames on the sides.\"], \"problems\": [\"The boy's right hand is not visible, possibly cut off by the frame edge.\", \"The elderly woman's left hand is not visible, possibly cut off by the frame edge.\", \"The black rectangular object in the center is not clearly identified as a 'charcoal stove' or 'big iron pot' in the visual details.\", \"The 'low stools' mentioned in the notes are not visible in the frame.\", \"The 'brick walls' are not visible in the frame, only window frames are present.\", \"The 'tiled floor' is visible, but the specific 'golden afternoon light' is not strongly indicated by the lighting in the image.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 2444,
      "tokensIn": 583,
      "tokensOut": 296,
      "costUsd": 0.0010602,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:38.744Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r1.jpg"
    },
    {
      "id": "cmv6g8a58007v2ao4g6kpvrpw",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 75,
      "shotIndex": 1,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "9e2dc2c7c227c86f",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 7,\n  \"verdict\": \"accept\",\n  \"issues\": [\n    \"The black rectangular object in the center is not clearly identified as a charcoal stove or big iron pot.\",\n    \"The low stools mentioned in the notes are not visible in the frame.\",\n    \"The brick walls are not visible, only window frames are present.\",\n    \"The specific golden afternoon light is not strongly indicated by the lighting in the image.\"\n  ],\n  \"fixes\": [\n    \"Add visible low stools near the stove.\",\n    \"Make the black rectangular object clearly look like a charcoal stove with a fire.\",\n    \"Include visible brick walls in the background.\",\n    \"Enhance warm golden afternoon lighting on the courtyard.\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1039,
      "tokensIn": 3379,
      "tokensOut": 190,
      "costUsd": 0.00024834,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:39.836Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r1.jpg"
    },
    {
      "id": "cmv6g8a5n007w2ao4e9nzcnb8",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 76,
      "shotIndex": 1,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 7/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · The black rectangular object in the center is not clearly identified as a charcoal stove or big iron pot.",
      "output": "{\"score\":7,\"verdict\":\"accept\",\"issues\":[\"The black rectangular object in the center is not clearly identified as a charcoal stove or big iron pot.\",\"The low stools mentioned in the notes are not visible in the frame.\",\"The brick walls are not visible, only window frames are present.\",\"The specific golden afternoon light is not strongly indicated by the lighting in the image.\"],\"fixes\":[\"Add visible low stools near the stove.\",\"Make the black rectangular object clearly look like a charcoal stove with a fire.\",\"Include visible brick walls in the background.\",\"Enhance warm golden afternoon lighting on the courtyard.\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:39.851Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f01-r1.jpg"
    },
    {
      "id": "cmv6g8d6n007x2ao44kv949ml",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 77,
      "shotIndex": 1,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 56 frames @ 12 fps rendered; acting: an blinks 1×, grandma blinks 2×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3915,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:43.775Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8d6t007y2ao4hwemfpih",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 78,
      "shotIndex": 1,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "uplift",
      "promptHash": null,
      "outputSummary": "Revision accepted: 4 → 7",
      "output": null,
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:43.781Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8h3l007z2ao4clq6hqaa",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 79,
      "shotIndex": 4,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "705cc2ee6350f47c",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#courtyard--day\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#F5E6C8\" fill-opacity=\"0.15\"/>\n<!-- Grandma (looking right) -->\n<use href=\"#grandma--look-right-smile\" x=\"300\" y=\"0\" width=\"867\" height=\"1300\"/>\n<!-- An (holding laughing) -->\n<use href=\"#an--hold-laugh\" x=\"1000\" y=\"0\" width=\"867\" height=\"1300\"/>\n<!-- Bánh chưng rim (afternoon light) -->\n<use href=\"#banh-chung\" x=\"713\" y=\"230\" width=\"740\" height=\"740\" fill=\"none\" stroke=\"#F5E6C8\" stroke-width=\"8\" stroke-opacity=\"0.3\"/>\n<!-- Bánh chưng -->\n<use href=\"#banh-chung\" x=\"733\" y=\"250\" width=\"700\" height=\"700\"/>\n<!-- Foreground speck for depth -->\n<circle cx=\"150\" cy=\"900\" r=\"20\" fill=\"#E8D4B9\" fill-opacity=\"0.4\"/>\n```",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 32028,
      "tokensIn": 2057,
      "tokensOut": 5097,
      "costUsd": 0.0052044,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:48.849Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8ivd00802ao4p3hbdpl0",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 80,
      "shotIndex": 4,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "4fa9030c3f191ed3",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters, one older with gray hair in a green robe, one younger with black hair in a beige robe, both smiling.\", \"The younger character holds a green square object with yellow grid lines, resembling bánh chưng.\", \"The background shows a simple landscape with a blue sky, white clouds, green hills, and a few small plants on the ground.\", \"There is a stool and a cabinet with items on it in the background.\", \"The lighting suggests daytime, with soft shadows and a warm glow on the characters' faces.\"], \"problems\": [\"The focus is not on the bánh chưng, which is small and not the center of attention.\", \"The characters' faces are not in close-up, as the shot description requests a close-up on the bánh chưng.\", \"The composition does not emphasize the bánh chưng in the characters' hands as the primary subject.\", \"The characters' expressions and the background are more prominent than the bánh chưng.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1844,
      "tokensIn": 653,
      "tokensOut": 207,
      "costUsd": 0.0008886,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:51.145Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r1.jpg"
    },
    {
      "id": "cmv6g8jlt00812ao4109rjsqs",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 81,
      "shotIndex": 4,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "013ac891208a478c",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 4,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"bánh chưng too small and not centered\",\n    \"characters dominate composition, not the bánh chưng\",\n    \"background elements distract from focus\",\n    \"lighting bright but composition unclear\"\n  ],\n  \"fixes\": [\n    \"move bánh-chung to centre 50% across, 70% down\",\n    \"scale bánh-chưng to 15% of frame height\",\n    \"reduce size of grandma and an to 80% height\",\n    \"add subtle shadow under bánh-chưng to highlight it\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"wrong\",\n    \"note\": \"bánh chưng not clearly the focus\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 896,
      "tokensIn": 1735,
      "tokensOut": 187,
      "costUsd": 0.00014898,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:52.097Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r1.jpg"
    },
    {
      "id": "cmv6g8jm500822ao4tz2it0dr",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 82,
      "shotIndex": 4,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 4/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · action note · Key action: bánh chưng not clearly the focus",
      "output": "{\"score\":4,\"verdict\":\"revise\",\"issues\":[\"Key action: bánh chưng not clearly the focus\",\"bánh chưng too small and not centered\",\"characters dominate composition, not the bánh chưng\",\"background elements distract from focus\",\"lighting bright but composition unclear\"],\"fixes\":[\"move bánh-chung to centre 50% across, 70% down\",\"scale bánh-chưng to 15% of frame height\",\"reduce size of grandma and an to 80% height\",\"add subtle shadow under bánh-chưng to highlight it\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"wrong\",\"note\":\"bánh chưng not clearly the focus\"}}",
      "critiqueScore": 4,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:58:52.109Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f04-r1.jpg"
    },
    {
      "id": "cmv6g8jmc00832ao40oyg7ij8",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 83,
      "shotIndex": 4,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "keep",
      "promptHash": null,
      "outputSummary": "Revision scored 4 ≤ 4: kept the previous version",
      "output": null,
      "critiqueScore": 4,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:52.116Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8jmj00842ao4hv5xsjlx",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 84,
      "shotIndex": 4,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "off-plan",
      "promptHash": null,
      "outputSummary": "Shot 4 still off-plan after revisions (place)",
      "output": null,
      "critiqueScore": 4,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "background dominates, key object not central",
      "createdAt": "2026-10-13T08:58:52.123Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8kt900852ao4mp2iio2h",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 85,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "7717717161ea87e8",
      "outputSummary": "revise",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<circle cx=\"960\" cy=\"200\" r=\"300\" fill=\"#F5E6C8\" fill-opacity=\"0.2\"/>\n<rect x=\"500\" y=\"560\" width=\"400\" height=\"80\" fill=\"#D4A843\"/>\n<circle cx=\"520\" cy=\"580\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"560\" cy=\"590\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"600\" cy=\"570\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"640\" cy=\"585\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"540\" cy=\"610\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"580\" cy=\"620\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"620\" cy=\"600\" r=\"8\" fill=\"#F5E6C8\"/>\n<ellipse cx=\"530\" cy=\"600\" rx=\"10\" ry=\"5\" fill=\"#D4A843\"/>\n<ellipse cx=\"570\" cy=\"610\" rx=\"10\" ry=\"5\" fill=\"#D4A843\"/>\n<ellipse cx=\"610\" cy=\"590\" rx=\"10\" ry=\"5\" fill=\"#D4A843\"/>\n<rect x=\"560\" cy=\"610\" width=\"20\" height=\"10\" fill=\"#C8553D\"/>\n<rect x=\"600\" cy=\"620\" width=\"20\" height=\"10\" fill=\"#C8553D\"/>\n<rect x=\"540\" cy=\"595\" width=\"20\" height=\"10\" fill=\"#C8553D\"/>\n<use href=\"#grandma--hold-neutral\" x=\"200\" y=\"200\" width=\"480\" height=\"720\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"steam1\",\n      \"type\": \"ellipse\",\n      \"rx\": 4,\n      \"ry\": 8,\n      \"at\": [300, 900],\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"steam2\",\n      \"type\": \"ellipse\",\n      \"rx\": 4,\n      \"ry\": 8,\n      \"at\": [340, 880],\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"steam3\",\n      \"type\": \"ellipse\",\n      \"rx\": 4,\n      \"ry\": 8,\n      \"at\": [380, 860],\n      \"fill\": \"#E8D4B9\"\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.steam1.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [300, 900] },\n        { \"t\": 4.5, \"v\": [300, 600], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam1.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [340, 880] },\n        { \"t\": 4.5, \"v\": [340, 580], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [380, 860] },\n        { \"t\": 4.5, \"v\": [380, 560], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 32953,
      "tokensIn": 2244,
      "tokensOut": 5387,
      "costUsd": 0.0055215,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:58:53.661Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8kzj00862ao4oxb7fz5i",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 86,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Framing/lighting check failed: this frame is 93% similar to shot 3 (same composition). Change the camera so the cut is visible: a close-up, an over-the-shoulder, or a different corner of the set, different character placement, another part of the set.",
      "createdAt": "2026-10-13T08:58:53.887Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8qr900872ao48ju6sv9c",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 87,
      "shotIndex": 7,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "907647d1413e1ba0",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<defs>\n  <radialGradient id=\"glow\" cx=\"0%\" cy=\"0%\" r=\"50%\">\n    <stop offset=\"0%\" stop-color=\"#F5E6C8\" stop-opacity=\"0.6\"/>\n    <stop offset=\"100%\" stop-color=\"#F5E6C8\" stop-opacity=\"0\"/>\n  </radialGradient>\n</defs>\n<!-- warm glows behind characters -->\n<circle cx=\"480\" cy=\"540\" r=\"200\" fill=\"url(#glow)\"/>\n<circle cx=\"1440\" cy=\"540\" r=\"200\" fill=\"url(#glow)\"/>\n<!-- characters (close‑up, height > canvas, y=0 keeps heads fully visible) -->\n<use href=\"#grandma--point-neutral\" x=\"0\" y=\"0\" width=\"960\" height=\"1440\"/>\n<use href=\"#an--look-right-surprised\" x=\"960\" y=\"0\" width=\"960\" height=\"1440\"/>\n<!-- prop: bánh chưng on the stool (1:1 ratio, placed between the figures) -->\n<use href=\"#banh-chung\" x=\"750\" y=\"250\" width=\"300\" height=\"300\"/>\n</svg>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 40368,
      "tokensIn": 1677,
      "tokensOut": 6409,
      "costUsd": 0.0062712,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:01.365Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8sxw00882ao41xq7qs6x",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 88,
      "shotIndex": 8,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "cbaa413f43ea95c1",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#rooftops\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<defs>\n  <radialGradient id=\"glow\" cx=\"0%\" cy=\"0%\" r=\"70%\" fx=\"0%\" fy=\"0%\">\n    <stop offset=\"0%\" stop-color=\"#FFEB84\" stop-opacity=\"0.6\"/>\n    <stop offset=\"100%\" stop-color=\"#FFEB84\" stop-opacity=\"0\"/>\n  </radialGradient>\n</defs>\n<circle cx=\"644\" cy=\"664\" r=\"150\" fill=\"url(#glow)\"/>\n<circle cx=\"1244\" cy=\"664\" r=\"150\" fill=\"url(#glow)\"/>\n<use href=\"#an--stand-surprised\" x=\"500\" y=\"880\" width=\"288\" height=\"432\"/>\n<use href=\"#grandma--stand-smile\" x=\"1100\" y=\"880\" width=\"288\" height=\"432\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\"id\":\"spark1\",\"type\":\"circle\",\"r\":5,\"at\":[300,200],\"fill\":\"#FFF8DC\"},\n    {\"id\":\"spark2\",\"type\":\"circle\",\"r\":5,\"at\":[900,150],\"fill\":\"#FFF8DC\"},\n    {\"id\":\"spark3\",\"type\":\"circle\",\"r\":5,\"at\":[1500,250],\"fill\":\"#FFF8DC\"},\n    {\"id\":\"spark4\",\"type\":\"circle\",\"r\":5,\"at\":[600,400],\"fill\":\"#FFF8DC\"}\n  ],\n  \"tracks\": [\n    {\"target\":\"shapes.spark1.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.01,\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.spark2.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.01,\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.spark3.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.01,\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.spark4.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.01,\"ease\":\"inOut\"}]}\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 20409,
      "tokensIn": 1996,
      "tokensOut": 3356,
      "costUsd": 0.0036192,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:04.196Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8tcf00892ao47phi1b4t",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 89,
      "shotIndex": 8,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Framing/lighting check failed: #an is cut by the bottom edge of the frame (only 7% of the frame wide is visible): move it inside so the whole figure shows (in a wide shot the feet stay in frame: make it smaller or move it up); a character is cut by the frame only when the shot has it leave or enter; #grandma is cut by the bottom edge of the frame (only 6% of the frame wide is visible): move it inside so the whole figure shows (in a wide shot the feet stay in frame: make it smaller or move it up); a character is cut by the frame only when the shot has it leave or enter; the main character is only 16% of the frame height as rendered; a \"Wide shot\" needs at least 25% (use height=\"270\" or more with width = height × 2/3, and no shrinking transform).",
      "createdAt": "2026-10-13T08:59:04.719Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8tr6008a2ao49ktt2u2e",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 90,
      "shotIndex": 7,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: grandma blinks 1×, an blinks 2×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3431,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:05.251Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8vqm008b2ao4sfl6xi6x",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 91,
      "shotIndex": 7,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "6f5040319eb43a7b",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters: an elderly woman in green traditional attire (possibly Bà) and a younger person in beige (possibly An) stand facing each other.\", \"Bà holds a green and yellow checkered box (likely bánh chưng) in her right hand, extended towards An.\", \"An has a surprised expression with wide eyes and an open mouth, looking at the box.\", \"The background is a night scene with a dark blue sky, scattered stars, and a building with circular windows.\", \"The lighting is dim, consistent with a nighttime setting, with no visible firelight reflections on An's face or the box.\", \"The characters are centered in the frame, with their upper bodies and faces clearly visible.\", \"The elderly woman's head is fully in the frame, and An's head is also fully in the frame.\", \"The box is held at about waist height, not on a stool as described.\"], \"problems\": [\"The box is not on a stool; it is held in Bà's hand.\", \"No firelight reflections are visible on An's face or the box.\", \"The shot is not a close-up of Bà's finger pointing at the box, but a medium shot of both characters.\", \"The background is too dark and lacks detail to be considered 'intimate' or 'set readable' in the context of a close-up.\", \"The composition does not focus on a close-up of a specific element (finger, box, face) as described in the shot notes.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2555,
      "tokensIn": 661,
      "tokensOut": 312,
      "costUsd": 0.0011454,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:07.822Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r0.jpg"
    },
    {
      "id": "cmv6g8wuc008c2ao4ubwrtxtg",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 92,
      "shotIndex": 7,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "ee43ef7276198eeb",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 3,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"The box is held in Bà's hand instead of being on a stool as described in the plan.\",\n    \"No firelight reflections are visible on An's face or the box, missing the intimate nighttime atmosphere.\",\n    \"The shot is a medium shot of both characters rather than a close-up focusing on Bà's finger pointing at the box.\",\n    \"The background is overly dark and lacks detail, failing to convey the intended intimate night setting.\"\n  ],\n  \"fixes\": [\n    \"move bánh-chung to a stool at waist height\",\n    \"add firelight reflections on An's face and the box\",\n    \"zoom in to focus on Bà's finger pointing at the box\",\n    \"add subtle background details to reduce excessive darkness\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"wrong\",\n    \"note\": \"box not on stool\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1383,
      "tokensIn": 1936,
      "tokensOut": 221,
      "costUsd": 0.0001692,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:09.252Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r0.jpg"
    },
    {
      "id": "cmv6g8wur008d2ao4gqkpb79d",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 93,
      "shotIndex": 7,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 3/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · action note · Key action: box not on stool",
      "output": "{\"score\":3,\"verdict\":\"revise\",\"issues\":[\"Key action: box not on stool\",\"The box is held in Bà's hand instead of being on a stool as described in the plan.\",\"No firelight reflections are visible on An's face or the box, missing the intimate nighttime atmosphere.\",\"The shot is a medium shot of both characters rather than a close-up focusing on Bà's finger pointing at the box.\",\"The background is overly dark and lacks detail, failing to convey the intended intimate night setting.\"],\"fixes\":[\"move bánh-chung to a stool at waist height\",\"add firelight reflections on An's face and the box\",\"zoom in to focus on Bà's finger pointing at the box\",\"add subtle background details to reduce excessive darkness\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"wrong\",\"note\":\"box not on stool\"}}",
      "critiqueScore": 3,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:09.267Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r0.jpg"
    },
    {
      "id": "cmv6g8xtk008e2ao41knboi0f",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 94,
      "shotIndex": 9,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "551f5574818ef745",
      "outputSummary": "draw",
      "output": "```svg\n<svg>\n  <!-- set -->\n  <use href=\"#rooftops\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n  <!-- night tint -->\n  <rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n  <!-- warm glows -->\n  <radialGradient id=\"glowAn\" cx=\"0%\" cy=\"0%\" r=\"50%\" fx=\"0%\" fy=\"0%\">\n    <stop offset=\"0%\" stop-color=\"#F5E6C8\" stop-opacity=\"0\"/>\n    <stop offset=\"100%\" stop-color=\"#F5E6C8\" stop-opacity=\"0.2\"/>\n  </radialGradient>\n  <radialGradient id=\"glowGrandma\" cx=\"0%\" cy=\"0%\" r=\"50%\" fx=\"0%\" fy=\"0%\">\n    <stop offset=\"0%\" stop-color=\"#F5E6C8\" stop-opacity=\"0\"/>\n    <stop offset=\"100%\" stop-color=\"#F5E6C8\" stop-opacity=\"0.2\"/>\n  </radialGradient>\n  <circle cx=\"960\" cy=\"200\" r=\"180\" fill=\"url(#glowAn)\"/>\n  <circle cx=\"960\" cy=\"460\" r=\"220\" fill=\"url(#glowGrandma)\"/>\n  <!-- characters -->\n  <!-- An (child) – close‑up, head at top edge -->\n  <use href=\"#an--sit-sleepy\" x=\"960\" y=\"0\" width=\"936\" height=\"1404\"/>\n  <!-- Grandma – medium shot, lap supporting the child -->\n  <use href=\"#grandma--hug-neutral\" x=\"960\" y=\"300\" width=\"504\" height=\"756\"/>\n</svg>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 18391,
      "tokensIn": 1667,
      "tokensOut": 2618,
      "costUsd": 0.0028563,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:10.520Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g8y3b008f2ao4857g9g4a",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 95,
      "shotIndex": 9,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Framing/lighting check failed: #banh-chung (a key prop of this shot) is not placed: add <use href=\"#banh-chung\" …/> where the action needs it; the main character is only 73% of the frame height as rendered; a \"Close-up\" needs at least 75% (use height=\"810\" or more with width = height × 2/3, and no shrinking transform; let the canvas crop the legs).",
      "createdAt": "2026-10-13T08:59:10.871Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g91qm008g2ao46tvfxons",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 96,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "bad4909706d67734",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect x=\"300\" y=\"900\" width=\"1300\" height=\"120\" rx=\"20\" ry=\"20\" fill=\"#8B5E3C\"/>\n<!-- rice -->\n<circle cx=\"420\" cy=\"940\" r=\"7\" fill=\"#F5E6C8\"/>\n<circle cx=\"480\" cy=\"960\" r=\"6\" fill=\"#F5E6C8\"/>\n<circle cx=\"540\" cy=\"925\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"610\" cy=\"970\" r=\"5\" fill=\"#F5E6C8\"/>\n<circle cx=\"680\" cy=\"945\" r=\"7\" fill=\"#F5E6C8\"/>\n<circle cx=\"750\" cy=\"985\" r=\"6\" fill=\"#F5E6C8\"/>\n<circle cx=\"820\" cy=\"930\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"890\" cy=\"960\" r=\"5\" fill=\"#F5E6C8\"/>\n<circle cx=\"960\" cy=\"940\" r=\"7\" fill=\"#F5E6C8\"/>\n<circle cx=\"1030\" cy=\"970\" r=\"6\" fill=\"#F5E6C8\"/>\n<circle cx=\"1100\" cy=\"925\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"1170\" cy=\"950\" r=\"5\" fill=\"#F5E6C8\"/>\n<circle cx=\"1240\" cy=\"985\" r=\"7\" fill=\"#F5E6C8\"/>\n<circle cx=\"1310\" cy=\"930\" r=\"6\" fill=\"#F5E6C8\"/>\n<circle cx=\"1380\" cy=\"960\" r=\"8\" fill=\"#F5E6C8\"/>\n<!-- mung bean -->\n<ellipse cx=\"460\" cy=\"970\" rx=\"12\" ry=\"6\" fill=\"#D4A843\"/>\n<ellipse cx=\"530\" cy=\"990\" rx=\"10\" ry=\"5\" fill=\"#D4A843\"/>\n<ellipse cx=\"600\" cy=\"950\" rx=\"13\" ry=\"7\" fill=\"#D4A843\"/>\n<ellipse cx=\"680\" cy=\"985\" rx=\"11\" ry=\"5\" fill=\"#D4A843\"/>\n<ellipse cx=\"750\" cy=\"940\" rx=\"12\" ry=\"6\" fill=\"#D4A843\"/>\n<ellipse cx=\"820\" cy=\"975\" rx=\"10\" ry=\"5\" fill=\"#D4A843\"/>\n<ellipse cx=\"890\" cy=\"930\" rx=\"13\" ry=\"7\" fill=\"#D4A843\"/>\n<ellipse cx=\"960\" cy=\"990\" rx=\"11\" ry=\"5\" fill=\"#D4A843\"/>\n<ellipse cx=\"1030\" cy=\"950\" rx=\"12\" ry=\"6\" fill=\"#D4A843\"/>\n<ellipse cx=\"1100\" cy=\"985\" rx=\"10\" ry=\"5\" fill=\"#D4A843\"/>\n<ellipse cx=\"1170\" cy=\"940\" rx=\"13\" ry=\"7\" fill=\"#D4A843\"/>\n<ellipse cx=\"1240\" cy=\"970\" rx=\"11\" ry=\"5\" fill=\"#D4A843\"/>\n<ellipse cx=\"1310\" cy=\"930\" rx=\"12\" ry=\"6\" fill=\"#D4A843\"/>\n<ellipse cx=\"1380\" cy=\"960\" rx=\"10\" ry=\"5\" fill=\"#D4A843\"/>\n<!-- pork -->\n<rect x=\"500\" y=\"960\" width=\"20\" height=\"10\" fill=\"#C8553D\"/>\n<rect x=\"560\" y=\"945\" width=\"22\" height=\"12\" fill=\"#C8553D\"/>\n<rect x=\"620\" y=\"970\" width=\"18\" height=\"9\" fill=\"#C8553D\"/>\n<rect x=\"680\" y=\"950\" width=\"20\" height=\"10\" fill=\"#C8553D\"/>\n<rect x=\"750\" y=\"980\" width=\"22\" height=\"12\" fill=\"#C8553D\"/>\n<rect x=\"820\" y=\"940\" width=\"18\" height=\"9\" fill=\"#C8553D\"/>\n<rect x=\"890\" y=\"965\" width=\"20\" height=\"10\" fill=\"#C8553D\"/>\n<rect x=\"960\" y=\"930\" width=\"22\" height=\"12\" fill=\"#C8553D\"/>\n<rect x=\"1030\" y=\"955\" width=\"18\" height=\"9\" fill=\"#C8553D\"/>\n<rect x=\"1100\" y=\"980\" width=\"20\" height=\"10\" fill=\"#C8553D\"/>\n<rect x=\"1170\" y=\"945\" width=\"22\" height=\"12\" fill=\"#C8553D\"/>\n<rect x=\"1240\" y=\"970\" width=\"18\" height=\"9\" fill=\"#C8553D\"/>\n<rect x=\"1310\" y=\"950\" width=\"20\" height=\"10\" fill=\"#C8553D\"/>\n<rect x=\"1380\" y=\"975\" width=\"22\" height=\"12\" fill=\"#C8553D\"/>\n<!-- glossy green dong leaves -->\n<ellipse cx=\"440\" cy=\"880\" rx=\"20\" ry=\"8\" fill=\"#4A7C59\"/>\n<ellipse cx=\"520\" cy=\"860\" rx=\"22\" ry=\"9\" fill=\"#4A7C59\"/>\n<ellipse cx=\"600\" cy=\"890\" rx=\"18\" ry=\"7\" fill=\"#4A7C59\"/>\n<ellipse cx=\"680\" cy=\"850\" rx=\"20\" ry=\"8\" fill=\"#4A7C59\"/>\n<ellipse cx=\"760\" cy=\"870\" rx=\"22\" ry=\"9\" fill=\"#4A7C59\"/>\n<ellipse cx=\"840\" cy=\"830\" rx=\"18\" ry=\"7\" fill=\"#4A7C59\"/>\n<ellipse cx=\"920\" cy=\"860\" rx=\"20\" ry=\"8\" fill=\"#4A7C59\"/>\n<ellipse cx=\"1000\" cy=\"880\" rx=\"22\" ry=\"9\" fill=\"#4A7C59\"/>\n<ellipse cx=\"1080\" cy=\"840\" rx=\"18\" ry=\"7\" fill=\"#4A7C59\"/>\n<ellipse cx=\"1160\" cy=\"860\" rx=\"20\" ry=\"8\" fill=\"#4A7C59\"/>\n<ellipse cx=\"1240\" cy=\"820\" rx=\"22\" ry=\"9\" fill=\"#4A7C59\"/>\n<ellipse cx=\"1320\" cy=\"850\" rx=\"18\" ry=\"7\" fill=\"#4A7C59\"/>\n<ellipse cx=\"1400\" cy=\"870\" rx=\"20\" ry=\"8\" fill=\"#4A7C59\"/>\n<!-- Grandma -->\n<use href=\"#grandma--hold-neutral\" x=\"400\" y=\"360\" width=\"480\" height=\"720\"/>\n```\n\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"steam1\",\n      \"type\": \"circle\",\n      \"r\": 12,\n      \"at\": [200, 1000],\n      \"fill\": \"#FFFFFF\"\n    },\n    {\n      \"id\": \"steam2\",\n      \"type\": \"circle\",\n      \"r\": 12,\n      \"at\": [350, 1000],\n      \"fill\": \"#FFFFFF\"\n    },\n    {\n      \"id\": \"steam3\",\n      \"type\": \"circle\",\n      \"r\": 12,\n      \"at\": [500, 1000],\n      \"fill\": \"#FFFFFF\"\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.steam1.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [200, 1000]},\n        {\"t\": 4.5, \"v\": [200, 200], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam1.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [350, 1000]},\n        {\"t\": 4.5, \"v\": [350, 200], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [500, 1000]},\n        {\"t\": 4.5, \"v\": [500, 200], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 21704,
      "tokensIn": 2637,
      "tokensOut": 4268,
      "costUsd": 0.0046323,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:15.598Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g93p6008h2ao4d053acjl",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 97,
      "shotIndex": 2,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "d07bf372e610278f",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A character resembling an elderly woman stands in a garden-like setting, wearing a green robe and holding two sticks.\", \"The character is positioned in the center-left of the frame, occupying about 60% of the frame height.\", \"The background features a clear blue sky with three white clouds, a bright sun, and a wall with circular windows.\", \"On the ground, there is a rectangular area with colorful items, possibly representing ingredients or materials.\", \"To the right, there is a wooden cabinet with a pot on top, emitting a wisp of smoke.\", \"A tall stool with a red seat is visible on the left side of the frame.\"], \"problems\": [\"The character's hands are not clearly visible or detailed, making it impossible to see 'Bà's hands spreading glossy green dong leaves on a woven mat, white glutinous rice, mung bean filling and pork'.\", \"The scene does not show a woven mat or any ingredients laid out as described in the notes.\", \"The lighting and time of day are not consistent with 'afternoon light filtering through courtyard bricks'—the scene appears to be in broad daylight with a bright sun, but there are no visible bricks.\", \"The composition does not match the detailed description of the shot, focusing instead on the character in a general garden setting.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 2316,
      "tokensIn": 571,
      "tokensOut": 278,
      "costUsd": 0.0010098,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:18.138Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r1.jpg"
    },
    {
      "id": "cmv6g9585008i2ao47aa6m04b",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 98,
      "shotIndex": 2,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "7357713da217f917",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 3,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"The render shows a bright daylight scene with a blue sky and sun, but the plan requires 'afternoon light filtering through courtyard bricks' and a specific setting of a courtyard with bricks; these elements are missing.\",\n    \"The key action of Bà spreading glossy green dong leaves on a woven mat with ingredients is not visible; the hands are not detailed and the ingredients are absent.\",\n    \"The composition does not focus on the hands or the mat; instead it centers the character in a generic garden setting, failing the rule of thirds and leaving large empty areas.\",\n    \"The time of day is inconsistent with the plan's afternoon bucket: the scene appears as broad daylight rather than filtered afternoon light, making the time bucket 'wrong'.\",\n    \"The setting is not clearly identified as the courtyard described; the background lacks the brick texture and architectural details required.\"\n  ],\n  \"fixes\": [\n    \"Add visible woven mat on the ground with laid‑out ingredients (glossy green dong leaves, white glutinous rice, mung bean filling, pork) in the foreground.\",\n    \"Render Bà's hands clearly spreading the dong leaves on the mat, ensuring the hands occupy the central‑left third of the frame.\",\n    \"Introduce courtyard brick texture on the background walls and filter afternoon light through them to create the required lighting.\",\n    \"Adjust composition to place the mat and hands in the lower‑right third, keeping the character's full figure within the frame but not dominating it.\"\n  ],\n  \"fidelity\": {\n    \"time\": \"wrong\",\n    \"place\": \"wrong\",\n    \"action\": \"wrong\",\n    \"note\": \"The frame shows bright daylight without courtyard bricks and lacks the described hands and ingredients.\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1927,
      "tokensIn": 3326,
      "tokensOut": 384,
      "costUsd": 0.00029172,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:20.117Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r1.jpg"
    },
    {
      "id": "cmv6g958i008j2ao44muj1vmu",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 99,
      "shotIndex": 2,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 3/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · OFF-PLAN time+place · action note · Off-plan time + place: The frame shows bright daylight without courtyard bricks and lacks the described hands and ingredients.",
      "output": "{\"score\":3,\"verdict\":\"revise\",\"issues\":[\"Off-plan time + place: The frame shows bright daylight without courtyard bricks and lacks the described hands and ingredients.\",\"The render shows a bright daylight scene with a blue sky and sun, but the plan requires 'afternoon light filtering through courtyard bricks' and a specific setting of a courtyard with bricks; these elements are missing.\",\"The key action of Bà spreading glossy green dong leaves on a woven mat with ingredients is not visible; the hands are not detailed and the ingredients are absent.\",\"The composition does not focus on the hands or the mat; instead it centers the character in a generic garden setting, failing the rule of thirds and leaving large empty areas.\",\"The time of day is inconsistent with the plan's afternoon bucket: the scene appears as broad daylight rather than filtered afternoon light, making the time bucket 'wrong'.\",\"The setting is not clearly identified as the courtyard described; the background lacks the brick texture and architectural details required.\"],\"fixes\":[\"Add visible woven mat on the ground with laid‑out ingredients (glossy green dong leaves, white glutinous rice, mung bean filling, pork) in the foreground.\",\"Render Bà's hands clearly spreading the dong leaves on the mat, ensuring the hands occupy the central‑left third of the frame.\",\"Introduce courtyard brick texture on the background walls and filter afternoon light through them to create the required lighting.\",\"Adjust composition to place the mat and hands in the lower‑right third, keeping the character's full figure within the frame but not dominating it.\"],\"fidelity\":{\"time\":\"wrong\",\"place\":\"wrong\",\"action\":\"wrong\",\"note\":\"The frame shows bright daylight without courtyard bricks and lacks the described hands and ingredients.\"}}",
      "critiqueScore": 3,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:20.131Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f02-r1.jpg"
    },
    {
      "id": "cmv6g958r008k2ao44gburdwd",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 100,
      "shotIndex": 2,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "keep",
      "promptHash": null,
      "outputSummary": "Revision scored 3 ≤ 3: kept the previous version",
      "output": null,
      "critiqueScore": 3,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:20.139Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g958y008l2ao4wex2bw8e",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 101,
      "shotIndex": 2,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "off-plan",
      "promptHash": null,
      "outputSummary": "Shot 2 still off-plan after revisions (place)",
      "output": null,
      "critiqueScore": 3,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "hands empty, no food items, wrong lighting",
      "createdAt": "2026-10-13T08:59:20.146Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g95wp008m2ao4hn78vrx4",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 102,
      "shotIndex": 8,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "3251131f0b6b9249",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#rooftops\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<defs>\n  <radialGradient id=\"glow\" cx=\"0%\" cy=\"0%\" r=\"70%\" fx=\"0%\" fy=\"0%\">\n    <stop offset=\"0%\" stop-color=\"#FFEB84\" stop-opacity=\"0.6\"/>\n    <stop offset=\"100%\" stop-color=\"#FFEB84\" stop-opacity=\"0\"/>\n  </radialGradient>\n</defs>\n<circle cx=\"334\" cy=\"794\" r=\"120\" fill=\"url(#glow)\"/>\n<circle cx=\"1586\" cy=\"794\" r=\"120\" fill=\"url(#glow)\"/>\n<use href=\"#an--stand-surprised\" x=\"200\" y=\"594\" width=\"267\" height=\"400\"/>\n<use href=\"#grandma--stand-smile\" x=\"1453\" y=\"594\" width=\"267\" height=\"400\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\"id\":\"star1\",\"type\":\"star\",\"points\":5,\"rOuter\":8,\"rInner\":4,\"at\":[400,200],\"fill\":\"#FFFFFF\"},\n    {\"id\":\"star2\",\"type\":\"star\",\"points\":5,\"rOuter\":8,\"rInner\":4,\"at\":[900,150],\"fill\":\"#FFFFFF\"},\n    {\"id\":\"star3\",\"type\":\"star\",\"points\":5,\"rOuter\":8,\"rInner\":4,\"at\":[1500,250],\"fill\":\"#FFFFFF\"}\n  ],\n  \"tracks\": [\n    {\"target\":\"shapes.star1.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.01,\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.star2.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.01,\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.star3.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.01,\"ease\":\"inOut\"}]}\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 16270,
      "tokensIn": 2509,
      "tokensOut": 3228,
      "costUsd": 0.0036579,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:21.001Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g98q7008n2ao4c6tieavm",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 103,
      "shotIndex": 8,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: an blinks 1×, grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3324,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:24.655Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g98ye008o2ao4uztufx9k",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 104,
      "shotIndex": 9,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "9baa419f0d6a075c",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#rooftops\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<radialGradient id=\"glowAn\" cx=\"0%\" cy=\"0%\" r=\"100%\" fx=\"0%\" fy=\"0%\">\n  <stop offset=\"0%\" stop-color=\"#F5E6C8\" stop-opacity=\"0\"/>\n  <stop offset=\"100%\" stop-color=\"#F5E6C8\" stop-opacity=\"0.2\"/>\n</radialGradient>\n<radialGradient id=\"glowGrandma\" cx=\"0%\" cy=\"0%\" r=\"100%\" fx=\"0%\" fy=\"0%\">\n  <stop offset=\"0%\" stop-color=\"#F5E6C8\" stop-opacity=\"0\"/>\n  <stop offset=\"100%\" stop-color=\"#F5E6C8\" stop-opacity=\"0.2\"/>\n</radialGradient>\n<circle cx=\"960\" cy=\"650\" r=\"200\" fill=\"url(#glowAn)\"/>\n<circle cx=\"960\" cy=\"700\" r=\"240\" fill=\"url(#glowGrandma)\"/>\n<use href=\"#an--sit-sleepy\" x=\"960\" y=\"0\" width=\"867\" height=\"1300\"/>\n<use href=\"#grandma--hug-neutral\" x=\"960\" y=\"200\" width=\"533\" height=\"800\"/>\n<use href=\"#banh-chung\" x=\"1060\" y=\"500\" width=\"200\" height=\"200\"/>\n```",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 14061,
      "tokensIn": 2188,
      "tokensOut": 2969,
      "costUsd": 0.0033285,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:24.950Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9amk008p2ao4lh5sjura",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 105,
      "shotIndex": 8,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "41e0415b2968c530",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters, An and Bà, stand on a rooftop under a night sky with stars and a full moon.\", \"The background features stylized buildings with lit windows, representing an old quarter.\", \"A red and yellow object (firework) is floating in the sky above the buildings.\", \"There are geometric shapes (triangles) in the sky, possibly representing fireworks or decorative elements.\", \"The scene is set at night, indicated by the dark sky and moon.\", \"The characters are silhouetted against the night sky and buildings.\", \"A tree is visible between the two characters.\", \"The overall style is cartoonish and simplified.\"], \"problems\": [\"The fireworks in the notes are described as 'blooming in vivid reds and golds over terracotta tiles,' but the rendered firework is a single red/yellow object, not blooming.\", \"The 'terracotta tiles' mentioned in the notes are not visible in the rendered frame; the buildings are stylized with no detailed tiles.\", \"The characters are not silhouetted as described in the notes; they are fully colored and detailed.\", \"The 'rooftops' mentioned in the notes are not clearly visible; the buildings are shown from a distance with no detailed rooftops.\", \"The 'midnight sky' is represented, but the moon is not large enough to strongly indicate midnight.\", \"The 'fireworks blooming' are not depicted as multiple or in a blooming pattern, only as a single object.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2448,
      "tokensIn": 637,
      "tokensOut": 316,
      "costUsd": 0.0011406,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:27.116Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r0.jpg"
    },
    {
      "id": "cmv6g9ben008q2ao4sflqd7tr",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 106,
      "shotIndex": 8,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "05257956a3c0491b",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 6,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"fireworks not blooming\",\n    \"terracotta tiles missing\",\n    \"characters not silhouetted\",\n    \"rooftops not clearly visible\",\n    \"moon too small for midnight\"\n  ],\n  \"fixes\": [\n    \"add multiple firework shapes with red and gold gradients\",\n    \"draw terracotta tile pattern on rooftops\",\n    \"apply silhouette shading to An and Bà\",\n    \"enlarge and emphasize the moon\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 914,
      "tokensIn": 1848,
      "tokensOut": 157,
      "costUsd": 0.00014856,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:28.127Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r0.jpg"
    },
    {
      "id": "cmv6g9bf0008r2ao4gvgsu7jr",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 107,
      "shotIndex": 8,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 6/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · fireworks not blooming",
      "output": "{\"score\":6,\"verdict\":\"revise\",\"issues\":[\"fireworks not blooming\",\"terracotta tiles missing\",\"characters not silhouetted\",\"rooftops not clearly visible\",\"moon too small for midnight\"],\"fixes\":[\"add multiple firework shapes with red and gold gradients\",\"draw terracotta tile pattern on rooftops\",\"apply silhouette shading to An and Bà\",\"enlarge and emphasize the moon\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 6,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:28.140Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r0.jpg"
    },
    {
      "id": "cmv6g9cj9008s2ao43hvri96m",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 108,
      "shotIndex": 9,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3707,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:29.589Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9djd008t2ao4ykz72snv",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 109,
      "shotIndex": 9,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "562527933ccabfdd",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A close-up shot shows a sleeping child (An) on a woman's (Bà's) lap, both with closed eyes and peaceful expressions. The child's small fingers are curled around a pale bamboo string from a bánh chưng,\"], \"problems\": [\"The background is slightly blurry, but the main characters and key prop (bánh chưng) are clear and readable in the dark.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1288,
      "tokensIn": 772,
      "tokensOut": 94,
      "costUsd": 0.0006888,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:30.889Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r0.jpg"
    },
    {
      "id": "cmv6g9e7v008u2ao4fu621odp",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 110,
      "shotIndex": 10,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "8024dacaf00f85a8",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#front-room\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#an--walk_a-surprised\" x=\"400\" y=\"900\" width=\"504\" height=\"756\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"mote1\",\n      \"type\": \"circle\",\n      \"r\": 8,\n      \"fill\": \"#FFFFFF30\",\n      \"at\": [200, 950]\n    },\n    {\n      \"id\": \"mote2\",\n      \"type\": \"circle\",\n      \"r\": 8,\n      \"fill\": \"#FFFFFF30\",\n      \"at\": [800, 960]\n    },\n    {\n      \"id\": \"mote3\",\n      \"type\": \"circle\",\n      \"r\": 8,\n      \"fill\": \"#FFFFFF30\",\n      \"at\": [1500, 940]\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.mote1.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [200, 950]},\n        {\"t\": 3.1, \"v\": [210, 800], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.mote1.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 3.1, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.mote2.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [800, 960]},\n        {\"t\": 3.1, \"v\": [790, 810], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.mote2.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 3.1, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.mote3.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [1500, 940]},\n        {\"t\": 3.1, \"v\": [1510, 790], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.mote3.scale\",\n      \"keys\": [\n        {\"t\": 0, \"v\": 1},\n        {\"t\": 3.1, \"v\": 0.01, \"ease\": \"inOut\"}\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 11616,
      "tokensIn": 1830,
      "tokensOut": 2419,
      "costUsd": 0.0027261,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:31.771Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9ehj008v2ao463mxjdk9",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 111,
      "shotIndex": 10,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Framing/lighting check failed: the main character is only 12% of the frame height as rendered; a \"Low angle\" needs at least 30% (use height=\"324\" or more with width = height × 2/3, and no shrinking transform).",
      "createdAt": "2026-10-13T08:59:32.119Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9eqi008w2ao4ra50lbrv",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 112,
      "shotIndex": 9,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "437b947522f72245",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 6,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"The bánh chưng prop is too small and not prominent enough for a close-up; it occupies only 1.58% of the frame and is not clearly in front of the characters.\",\n    \"The lighting glow circles are centered on the characters but do not convincingly simulate firework illumination on their faces; the glow appears flat and lacks directional cues.\",\n    \"The background rooftop silhouette is overly dark and blurry, reducing visual interest and making the setting feel generic rather than a specific night scene.\"\n  ],\n  \"fixes\": [\n    \"Enlarge the bánh chưng prop to at least 2.5% of the frame and reposition it so it is clearly visible in front of An and Bà, e.g., move it to centre 55% across and height 70% down.\",\n    \"Adjust the glow gradients to radiate from a slightly higher angle to mimic firework bursts, adding subtle orange‑yellow highlights on the characters' cheeks.\",\n    \"Reduce the opacity of the rooftop silhouette or add a faint star field to enhance night ambience without overwhelming the foreground.\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1507,
      "tokensIn": 1922,
      "tokensOut": 290,
      "costUsd": 0.00018492,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:32.442Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r0.jpg"
    },
    {
      "id": "cmv6g9eqt008x2ao4863r0bxu",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 113,
      "shotIndex": 9,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 6/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · The bánh chưng prop is too small and not prominent enough for a close-up; it occupies only 1.58% of the frame and is not clearly in front of the characters.",
      "output": "{\"score\":6,\"verdict\":\"revise\",\"issues\":[\"The bánh chưng prop is too small and not prominent enough for a close-up; it occupies only 1.58% of the frame and is not clearly in front of the characters.\",\"The lighting glow circles are centered on the characters but do not convincingly simulate firework illumination on their faces; the glow appears flat and lacks directional cues.\",\"The background rooftop silhouette is overly dark and blurry, reducing visual interest and making the setting feel generic rather than a specific night scene.\"],\"fixes\":[\"Enlarge the bánh chưng prop to at least 2.5% of the frame and reposition it so it is clearly visible in front of An and Bà, e.g., move it to centre 55% across and height 70% down.\",\"Adjust the glow gradients to radiate from a slightly higher angle to mimic firework bursts, adding subtle orange‑yellow highlights on the characters' cheeks.\",\"Reduce the opacity of the rooftop silhouette or add a faint star field to enhance night ambience without overwhelming the foreground.\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 6,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:32.453Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r0.jpg"
    },
    {
      "id": "cmv6g9fjv008y2ao4v0rlusvo",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 114,
      "shotIndex": 7,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "aa1753a329d6a7a8",
      "outputSummary": "revise",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<defs>\n  <radialGradient id=\"glow\" cx=\"0%\" cy=\"0%\" r=\"50%\">\n    <stop offset=\"0%\" stop-color=\"#F5E6C8\" stop-opacity=\"0.6\"/>\n    <stop offset=\"100%\" stop-color=\"#F5E6C8\" stop-opacity=\"0\"/>\n  </radialGradient>\n</defs>\n<g>\n  <circle cx=\"492\" cy=\"540\" r=\"200\" fill=\"url(#glow)\"/>\n  <circle cx=\"1452\" cy=\"540\" r=\"200\" fill=\"url(#glow)\"/>\n</g>\n<!-- stool (waist height) -->\n<rect x=\"840\" y=\"560\" width=\"120\" height=\"20\" fill=\"#8B5E3C\"/>\n<!-- bánh chưng on the stool -->\n<use href=\"#banh-chung\" x=\"750\" y=\"360\" width=\"300\" height=\"300\"/>\n<!-- characters -->\n<use href=\"#grandma--point-neutral\" x=\"24\" y=\"0\" width=\"936\" height=\"1404\"/>\n<g transform=\"translate(1920 0) scale(-1 1)\">\n  <use href=\"#an--look-right-surprised\" x=\"0\" y=\"0\" width=\"936\" height=\"1404\"/>\n</g>\n<!-- firelight reflections -->\n<circle cx=\"1150\" cy=\"420\" r=\"12\" fill=\"#F5E6C8\" fill-opacity=\"0.8\"/>\n<circle cx=\"900\" cy=\"460\" r=\"10\" fill=\"#F5E6C8\" fill-opacity=\"0.8\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 24225,
      "tokensIn": 2181,
      "tokensOut": 4815,
      "costUsd": 0.0049878,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:33.499Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9hs0008z2ao4nln13fjt",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 115,
      "shotIndex": 7,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "4759a8a90bdcbe67",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters: an older woman in green with a white head covering, and a younger woman in beige with black hair.\", \"The older woman holds a green square object with a yellow circle (likely 'bánh chưng') in her right hand, extended towards the younger woman.\", \"The younger woman stands facing the older woman, mouth open in surprise, eyes wide.\", \"Background: dark night sky with stars, a mountain silhouette, and a structure with circular windows (possibly a train or bus).\", \"The scene is well-lit despite the night setting, with clear visibility of characters' facial expressions and clothing.\", \"The older woman's expression is calm and gentle, while the younger woman appears startled or curious.\", \"The characters occupy the foreground, with the background elements providing context but not distracting from the interaction.\", \"The framing is tight on the two characters, focusing on their upper bodies and faces.\"], \"problems\": [\"The 'bánh chưng' object is small and partially obscured by the older woman's hand, making it less prominent than described in the notes.\", \"The firelight reflection mentioned in the notes is not visible in the render; the lighting is even and does not suggest a fire source.\", \"The 'stool' mentioned in the notes is not visible in the render; the 'bánh chưng' is held by the older woman, not placed on a stool.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 2437,
      "tokensIn": 675,
      "tokensOut": 295,
      "costUsd": 0.001113,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:36.384Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r1.jpg"
    },
    {
      "id": "cmv6g9is600902ao46lcyyq47",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 116,
      "shotIndex": 7,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "f3d8cd6429b17579",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 5,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"bánh chưng is tiny and partially hidden by grandma's hand, making it unclear and not prominent\",\n    \"firelight reflection is not visible; lighting is flat instead of fire-lit\",\n    \"stool is missing, contradicting the plan's mention of it\",\n    \"background shows a train/bus silhouette which is not part of the courtyard setting\"\n  ],\n  \"fixes\": [\n    \"move the bánh chưng to be fully visible and larger, placed on a stool in front of grandma\",\n    \"add orange firelight glow behind the characters to create firelight reflections\",\n    \"remove the train/bus silhouette and replace with appropriate night courtyard elements\",\n    \"adjust lighting to show a distinct fire source casting warm highlights on faces\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"wrong\",\n    \"note\": \"bánh chưng not on stool and firelight missing\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1225,
      "tokensIn": 2066,
      "tokensOut": 230,
      "costUsd": 0.00017916,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:37.686Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r1.jpg"
    },
    {
      "id": "cmv6g9isl00912ao4wo77lvi2",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 117,
      "shotIndex": 7,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 5/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · action note · Key action: bánh chưng not on stool and firelight missing",
      "output": "{\"score\":5,\"verdict\":\"revise\",\"issues\":[\"Key action: bánh chưng not on stool and firelight missing\",\"bánh chưng is tiny and partially hidden by grandma's hand, making it unclear and not prominent\",\"firelight reflection is not visible; lighting is flat instead of fire-lit\",\"stool is missing, contradicting the plan's mention of it\",\"background shows a train/bus silhouette which is not part of the courtyard setting\"],\"fixes\":[\"move the bánh chưng to be fully visible and larger, placed on a stool in front of grandma\",\"add orange firelight glow behind the characters to create firelight reflections\",\"remove the train/bus silhouette and replace with appropriate night courtyard elements\",\"adjust lighting to show a distinct fire source casting warm highlights on faces\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"wrong\",\"note\":\"bánh chưng not on stool and firelight missing\"}}",
      "critiqueScore": 5,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:37.701Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r1.jpg"
    },
    {
      "id": "cmv6g9laf00922ao4lcbil72p",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 118,
      "shotIndex": 9,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "42b59ec2a9614b1c",
      "outputSummary": "revise",
      "output": "```svg\n<!-- background set with reduced silhouette opacity -->\n<use href=\"#rooftops\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\" fill-opacity=\"0.6\"/>\n<!-- night tint -->\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<!-- glow gradients for firework illumination -->\n<defs>\n  <radialGradient id=\"glowAn\" cx=\"50%\" cy=\"30%\" r=\"100%\" fx=\"50%\" fy=\"30%\">\n    <stop offset=\"0%\" stop-color=\"#D4A843\" stop-opacity=\"0.4\"/>\n    <stop offset=\"100%\" stop-color=\"#D4A843\" stop-opacity=\"0\"/>\n  </radialGradient>\n  <radialGradient id=\"glowGrandma\" cx=\"50%\" cy=\"30%\" r=\"100%\" fx=\"50%\" fy=\"30%\">\n    <stop offset=\"0%\" stop-color=\"#D4A843\" stop-opacity=\"0.4\"/>\n    <stop offset=\"100%\" stop-color=\"#D4A843\" stop-opacity=\"0\"/>\n  </radialGradient>\n</defs>\n<!-- glow circles positioned to simulate light from fireworks above -->\n<circle cx=\"960\" cy=\"500\" r=\"220\" fill=\"url(#glowAn)\"/>\n<circle cx=\"960\" cy=\"560\" r=\"260\" fill=\"url(#glowGrandma)\"/>\n<!-- characters (posed as specified) -->\n<use href=\"#an--sit-sleepy\" x=\"960\" y=\"0\" width=\"867\" height=\"1300\"/>\n<use href=\"#grandma--hug-neutral\" x=\"960\" y=\"200\" width=\"533\" height=\"800\"/>\n<!-- bánh chưng prop enlarged and placed in front -->\n<use href=\"#banh-chung\" x=\"806\" y=\"506\" width=\"500\" height=\"500\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 8475,
      "tokensIn": 2329,
      "tokensOut": 1696,
      "costUsd": 0.0022251,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:40.935Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9lj800932ao4c2vhxn12",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 119,
      "shotIndex": 7,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3544,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:41.252Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9lje00942ao41yxorhfh",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 120,
      "shotIndex": 7,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "uplift",
      "promptHash": null,
      "outputSummary": "Revision accepted: 3 → 5",
      "output": null,
      "critiqueScore": 5,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:41.258Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9n6d00952ao4u6vzmxe4",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 121,
      "shotIndex": 10,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "4ad1d07e0f361db4",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#front-room\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#an--walk_a-surprised\" x=\"200\" y=\"590\" width=\"240\" height=\"360\"/>\n<circle cx=\"250\" cy=\"120\" r=\"4\" fill=\"#E8D4B9\" fill-opacity=\"0.6\"/>\n<circle cx=\"620\" cy=\"80\"  r=\"3\" fill=\"#E8D4B9\" fill-opacity=\"0.5\"/>\n<circle cx=\"980\" cy=\"150\" r=\"5\" fill=\"#E8D4B9\" fill-opacity=\"0.7\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"dust1\",\n      \"type\": \"circle\",\n      \"r\": 4,\n      \"at\": [250, 100],\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"dust2\",\n      \"type\": \"circle\",\n      \"r\": 3,\n      \"at\": [620, 70],\n      \"fill\": \"#E8D4B9\"\n    },\n    {\n      \"id\": \"dust3\",\n      \"type\": \"circle\",\n      \"r\": 5,\n      \"at\": [980, 140],\n      \"fill\": \"#E8D4B9\"\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.dust1.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [250, 100]},\n        {\"t\": 3.1, \"v\": [250, 300], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.dust2.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [620, 70]},\n        {\"t\": 3.1, \"v\": [620, 260], \"ease\": \"inOut\"}\n      ]\n    },\n    {\n      \"target\": \"shapes.dust3.at\",\n      \"keys\": [\n        {\"t\": 0, \"v\": [980, 150]},\n        {\"t\": 3.1, \"v\": [980, 340], \"ease\": \"inOut\"}\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 11253,
      "tokensIn": 1990,
      "tokensOut": 2216,
      "costUsd": 0.0025914,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:43.381Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9nx400962ao4zyz0kgln",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 122,
      "shotIndex": 8,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "c910c6d096bdd0f8",
      "outputSummary": "revise",
      "output": "```svg\n<use href=\"#rooftops\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<defs>\n  <!-- Character glow -->\n  <radialGradient id=\"glow\" cx=\"0%\" cy=\"0%\" r=\"100%\" fx=\"0%\" fy=\"0%\">\n    <stop offset=\"0%\" stop-color=\"#FFF8DC\" stop-opacity=\"0.4\"/>\n    <stop offset=\"100%\" stop-color=\"#FFF8DC\" stop-opacity=\"0\"/>\n  </radialGradient>\n  <!-- Firework gradients -->\n  <radialGradient id=\"fireRed\" cx=\"0%\" cy=\"0%\" r=\"100%\" fx=\"0%\" fy=\"0%\">\n    <stop offset=\"0%\" stop-color=\"#FF4500\" stop-opacity=\"0.8\"/>\n    <stop offset=\"100%\" stop-color=\"#FF4500\" stop-opacity=\"0\"/>\n  </radialGradient>\n  <radialGradient id=\"fireGold\" cx=\"0%\" cy=\"0%\" r=\"100%\" fx=\"0%\" fy=\"0%\">\n    <stop offset=\"0%\" stop-color=\"#FFD700\" stop-opacity=\"0.8\"/>\n    <stop offset=\"100%\" stop-color=\"#FFD700\" stop-opacity=\"0\"/>\n  </radialGradient>\n  <!-- Moon glow -->\n  <radialGradient id=\"moonGlow\" cx=\"0%\" cy=\"0%\" r=\"100%\" fx=\"0%\" fy=\"0%\">\n    <stop offset=\"0%\" stop-color=\"#FFFFFF\" stop-opacity=\"0.6\"/>\n    <stop offset=\"100%\" stop-color=\"#FFFFFF\" stop-opacity=\"0\"/>\n  </radialGradient>\n</defs>\n<!-- Fireworks -->\n<circle cx=\"400\" cy=\"180\" r=\"80\" fill=\"url(#fireRed)\"/>\n<circle cx=\"800\" cy=\"120\" r=\"100\" fill=\"url(#fireGold)\"/>\n<circle cx=\"1200\" cy=\"200\" r=\"90\" fill=\"url(#fireRed)\"/>\n<circle cx=\"1600\" cy=\"150\" r=\"110\" fill=\"url(#fireGold)\"/>\n<circle cx=\"600\" cy=\"300\" r=\"70\" fill=\"url(#fireRed)\"/>\n<circle cx=\"1000\" cy=\"260\" r=\"80\" fill=\"url(#fireGold)\"/>\n<circle cx=\"1400\" cy=\"190\" r=\"90\" fill=\"url(#fireRed)\"/>\n<circle cx=\"1800\" cy=\"130\" r=\"100\" fill=\"url(#fireGold)\"/>\n<!-- Moon -->\n<circle cx=\"300\" cy=\"200\" r=\"180\" fill=\"url(#moonGlow)\"/>\n<!-- Terracotta tile tint -->\n<rect width=\"1920\" height=\"1080\" fill=\"#8B5E3C\" fill-opacity=\"0.04\"/>\n<!-- Character glows -->\n<circle cx=\"334\" cy=\"700\" r=\"150\" fill=\"url(#glow)\"/>\n<circle cx=\"1586\" cy=\"700\" r=\"150\" fill=\"url(#glow)\"/>\n<!-- Characters (silhouetted) -->\n<use href=\"#an--stand-surprised\" x=\"200\" y=\"500\" width=\"267\" height=\"400\" fill=\"#3D3D3D\"/>\n<use href=\"#grandma--stand-smile\" x=\"1453\" y=\"500\" width=\"267\" height=\"400\" fill=\"#3D3D3D\"/>\n```\n\n```json\n{\n  \"shapes\": [\n    {\"id\":\"spark1\",\"type\":\"circle\",\"r\":4,\"at\":[420,190],\"fill\":\"#FFFFCC\"},\n    {\"id\":\"spark2\",\"type\":\"circle\",\"r\":4,\"at\":[820,130],\"fill\":\"#FFFFCC\"},\n    {\"id\":\"spark3\",\"type\":\"circle\",\"r\":4,\"at\":[1220,210],\"fill\":\"#FFFFCC\"},\n    {\"id\":\"spark4\",\"type\":\"circle\",\"r\":4,\"at\":[1620,160],\"fill\":\"#FFFFCC\"}\n  ],\n  \"tracks\": [\n    {\"target\":\"shapes.spark1.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.05},{\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.spark2.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.05},{\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.spark3.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.05},{\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.spark4.scale\",\"keys\":[{\"t\":0,\"v\":1},{\"t\":4.1,\"v\":0.05},{\"ease\":\"inOut\"}]}\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 16196,
      "tokensIn": 2404,
      "tokensOut": 3641,
      "costUsd": 0.0039981,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:44.344Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9pgp00972ao4l5jy5ws7",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 123,
      "shotIndex": 8,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "7590dca92b8aa25c",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters, An and Bà, stand on a rooftop in a wide shot.\", \"The background shows a row of houses with lit windows, suggesting an old quarter.\", \"The sky is dark with stars, and colorful fireworks (reds and golds) are blooming above.\", \"An is on the left side of the frame, Bà on the right, both facing forward.\", \"The characters are silhouetted against the night sky and fireworks.\", \"A tree is visible between the two characters, slightly to the right of center.\", \"The overall scene is set at night, with a dark ground and illuminated houses.\"], \"problems\": [\"No visible problems; the composition and lighting match the night setting and wide shot requirement.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1568,
      "tokensIn": 651,
      "tokensOut": 159,
      "costUsd": 0.0007722,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:46.345Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r1.jpg"
    },
    {
      "id": "cmv6g9ps300982ao4gw2ssq7e",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 124,
      "shotIndex": 9,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "433273d3cde31668",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A close-up shot featuring two characters: an elderly woman (Bà) with closed eyes and a serene expression, wearing a white headscarf and a light-colored dress, seated and holding a green gift box with \"",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 5251,
      "tokensIn": 664,
      "tokensOut": 700,
      "costUsd": 0.0020784,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:46.755Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r1.jpg"
    },
    {
      "id": "cmv6g9psh00992ao4tfx9v6a8",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 125,
      "shotIndex": 9,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look:invalid",
      "promptHash": null,
      "outputSummary": "Reply rejected by schema",
      "output": null,
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "Reply contains no JSON object.",
      "createdAt": "2026-10-13T08:59:46.769Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9pzr009a2ao4j2uu3m2z",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 126,
      "shotIndex": 8,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "d972d5d59e763c35",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 8,\n  \"verdict\": \"accept\",\n  \"issues\": [],\n  \"fixes\": [],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 609,
      "tokensIn": 2275,
      "tokensOut": 63,
      "costUsd": 0.00015162,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:47.031Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r1.jpg"
    },
    {
      "id": "cmv6g9q02009b2ao44uplr9ru",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 127,
      "shotIndex": 8,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 8/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored)",
      "output": "{\"score\":8,\"verdict\":\"accept\",\"issues\":[],\"fixes\":[],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 8,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:47.042Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f08-r1.jpg"
    },
    {
      "id": "cmv6g9q3o009c2ao4bsy58wsf",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 128,
      "shotIndex": 10,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 37 frames @ 12 fps rendered; acting: an walks 8 steps right",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3519,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:47.172Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9rn9009d2ao4k6p5va1t",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 129,
      "shotIndex": 9,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "1ceed7f4a971b105",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A close-up shot with a large, light-colored statue-like figure (resembling a grandmother) occupying the right side of the frame, head and shoulders visible, eyes closed, black hair, white face, pinked\", \"A smaller, green-robed figure (resembling An) is positioned on the statue's lap, head and upper body visible, white hair, smiling, holding a green rectangular object (bánh chưng) with yellow lines\", \"The background is a dark night sky with scattered stars, a full moon, and a few geometric shapes (triangle, circle) floating in the upper left\", \"A faint, glowing circular light source (fireworks) is visible behind the two figures, casting a soft glow on their faces\", \"A small, red lantern with a yellow figure inside is floating in the upper left corner of the sky\", \"The lower part of the background shows a blurred cityscape with houses and a fence, indicating an outdoor setting at night\", \"The green bánh chưng is held by An's small hands, which are curled around a pale bamboo string\", \"The overall color palette is dark with muted tones, emphasizing the night scene\"], \"problems\": [\"The grandmother figure's body is cut off at the bottom, with only her head and shoulders visible, which may not fully match the 'close-up' framing intended for both characters\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 2,
      "latencyMs": 2394,
      "tokensIn": 685,
      "tokensOut": 288,
      "costUsd": 0.0011022,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:49.173Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r1.jpg"
    },
    {
      "id": "cmv6g9rod009e2ao4gndcxarj",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 130,
      "shotIndex": 10,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "29b550ba50db3fc4",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A character with a black hat and green lines behind their head stands on a green wooden floor.\", \"The character wears a beige outfit and has a backpack.\", \"A window with a view of blue sky and green hills is centered on the back wall.\", \"A shelf with colorful books is on the left wall.\", \"A framed picture of a landscape hangs on the right wall.\", \"A tall floor lamp with a beige shade stands next to the framed picture.\", \"Light from the window and lamp casts a warm glow on the wall and floor.\"], \"problems\": [\"The character's face is not fully visible (only eyes and mouth are clear).\", \"The character's green lines (possibly hair or energy) extend above the frame top.\", \"The character's feet are small relative to the frame, making them appear distant.\", \"The character is positioned slightly left of center, not directly in front of the window.\", \"The floor lamp is not tall enough to reach the top of the frame.\", \"The framed picture on the wall is small and not the main focus.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2027,
      "tokensIn": 554,
      "tokensOut": 227,
      "costUsd": 0.0008772,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f10-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:49.213Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f10-r0.jpg"
    },
    {
      "id": "cmv6g9sh4009f2ao49dt8mxhx",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 131,
      "shotIndex": 9,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "524128d8e670d762",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 7,\n  \"verdict\": \"accept\",\n  \"issues\": [\n    \"Grandmother figure's body is cut off at the bottom, only head and shoulders visible, not fully matching close-up framing for both characters.\"\n  ],\n  \"fixes\": [\n    \"Extend grandmother's lower body slightly to show more of her torso and lap area\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1005,
      "tokensIn": 2031,
      "tokensOut": 115,
      "costUsd": 0.00014946,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:50.248Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r1.jpg"
    },
    {
      "id": "cmv6g9shg009g2ao4hmj2sx61",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 132,
      "shotIndex": 9,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 7/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · Grandmother figure's body is cut off at the bottom, only head and shoulders visible, not fully matching close-up framing for both characters.",
      "output": "{\"score\":7,\"verdict\":\"accept\",\"issues\":[\"Grandmother figure's body is cut off at the bottom, only head and shoulders visible, not fully matching close-up framing for both characters.\"],\"fixes\":[\"Extend grandmother's lower body slightly to show more of her torso and lap area\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:50.261Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f09-r1.jpg"
    },
    {
      "id": "cmv6g9sq9009h2ao4o2h2n5it",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 133,
      "shotIndex": 10,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "9503717776f6cc05",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 7,\n  \"verdict\": \"accept\",\n  \"issues\": [\n    \"character's face only partially visible\",\n    \"green lines extend above frame top\",\n    \"feet appear distant due to small size\",\n    \"character positioned slightly left of center\",\n    \"floor lamp not tall enough to reach top of frame\",\n    \"framed picture small and not main focus\"\n  ],\n  \"fixes\": [\n    \"move character slightly right to center in front of window\",\n    \"increase character height to show full feet and reduce distant appearance\",\n    \"extend green lines within frame boundaries\",\n    \"enlarge framed picture or make it more prominent on wall\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1314,
      "tokensIn": 1522,
      "tokensOut": 181,
      "costUsd": 0.00013476,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f10-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:50.577Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f10-r0.jpg"
    },
    {
      "id": "cmv6g9sqn009i2ao49w3281z8",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 134,
      "shotIndex": 10,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 7/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · character's face only partially visible",
      "output": "{\"score\":7,\"verdict\":\"accept\",\"issues\":[\"character's face only partially visible\",\"green lines extend above frame top\",\"feet appear distant due to small size\",\"character positioned slightly left of center\",\"floor lamp not tall enough to reach top of frame\",\"framed picture small and not main focus\"],\"fixes\":[\"move character slightly right to center in front of window\",\"increase character height to show full feet and reduce distant appearance\",\"extend green lines within frame boundaries\",\"enlarge framed picture or make it more prominent on wall\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f10-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T08:59:50.591Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f10-r0.jpg"
    },
    {
      "id": "cmv6g9swl009j2ao4c0b1nrqt",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 135,
      "shotIndex": 8,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: an blinks 1×, grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3739,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:50.806Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9swt009k2ao4t3fdqpj3",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 136,
      "shotIndex": 8,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "uplift",
      "promptHash": null,
      "outputSummary": "Revision accepted: 6 → 8",
      "output": null,
      "critiqueScore": 8,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:50.813Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9vq8009l2ao41vb22d87",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 137,
      "shotIndex": 9,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 4197,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:54.464Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9vqf009m2ao4kk03l9aw",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 138,
      "shotIndex": 9,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "uplift",
      "promptHash": null,
      "outputSummary": "Revision accepted: 6 → 7",
      "output": null,
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:54.471Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9x3c009n2ao47v7gvn7q",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 139,
      "shotIndex": 11,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "948e1e37ed1da3ba",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#front-room\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#banh-chung\" x=\"660\" y=\"240\" width=\"600\" height=\"600\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 5633,
      "tokensIn": 1441,
      "tokensOut": 1045,
      "costUsd": 0.0013728,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:56.232Z",
      "imageUrl": null
    },
    {
      "id": "cmv6g9zus009o2ao4fa7wtzk1",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 140,
      "shotIndex": 11,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3206,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T08:59:59.812Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ga1pc009p2ao40rgyyx76",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 141,
      "shotIndex": 11,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "46c8852cd6e4df37",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A large green square package with yellow grid lines and three wavy green lines on its front sits on a wooden table.\", \"The package occupies the central portion of the frame, taking up most of the vertical space.\", \"The background shows a room with white paneled walls, a window at the top center, a small shelf with books on the left, a potted plant on the left floor, a floor lamp with a picture frame on the right\", \"Morning light is suggested by the bright window and the overall soft illumination.\", \"The package is the main focus, with no other characters or significant objects in the foreground.\", \"The room appears tidy and minimalistic, with no clutter.\", \"The floor is green, and the walls are white with a wooden trim at the bottom.\", \"The package has a small oval shape on its front, possibly a sticker or label.\"], \"problems\": [\"The package is slightly cropped at the bottom, not perfectly centered vertically (engine check noted scaling to fix this).\", \"The table is partially visible but not fully detailed, with only the top surface and legs shown.\", \"The background elements (shelf, plant, lamp) are small and do not draw attention away from the package.\", \"The lighting is consistent with morning light, but the window is small and does not dominate the scene.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2382,
      "tokensIn": 746,
      "tokensOut": 280,
      "costUsd": 0.0011196,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f11-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T09:00:02.208Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f11-r0.jpg"
    },
    {
      "id": "cmv6ga2ib009q2ao4pb1f1qnd",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 142,
      "shotIndex": 11,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "1180ceff88667d6d",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 7,\n  \"verdict\": \"accept\",\n  \"issues\": [\n    \"The package is slightly cropped at the bottom, not perfectly centered vertically (engine check noted scaling to fix this).\"\n  ],\n  \"fixes\": [\n    \"move bánh-chung upward by 5% of frame height to center it vertically\",\n    \"add a subtle shadow under the package to ground it on the table\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 989,
      "tokensIn": 2029,
      "tokensOut": 129,
      "costUsd": 0.0001527,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f11-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T09:00:03.251Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f11-r0.jpg"
    },
    {
      "id": "cmv6ga2ip009r2ao4qqs9es0m",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 143,
      "shotIndex": 11,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 7/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · The package is slightly cropped at the bottom, not perfectly centered vertically (engine check noted scaling to fix this).",
      "output": "{\"score\":7,\"verdict\":\"accept\",\"issues\":[\"The package is slightly cropped at the bottom, not perfectly centered vertically (engine check noted scaling to fix this).\"],\"fixes\":[\"move bánh-chung upward by 5% of frame height to center it vertically\",\"add a subtle shadow under the package to ground it on the table\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f11-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T09:00:03.265Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f11-r0.jpg"
    },
    {
      "id": "cmv6ga7iz009s2ao4q0kk1jr7",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 144,
      "shotIndex": 7,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "96b3184da87de3cd",
      "outputSummary": "revise",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<defs>\n  <radialGradient id=\"fireGlow\" cx=\"0%\" cy=\"0%\" r=\"50%\">\n    <stop offset=\"0%\" stop-color=\"#F5E6C8\" stop-opacity=\"0.6\"/>\n    <stop offset=\"100%\" stop-color=\"#F5E6C8\" stop-opacity=\"0\"/>\n  </radialGradient>\n</defs>\n<!-- warm glows (firelight) behind characters -->\n<g>\n  <circle cx=\"500\" cy=\"600\" r=\"180\" fill=\"url(#fireGlow)\"/>\n  <circle cx=\"1420\" cy=\"600\" r=\"180\" fill=\"url(#fireGlow)\"/>\n</g>\n<!-- stool -->\n<rect x=\"860\" y=\"1000\" width=\"200\" height=\"30\" fill=\"#8B5E3C\"/>\n<rect x=\"860\" y=\"1030\" width=\"12\" height=\"40\" fill=\"#8B5E3C\"/>\n<rect x=\"1048\" y=\"1030\" width=\"12\" height=\"40\" fill=\"#8B5E3C\"/>\n<!-- bánh chưng on stool -->\n<use href=\"#banh-chung\" x=\"870\" y=\"820\" width=\"180\" height=\"180\"/>\n<!-- characters -->\n<use href=\"#grandma--point-neutral\" x=\"154\" y=\"0\" width=\"867\" height=\"1300\"/>\n<use href=\"#an--look-left-surprised\" x=\"899\" y=\"0\" width=\"867\" height=\"1300\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 28491,
      "tokensIn": 2325,
      "tokensOut": 5630,
      "costUsd": 0.0057645,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T09:00:09.755Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ga9re009t2ao4tgtrhd8j",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 145,
      "shotIndex": 7,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "e4230f5178020462",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters, one in green with white headwear, the other in white with black hair, stand close together in a night scene with a dark blue sky, stars, and a moon.\", \"A small green and yellow wrapped object (bánh chưng) sits on a wooden stool between them.\", \"The character in green has one arm extended, finger pointing towards the bánh chưng.\", \"The character in white has wide, round eyes and an open mouth, appearing surprised or curious.\", \"A kitchen counter with a pot and a stove is visible in the background on the right.\", \"A bar stool is visible in the background on the left.\", \"The scene is set outdoors at night, with a dark, starry sky and a full moon.\", \"The characters are framed from the waist up, with their heads and upper bodies filling most of the frame.\"], \"problems\": [\"The bánh chưng is very small in the frame (1.56% of the frame height), which may make it hard to read as a key prop in a close-up shot.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 2,
      "latencyMs": 2145,
      "tokensIn": 783,
      "tokensOut": 229,
      "costUsd": 0.0010194,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r2.jpg",
      "error": null,
      "createdAt": "2026-10-13T09:00:12.650Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r2.jpg"
    },
    {
      "id": "cmv6gabdo009u2ao41raujmgp",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 146,
      "shotIndex": 7,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "668177370cecf8cc",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 6,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"bánh chưng too small to be clearly readable as key prop\",\n    \"grandma's foot extends beyond frame (feet 120% down)\",\n    \"an's foot extends beyond frame (feet 120% down)\",\n    \"composition similar to shot 6 but not distinct enough\",\n    \"background elements (pot, stove) not clearly visible\"\n  ],\n  \"fixes\": [\n    \"scale bánh-chung to at least 204px width/height and position it closer to the center\",\n    \"crop or adjust grandma's feet to stay within 80–100% vertical range\",\n    \"crop or adjust an's feet to stay within 80–100% vertical range\",\n    \"move kitchen pot and stove into clearer foreground or add subtle glow\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"wrong\",\n    \"note\": \"grandma's foot extends beyond frame\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 2,
      "latencyMs": 2034,
      "tokensIn": 2090,
      "tokensOut": 241,
      "costUsd": 0.00018324,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r2.jpg",
      "error": null,
      "createdAt": "2026-10-13T09:00:14.748Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r2.jpg"
    },
    {
      "id": "cmv6gabe4009v2ao4ksvisu6q",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 147,
      "shotIndex": 7,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 6/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · action note · bánh chưng too small to be clearly readable as key prop",
      "output": "{\"score\":6,\"verdict\":\"revise\",\"issues\":[\"bánh chưng too small to be clearly readable as key prop\",\"grandma's foot extends beyond frame (feet 120% down)\",\"an's foot extends beyond frame (feet 120% down)\",\"composition similar to shot 6 but not distinct enough\",\"background elements (pot, stove) not clearly visible\"],\"fixes\":[\"scale bánh-chung to at least 204px width/height and position it closer to the center\",\"crop or adjust grandma's feet to stay within 80–100% vertical range\",\"crop or adjust an's feet to stay within 80–100% vertical range\",\"move kitchen pot and stove into clearer foreground or add subtle glow\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"wrong\",\"note\":\"grandma's foot extends beyond frame\"}}",
      "critiqueScore": 6,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r2.jpg",
      "error": null,
      "createdAt": "2026-10-13T09:00:14.764Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6g4rbd005g2ao4tni0bq5r/f07-r2.jpg"
    },
    {
      "id": "cmv6gae2a009w2ao4liofs28u",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 148,
      "shotIndex": 7,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: grandma blinks 1×, an blinks 2×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3457,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T09:00:18.226Z",
      "imageUrl": null
    },
    {
      "id": "cmv6gae2g009x2ao4y54cq98k",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 149,
      "shotIndex": 7,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "uplift",
      "promptHash": null,
      "outputSummary": "Revision accepted: 5 → 6",
      "output": null,
      "critiqueScore": 6,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T09:00:18.232Z",
      "imageUrl": null
    },
    {
      "id": "cmv6gae2n009y2ao4dacrow4w",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 150,
      "shotIndex": null,
      "role": "editor",
      "model": "storyboardLint",
      "action": "lint",
      "promptHash": null,
      "outputSummary": "Lint: 0 errors, 12 warnings, 0 info",
      "output": "[{\"frameIndex\":1,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F1 subtitle needs 19.9 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":2,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F2 subtitle needs 19.4 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":3,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F3 subtitle needs 20.7 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":3,\"severity\":\"warning\",\"code\":\"JUMP_CUT\",\"message\":\"F2→F3: same framing (Δ0°, zoom ×1.00) cut together — reads as a jump cut.\",\"hint\":\"Change the angle ≥ 30° or the size (zoom ≥ ×1.25), or use a dissolve.\"},{\"frameIndex\":4,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F4 subtitle needs 19.1 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":5,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F5 subtitle needs 19.3 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":6,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F6 subtitle needs 22.0 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":7,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F7 subtitle needs 20.5 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":8,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F8 subtitle needs 18.7 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":9,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F9 subtitle needs 18.9 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":10,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F10 subtitle needs 22.0 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"},{\"frameIndex\":11,\"severity\":\"warning\",\"code\":\"READING_SPEED\",\"message\":\"F11 subtitle needs 21.1 chars/s (max 17).\",\"hint\":\"Shorten the line or give it more screen time.\"}]",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T09:00:18.239Z",
      "imageUrl": null
    },
    {
      "id": "cmv6gagsj009z2ao4ld3uqbe3",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 151,
      "shotIndex": null,
      "role": "editor",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "lint-fix",
      "promptHash": "8080a9756c865088",
      "outputSummary": "lint-fix",
      "output": "{\n  \"edits\": [\n    {\n      \"index\": 1,\n      \"dialogue\": \"Chiều Ba Mươi Tết, bé An cùng bà gói bánh chưng trong sân nhà phố cổ Hà Nội.\"\n    },\n    {\n      \"index\": 2,\n      \"dialogue\": \"Bà trải lá dong xanh lên mâm, đong gạo nếp trắng, nhân đậu xanh và thịt.\"\n    },\n    {\n      \"index\": 3,\n      \"dialogue\": \"An học bà gấp lá thật vuông và buộc lạt tre thật chặt.\"\n    },\n    {\n      \"index\": 4,\n      \"dialogue\": \"Chiếc bánh đầu tiên An tự gói, bà khen vuông vắn như bánh của người lớn.\"\n    },\n    {\n      \"index\": 5,\n      \"dialogue\": \"Đêm xuống, nồi bánh sôi lục bục trên bếp lửa hồng giữa sân.\"\n    },\n    {\n      \"index\": 6,\n      \"dialogue\": \"Hai bà cháu ngồi canh nồi bánh, bà kể chuyện Lang Liêu dâng bánh cho vua Hùng.\"\n    },\n    {\n      \"index\": 7,\n      \"dialogue\": \"Bà chỉ chiếc bánh vuông như mặt đất, An tròn mắt lắng nghe.\"\n    },\n    {\n      \"index\": 8,\n      \"dialogue\": \"Đêm giao thừa, pháo hoa nở rực trên những mái ngói phố cổ.\"\n    },\n    {\n      \"index\": 9,\n      \"dialogue\": \"An ngủ gục trên vai bà, tay vẫn nắm sợi lạt tre.\"\n    },\n    {\n      \"index\": 10,\n      \"dialogue\": \"Sáng mùng Một, An mở mắt và chạy ra phòng khách.\"\n    },\n    {\n      \"index\": 11,\n      \"dialogue\": \"Trên bàn là chiếc bánh chưng vuông vức đầu tiên do chính tay An gói.\"\n    }\n  ],\n  \"notes\": \"Đã rút ngắn các câu phụ để đảm bảo tốc độ đọc không vượt quá 17 ký tự/giây. Đã thay thế các đoạn dissolve liên tiếp bằng dissolve để tránh jump cut.\"\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3513,
      "tokensIn": 1230,
      "tokensOut": 498,
      "costUsd": 0.00019332,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T09:00:21.763Z",
      "imageUrl": null
    },
    {
      "id": "cmv6gagsz00a02ao4ms2t8qjp",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 152,
      "shotIndex": null,
      "role": "editor",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "apply-edits",
      "promptHash": null,
      "outputSummary": "Applied 0 edit(s); fixable findings 12 → 12. Đã rút ngắn các câu phụ để đảm bảo tốc độ đọc không vượt quá 17 ký tự/giây. Đã thay thế các đoạn dissolve liên tiếp bằng dissolve để tránh jump cut.",
      "output": "{\"edits\":[{\"index\":1,\"dialogue\":\"Chiều Ba Mươi Tết, bé An cùng bà gói bánh chưng trong sân nhà phố cổ Hà Nội.\"},{\"index\":2,\"dialogue\":\"Bà trải lá dong xanh lên mâm, đong gạo nếp trắng, nhân đậu xanh và thịt.\"},{\"index\":3,\"dialogue\":\"An học bà gấp lá thật vuông và buộc lạt tre thật chặt.\"},{\"index\":4,\"dialogue\":\"Chiếc bánh đầu tiên An tự gói, bà khen vuông vắn như bánh của người lớn.\"},{\"index\":5,\"dialogue\":\"Đêm xuống, nồi bánh sôi lục bục trên bếp lửa hồng giữa sân.\"},{\"index\":6,\"dialogue\":\"Hai bà cháu ngồi canh nồi bánh, bà kể chuyện Lang Liêu dâng bánh cho vua Hùng.\"},{\"index\":7,\"dialogue\":\"Bà chỉ chiếc bánh vuông như mặt đất, An tròn mắt lắng nghe.\"},{\"index\":8,\"dialogue\":\"Đêm giao thừa, pháo hoa nở rực trên những mái ngói phố cổ.\"},{\"index\":9,\"dialogue\":\"An ngủ gục trên vai bà, tay vẫn nắm sợi lạt tre.\"},{\"index\":10,\"dialogue\":\"Sáng mùng Một, An mở mắt và chạy ra phòng khách.\"},{\"index\":11,\"dialogue\":\"Trên bàn là chiếc bánh chưng vuông vức đầu tiên do chính tay An gói.\"}],\"notes\":\"Đã rút ngắn các câu phụ để đảm bảo tốc độ đọc không vượt quá 17 ký tự/giây. Đã thay thế các đoạn dissolve liên tiếp bằng dissolve để tránh jump cut.\"}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T09:00:21.779Z",
      "imageUrl": null
    },
    {
      "id": "cmv6gairo00a12ao49sy17srb",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 153,
      "shotIndex": null,
      "role": "editor",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "continuity",
      "promptHash": "1d1423d0ac9c0dac",
      "outputSummary": "continuity",
      "output": "{\n  \"ok\": false,\n  \"notes\": [\n    \"Shot 11 mentions 'ancestor altar wall' but the set description says the altar is centered on the main wall; the altar itself is not drawn, only the wall is visible, which may cause a continuity inconsistency\",\n    \"Shot 11 shows the bánh chưng on a small wooden table in the front room, but earlier shots place the altar centered on the main wall; moving the parcel to a table away from the altar may break spatial continuity\",\n    \"Shot 11 uses 'low angle' but the description says 'medium shot from low angle in the front room', which conflicts with the earlier 'low angle' label used only for Shot 10; this could cause confusion in shot labeling\",\n    \"Shot 11's time reference 'Sáng mùng Một' (first day of the new year) implies dawn after midnight fireworks, but the transition from night fireworks to dawn in the same shot may require a clearer time jump\",\n    \"Shot 11's close-up focuses on the bánh chưng on the table while the ancestor altar wall is mentioned but not shown; this could cause a continuity issue if the altar is expected to be visible in the frame\",\n    \"Shot 11's description says 'no altar drawn, just the table and parcel', yet the set includes an ancestor altar; omitting the altar may be a continuity error if the altar is supposed to be present in the scene\"\n  ]\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2537,
      "tokensIn": 1265,
      "tokensOut": 312,
      "costUsd": 0.00015078,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T09:00:24.324Z",
      "imageUrl": null
    },
    {
      "id": "cmv6gais200a22ao4bsgmrvfs",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 154,
      "shotIndex": null,
      "role": "editor",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "continuity:report",
      "promptHash": null,
      "outputSummary": "Continuity notes: Shot 11 mentions 'ancestor altar wall' but the set description says the altar is centered on the main wall; the altar itself is not drawn, only the wall is visible, which may cause a continuity inconsistency · Shot 11 shows the bánh chưng on a small wooden table in the front room, but earlier shots place the altar centered on the main wall; moving the parcel to a table away from the altar may brea",
      "output": "{\"ok\":false,\"notes\":[\"Shot 11 mentions 'ancestor altar wall' but the set description says the altar is centered on the main wall; the altar itself is not drawn, only the wall is visible, which may cause a continuity inconsistency\",\"Shot 11 shows the bánh chưng on a small wooden table in the front room, but earlier shots place the altar centered on the main wall; moving the parcel to a table away from the altar may break spatial continuity\",\"Shot 11 uses 'low angle' but the description says 'medium shot from low angle in the front room', which conflicts with the earlier 'low angle' label used only for Shot 10; this could cause confusion in shot labeling\",\"Shot 11's time reference 'Sáng mùng Một' (first day of the new year) implies dawn after midnight fireworks, but the transition from night fireworks to dawn in the same shot may require a clearer time jump\",\"Shot 11's close-up focuses on the bánh chưng on the table while the ancestor altar wall is mentioned but not shown; this could cause a continuity issue if the altar is expected to be visible in the frame\",\"Shot 11's description says 'no altar drawn, just the table and parcel', yet the set includes an ancestor altar; omitting the altar may be a continuity error if the altar is supposed to be present in the scene\"]}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T09:00:24.338Z",
      "imageUrl": null
    },
    {
      "id": "cmv6gajbx00a32ao40sh15dbd",
      "runId": "cmv6g4rbd005g2ao4tni0bq5r",
      "seq": 155,
      "shotIndex": null,
      "role": "system",
      "model": "engine:score",
      "action": "music",
      "promptHash": null,
      "outputSummary": "Original score 41 s: playful 0–9 s, tender 9–13 s, triumph 13–18 s, night 17–21 s, tender 21–26 s, wonder 25–29 s, festival 29–33 s, lullaby 32–36 s, dawn 35–38 s, wonder 37–41 s (ducked under dialogue in the mix)",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 709,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T09:00:25.053Z",
      "imageUrl": null
    },
    {
      "id": "cmv6to3lq000y2as8f939tg6i",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 0,
      "shotIndex": null,
      "role": "system",
      "model": "catalog",
      "action": "models",
      "promptHash": null,
      "outputSummary": "vision: no NVIDIA vision model in the catalog, so openbmb/MiniCPM-V-4_5 LOOKS at each render and Nemotron Nano still scores it (vision critic: openbmb/MiniCPM-V-4_5; Nemotron crew: Ultra/Super/Nano).",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:14:52.862Z",
      "imageUrl": null
    },
    {
      "id": "cmv6to3m2000z2as86awx5y1a",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 1,
      "shotIndex": null,
      "role": "system",
      "model": "policy",
      "action": "stop-rule",
      "promptHash": null,
      "outputSummary": "Floor redraw off for this run (DEMO_FLOOR_REDRAW=off on this server)",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:14:52.874Z",
      "imageUrl": null
    },
    {
      "id": "cmv6to3mc00102as8vqok0oer",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 2,
      "shotIndex": null,
      "role": "system",
      "model": "engine",
      "action": "redo",
      "promptHash": null,
      "outputSummary": "Single-shot redo of run cmv6g4rbd005g2ao4tni0bq5r: shot(s) 2, 3, 4 redrawn with the take's plan and cast; every other shot stays as the take committed it (D84)",
      "output": "{\"sourceRunId\":\"cmv6g4rbd005g2ao4tni0bq5r\",\"shots\":[2,3,4]}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:14:52.884Z",
      "imageUrl": null
    },
    {
      "id": "cmv6to3n200112as8eiv6545b",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 3,
      "shotIndex": null,
      "role": "cast",
      "model": "preview",
      "action": "cast-from-run",
      "promptHash": null,
      "outputSummary": "Reused the approved cast of run cmv6g4rbd005g2ao4tni0bq5r verbatim (no Cast call): #courtyard 3660353f0d7f · #courtyard--day 78c9c3b87f1b · #front-room 1fbcf94fcfd2 · #rooftops ccf925b80135 · #an 632ea62db3b5 · #grandma 500522cb3a5a · #banh-chung 82007704a615",
      "output": "{\"sourceRunId\":\"cmv6g4rbd005g2ao4tni0bq5r\",\"hashes\":[{\"id\":\"courtyard\",\"sha\":\"3660353f0d7f\"},{\"id\":\"courtyard--day\",\"sha\":\"78c9c3b87f1b\"},{\"id\":\"front-room\",\"sha\":\"1fbcf94fcfd2\"},{\"id\":\"rooftops\",\"sha\":\"ccf925b80135\"},{\"id\":\"an\",\"sha\":\"632ea62db3b5\"},{\"id\":\"grandma\",\"sha\":\"500522cb3a5a\"},{\"id\":\"banh-chung\",\"sha\":\"82007704a615\"}]}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:14:52.911Z",
      "imageUrl": null
    },
    {
      "id": "cmv6todoi00122as8z937a8wa",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 4,
      "shotIndex": 3,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "7e3c2f4b90ac60a9",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#an--hold-surprised\" x=\"388\" y=\"274\" width=\"504\" height=\"756\"/>\n<use href=\"#grandma--point-smile\" x=\"1028\" y=\"274\" width=\"504\" height=\"756\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"steam1\",\n      \"type\": \"ellipse\",\n      \"rx\": 20,\n      \"ry\": 10,\n      \"at\": [960, 900],\n      \"fill\": \"#ffffff33\"\n    },\n    {\n      \"id\": \"steam2\",\n      \"type\": \"ellipse\",\n      \"rx\": 20,\n      \"ry\": 10,\n      \"at\": [880, 850],\n      \"fill\": \"#ffffff33\"\n    },\n    {\n      \"id\": \"steam3\",\n      \"type\": \"ellipse\",\n      \"rx\": 20,\n      \"ry\": 10,\n      \"at\": [1040, 850],\n      \"fill\": \"#ffffff33\"\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.steam1.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [960, 900] },\n        { \"t\": 4.1, \"v\": [960, 800], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam1.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [880, 850] },\n        { \"t\": 4.1, \"v\": [880, 750], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [1040, 850] },\n        { \"t\": 4.1, \"v\": [1040, 750], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 12981,
      "tokensIn": 2001,
      "tokensOut": 2606,
      "costUsd": 0.0029457,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:05.922Z",
      "imageUrl": null
    },
    {
      "id": "cmv6tofnq00132as8m39uh80s",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 5,
      "shotIndex": 4,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "e05a10e190d58df0",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#banh-chung\" x=\"760\" y=\"200\" width=\"400\" height=\"400\"/>\n<use href=\"#an--hold-laugh\" x=\"150\" y=\"0\" width=\"800\" height=\"1200\"/>\n<use href=\"#grandma--look-right-smile\" x=\"990\" y=\"0\" width=\"800\" height=\"1200\"/>\n<circle cx=\"200\" cy=\"900\" r=\"15\" fill=\"#4A7C59\" fill-opacity=\"0.6\"/>\n<circle cx=\"350\" cy=\"950\" r=\"12\" fill=\"#6B8E5A\" fill-opacity=\"0.5\"/>\n<circle cx=\"500\" cy=\"880\" r=\"18\" fill=\"#8B5E3C\" fill-opacity=\"0.4\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 15546,
      "tokensIn": 1670,
      "tokensOut": 2761,
      "costUsd": 0.0029859,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:08.486Z",
      "imageUrl": null
    },
    {
      "id": "cmv6toguc00142as84y4i4djx",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 6,
      "shotIndex": 3,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: an blinks 1×, grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3647,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:10.020Z",
      "imageUrl": null
    },
    {
      "id": "cmv6tohez00152as8f3flkmo6",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 7,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "8d1ba9abb6e62572",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect x=\"510\" y=\"800\" width=\"900\" height=\"150\" fill=\"#8B5E3C\"/>\n<use href=\"#grandma--hold-neutral\" x=\"708\" y=\"194\" width=\"504\" height=\"756\"/>\n<!-- left hand leaf -->\n<g transform=\"translate(620,600) rotate(-15)\">\n  <ellipse rx=\"30\" ry=\"15\" fill=\"#4A7C59\"/>\n</g>\n<!-- right hand leaf -->\n<g transform=\"translate(790,600) rotate(15)\">\n  <ellipse rx=\"30\" ry=\"15\" fill=\"#4A7C59\"/>\n</g>\n<!-- rice grains -->\n<circle cx=\"660\" cy=\"580\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"740\" cy=\"590\" r=\"8\" fill=\"#F5E6C8\"/>\n<circle cx=\"700\" cy=\"620\" r=\"8\" fill=\"#F5E6C8\"/>\n<!-- mung bean -->\n<ellipse cx=\"680\" cy=\"560\" rx=\"10\" ry=\"6\" fill=\"#D4A843\"/>\n<ellipse cx=\"720\" cy=\"570\" rx=\"10\" ry=\"6\" fill=\"#D4A843\"/>\n<!-- pork slice -->\n<rect x=\"690\" y=\"550\" width=\"20\" height=\"10\" fill=\"#C8553D\"/>\n```\n\n```json\n{\n  \"shapes\": [\n    {\"id\":\"mote1\",\"type\":\"circle\",\"r\":2,\"at\":[300,200],\"fill\":\"#F5E6C8\"},\n    {\"id\":\"mote2\",\"type\":\"circle\",\"r\":2,\"at\":[600,150],\"fill\":\"#F5E6C8\"},\n    {\"id\":\"mote3\",\"type\":\"circle\",\"r\":2,\"at\":[900,180],\"fill\":\"#F5E6C8\"},\n    {\"id\":\"mote4\",\"type\":\"circle\",\"r\":2,\"at\":[1200,160],\"fill\":\"#F5E6C8\"},\n    {\"id\":\"mote5\",\"type\":\"circle\",\"r\":2,\"at\":[1500,190],\"fill\":\"#F5E6C8\"}\n  ],\n  \"tracks\": [\n    {\"target\":\"shapes.mote1.at\",\"keys\":[{\"t\":0,\"v\":[300,200]},{\"t\":4.5,\"v\":[300,170]},\"ease\":\"inOut\"]},\n    {\"target\":\"shapes.mote2.at\",\"keys\":[{\"t\":0,\"v\":[600,150]},{\"t\":4.5,\"v\":[600,120]},\"ease\":\"inOut\"]},\n    {\"target\":\"shapes.mote3.at\",\"keys\":[{\"t\":0,\"v\":[900,180]},{\"t\":4.5,\"v\":[900,150]},\"ease\":\"inOut\"]},\n    {\"target\":\"shapes.mote4.at\",\"keys\":[{\"t\":0,\"v\":[1200,160]},{\"t\":4.5,\"v\":[1200,130]},\"ease\":\"inOut\"]},\n    {\"target\":\"shapes.mote5.at\",\"keys\":[{\"t\":0,\"v\":[1500,190]},{\"t\":4.5,\"v\":[1500,160]},\"ease\":\"inOut\"]}\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 17826,
      "tokensIn": 1934,
      "tokensOut": 3180,
      "costUsd": 0.0034422,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:10.763Z",
      "imageUrl": null
    },
    {
      "id": "cmv6tohfk00162as81ek4b5rg",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 8,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw:invalid",
      "promptHash": null,
      "outputSummary": "Frame rejected by the engine",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": "The ```json ambient block is not valid JSON: Expected ',' or ']' after array element in JSON at position 498 (line 10 column 93)",
      "createdAt": "2026-10-13T15:15:10.784Z",
      "imageUrl": null
    },
    {
      "id": "cmv6toiy400172as8c8jgec1j",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 9,
      "shotIndex": 3,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "183a3856f7aba8bd",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters: a young girl (An) on the left, an older woman (Bà) on the right.\", \"An is holding a green checkered object (banh-chung) in her hands.\", \"Bà is wearing a long green robe and a white headscarf, gesturing with her right hand towards a pot on a cabinet.\", \"The background shows a simple outdoor setting with a clear blue sky, three white clouds, a bright sun, and a landscape with hills and circular green shapes.\", \"The scene is lit with bright daylight, suggesting afternoon.\", \"A bar stool is visible on the left side of the frame.\", \"A cabinet with a pot on top is on the right side of the frame.\"], \"problems\": [\"The young girl's facial expression is not clearly showing the action of folding and tying, which is described in the notes.\", \"The older woman's gesture does not clearly indicate guiding hands or tying strings.\", \"The green checkered object (banh-chung) is not clearly identifiable as a banh-chung (traditional rice cake) in the context of the notes.\", \"The composition does not show an over-the-shoulder two-shot from behind An, as described in the notes.\", \"The lighting and time of day do not match the 'afternoon light softens' description, as the sun is high and the light is very bright.\", \"The 'pale bamboo strings' mentioned in the notes are not visible in the image.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2711,
      "tokensIn": 614,
      "tokensOut": 314,
      "costUsd": 0.001122,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:12.748Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r0.jpg"
    },
    {
      "id": "cmv6tojwj00182as8d76cvxvj",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 10,
      "shotIndex": 4,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 55 frames @ 12 fps rendered; acting: grandma blinks 2×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 4958,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:13.987Z",
      "imageUrl": null
    },
    {
      "id": "cmv6tokmc00192as8vsddegy3",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 11,
      "shotIndex": 3,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "9a2c971968889901",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 4,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"An and Bà overlap visually, breaking the required side-by-side separation\",\n    \"No over-the-shoulder perspective from behind An as specified\",\n    \"Bánh chưng is tiny (0.78% of frame) and not clearly identifiable as a traditional rice cake\",\n    \"Facial expressions and hand gestures do not show folding/tying action\",\n    \"Pale bamboo strings are missing\",\n    \"Composition places An on the left and Bà on the right but they visually overlap and lack clear separation\"\n  ],\n  \"fixes\": [\n    \"move grandma to the right third\",\n    \"add pale bamboo strings in An's hands\",\n    \"show An's hands folding dong leaves\",\n    \"make banh-chung clearly recognizable as a green checkered rice cake\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"wrong\",\n    \"note\": \"action mismatch\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2085,
      "tokensIn": 1777,
      "tokensOut": 227,
      "costUsd": 0.0001611,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:14.916Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r0.jpg"
    },
    {
      "id": "cmv6tokmq001a2as8p8tbchb4",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 12,
      "shotIndex": 3,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 4/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · action note · Key action: action mismatch",
      "output": "{\"score\":4,\"verdict\":\"revise\",\"issues\":[\"Key action: action mismatch\",\"An and Bà overlap visually, breaking the required side-by-side separation\",\"No over-the-shoulder perspective from behind An as specified\",\"Bánh chưng is tiny (0.78% of frame) and not clearly identifiable as a traditional rice cake\",\"Facial expressions and hand gestures do not show folding/tying action\",\"Pale bamboo strings are missing\"],\"fixes\":[\"move grandma to the right third\",\"add pale bamboo strings in An's hands\",\"show An's hands folding dong leaves\",\"make banh-chung clearly recognizable as a green checkered rice cake\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"wrong\",\"note\":\"action mismatch\"}}",
      "critiqueScore": 4,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:14.930Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r0.jpg"
    },
    {
      "id": "cmv6tolgz001b2as8gmo0f22v",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 13,
      "shotIndex": 4,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "975ee928b5ed32dc",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters: a young person with black hair and a smiling face holding a green square object, and an elderly person with white hair and a green robe, also smiling.\", \"The green square object is held in the young person's hands, centered in the lower half of the frame.\", \"The background shows a simple outdoor setting with a blue sky, white clouds, a low hill with green circular shapes, and a small table with a pot on it.\", \"The lighting is bright and even, suggesting daytime, with a soft glow around the elderly person's head.\", \"The characters are positioned side by side, facing forward, with the young person on the left and the elderly person on the right.\", \"The young person's robe is beige, and the elderly person's robe is green.\", \"The ground is dark with small green plants scattered around.\"], \"problems\": [\"The elderly person's robe appears to have a vertical line that may be a rendering artifact or an unintended design element.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2018,
      "tokensIn": 638,
      "tokensOut": 211,
      "costUsd": 0.0008892,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f04-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:16.019Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f04-r0.jpg"
    },
    {
      "id": "cmv6tomaq001c2as8izuspsvf",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 14,
      "shotIndex": 4,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "9df6fd75d8334b8f",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 7,\n  \"verdict\": \"accept\",\n  \"issues\": [\n    \"robe has a vertical line artifact\"\n  ],\n  \"fixes\": [\n    \"remove vertical line artifact from grandma's robe\",\n    \"add subtle afternoon glow on faces\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 1007,
      "tokensIn": 1832,
      "tokensOut": 98,
      "costUsd": 0.00013344,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f04-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:17.090Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f04-r0.jpg"
    },
    {
      "id": "cmv6tomb4001d2as822vm4jtc",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 15,
      "shotIndex": 4,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 7/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · robe has a vertical line artifact",
      "output": "{\"score\":7,\"verdict\":\"accept\",\"issues\":[\"robe has a vertical line artifact\"],\"fixes\":[\"remove vertical line artifact from grandma's robe\",\"add subtle afternoon glow on faces\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f04-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:17.104Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f04-r0.jpg"
    },
    {
      "id": "cmv6tov3m001e2as82rj4vkjg",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 16,
      "shotIndex": 2,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "repair",
      "promptHash": "98417ce569d9ed7b",
      "outputSummary": "repair",
      "output": "```svg\n<use href=\"#courtyard\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#grandma--hold-neutral\" x=\"672\" y=\"216\" width=\"576\" height=\"864\"/>\n<rect x=\"600\" y=\"500\" width=\"720\" height=\"120\" fill=\"#8B5E3C\"/>\n<!-- dong leaves -->\n<ellipse cx=\"660\" cy=\"540\" rx=\"20\" ry=\"10\" fill=\"#4A7C59\"/>\n<ellipse cx=\"720\" cy=\"530\" rx=\"22\" ry=\"12\" fill=\"#4A7C59\" transform=\"rotate(15 720 530)\"/>\n<ellipse cx=\"780\" cy=\"560\" rx=\"18\" ry=\"9\" fill=\"#4A7C59\" transform=\"rotate(-10 780 560)\"/>\n<!-- rice grains -->\n<circle cx=\"650\" cy=\"520\" r=\"4\" fill=\"#F5E6C8\"/>\n<circle cx=\"660\" cy=\"525\" r=\"3\" fill=\"#F5E6C8\"/>\n<circle cx=\"670\" cy=\"518\" r=\"4\" fill=\"#F5E6C8\"/>\n<circle cx=\"730\" cy=\"525\" r=\"3\" fill=\"#F5E6C8\"/>\n<circle cx=\"740\" cy=\"530\" r=\"4\" fill=\"#F5E6C8\"/>\n<circle cx=\"750\" cy=\"520\" r=\"3\" fill=\"#F5E6C8\"/>\n<!-- mung bean -->\n<ellipse cx=\"690\" cy=\"540\" rx=\"6\" ry=\"3\" fill=\"#D4A843\"/>\n<ellipse cx=\"710\" cy=\"545\" rx=\"5\" ry=\"2.5\" fill=\"#D4A843\"/>\n<ellipse cx=\"730\" cy=\"538\" rx=\"6\" ry=\"3\" fill=\"#D4A843\"/>\n<!-- pork slice -->\n<rect x=\"770\" y=\"530\" width=\"30\" height=\"12\" fill=\"#C8553D\"/>\n```\n\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"steam1\",\n      \"type\": \"circle\",\n      \"r\": 6,\n      \"at\": [300, 900],\n      \"fill\": \"#FFFFFF20\"\n    },\n    {\n      \"id\": \"steam2\",\n      \"type\": \"circle\",\n      \"r\": 6,\n      \"at\": [500, 880],\n      \"fill\": \"#FFFFFF20\"\n    },\n    {\n      \"id\": \"steam3\",\n      \"type\": \"circle\",\n      \"r\": 6,\n      \"at\": [700, 920],\n      \"fill\": \"#FFFFFF20\"\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.steam1.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [300, 900] },\n        { \"t\": 4.5, \"v\": [300, 200], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam1.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [500, 880] },\n        { \"t\": 4.5, \"v\": [500, 180], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam2.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [700, 920] },\n        { \"t\": 4.5, \"v\": [700, 150], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.steam3.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.5, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 17698,
      "tokensIn": 2354,
      "tokensOut": 3239,
      "costUsd": 0.0036213,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:28.498Z",
      "imageUrl": null
    },
    {
      "id": "cmv6toydr001f2as89srv70hi",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 17,
      "shotIndex": 2,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 54 frames @ 12 fps rendered; acting: grandma blinks 2×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3937,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:32.751Z",
      "imageUrl": null
    },
    {
      "id": "cmv6tozzg001g2as8yw0t2uld",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 18,
      "shotIndex": 2,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "026f3bea7f90745f",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A character with white hair and a green robe stands in the center, holding a long rectangular object horizontally in front of them.\", \"The background shows a simple outdoor setting with a clear blue sky, three white clouds, and a yellow sun.\", \"There are two green circular shapes on the ground, a small potted plant to the left, a stool, and a wooden cabinet with a pot and a small object on top to the right.\", \"The ground is dark with small grass-like elements scattered across it.\", \"The character's face is visible, showing a smile.\", \"The rectangular object held by the character has a brown color with some small colorful shapes on the left side.\"], \"problems\": [\"The rectangular object held by the character is not clearly identifiable as a 'woven mat' with 'glossy green dong leaves', 'white glutinous rice', 'mung bean filling', and 'pork' laid out; it appears \"],\n\"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2062,
      "tokensIn": 557,
      "tokensOut": 204,
      "costUsd": 0.0008238,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f02-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:34.828Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f02-r0.jpg"
    },
    {
      "id": "cmv6tp2cb001h2as8soqpacyp",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 19,
      "shotIndex": 3,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "563131315693a843",
      "outputSummary": "revise",
      "output": "```svg\n<use href=\"#courtyard--day\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#an--hold-neutral\" x=\"200\" y=\"200\" width=\"504\" height=\"756\"/>\n<use href=\"#grandma--point-smile\" x=\"1200\" y=\"200\" width=\"504\" height=\"756\"/>\n<use href=\"#banh-chung\" x=\"327\" y=\"453\" width=\"250\" height=\"250\"/>\n<circle cx=\"400\" cy=\"150\" r=\"8\" fill=\"#D4A843\"/>\n<circle cx=\"1500\" cy=\"200\" r=\"6\" fill=\"#E8D4B9\"/>\n```\n\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"speck1\",\n      \"type\": \"circle\",\n      \"r\": 8,\n      \"at\": [400, 150],\n      \"fill\": \"#D4A843\"\n    },\n    {\n      \"id\": \"speck2\",\n      \"type\": \"circle\",\n      \"r\": 6,\n      \"at\": [1500, 200],\n      \"fill\": \"#E8D4B9\"\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.speck1.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [400, 150] },\n        { \"t\": 4.1, \"v\": [400, 120], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.speck1.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.speck2.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [1500, 200] },\n        { \"t\": 4.1, \"v\": [1500, 170], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.speck2.scale\",\n      \"keys\": [\n        { \"t\": 0, \"v\": 1 },\n        { \"t\": 4.1, \"v\": 0.01, \"ease\": \"inOut\" }\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 22946,
      "tokensIn": 2297,
      "tokensOut": 4223,
      "costUsd": 0.0044898,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:37.883Z",
      "imageUrl": null
    },
    {
      "id": "cmv6tp3oh001i2as8h3azhkh2",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 20,
      "shotIndex": 2,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "d4fcde498e422b70",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 7,\n  \"verdict\": \"accept\",\n  \"issues\": [\n    \"The rectangular object held by the character is not clearly identifiable as a woven mat with glossy green dong leaves, white glutinous rice, mung bean filling, and pork laid out; it appears as a generic brown rectangle with small colorful s\"\n  ],\n  \"fixes\": [\n    \"Add visible green dong leaves pattern on the rectangular object\",\n    \"Overlay white rice grains and mung bean specks on the mat\",\n    \"Include small pork pieces on the mat\",\n    \"Adjust lighting to emphasize the mat's texture and contents\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 4731,
      "tokensIn": 1947,
      "tokensOut": 173,
      "costUsd": 0.00015834,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f02-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:39.617Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f02-r0.jpg"
    },
    {
      "id": "cmv6tp3pa001j2as83qhk1eet",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 21,
      "shotIndex": 2,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 7/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · The rectangular object held by the character is not clearly identifiable as a woven mat with glossy green dong leaves, white glutinous rice, mung bean filling, and pork laid out; it appears as a generic brown rectangle with small colorful s",
      "output": "{\"score\":7,\"verdict\":\"accept\",\"issues\":[\"The rectangular object held by the character is not clearly identifiable as a woven mat with glossy green dong leaves, white glutinous rice, mung bean filling, and pork laid out; it appears as a generic brown rectangle with small colorful s\"],\"fixes\":[\"Add visible green dong leaves pattern on the rectangular object\",\"Overlay white rice grains and mung bean specks on the mat\",\"Include small pork pieces on the mat\",\"Adjust lighting to emphasize the mat's texture and contents\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f02-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:39.646Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f02-r0.jpg"
    },
    {
      "id": "cmv6tp48h001k2as8s3oqempu",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 22,
      "shotIndex": 3,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "e95c11fa587bae8a",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A young girl (An) stands on the left, holding a green wrapped package (banh chung) with both hands, smiling. She has short black hair, a beige outfit, and black shoes. A stool and a potted plant are a\" , \"A woman (Bà) stands on the right, wearing a long green dress with a gray headscarf, smiling. She has one arm extended towards the girl, as if guiding or presenting something. Behind her is a wooden\" , \"The background shows a simple outdoor setting with a light blue sky, a few white clouds, and a bright yellow sun in the upper right. The ground is dark with small grass tufts, and a low wall with oval\" , \"The lighting is bright and even, suggesting daytime, with soft shadows under the characters. The overall scene is colorful and cartoonish.\"], \"problems\": [\"The woman's extended arm is not clearly guiding hands or folding dong leaves; it appears to be a general gesture.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1968,
      "tokensIn": 641,
      "tokensOut": 217,
      "costUsd": 0.0009054,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:40.337Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r1.jpg"
    },
    {
      "id": "cmv6tp7gw001l2as8zvpiqjuk",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 23,
      "shotIndex": 3,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "2ab2151510384cbf",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 7,\n  \"verdict\": \"accept\",\n  \"issues\": [\n    \"arm gesture not clearly guiding hands or folding dong leaves\",\n    \"banh-chung size too small (0.78% of frame) and may be hard to see\"\n  ],\n  \"fixes\": [\n    \"move grandma's arm to clearly show guiding An's hands\",\n    \"increase banh-chung size to at least 2% of frame height\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 4111,
      "tokensIn": 1763,
      "tokensOut": 140,
      "costUsd": 0.00013938,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:44.528Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r1.jpg"
    },
    {
      "id": "cmv6tp7hr001m2as8uff9eugp",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 24,
      "shotIndex": 3,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 7/10 · accept (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · arm gesture not clearly guiding hands or folding dong leaves",
      "output": "{\"score\":7,\"verdict\":\"accept\",\"issues\":[\"arm gesture not clearly guiding hands or folding dong leaves\",\"banh-chung size too small (0.78% of frame) and may be hard to see\"],\"fixes\":[\"move grandma's arm to clearly show guiding An's hands\",\"increase banh-chung size to at least 2% of frame height\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:15:44.559Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6to3le000x2as8hv2waon7/f03-r1.jpg"
    },
    {
      "id": "cmv6tpaar001n2as8f8mv4e4k",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 25,
      "shotIndex": 3,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: an blinks 1×, grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3630,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:48.195Z",
      "imageUrl": null
    },
    {
      "id": "cmv6tpaay001o2as8q05to4ne",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 26,
      "shotIndex": 3,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "uplift",
      "promptHash": null,
      "outputSummary": "Revision accepted: 4 → 7",
      "output": null,
      "critiqueScore": 7,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:15:48.202Z",
      "imageUrl": null
    },
    {
      "id": "cmv6tq6dp001p2as8zxxfbkcc",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 27,
      "shotIndex": null,
      "role": "editor",
      "model": "engine",
      "action": "hold-to-floor",
      "promptHash": null,
      "outputSummary": "The film ran 41.4 s, under its 46 s floor: every shot holds 0.4 s longer (11 clip(s) re-rendered from their own motion, stills 3.4 s) → 46.0 s",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:16:29.773Z",
      "imageUrl": null
    },
    {
      "id": "cmv6tq72q001q2as87bbbdvr8",
      "runId": "cmv6to3le000x2as8hv2waon7",
      "seq": 28,
      "shotIndex": null,
      "role": "system",
      "model": "engine:score",
      "action": "music",
      "promptHash": null,
      "outputSummary": "Original score 46 s: playful 0–10 s, tender 10–15 s, triumph 15–20 s, night 19–23 s, tender 23–29 s, wonder 28–32 s, festival 32–36 s, lullaby 35–40 s, dawn 39–42 s, wonder 42–46 s (ducked under dialogue in the mix)",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 893,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:16:30.674Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ul9z900012ao0wikfk105",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 0,
      "shotIndex": null,
      "role": "system",
      "model": "catalog",
      "action": "models",
      "promptHash": null,
      "outputSummary": "vision: no NVIDIA vision model in the catalog, so openbmb/MiniCPM-V-4_5 LOOKS at each render and Nemotron Nano still scores it (vision critic: openbmb/MiniCPM-V-4_5; Nemotron crew: Ultra/Super/Nano).",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:40:40.774Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ul9zh00022ao0k3fw60hi",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 1,
      "shotIndex": null,
      "role": "system",
      "model": "policy",
      "action": "stop-rule",
      "promptHash": null,
      "outputSummary": "Floor redraw off for this run (DEMO_FLOOR_REDRAW=off on this server)",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:40:40.781Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ul9zo00032ao0t78x8tqs",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 2,
      "shotIndex": null,
      "role": "system",
      "model": "engine",
      "action": "redo",
      "promptHash": null,
      "outputSummary": "Single-shot redo of run cmv6to3le000x2as8hv2waon7: shot(s) 9, 10 redrawn with the take's plan and cast; every other shot stays as the take committed it (D84)",
      "output": "{\"sourceRunId\":\"cmv6to3le000x2as8hv2waon7\",\"shots\":[9,10]}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:40:40.788Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ula0k00042ao0mi8zcdwc",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 3,
      "shotIndex": null,
      "role": "cast",
      "model": "preview",
      "action": "cast-from-run",
      "promptHash": null,
      "outputSummary": "Reused the approved cast of run cmv6to3le000x2as8hv2waon7 verbatim (no Cast call): #courtyard 3660353f0d7f · #courtyard--day 78c9c3b87f1b · #front-room 1fbcf94fcfd2 · #rooftops ccf925b80135 · #an 632ea62db3b5 · #grandma 500522cb3a5a · #banh-chung 82007704a615",
      "output": "{\"sourceRunId\":\"cmv6to3le000x2as8hv2waon7\",\"hashes\":[{\"id\":\"courtyard\",\"sha\":\"3660353f0d7f\"},{\"id\":\"courtyard--day\",\"sha\":\"78c9c3b87f1b\"},{\"id\":\"front-room\",\"sha\":\"1fbcf94fcfd2\"},{\"id\":\"rooftops\",\"sha\":\"ccf925b80135\"},{\"id\":\"an\",\"sha\":\"632ea62db3b5\"},{\"id\":\"grandma\",\"sha\":\"500522cb3a5a\"},{\"id\":\"banh-chung\",\"sha\":\"82007704a615\"}]}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:40:40.821Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ulj0l00052ao0szhp1zv1",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 4,
      "shotIndex": 9,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "3a12c1fa00dd8a3c",
      "outputSummary": "draw",
      "output": "```svg\n<radialGradient id=\"glow\" cx=\"50%\" cy=\"50%\" r=\"50%\">\n  <stop offset=\"0%\" stop-color=\"#FFDAB9\" stop-opacity=\"0.6\"/>\n  <stop offset=\"100%\" stop-color=\"#FFDAB9\" stop-opacity=\"0\"/>\n</radialGradient>\n<use href=\"#rooftops\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<circle cx=\"768\" cy=\"702\" r=\"500\" fill=\"url(#glow)\"/>\n<circle cx=\"968\" cy=\"702\" r=\"500\" fill=\"url(#glow)\"/>\n<use href=\"#grandma--hug-neutral\" x=\"300\" y=\"0\" width=\"936\" height=\"1404\"/>\n<use href=\"#an--sit-sleepy\" x=\"500\" y=\"0\" width=\"936\" height=\"1404\"/>\n<use href=\"#banh-chung\" x=\"1240\" y=\"480\" width=\"100\" height=\"100\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 11637,
      "tokensIn": 1780,
      "tokensOut": 2176,
      "costUsd": 0.0024924,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:40:52.485Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ulmzf00062ao0qkv27uph",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 5,
      "shotIndex": 9,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 49 frames @ 12 fps rendered; acting: grandma blinks 1×",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3939,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:40:57.627Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ulozy00072ao01uy0iq5m",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 6,
      "shotIndex": 10,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "draw",
      "promptHash": "2a11651764ddb8e8",
      "outputSummary": "draw",
      "output": "```svg\n<use href=\"#front-room\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<ellipse cx=\"200\" cy=\"150\" rx=\"120\" ry=\"60\" fill=\"#F5E6C8\" fill-opacity=\"0.2\"/>\n<use href=\"#an--walk_a-surprised\" x=\"400\" y=\"194\" width=\"504\" height=\"756\"/>\n```\n\n```json\n{\n  \"shapes\": [\n    {\"id\":\"mote1\",\"type\":\"circle\",\"r\":4,\"at\":[300,500],\"fill\":\"#F5E6C880\"},\n    {\"id\":\"mote2\",\"type\":\"circle\",\"r\":4,\"at\":[800,400],\"fill\":\"#F5E6C880\"},\n    {\"id\":\"mote3\",\"type\":\"circle\",\"r\":4,\"at\":[1200,450],\"fill\":\"#F5E6C880\"}\n  ],\n  \"tracks\": [\n    {\"target\":\"shapes.mote1.at\",\"keys\":[{\"t\":0,\"v\":[300,500]},{\"t\":3.1,\"v\":[300,480],\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.mote2.at\",\"keys\":[{\"t\":0,\"v\":[800,400]},{\"t\":3.1,\"v\":[800,380],\"ease\":\"inOut\"}]},\n    {\"target\":\"shapes.mote3.at\",\"keys\":[{\"t\":0,\"v\":[1200,450]},{\"t\":3.1,\"v\":[1200,430],\"ease\":\"inOut\"}]}\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 19389,
      "tokensIn": 1904,
      "tokensOut": 3555,
      "costUsd": 0.0037707,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:41:00.238Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ulpf800082ao0i5f3hnxf",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 7,
      "shotIndex": 9,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "899dd02c51d06839",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A close-up of two characters: a young girl (An) with closed eyes and a black hair bun, wearing a light-colored outfit, sitting in front of an older woman (Bà) with a white head covering, wearing a red\", \"An's face is in the lower half of the frame, with her eyes closed and cheeks slightly blushed, her body occupies the lower 91% of the frame height.\", \"Bà is positioned behind An, with her right hand gently resting on An's shoulder, her face is visible above An's head, smiling softly.\", \"A green and yellow patterned object (bánh chưng) is held in front of An's chest, slightly to the right.\", \"The background shows a night scene with a dark blue sky, stars, a full moon, and silhouettes of houses with lit windows.\", \"Fireworks are implied by the soft glow on the characters' faces, suggesting a festive atmosphere.\", \"The lighting is soft and warm, highlighting the characters' faces against the dark night background.\", \"The scene is set outdoors, with a fence and trees visible in the distance behind the characters.\"], \"problems\": [\"The green and yellow patterned object (bánh chưng) is scaled up to 2.82× to meet the 1.20% minimum size requirement for a key prop in a close-up shot, making it appear larger than intended in the real\", \"No visible flat or empty areas in the background or foreground.\"], \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3142,
      "tokensIn": 758,
      "tokensOut": 319,
      "costUsd": 0.0012204,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:00.788Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r0.jpg"
    },
    {
      "id": "cmv6uls0j00092ao093246fpp",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 8,
      "shotIndex": 10,
      "role": "system",
      "model": "engine",
      "action": "render-clip",
      "promptHash": null,
      "outputSummary": "Clip 37 frames @ 12 fps rendered; acting: an walks 6 steps right",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3686,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:41:04.147Z",
      "imageUrl": null
    },
    {
      "id": "cmv6ulsk7000a2ao0jlyqlco0",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 9,
      "shotIndex": 9,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "1c58883016c1b63f",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 6,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"Bánh chưng is oversized and dominates the frame, violating close-up framing expectations\",\n    \"Bánh chưng is placed too far to the right, creating imbalance and reducing focus on the characters\",\n    \"Grandma's positioning behind An creates visual overlap and obscures facial details\",\n    \"Fireworks glow is implied but not visually distinct, missing clear festive atmosphere cues\"\n  ],\n  \"fixes\": [\n    \"Scale down bánh chưng to 1.20% minimum size (≈204px width/height) and reposition to center-left third\",\n    \"Move grandma slightly forward and lower to reduce overlap with An's head\",\n    \"Add subtle firework sparkles near the top corners to emphasize night celebration\",\n    \"Adjust lighting to enhance facial details without increasing overall brightness\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"wrong\",\n    \"note\": \"Bánh chưng appears too large and mispositioned, not clearly visible as a small held prop\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 3988,
      "tokensIn": 2112,
      "tokensOut": 250,
      "costUsd": 0.00018672,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:04.855Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r0.jpg"
    },
    {
      "id": "cmv6ulskj000b2ao0txyqqwxc",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 10,
      "shotIndex": 9,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 6/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · action note · Key action: Bánh chưng appears too large and mispositioned, not clearly visible as a small held prop",
      "output": "{\"score\":6,\"verdict\":\"revise\",\"issues\":[\"Key action: Bánh chưng appears too large and mispositioned, not clearly visible as a small held prop\",\"Bánh chưng is oversized and dominates the frame, violating close-up framing expectations\",\"Bánh chưng is placed too far to the right, creating imbalance and reducing focus on the characters\",\"Grandma's positioning behind An creates visual overlap and obscures facial details\",\"Fireworks glow is implied but not visually distinct, missing clear festive atmosphere cues\"],\"fixes\":[\"Scale down bánh chưng to 1.20% minimum size (≈204px width/height) and reposition to center-left third\",\"Move grandma slightly forward and lower to reduce overlap with An's head\",\"Add subtle firework sparkles near the top corners to emphasize night celebration\",\"Adjust lighting to enhance facial details without increasing overall brightness\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"wrong\",\"note\":\"Bánh chưng appears too large and mispositioned, not clearly visible as a small held prop\"}}",
      "critiqueScore": 6,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:04.867Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r0.jpg"
    },
    {
      "id": "cmv6ultu5000c2ao0y9z6p11z",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 11,
      "shotIndex": 10,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "7920b2dc0df0a073",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A character with short black hair and a white outfit stands in a room with wooden panel walls.\", \"The character is positioned slightly off-center to the left, facing forward.\", \"A window with a view of blue sky and green hills is centered on the back wall.\", \"A small bookshelf with colorful books is mounted on the left wall above a potted plant.\", \"A floor lamp with a beige shade stands on the right side of the room.\", \"The floor is green, and the walls have a light wood paneling with a darker trim at the bottom.\", \"Light from the window and lamp creates a warm glow in the room, suggesting daytime.\"], \"problems\": [\"The character's eyes appear too large and unrealistic for the style.\", \"The character's mouth is open in an unnatural, exaggerated expression.\", \"The potted plant is disproportionately large compared to the character and room.\", \"The lamp shade is a solid beige color, lacking detail or texture.\", \"The window frame is thin and lacks depth, making it appear flat.\", \"The wall paneling is uniform and lacks texture, making the room look less detailed.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2350,
      "tokensIn": 554,
      "tokensOut": 239,
      "costUsd": 0.000906,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:06.509Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r0.jpg"
    },
    {
      "id": "cmv6ulvms000d2ao0nv7jzgol",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 12,
      "shotIndex": 10,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "critique",
      "promptHash": "6d0e7887d44023fa",
      "outputSummary": "critique",
      "output": "{\n  \"score\": 3,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"character eyes too large and unrealistic\",\n    \"mouth open in exaggerated expression\",\n    \"potted plant disproportionately large\",\n    \"lamp shade lacks detail\",\n    \"window frame appears flat\",\n    \"wall paneling lacks texture\"\n  ],\n  \"fixes\": [\n    \"reduce eye size and adjust mouth to neutral expression\",\n    \"scale down potted plant to appropriate size\",\n    \"add texture to lamp shade\",\n    \"add depth to window frame\",\n    \"add texture to wall paneling\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"ok\",\n    \"note\": \"\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 2260,
      "tokensIn": 1528,
      "tokensOut": 166,
      "costUsd": 0.00013152,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:08.836Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r0.jpg"
    },
    {
      "id": "cmv6ulvn7000e2ao0r55f3i2d",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 13,
      "shotIndex": 10,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 3/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · character eyes too large and unrealistic",
      "output": "{\"score\":3,\"verdict\":\"revise\",\"issues\":[\"character eyes too large and unrealistic\",\"mouth open in exaggerated expression\",\"potted plant disproportionately large\",\"lamp shade lacks detail\",\"window frame appears flat\",\"wall paneling lacks texture\"],\"fixes\":[\"reduce eye size and adjust mouth to neutral expression\",\"scale down potted plant to appropriate size\",\"add texture to lamp shade\",\"add depth to window frame\",\"add texture to wall paneling\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"ok\",\"note\":\"\"}}",
      "critiqueScore": 3,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r0.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:08.851Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r0.jpg"
    },
    {
      "id": "cmv6um7df000f2ao01r0hqvfx",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 14,
      "shotIndex": 9,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "11d64bd454838b7b",
      "outputSummary": "revise",
      "output": "```svg\n<radialGradient id=\"glow\">\n  <stop offset=\"0%\" stop-color=\"#FFDAB9\" stop-opacity=\"0.6\"/>\n  <stop offset=\"100%\" stop-color=\"#FFDAB9\" stop-opacity=\"0\"/>\n</radialGradient>\n<use href=\"#rooftops\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<rect width=\"1920\" height=\"1080\" fill=\"#0b1330\" fill-opacity=\"0.45\"/>\n<circle cx=\"833\" cy=\"400\" r=\"250\" fill=\"url(#glow)\"/>\n<circle cx=\"1233\" cy=\"100\" r=\"250\" fill=\"url(#glow)\"/>\n<use href=\"#grandma--hug-neutral\" x=\"400\" y=\"300\" width=\"866\" height=\"1300\"/>\n<use href=\"#an--sit-sleepy\" x=\"800\" y=\"0\" width=\"866\" height=\"1300\"/>\n<use href=\"#banh-chung\" x=\"250\" y=\"800\" width=\"210\" height=\"210\"/>\n<circle cx=\"200\" cy=\"100\" r=\"8\" fill=\"#fff\" fill-opacity=\"0.7\"/>\n<circle cx=\"1720\" cy=\"100\" r=\"8\" fill=\"#fff\" fill-opacity=\"0.7\"/>\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 19178,
      "tokensIn": 2283,
      "tokensOut": 3912,
      "costUsd": 0.0042057,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:41:24.051Z",
      "imageUrl": null
    },
    {
      "id": "cmv6um9jl000g2ao0fu90mhtn",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 15,
      "shotIndex": 9,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "b402d2f133b10d4c",
      "outputSummary": "look",
      "output": "{\"sees\": [\"Two characters: an elderly woman (Bà) in green with a white head covering, and a child (An) in white with black hair, sitting close together. The child is positioned on the right side of the frame, in\"]\n, \"problems\": [\"The child's (An's) body is partially cut off at the bottom right edge of the frame; the child's (An's) left hand is not visible; the child's (An's) facial expression is neutral but does not show 'asle\", \"The child's (An's) small fingers are not clearly visible around the 'pale bamboo string' from the bánh chưng; the bánh chưng itself is very small and not the main focus of the close-up; the background\"\n, \"matchesShot]: true}\"]\n\n\n, \"matchesShot\": true}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 1807,
      "tokensIn": 773,
      "tokensOut": 177,
      "costUsd": 0.0008886,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:26.865Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r1.jpg"
    },
    {
      "id": "cmv6umc2q000h2ao030a7c3cr",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 16,
      "shotIndex": 9,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "29df2e2ad260db9c",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 6,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"An's body is partially cut off at the bottom right edge\",\n    \"An's left hand is not visible\",\n    \"An's facial expression does not show 'asleep'\",\n    \"An's small fingers are not clearly visible around the pale bamboo string\",\n    \"Bánh chưng is too small and not the main focus of the close-up\"\n  ],\n  \"fixes\": [\n    \"move An's body upward to keep it fully within the frame\",\n    \"adjust An's left hand to be visible holding the pale bamboo string\",\n    \"enlarge the pale bamboo string to be clearly visible in An's fingers\",\n    \"scale up the bánh chưng prop to at least 1.2% of the frame height\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"ok\",\n    \"action\": \"wrong\",\n    \"note\": \"An's facial expression does not show 'asleep' and the key object (pale bamboo string) is not clearly visible\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 3224,
      "tokensIn": 2040,
      "tokensOut": 240,
      "costUsd": 0.00018,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:30.146Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r1.jpg"
    },
    {
      "id": "cmv6umc33000i2ao0i9fkp6t5",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 17,
      "shotIndex": 9,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 6/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · action note · Key action: An's facial expression does not show 'asleep' and the key object (pale bamboo string) is not clearly visible",
      "output": "{\"score\":6,\"verdict\":\"revise\",\"issues\":[\"Key action: An's facial expression does not show 'asleep' and the key object (pale bamboo string) is not clearly visible\",\"An's body is partially cut off at the bottom right edge\",\"An's left hand is not visible\",\"An's facial expression does not show 'asleep'\",\"An's small fingers are not clearly visible around the pale bamboo string\",\"Bánh chưng is too small and not the main focus of the close-up\"],\"fixes\":[\"move An's body upward to keep it fully within the frame\",\"adjust An's left hand to be visible holding the pale bamboo string\",\"enlarge the pale bamboo string to be clearly visible in An's fingers\",\"scale up the bánh chưng prop to at least 1.2% of the frame height\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"ok\",\"action\":\"wrong\",\"note\":\"An's facial expression does not show 'asleep' and the key object (pale bamboo string) is not clearly visible\"}}",
      "critiqueScore": 6,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:30.159Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f09-r1.jpg"
    },
    {
      "id": "cmv6umc3c000j2ao05pbxndm1",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 18,
      "shotIndex": 9,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "keep",
      "promptHash": null,
      "outputSummary": "Revision scored 6 ≤ 6: kept the previous version",
      "output": null,
      "critiqueScore": 6,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:41:30.168Z",
      "imageUrl": null
    },
    {
      "id": "cmv6umc9w000k2ao08e21p1ns",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 19,
      "shotIndex": 10,
      "role": "artist",
      "model": "nvidia/nemotron-3-super-120b-a12b",
      "action": "revise",
      "promptHash": "25489228b96127b2",
      "outputSummary": "revise",
      "output": "```svg\n<use href=\"#front-room\" x=\"0\" y=\"0\" width=\"1920\" height=\"1080\"/>\n<use href=\"#an--walk_a-surprised\" x=\"200\" y=\"324\" width=\"504\" height=\"756\"/>\n<circle cx=\"400\" cy=\"200\" r=\"6\" fill=\"#F5E6C8\" fill-opacity=\"0.4\"/>\n<circle cx=\"1100\" cy=\"300\" r=\"5\" fill=\"#F5E6C8\" fill-opacity=\"0.3\"/>\n```\n```json\n{\n  \"shapes\": [\n    {\n      \"id\": \"mote1\",\n      \"type\": \"circle\",\n      \"r\": 6,\n      \"at\": [400, 200],\n      \"fill\": \"#F5E6C8\"\n    },\n    {\n      \"id\": \"mote2\",\n      \"type\": \"circle\",\n      \"r\": 5,\n      \"at\": [1100, 300],\n      \"fill\": \"#F5E6C8\"\n    }\n  ],\n  \"tracks\": [\n    {\n      \"target\": \"shapes.mote1.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [400, 200] },\n        { \"t\": 3.1, \"v\": [420, 50], \"ease\": \"inOut\" }\n      ]\n    },\n    {\n      \"target\": \"shapes.mote2.at\",\n      \"keys\": [\n        { \"t\": 0, \"v\": [1100, 300] },\n        { \"t\": 3.1, \"v\": [1080, 80], \"ease\": \"inOut\" }\n      ]\n    }\n  ]\n}\n```",
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 21544,
      "tokensIn": 2128,
      "tokensOut": 4018,
      "costUsd": 0.0042546,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:41:30.404Z",
      "imageUrl": null
    },
    {
      "id": "cmv6umedt000l2ao0rz6z3k6q",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 20,
      "shotIndex": 10,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "look",
      "promptHash": "6bd9b280053c4900",
      "outputSummary": "look",
      "output": "{\"sees\": [\"A character with short black hair and a beige outfit stands on a green wooden floor.\", \"The character holds a potted plant in their left hand.\", \"A window with a view of a blue sky and green hills is centered on the back wall.\", \"A small bookshelf with colorful books is mounted on the left wall above the character's head.\", \"A floor lamp with a beige shade stands on the right side of the frame.\", \"A framed picture hangs on the right wall, below the lamp.\", \"Light from the window casts a warm glow on the wall and floor.\", \"The character's facial expression shows surprise or curiosity, with wide eyes and an open mouth.\"], \"problems\": [\"The character's right arm is not visible, appearing cut off by the frame edge.\", \"The floor lamp's base is partially cut off at the bottom of the frame.\", \"The framed picture on the right wall is not centered vertically.\", \"The character's feet are partially cut off at the bottom of the frame.\", \"The composition does not show a 'small wooden table centered under the ancestor altar wall' as described.\", \"The 'dawn light paints the room gold' is not clearly visible in the warm glow.\"], \"matchesShot\": false}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 2470,
      "tokensIn": 554,
      "tokensOut": 257,
      "costUsd": 0.0009492,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:33.137Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r1.jpg"
    },
    {
      "id": "cmv6umgo6000m2ao0kewvygbo",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 21,
      "shotIndex": 10,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "re-critique",
      "promptHash": "e66f5134d5d68481",
      "outputSummary": "re-critique",
      "output": "{\n  \"score\": 3,\n  \"verdict\": \"revise\",\n  \"issues\": [\n    \"The planned setting includes a small wooden table centered under the ancestor altar wall, but the rendered frame shows no such table; instead it shows a bookshelf, lamp, and window.\",\n    \"The key action of An running toward the table is not visible; the character is shown holding a potted plant and looking surprised, not running toward any table.\",\n    \"The composition does not place the character in the centre of the frame as intended; the character occupies 70% height but is offset and partially cut off at the feet and arm.\",\n    \"The lighting described as 'dawn light paints the room gold' is not evident; the warm glow is minimal and does not clearly indicate dawn illumination.\"\n  ],\n  \"fixes\": [\n    \"Add a small wooden table centered under the ancestor altar wall in the background.\",\n    \"Position An mid‑run toward the table, ensuring the full body and movement are visible.\",\n    \"Center the character vertically and ensure both feet and the moving arm are fully within the frame.\",\n    \"Increase the warm, golden dawn lighting to clearly illuminate the scene.\"\n  ],\n  \"fidelity\": {\n    \"time\": \"ok\",\n    \"place\": \"wrong\",\n    \"action\": \"wrong\",\n    \"note\": \"Missing table and running action; lighting not clearly dawn.\"\n  }\n}",
      "critiqueScore": null,
      "attempt": 1,
      "latencyMs": 2908,
      "tokensIn": 1571,
      "tokensOut": 295,
      "costUsd": 0.00016506,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:36.102Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r1.jpg"
    },
    {
      "id": "cmv6umgom000n2ao03b9ptpdu",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 22,
      "shotIndex": 10,
      "role": "critic",
      "model": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",
      "action": "score",
      "promptHash": null,
      "outputSummary": "vision critic 3/10 · revise (openbmb/MiniCPM-V-4_5 looked, nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B scored) · OFF-PLAN place · action note · Off-plan place: Missing table and running action; lighting not clearly dawn.",
      "output": "{\"score\":3,\"verdict\":\"revise\",\"issues\":[\"Off-plan place: Missing table and running action; lighting not clearly dawn.\",\"The planned setting includes a small wooden table centered under the ancestor altar wall, but the rendered frame shows no such table; instead it shows a bookshelf, lamp, and window.\",\"The key action of An running toward the table is not visible; the character is shown holding a potted plant and looking surprised, not running toward any table.\",\"The composition does not place the character in the centre of the frame as intended; the character occupies 70% height but is offset and partially cut off at the feet and arm.\",\"The lighting described as 'dawn light paints the room gold' is not evident; the warm glow is minimal and does not clearly indicate dawn illumination.\"],\"fixes\":[\"Add a small wooden table centered under the ancestor altar wall in the background.\",\"Position An mid‑run toward the table, ensuring the full body and movement are visible.\",\"Center the character vertically and ensure both feet and the moving arm are fully within the frame.\",\"Increase the warm, golden dawn lighting to clearly illuminate the scene.\"],\"fidelity\":{\"time\":\"ok\",\"place\":\"wrong\",\"action\":\"wrong\",\"note\":\"Missing table and running action; lighting not clearly dawn.\"}}",
      "critiqueScore": 3,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": "cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r1.jpg",
      "error": null,
      "createdAt": "2026-10-13T15:41:36.118Z",
      "imageUrl": "/api/files/cmv6g4r9e005f2ao49hjkdcry/director/cmv6ul9yo00002ao09enx017d/f10-r1.jpg"
    },
    {
      "id": "cmv6umgou000o2ao08me0lyrs",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 23,
      "shotIndex": 10,
      "role": "critic",
      "model": "openbmb/MiniCPM-V-4_5",
      "action": "keep",
      "promptHash": null,
      "outputSummary": "Revision scored 3 ≤ 3: kept the previous version",
      "output": null,
      "critiqueScore": 3,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:41:36.126Z",
      "imageUrl": null
    },
    {
      "id": "cmv6uncld000p2ao0olpzsorf",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 24,
      "shotIndex": null,
      "role": "editor",
      "model": "engine",
      "action": "hold-to-floor",
      "promptHash": null,
      "outputSummary": "The film ran 45.2 s, under its 46 s floor: every shot holds 0.1 s longer (11 clip(s) re-rendered from their own motion, stills 3.5 s) → 46.1 s",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 0,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:42:17.473Z",
      "imageUrl": null
    },
    {
      "id": "cmv6unday000q2ao0fqf37pwl",
      "runId": "cmv6ul9yo00002ao09enx017d",
      "seq": 25,
      "shotIndex": null,
      "role": "system",
      "model": "engine:score",
      "action": "music",
      "promptHash": null,
      "outputSummary": "Original score 46 s: playful 0–10 s, tender 10–15 s, triumph 15–20 s, night 19–24 s, tender 24–29 s, wonder 28–33 s, festival 32–37 s, lullaby 36–40 s, dawn 39–42 s, wonder 42–46 s (ducked under dialogue in the mix)",
      "output": null,
      "critiqueScore": null,
      "attempt": 0,
      "latencyMs": 911,
      "tokensIn": 0,
      "tokensOut": 0,
      "costUsd": 0,
      "imagePath": null,
      "error": null,
      "createdAt": "2026-10-13T15:42:18.394Z",
      "imageUrl": null
    }
  ],
  "live": false
}