{
  "label": "Film A · live toilet-running-cistern.pages.dev · Playwright CDP",
  "subject": "【小区物业维修工 老周】在【凌晨 2 点的业主群】用【Grok Bot 的 Colorfigures 透视 + Labels】完成了【给业主讲清楚「马桶为什么一直流水」】",
  "variant": "mobile",
  "viewport": "390x844",
  "delivered": {
    "mp4": "390x844",
    "gif": "390x844"
  },
  "durationSec": 9.53,
  "fps": 30,
  "files": [
    "demo.mp4",
    "demo.gif",
    "cues.json",
    "handoff.json",
    "contact.png",
    "cold-viewer-contact-sheet.png"
  ],
  "shots": [
    "S0 establish RUNNING+STUCK z1.0",
    "S1 zoom Flush z1.25",
    "S2 Flush → overflow hold z1.3",
    "S3 zoom Fix float z1.3",
    "S4 Fix float click z1.3",
    "S5 RESULT HOLD QUIET z1.3",
    "S6 pull back z1.0"
  ],
  "qa": "pass-with-notes",
  "hold_s": 3.32,
  "legibility": {
    "verdict": "pass-with-notes",
    "file": "edits/legibility-summary.json",
    "checks": [
      {
        "id": "desktop_RUNNING",
        "metric": "cap_height_css_scaled_to_gif",
        "measured_px": 25.5,
        "threshold_px": 16,
        "ocr": "RUNNING",
        "pass": true,
        "note": "CSS 34px @1280 → GIF 960 = 25.5"
      },
      {
        "id": "desktop_QUIET",
        "metric": "cap_height_css_scaled_to_gif",
        "measured_px": 25.5,
        "threshold_px": 16,
        "ocr": "QUIET",
        "pass": true,
        "note": "visible on hold frames; OCR flaky on zoom crop"
      },
      {
        "id": "desktop_Flush",
        "metric": "xheight_css_scaled_to_gif",
        "measured_px": 9.8,
        "threshold_px": 9,
        "ocr": "Flush",
        "pass": true
      },
      {
        "id": "mobile_RUNNING",
        "metric": "cap_height_css",
        "measured_px": 34,
        "threshold_px": 16,
        "ocr": "RUNNING",
        "pass": true
      },
      {
        "id": "mobile_QUIET",
        "metric": "cap_height_css",
        "measured_px": 34,
        "threshold_px": 16,
        "ocr": "QUIET",
        "pass": true
      },
      {
        "id": "mobile_figure_FLOAT",
        "metric": "cap_height_css",
        "measured_px": 3.7,
        "threshold_px": 16,
        "ocr": "FLOAT",
        "pass": false,
        "note": "3D figure labels tiny on 390 viewport — product chrome; status hero text OK"
      }
    ],
    "readable_result_s": 3.32,
    "centering_pass": true,
    "story_test": {
      "independent": true,
      "pass": true,
      "answer": "provisional-FR: Flush starts/continues overflow (RUNNING+FLOAT STUCK labels); Fix float → QUIET + water stops. Cold-viewer contact sheet in outputs/*/cold-viewer-contact-sheet.png",
      "method": "FR contact-sheet review (independent human re-check recommended)"
    }
  },
  "notes": [
    "Fixed isometric camera; never drag-rotated 3D",
    "Click path Anatomy: Flush → continuous overflow → Fix float → stop; RESULT HOLD ~3.32s",
    "No language toggle on site; English control labels kept; FLOAT/FILL VALVE English product labels",
    "Desktop GIF 3.6MB (slightly over 3MB soft target) for clarity",
    "Mobile 3D FLOAT/FILL VALVE labels ~3.7px CSS — below 16px gate; hero RUNNING/QUIET 34px pass"
  ],
  "url": "https://toilet-running-cistern.pages.dev/",
  "parent_handoff": "../handoff.json"
}
