Commit Graph

1494 Commits

Author SHA1 Message Date
rpone 448397cc59 fix: initialize document animations after browser layout 2026-10-13 15:33:38 +08:00
rpone bf471064eb fix: initialize HTML document scripts in browser order 2026-10-13 00:01:28 +08:00
rpone a33874c328 refactor: remove execution worker idle retention 2026-10-12 23:54:05 +08:00
rpone c01aa2b44a refactor: separate document output from shared HTML playback 2026-10-12 23:47:46 +08:00
rpone 40b74b7fc1 feat: add HTML document output and reusable runtime workers 2026-10-12 23:11:22 +08:00
rpone 85e01c7671 docs: show optional package installation commands 2026-10-10 02:03:31 +08:00
rpone 8260cdc17d docs: clarify optional component and partner provider installation 2026-10-10 02:02:32 +08:00
kashorin 6c9e274b92 Merge remote-tracking branch 'origin/main' 2026-10-10 01:51:53 +08:00
kashorin a3824065d5 fix(examples): install published ecosystem dependencies 2026-10-10 01:51:44 +08:00
kashorin 4400f3363f chore(packages): record initial ecosystem releases 2026-10-10 01:51:27 +08:00
rpone 847f43c5e4 docs: link both migration guides from English README 2026-10-10 01:02:44 +08:00
rpone 568268025a docs: add Chinese migration guides and README links 2026-10-10 00:59:40 +08:00
kashorin 62c372d65f docs: move migration links to README help tables 2026-10-09 22:34:46 +08:00
kashorin 03dc6a5eb2 docs: add the 0.3 project migration guide 2026-10-09 22:28:54 +08:00
kashorin 7a0952ae21 ci: publish tested artifacts without rebuilding 2026-10-09 19:05:00 +08:00
kashorin 8a9c0538eb fix(release): load build tooling only when packing 2026-10-09 18:31:47 +08:00
kashorin 8efbac03ed Merge remote-tracking branch 'origin/main' v0.3.1 2026-10-09 18:14:03 +08:00
kashorin df3b506135 docs: align authoring guidance and migration notes with 0.3.1 2026-10-09 18:13:51 +08:00
kashorin 68f1693645 refactor: publish video-domain packages independently for 0.3.1 2026-10-09 18:13:50 +08:00
rpone 057f3a49e9 docs: replace WeChat group QR with group 11 2026-10-09 16:25:54 +08:00
rpone ea7529ee80 docs: simplify WeChat QR caption 2026-10-09 16:09:48 +08:00
rpone 9d06f50e86 docs: refresh WeChat assistant QR 2026-10-09 14:59:22 +08:00
kashorin 15c78a9f8b docs: give WeChat assistant QR a dedicated image path 2026-10-09 11:21:44 +08:00
kashorin 2916d99c08 docs: restore Hypit assistant WeChat QR code 2026-10-09 11:20:06 +08:00
kashorin ff7582a3ff test(provider): follow package version in user agent v0.3.0 2026-10-09 04:13:49 +08:00
kashorin 8bac90166a fix(release): identify package provenance 2026-10-09 04:05:46 +08:00
kashorin e81c3762fc fix(release): exclude Python interpreter caches 2026-10-09 03:53:40 +08:00
kashorin 38741d3fb0 build: simplify multi-package publication 2026-10-09 03:33:32 +08:00
kashorin a80beb4dda fix(release): assemble embedded packages from ownership graph 2026-10-09 02:43:14 +08:00
kashorin 3c50b91e02 fix(cli): relaunch installed host from its physical path 2026-10-09 02:30:03 +08:00
kashorin 9583609590 fix(cli): canonicalize installed launcher before loading TypeScript 2026-10-09 02:10:26 +08:00
kashorin 84f7ad148a fix(cli): resolve installed bootstrap through package imports 2026-10-09 01:57:02 +08:00
kashorin 4bcda61494 fix: preserve cross-platform release diagnostics 2026-10-09 01:44:00 +08:00
kashorin 6314a9e79e merge: absorb SVS closing-text fix into recipe 2026-10-09 01:36:24 +08:00
Chi-Wei Lee ef62b07e15 fix: allow sheet closing text in SVS recipes (#377)
* fix: cover SVS text template rendering

* fix: detect the SVS sheet close between recipes

parseSvs searched the raw text for </sheet> before parsing, so a quoted
recipe value containing that text was either taken as the close or, with
lastIndexOf, guessed at. Check for the close tag only between recipes
instead, since closingBrace already skips quoted text. A missing close now
reports SVS_ROOT_UNCLOSED and a second close SVS_TRAILING, as on main.

Co-authored-by: Sharky Wang <65097782+rponeawa@users.noreply.github.com>

---------

Co-authored-by: Sharky Wang <65097782+rponeawa@users.noreply.github.com>
2026-10-09 01:33:14 +08:00
kashorin 2694ffaf3b merge: absorb 0.2.18 fixes into 0.3 2026-10-09 01:17:47 +08:00
kashorin 5885c00b70 fix(timeline): preflight exact authored frame boundaries 2026-10-09 01:16:09 +08:00
kashorin 1b6e99cf1e docs: highlight Hypit source languages 2026-10-09 01:08:26 +08:00
kashorin f946760a3f docs: finish the 0.3 public documentation audit 2026-10-09 01:07:26 +08:00
kashorin 43b54eadfe build: preflight the complete npm release 2026-10-09 00:51:08 +08:00
kashorin aa07d1eb5e docs: align production guidance with 0.3 author model 2026-10-09 00:42:47 +08:00
kashorin 9c661820c5 docs: explain authored cues and Studio items 2026-10-09 00:35:27 +08:00
kashorin 91d98a1b2d refactor: unify Studio items and temporal inverses 2026-10-09 00:35:10 +08:00
kashorin d7b38b7094 refactor: make caption cues authored content 2026-10-09 00:34:14 +08:00
rpone 02805ebc46 chore(release): prepare @hypit/hypit 0.2.18 v0.2.18 2026-10-09 00:07:30 +08:00
Flandern e0f26d189a fix(timeline): preflight exact-frame placements (#355) 2026-10-08 23:15:45 +08:00
牵强 d56b5281e6 fix: report Producer failures that no request carries in plan (#348)
evaluateProducerPlan records every Producer failure keyed by its step, but
build-planning.ts read that map only inside the plannedNeeds loop. A Producer
that failed in a step carrying no request, such as assemble-timeline, had its
failure recorded and never surfaced: plan reported "Build plan is valid" and
exited 0 for builds that deterministically fail at Build.

Keep the failures no planned need reports, count them into the verdict and the
exit code, and print each failing step with its message.
2026-10-08 22:28:19 +08:00
HEOJUNFO 31c358d4f0 fix: encode still-video clips with BT.709 and tag the output (#363)
render-still-video converted authored sRGB pictures to yuv420p with
FFmpeg's default BT.601 matrix and wrote no color metadata. Players and
Chromium decode untagged HD video as BT.709, so an HD still clip shifted
color, e.g. #20C040 came back as (20,169,62) in a Chrome <video>, which
is also how HyperFrames composites these clips.

Use the same encode tail as the HyperFrames local renderer (#342) for
the single-picture and the multi-picture paths, and add a test that
checks the stream tags and the decoded color of both paths.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 22:28:13 +08:00
Zhihuang Lin 3a561a9425 fix: keep frame animations of later Presents off HyperFrames' adapters (#373)
Since 089c39a01 the frame animation runtime kept each CSS animation live
and paused, and set its currentTime to Present-relative time on hf-seek.
HyperFrames' own css and waapi adapters also seek every live document
animation, to absolute composition time, and the last writer wins. A
Present that starts after frame 0 therefore rendered the pose at absolute
time: a media-track Item with a fade disappeared for most of its window.

Read the authored keyframes and timing once, then cancel the CSS animation
and set animation-name to none, as 0.2.13 did, so the engine never
discovers it. On each seek, evaluate the active poses with transient
Animations built from the constructor, which the waapi adapter does not
patch, read the computed values, cancel them and write the pose inline.
This still avoids tabulating every Present frame.

Fixes #372

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 22:28:06 +08:00
Sharky Wang 9ed7eef12c fix(yt-dlp): install curl_cffi so TikTok fetches can impersonate a browser (#384)
TikTok rejects the TLS fingerprint of the locked Python environment, so
hypit media fetch failed with "Unexpected response from webpage request".
The curl-cffi extra lets yt-dlp impersonate a browser. Existing prepared
environments need hypit media prepare-fetch again to pick it up.

Reported in #381.
2026-10-08 22:11:00 +08:00