Repository navigation
feat: the matrix style: bullet time on the climax kill, third person until the fight - #67
Merged
Merged
Conversation
…until the fight Bullet time ([effects].replay_style = "bullet_time"): the climax kill's replay is a camera circling the player once, a 2.3 s clip at 480 fps with a campath from the demo's positions, played at 0.25x. The cinematic approach ([render].cinematic_approach = "climax"): the climax clip in third person until 1.5 s before its first kill. Job schema 1.5: the worker writes a clip's campath and puts its path in the cfg. Co-Authored-By: Claude Opus 5.5 <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.
The user's decisions (2026-11-04), after the bullet-time spike, whose result they called "exactly what I wanted" (
filmer/m6-kamera-test/bullet-time-wall-e.mp4):matrixstyle. Separate config switches can come later if they're needed. They exist as keys, because a style can only set keys that are inconfig.example.toml.What it does
[effects].replay_style = "bullet_time"). It's a kind of instant replay, so it reuses that pipeline: the timeline, the drop sync simulation, the rewind into it, and the impact sound.Render: the job gets one more clip,
<climax>_bt. That's 2.3 s around the kill (−1.73 s to +0.61 s) at 480 fps, with a 360° camera path around the player made bylib/campath.py(feat: camera paths that circle the player, for HLAE (Stage 4 M6) #64) from the demo's positions:These are the spike's numbers. It replaces the victim's angle, so it costs about the same.
Edit:
_replay_planpicks the replay's source, window, speed and badge, and both the simulation and the build use it, so they agree. Bullet time is_btfrom 1.4 s before the kill to 0.3 s after, at 0.25× (120 real frames a second), without the REPLAY badge.Always on the climax:
pick_replay_clipskips the "big enough" check for bullet time.Fallbacks: if the demo can't give the positions, there's no
_btclip and the normal replay is used. If the_btclip is missing atfinish, the normal replay is used with a note in the report.[render].cinematic_approach = "climax"):mirv_cmd addAtTick start+8 "spec_mode 3", then"spec_mode 2"1.5 s before its first kill. It's on ticks becausespec_modestraight in the cfg is undone by CS Demo Manager's camera (the spike's finding)."campath".worker.pywrites it to<work dir>/campaths/<run>_<clip>.xmland puts that path where the cfg says{campath}. The render PC needs thisworker.pyand a restart.matrix:hype's cut with bullet time, the approach, lime glitch text, a light glow, and glitch and zoom transitions.How it was tested
tests/test_bullet_time.py(new):{campath}, and leaves other clips alone._btclip at 480 fps on the right ticks, with its path and cfg and its own sequence number_btclip and the victim's angle back_btis missingtest_highfps(schema 1.5),test_styles,test_render_modesandtest_drop_syncpass. A real matrix film follows once the render PC runs this worker.🤖 Generated with Claude Code