feat(movement): Port BotMovement system Phase 1 from playerbot-dev
Port movement system refactoring commits from TrinityCore playerbot-dev:
- Phase 1.1: Core Infrastructure Setup (BotMovementDefines, ValidationResult)
- Phase 1.2: Configuration System (BotMovementConfig)
- Phase 1.3: BotMovementManager Singleton
- Phase 1.6: BotMovementController Base Implementation
- Phase 1.7: Integration Testing
Movement System Components:
- BotMovementManager: Singleton managing bot movement globally
- BotMovementController: Per-bot movement control
- BotMovementConfig: Configuration with validation levels and thresholds
- PositionValidator: Position bounds and map ID validation
- GroundValidator: Ground/terrain validation
- PathCache: Path caching for performance
- MovementMetrics: Movement statistics tracking
- ValidationResult: Validation result structures
Key Features:
- ValidationLevel enum (None, Basic, Standard, Strict)
- MovementStateType enum (Idle, Ground, Swimming, Flying, Falling, Stuck)
- RecoveryLevel progressive recovery (5 levels from path recalculation to evade)
- Stuck detection with configurable thresholds
- Path caching with configurable TTL
- NaN/Infinity coordinate detection
- Map ID validation
- Comprehensive integration tests
Ported commits:
- ad0cf3c6af Phase 1.1 - Core Infrastructure Setup
- a819487d00 Phase 1.2 - Configuration System
- 4abacbc805, f6aab87e7d, 7713626fc0 Phase 1.3 - BotMovementManager
- f96836f550 Phase 1.6 - BotMovementController Base
- 79ddf8479d Phase 1.7 - Integration Testing
Co-Authored-By: Claude Opus 4.5 <[email protected]>