{
  "version": "60.0-clean",
  "generated_at": "2026-07-18T17:09:21",
  "trip_ready": true,
  "targets": {
    "usa_phone": {
      "target": "usa_phone",
      "label": "ארצות הברית 2027 — פלאפון / מחשב",
      "generated_at": "2026-07-18 17:09:15",
      "presentation": {
        "path": "C:\\TripServer\\USA\\usa2027-presentation.html",
        "exists": true,
        "size": 1042419,
        "mtime": "2026-07-18 09:38:32"
      },
      "parts": [
        {
          "label": "שיר ראשון",
          "song_seconds": 239.059955,
          "slide_count": 23,
          "video_count": 14,
          "video_seconds": 165.389209,
          "image_count": 9,
          "image_seconds": 73.67074600000001,
          "per_image_seconds": 8.185638444444445,
          "reserve_to_5_seconds": 28.67074600000001,
          "status": "green"
        },
        {
          "label": "שיר שני",
          "song_seconds": 198.925351,
          "slide_count": 21,
          "video_count": 9,
          "video_seconds": 133.90800000000002,
          "image_count": 12,
          "image_seconds": 65.01735099999999,
          "per_image_seconds": 5.418112583333333,
          "reserve_to_5_seconds": 5.017350999999991,
          "status": "yellow"
        }
      ],
      "checks": [
        {
          "name": "מבנה המצגת",
          "ok": true,
          "detail": "נמצאו 44 שקפים; חלק 1 מסתיים בשקף 23.",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "משך השירים בקוד תואם לקבצים בפועל",
          "ok": true,
          "detail": "חלק 1: בקוד 239.060 שנ׳ · בקובץ 239.060 שנ׳ · פער 0.000 | חלק 2: בקוד 198.925 שנ׳ · בקובץ 198.925 שנ׳ · פער 0.000",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "קובצי מדיה לכל השקפים",
          "ok": true,
          "detail": "הכול קיים",
          "level": "ok",
          "category": "media"
        },
        {
          "name": "אין תמונה וסרטון כפולים לאותו שקף",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "חישוב ציר הזמן",
          "ok": true,
          "detail": "סה״כ 437.985 שניות; סרטונים נשמרים במלוא אורכם.",
          "level": "ok",
          "category": "timeline"
        },
        {
          "name": "שני קובצי המוזיקה",
          "ok": true,
          "detail": "usa-roadtrip-theme.mp3 ✓ 239.060 שנ׳; usa-part2-theme.mp3 ✓ 198.925 שנ׳",
          "level": "ok",
          "category": "media"
        },
        {
          "name": "אין מזהי HTML כפולים",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "אין עוגנים פנימיים שבורים",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "Registry אופליין אינו סופר מדיה כפולה",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "media"
        },
        {
          "name": "אין תלות במנגנוני אופליין שנכשלו בעבר",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "offline"
        },
        {
          "name": "רשימת אופליין מוטמעת",
          "ok": true,
          "detail": "46 פריטי מדיה; token=9fc2093a7e17b8ea",
          "level": "ok",
          "category": "offline"
        },
        {
          "name": "כל קובצי רשימת האופליין קיימים בשרת",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "offline"
        },
        {
          "name": "מעבר רציף בין כל השקפים",
          "ok": true,
          "detail": "נבדקו 43 מעברים",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 21→22",
          "ok": true,
          "detail": "222.689→222.689 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 22→23",
          "ok": true,
          "detail": "230.874→230.874 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 23→24",
          "ok": true,
          "detail": "239.060→239.060 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 24→25",
          "ok": true,
          "detail": "244.478→244.478 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 42→43",
          "ok": true,
          "detail": "427.149→427.149 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 43→44",
          "ok": true,
          "detail": "432.567→432.567 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "ניווט ידני קדימה בזמן נגינה",
          "ok": true,
          "detail": "לכל שקף אחרי הראשון קיימת נקודת seek חיובית",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "אין מקטעים שליליים או אפסיים",
          "ok": true,
          "detail": "כל המקטעים מתקדמים קדימה",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "שיר ראשון: לפחות 5 שניות לתמונה",
          "ok": true,
          "detail": "8.19 שנ׳",
          "level": "ok",
          "category": "timeline"
        },
        {
          "name": "שיר שני: לפחות 5 שניות לתמונה",
          "ok": true,
          "detail": "5.42 שנ׳",
          "level": "ok",
          "category": "timeline"
        },
        {
          "name": "משקל כולל בתחום סביר לדפדפן",
          "ok": true,
          "detail": "223.5 MB",
          "level": "ok",
          "category": "performance"
        },
        {
          "name": "שיר 1: לפחות 5 שניות לתמונה",
          "ok": true,
          "detail": "שקפים 1–23 · 8.19 שנ׳",
          "level": "ok",
          "category": "timeline"
        },
        {
          "name": "שיר 2: לפחות 5 שניות לתמונה",
          "ok": true,
          "detail": "שקפים 24–44 · 5.42 שנ׳",
          "level": "ok",
          "category": "timeline"
        }
      ],
      "videos": [
        {
          "base": "day-01",
          "file": "day-01.mp4",
          "duration": 10.033223,
          "size": 4959082
        },
        {
          "base": "day-02",
          "file": "day-02.mp4",
          "duration": 9.999889,
          "size": 16130290
        },
        {
          "base": "day-03",
          "file": "day-03.mp4",
          "duration": 9.999889,
          "size": 14875583
        },
        {
          "base": "day-04",
          "file": "day-04.mp4",
          "duration": 8.2,
          "size": 11412605
        },
        {
          "base": "extra-big-sur",
          "file": "extra-big-sur.mp4",
          "duration": 18.226542,
          "size": 18365588
        },
        {
          "base": "day-06",
          "file": "day-06.mp4",
          "duration": 10.0,
          "size": 7894284
        },
        {
          "base": "day-08",
          "file": "day-08.mp4",
          "duration": 9.999889,
          "size": 9333099
        },
        {
          "base": "day-09",
          "file": "day-09.mp4",
          "duration": 16.9,
          "size": 18153434
        },
        {
          "base": "day-10",
          "file": "day-10.mp4",
          "duration": 10.0,
          "size": 3003456
        },
        {
          "base": "day-12",
          "file": "day-12.mp4",
          "duration": 15.015,
          "size": 4864219
        },
        {
          "base": "day-13",
          "file": "day-13.mp4",
          "duration": 15.015,
          "size": 5886922
        },
        {
          "base": "extra-death-valley",
          "file": "extra-death-valley.mp4",
          "duration": 9.999889,
          "size": 11881487
        },
        {
          "base": "day-14",
          "file": "day-14.mp4",
          "duration": 9.999888,
          "size": 8274669
        },
        {
          "base": "extra-mono-lake",
          "file": "extra-mono-lake.mp4",
          "duration": 12.0,
          "size": 15665055
        },
        {
          "base": "day-19",
          "file": "day-19.mp4",
          "duration": 15.015,
          "size": 5515997
        },
        {
          "base": "day-20",
          "file": "day-20.mp4",
          "duration": 15.015,
          "size": 7228628
        },
        {
          "base": "day-22",
          "file": "day-22.mp4",
          "duration": 18.018,
          "size": 7825154
        },
        {
          "base": "day-24",
          "file": "day-24.mp4",
          "duration": 15.015,
          "size": 4854698
        },
        {
          "base": "day-25",
          "file": "day-25.mp4",
          "duration": 15.015,
          "size": 4279164
        },
        {
          "base": "day-28",
          "file": "day-28.mp4",
          "duration": 15.015,
          "size": 10946198
        },
        {
          "base": "day-31",
          "file": "day-31.mp4",
          "duration": 14.8,
          "size": 6346224
        },
        {
          "base": "day-32",
          "file": "day-32.mp4",
          "duration": 11.0,
          "size": 10364995
        },
        {
          "base": "day-34",
          "file": "day-34.mp4",
          "duration": 15.015,
          "size": 8208662
        }
      ],
      "missing": [],
      "warnings": [],
      "offline": {
        "inline_count": 46,
        "missing": [],
        "expected_with_html": 47
      },
      "totals": {
        "slide_count": 44,
        "video_count": 23,
        "image_count": 21,
        "media_bytes": 233320233,
        "presentation_bytes": 1042419
      },
      "ok": true,
      "timeline_total": 437.98530600000004,
      "music": [
        {
          "path": "C:\\TripServer\\USA\\media\\usa-presentation\\music\\usa-roadtrip-theme.mp3",
          "exists": true,
          "size": 5739161,
          "mtime": "2026-07-16 17:25:30",
          "duration": 239.059955,
          "probe_ok": true,
          "error": "239.059955",
          "ffprobe": "C:\\ffmpeg\\bin\\ffprobe.exe"
        },
        {
          "path": "C:\\TripServer\\USA\\media\\usa-presentation\\music\\usa-part2-theme.mp3",
          "exists": true,
          "size": 4776155,
          "mtime": "2026-07-15 23:38:55",
          "duration": 198.925351,
          "probe_ok": true,
          "error": "198.925351",
          "ffprobe": "C:\\ffmpeg\\bin\\ffprobe.exe"
        }
      ],
      "audio_timeline_source": "ffprobe",
      "declared_song_seconds": [
        239.059955,
        198.925351
      ],
      "actual_song_seconds": [
        239.059955,
        198.925351
      ],
      "timeline": [
        {
          "slide": 1,
          "base": "intro",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 0.0,
          "end": 8.185638444444445,
          "part": 1
        },
        {
          "slide": 2,
          "base": "roadtrip-map",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 8.185638444444445,
          "end": 16.37127688888889,
          "part": 1
        },
        {
          "slide": 3,
          "base": "day-01",
          "kind": "video",
          "seconds": 10.033223,
          "media_seconds": 10.033223,
          "start": 16.37127688888889,
          "end": 26.40449988888889,
          "part": 1
        },
        {
          "slide": 4,
          "base": "day-02",
          "kind": "video",
          "seconds": 9.999889,
          "media_seconds": 9.999889,
          "start": 26.40449988888889,
          "end": 36.40438888888889,
          "part": 1
        },
        {
          "slide": 5,
          "base": "day-03",
          "kind": "video",
          "seconds": 9.999889,
          "media_seconds": 9.999889,
          "start": 36.40438888888889,
          "end": 46.404277888888885,
          "part": 1
        },
        {
          "slide": 6,
          "base": "day-04",
          "kind": "video",
          "seconds": 8.2,
          "media_seconds": 8.2,
          "start": 46.404277888888885,
          "end": 54.60427788888889,
          "part": 1
        },
        {
          "slide": 7,
          "base": "extra-big-sur",
          "kind": "video",
          "seconds": 18.226542,
          "media_seconds": 18.226542,
          "start": 54.60427788888889,
          "end": 72.83081988888888,
          "part": 1
        },
        {
          "slide": 8,
          "base": "day-05",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 72.83081988888888,
          "end": 81.01645833333333,
          "part": 1
        },
        {
          "slide": 9,
          "base": "day-06",
          "kind": "video",
          "seconds": 10.0,
          "media_seconds": 10.0,
          "start": 81.01645833333333,
          "end": 91.01645833333333,
          "part": 1
        },
        {
          "slide": 10,
          "base": "day-07",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 91.01645833333333,
          "end": 99.20209677777778,
          "part": 1
        },
        {
          "slide": 11,
          "base": "extra-diner",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 99.20209677777778,
          "end": 107.38773522222223,
          "part": 1
        },
        {
          "slide": 12,
          "base": "day-08",
          "kind": "video",
          "seconds": 9.999889,
          "media_seconds": 9.999889,
          "start": 107.38773522222223,
          "end": 117.38762422222223,
          "part": 1
        },
        {
          "slide": 13,
          "base": "day-09",
          "kind": "video",
          "seconds": 16.9,
          "media_seconds": 16.9,
          "start": 117.38762422222223,
          "end": 134.28762422222223,
          "part": 1
        },
        {
          "slide": 14,
          "base": "day-10",
          "kind": "video",
          "seconds": 10.0,
          "media_seconds": 10.0,
          "start": 134.28762422222223,
          "end": 144.28762422222223,
          "part": 1
        },
        {
          "slide": 15,
          "base": "day-11",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 144.28762422222223,
          "end": 152.47326266666667,
          "part": 1
        },
        {
          "slide": 16,
          "base": "day-12",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 152.47326266666667,
          "end": 167.48826266666669,
          "part": 1
        },
        {
          "slide": 17,
          "base": "day-13",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 167.48826266666669,
          "end": 182.50326266666667,
          "part": 1
        },
        {
          "slide": 18,
          "base": "extra-death-valley",
          "kind": "video",
          "seconds": 9.999889,
          "media_seconds": 9.999889,
          "start": 182.50326266666667,
          "end": 192.50315166666667,
          "part": 1
        },
        {
          "slide": 19,
          "base": "day-14",
          "kind": "video",
          "seconds": 9.999888,
          "media_seconds": 9.999888,
          "start": 192.50315166666667,
          "end": 202.50303966666667,
          "part": 1
        },
        {
          "slide": 20,
          "base": "extra-mono-lake",
          "kind": "video",
          "seconds": 12.0,
          "media_seconds": 12.0,
          "start": 202.50303966666667,
          "end": 214.50303966666667,
          "part": 1
        },
        {
          "slide": 21,
          "base": "day-15",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 214.50303966666667,
          "end": 222.6886781111111,
          "part": 1
        },
        {
          "slide": 22,
          "base": "day-16",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 222.6886781111111,
          "end": 230.87431655555554,
          "part": 1
        },
        {
          "slide": 23,
          "base": "day-17",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 230.87431655555554,
          "end": 239.05995499999997,
          "part": 1
        },
        {
          "slide": 24,
          "base": "day-18",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 239.05995499999997,
          "end": 244.4780675833333,
          "part": 2
        },
        {
          "slide": 25,
          "base": "day-19",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 244.4780675833333,
          "end": 259.4930675833333,
          "part": 2
        },
        {
          "slide": 26,
          "base": "day-20",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 259.4930675833333,
          "end": 274.5080675833333,
          "part": 2
        },
        {
          "slide": 27,
          "base": "day-21",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 274.5080675833333,
          "end": 279.9261801666666,
          "part": 2
        },
        {
          "slide": 28,
          "base": "day-22",
          "kind": "video",
          "seconds": 18.018,
          "media_seconds": 18.018,
          "start": 279.9261801666666,
          "end": 297.94418016666657,
          "part": 2
        },
        {
          "slide": 29,
          "base": "day-23",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 297.94418016666657,
          "end": 303.3622927499999,
          "part": 2
        },
        {
          "slide": 30,
          "base": "day-24",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 303.3622927499999,
          "end": 318.37729274999987,
          "part": 2
        },
        {
          "slide": 31,
          "base": "day-25",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 318.37729274999987,
          "end": 333.39229274999985,
          "part": 2
        },
        {
          "slide": 32,
          "base": "day-26",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 333.39229274999985,
          "end": 338.81040533333316,
          "part": 2
        },
        {
          "slide": 33,
          "base": "day-27",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 338.81040533333316,
          "end": 344.2285179166665,
          "part": 2
        },
        {
          "slide": 34,
          "base": "day-28",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 344.2285179166665,
          "end": 359.24351791666646,
          "part": 2
        },
        {
          "slide": 35,
          "base": "day-29",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 359.24351791666646,
          "end": 364.6616304999998,
          "part": 2
        },
        {
          "slide": 36,
          "base": "day-30",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 364.6616304999998,
          "end": 370.0797430833331,
          "part": 2
        },
        {
          "slide": 37,
          "base": "day-31",
          "kind": "video",
          "seconds": 14.8,
          "media_seconds": 14.8,
          "start": 370.0797430833331,
          "end": 384.8797430833331,
          "part": 2
        },
        {
          "slide": 38,
          "base": "day-32",
          "kind": "video",
          "seconds": 11.0,
          "media_seconds": 11.0,
          "start": 384.8797430833331,
          "end": 395.8797430833331,
          "part": 2
        },
        {
          "slide": 39,
          "base": "day-33",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 395.8797430833331,
          "end": 401.2978556666664,
          "part": 2
        },
        {
          "slide": 40,
          "base": "day-34",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 401.2978556666664,
          "end": 416.3128556666664,
          "part": 2
        },
        {
          "slide": 41,
          "base": "day-35",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 416.3128556666664,
          "end": 421.7309682499997,
          "part": 2
        },
        {
          "slide": 42,
          "base": "day-36",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 421.7309682499997,
          "end": 427.149080833333,
          "part": 2
        },
        {
          "slide": 43,
          "base": "budget",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 427.149080833333,
          "end": 432.5671934166663,
          "part": 2
        },
        {
          "slide": 44,
          "base": "summary",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 432.5671934166663,
          "end": 437.98530599999964,
          "part": 2
        }
      ],
      "performance": {
        "total_bytes": 234362652,
        "video_bytes": 216269493,
        "estimated_seconds": {
          "wifi_100mbps": 18.7,
          "wifi_30mbps": 62.5,
          "cellular_10mbps": 187.5
        }
      },
      "score": 100,
      "category_scores": {
        "media": 100,
        "timeline": 100,
        "regression": 100,
        "offline": 100,
        "code": 100,
        "structure": 100,
        "performance": 100
      },
      "trip_ready": true,
      "qa_version": "60.0-clean",
      "song_segments": [
        {
          "id": "song-1",
          "label": "שיר 1",
          "startSlide": 1,
          "endSlide": 23,
          "source": "media\\usa-presentation\\music\\segments\\part1-main-upload.mp3",
          "duration": 239.059955,
          "offset": 0.0,
          "group": 1,
          "videoCount": 14,
          "videoSeconds": 165.389209,
          "imageCount": 9,
          "perImageSeconds": 8.185638444444445,
          "status": "green"
        },
        {
          "id": "song-2",
          "label": "שיר 2",
          "startSlide": 24,
          "endSlide": 44,
          "source": "media\\usa-presentation\\music\\segments\\part2-main-upload.mp3",
          "duration": 198.925351,
          "offset": 0.0,
          "group": 2,
          "videoCount": 9,
          "videoSeconds": 133.90800000000002,
          "imageCount": 12,
          "perImageSeconds": 5.418112583333333,
          "status": "yellow"
        }
      ]
    },
    "usa_tv": {
      "target": "usa_tv",
      "label": "ארצות הברית 2027 — טלוויזיה",
      "generated_at": "2026-07-18 17:09:18",
      "presentation": {
        "path": "C:\\TripServer\\USA_TV\\usa2027-presentation-tv.html",
        "exists": true,
        "size": 1044771,
        "mtime": "2026-07-18 09:38:34"
      },
      "parts": [
        {
          "label": "שיר ראשון",
          "song_seconds": 239.059955,
          "slide_count": 23,
          "video_count": 14,
          "video_seconds": 165.389209,
          "image_count": 9,
          "image_seconds": 73.67074600000001,
          "per_image_seconds": 8.185638444444445,
          "reserve_to_5_seconds": 28.67074600000001,
          "status": "green"
        },
        {
          "label": "שיר שני",
          "song_seconds": 198.925351,
          "slide_count": 21,
          "video_count": 9,
          "video_seconds": 133.90800000000002,
          "image_count": 12,
          "image_seconds": 65.01735099999999,
          "per_image_seconds": 5.418112583333333,
          "reserve_to_5_seconds": 5.017350999999991,
          "status": "yellow"
        }
      ],
      "checks": [
        {
          "name": "מבנה המצגת",
          "ok": true,
          "detail": "נמצאו 44 שקפים; חלק 1 מסתיים בשקף 23.",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "משך השירים בקוד תואם לקבצים בפועל",
          "ok": true,
          "detail": "חלק 1: בקוד 239.060 שנ׳ · בקובץ 239.060 שנ׳ · פער 0.000 | חלק 2: בקוד 198.925 שנ׳ · בקובץ 198.925 שנ׳ · פער 0.000",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "קובצי מדיה לכל השקפים",
          "ok": true,
          "detail": "הכול קיים",
          "level": "ok",
          "category": "media"
        },
        {
          "name": "אין תמונה וסרטון כפולים לאותו שקף",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "חישוב ציר הזמן",
          "ok": true,
          "detail": "סה״כ 437.985 שניות; סרטונים נשמרים במלוא אורכם.",
          "level": "ok",
          "category": "timeline"
        },
        {
          "name": "שני קובצי המוזיקה",
          "ok": true,
          "detail": "usa-roadtrip-theme.mp3 ✓ 239.060 שנ׳; usa-part2-theme.mp3 ✓ 198.925 שנ׳",
          "level": "ok",
          "category": "media"
        },
        {
          "name": "אין מזהי HTML כפולים",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "אין עוגנים פנימיים שבורים",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "structure"
        },
        {
          "name": "Registry אופליין אינו סופר מדיה כפולה",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "media"
        },
        {
          "name": "אין תלות במנגנוני אופליין שנכשלו בעבר",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "offline"
        },
        {
          "name": "רשימת אופליין מוטמעת",
          "ok": true,
          "detail": "46 פריטי מדיה; token=9fc2093a7e17b8ea",
          "level": "ok",
          "category": "offline"
        },
        {
          "name": "כל קובצי רשימת האופליין קיימים בשרת",
          "ok": true,
          "detail": "",
          "level": "ok",
          "category": "offline"
        },
        {
          "name": "מעבר רציף בין כל השקפים",
          "ok": true,
          "detail": "נבדקו 43 מעברים",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 21→22",
          "ok": true,
          "detail": "222.689→222.689 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 22→23",
          "ok": true,
          "detail": "230.874→230.874 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 23→24",
          "ok": true,
          "detail": "239.060→239.060 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 24→25",
          "ok": true,
          "detail": "244.478→244.478 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 42→43",
          "ok": true,
          "detail": "427.149→427.149 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "מעבר 43→44",
          "ok": true,
          "detail": "432.567→432.567 שנ׳",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "ניווט ידני קדימה בזמן נגינה",
          "ok": true,
          "detail": "לכל שקף אחרי הראשון קיימת נקודת seek חיובית",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "אין מקטעים שליליים או אפסיים",
          "ok": true,
          "detail": "כל המקטעים מתקדמים קדימה",
          "level": "ok",
          "category": "regression"
        },
        {
          "name": "שיר ראשון: לפחות 5 שניות לתמונה",
          "ok": true,
          "detail": "8.19 שנ׳",
          "level": "ok",
          "category": "timeline"
        },
        {
          "name": "שיר שני: לפחות 5 שניות לתמונה",
          "ok": true,
          "detail": "5.42 שנ׳",
          "level": "ok",
          "category": "timeline"
        },
        {
          "name": "משקל כולל בתחום סביר לדפדפן",
          "ok": true,
          "detail": "223.4 MB",
          "level": "ok",
          "category": "performance"
        },
        {
          "name": "שיר 1: לפחות 5 שניות לתמונה",
          "ok": true,
          "detail": "שקפים 1–23 · 8.19 שנ׳",
          "level": "ok",
          "category": "timeline"
        },
        {
          "name": "שיר 2: לפחות 5 שניות לתמונה",
          "ok": true,
          "detail": "שקפים 24–44 · 5.42 שנ׳",
          "level": "ok",
          "category": "timeline"
        }
      ],
      "videos": [
        {
          "base": "day-01",
          "file": "day-01.mp4",
          "duration": 10.033223,
          "size": 4959082
        },
        {
          "base": "day-02",
          "file": "day-02.mp4",
          "duration": 9.999889,
          "size": 16130290
        },
        {
          "base": "day-03",
          "file": "day-03.mp4",
          "duration": 9.999889,
          "size": 14875583
        },
        {
          "base": "day-04",
          "file": "day-04.mp4",
          "duration": 8.2,
          "size": 11412605
        },
        {
          "base": "extra-big-sur",
          "file": "extra-big-sur.mp4",
          "duration": 18.226542,
          "size": 18365588
        },
        {
          "base": "day-06",
          "file": "day-06.mp4",
          "duration": 10.0,
          "size": 7894284
        },
        {
          "base": "day-08",
          "file": "day-08.mp4",
          "duration": 9.999889,
          "size": 9333099
        },
        {
          "base": "day-09",
          "file": "day-09.mp4",
          "duration": 16.9,
          "size": 18153434
        },
        {
          "base": "day-10",
          "file": "day-10.mp4",
          "duration": 10.0,
          "size": 3003456
        },
        {
          "base": "day-12",
          "file": "day-12.mp4",
          "duration": 15.015,
          "size": 4864219
        },
        {
          "base": "day-13",
          "file": "day-13.mp4",
          "duration": 15.015,
          "size": 5886922
        },
        {
          "base": "extra-death-valley",
          "file": "extra-death-valley.mp4",
          "duration": 9.999889,
          "size": 11881487
        },
        {
          "base": "day-14",
          "file": "day-14.mp4",
          "duration": 9.999888,
          "size": 8274669
        },
        {
          "base": "extra-mono-lake",
          "file": "extra-mono-lake.mp4",
          "duration": 12.0,
          "size": 15665055
        },
        {
          "base": "day-19",
          "file": "day-19.mp4",
          "duration": 15.015,
          "size": 5515997
        },
        {
          "base": "day-20",
          "file": "day-20.mp4",
          "duration": 15.015,
          "size": 7228628
        },
        {
          "base": "day-22",
          "file": "day-22.mp4",
          "duration": 18.018,
          "size": 7825154
        },
        {
          "base": "day-24",
          "file": "day-24.mp4",
          "duration": 15.015,
          "size": 4854698
        },
        {
          "base": "day-25",
          "file": "day-25.mp4",
          "duration": 15.015,
          "size": 4279164
        },
        {
          "base": "day-28",
          "file": "day-28.mp4",
          "duration": 15.015,
          "size": 10946198
        },
        {
          "base": "day-31",
          "file": "day-31.mp4",
          "duration": 14.8,
          "size": 6346224
        },
        {
          "base": "day-32",
          "file": "day-32.mp4",
          "duration": 11.0,
          "size": 10364995
        },
        {
          "base": "day-34",
          "file": "day-34.mp4",
          "duration": 15.015,
          "size": 8208662
        }
      ],
      "missing": [],
      "warnings": [],
      "offline": {
        "inline_count": 46,
        "missing": [],
        "expected_with_html": 47
      },
      "totals": {
        "slide_count": 44,
        "video_count": 23,
        "image_count": 21,
        "media_bytes": 233198463,
        "presentation_bytes": 1044771
      },
      "ok": true,
      "timeline_total": 437.98530600000004,
      "music": [
        {
          "path": "C:\\TripServer\\USA_TV\\media\\usa-presentation\\music\\usa-roadtrip-theme.mp3",
          "exists": true,
          "size": 5739161,
          "mtime": "2026-07-16 17:25:30",
          "duration": 239.059955,
          "probe_ok": true,
          "error": "239.059955",
          "ffprobe": "C:\\ffmpeg\\bin\\ffprobe.exe"
        },
        {
          "path": "C:\\TripServer\\USA_TV\\media\\usa-presentation\\music\\usa-part2-theme.mp3",
          "exists": true,
          "size": 4776155,
          "mtime": "2026-07-15 23:38:55",
          "duration": 198.925351,
          "probe_ok": true,
          "error": "198.925351",
          "ffprobe": "C:\\ffmpeg\\bin\\ffprobe.exe"
        }
      ],
      "audio_timeline_source": "ffprobe",
      "declared_song_seconds": [
        239.059955,
        198.925351
      ],
      "actual_song_seconds": [
        239.059955,
        198.925351
      ],
      "timeline": [
        {
          "slide": 1,
          "base": "intro",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 0.0,
          "end": 8.185638444444445,
          "part": 1
        },
        {
          "slide": 2,
          "base": "roadtrip-map",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 8.185638444444445,
          "end": 16.37127688888889,
          "part": 1
        },
        {
          "slide": 3,
          "base": "day-01",
          "kind": "video",
          "seconds": 10.033223,
          "media_seconds": 10.033223,
          "start": 16.37127688888889,
          "end": 26.40449988888889,
          "part": 1
        },
        {
          "slide": 4,
          "base": "day-02",
          "kind": "video",
          "seconds": 9.999889,
          "media_seconds": 9.999889,
          "start": 26.40449988888889,
          "end": 36.40438888888889,
          "part": 1
        },
        {
          "slide": 5,
          "base": "day-03",
          "kind": "video",
          "seconds": 9.999889,
          "media_seconds": 9.999889,
          "start": 36.40438888888889,
          "end": 46.404277888888885,
          "part": 1
        },
        {
          "slide": 6,
          "base": "day-04",
          "kind": "video",
          "seconds": 8.2,
          "media_seconds": 8.2,
          "start": 46.404277888888885,
          "end": 54.60427788888889,
          "part": 1
        },
        {
          "slide": 7,
          "base": "extra-big-sur",
          "kind": "video",
          "seconds": 18.226542,
          "media_seconds": 18.226542,
          "start": 54.60427788888889,
          "end": 72.83081988888888,
          "part": 1
        },
        {
          "slide": 8,
          "base": "day-05",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 72.83081988888888,
          "end": 81.01645833333333,
          "part": 1
        },
        {
          "slide": 9,
          "base": "day-06",
          "kind": "video",
          "seconds": 10.0,
          "media_seconds": 10.0,
          "start": 81.01645833333333,
          "end": 91.01645833333333,
          "part": 1
        },
        {
          "slide": 10,
          "base": "day-07",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 91.01645833333333,
          "end": 99.20209677777778,
          "part": 1
        },
        {
          "slide": 11,
          "base": "extra-diner",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 99.20209677777778,
          "end": 107.38773522222223,
          "part": 1
        },
        {
          "slide": 12,
          "base": "day-08",
          "kind": "video",
          "seconds": 9.999889,
          "media_seconds": 9.999889,
          "start": 107.38773522222223,
          "end": 117.38762422222223,
          "part": 1
        },
        {
          "slide": 13,
          "base": "day-09",
          "kind": "video",
          "seconds": 16.9,
          "media_seconds": 16.9,
          "start": 117.38762422222223,
          "end": 134.28762422222223,
          "part": 1
        },
        {
          "slide": 14,
          "base": "day-10",
          "kind": "video",
          "seconds": 10.0,
          "media_seconds": 10.0,
          "start": 134.28762422222223,
          "end": 144.28762422222223,
          "part": 1
        },
        {
          "slide": 15,
          "base": "day-11",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 144.28762422222223,
          "end": 152.47326266666667,
          "part": 1
        },
        {
          "slide": 16,
          "base": "day-12",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 152.47326266666667,
          "end": 167.48826266666669,
          "part": 1
        },
        {
          "slide": 17,
          "base": "day-13",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 167.48826266666669,
          "end": 182.50326266666667,
          "part": 1
        },
        {
          "slide": 18,
          "base": "extra-death-valley",
          "kind": "video",
          "seconds": 9.999889,
          "media_seconds": 9.999889,
          "start": 182.50326266666667,
          "end": 192.50315166666667,
          "part": 1
        },
        {
          "slide": 19,
          "base": "day-14",
          "kind": "video",
          "seconds": 9.999888,
          "media_seconds": 9.999888,
          "start": 192.50315166666667,
          "end": 202.50303966666667,
          "part": 1
        },
        {
          "slide": 20,
          "base": "extra-mono-lake",
          "kind": "video",
          "seconds": 12.0,
          "media_seconds": 12.0,
          "start": 202.50303966666667,
          "end": 214.50303966666667,
          "part": 1
        },
        {
          "slide": 21,
          "base": "day-15",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 214.50303966666667,
          "end": 222.6886781111111,
          "part": 1
        },
        {
          "slide": 22,
          "base": "day-16",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 222.6886781111111,
          "end": 230.87431655555554,
          "part": 1
        },
        {
          "slide": 23,
          "base": "day-17",
          "kind": "image",
          "seconds": 8.185638444444445,
          "media_seconds": 0.0,
          "start": 230.87431655555554,
          "end": 239.05995499999997,
          "part": 1
        },
        {
          "slide": 24,
          "base": "day-18",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 239.05995499999997,
          "end": 244.4780675833333,
          "part": 2
        },
        {
          "slide": 25,
          "base": "day-19",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 244.4780675833333,
          "end": 259.4930675833333,
          "part": 2
        },
        {
          "slide": 26,
          "base": "day-20",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 259.4930675833333,
          "end": 274.5080675833333,
          "part": 2
        },
        {
          "slide": 27,
          "base": "day-21",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 274.5080675833333,
          "end": 279.9261801666666,
          "part": 2
        },
        {
          "slide": 28,
          "base": "day-22",
          "kind": "video",
          "seconds": 18.018,
          "media_seconds": 18.018,
          "start": 279.9261801666666,
          "end": 297.94418016666657,
          "part": 2
        },
        {
          "slide": 29,
          "base": "day-23",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 297.94418016666657,
          "end": 303.3622927499999,
          "part": 2
        },
        {
          "slide": 30,
          "base": "day-24",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 303.3622927499999,
          "end": 318.37729274999987,
          "part": 2
        },
        {
          "slide": 31,
          "base": "day-25",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 318.37729274999987,
          "end": 333.39229274999985,
          "part": 2
        },
        {
          "slide": 32,
          "base": "day-26",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 333.39229274999985,
          "end": 338.81040533333316,
          "part": 2
        },
        {
          "slide": 33,
          "base": "day-27",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 338.81040533333316,
          "end": 344.2285179166665,
          "part": 2
        },
        {
          "slide": 34,
          "base": "day-28",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 344.2285179166665,
          "end": 359.24351791666646,
          "part": 2
        },
        {
          "slide": 35,
          "base": "day-29",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 359.24351791666646,
          "end": 364.6616304999998,
          "part": 2
        },
        {
          "slide": 36,
          "base": "day-30",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 364.6616304999998,
          "end": 370.0797430833331,
          "part": 2
        },
        {
          "slide": 37,
          "base": "day-31",
          "kind": "video",
          "seconds": 14.8,
          "media_seconds": 14.8,
          "start": 370.0797430833331,
          "end": 384.8797430833331,
          "part": 2
        },
        {
          "slide": 38,
          "base": "day-32",
          "kind": "video",
          "seconds": 11.0,
          "media_seconds": 11.0,
          "start": 384.8797430833331,
          "end": 395.8797430833331,
          "part": 2
        },
        {
          "slide": 39,
          "base": "day-33",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 395.8797430833331,
          "end": 401.2978556666664,
          "part": 2
        },
        {
          "slide": 40,
          "base": "day-34",
          "kind": "video",
          "seconds": 15.015,
          "media_seconds": 15.015,
          "start": 401.2978556666664,
          "end": 416.3128556666664,
          "part": 2
        },
        {
          "slide": 41,
          "base": "day-35",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 416.3128556666664,
          "end": 421.7309682499997,
          "part": 2
        },
        {
          "slide": 42,
          "base": "day-36",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 421.7309682499997,
          "end": 427.149080833333,
          "part": 2
        },
        {
          "slide": 43,
          "base": "budget",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 427.149080833333,
          "end": 432.5671934166663,
          "part": 2
        },
        {
          "slide": 44,
          "base": "summary",
          "kind": "image",
          "seconds": 5.418112583333333,
          "media_seconds": 0.0,
          "start": 432.5671934166663,
          "end": 437.98530599999964,
          "part": 2
        }
      ],
      "performance": {
        "total_bytes": 234243234,
        "video_bytes": 216269493,
        "estimated_seconds": {
          "wifi_100mbps": 18.7,
          "wifi_30mbps": 62.5,
          "cellular_10mbps": 187.4
        }
      },
      "score": 100,
      "category_scores": {
        "media": 100,
        "timeline": 100,
        "regression": 100,
        "offline": 100,
        "code": 100,
        "structure": 100,
        "performance": 100
      },
      "trip_ready": true,
      "qa_version": "60.0-clean",
      "song_segments": [
        {
          "id": "song-1",
          "label": "שיר 1",
          "startSlide": 1,
          "endSlide": 23,
          "source": "media\\usa-presentation\\music\\segments\\part1-main-upload.mp3",
          "duration": 239.059955,
          "offset": 0.0,
          "group": 1,
          "videoCount": 14,
          "videoSeconds": 165.389209,
          "imageCount": 9,
          "perImageSeconds": 8.185638444444445,
          "status": "green"
        },
        {
          "id": "song-2",
          "label": "שיר 2",
          "startSlide": 24,
          "endSlide": 44,
          "source": "media\\usa-presentation\\music\\segments\\part2-main-upload.mp3",
          "duration": 198.925351,
          "offset": 0.0,
          "group": 2,
          "videoCount": 9,
          "videoSeconds": 133.90800000000002,
          "imageCount": 12,
          "perImageSeconds": 5.418112583333333,
          "status": "yellow"
        }
      ]
    }
  }
}