Skip to content

Sequences: chains of moves in the studio, with a fits-after clip picker - #64

Merged
sp00ktober merged 3 commits into
mainfrom
moveset/sequences
Oct 13, 2026
Merged

sp00ktober merged 3 commits into
mainfrom
moveset/sequences

Conversation

@sp00ktober

Copy link
Copy Markdown
Contributor

Phase 1 of the moveset editor: clips that belong together become a sequence.

  • Sequences:
    • A sequence is a chain of moves through Move.after; the manifest is unchanged.
    • mhfu_port.sequence finds the chains.
    • The Moves dock groups its table by sequence and edits a chain as a strip: add a step, change a step's clip, remove, earlier, later, split.
  • Fits after:
    • mhfu_port.continuity scores how well one clip's first pose continues another's last pose. The score is the mean joint rotation with the heading removed: good at 10° or less, fair at 20° or less.
    • The step picker ranks clips by that score, or by source number.
    • The Clips dock can sort by the score and shows which moves use each clip.
  • Play sequence: plays the chain in the viewport, each step starting where the last one ended. The Timeline shows the steps as a bar.

On the Zinogre donor:

  • Each backflip part ranks first after the part before it.
  • flinch_roll_left_part_1 continues into flinch_roll_right_part_2 (4.4°), not into left_part_2 (42°), so the two part 2 labels look swapped.
  • horn_smackdown_front_part_1 ends in a pose no clip starts from (best 38°).

Tests: 2589 passed with game data; CI's test job passes in a Linux container.

🤖 Generated with Claude Code

sp00ktober and others added 3 commits October 10, 2026 00:18
sequence: the chain of moves linked by Move.after, its heads and step names.
continuity: ranks a donor's clips by how well one's first pose continues
another's last, by mean joint rotation angle with the body heading removed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Moves groups its table by sequence and shows the picked move's chain as chips,
with Add step after (a clip picker ranked by fit), Change clip, Remove, Earlier,
Later, Split and Play sequence. The Timeline gets a bar of the steps; the
workspace plays them back to back. Clips can be ordered by fit after the clip
on screen and lists which moves use each clip.

sequences.py holds the document edits (one undo step each, a pair move is never
edited) and the picker's rows. mhfu_port.sequence gains groups, and
continuity.fits_after can include the clip itself.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Each step starts where the one before stood: facing as it faced, its root on
the ground where the root was. The carry is pose_at's own turn (yaw_at) and
root, held on the actor and dropped whenever a clip is played, so picking or
playing anything else starts clips where they normally start.

The README describes sequences, the fit picker and the Clips sort.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@sp00ktober
sp00ktober merged commit 6eddd5e into main Oct 13, 2026
5 checks passed
@sp00ktober
sp00ktober deleted the moveset/sequences branch October 13, 2026 19:26
@sp00ktober
sp00ktober restored the moveset/sequences branch October 13, 2026 19:27
@sp00ktober
sp00ktober deleted the moveset/sequences branch October 13, 2026 19:27
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