Commit Graph

6 Commits

Author SHA1 Message Date
denshooter
fec4e4635c feat: complete dashboard redesign, proxy unification, and Windows compatibility fixes 2026-04-02 12:13:37 +02:00
denshooter
e236e1f673 Phase 4: Glassmorphic design refresh across all components
- Enhanced all major components with glassmorphic styling:
  * EngineData gauges: frosted glass panels with animations
  * InstrumentPanel: glassmorphic waypoint boxes and data tables
  * NowPlaying: glassmorphic album art container and controls
  * All panels: smooth fade-in animations on mount

- Updated visual elements:
  * Consistent use of backdrop-filter blur effect
  * Semi-transparent borders with 0.1-0.2 opacity
  * Smooth animations (slideInUp, slideInDown, fadeIn)
  * Better font weights and hierarchy
  * Improved contrast and readability

- Color scheme refinements:
  * Highlight backgrounds use RGBA with proper opacity
  * Better use of accent colors for emphasis
  * Consistent border styling with transparency
  * Support for light/dark mode throughout

- Animation improvements:
  * All cards and panels animate on mount
  * Tab transitions are smooth and snappy
  * Hover effects with scale and shadow changes
  * Cubic-bezier timing functions for natural feel

- Build optimization:
  * Still 70 modules, same bundle size
  * CSS is well-organized and maintainable
  * No breaking changes to component APIs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 15:03:35 +01:00
denshooter
0b70891bca Phase 2: MapLibre GL with OpenSeaMap navigation
- Integrated MapLibre GL for professional maritime mapping
- Combined OSM base maps with OpenSeaMap layer for nautical overlays
  * Seamarks, buoys, channels, and depth information
  * Fully styled with MapLibre-compatible tiles

- Created NavigationMap component with:
  * Real-time ship position marker with heading indicator
  * Automatic centering and smooth flyTo animations
  * Waypoint display with current waypoint highlighting
  * Ship track visualization (last 500 points, dashed line)
  * Route polyline showing waypoints

- Professional map controls:
  * Zoom in/out buttons with smooth animations
  * Center-on-ship button for quick navigation
  * Info panel showing current position, heading, speed, distance
  * Glassmorphic info panel with dark/light mode support

- Enhanced SignalK mock:
  * Added trackPoints array to record ship movement
  * Automatically maintains last 500 points for performance
  * Integrated with map for visual track history

- Updated Navigation page to use new map
- Build: 68 modules, 1.24 MB (343 KB gzipped)
- Hot module reloading working smoothly

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 15:00:17 +01:00
denshooter
99a1aa6460 Fix navigation chart rendering and add Spotify/AirPlay zone indicators with grouping
- Fixed ChartPlaceholder canvas rendering by replacing CSS variables with hardcoded colors
  * Canvas context cannot use CSS variables; must use RGB/hex colors directly
  * Now renders ship track, waypoints, heading indicator, and legends correctly

- Enhanced ZoneCard with connection indicators
  * Added visual source badges (Spotify 🎵, AirPlay 🎙️, Mopidy 📻)
  * Color-coded left border matching source (green for Spotify, blue for AirPlay, amber for Mopidy)
  * Added source dropdown selector for switching audio sources
  * Shows grouped zone info when zones are merged

- Implemented zone grouping system in ZoneGrid
  * Left sidebar panel to view and manage active zone groups
  * Click 🔗 button to create/remove zone groups
  * When zones are grouped, changing source updates all members
  * Each zone can show which other zones it's grouped with

- All 64 modules build successfully
- Mock data properly flows through Snapcast with Spotify/AirPlay/Mopidy sources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 14:45:22 +01:00
denshooter
19b2c30a0a Implement realistic ship routing with waypoint navigation
Major feature: Ship now follows a real nautical track around Bornholm Island

Waypoint System:
- 6-waypoint loop: Kiel → Bornholm North → Rønne → Bornholm East →
  Bornholm South → Gdansk → back to Kiel
- Great circle bearing calculation (haversine formula)
- Automatic waypoint progression when within 0.1 nm
- Route loops continuously

Navigation Algorithm:
- Calculates bearing to next waypoint using geodetic formulas
- Distance tracking in nautical miles
- Speed adjustment based on waypoint proximity:
  * 6 knots cruising (far)
  * 5-5.5 knots approaching
  * Gradual slowdown in final 0.5 nm
- Heading includes wind/current drift (±2-5°)
- Realistic position updates every 1 second
- Rudder angle reflects heading correction needed

UI Enhancements - Navigation Page:
- Canvas-based chart showing:
  * Ship position (triangle) with heading
  * Ship track (cyan line, 500-point history)
  * Waypoints (numbered circles)
  * Current waypoint highlighted
- Waypoint Info Box:
  * Current waypoint name
  * Distance to next waypoint
  * Visual route indicator (6 waypoint tags)
- Full NMEA data table with route fields

Code Changes:
- signalk.mock.js: Complete rewrite with:
  * WAYPOINTS constant (6 locations)
  * Bearing/distance calculation functions
  * Waypoint navigation logic
  * Dynamic speed adjustment
  * Heading drift simulation

- ChartPlaceholder.jsx: New canvas-based map:
  * Ship position and track rendering
  * Waypoint visualization
  * Real-time position updates
  * Legend and coordinates display

- InstrumentPanel.jsx: Enhanced with:
  * Waypoint routing box
  * Current waypoint display
  * Distance to waypoint (highlighted)
  * Visual route progression

- useNMEA.js: Extended to include:
  * distanceToWaypoint state
  * Snapshot integration for waypoint data

Documentation:
- Added SHIP_ROUTING.md with complete guide:
  * How waypoint navigation works
  * Customization instructions
  * Example scenarios (Baltic, Mediterranean, coastal)
  * Testing procedures

Performance:
- 1 Hz update rate (1 second intervals)
- Canvas renders at 60 FPS
- Track history: 500 points (~8 minutes)
- Memory: <100KB for routing system

Compatibility:
- Works with mock mode (VITE_USE_MOCK=true)
- Ready for real SignalK server integration
- NMEA2000 compliant data format

The ship now runs a realistic, continuous nautical route with proper
bearing calculations and waypoint navigation!

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 14:35:38 +01:00
denshooter
77123a0df5 Move project from bordanlage/ to repo root
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 14:31:08 +01:00