mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 04:38:33 +00:00
* fix(skills): storyboard review — bg-on-clip rule, slideshow output, parser parity guard Addresses the storyboard-angle review (jrusso1020): - M1 (invisible text): frame-worker.md (x3) + SKILL.md Step 5 (x3) now require a frame's full-bleed background on a class=clip layer, never the #root / data-composition-id element (the root is clip-gated to its scene window, so a background on it is not a dependable ground and dark text can land on the black host body). The assembler already paints frame.md's canvas onto index #root as the base ground; the per-frame clip rides on top. - B3 (slideshow truncates to slide 1): slideshow/SKILL.md gains an Output section (decks render via 'present'; 'render index.html' captures only the first composition; linear main-line MP4 export is deferred). - Parser drift: vendoredParity.test.ts guards the three vendored storyboard.mjs copies (byte-identical + parse-parity with @hyperframes/core). - skills-manifest.json regenerated for the edited SKILL.md files. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(cli): storyboard review — lint, validate help, snapshot, inspect, capture, render Addresses the CLI findings from the storyboard-angle review (jrusso1020): - lint (@hyperframes/lint): accept vendor-prefixed system-font keywords -apple-system / BlinkMacSystemFont so a system stack with a generic fallback no longer trips font_family_without_font_face (+ test). - help: list 'validate' under Project in 'hyperframes --help' (was runnable but undocumented). - snapshot: honor -o/--output (the flag did not exist; output was hardcoded to snapshots/). The dir is resolved once and threaded through capture + contact sheet + Gemini. - snapshot: split font status into loaded / error / unused with a one-line summary; only a real 'error' is reported as FAILED (an unrequested @font-face is 'unused', not a contradiction with 'loaded'). - inspect: suppress text_occluded across a scene-to-scene crossfade (occluder in a different data-composition-id mount while a scene is mid-fade); a same-scene or two-settled-scenes overlap still flags. - inspect: suppress content_overlap between in-flow siblings governed by the same flex/grid container (tight stacks / number lockups are layout slop). - capture: record source resolution (videoWidth/Height) in video-manifest.json alongside the DOM display box; consumers size off the source dims. - render: warn when the target carries a slideshow island (render captures only the first scene, so the MP4 is truncated to slide 1; use 'present'). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
82 lines
1.6 KiB
JSON
82 lines
1.6 KiB
JSON
{
|
|
"source": "heygen-com/hyperframes",
|
|
"skills": {
|
|
"embedded-captions": {
|
|
"hash": "7fa25370f9fbb4b3",
|
|
"files": 144
|
|
},
|
|
"faceless-explainer": {
|
|
"hash": "edbe47dd738d14d8",
|
|
"files": 17
|
|
},
|
|
"general-video": {
|
|
"hash": "a30225e30ec7b06c",
|
|
"files": 1
|
|
},
|
|
"hyperframes": {
|
|
"hash": "55f1e72887f8f983",
|
|
"files": 1
|
|
},
|
|
"hyperframes-animation": {
|
|
"hash": "57458f4308708e21",
|
|
"files": 115
|
|
},
|
|
"hyperframes-cli": {
|
|
"hash": "ea8141bc9dcf8805",
|
|
"files": 7
|
|
},
|
|
"hyperframes-core": {
|
|
"hash": "57d63243e8dcd11e",
|
|
"files": 13
|
|
},
|
|
"hyperframes-creative": {
|
|
"hash": "bb248c1bc5cc28b5",
|
|
"files": 67
|
|
},
|
|
"hyperframes-media": {
|
|
"hash": "096b2ab0a43b05dd",
|
|
"files": 40
|
|
},
|
|
"hyperframes-registry": {
|
|
"hash": "e3b389526834109d",
|
|
"files": 10
|
|
},
|
|
"media-use": {
|
|
"hash": "f0edb0fd7cd513a5",
|
|
"files": 19
|
|
},
|
|
"motion-graphics": {
|
|
"hash": "be1d1f159d5eb0e4",
|
|
"files": 23
|
|
},
|
|
"music-to-video": {
|
|
"hash": "c188d0d159b926c2",
|
|
"files": 132
|
|
},
|
|
"pr-to-video": {
|
|
"hash": "ef4a3aa5a943aeec",
|
|
"files": 21
|
|
},
|
|
"product-launch-video": {
|
|
"hash": "b7bee220096f2ae2",
|
|
"files": 18
|
|
},
|
|
"remotion-to-hyperframes": {
|
|
"hash": "9d959b31fa0fc9d0",
|
|
"files": 70
|
|
},
|
|
"slideshow": {
|
|
"hash": "2f006c93745fcc32",
|
|
"files": 2
|
|
},
|
|
"talking-head-recut": {
|
|
"hash": "a3dc251f26be8a3e",
|
|
"files": 27
|
|
},
|
|
"website-to-video": {
|
|
"hash": "ac39931f9a7da749",
|
|
"files": 32
|
|
}
|
|
}
|
|
}
|