Skip to content

feat(port): derived moves carry the donor's airtime, travel, lunge and jump height - #131

Open
sp00ktober wants to merge 5 commits into
framework/travelfrom
port/airborne
Open

sp00ktober wants to merge 5 commits into
framework/travelfrom
port/airborne

Conversation

@sp00ktober

Copy link
Copy Markdown
Contributor

Derived own moves carry the donor's airtime, travel, lunge, fixed turns and the height of its jumps; the Zinogre's ten combo variants play their own finishers. Stacked on the framework PR; needs #129 for its tests' memory.

  • The move walk reads and writes float cells, decides float branches and answers 0x09C9DF3C (the clip cursor); a small kinematic model answers the landing tests (p3motion: Hermite curves as the donor samples them, lift, velocity and acceleration).
  • own.py writes travel, lunge and windowed fixed turns per step; a step with height plays a one-shot copy of its clip with the arc on joint 0 (p3_225_air, p3_209_air), since the engine puts a big monster's Y back on the floor every frame.
  • Zinogre: air roll 22 AI frames (was 1), stamp hop 18, its wind-up 16 / 39; somersault travel (120, 852), peak 644; stamp jump z 1401, peak 300; 229/230 z 1046 / 1434; look-around walks slide (-257, -525) / (192, -525) with their half turn. Lunge (0, 32], near 400, span 1800, -700..1100.
  • Ten twins (7,70/71, 79-82, 116-119) derive their own chains to their finishers; six turn wrappers lead to them. Own moves 125 of 128.
  • Brute: plans unchanged; p3_2_19 and p3_7_14 gain travel.
  • Open: the donor's rest height (298 from its landing snap; 0 would make the hop 10 frames).

Tests as the framework PR.

🤖 Generated with Claude Code

sp00ktober and others added 5 commits October 23, 2026 12:36
…nches and answers floats

Walker.run takes cells, the entity's float cells by offset: a load reads one, a store writes it,
decide may change them between calls, and a branch on a float compare of two known values decides
itself. decide may answer a call with a float ($f0), and hears of a tail call when cells are given.
The walk is not memoised.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
mhfu_port.p3motion keeps the cells a handler moves its monster by (position, velocity,
acceleration, the floor) and the effect of each helper on them, with the donor's Hermite curves.
Walk hands them to the walker, so the tests of the clip cursor and of the height come out as in the
donor: the air roll lasts 22 AI frames, the stamp's hop 18, its wind-up 16 or 39. Each Step carries
its travel (cumulative x, z every 2 clip frames), its height over rest, its lunge and its fixed
turns. The AI frames that move the monster cannot be skipped over: at most 400 a run.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…d the height of its jumps

A derived move takes its step's travel, its lunge (the window cut to the frames the move plays,
its total by the share left) and a fixed turn across its window. A step with height plays a
one-shot copy of its clip cut to the frames it plays, Clip.lift, pinned in a free executor entry
(layout.spare) beside its source; travel.raised bakes the lift onto joint 0 frame by frame. The
CLI builds the manifest as own.expanded leaves it, so the copies are clips of the build.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
(7, 70), (7, 71), (7, 79), (7, 80), (7, 81), (7, 82), (7, 116), (7, 117), (7, 118) and
(7, 119) are "own": the donor hands each over to another pair than its twin's, so each now
plays its chain to its finisher (7, 118: clips 203 200 257 253 224 225 226). The turn
wrappers (7, 72), (7, 73), (7, 83), (7, 84), (7, 120) and (7, 121) lead to pairs
(219, 220, 222, 223, 229, 230) that derive the same chains, so they play these moves.
125 own moves of 128 slots; the registry holds 2432 turn keys, 1052 travel samples and
10 lunges of them.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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