tengri/Content/Movement/ManualTestingChecklist.md

126 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

[//]: # (Movement/ManualTestingChecklist.md)
# Movement System - Manual Testing Checklist
## Тестовая среда
- **Уровень:** TestLevel с BP_MainCharacter
- **Требования:** MovementComponent инициализирован
---
## 1. Инициализация системы
### 1.1 Базовая инициализация
- [ ] **InitializeMovementSystem()** выполняется без ошибок при запуске уровня
- [ ] **IsInitialized flag** устанавливается в true после инициализации
- [ ] **Angle conversion** - пороги корректно конвертируются из градусов в радианы
---
## 2. Константы движения
### 2.1 Default значения
- [ ] **MaxSpeed = 600.0** - значение установлено по умолчанию
- [ ] **Acceleration = 10.0** - значение установлено по умолчанию (уменьшено для плавности)
- [ ] **Friction = 8.0** - значение установлено по умолчанию
- [ ] **Gravity = 980.0** - значение установлено по умолчанию
### 2.2 Пороговые углы
- [ ] **Walkable = 50.0°** - значение по умолчанию в градусах
- [ ] **SteepSlope = 85.0°** - значение по умолчанию в градусах
- [ ] **Wall = 95.0°** - значение по умолчанию в градусах
---
## 3. Базовое движение (Этап 7)
### 3.1 Управление клавиатурой
- [ ] **W** - персонаж движется вперед (+X направление)
- [ ] **S** - персонаж движется назад (-X направление)
- [ ] **A** - персонаж движется влево (+Y направление)
- [ ] **D** - персонаж движется вправо (-Y направление)
- [ ] **Отсутствие input** - персонаж останавливается
### 3.2 Управление геймпадом
- [ ] **Left Stick Up** - движение вперед
- [ ] **Left Stick Down** - движение назад
- [ ] **Left Stick Left** - движение влево
- [ ] **Left Stick Right** - движение вправо
- [ ] **Stick в центре** - персонаж останавливается
### 3.3 Физика движения
- [ ] **Плавное ускорение** - персонаж набирает скорость постепенно при нажатии клавиш
- [ ] **Плавное торможение** - персонаж останавливается плавно при отпускании клавиш
- [ ] **MaxSpeed limit** - скорость не превышает 600.0 units/sec
- [ ] **Диагональное движение** - скорость диагонального движения равна прямому (не быстрее)
- [ ] **Стабильное поведение** - нет рывков, заиканий или неожиданных ускорений
### 3.4 Состояния движения
- [ ] **Idle state** - MovementState = Idle когда персонаж стоит
- [ ] **Walking state** - MovementState = Walking при движении
- [ ] **InputMagnitude** - корректно отражает силу input (0-1)
- [ ] **CurrentSpeed** - показывает текущую горизонтальную скорость
---
## 4. Debug HUD Integration
### 4.1 Movement Constants Page (Page 1)
- [ ] **Константы** отображаются корректно:
- Max Speed: 600
- Acceleration: 10
- Friction: 8
- Gravity: 980
- [ ] **Текущее состояние** отображается:
- Current Velocity: X, Y, Z компоненты
- Speed: горизонтальная скорость
- Is Grounded: Yes (пока всегда true)
- Surface Type: Walkable (пока всегда)
- Movement State: Idle/Walking
- Input Magnitude: 0.00-1.00
### 4.2 Реальное время обновления
- [ ] **Velocity** изменяется в реальном времени при движении
- [ ] **Speed** корректно показывает magnitude горизонтальной скорости
- [ ] **Movement State** переключается между Idle и Walking
- [ ] **Input Magnitude** отражает силу нажатия (особенно на геймпаде)
---
## 5. Автотесты Integration
### 5.1 FT_BasicMovement
- [ ] **Тест проходит** - инициализация, ускорение, торможение, состояния
- [ ] **No console errors** при выполнении автотеста
### 5.2 FT_DiagonalMovement
- [ ] **Тест проходит** - диагональное движение не быстрее прямого
- [ ] **Input normalization** работает корректно
---
## 6. Performance
### 6.1 Производительность
- [ ] **Stable 60+ FPS** при активном движении
- [ ] **No memory leaks** при длительном использовании
- [ ] **Smooth movement** без микро-заиканий
### 6.2 Отзывчивость
- [ ] **Instant response** на нажатие клавиш (нет input lag)
- [ ] **Smooth transitions** между состояниями движения
- [ ] **Consistent timing** независимо от FPS
---
## Критерии прохождения
- [ ] Все основные направления движения работают
- [ ] Физика движения плавная и отзывчивая
- [ ] MaxSpeed limit соблюдается
- [ ] Диагональное движение не дает преимущества в скорости
- [ ] Debug HUD показывает корректные данные движения
- [ ] Автотесты проходят успешно
- [ ] Performance стабильная
**Примечание:** Этап 7 фокусируется на базовом движении по плоскости. Camera-relative движение и поворот персонажа будут в этапе 8.