mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 04:38:33 +00:00
Extend the rule beyond positional layout props to the text-reflow props letterSpacing / wordSpacing / fontSize. Animating them reflows text and snaps glyph positions to the pixel grid, so a slow ease-out tail micro-stutters exactly like left/top — measured on a real composition, a slow letterSpacing "settle" rendered 19/30 unique frames vs 30/30 for the transform-driven motion in the same piece. They have no transform replacement (fix: settle via scale or hold the value), and the snap happens during browser layout, upstream of the canvas raster, so they are never html-in-canvas-exempt. width/height stay excluded (legit animated uses — progress bars, reveals). Restructure the finding's message/fixHint to compose per category (positional -> x/y; reflow -> scale/hold; roundProps -> remove) instead of a two-branch ternary. Skill guidance (gsap-transforms-and-perf.md) broadened: "layout property" includes reflow; letterSpacing/fontSize named as the settle-trap. Migrate the one surfaced positive: registry/components/vignette/demo.html title settle letterSpacing -> a subtle scale settle (render-verified 20/20 unique frames, smooth). Blast radius across the registry was this one comp, zero false positives. 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": "8f89def06adfe745",
|
|
"files": 17
|
|
},
|
|
"general-video": {
|
|
"hash": "a30225e30ec7b06c",
|
|
"files": 1
|
|
},
|
|
"hyperframes": {
|
|
"hash": "55f1e72887f8f983",
|
|
"files": 1
|
|
},
|
|
"hyperframes-animation": {
|
|
"hash": "b15d63381aab5852",
|
|
"files": 115
|
|
},
|
|
"hyperframes-cli": {
|
|
"hash": "be5af457d0b3d2ff",
|
|
"files": 7
|
|
},
|
|
"hyperframes-core": {
|
|
"hash": "6243b6f09c94cce1",
|
|
"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": "f2014a51c7a052bd",
|
|
"files": 21
|
|
},
|
|
"product-launch-video": {
|
|
"hash": "5341508d185c091d",
|
|
"files": 18
|
|
},
|
|
"remotion-to-hyperframes": {
|
|
"hash": "9d959b31fa0fc9d0",
|
|
"files": 70
|
|
},
|
|
"slideshow": {
|
|
"hash": "ae8d8f3093ef0c04",
|
|
"files": 2
|
|
},
|
|
"talking-head-recut": {
|
|
"hash": "a3dc251f26be8a3e",
|
|
"files": 27
|
|
},
|
|
"website-to-video": {
|
|
"hash": "ac39931f9a7da749",
|
|
"files": 32
|
|
}
|
|
}
|
|
}
|