docs(vagrant): README sync to v0.4.4 — sprint + interaction

This commit is contained in:
Axel Meyer
2026-05-19 00:29:50 +02:00
parent c4f2c9cda9
commit 733db11821

View File

@@ -7,10 +7,10 @@ puppet control model: leg orientation decoupled from body via procedural
callback, foot-body-orientation ("tactical twist"), scale-deformation walk callback, foot-body-orientation ("tactical twist"), scale-deformation walk
cycle, and inheritance-decoupled foot sprites. cycle, and inheritance-decoupled foot sprites.
**Version:** 0.4.3 **Version:** 0.4.4
**Module-ID:** vagrant-skeleton **Module-ID:** vagrant-skeleton
**Requires:** lib-core.input >=0.4.0, lib-core.camera >=0.3.0, lib-core.render >=0.1.0, lib-core.maps >=0.1.2, lib-core.puppet >=0.4.3, lib-asset.prototype-subterrain >=0.1.0 **Requires:** lib-core.input >=0.4.0, lib-core.camera >=0.3.0, lib-core.render >=0.1.0, lib-core.maps >=0.1.2, lib-core.puppet >=0.4.4, lib-core.interaction >=0.1.0, lib-asset.prototype-subterrain >=0.1.0
**Tags:** test-chamber, puppet, walking-sim **Tags:** test-chamber, puppet, walking-sim, interaction
## Topology ## Topology
@@ -20,7 +20,9 @@ cycle, and inheritance-decoupled foot sprites.
## Controls ## Controls
- **W A S D** — direct movement (4-way, normalized for diagonals) - **W A S D** — direct movement (4-way, normalized for diagonals)
- **Shift + WASD** — sprint (2x player speed + 2x walk-anim cadence)
- **Mouse** — body + head look-at targets (same position, different smoothing) - **Mouse** — body + head look-at targets (same position, different smoothing)
- **E** — interact with nearest proximity-trigger in range
- **ESC** — return to launcher - **ESC** — return to launcher
## Demonstrates ## Demonstrates
@@ -34,16 +36,23 @@ cycle, and inheritance-decoupled foot sprites.
- Per-channel conflict guard: walk animation (scl) + procedural (rot) on same leg bones - Per-channel conflict guard: walk animation (scl) + procedural (rot) on same leg bones
- Camera in `camera.begin()/finish()` block for correct world-space rendering - Camera in `camera.begin()/finish()` block for correct world-space rendering
- WASD movement → walk_fwd_lower + walk_upper animation pair (speed = 0.45x) - WASD movement → walk_fwd_lower + walk_upper animation pair (speed = 0.45x)
- Shift+WASD sprint → `puppet.set_play_speed` doubles cadence to 0.9x mid-cycle
(no animation restart on toggle); player movement speed doubled (120 → 240)
- Idle state → idle + idle_lower animations - Idle state → idle + idle_lower animations
- Camera-chase via lib-core.camera target-provider - Camera-chase via lib-core.camera target-provider
- Sprite-tilemap via lib-core.maps - Sprite-tilemap via lib-core.maps
- lib-core.interaction proximity trigger on the backpack sprite at (350, 400),
range 40px, "interact" action bound to E — fires log on dispatch
## Interactions ## Interactions
- WASD active → legs swing in walk direction; body slowly rotates to mouse; head snaps to mouse - WASD active → legs swing in walk direction; body slowly rotates to mouse; head snaps to mouse
- Shift held while moving → 2x player speed; walk cadence doubles (smooth mid-cycle transition)
- WASD released → idle_lower collapses legs (scl=0); upper body returns to idle sway - WASD released → idle_lower collapses legs (scl=0); upper body returns to idle sway
- Mouse moved → body lazy-rotates via slerp (look_at_slerp: 6); head snaps within ±60° of body - Mouse moved → body lazy-rotates via slerp (look_at_slerp: 6); head snaps within ±60° of body
- Walking east while body faces north → legs perpendicular to body, hips body-relative, feet face north - Walking east while body faces north → legs perpendicular to body, hips body-relative, feet face north
- E pressed within 40px of the backpack sprite → fires `"interact"` action;
callback logs `vagrant: interact with backpack (distance=X.X)`
## CI Hooks ## CI Hooks
@@ -66,6 +75,15 @@ cycle, and inheritance-decoupled foot sprites.
## CHANGELOG ## CHANGELOG
### v0.4.4
- **Sprint** (Shift+WASD): doubles `WALK_SPEED` (120 → 240) and walk-anim
`speed` (0.45 → 0.9). Mid-walk sprint toggle uses `puppet.set_play_speed`
(new v0.4.4 API) — no animation cycle restart.
- **Backpack interaction**: `lib-core.interaction.register(350, 400, 40,
"interact", callback)` registered at init. Pressing E within range
prints log message via `engine.print` with actor distance.
- New deps: lib-core.interaction ^0.1.0. lib-core.puppet bumped to >=0.4.4.
### v0.4.3 ### v0.4.3
- `inherit_scale: false` on foot_l, foot_r: feet no longer Y-flip when leg.scl_y - `inherit_scale: false` on foot_l, foot_r: feet no longer Y-flip when leg.scl_y
inverts during walk cycle. foot.rest.scl reset to [1,1]. inverts during walk cycle. foot.rest.scl reset to [1,1].