mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-13 11:57:19 +01:00
fix(design-motion): third review cycle and adversarial findings
- capture: an ownership marker (.gstack-motion-capture) replaces the capture.json test, so the rerun after MOTION_CONTRACT_MISSING or a crash works and a foreign --out is still refused; offscreen lazy images are made eager and font/image loading is bounded at 30 s instead of hanging - encode: refuse a capture.json whose fields are not what capture writes (they reach ffmpeg args and paths); a cards overflow with no story frames is a planning error, and a zero-frame job never passes - tests: retry after a refused page, no-mask clean line, lazy image still, manifest validator, empty story span Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
c7ec40bc19
commit
fb1a8f8d37
6 files changed
+95
-18
No files matched your search
@@ -28,7 +28,7 @@ import { spawnSync } from 'child_process';
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import {
|
||||
compareArgs, contactSheetArgs, cropError, framePath, judgeCheck, loopGifArgs, mp4Args, padError, parsePsnrStats, planChecks, resolveFfmpeg,
|
||||
compareArgs, contactSheetArgs, cropError, framePath, judgeCheck, loopGifArgs, manifestError, mp4Args, padError, parsePsnrStats, planChecks, resolveFfmpeg,
|
||||
smallGifArgs, FFMPEG_MISSING, type CaptureManifest,
|
||||
} from '../lib/motion-encode';
|
||||
|
||||
@@ -97,6 +97,8 @@ try {
|
||||
} catch (err) {
|
||||
die(2, `gstack-motion-encode: cannot read ${path.join(dir, 'capture.json')}: ${(err as Error).message}; capture first with gstack-motion-capture.ts`);
|
||||
}
|
||||
const manifestProblem = manifestError(manifest);
|
||||
if (manifestProblem) die(2, `gstack-motion-encode: ${manifestProblem}; capture again with gstack-motion-capture.ts`);
|
||||
|
||||
if (cmd === 'check') {
|
||||
const layout = flags.get('--layout') ?? 'cards';
|
||||
|
||||
Reference in new issue
Block a user