chore(core): label every montage tween — fully addressable / lint-clean#70
Merged
Merged
Conversation
The structural-editing rewrite moved each shot's `shot-${i}` address onto
the beat name and left the interior fade-in and Ken Burns tweens unlabeled.
`reframe lint` checks each tween's own label (not the enclosing beat), so a
montage reported ~12 unaddressable-motion findings — lint noise that blocks
`lint --strict` as a CI gate.
Label every generated tween: fade-in `shot-${i}-in`, Ken Burns `shot-${i}-kb`,
crossfade `cross-${i+1}` (unchanged), and the last shot's closing fade
`shot-${last}-out`. The motion is now fully addressable (an overlay can retime
just the fade/Ken Burns) and lint-clean. Adds a lintScene regression test
asserting zero unlabeled-motion on a montage. Folded into the unpublished
0.6.40; CHANGELOG date corrected to the publish day.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Follow-up hygiene to the structural-editing rewrite (#69). That rewrite moved each shot's
shot-${i}address onto the beat name and dropped the label off the interior fade-in and Ken Burns tweens.reframe lintchecks each tween's own label and does not credit the enclosing beat (manifest.tswalkMotion), so a montage reported ~12 "unlabeled-motion" findings — lint noise that blockslint --strictas a CI gate and was a regression from the pre-rewrite montage (where the Ken Burns carriedshot-${i}).How
Label every generated montage tween, alongside the
shot-${i}beat name:shot-${i}-inshot-${i}-kbcross-${i+1}(unchanged; tests + clip-ripple depend on it)shot-${last}-outAll distinct → no duplicate-label collision. The motion is now fully addressable (an overlay can retime just the fade / Ken Burns) and lint-clean. Adds a
lintSceneregression test asserting zero unlabeled-motion on a montage.Folded into the unpublished 0.6.40 (no version bump); CHANGELOG date corrected to the publish day (06-21).
Verification
reframe lint examples/scenes/photo-montage.ts | grep 'on "shot-'→ 0 (title-glyphbrand-*findings are pre-existingsplitTextbehavior, out of scope)verify-overlaystill 4 applied / 0 orphaned (labels are additive; reorder/remove unaffected)reframe labelsshows newshot-0-in/shot-0-kb/shot-5-outrows;shot-${i}/cross-${i}unchanged🤖 Generated with Claude Code