Add playable core UI: board painter, drag-and-drop, HUD, result overlay

CustomPainter board with gems/ghost/clear-flash, finger-lifted drag
with snap preview, combo text effect, HUD chips, phase overlays with
rescue stubs, demo stage. E2E widget test drives a real drag gesture.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 13:19:34 +09:00
parent 62cbb4b16a
commit 3138fc4b08
17 changed files with 1249 additions and 7 deletions
+2
View File
@@ -111,6 +111,8 @@ void main() {
final monoIndex = engine.tray.indexWhere((p) => p.id == 'mono');
final result = engine.tryPlace(monoIndex, 0, 3)!;
expect(result.linesCleared, 1);
expect(result.clearedRows, [3]);
expect(result.clearedCols, isEmpty);
// 1 cell + round(100 * 1.5) = 151
expect(engine.score, 151);
expect(engine.grid.occupiedCount, 0);