Skip to content

fix(core): a script's hidden clip stays hidden after a jump or a re-entry - #6355

Merged
miguel-heygen merged 2 commits into
mainfrom
fix/clip-script-visibility-reentry
Oct 26, 2026
Merged

miguel-heygen merged 2 commits into
mainfrom
fix/clip-script-visibility-reentry

Conversation

@miguel-heygen

@miguel-heygen miguel-heygen commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #6351, which makes a tl.set(clip, { visibility: 'hidden' }, t) hide a timed clip. Two cases it left open:

  • A seek from before the clip's data-start straight past the set (a render chunk that starts mid-timeline, or a scrub) left the clip visible. Before a tween first renders, the runtime shows the clips it will draw so the tween reads their authored style; putting the clips back hid them again with the value they had before, over what the tween had just written. It now leaves a clip alone when the tween changed it.
  • A clip whose window was left and re-entered past the set came back visible: hiding it when its window ended replaced the script's hidden. The runtime now keeps the value the script left and gives it back on re-entry.

Checked in a browser on both the preview seek and the render seek: a first seek past the set, 0.5 s then 3 s then 1.5 s, and 2 s then 4.5 s then 3 s all show the expected clips. New runtime tests cover these on both paths, run against browser-style assignment semantics, and fail on #6351's head. The 102 runtime test files pass. The regression shards on this PR are the full check of the producer fixtures.

Regression shards: 10/10 green at the head, no fixture output differs from its baseline.

@miguel-heygen
miguel-heygen force-pushed the fix/clip-script-visibility-reentry branch from 186d7ff to fd611d0 Compare October 25, 2026 22:09

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: REQUEST CHANGES · 1 blocker · 0 important · 0 nits · head fd611d0a

The new put-back check stops re-hiding an ended clip when a tween wrote anything other than visible. With autoAlpha that value is inherit, so on a preview jump the clip shows outside its window. Details and a one-word fix ↓ inline.

Scope

Read the full diff on top of #6351 1a42c256 (it is stacked on the head I approved). Read styleHiddenClipsVisibleOnce and the first-render reveal in seekRootChildrenAndAdapters. Ran jsdom probes using the PR's browser-semantics shim, on this head and on 1a42c256. With the suggested change, the PR's 10 tests and my probe all pass. The regression, preview-regression and perf runs are green. No CI workflow ran on this head, which is expected since the base isn't main, so typecheck and unit tests run once the PR retargets.

Comment thread packages/core/src/runtime/timedClipHide.ts Outdated
Base automatically changed from fix/preview-set-visibility to main October 25, 2026 23:13
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Edit accuracy: accurate 271 (base branch 271), smooth 147 of those

The gate passes.
Smoothness is reported in the artifact, not gated. A case fails only if it fails 2 of 3 runs.

Quarantined, measured but not gated (0)

Unstable (2)

  • seqplainkeys-none-center-r0-root-z100: tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo false, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true
  • seqplainkeys-none-px-r0-root-z100: tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo false, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true

@miguel-heygen
miguel-heygen force-pushed the fix/clip-script-visibility-reentry branch from fd611d0 to cb7c9eb Compare October 25, 2026 23:35

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE — 1 resolved, 0 open, 0 new · fd611d0a → cb7c9ebe. The rebase on main is clean (range-diff shows the first commit unchanged). All Actions runs are green on this head, including CI. src/runtime: 102 files / 2,484 tests pass locally.

@miguel-heygen
miguel-heygen added this pull request to the merge queue Oct 26, 2026
Merged via the queue into main with commit 3ad80aa Oct 26, 2026
82 checks passed
@miguel-heygen
miguel-heygen deleted the fix/clip-script-visibility-reentry branch October 26, 2026 01:44
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.

1 participant