feat: Improve aircraft legend clarity and icon differentiation - resolves #13 #36

Merged
olemd merged 3 commits from feature/improve-aircraft-legend-issue-13 into main 2025-09-01 10:06:30 +02:00
Owner

Summary

This PR resolves issue #13 by implementing comprehensive improvements to the aircraft legend clarity and icon differentiation system.

Key Improvements

  • ✈️ Size-based aircraft icons: Created distinct SVG icons for light, medium, large, and heavy aircraft with progressively larger visual representations
  • 🎯 Visual legend: Replaced colored squares with actual aircraft silhouettes showing relative sizes and aircraft types
  • 🏷️ Enhanced categorization: Added missing military category and improved icon selection logic
  • 📐 Better differentiation: Each weight class now has a unique icon shape, not just color

What Changed

New Aircraft Icons

  • light.svg - Small single-engine style aircraft for < 7000kg
  • medium.svg - Twin-engine regional aircraft for 7000-34000kg
  • large.svg - Wide-body airliner with winglets for 34000-136000kg
  • heavy.svg - Jumbo jet with 4 engines for > 136000kg

Frontend Improvements

  • Updated legend HTML to show actual aircraft SVG icons inline
  • Enhanced JavaScript logic to properly map ADS-B categories to appropriate icons
  • Simplified color mapping with cleaner switch statement
  • Added military category that was missing from legend

Visual Benefits

  • Users can immediately see aircraft size differences in the legend
  • Icons accurately represent the relative scale of different aircraft types
  • Military and specialized aircraft have distinct visual representations
  • Legend now matches the actual icons used on the map

Testing

  • Server builds and starts successfully
  • New icon files are properly included
  • HTML and CSS updates work correctly
  • JavaScript logic correctly categorizes aircraft types
  • Legend displays proper aircraft silhouettes with correct colors

Files Modified

  • assets/static/icons/ - Added 4 new aircraft SVG icons
  • assets/static/index.html - Updated legend with inline SVG icons
  • assets/static/css/style.css - Updated legend styling for SVG support
  • assets/static/js/modules/aircraft-manager.js - Enhanced categorization logic

This resolves the original issue's concerns about "multiple commercial entries", lack of clear differentiation, and confusing legend display.

Closes #13

Test plan

  • Verify new aircraft icons are visually distinct and properly sized
  • Check that legend displays actual aircraft shapes instead of colored rectangles
  • Confirm aircraft categorization logic works with real ADS-B data
  • Test that colors still properly indicate aircraft weight classes
  • Ensure military and specialized aircraft show correct icons
  • Validate that map icons match legend representations

🤖 Generated with Claude Code

## Summary This PR resolves issue #13 by implementing comprehensive improvements to the aircraft legend clarity and icon differentiation system. ### Key Improvements - **✈️ Size-based aircraft icons**: Created distinct SVG icons for light, medium, large, and heavy aircraft with progressively larger visual representations - **🎯 Visual legend**: Replaced colored squares with actual aircraft silhouettes showing relative sizes and aircraft types - **🏷️ Enhanced categorization**: Added missing military category and improved icon selection logic - **📐 Better differentiation**: Each weight class now has a unique icon shape, not just color ### What Changed #### New Aircraft Icons - `light.svg` - Small single-engine style aircraft for < 7000kg - `medium.svg` - Twin-engine regional aircraft for 7000-34000kg - `large.svg` - Wide-body airliner with winglets for 34000-136000kg - `heavy.svg` - Jumbo jet with 4 engines for > 136000kg #### Frontend Improvements - Updated legend HTML to show actual aircraft SVG icons inline - Enhanced JavaScript logic to properly map ADS-B categories to appropriate icons - Simplified color mapping with cleaner switch statement - Added military category that was missing from legend #### Visual Benefits - Users can immediately see aircraft size differences in the legend - Icons accurately represent the relative scale of different aircraft types - Military and specialized aircraft have distinct visual representations - Legend now matches the actual icons used on the map ### Testing - ✅ Server builds and starts successfully - ✅ New icon files are properly included - ✅ HTML and CSS updates work correctly - ✅ JavaScript logic correctly categorizes aircraft types - ✅ Legend displays proper aircraft silhouettes with correct colors ### Files Modified - `assets/static/icons/` - Added 4 new aircraft SVG icons - `assets/static/index.html` - Updated legend with inline SVG icons - `assets/static/css/style.css` - Updated legend styling for SVG support - `assets/static/js/modules/aircraft-manager.js` - Enhanced categorization logic This resolves the original issue's concerns about "multiple commercial entries", lack of clear differentiation, and confusing legend display. Closes #13 ## Test plan - [x] Verify new aircraft icons are visually distinct and properly sized - [x] Check that legend displays actual aircraft shapes instead of colored rectangles - [x] Confirm aircraft categorization logic works with real ADS-B data - [x] Test that colors still properly indicate aircraft weight classes - [x] Ensure military and specialized aircraft show correct icons - [x] Validate that map icons match legend representations 🤖 Generated with [Claude Code](https://claude.ai/code)
Resolves issue #13 by implementing comprehensive aircraft legend improvements:

## New Features
- **Size-based aircraft icons**: Created distinct SVG icons for light, medium, large, and heavy aircraft with progressively larger visual representations
- **Visual aircraft icons in legend**: Replaced colored squares with actual aircraft silhouettes showing relative sizes and types
- **Enhanced categorization**: Added military category to legend and improved icon selection logic

## Improvements
- **Better differentiation**: Each weight class now has a unique icon shape, not just color
- **Accurate ADS-B mapping**: Icons correctly map to decoded ADS-B emitter categories
- **Clearer legend display**: Users can now see actual aircraft shapes instead of generic colored rectangles

## Technical Changes
- Created 4 new SVG icons: light.svg, medium.svg, large.svg, heavy.svg
- Updated legend HTML to embed aircraft SVG icons inline
- Enhanced JavaScript logic to better match categories to appropriate icon types
- Simplified color mapping function for cleaner code

This addresses the original concerns about confusing legend entries and lack of visual differentiation between aircraft types.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Updated legend to use the actual helicopter.svg design instead of abstract simplified version
- Now shows proper helicopter with main rotor, fuselage, cockpit, tail boom, tail rotor, and landing skids
- Much more recognizable as rotorcraft in the legend display
- Run 'make format' to ensure all Go code follows standard formatting
- Maintains consistent code style across the entire codebase
- No functional changes, only whitespace and formatting improvements
olemd merged commit 6efd673507 into main 2025-09-01 10:06:30 +02:00
olemd deleted branch feature/improve-aircraft-legend-issue-13 2025-09-01 10:06:30 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: olemd/skyview#36
No description provided.