mirror of
https://github.com/seemueller-io/yachtpit.git
synced 2025-09-08 22:46:45 +00:00

* configure workspaces * Modularize domain logic by creating a new `models` crate. * Moved `LoadingPlugin` and `MenuPlugin` from `core` to a new `ui` module. Updated imports accordingly. * add theme for instruments * trunk serve works, remove audio and textures * remove loading indicator and assets * rename models to systems * seperate systems and components from models * Refactor instrument cluster to leverage reusable composition utilities. --------- Co-authored-by: geoffsee <>
275 lines
8.8 KiB
Markdown
275 lines
8.8 KiB
Markdown
# Backlog - yachtpit
|
|
|
|
## Goal
|
|
Complete the yachtpit instrument cluster with comprehensive icon system and enhance user experience for marine navigation and monitoring.
|
|
|
|
## Overview
|
|
**Duration:** 2 weeks
|
|
**Capacity:** 40 story points
|
|
**Focus:** Icons, UI/UX, Integration, Testing
|
|
|
|
---
|
|
|
|
## High Priority ~ 24 points
|
|
|
|
|
|
### Track: Core Navigation & Instrumentation
|
|
|
|
#### US-001: Navigation Display Icons (8 points)
|
|
**As a** yacht captain
|
|
**I want** to see intuitive navigation icons (compass, GPS, waypoints)
|
|
**So that** I can quickly understand my vessel's position and heading
|
|
|
|
**Acceptance Criteria:**
|
|
- [ ] Compass rose icon displays current heading
|
|
- [ ] GPS satellite icon shows connection status
|
|
- [ ] Waypoint icons mark navigation points
|
|
- [ ] North arrow provides directional reference
|
|
- [ ] Icons are visible in marine lighting conditions
|
|
|
|
**Technical Tasks:**
|
|
- Create compass rose SVG icon (2h)
|
|
- Implement GPS status indicator component (3h)
|
|
- Add waypoint marker system (4h)
|
|
- Update TextureAssets in loading.rs (1h)
|
|
- Add navigation icons to assets/textures/icons/ (1h)
|
|
|
|
#### US-002: Instrument Gauge Icons (8 points)
|
|
**As a** yacht operator
|
|
**I want** clear visual indicators for speed, depth, and engine status
|
|
**So that** I can monitor critical vessel parameters at a glance
|
|
|
|
**Acceptance Criteria:**
|
|
- [ ] Speed gauge displays with knots unit indicator
|
|
- [ ] Depth sounder shows water depth with meter units
|
|
- [ ] Engine temperature gauge with warning states
|
|
- [ ] Fuel level indicator with consumption tracking
|
|
- [ ] Battery level with charging status
|
|
|
|
**Technical Tasks:**
|
|
- Design speedometer and depth gauge icons (3h)
|
|
- Create engine status indicator components (4h)
|
|
- Implement fuel and battery level displays (3h)
|
|
- Add gauge needle animations (2h)
|
|
- Update YachtData struct with new parameters (1h)
|
|
|
|
#### US-003: System Status Indicators (8 points)
|
|
**As a** yacht crew member
|
|
**I want** color-coded status indicators for all systems
|
|
**So that** I can immediately identify operational, warning, and fault conditions
|
|
|
|
**Acceptance Criteria:**
|
|
- [ ] Green dots for operational systems
|
|
- [ ] Yellow dots for warning states
|
|
- [ ] Red dots for fault/offline systems
|
|
- [ ] Blue dots for standby mode
|
|
- [ ] Status changes reflect real system states
|
|
|
|
**Technical Tasks:**
|
|
- Create status dot icon set (2h)
|
|
- Implement SystemStatus component (3h)
|
|
- Add status update logic to system displays (4h)
|
|
- Create alert notification system (2h)
|
|
- Add system health monitoring (2h)
|
|
|
|
---
|
|
|
|
## Medium Priority ~ 12 points
|
|
|
|
|
|
### Track: Advanced Marine Systems
|
|
|
|
#### US-004: Radar & AIS Integration
|
|
**As a** yacht navigator
|
|
**I want** radar and AIS system displays with appropriate icons
|
|
**So that** I can track other vessels and obstacles around my yacht
|
|
|
|
**Acceptance Criteria:**
|
|
- [ ] Radar dish icon shows system status
|
|
- [ ] AIS ship icons display other vessels
|
|
- [ ] Target blip indicators for radar contacts
|
|
- [ ] Radio wave icons for communication status
|
|
- [ ] Integration with existing system selection
|
|
|
|
**Technical Tasks:**
|
|
- Design radar and AIS icon set (2h)
|
|
- Implement radar sweep animation (3h)
|
|
- Add AIS target tracking display (4h)
|
|
- Update system interaction handlers (1h)
|
|
|
|
#### US-005: Weather & Environmental Icons
|
|
**As a** yacht captain
|
|
**I want** weather condition indicators with wind and atmospheric data
|
|
**So that** I can make informed navigation decisions based on conditions
|
|
|
|
**Acceptance Criteria:**
|
|
- [ ] Wind vane shows direction and speed
|
|
- [ ] Barometer icon displays atmospheric pressure
|
|
- [ ] Temperature and humidity indicators
|
|
- [ ] Beaufort scale wind force display
|
|
- [ ] Weather data updates in real-time simulation
|
|
|
|
**Technical Tasks:**
|
|
- Create weather icon collection (2h)
|
|
- Implement wind direction component (2h)
|
|
- Add atmospheric data display (3h)
|
|
- Integrate weather simulation system (2h)
|
|
|
|
---
|
|
|
|
## Low Priority ~ 4 points
|
|
|
|
### Track: Safety & Emergency Systems
|
|
|
|
#### US-006: Safety Equipment Icons
|
|
**As a** yacht safety officer
|
|
**I want** visual indicators for safety equipment status
|
|
**So that** I can ensure all emergency equipment is ready and accessible
|
|
|
|
**Acceptance Criteria:**
|
|
- [ ] Life ring icon for safety equipment
|
|
- [ ] Fire extinguisher status indicator
|
|
- [ ] First aid kit availability marker
|
|
- [ ] Emergency radio communication status
|
|
|
|
**Technical Tasks:**
|
|
- Design safety equipment icon set (1h)
|
|
- Add safety system status tracking (2h)
|
|
- Implement emergency equipment checklist (1h)
|
|
|
|
#### US-007: Chart & Navigation Tools
|
|
**As a** yacht navigator
|
|
**I want** chart symbols and measurement tool icons
|
|
**So that** I can perform navigation calculations and chart plotting
|
|
|
|
**Acceptance Criteria:**
|
|
- [ ] Nautical chart icon for chart display mode
|
|
- [ ] Ruler icon for distance measurements
|
|
- [ ] Protractor icon for bearing calculations
|
|
- [ ] Harbor and anchorage markers
|
|
|
|
**Technical Tasks:**
|
|
- Create navigation tool icon set (1h)
|
|
- Add measurement tool functionality (2h)
|
|
- Implement chart symbol display (1h)
|
|
|
|
---
|
|
|
|
## Technical Debt & Infrastructure Tasks
|
|
|
|
### Track: All
|
|
|
|
#### TD-001: Asset Management System Enhancement
|
|
**Priority:** High
|
|
**Description:** Expand TextureAssets to support comprehensive icon loading system
|
|
|
|
**Tasks:**
|
|
- [ ] Create icons subdirectory structure in assets/textures/
|
|
- [ ] Update loading.rs with icon asset collections
|
|
- [ ] Implement icon resource management system
|
|
- [ ] Add icon preloading optimization
|
|
- [ ] Create asset validation system
|
|
|
|
#### TD-002: Component Architecture Refactoring
|
|
**Priority:** Medium
|
|
**Description:** Optimize component structure for better performance and maintainability
|
|
|
|
**Tasks:**
|
|
- [ ] Refactor instrument cluster components
|
|
- [ ] Implement component pooling for status indicators
|
|
- [ ] Add component lifecycle management
|
|
- [ ] Optimize query systems for better performance
|
|
|
|
#### TD-003: Testing Infrastructure
|
|
**Priority:** Medium
|
|
**Description:** Expand test coverage for new components and systems
|
|
|
|
**Tasks:**
|
|
- [ ] Add unit tests for new icon components
|
|
- [ ] Create integration tests for system interactions
|
|
- [ ] Implement visual regression tests for UI components
|
|
- [ ] Add performance benchmarks for rendering systems
|
|
|
|
---
|
|
|
|
## Definition of Done
|
|
|
|
### User Stories
|
|
- [ ] All acceptance criteria met
|
|
- [ ] Code reviewed and approved
|
|
- [ ] Unit tests written and passing
|
|
- [ ] Integration tests passing
|
|
- [ ] Documentation updated
|
|
- [ ] Icons meet design guidelines (high contrast, nautical theme)
|
|
- [ ] Performance impact assessed and acceptable
|
|
- [ ] Accessibility requirements met
|
|
|
|
### Technical Tasks
|
|
- [ ] Code follows project conventions
|
|
- [ ] No new compiler warnings
|
|
- [ ] Memory usage within acceptable limits
|
|
- [ ] Cross-platform compatibility verified
|
|
- [ ] Asset optimization completed
|
|
|
|
---
|
|
|
|
## Risk Assessment
|
|
|
|
### High Risk Items
|
|
1. **Icon Design Consistency** - Risk of inconsistent visual style across 100+ icons
|
|
- *Mitigation:* Create comprehensive style guide and icon templates
|
|
|
|
2. **Performance Impact** - Large number of icons may affect rendering performance
|
|
- *Mitigation:* Implement icon atlasing and lazy loading
|
|
|
|
3. **Asset Loading Time** - Extensive icon set may increase initial load time
|
|
- *Mitigation:* Progressive loading and asset compression
|
|
|
|
### Medium Risk Items
|
|
1. **Cross-platform Icon Rendering** - Icons may render differently across platforms
|
|
- *Mitigation:* Test on all target platforms early
|
|
|
|
2. **Memory Usage** - Icon textures may consume significant memory
|
|
- *Mitigation:* Optimize icon sizes and use appropriate formats
|
|
|
|
---
|
|
|
|
## Next Retrospective
|
|
|
|
### Key Metrics to Track
|
|
- Story points completed vs. planned
|
|
- Icon implementation velocity
|
|
- Performance impact measurements
|
|
- User feedback on icon clarity and usability
|
|
- Code quality metrics (test coverage, complexity)
|
|
|
|
### Success Criteria
|
|
- High-priority user stories progress
|
|
- Icon system foundation established
|
|
- Performance remains within acceptable limits
|
|
- User experience significantly improved
|
|
- Technical debt reduced
|
|
|
|
---
|
|
|
|
## Notes for Development
|
|
|
|
## Personal Development Notes
|
|
|
|
### Current State Analysis
|
|
- **Strengths:** Solid Bevy/Rust foundation, comprehensive component structure in player.rs
|
|
- **Gaps:** Missing icon assets, limited TextureAssets configuration, no icon management system
|
|
- **Opportunities:** Leverage existing YachtData structure, build on established plugin architecture
|
|
|
|
### Personal Development Approach
|
|
1. Start with core navigation icons (US-001) as foundation
|
|
2. Establish icon loading and management patterns early
|
|
3. Implement status indicator system for immediate visual feedback
|
|
4. Build comprehensive testing as icons are added
|
|
5. Focus on performance optimization throughout development
|
|
|
|
### Resources & Tools Needed
|
|
- Icon design resources (icon library or design tools)
|
|
- Asset optimization tools for performance
|
|
- Performance profiling setup for benchmarking
|
|
- ~~Testing setup for cross-platform compatibility~~ This is done in CI. |