Skip to content

Fork patch: Arcade fork tooling - #5

Draft
valeriangalliat wants to merge 44 commits into
mainfrom
patch/arcade-tooling
Draft

valeriangalliat wants to merge 44 commits into
mainfrom
patch/arcade-tooling

Conversation

@valeriangalliat

Copy link
Copy Markdown
Collaborator

🤖 AI agent: Arcade fork patch. Do not merge.

This draft shows patch/arcade-tooling against main, the upstream mirror, so the patch has one page for its diff, its revisions and its reason. Arcade's /hyperframes-update rebases the branch onto main and cherry-picks it onto arcade; this PR is not part of that flow. When a rebuild changes the patch, its git range-diff against the previous sync/<date>/arcade-tooling tag is posted as a comment.

Why

Fork-only tooling under scripts/arcade/:

  • patches.json: the rebuild manifest. Which patch/* branches go on arcade, which are kept local, and their upstream issue and PR.
  • rebuild.mjs: resets arcade to main and cherry-picks each patch tip.
  • README.md: how the fork is laid out.

Upstream

Never. Arcade-only.

Drop when

The fork goes away.

@valeriangalliat

valeriangalliat commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator Author

🤖 AI agent: sync/2026-10-24 (tags moved the same day): rebased onto upstream 2e397dba5 (v0.8.194). One new commit drops patch/cloud-run-chrome-152 from patches.json: upstream #5338 shipped the same Chrome pin in 0.8.194.

First pass on this date, onto 722481214 (0.8.193): One new commit: patch/playback-start-nested leaves the rebuild manifest, because upstream heygen-com#5413 and heygen-com#5454 ship the nested in-point.

The range-diff below is against sync/2026-10-05.

git range-diff sync/2026-10-05/base..sync/2026-10-05/arcade-tooling sync/2026-10-24/base..sync/2026-10-24/arcade-tooling
 1:  93799281f =  1:  43c9d30c2 chore(arcade): add rebuild and GitHub Release pack scripts
 2:  666857198 =  2:  4bbef995d fix(arcade): pin Release publish to origin repo and enable pnpm
 3:  37322b14e =  3:  69f414189 chore(arcade): include clamp-embedded-media in rebuild manifest
 4:  482600399 =  4:  acb88d151 chore(arcade): track upstream issue/PR links in patches.json
 5:  0a58a1013 =  5:  f3db36b4c chore(arcade): link clamp-embedded-media to upstream #3331 / #3332
 6:  478297aa4 =  6:  06a5f47ec chore(arcade): include host-window-bare-video in rebuild manifest
 7:  9b68b8d2a =  7:  cdc7eeaa4 chore(arcade): drop clamp-embedded-media from rebuild (superseded)
 8:  875b82b99 =  8:  5e8580055 chore(arcade): link host-window-bare-video to upstream #3335
 9:  1f4658012 =  9:  4493d2bf1 chore(arcade): include probe-seek-swallow in rebuild manifest
10:  be5ee6354 = 10:  ca8a0ab0a chore(arcade): include jump-seek-css-settle in rebuild manifest
11:  bb3ee46f4 = 11:  ee9c6f156 chore(arcade): drop host-window-bare-video from rebuild (already on tip)
12:  a9b73c182 = 12:  21546b7e4 chore(arcade): link visibility-scrub to upstream #3360
13:  9eb74a4d2 = 13:  05e56431a chore(arcade): link data-start-idref to upstream #3361
14:  45694aed7 = 14:  3ab118539 chore(arcade): drop visibility-scrub from rebuild (merged upstream #3233)
15:  6aa6dd736 = 15:  e292031f1 chore(arcade): drop data-start-idref from rebuild (merged upstream #3252)
16:  9f060c49c = 16:  f9339134b chore(arcade): drop video-source from rebuild (merged upstream #3238)
17:  a2d2dc1dd = 17:  f32b960df chore(arcade): include runtime-src-duplicate-ids in rebuild manifest
18:  d8f47277b = 18:  39641cb9c chore(arcade): drop runtime-src-duplicate-ids from rebuild (merged upstream #3513)
19:  3ad49ec11 = 19:  8c3a45f9f chore(arcade): drop player-xss from rebuild (preexisting upstream #3472)
20:  2f4a679a1 = 20:  5ae79d468 fix(arcade): pack GitHub Release tarballs with pnpm, not npm
21:  968632a59 = 21:  52da1d8f1 fix(arcade): keep arcade tracking origin/arcade after rebuild
22:  d98fdc763 = 22:  bb6b14afd chore(arcade): drop GitHub Release tarball publish
23:  5a071c926 = 23:  9639121a0 chore(arcade): include discover-host-window in rebuild manifest
24:  bf4d1a31d = 24:  63a03a95f chore(arcade): include discover-video-opacity in rebuild manifest
25:  8827a03be = 25:  be2ef226f feat(arcade): let rebuild pin the integration base
26:  73a84af93 = 26:  93155d2aa chore(arcade): include render-settle-pass in rebuild manifest
27:  e118b73d4 = 27:  588b8023a docs(arcade): record sync tag layout after each rebuild
28:  6f4eaf0cd = 28:  83f04fd5e docs(arcade): split shared hunks; do not resolve on arcade
29:  d615f91b8 = 29:  1631bda56 chore(arcade): register patch/extract-hold-past-eof
30:  54bba0298 = 30:  aad3d116b chore(arcade): keep patch/render-settle-pass local
31:  53f21896f = 31:  19d37895a chore(arcade): link patch/extract-hold-past-eof to upstream #3958 / #3959
32:  fc4c25a86 = 32:  f1bdfd1af chore(arcade): include host-duration-bound in rebuild manifest
33:  f5d050678 = 33:  c66790307 chore(arcade): link host-duration-bound to upstream #3964 / #3965
34:  085087319 = 34:  b79e57ddc chore(arcade): drop extract-hold-past-eof from rebuild (upstream #3962)
35:  fa3843149 = 35:  c69c737eb chore(arcade): drop host-duration-bound from rebuild (upstream #3975)
36:  92d549e20 = 36:  87d8c2aa4 chore(arcade): add patch/vp9-alpha-probe to the patch list
37:  3a39efa64 = 37:  7d22454cd chore(arcade): carry patch/cloud-run-chrome-152
 -:  --------- > 38:  3d969290e chore(arcade): drop playback-start-nested from rebuild (upstream #5413, #5454)
 -:  --------- > 39:  81a6e730d chore(arcade): drop patch/cloud-run-chrome-152, upstream #5338 shipped in 0.8.194

@ocboogie

ocboogie commented Nov 3, 2026

Copy link
Copy Markdown

🤖 AI agent: sync/2026-11-03: same base, upstream 2e397dba5 (v0.8.194). One new commit adds patch/distributed-page-motion-blur (#11) to patches.json.

The range-diff below is against sync/2026-10-24.

git range-diff sync/2026-10-24/base..sync/2026-10-24/arcade-tooling \
  sync/2026-11-03/base..sync/2026-11-03/arcade-tooling

 1:  43c9d30c2 =  1:  43c9d30c2 chore(arcade): add rebuild and GitHub Release pack scripts
 2:  4bbef995d =  2:  4bbef995d fix(arcade): pin Release publish to origin repo and enable pnpm
 3:  69f414189 =  3:  69f414189 chore(arcade): include clamp-embedded-media in rebuild manifest
 4:  acb88d151 =  4:  acb88d151 chore(arcade): track upstream issue/PR links in patches.json
 5:  f3db36b4c =  5:  f3db36b4c chore(arcade): link clamp-embedded-media to upstream #3331 / #3332
 6:  06a5f47ec =  6:  06a5f47ec chore(arcade): include host-window-bare-video in rebuild manifest
 7:  cdc7eeaa4 =  7:  cdc7eeaa4 chore(arcade): drop clamp-embedded-media from rebuild (superseded)
 8:  5e8580055 =  8:  5e8580055 chore(arcade): link host-window-bare-video to upstream #3335
 9:  4493d2bf1 =  9:  4493d2bf1 chore(arcade): include probe-seek-swallow in rebuild manifest
10:  ca8a0ab0a = 10:  ca8a0ab0a chore(arcade): include jump-seek-css-settle in rebuild manifest
11:  ee9c6f156 = 11:  ee9c6f156 chore(arcade): drop host-window-bare-video from rebuild (already on tip)
12:  21546b7e4 = 12:  21546b7e4 chore(arcade): link visibility-scrub to upstream #3360
13:  05e56431a = 13:  05e56431a chore(arcade): link data-start-idref to upstream #3361
14:  3ab118539 = 14:  3ab118539 chore(arcade): drop visibility-scrub from rebuild (merged upstream #3233)
15:  e292031f1 = 15:  e292031f1 chore(arcade): drop data-start-idref from rebuild (merged upstream #3252)
16:  f9339134b = 16:  f9339134b chore(arcade): drop video-source from rebuild (merged upstream #3238)
17:  f32b960df = 17:  f32b960df chore(arcade): include runtime-src-duplicate-ids in rebuild manifest
18:  39641cb9c = 18:  39641cb9c chore(arcade): drop runtime-src-duplicate-ids from rebuild (merged upstream #3513)
19:  8c3a45f9f = 19:  8c3a45f9f chore(arcade): drop player-xss from rebuild (preexisting upstream #3472)
20:  5ae79d468 = 20:  5ae79d468 fix(arcade): pack GitHub Release tarballs with pnpm, not npm
21:  52da1d8f1 = 21:  52da1d8f1 fix(arcade): keep arcade tracking origin/arcade after rebuild
22:  bb6b14afd = 22:  bb6b14afd chore(arcade): drop GitHub Release tarball publish
23:  9639121a0 = 23:  9639121a0 chore(arcade): include discover-host-window in rebuild manifest
24:  63a03a95f = 24:  63a03a95f chore(arcade): include discover-video-opacity in rebuild manifest
25:  be2ef226f = 25:  be2ef226f feat(arcade): let rebuild pin the integration base
26:  93155d2aa = 26:  93155d2aa chore(arcade): include render-settle-pass in rebuild manifest
27:  588b8023a = 27:  588b8023a docs(arcade): record sync tag layout after each rebuild
28:  83f04fd5e = 28:  83f04fd5e docs(arcade): split shared hunks; do not resolve on arcade
29:  1631bda56 = 29:  1631bda56 chore(arcade): register patch/extract-hold-past-eof
30:  aad3d116b = 30:  aad3d116b chore(arcade): keep patch/render-settle-pass local
31:  19d37895a = 31:  19d37895a chore(arcade): link patch/extract-hold-past-eof to upstream #3958 / #3959
32:  f1bdfd1af = 32:  f1bdfd1af chore(arcade): include host-duration-bound in rebuild manifest
33:  c66790307 = 33:  c66790307 chore(arcade): link host-duration-bound to upstream #3964 / #3965
34:  b79e57ddc = 34:  b79e57ddc chore(arcade): drop extract-hold-past-eof from rebuild (upstream #3962)
35:  c69c737eb = 35:  c69c737eb chore(arcade): drop host-duration-bound from rebuild (upstream #3975)
36:  87d8c2aa4 = 36:  87d8c2aa4 chore(arcade): add patch/vp9-alpha-probe to the patch list
37:  7d22454cd = 37:  7d22454cd chore(arcade): carry patch/cloud-run-chrome-152
38:  3d969290e = 38:  3d969290e chore(arcade): drop playback-start-nested from rebuild (upstream #5413, #5454)
39:  81a6e730d = 39:  81a6e730d chore(arcade): drop patch/cloud-run-chrome-152, upstream #5338 shipped in 0.8.194
 -:  --------- > 40:  96750a0a5 chore(arcade): add patch/distributed-page-motion-blur to the patch list

@ocboogie

ocboogie commented Nov 5, 2026

Copy link
Copy Markdown

🤖 AI agent: sync/2026-11-05: same base, upstream 2e397dba5 (v0.8.194). One new commit adds patch/preview-motion-blur-filter-copies (#12) to patches.json.

The range-diff below is against sync/2026-11-03.

git range-diff sync/2026-11-03/base..sync/2026-11-03/arcade-tooling \
  sync/2026-11-05/base..sync/2026-11-05/arcade-tooling

 1:  43c9d30c2 =  1:  43c9d30c2 chore(arcade): add rebuild and GitHub Release pack scripts
 2:  4bbef995d =  2:  4bbef995d fix(arcade): pin Release publish to origin repo and enable pnpm
 3:  69f414189 =  3:  69f414189 chore(arcade): include clamp-embedded-media in rebuild manifest
 4:  acb88d151 =  4:  acb88d151 chore(arcade): track upstream issue/PR links in patches.json
 5:  f3db36b4c =  5:  f3db36b4c chore(arcade): link clamp-embedded-media to upstream #3331 / #3332
 6:  06a5f47ec =  6:  06a5f47ec chore(arcade): include host-window-bare-video in rebuild manifest
 7:  cdc7eeaa4 =  7:  cdc7eeaa4 chore(arcade): drop clamp-embedded-media from rebuild (superseded)
 8:  5e8580055 =  8:  5e8580055 chore(arcade): link host-window-bare-video to upstream #3335
 9:  4493d2bf1 =  9:  4493d2bf1 chore(arcade): include probe-seek-swallow in rebuild manifest
10:  ca8a0ab0a = 10:  ca8a0ab0a chore(arcade): include jump-seek-css-settle in rebuild manifest
11:  ee9c6f156 = 11:  ee9c6f156 chore(arcade): drop host-window-bare-video from rebuild (already on tip)
12:  21546b7e4 = 12:  21546b7e4 chore(arcade): link visibility-scrub to upstream #3360
13:  05e56431a = 13:  05e56431a chore(arcade): link data-start-idref to upstream #3361
14:  3ab118539 = 14:  3ab118539 chore(arcade): drop visibility-scrub from rebuild (merged upstream #3233)
15:  e292031f1 = 15:  e292031f1 chore(arcade): drop data-start-idref from rebuild (merged upstream #3252)
16:  f9339134b = 16:  f9339134b chore(arcade): drop video-source from rebuild (merged upstream #3238)
17:  f32b960df = 17:  f32b960df chore(arcade): include runtime-src-duplicate-ids in rebuild manifest
18:  39641cb9c = 18:  39641cb9c chore(arcade): drop runtime-src-duplicate-ids from rebuild (merged upstream #3513)
19:  8c3a45f9f = 19:  8c3a45f9f chore(arcade): drop player-xss from rebuild (preexisting upstream #3472)
20:  5ae79d468 = 20:  5ae79d468 fix(arcade): pack GitHub Release tarballs with pnpm, not npm
21:  52da1d8f1 = 21:  52da1d8f1 fix(arcade): keep arcade tracking origin/arcade after rebuild
22:  bb6b14afd = 22:  bb6b14afd chore(arcade): drop GitHub Release tarball publish
23:  9639121a0 = 23:  9639121a0 chore(arcade): include discover-host-window in rebuild manifest
24:  63a03a95f = 24:  63a03a95f chore(arcade): include discover-video-opacity in rebuild manifest
25:  be2ef226f = 25:  be2ef226f feat(arcade): let rebuild pin the integration base
26:  93155d2aa = 26:  93155d2aa chore(arcade): include render-settle-pass in rebuild manifest
27:  588b8023a = 27:  588b8023a docs(arcade): record sync tag layout after each rebuild
28:  83f04fd5e = 28:  83f04fd5e docs(arcade): split shared hunks; do not resolve on arcade
29:  1631bda56 = 29:  1631bda56 chore(arcade): register patch/extract-hold-past-eof
30:  aad3d116b = 30:  aad3d116b chore(arcade): keep patch/render-settle-pass local
31:  19d37895a = 31:  19d37895a chore(arcade): link patch/extract-hold-past-eof to upstream #3958 / #3959
32:  f1bdfd1af = 32:  f1bdfd1af chore(arcade): include host-duration-bound in rebuild manifest
33:  c66790307 = 33:  c66790307 chore(arcade): link host-duration-bound to upstream #3964 / #3965
34:  b79e57ddc = 34:  b79e57ddc chore(arcade): drop extract-hold-past-eof from rebuild (upstream #3962)
35:  c69c737eb = 35:  c69c737eb chore(arcade): drop host-duration-bound from rebuild (upstream #3975)
36:  87d8c2aa4 = 36:  87d8c2aa4 chore(arcade): add patch/vp9-alpha-probe to the patch list
37:  7d22454cd = 37:  7d22454cd chore(arcade): carry patch/cloud-run-chrome-152
38:  3d969290e = 38:  3d969290e chore(arcade): drop playback-start-nested from rebuild (upstream #5413, #5454)
39:  81a6e730d = 39:  81a6e730d chore(arcade): drop patch/cloud-run-chrome-152, upstream #5338 shipped in 0.8.194
40:  96750a0a5 = 40:  96750a0a5 chore(arcade): add patch/distributed-page-motion-blur to the patch list
 -:  --------- > 41:  b2f52fff3 chore(arcade): add patch/preview-motion-blur-filter-copies to the patch list

Keep an explicit patch list and disposable arcade integration rebuild so
upstream bumps stay mechanical; Release tarballs avoid npm/GH Packages.
gh repo view followed upstream; verify:packed-manifests needs pnpm via corepack.
Port of a private-fork fix — probeStage must not extend scene media
windows to full source duration.
Document keepLocal / issue / pr / upstreamPr per patch; rebuild still only uses branch.
host-window-bare-video's probe reconcile never-extends and also preserves
source-derived host bounds, so the clamp-only cherry-pick conflicts and
is redundant on arcade until upstream heygen-com#3332 merges.
Keep-local: old published comps with GSAP className-on-SVG.
Keep-local. Lands on arcade at next rebuild.
Arcade wizard HTML omits data-start on in-scene video. Upstream ≥0.7.9
holdLastFrame already holds that shape in preview and render.
npm pack leaves workspace:* and skips publishConfig.exports, so Arcade
was pinning the workspace manifests the verify gate never ships.
git checkout -B arcade upstream/main inherits that remote as upstream.
Lint/player come from npm; IIFE and the Cloud Run image come from arcade.
Keep-local mapper for JS-src nested videos. Do not upstream.
Default arcade to local main (v0.8.21). Override with --base upstream/main.
valeriangalliat and others added 18 commits November 10, 2026 09:47
Pending contrib: settle GSAP timelines before the first render seek.
Upstream issue + PR to follow; no keepLocal.
Upstream addressed the repeated-fromTo state leak with a lint
(gsap_repeated_fromto_without_baseline, 0.8.32) and closed the render-side
proposals, so this settle pass will not be upstreamed. It stays only until
compositions authored before that lint have aged out.
Drops patch/probe-var-src-media (heygen-com#6501 probes data-var-src media bound by
a mount's values or a root default) and patch/distributed-page-motion-blur
(heygen-com#7311 lets distributed renders honour page motion blur). Records the
upstream issue for patch/probe-untraced-media-src.
@valeriangalliat

Copy link
Copy Markdown
Collaborator Author

🤖 AI agent: sync/2026-11-10: rebased onto upstream cda84222a (just past v0.9.30). New commit: the patch list drops patch/probe-var-src-media and patch/distributed-page-motion-blur, which upstream now covers (#6501, #7311), and records the upstream issue for patch/probe-untraced-media-src.

 1:  43c9d30c2 =  1:  3dcf2f0cd chore(arcade): add rebuild and GitHub Release pack scripts
 2:  4bbef995d =  2:  71c6eef1c fix(arcade): pin Release publish to origin repo and enable pnpm
 3:  69f414189 =  3:  58e4f7c04 chore(arcade): include clamp-embedded-media in rebuild manifest
 4:  acb88d151 =  4:  830313557 chore(arcade): track upstream issue/PR links in patches.json
 5:  f3db36b4c =  5:  b81a93bf1 chore(arcade): link clamp-embedded-media to upstream #3331 / #3332
 6:  06a5f47ec =  6:  3c2227064 chore(arcade): include host-window-bare-video in rebuild manifest
 7:  cdc7eeaa4 =  7:  ddb2086e6 chore(arcade): drop clamp-embedded-media from rebuild (superseded)
 8:  5e8580055 =  8:  004a3307d chore(arcade): link host-window-bare-video to upstream #3335
 9:  4493d2bf1 =  9:  e4c2fc99a chore(arcade): include probe-seek-swallow in rebuild manifest
10:  ca8a0ab0a = 10:  5441d96df chore(arcade): include jump-seek-css-settle in rebuild manifest
11:  ee9c6f156 = 11:  780a7c9a6 chore(arcade): drop host-window-bare-video from rebuild (already on tip)
12:  21546b7e4 = 12:  afd717c76 chore(arcade): link visibility-scrub to upstream #3360
13:  05e56431a = 13:  88c2be77e chore(arcade): link data-start-idref to upstream #3361
14:  3ab118539 = 14:  268f11e53 chore(arcade): drop visibility-scrub from rebuild (merged upstream #3233)
15:  e292031f1 = 15:  3a3e2294e chore(arcade): drop data-start-idref from rebuild (merged upstream #3252)
16:  f9339134b = 16:  b1927ff4f chore(arcade): drop video-source from rebuild (merged upstream #3238)
17:  f32b960df = 17:  d03ca8079 chore(arcade): include runtime-src-duplicate-ids in rebuild manifest
18:  39641cb9c = 18:  48637373c chore(arcade): drop runtime-src-duplicate-ids from rebuild (merged upstream #3513)
19:  8c3a45f9f = 19:  ddb41527f chore(arcade): drop player-xss from rebuild (preexisting upstream #3472)
20:  5ae79d468 = 20:  ba44eb1a0 fix(arcade): pack GitHub Release tarballs with pnpm, not npm
21:  52da1d8f1 = 21:  d45fa9841 fix(arcade): keep arcade tracking origin/arcade after rebuild
22:  bb6b14afd = 22:  a4feab2e9 chore(arcade): drop GitHub Release tarball publish
23:  9639121a0 = 23:  abddcb3f5 chore(arcade): include discover-host-window in rebuild manifest
24:  63a03a95f = 24:  e77b2a8e4 chore(arcade): include discover-video-opacity in rebuild manifest
25:  be2ef226f = 25:  ba9a2e354 feat(arcade): let rebuild pin the integration base
26:  93155d2aa = 26:  5f40c3a40 chore(arcade): include render-settle-pass in rebuild manifest
27:  588b8023a = 27:  26fea1dab docs(arcade): record sync tag layout after each rebuild
28:  83f04fd5e = 28:  bb059ad33 docs(arcade): split shared hunks; do not resolve on arcade
29:  1631bda56 = 29:  0b5611485 chore(arcade): register patch/extract-hold-past-eof
30:  aad3d116b = 30:  0bdf7edff chore(arcade): keep patch/render-settle-pass local
31:  19d37895a = 31:  f2af9d585 chore(arcade): link patch/extract-hold-past-eof to upstream #3958 / #3959
32:  f1bdfd1af = 32:  4fcf2ce45 chore(arcade): include host-duration-bound in rebuild manifest
33:  c66790307 = 33:  ff51db6c7 chore(arcade): link host-duration-bound to upstream #3964 / #3965
34:  b79e57ddc = 34:  5ab473d97 chore(arcade): drop extract-hold-past-eof from rebuild (upstream #3962)
35:  c69c737eb = 35:  10d238d4f chore(arcade): drop host-duration-bound from rebuild (upstream #3975)
36:  87d8c2aa4 = 36:  65f99eff8 chore(arcade): add patch/vp9-alpha-probe to the patch list
37:  7d22454cd = 37:  5bc12217b chore(arcade): carry patch/cloud-run-chrome-152
38:  3d969290e = 38:  24387d65e chore(arcade): drop playback-start-nested from rebuild (upstream #5413, #5454)
39:  81a6e730d = 39:  6db34d9aa chore(arcade): drop patch/cloud-run-chrome-152, upstream #5338 shipped in 0.8.194
40:  96750a0a5 = 40:  a452dd4ad chore(arcade): add patch/distributed-page-motion-blur to the patch list
41:  b2f52fff3 = 41:  7c693e950 chore(arcade): add patch/preview-motion-blur-filter-copies to the patch list
42:  3a80f2c0c = 42:  2917b4657 chore(arcade): add patch/probe-untraced-media-src and patch/probe-var-src-media to the patch list
 -:  --------- > 43:  f2fa02cb2 chore(arcade): drop two patches upstream now covers from the patch list

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants