Implemented a responsive, deterministic jump system with "game feel" enhancements and advanced air physics.
Changes:
- **Jump Logic**: Added variable jump height (hold/release control).
- **Game Feel**: Implemented Coyote Time (jump after leaving ledge) and Jump Buffering (early input registration).
- **Air Physics**: Added non-linear gravity (FallingGravityScale) for snappy jumps and Terminal Velocity clamping.
- **Landing**: Added OnLanded delegate with heavy/light landing detection based on impact velocity.
- **Config**: Added auto-calculation logic in PostEditChangeProperty to derive Gravity and JumpVelocity from desired JumpHeight and TimeToApex.
- **Debug**: Added on-screen debug messages for Velocity Z and movement state.
- **Fix**: Moved delegate declaration to global scope to fix blueprint visibility issues.
Relates to: Phase 13, Phase 14
- Implement AC_InputDevice component with OnInputHardwareDeviceChanged delegate
- Add automatic debouncing (300ms cooldown) to prevent flickering
- Provide binary device classification: IsGamepad() vs IsKeyboard()
- Integrate with Toast System for debug notifications
- Add comprehensive functional tests with manual event triggering
- Create Blueprint-callable testing utilities (BFL_InputDeviceTesting)
- Update Debug HUD with Input Device info page
- Replace polling-based detection with zero-overhead event-driven approach
Components:
- AC_InputDevice: Event-driven device detection with debouncing
- InputDeviceSubsystem: Mock UE subsystem with delegate support
- BFL_InputDeviceTesting: Blueprint test utilities for device simulation
- FT_InputDeviceRealTesting: Complete functional test suite
Resolves stick drift issues through proper debouncing while maintaining
instant response to real device changes. Ready for Enhanced Input
integration in future stages.