mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 04:38:33 +00:00
Windows sizes Python's stdio and text-mode file IO to the ANSI code page
(cp1252), not UTF-8. Every skill Python script relied on that default:
* analyze-beatgrid.py --print writes the glyphs cp1252 has no slot for
(delta, arrow), so the brief died with UnicodeEncodeError on every Windows
run — the reported crash;
* its audiomap write_text() pairs ensure_ascii=False with the default file
encoding, so a non-ASCII payload is unwritable there too;
* lint_source.py read_text() raises UnicodeDecodeError before any rule runs
when a Remotion source carries an em dash or a curly quote;
* gen-stroke-path.py reads an SVG font whose glyph keys ARE literal
characters, so a mis-decoded key stops matching the requested text.
Stdio is reconfigured to UTF-8 at import and every text-mode IO call names its
encoding. `errors` is carried across the reconfigure: it resets to "strict",
and CPython gives stderr "backslashreplace" on purpose so the diagnostic path
can never itself raise.
extract-audio-data.py also decoded ffmpeg's stderr strictly while reporting a
failure, which would bury the very error being reported on a Windows ffmpeg.
skills/python-encoding.test.mjs guards the class: it fails if any skill Python
script drops the stdio block or omits encoding= on a text-mode IO call. The
mode is read as a whole comma-delimited argument of mode characters only, so a
payload key like {"bpm": 120} cannot spell the check away.
Verified with a cp1252 stdio stream installed before module load, matching how
Windows starts the interpreter: pre-fix UnicodeEncodeError, post-fix both
glyphs present in the UTF-8 bytes. Not run on real Windows hardware.
86 lines
1.7 KiB
JSON
86 lines
1.7 KiB
JSON
{
|
|
"source": "heygen-com/hyperframes",
|
|
"skills": {
|
|
"embedded-captions": {
|
|
"hash": "1c02f679a329bce7",
|
|
"files": 138
|
|
},
|
|
"faceless-explainer": {
|
|
"hash": "c70b904aa68cf7e5",
|
|
"files": 24
|
|
},
|
|
"figma": {
|
|
"hash": "4f524b4962bd8d7c",
|
|
"files": 2
|
|
},
|
|
"general-video": {
|
|
"hash": "49f5216832cb8e91",
|
|
"files": 4
|
|
},
|
|
"hyperframes": {
|
|
"hash": "756a72f58fa3739b",
|
|
"files": 17
|
|
},
|
|
"hyperframes-animation": {
|
|
"hash": "2ce5ca7dbf361e27",
|
|
"files": 121
|
|
},
|
|
"hyperframes-audio": {
|
|
"hash": "534cea75fe0f2bc6",
|
|
"files": 6
|
|
},
|
|
"hyperframes-cli": {
|
|
"hash": "dc900e2ef0aa16b2",
|
|
"files": 11
|
|
},
|
|
"hyperframes-core": {
|
|
"hash": "4ca81d4092effc62",
|
|
"files": 19
|
|
},
|
|
"hyperframes-creative": {
|
|
"hash": "0068574ecd376e60",
|
|
"files": 78
|
|
},
|
|
"hyperframes-keyframes": {
|
|
"hash": "d00744ff0e669624",
|
|
"files": 3
|
|
},
|
|
"hyperframes-registry": {
|
|
"hash": "d6dfcc8ceb7c8178",
|
|
"files": 12
|
|
},
|
|
"media-use": {
|
|
"hash": "1b0ce647f5c7df95",
|
|
"files": 152
|
|
},
|
|
"motion-graphics": {
|
|
"hash": "1434e22bb0259bbb",
|
|
"files": 23
|
|
},
|
|
"music-to-video": {
|
|
"hash": "0c04f6ed00e90077",
|
|
"files": 132
|
|
},
|
|
"pr-to-video": {
|
|
"hash": "7769801640dca521",
|
|
"files": 30
|
|
},
|
|
"product-launch-video": {
|
|
"hash": "81953f054fcb9d91",
|
|
"files": 28
|
|
},
|
|
"remotion-to-hyperframes": {
|
|
"hash": "bf184a65059b95e8",
|
|
"files": 70
|
|
},
|
|
"slideshow": {
|
|
"hash": "6a24a84b0c1a75f9",
|
|
"files": 2
|
|
},
|
|
"talking-head-recut": {
|
|
"hash": "2f5d99f823c48e75",
|
|
"files": 28
|
|
}
|
|
}
|
|
}
|