commit a6fa44f737ee52e55687e02814668b46b38823f4
parent c0cd64901dde1f8cbab99c335614ce9f2e3e88cf
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Tue, 18 Aug 2026 13:16:14 -0400
the 22 judged face crops, applied to all nine covers
/browse/faces shipped last session and the judging is done: 22 of 22 corners,
19 clean, 3 recrop, 0 rejects. A judgement only reaches a cover when the cover
is rebuilt, and none had been -- 13 of the 22 crops differ from what facecrop.py
would derive, which is 10 of the 16 corners on the four accepted covers
(yoshi 4/4, metal-slug 3/4, mario-rpg 2/4, mk-fatality 1/4).
Rebuilt through the real pipeline with REUSE=1, which reuses the manifest's four
corners rather than spending four new source episodes per cover out of a pool
the unique-face rule never refills. No new crop logic was needed: cropFor()
already prefers faces[key].crop and passes --crop to facecrop.py.
bgTime was omitted so the action-score picker chose a fresh frame -- the user
has said backgrounds need not stay consistent, so a re-picked frame is the
honest output of the pipeline rather than a number copied out of the old record.
The pokemon four are the exception and DO pass a bgTime. Their corners are
identical (catch/battle/battle2 share all four videos), so the background
timestamp was the only thing telling them apart; one picker over one bed
collapsed all four onto the same image. Each now gets a different separated
peak from the same scorer -- 10.22 / 43.43 / 63.86 / 150.71 -- so four variants
stay four variants. pokemon-run also gets its own output file: it and
pokemon-battle2 both wrote thumbs/pokemon-c-battle2.jpg with DIFFERENT corners,
so whichever ran last silently won and the file matched at most one of them.
Verified: all nine are 1280x720; each of the 36 judged corner placements was
re-cut independently from its source with facecrop.py --crop and compared
against the tile actually composited into the cover (diff 0.34-0.38, JPEG
requantisation only); the unique-face rule still holds across 4 covers / 16
videos. Old covers are in thumbs/.pre-recrop/.
Two corners are flagged recrop but their box was never moved --
KyzBZ19iRaU@403.50 and nr9bGYAjVpY@550.15, both "stream UI in frame". They read
as flagged-but-unfinished; neither is on an accepted cover, so they are applied
as-is rather than given a framing nobody chose.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat:
3 files changed, 792 insertions(+), 66 deletions(-)
diff --git a/umtool/song/face-verdicts.json b/umtool/song/face-verdicts.json
@@ -14,6 +14,407 @@
"w": 300,
"h": 300
}
+ },
+ "eFU1WRc9lYM@78.14": {
+ "key": "eFU1WRc9lYM@78.14",
+ "video": "eFU1WRc9lYM",
+ "verdict": "clean",
+ "frameAt": 78.54,
+ "at": "2026-08-18T15:46:27.208Z",
+ "crop": {
+ "x": 213,
+ "y": 0,
+ "w": 720,
+ "h": 720
+ },
+ "auto": {
+ "x": 213,
+ "y": 0,
+ "w": 720,
+ "h": 720
+ }
+ },
+ "U8hsc6aSGdk@82.04": {
+ "key": "U8hsc6aSGdk@82.04",
+ "video": "U8hsc6aSGdk",
+ "verdict": "clean",
+ "frameAt": 81.24,
+ "at": "2026-08-18T15:46:30.647Z",
+ "crop": {
+ "x": 980,
+ "y": 109,
+ "w": 273,
+ "h": 273
+ },
+ "auto": {
+ "x": 980,
+ "y": 109,
+ "w": 273,
+ "h": 273
+ }
+ },
+ "rATxtI8FhxE@63.93": {
+ "key": "rATxtI8FhxE@63.93",
+ "video": "rATxtI8FhxE",
+ "verdict": "clean",
+ "frameAt": 63.93,
+ "at": "2026-08-18T15:42:28.795Z",
+ "crop": {
+ "x": 376,
+ "y": 81,
+ "w": 456,
+ "h": 456
+ },
+ "auto": {
+ "x": 383,
+ "y": 43,
+ "w": 451,
+ "h": 451
+ }
+ },
+ "knmVtqTW0MQ@253.89": {
+ "key": "knmVtqTW0MQ@253.89",
+ "video": "knmVtqTW0MQ",
+ "verdict": "clean",
+ "frameAt": 253.89,
+ "at": "2026-08-18T15:42:46.799Z",
+ "crop": {
+ "x": 939,
+ "y": 101,
+ "w": 331,
+ "h": 331
+ },
+ "auto": {
+ "x": 948,
+ "y": 101,
+ "w": 331,
+ "h": 331
+ }
+ },
+ "xEYsJorlvkw@679.86": {
+ "key": "xEYsJorlvkw@679.86",
+ "video": "xEYsJorlvkw",
+ "verdict": "clean",
+ "frameAt": 679.46,
+ "at": "2026-08-18T15:42:52.433Z",
+ "crop": {
+ "x": 961,
+ "y": 54,
+ "w": 304,
+ "h": 304
+ },
+ "auto": {
+ "x": 961,
+ "y": 54,
+ "w": 304,
+ "h": 304
+ }
+ },
+ "Dr1sWSSUspY@159.25": {
+ "key": "Dr1sWSSUspY@159.25",
+ "video": "Dr1sWSSUspY",
+ "verdict": "clean",
+ "frameAt": 160.05,
+ "at": "2026-08-18T15:43:18.236Z",
+ "crop": {
+ "x": 67,
+ "y": 17,
+ "w": 177,
+ "h": 177
+ },
+ "auto": {
+ "x": 69,
+ "y": 13,
+ "w": 183,
+ "h": 183
+ }
+ },
+ "TYPV_Ej1ND4@445.93": {
+ "key": "TYPV_Ej1ND4@445.93",
+ "video": "TYPV_Ej1ND4",
+ "verdict": "clean",
+ "frameAt": 445.93,
+ "at": "2026-08-18T15:43:38.252Z",
+ "crop": {
+ "x": 939,
+ "y": 110,
+ "w": 309,
+ "h": 309
+ },
+ "auto": {
+ "x": 963,
+ "y": 111,
+ "w": 316,
+ "h": 316
+ }
+ },
+ "UjzBIdbk2zY@583.17": {
+ "key": "UjzBIdbk2zY@583.17",
+ "video": "UjzBIdbk2zY",
+ "verdict": "clean",
+ "frameAt": 582.37,
+ "at": "2026-08-18T15:44:03.877Z",
+ "crop": {
+ "x": 937,
+ "y": 128,
+ "w": 312,
+ "h": 312
+ },
+ "auto": {
+ "x": 939,
+ "y": 108,
+ "w": 337,
+ "h": 337
+ }
+ },
+ "4RFFlS0oMEM@697.77": {
+ "key": "4RFFlS0oMEM@697.77",
+ "video": "4RFFlS0oMEM",
+ "verdict": "clean",
+ "frameAt": 697.77,
+ "at": "2026-08-18T15:44:10.147Z",
+ "crop": {
+ "x": 959,
+ "y": 129,
+ "w": 281,
+ "h": 281
+ },
+ "auto": {
+ "x": 959,
+ "y": 129,
+ "w": 281,
+ "h": 281
+ }
+ },
+ "KyzBZ19iRaU@403.50": {
+ "key": "KyzBZ19iRaU@403.50",
+ "video": "KyzBZ19iRaU",
+ "verdict": "recrop",
+ "frameAt": 403.1,
+ "at": "2026-08-18T15:44:22.041Z",
+ "code": 1,
+ "crop": {
+ "x": 35,
+ "y": 19,
+ "w": 199,
+ "h": 199
+ },
+ "auto": {
+ "x": 35,
+ "y": 19,
+ "w": 199,
+ "h": 199
+ }
+ },
+ "9nKl6HY2y4Y@134.26": {
+ "key": "9nKl6HY2y4Y@134.26",
+ "video": "9nKl6HY2y4Y",
+ "verdict": "clean",
+ "frameAt": 135.06,
+ "at": "2026-08-18T15:44:37.833Z",
+ "crop": {
+ "x": 74,
+ "y": 22,
+ "w": 172,
+ "h": 172
+ },
+ "auto": {
+ "x": 74,
+ "y": 18,
+ "w": 172,
+ "h": 172
+ }
+ },
+ "nr9bGYAjVpY@550.15": {
+ "key": "nr9bGYAjVpY@550.15",
+ "video": "nr9bGYAjVpY",
+ "verdict": "recrop",
+ "frameAt": 550.95,
+ "at": "2026-08-18T15:44:43.265Z",
+ "code": 1,
+ "crop": {
+ "x": 60,
+ "y": 28,
+ "w": 185,
+ "h": 185
+ },
+ "auto": {
+ "x": 60,
+ "y": 28,
+ "w": 185,
+ "h": 185
+ }
+ },
+ "bpQk0X2Ela4@615.83": {
+ "key": "bpQk0X2Ela4@615.83",
+ "video": "bpQk0X2Ela4",
+ "verdict": "clean",
+ "frameAt": 616.63,
+ "at": "2026-08-18T15:45:12.621Z",
+ "crop": {
+ "x": 67,
+ "y": 23,
+ "w": 172,
+ "h": 172
+ },
+ "auto": {
+ "x": 39,
+ "y": 28,
+ "w": 189,
+ "h": 189
+ }
+ },
+ "us3ktDhlC7w@131.23": {
+ "key": "us3ktDhlC7w@131.23",
+ "video": "us3ktDhlC7w",
+ "verdict": "clean",
+ "frameAt": 131.63,
+ "at": "2026-08-18T15:45:23.153Z",
+ "crop": {
+ "x": 927,
+ "y": 111,
+ "w": 296,
+ "h": 296
+ },
+ "auto": {
+ "x": 927,
+ "y": 111,
+ "w": 296,
+ "h": 296
+ }
+ },
+ "Z2Q87gaouqs@73.49": {
+ "key": "Z2Q87gaouqs@73.49",
+ "video": "Z2Q87gaouqs",
+ "verdict": "clean",
+ "frameAt": 73.49,
+ "at": "2026-08-18T15:45:31.800Z",
+ "crop": {
+ "x": 932,
+ "y": 98,
+ "w": 320,
+ "h": 320
+ },
+ "auto": {
+ "x": 936,
+ "y": 98,
+ "w": 320,
+ "h": 320
+ }
+ },
+ "acPLSEVKyqI@22.86": {
+ "key": "acPLSEVKyqI@22.86",
+ "video": "acPLSEVKyqI",
+ "verdict": "clean",
+ "frameAt": 22.86,
+ "at": "2026-08-18T15:45:35.040Z",
+ "crop": {
+ "x": 183,
+ "y": 33,
+ "w": 656,
+ "h": 656
+ },
+ "auto": {
+ "x": 183,
+ "y": 33,
+ "w": 656,
+ "h": 656
+ }
+ },
+ "f5sLSteRRTQ@1147.37": {
+ "key": "f5sLSteRRTQ@1147.37",
+ "video": "f5sLSteRRTQ",
+ "verdict": "clean",
+ "frameAt": 1146.57,
+ "at": "2026-08-18T15:45:37.711Z",
+ "crop": {
+ "x": 956,
+ "y": 120,
+ "w": 293,
+ "h": 293
+ },
+ "auto": {
+ "x": 956,
+ "y": 120,
+ "w": 293,
+ "h": 293
+ }
+ },
+ "e0d6EzTEt7Y@12.19": {
+ "key": "e0d6EzTEt7Y@12.19",
+ "video": "e0d6EzTEt7Y",
+ "verdict": "clean",
+ "frameAt": 12.59,
+ "at": "2026-08-18T15:45:55.264Z",
+ "crop": {
+ "x": 462,
+ "y": 81,
+ "w": 337,
+ "h": 337
+ },
+ "auto": {
+ "x": 377,
+ "y": 0,
+ "w": 533,
+ "h": 533
+ }
+ },
+ "lraibG7Iu5w@9.99": {
+ "key": "lraibG7Iu5w@9.99",
+ "video": "lraibG7Iu5w",
+ "verdict": "clean",
+ "frameAt": 9.59,
+ "at": "2026-08-18T15:46:05.823Z",
+ "crop": {
+ "x": 193,
+ "y": 63,
+ "w": 528,
+ "h": 528
+ },
+ "auto": {
+ "x": 95,
+ "y": 0,
+ "w": 720,
+ "h": 720
+ }
+ },
+ "Y7-19Q9gmfg@292.78": {
+ "key": "Y7-19Q9gmfg@292.78",
+ "video": "Y7-19Q9gmfg",
+ "verdict": "clean",
+ "frameAt": 291.98,
+ "at": "2026-08-18T15:46:12.953Z",
+ "crop": {
+ "x": 957,
+ "y": 117,
+ "w": 290,
+ "h": 290
+ },
+ "auto": {
+ "x": 966,
+ "y": 126,
+ "w": 290,
+ "h": 290
+ }
+ },
+ "g-OStFPhrlk@56.00": {
+ "key": "g-OStFPhrlk@56.00",
+ "video": "g-OStFPhrlk",
+ "verdict": "clean",
+ "frameAt": 56.4,
+ "at": "2026-08-18T15:46:23.823Z",
+ "crop": {
+ "x": 455,
+ "y": 34,
+ "w": 489,
+ "h": 489
+ },
+ "auto": {
+ "x": 365,
+ "y": 0,
+ "w": 642,
+ "h": 642
+ }
}
}
}
\ No newline at end of file
diff --git a/umtool/song/thumb-accepted.json b/umtool/song/thumb-accepted.json
@@ -3,105 +3,205 @@
"thumbs": {
"yoshi": {
"out": "/home/user/reports/quartering-uh-song/thumbs/yoshi-c.jpg",
- "bgAt": 98,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/yoshi-bg.mp4",
+ "bgAt": 16.79,
"corners": [
{
"video": "e0d6EzTEt7Y",
"srcStart": 12.19,
- "frameAt": 12.59
+ "frameAt": 12.59,
+ "crop": {
+ "x": 462,
+ "y": 81,
+ "w": 337,
+ "h": 337
+ }
},
{
"video": "lraibG7Iu5w",
"srcStart": 9.99,
- "frameAt": 9.59
+ "frameAt": 9.59,
+ "crop": {
+ "x": 193,
+ "y": 63,
+ "w": 528,
+ "h": 528
+ }
},
{
"video": "Y7-19Q9gmfg",
"srcStart": 292.78,
- "frameAt": 291.98
+ "frameAt": 291.98,
+ "crop": {
+ "x": 957,
+ "y": 117,
+ "w": 290,
+ "h": 290
+ }
},
{
"video": "g-OStFPhrlk",
"srcStart": 56,
- "frameAt": 56.4
+ "frameAt": 56.4,
+ "crop": {
+ "x": 455,
+ "y": 34,
+ "w": 489,
+ "h": 489
+ }
}
]
},
"mario-rpg": {
"out": "/home/user/reports/quartering-uh-song/thumbs/rpg-c.jpg",
- "bgAt": 50,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/smrpg-bg.mp4",
+ "bgAt": 63.36,
"corners": [
{
"video": "eFU1WRc9lYM",
"srcStart": 78.14,
- "frameAt": 78.54
+ "frameAt": 78.54,
+ "crop": {
+ "x": 213,
+ "y": 0,
+ "w": 720,
+ "h": 720
+ }
},
{
"video": "U8hsc6aSGdk",
"srcStart": 82.04,
- "frameAt": 81.24
+ "frameAt": 81.24,
+ "crop": {
+ "x": 980,
+ "y": 109,
+ "w": 273,
+ "h": 273
+ }
},
{
"video": "fUSzqEViwBw",
"srcStart": 113,
- "frameAt": 113
+ "frameAt": 113,
+ "crop": {
+ "x": 980,
+ "y": 112,
+ "w": 300,
+ "h": 300
+ }
},
{
"video": "rATxtI8FhxE",
"srcStart": 63.93,
- "frameAt": 63.93
+ "frameAt": 63.93,
+ "crop": {
+ "x": 376,
+ "y": 81,
+ "w": 456,
+ "h": 456
+ }
}
]
},
"metal-slug": {
"out": "/home/user/reports/quartering-uh-song/thumbs/ms2-c.jpg",
- "bgAt": 75,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/ms2-play-bg.mp4",
+ "bgAt": 82.3,
"corners": [
{
"video": "knmVtqTW0MQ",
"srcStart": 253.89,
- "frameAt": 253.89
+ "frameAt": 253.89,
+ "crop": {
+ "x": 939,
+ "y": 101,
+ "w": 331,
+ "h": 331
+ }
},
{
"video": "xEYsJorlvkw",
"srcStart": 679.86,
- "frameAt": 679.46
+ "frameAt": 679.46,
+ "crop": {
+ "x": 961,
+ "y": 54,
+ "w": 304,
+ "h": 304
+ }
},
{
"video": "Dr1sWSSUspY",
"srcStart": 159.25,
- "frameAt": 160.05
+ "frameAt": 160.05,
+ "crop": {
+ "x": 67,
+ "y": 17,
+ "w": 177,
+ "h": 177
+ }
},
{
"video": "TYPV_Ej1ND4",
"srcStart": 445.93,
- "frameAt": 445.93
+ "frameAt": 445.93,
+ "crop": {
+ "x": 939,
+ "y": 110,
+ "w": 309,
+ "h": 309
+ }
}
]
},
"mortal-kombat-fatality": {
"out": "/home/user/reports/quartering-uh-song/thumbs/mk-c-fight.jpg",
- "bgAt": 98,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/mk-bg-fatal3.mp4",
+ "bgAt": 53.66,
"corners": [
{
"video": "us3ktDhlC7w",
"srcStart": 131.23,
- "frameAt": 131.63
+ "frameAt": 131.63,
+ "crop": {
+ "x": 927,
+ "y": 111,
+ "w": 296,
+ "h": 296
+ }
},
{
"video": "Z2Q87gaouqs",
"srcStart": 73.49,
- "frameAt": 73.49
+ "frameAt": 73.49,
+ "crop": {
+ "x": 932,
+ "y": 98,
+ "w": 320,
+ "h": 320
+ }
},
{
"video": "acPLSEVKyqI",
"srcStart": 22.86,
- "frameAt": 22.86
+ "frameAt": 22.86,
+ "crop": {
+ "x": 183,
+ "y": 33,
+ "w": 656,
+ "h": 656
+ }
},
{
"video": "f5sLSteRRTQ",
"srcStart": 1147.37,
- "frameAt": 1146.57
+ "frameAt": 1146.57,
+ "crop": {
+ "x": 956,
+ "y": 120,
+ "w": 293,
+ "h": 293
+ }
}
]
}
diff --git a/umtool/song/thumb-manifest.json b/umtool/song/thumb-manifest.json
@@ -3,235 +3,460 @@
"thumbs": {
"mortal-kombat": {
"out": "/home/user/reports/quartering-uh-song/thumbs/mortal-kombat.jpg",
- "bgAt": 740.8,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/mk-bg.mp4",
+ "bgAt": 134.4,
"corners": [
{
"video": "UjzBIdbk2zY",
"srcStart": 583.17,
- "frameAt": 582.37
+ "frameAt": 582.37,
+ "crop": {
+ "x": 937,
+ "y": 128,
+ "w": 312,
+ "h": 312
+ }
},
{
"video": "4RFFlS0oMEM",
"srcStart": 697.77,
- "frameAt": 697.77
+ "frameAt": 697.77,
+ "crop": {
+ "x": 959,
+ "y": 129,
+ "w": 281,
+ "h": 281
+ }
},
{
"video": "KyzBZ19iRaU",
"srcStart": 403.5,
- "frameAt": 403.1
+ "frameAt": 403.1,
+ "crop": {
+ "x": 35,
+ "y": 19,
+ "w": 199,
+ "h": 199
+ }
},
{
"video": "9nKl6HY2y4Y",
"srcStart": 134.26,
- "frameAt": 135.06
+ "frameAt": 135.06,
+ "crop": {
+ "x": 74,
+ "y": 22,
+ "w": 172,
+ "h": 172
+ }
}
]
},
"mortal-kombat-fatality": {
"out": "/home/user/reports/quartering-uh-song/thumbs/mk-c-fight.jpg",
- "bgAt": 98,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/mk-bg-fatal3.mp4",
+ "bgAt": 53.66,
"corners": [
{
"video": "us3ktDhlC7w",
"srcStart": 131.23,
- "frameAt": 131.63
+ "frameAt": 131.63,
+ "crop": {
+ "x": 927,
+ "y": 111,
+ "w": 296,
+ "h": 296
+ }
},
{
"video": "Z2Q87gaouqs",
"srcStart": 73.49,
- "frameAt": 73.49
+ "frameAt": 73.49,
+ "crop": {
+ "x": 932,
+ "y": 98,
+ "w": 320,
+ "h": 320
+ }
},
{
"video": "acPLSEVKyqI",
"srcStart": 22.86,
- "frameAt": 22.86
+ "frameAt": 22.86,
+ "crop": {
+ "x": 183,
+ "y": 33,
+ "w": 656,
+ "h": 656
+ }
},
{
"video": "f5sLSteRRTQ",
"srcStart": 1147.37,
- "frameAt": 1146.57
+ "frameAt": 1146.57,
+ "crop": {
+ "x": 956,
+ "y": 120,
+ "w": 293,
+ "h": 293
+ }
}
]
},
"yoshi": {
"out": "/home/user/reports/quartering-uh-song/thumbs/yoshi-c.jpg",
- "bgAt": 98,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/yoshi-bg.mp4",
+ "bgAt": 16.79,
"corners": [
{
"video": "e0d6EzTEt7Y",
"srcStart": 12.19,
- "frameAt": 12.59
+ "frameAt": 12.59,
+ "crop": {
+ "x": 462,
+ "y": 81,
+ "w": 337,
+ "h": 337
+ }
},
{
"video": "lraibG7Iu5w",
"srcStart": 9.99,
- "frameAt": 9.59
+ "frameAt": 9.59,
+ "crop": {
+ "x": 193,
+ "y": 63,
+ "w": 528,
+ "h": 528
+ }
},
{
"video": "Y7-19Q9gmfg",
"srcStart": 292.78,
- "frameAt": 291.98
+ "frameAt": 291.98,
+ "crop": {
+ "x": 957,
+ "y": 117,
+ "w": 290,
+ "h": 290
+ }
},
{
"video": "g-OStFPhrlk",
"srcStart": 56,
- "frameAt": 56.4
+ "frameAt": 56.4,
+ "crop": {
+ "x": 455,
+ "y": 34,
+ "w": 489,
+ "h": 489
+ }
}
]
},
"mario-rpg": {
"out": "/home/user/reports/quartering-uh-song/thumbs/rpg-c.jpg",
- "bgAt": 50,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/smrpg-bg.mp4",
+ "bgAt": 63.36,
"corners": [
{
"video": "eFU1WRc9lYM",
"srcStart": 78.14,
- "frameAt": 78.54
+ "frameAt": 78.54,
+ "crop": {
+ "x": 213,
+ "y": 0,
+ "w": 720,
+ "h": 720
+ }
},
{
"video": "U8hsc6aSGdk",
"srcStart": 82.04,
- "frameAt": 81.24
+ "frameAt": 81.24,
+ "crop": {
+ "x": 980,
+ "y": 109,
+ "w": 273,
+ "h": 273
+ }
},
{
"video": "fUSzqEViwBw",
"srcStart": 113,
- "frameAt": 113
+ "frameAt": 113,
+ "crop": {
+ "x": 980,
+ "y": 112,
+ "w": 300,
+ "h": 300
+ }
},
{
"video": "rATxtI8FhxE",
"srcStart": 63.93,
- "frameAt": 63.93
+ "frameAt": 63.93,
+ "crop": {
+ "x": 376,
+ "y": 81,
+ "w": 456,
+ "h": 456
+ }
}
]
},
"metal-slug": {
"out": "/home/user/reports/quartering-uh-song/thumbs/ms2-c.jpg",
- "bgAt": 75,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/ms2-play-bg.mp4",
+ "bgAt": 82.3,
"corners": [
{
"video": "knmVtqTW0MQ",
"srcStart": 253.89,
- "frameAt": 253.89
+ "frameAt": 253.89,
+ "crop": {
+ "x": 939,
+ "y": 101,
+ "w": 331,
+ "h": 331
+ }
},
{
"video": "xEYsJorlvkw",
"srcStart": 679.86,
- "frameAt": 679.46
+ "frameAt": 679.46,
+ "crop": {
+ "x": 961,
+ "y": 54,
+ "w": 304,
+ "h": 304
+ }
},
{
"video": "Dr1sWSSUspY",
"srcStart": 159.25,
- "frameAt": 160.05
+ "frameAt": 160.05,
+ "crop": {
+ "x": 67,
+ "y": 17,
+ "w": 177,
+ "h": 177
+ }
},
{
"video": "TYPV_Ej1ND4",
"srcStart": 445.93,
- "frameAt": 445.93
+ "frameAt": 445.93,
+ "crop": {
+ "x": 939,
+ "y": 110,
+ "w": 309,
+ "h": 309
+ }
}
]
},
"pokemon-catch": {
"out": "/home/user/reports/quartering-uh-song/thumbs/pokemon-a-catch.jpg",
- "bgAt": 96.8,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/pkmn-bg-full.mkv",
+ "bgAt": 10.22,
"corners": [
{
"video": "nr9bGYAjVpY",
"srcStart": 550.15,
- "frameAt": 550.95
+ "frameAt": 550.95,
+ "crop": {
+ "x": 60,
+ "y": 28,
+ "w": 185,
+ "h": 185
+ }
},
{
"video": "bpQk0X2Ela4",
"srcStart": 615.83,
- "frameAt": 616.63
+ "frameAt": 616.63,
+ "crop": {
+ "x": 67,
+ "y": 23,
+ "w": 172,
+ "h": 172
+ }
},
{
"video": "UjzBIdbk2zY",
"srcStart": 583.17,
- "frameAt": 582.37
+ "frameAt": 582.37,
+ "crop": {
+ "x": 937,
+ "y": 128,
+ "w": 312,
+ "h": 312
+ }
},
{
"video": "KyzBZ19iRaU",
"srcStart": 403.5,
- "frameAt": 403.1
+ "frameAt": 403.1,
+ "crop": {
+ "x": 35,
+ "y": 19,
+ "w": 199,
+ "h": 199
+ }
}
]
},
"pokemon-battle": {
"out": "/home/user/reports/quartering-uh-song/thumbs/pokemon-b-battle.jpg",
- "bgAt": 26,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/pkmn-bg-full.mkv",
+ "bgAt": 43.43,
"corners": [
{
"video": "nr9bGYAjVpY",
"srcStart": 550.15,
- "frameAt": 550.95
+ "frameAt": 550.95,
+ "crop": {
+ "x": 60,
+ "y": 28,
+ "w": 185,
+ "h": 185
+ }
},
{
"video": "bpQk0X2Ela4",
"srcStart": 615.83,
- "frameAt": 616.63
+ "frameAt": 616.63,
+ "crop": {
+ "x": 67,
+ "y": 23,
+ "w": 172,
+ "h": 172
+ }
},
{
"video": "UjzBIdbk2zY",
"srcStart": 583.17,
- "frameAt": 582.37
+ "frameAt": 582.37,
+ "crop": {
+ "x": 937,
+ "y": 128,
+ "w": 312,
+ "h": 312
+ }
},
{
"video": "KyzBZ19iRaU",
"srcStart": 403.5,
- "frameAt": 403.1
+ "frameAt": 403.1,
+ "crop": {
+ "x": 35,
+ "y": 19,
+ "w": 199,
+ "h": 199
+ }
}
]
},
"pokemon-run": {
- "out": "/home/user/reports/quartering-uh-song/thumbs/pokemon-c-battle2.jpg",
- "bgAt": 45,
+ "out": "/home/user/reports/quartering-uh-song/thumbs/pokemon-d-run.jpg",
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/pkmn-bg-full.mkv",
+ "bgAt": 150.71,
"corners": [
{
"video": "nr9bGYAjVpY",
"srcStart": 550.15,
- "frameAt": 550.95
+ "frameAt": 550.95,
+ "crop": {
+ "x": 60,
+ "y": 28,
+ "w": 185,
+ "h": 185
+ }
},
{
"video": "bpQk0X2Ela4",
"srcStart": 615.83,
- "frameAt": 616.63
+ "frameAt": 616.63,
+ "crop": {
+ "x": 67,
+ "y": 23,
+ "w": 172,
+ "h": 172
+ }
},
{
"video": "e0d6EzTEt7Y",
"srcStart": 12.19,
- "frameAt": 12.59
+ "frameAt": 12.59,
+ "crop": {
+ "x": 462,
+ "y": 81,
+ "w": 337,
+ "h": 337
+ }
},
{
"video": "acPLSEVKyqI",
"srcStart": 22.86,
- "frameAt": 22.86
+ "frameAt": 22.86,
+ "crop": {
+ "x": 183,
+ "y": 33,
+ "w": 656,
+ "h": 656
+ }
}
]
},
"pokemon-battle2": {
"out": "/home/user/reports/quartering-uh-song/thumbs/pokemon-c-battle2.jpg",
- "bgAt": 45,
+ "bg": "/home/user/.claude/jobs/efbe67a7/tmp/song/intro/pkmn-bg-full.mkv",
+ "bgAt": 63.86,
"corners": [
{
"video": "nr9bGYAjVpY",
"srcStart": 550.15,
- "frameAt": 550.95
+ "frameAt": 550.95,
+ "crop": {
+ "x": 60,
+ "y": 28,
+ "w": 185,
+ "h": 185
+ }
},
{
"video": "bpQk0X2Ela4",
"srcStart": 615.83,
- "frameAt": 616.63
+ "frameAt": 616.63,
+ "crop": {
+ "x": 67,
+ "y": 23,
+ "w": 172,
+ "h": 172
+ }
},
{
"video": "UjzBIdbk2zY",
"srcStart": 583.17,
- "frameAt": 582.37
+ "frameAt": 582.37,
+ "crop": {
+ "x": 937,
+ "y": 128,
+ "w": 312,
+ "h": 312
+ }
},
{
"video": "KyzBZ19iRaU",
"srcStart": 403.5,
- "frameAt": 403.1
+ "frameAt": 403.1,
+ "crop": {
+ "x": 35,
+ "y": 19,
+ "w": 199,
+ "h": 199
+ }
}
]
}