Добавить обучение и полный экран результата
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Stage 3 onboarding and result QA
|
||||
|
||||
Дата: 18 августа 2026 года. Базовая сборка: `0.5.0-stage3-controls-debug`
|
||||
(`minSdk=23`). Этот документ описывает независимый slice обучения и результата;
|
||||
версия финального Stage 3 APK будет назначена после интеграции всех веток.
|
||||
|
||||
## Реализовано
|
||||
|
||||
- при первом входе в уровень показывается компактная карточка из трёх подсказок:
|
||||
движение, одновременные движение и прыжок двумя пальцами, использование тел;
|
||||
- карточка не останавливает физику и не отключает экранное управление;
|
||||
- доступны `Skip`, пошаговый `Next` и финальный `Done`;
|
||||
- закрытие сохраняется в отдельном versioned storage
|
||||
`project_sacrifice_onboarding_v1` и не изменяет progress/control settings;
|
||||
- результат разделяет показатели текущего прохождения и сохранённые лучшие время
|
||||
и число добровольцев;
|
||||
- результат показывает оба target и выбирает понятную следующую цель: улучшить
|
||||
число добровольцев, время, перейти на следующий уровень либо улучшить personal best;
|
||||
- `Level select`, `Replay` и `Next level` используют общий navigation contract и
|
||||
не очищают прогресс или настройки управления.
|
||||
|
||||
## TDD evidence
|
||||
|
||||
- `OnboardingFlowTest`: RED — `cannot find symbol: class OnboardingFlow`; GREEN — 2/2;
|
||||
- `CompletionResultTest`: RED — `cannot find symbol: class CompletionResult`; GREEN — 2/2;
|
||||
- `OnboardingStoreTest`: RED — `cannot find symbol: class OnboardingStore`; после
|
||||
реализации AndroidTest compile GREEN;
|
||||
- `OnboardingAndResultFlowTest`: RED — отсутствовали публичные GameView contracts
|
||||
обучения/result navigation; после интеграции AndroidTest compile GREEN.
|
||||
|
||||
## Выполненные проверки
|
||||
|
||||
```text
|
||||
./gradlew testDebugUnitTest lintDebug assembleDebug compileDebugAndroidTestJavaWithJavac
|
||||
BUILD SUCCESSFUL
|
||||
```
|
||||
|
||||
- JVM: 24/24, failures=0, errors=0;
|
||||
- `lintDebug`: GREEN;
|
||||
- `assembleDebug`: GREEN;
|
||||
- все Android instrumentation sources: compile GREEN;
|
||||
- `git diff --check`: GREEN.
|
||||
|
||||
По ограничению stream-задачи emulator/connected tests в этой ветке не запускались.
|
||||
После интеграции необходимо выполнить `OnboardingStoreTest` и
|
||||
`OnboardingAndResultFlowTest` на Android 16 вместе с полным Stage 2 regression gate.
|
||||
|
||||
## Приёмка на устройстве после интеграции
|
||||
|
||||
1. Очистить данные приложения, открыть уровень 1 и убедиться, что карточка не
|
||||
мешает одновременно удерживать направление и нажимать Jump.
|
||||
2. Проверить отдельно `Skip` и полный путь `Next` → `Next` → `Done`, затем cold
|
||||
launch: обучение не должно появиться повторно.
|
||||
3. Завершить уровень хуже сохранённого результата: `This run` не должен подменять
|
||||
`Saved best`.
|
||||
4. По очереди проверить `Level select`, `Replay`, `Next level`; завершённость
|
||||
уровня, unlocked level и control preset должны сохраниться.
|
||||
Reference in New Issue
Block a user