Commit Graph

3588 Commits

Author SHA1 Message Date
ukimsanov 72deb26af7 docs: organize Catalog by visual job 2026-08-03 15:43:15 -07:00
ukimsanov 900dd21b34 docs: simplify every catalog item page 2026-08-03 15:43:14 -07:00
ukimsanov e6e7b021d7 docs: organize catalog by visual task 2026-08-03 15:43:14 -07:00
ukimsanov 7a4a08ee41 docs: prepare catalog related topics 2026-08-03 15:43:14 -07:00
ukimsanov 23c82f665f fix(docs): use authoritative catalog previews 2026-08-03 15:43:14 -07:00
ukimsanov 9d0a867fd7 refactor(docs): avoid catalog navigation churn 2026-08-03 15:43:14 -07:00
ukimsanov 544adf7b2b docs: make catalog pages visual and reproducible 2026-08-03 15:43:14 -07:00
ukimsanov 9099976eaf docs: correct developer references and page endings 2026-08-03 15:43:13 -07:00
ukimsanov 2a762a4eda docs: consolidate agent skill setup 2026-08-03 15:43:13 -07:00
ukimsanov 926e7a66f4 docs: separate developer guides from reference 2026-08-03 15:43:13 -07:00
ukimsanov 8f0cc7a5be docs: improve player embed examples 2026-08-03 15:43:13 -07:00
ukimsanov 81c6a2a753 docs: rebuild developer and rendering reference 2026-08-03 15:43:13 -07:00
ukimsanov e2b66d23cf docs: trim generated project scaffolding 2026-08-03 15:43:07 -07:00
ukimsanov 27a349155a docs: remove generated reference artifacts 2026-08-03 15:38:41 -07:00
ukimsanov 8429a43a9e docs: serve documentation media from CDN 2026-08-03 15:24:54 -07:00
ukimsanov 0111bc3b89 docs: preserve the weekly update archive 2026-08-03 15:03:23 -07:00
ukimsanov 958000b2e3 docs: simplify the reference project example 2026-08-03 15:02:59 -07:00
ukimsanov 350ede57e8 docs: remove redundant and unverified guide claims 2026-08-03 15:02:59 -07:00
ukimsanov ea57b740a5 docs: complete Guides task endings 2026-08-03 15:02:59 -07:00
ukimsanov 9d8da15190 docs: expose Studio follow-ups and reference project 2026-08-03 15:02:59 -07:00
ukimsanov 41ba576dd2 docs: clarify Guides and Studio navigation 2026-08-03 15:02:59 -07:00
ukimsanov 4290057562 refactor(docs): remove unused reference story 2026-08-03 15:02:59 -07:00
ukimsanov a7ba5455b0 docs: simplify examples and idle video controls 2026-08-03 15:02:58 -07:00
ukimsanov a7bde7444b docs: polish navigation and video controls 2026-08-03 15:02:58 -07:00
ukimsanov 948c37a773 docs: prepare related topics for core hubs 2026-08-03 15:02:58 -07:00
ukimsanov bbdcbe29d8 fix(docs): restore native code block styling 2026-08-03 15:02:58 -07:00
ukimsanov 109ba1f41e docs: polish navigation and video presentation 2026-08-03 15:02:58 -07:00
ukimsanov e1e240edcf fix(docs): tighten journey release details 2026-08-03 15:02:58 -07:00
ukimsanov 63ac0b4a48 refactor(docs): trim journey assets and components 2026-08-03 15:02:58 -07:00
ukimsanov 24eb051809 fix: exclude compiled docs embed from CodeQL 2026-08-03 15:02:57 -07:00
ukimsanov 167e372aad chore: scope CodeQL for generated docs embed 2026-08-03 15:02:57 -07:00
ukimsanov cb5a3b7332 chore: exclude generated reference html from formatting 2026-08-03 15:02:57 -07:00
ukimsanov ead05f5ec7 docs: make journey pages interactive 2026-08-03 15:02:57 -07:00
ukimsanov eee496b4a8 docs: add canonical reference project 2026-08-03 15:02:57 -07:00
ukimsanov 0a7432bcf5 docs: rebuild journeys guides and studio 2026-08-03 15:02:57 -07:00
James Russo 1d0d4d8939 docs(changelog): weekly digest 2026-07-27–2026-08-03 (#2969)
* docs(changelog): weekly digest 2026-07-27–2026-08-03

* docs(changelog): embed weekly video for 2026-07-27 to 2026-08-03
2026-08-03 15:08:01 -04:00
WaterrrForever bc6dbc7e21 fix(cli): stop dropping queued telemetry when process.exit races the final flush (#2970)
* fix(cli): stop dropping queued telemetry when process.exit races the final flush

Two exit-path defects introduced by the 0.7.65 process-lifecycle refactor:

1. The 'exit' handler returned early once finalizeCli had started, which
   also skipped the flushSync() fallback. When an agent-pipe EPIPE killed
   the process mid-flush (the NORMAL teardown under Claude Code / Codex),
   the still-queued render_complete was silently dropped — fleet delivery
   fell from ~90% (0.7.55-0.7.64) to ~35%. flushSync() is now
   unconditional: empty queue is a no-op, event uuids dedupe re-sends.

2. The EPIPE handlers set commandFailed unconditionally, so every piped
   successful render scored success:false in cli_command_result (fleet
   success rate collapsed 89% -> 5-25%). EPIPE now only marks failure
   when the pipe died before the render artifact was validated, matching
   the existing isRenderSucceeded() exemption on the uncaughtException
   path.

Regression tests cover both: flushSync-after-finalize, and EPIPE
before/after artifact validation.

* fix(cli): don't score a validated render as failed due to pre-artifact noise

Review follow-up: commandFailed can be set by noise that precedes artifact
validation — a stray unhandledRejection mid-render, or an EPIPE firing
before markRenderSucceeded on a run that still completes. Once the
artifact validates, that earlier noise must not flip the run's
cli_command_result to success:false. Genuine failures keep a non-zero
exit code and are still caught by the exitCode check.

Extracted commandSucceededForTelemetry() and applied it at both tracking
sites (finalizeCli and the exit handler), with a regression test.

* test(cli): pin the production-reachable producer of the stale-failure override

Review note: the pre-artifact-noise test drives the scenario with an
EPIPE, which only reaches 'render validates afterwards' because
process.exit is mocked — that sequence can't occur in production. Add a
test for the reachable producer: an unhandledRejection before validation
(the handler deliberately does not exit), followed by a validated render,
must score success:true at exit code 0. Verified red on the pre-override
cli.ts.
2026-08-04 02:02:55 +08:00
Miguel Ángel 3cf268e1e5 Merge pull request #2960 from heygen-com/fix/registry-transform-motion
fix(registry): animate mk card offsets with transforms, not top/left
2026-08-03 10:16:02 +02:00
Miguel Angel Simon Sierra ce7d75dbaa fix(registry): animate mk card offsets with transforms, not top/left
mk-background and mk-clone-wall-transition tween the card's `top`/`left`.
Layout properties snap to integer device pixels, so the move stutters under
the seek-by-frame capture engine (lint: gsap_non_transform_motion). Both
cards sit at top:0/left:0 in CSS, so the values carry straight over to x/y,
and in clone-wall the later scale composes cleanly with the translate.
Re-rendered both and diffed frames against the previous output — identical,
as intended: this changes how the motion is computed, not how it looks.

Adds scripts/lint-registry-items.mjs (bun run lint:registry-items), which
mounts each item into a throwaway project and lints it. Registry items ship
as `<name>.html`, so `hyperframes lint <dir>` fails with "No composition
found" and these items had never actually been linted — which is how both
errors reached main. Verified the script reproduces the original failure on
the pre-fix source.

Left as a local command rather than a CI gate for now; wiring it up needs
two prior fixes, noted in the PR.
2026-08-03 10:14:37 +02:00
Miguel Ángel 7e95630060 Merge pull request #2939 from heygen-com/feat/registry-theme-families
feat(registry): mk / yt / hw theme families + beat-freeze-cut — 30 items
2026-08-03 09:53:54 +02:00
Miguel Angel Simon Sierra d3d286a1a5 feat(registry): add beat-freeze-cut
Beat-driven speed ramp, freeze-frame hit, and hard cut for music-led
promos and montages. Contributed as #2957; applied here as content so the
whole catalog set lands together.

Verified by rendering: 6s, clean, deterministic (the one Math.random hit
is a comment above a fixed pattern array). Opaque root, so no demo.html
is needed for its catalog preview.

Co-authored-by: akiyoshisan1218 <akiyoshisan1218@users.noreply.github.com>
2026-08-03 09:32:12 +02:00
James Russo 1e51eaec2c chore: release v0.7.90 (#2958) v0.7.90 2026-08-02 21:57:19 -07:00
James Russo d6191965cf fix: pin release publishing to merge commit (#2959) 2026-08-02 21:32:08 -07:00
James Russo 2339757377 fix: bound HDR and video extraction resources (#2955)
* fix: bound HDR and video extraction resources

* fix: trim negative video extraction preroll

* fix: skip invisible video extraction windows

* fix: preserve negative-start loop and held tails

* fix: cap finite video slots to source duration

* fix: bound held-tail frame extraction

* fix: plan from playable video duration

* fix: preserve open-ended held video tails

* fix: resolve held tails from decoded frames

* fix: normalize final-frame probe timestamps

* fix: handle unseekable final-frame sources

* fix: dedupe final-frame probes per render

* refactor: clarify output dynamic range contract
2026-08-02 20:21:54 -07:00
Miguel Ángel 67ffafb11c docs(contributing): refresh the catalog contribution guide (#2954)
The guide still described a 52-block registry, told contributors to run the
deprecated `validate` command, and listed gaps that have since shipped.

- Correct the counts: 113 blocks, 25 components
- `validate` -> `check` in the quick version
- Document the `demo.html` requirement for components (CI fails without it)
- Document `params` (drives the Studio customization panel) and the other
  optional registry-item fields
- Add the monospace caption floor and `fitTextFontSize()` to the quality bar
- Add a motion-review checklist: rules paired with a self-check question
- Replace the manual preview-MP4 step with what catalog-previews CI does
- Rewrite "What's Needed Right Now" by the job a shot does in a video, and
  drop the gaps that have shipped (karaoke, lower thirds, maps, news ticker)
2026-08-02 22:02:55 +02:00
Miguel Ángel 411ada0d90 chore: release v0.7.89 (#2953) v0.7.89 2026-08-02 20:25:14 +02:00
Miguel Ángel 59fe32b633 Merge pull request #2952 from heygen-com/fix/2951-ignore-generated-cache-watcher
fix(cli): ignore generated caches in project watcher
2026-08-02 19:51:43 +02:00
Miguel Ángel 1d01b9f2cf fix(studio): exclude generated caches from project metadata 2026-08-02 17:37:51 +00:00
Miguel Ángel 3eb7b1ffd5 test(cli): clarify watcher exclusion coverage 2026-08-02 17:25:17 +00:00
Miguel Ángel bf739a4db2 fix(cli): ignore waveform cache in project watcher 2026-08-02 17:19:51 +00:00