feat: world-grid level materials + real movement test suite

- Generated CC0-style prototype grid textures (0.5 m cells) and a shared
  LevelMaterials factory: world-space triplanar mapping over every code-built
  level (test level, dust2, procedural arena) with the existing color coding
  kept as tints. Readable surfaces at speed instead of flat color boxes;
  materials are cached per tint so identical surfaces batch.
- .gdignore + .gitignore the raw downloaded asset packs in addons/ whose
  overlong paths broke Godot import scans and spammed git warnings.
- Replaced the rotted FSM test file (invalid call(t) on Callables, stateless
  stub nodes, hung forever without quitting) with a real suite: 10 tests
  covering state registration, jump bookkeeping, wall-run momentum
  preservation and upward-carry cap, per-player dash cooldown (regression for
  the old shared static), dash speed stacking, chain soft cap, landing
  events, and slide entry momentum. New headless entrypoint:
  godot --headless --path . -s res://movement/tests/run_fsm_tests.gd

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
Nicholas Butzke
2026-07-17 12:14:30 -04:00
co-authored by Claude Fable 5
parent 7da7f9f3f2
commit 198345177a
11 changed files with 222 additions and 140 deletions
+16
View File
@@ -0,0 +1,16 @@
extends CharacterBody3D
class_name FakeMovementPlayer
## Minimal stand-in for PlayerMovementController in movement unit tests.
## Carries just the properties movement states touch, all inert.
var jump_player = null
var double_jump_player = null
var footstep_player = null
var dash_player = null
var slide_player = null
var wallrun_player = null
var vault_player = null
var wind_player = null
var camera = null
var head_pivot = null