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
+26
View File
@@ -0,0 +1,26 @@
import 'package:flutter/material.dart';
/// Season-themeable color set. Season 1 default: vivid candy tones on a
/// deep navy board.
class GamePalette {
static const boardBackground = Color(0xFF151A2E);
static const emptyCell = Color(0xFF222A45);
static const boardBorder = Color(0xFF2E3858);
static const tileColors = <Color>[
Color(0xFF5B7FFF), // blue
Color(0xFFFF6B6B), // red
Color(0xFFFFC94D), // yellow
Color(0xFF4DD599), // green
Color(0xFFB980FF), // purple
Color(0xFFFF8FAB), // pink
Color(0xFF4DC9E6), // cyan
Color(0xFFFF9A5B), // orange
];
static Color tile(int colorId) => tileColors[colorId % tileColors.length];
static const gem = Color(0xFF7CF5FF);
static const ghostLegal = Color(0x66FFFFFF);
static const ghostIllegal = Color(0x55FF5252);
}