{
  "target": "usa_phone",
  "label": "ארצות הברית 2027 — פלאפון / מחשב",
  "generated_at": "2026-07-18 15:49:45",
  "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.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": 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": 234240882,
    "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"
    }
  ]
}