Skip to content

feat: a teaser next to the film (finish --teaser) - #65

Merged
duffarn-dev merged 1 commit into
developfrom
feat/teaser
Nov 4, 2026
Merged

duffarn-dev merged 1 commit into
developfrom
feat/teaser

Conversation

@duffarn-dev

Copy link
Copy Markdown
Owner

The user's second idea, built to their brief (2026-11-04): a ~30 s teaser, landscape, with the drop about in the middle, quick cuts, and the slow-mo and rewind from the new cold open (#63).

python main.py finish runs/<id> --teaser makes teaser.mp4 next to the film from the same raw clips. Nothing extra renders.

  • Before the drop: the weaker kills, each cut shorter than the last, at 1.25×, so they speed up into the drop.
  • On the drop: the climax kill as the cold open's last kill (in, slow-mo, rewound, normal speed). Its normal-speed kill lands on the music's drop, with the boom. _velocity_last now returns when that kill happens in its output.
  • After the drop: the stronger kills in quicker cuts at 1.5×, then a 1.5 s end card with the outro image. The logo goes on as in the film.
  • Music: the stretch of the track that puts the drop on the hero kill, with the game sound under it at 0.3 and a fade-out.
  • Every moment once: kills in one clip less than 3 s apart are one cut (a double or triple kill, a bit higher in the ranking). The kills just before the climax kill are already in its rewind. The first test teaser showed the same alley twice, which is why this is here.
  • The length depends on the match. 30 s of quick cuts needs about a dozen kill moments. With fewer, the teaser is shorter and the drop stays about in the middle. The report says how long it is and where the drop is.

How it was tested

tests/test_teaser.py (new):

  • The cut lengths: they fill the time, each is shorter than the last, and they stay within 0.45–2.5 s.
  • The kills it uses:
    • the hero is the climax clip's last kill
    • the kill before it goes in its rewind
    • close kills are one cut
    • rising order
  • A rendered teaser, with a track that jumps 20 dB at its drop:
    • its length
    • the drop in the middle (7.04 s of 14.44 s)
    • 4 cuts plus the hero
    • the music jumping from −29 to −9 dB exactly where the hero kill is

test_velocity_intro.py passes.

Real clips: filmer/fragsmith-teaser.mp4 from the Stage 4 clips with "Weightless": 14.8 s, with the drop at 7.39 s. The music goes from −20 to −10 dB at 7.40 s. This match has 5 distinct kill moments, hence 15 s and not 30.

🤖 Generated with Claude Code

~30 s landscape from the same raw clips: the weaker kills in cuts that
speed up into the music's drop, the climax kill in slow-mo and rewound
with its normal-speed kill on the drop, the stronger kills in quicker cuts
after it, and a short end card. Fewer kills make a shorter teaser, with the
drop still about in the middle.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@duffarn-dev duffarn-dev added this to the v0.4.0 milestone Nov 4, 2026
@github-actions github-actions Bot added the feature A new feature or effect label Nov 4, 2026
@duffarn-dev
duffarn-dev merged commit 27ee8fd into develop Nov 4, 2026
5 checks passed
@duffarn-dev
duffarn-dev deleted the feat/teaser branch November 4, 2026 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature A new feature or effect

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant