Files
pinball-duel/src
aevgarik c175f05748 Post-Phase-3-review: 6 fixes
- Critical #1: anti-stuck watchdog для ball. Если speed < 40 px/sec
  дольше 1.5s — random nudge (350 px/sec) в сторону одних из ворот.
  Skip активен когда booster cradle. + min-speed 2.0 (Matter units)
  после bumper-hit, чтобы curve не абсорбировал энергию.
  Telemetry: ball_unstuck event.
- High #2: touch L/R в aiming-фазе теперь вызывают booster.rotateAim()
  вместо flipper.activate() — mirror keyboard logic. Mobile aiming
  теперь работает.
- High #3: Hard difficulty label явно помечен «(partial) — AI cradle —
  позже». Согласно sprint-mode scope (см. KNOWN_ISSUES.md).
- Medium #4: MatchTracker.recordBoosterUsed('player') вызывается на
  successful attemptCradle → matchResult.boostersUsed теперь корректен.
  AchievementEvaluator unlock'ает cradle_first_use при boostersUsed > 0
  (с idempotency через already-unlocked check). +3 unit-теста.
- Medium UX #5: full-screen overlay'и в MainMenuScene (personality
  selector, difficulty selector, stub message) теперь alpha=1.0
  (раньше 0.92/0.85 — фон просвечивал, ощущение «наслоения»).
- Low #6: footer «Phase 0-2» → «Phase 0-3 dev build».

88/88 tests (было 85). typecheck/lint/build .

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 09:02:46 +03:00
..
2026-05-24 09:02:46 +03:00
2026-05-24 09:02:46 +03:00
2026-05-24 09:02:46 +03:00