mirror of
https://github.com/hanzoai/frames.git
synced 2026-09-24 00:08:03 +00:00
The npm scope becomes @hanzo: the CLI is @hanzo/frame, every library is @hanzo/frame-<name>. Versions go to 0.7.82. Credentials come from Hanzo IAM. `hanzo login` runs the IAM device flow and writes ~/.hanzo/credentials.json; unattended runs read HANZO_API_KEY delivered from Hanzo KMS. src/api.ts is the one place that knows the base URL and the credential, replacing the OAuth client, PKCE flow, loopback server, token store, and ~/.heygen credential file. `frames auth` keeps only `status`, since this CLI no longer issues credentials. Publish and feedback post to api.hanzo.ai/v1 without the HeyGen routing header. The HeyGen-hosted `frames cloud` render target is gone; local, AWS Lambda, and Google Cloud Run remain. Voice resolves to Hanzo speech (POST /v1/audio/speech) before local Kokoro; music resolves to local MusicGen. No analytics project is configured, so the CLI and studio send no events — they previously reported to HeyGen's. Drops the HeyGen wordmark from the studio header and the HeyGen promo render fixture with its brand assets and fonts.
100 lines
8.4 KiB
JSON
100 lines
8.4 KiB
JSON
{
|
|
"$comment": [
|
|
"Drives the regression workflow's shard matrix via scripts/plan-regression-shards.mjs.",
|
|
"Every fixture on disk must appear in exactly one of 'timings' or 'excluded', or CI fails.",
|
|
"timings: per-fixture wall-clock seconds, used only for bin-packing \u2014 approximate is fine.",
|
|
" Measured on CI run 30223148821; entries in 'distributed' carry their chunked timing.",
|
|
" Refresh from a green main run when shards drift apart; no test asserts these values.",
|
|
"distributed: fixtures run with --mode=distributed-simulated, mapped to why.",
|
|
" Mode is a per-invocation flag, so these get their own shards.",
|
|
"excluded: fixtures deliberately not run, each mapped to the reason why."
|
|
],
|
|
"shardCount": 8,
|
|
"distributedShardCount": 1,
|
|
"timings": {
|
|
"animejs-adapter": 17,
|
|
"nested-sequential-video-local-start": 8,
|
|
"audio-mux-parity": 32,
|
|
"chat": 54,
|
|
"css-spinner-render-compat": 15,
|
|
"font-variant-numeric": 9,
|
|
"gsap-letters-render-compat": 13,
|
|
"hdr-hlg-regression": 158,
|
|
"hdr-regression": 279,
|
|
"iframe-render-compat": 24,
|
|
"many-cuts": 23,
|
|
"missing-host-comp-id": 8,
|
|
"mov-prores": 5,
|
|
"mp4-h264-sdr": 4,
|
|
"mp4-h265-sdr": 4,
|
|
"overlay-montage-prod": 512,
|
|
"parallel-capture-regression": 86,
|
|
"plan-v2-partial-color": 120,
|
|
"png-sequence": 3,
|
|
"portrait-edge-bleed": 25,
|
|
"raf-ball-render-compat": 22,
|
|
"render-symlinked-assets": 6,
|
|
"static-volume-future-set": 120,
|
|
"style-1-prod": 156,
|
|
"style-10-prod": 232,
|
|
"style-11-prod": 324,
|
|
"style-12-prod": 247,
|
|
"style-13-prod": 898,
|
|
"style-15-prod": 114,
|
|
"style-16-prod": 401,
|
|
"style-17-prod": 224,
|
|
"style-18-prod": 394,
|
|
"style-2-prod": 190,
|
|
"style-3-prod": 191,
|
|
"style-4-prod": 203,
|
|
"style-5-prod": 247,
|
|
"style-6-prod": 301,
|
|
"style-7-prod": 325,
|
|
"style-8-prod": 178,
|
|
"style-9-prod": 216,
|
|
"sub-comp-id-selector": 10,
|
|
"sub-comp-t0": 18,
|
|
"sub-composition-video": 99,
|
|
"typegpu-adapter": 15,
|
|
"variables-prod": 8,
|
|
"vfr-screen-recording": 7,
|
|
"vignelli-stacking": 96,
|
|
"webm-transparency": 60,
|
|
"webm-vp9": 4
|
|
},
|
|
"excluded": {
|
|
"chrome-screenshot-bottom-edge": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"css-import-scoping": "Rejected by the harness at load time (meta.json: maxAudioLagWindows must be >= 1), so it has never run despite looking scheduled-able. Fix the metadata, then schedule it.",
|
|
"css-var-fonts": "Rejected by the harness at load time (meta.json: minAudioCorrelation must be between 0 and 1), so it has never run despite looking scheduled-able. Fix the metadata, then schedule it.",
|
|
"d3-adapter": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"dogs-captions": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"escape-hatch-fatal-fallback": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"fast-capture-gsap": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"google-maps-adapter": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"gsap-call-render-seek": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"hf2550-video-subcomposition-ghost": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"leaflet-adapter": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"mapbox-adapter": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"maplibre-adapter": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"nested-subcomp-depth-3": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"page-side-shader-compositor-render-compat": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"pip-video-late-host": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"render-video-overlay-stretch": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"software-beginframe-yoyo-compositor": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"spanish-empire-cdn-inline": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"sub-comp-class-selector": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"sub-comp-height-percent": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"three-boundary": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"three-boundary-deferred": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"timed-descendant-visibility": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"transparency-regression": "Not a harness fixture by design \u2014 its meta.json says it is exercised by `tsx src/transparency-test.ts`, which asserts a real alpha channel rather than comparing against a golden MP4.",
|
|
"video-hfid-no-id": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"webgl-video-texture-render-compat": "Was absent from the hand-written shard matrix, so it has never run in CI and its cost and pass state are unknown. Triage and either schedule it or record a real reason here.",
|
|
"wysiwyg-subcomp-css": "Rejected by the harness at load time (meta.json: maxAudioLagWindows must be >= 1), so it has never run despite looking scheduled-able. Fix the metadata, then schedule it."
|
|
},
|
|
"distributed": {
|
|
"style-15-prod": "Renders 12.4x faster chunked (1413s -> 114s at 4 CPUs) because in-process capture is pinned to one worker by the auto-worker derate. Passes the same golden at the same 30dB bar, 0/100 failed frames, psnr min 39.3 vs 40.1 in-process, so the sensitivity cost is 0.8dB.",
|
|
"sub-composition-video": "Renders 13.6x faster chunked (1346s -> 99s at 4 CPUs). Slow in-process for a different reason to style-15-prod (video decode rather than feTurbulence), which is why chunking helps both. Passes the same golden, 0/100 failed."
|
|
}
|
|
}
|