chore(01-01): create directory structure and infrastructure files

- Create lib/screens/, lib/widgets/, lib/providers/, lib/models/, lib/config/ directories
- Add Logger utility with error/warn/info/debug levels (kDebugMode guarded)
- Add GpsConfig constants (timeouts, heading validation)
- Add TimingConfig constants (heartbeat, overlay intervals)
- Add OverlayConfig constants (sizing, opacity ratios)
This commit is contained in:
Mikkeli Matlock
2026-02-09 21:22:19 +09:00
parent 7e9ed22e40
commit 2b2fc8fbd3
4 changed files with 127 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
// Overlay sizing and display constants — SCREAMING_SNAKE per project convention
/// Overlay window configuration for proportional sizing and appearance
abstract class OverlayConfig {
/// Overlay width as percentage of screen width
static const double WIDTH_PERCENTAGE = 0.45;
/// Overlay height aspect ratio relative to width
static const double ASPECT_RATIO = 0.6;
/// Background color opacity
static const double BACKGROUND_OPACITY = 0.85;
/// Border color opacity
static const double BORDER_OPACITY = 0.3;
/// Speed text font size as ratio of overlay width
static const double FONT_SIZE_RATIO = 0.2;
/// Unit text font size as ratio of speed font size
static const double UNIT_FONT_RATIO = 0.6;
/// Navigation icon size as ratio of overlay width
static const double ICON_SIZE_RATIO = 0.72;
/// Heading text font size as ratio of speed font size
static const double HEADING_FONT_RATIO = 0.4;
/// Default screen width for calculations when actual width unavailable
static const double DEFAULT_SCREEN_WIDTH = 400.0;
/// Default overlay width for calculations
static const double DEFAULT_OVERLAY_WIDTH = 280.0;
/// Default overlay height for calculations
static const double DEFAULT_OVERLAY_HEIGHT = 140.0;
}