mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-11 06:30:03 +00:00
fix(skills): pipeline fixes from prompt-guide validation (BGM, caption accent, voice, PR version)
Behavior fixes surfaced by the prompt-guide validation campaign (Tier 1+2 of the upstream bug list; Tier 3 tracked in #2107). Split out from the doc-only updates, which follow in a separate PR. - BGM level: default bed volume under narration was 0.8 linear (~-2 dB, ~16 dB too hot vs voice). Now 0.12 (~-18 dB) via shared bgmDefaultVolume() in media-use bgm.mjs + assemble-index fallbacks in faceless-explainer / pr-to-video / product-launch-video. Explicit volume still wins; silent-film 0.9 and music-to-video unchanged. Adds bgm.test.mjs (3 cases); bgm.md reference updated to match. - Caption accent: semanticColors() ranked accents purely by chroma, so a preserved status red (#dc2626) outranked the brand accent and captions highlighted in error-red. Status-keyed colors now excluded via shared STATUS_ROLE_KEY regex consumed by both tokens.mjs and build-frame.mjs (all three skill copies kept in sync). - Voice threading: workflow SKILL.md Step 3.1 blocks now instruct choosing the narration voice from the user's ask and passing --voice <id>; previously "a male voice" was silently ignored and the default (Marcia/am_michael) always won. - fetch-pr shipping version: MERGED PRs get best-effort shipped_version + version_source in pr.json (first release published at/after merge, else default-branch package.json marked unreleased); ingest surfaces it as a 'Shipped in:' brief line; story-design.md forbids inventing versions when absent. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
d4b3bcaba3
commit
c992a136bf
@@ -37,6 +37,7 @@ import {
|
||||
parseFonts,
|
||||
pickAccent,
|
||||
semanticColors,
|
||||
STATUS_ROLE_KEY,
|
||||
UA_DEFAULT_COLORS,
|
||||
} from "./lib/tokens.mjs";
|
||||
|
||||
@@ -253,11 +254,7 @@ if (brandColors.length && presetColors.length) {
|
||||
let next;
|
||||
if (val === prDark) next = mapDark;
|
||||
else if (val === prLight) next = mapLight;
|
||||
else if (
|
||||
/(?:^|[-_])(?:positive|negative|success|error|warning|danger|good|bad|up|down)(?:[-_]|$)/i.test(
|
||||
key,
|
||||
)
|
||||
)
|
||||
else if (STATUS_ROLE_KEY.test(key))
|
||||
// semantic status colors (green/red …) — the HUE carries the meaning; never repaint.
|
||||
// MUST precede the accent checks: a preset's red "negative" is often its 2nd-most-chromatic
|
||||
// color and would otherwise be claimed as accent2 and recolored to the brand hue.
|
||||
|
||||
Reference in New Issue
Block a user