# sporel-module-vagrant-skeleton F.vagrant Tier-1 test-chamber: single player as puppet, WASD direct movement, camera-chase, headtrack to mouse-cursor. Phase 1 stage. **Version:** 0.1.0 **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.1, lib-core.puppet >=0.1.0 **Tags:** test-chamber, puppet, walking-sim ## Topology ## Controls - **W A S D** — direct movement (4-way, normalized for diagonals) - **Mouse** — head/torso look-at target - **ESC** — return to launcher ## Demonstrates - lib-core.puppet integration (skeleton, keyframe animation, procedural-ready, look-at constraint) - idle <-> walk animation-state transition driven by movement input - Camera-chase via lib-core.camera target-provider - Throwaway-content test-chamber stance: existing maps v0.1 format, hand-painted humanoid rig + 2 keyframe animations. ## Interactions - WASD active -> walk animation on lower track - WASD released -> idle animation on upper track (subtle torso sway) - Mouse moved -> head-bone angle updates each frame to face cursor's world-position (look-at constraint on bones marked `look_at: true`) ## CI Hooks - `SPOREL_CI=1` -> 60-frame perf canary. Emits `vagrant: frame_avg_ms=N` and `vagrant: render_frame_ok` (per-frame, from render hook), then exits. Used by smoke stages P0-S25a + P0-S25b. ## References - ADR-0028 (Launcher-Flow) - ADR-0036 (Lib-Override for multi-module reuse) - ADR-0037 (Tests-as-Libs) - ADR-0038 (API-Doc-Convention)