feat: Comprehensive 3D radar enhancements with trails, labels, and visual differentiation - resolves #41 #44

Merged
olemd merged 4 commits from feature/3d-radar-enhancements-issue-41 into main 2025-09-02 19:31:01 +02:00
Owner

Summary

Implements comprehensive 3D radar enhancements including aircraft trails, labels, click interactions, and advanced visual differentiation system as specified in issue #41. Adds signal quality visualization and enhanced trail effects to improve the visual appeal and usability of the 3D radar view.

Key Features Implemented

Core 3D Radar Features (Issue #41)

  • 3D Flight Trails: Historical position tracking with altitude data for true 3D visualization
  • Aircraft Labels: Dynamic HTML overlays showing callsign, altitude, and ground speed
  • Click Interactions: Three.js raycasting for aircraft selection with visual feedback
  • Map Base Enhancement: Fixed tile alignment using proper Web Mercator projection

Visual Differentiation System (Issue #42 - Phase 1)

  • Aircraft Type Differentiation: Different geometries and colors for helicopter, heavy, medium, and light aircraft
  • Movement Indicators: Aircraft orientation based on track/heading, climb/descent arrows for vertical movement
  • Emergency Visualization: Red coloring for emergency squawk codes (7500, 7600, 7700)

Signal Quality & Trail Enhancements

  • Signal Strength Visualization: Opacity and brightness based on receiver signal strength (-60 to -5 dBFS)
  • Multi-source Indicators: Visual indicators for aircraft tracked by multiple receivers
  • Enhanced Trails: Gradient coloring with age-based fading, type-specific colors matching aircraft

Technical Improvements

  • Extended position history to include altitude data in backend (Go)
  • Implemented modular aircraft visualization system in frontend (JavaScript/Three.js)
  • Proper memory management with geometry disposal
  • Real-time signal strength analysis from multi-source data
  • Custom BufferGeometry for performance-optimized trail rendering

Changes

  • assets/static/index.html: Added "Show Trails" button to 3D radar controls
  • assets/static/js/app.js: +929 lines of 3D visualization enhancements
  • internal/merger/merger.go: Extended PositionPoint struct with altitude field

Testing

Tested with live ADS-B data from multiple receivers
Verified aircraft type differentiation with real aircraft categories
Confirmed signal quality visualization with multi-source data
Validated climb/descent indicators with vertical rate data

Screenshots

The 3D radar now provides:

  • Different aircraft shapes and colors by type
  • Real-time direction and movement indicators
  • Signal strength visual feedback
  • Beautiful gradient flight trails
  • Interactive selection system
  • Closes #41: Enhance 3D radar view with trails, labels, and click interactions
  • Partially addresses #42: Advanced 3D radar visual enhancements (Phase 1 complete)

Next Steps

Phase 2 visual quality improvements are planned in issue #42:

  • Enhanced aircraft geometry with wings and fuselage details
  • Advanced materials and lighting effects
  • Airport runway overlays from OpenStreetMap
  • LOD system for performance optimization

🤖 Generated with Claude Code

## Summary Implements comprehensive 3D radar enhancements including aircraft trails, labels, click interactions, and advanced visual differentiation system as specified in issue #41. Adds signal quality visualization and enhanced trail effects to improve the visual appeal and usability of the 3D radar view. ## Key Features Implemented ### ✅ Core 3D Radar Features (Issue #41) - **3D Flight Trails**: Historical position tracking with altitude data for true 3D visualization - **Aircraft Labels**: Dynamic HTML overlays showing callsign, altitude, and ground speed - **Click Interactions**: Three.js raycasting for aircraft selection with visual feedback - **Map Base Enhancement**: Fixed tile alignment using proper Web Mercator projection ### ✅ Visual Differentiation System (Issue #42 - Phase 1) - **Aircraft Type Differentiation**: Different geometries and colors for helicopter, heavy, medium, and light aircraft - **Movement Indicators**: Aircraft orientation based on track/heading, climb/descent arrows for vertical movement - **Emergency Visualization**: Red coloring for emergency squawk codes (7500, 7600, 7700) ### ✅ Signal Quality & Trail Enhancements - **Signal Strength Visualization**: Opacity and brightness based on receiver signal strength (-60 to -5 dBFS) - **Multi-source Indicators**: Visual indicators for aircraft tracked by multiple receivers - **Enhanced Trails**: Gradient coloring with age-based fading, type-specific colors matching aircraft ## Technical Improvements - Extended position history to include altitude data in backend (Go) - Implemented modular aircraft visualization system in frontend (JavaScript/Three.js) - Proper memory management with geometry disposal - Real-time signal strength analysis from multi-source data - Custom BufferGeometry for performance-optimized trail rendering ## Changes - `assets/static/index.html`: Added "Show Trails" button to 3D radar controls - `assets/static/js/app.js`: +929 lines of 3D visualization enhancements - `internal/merger/merger.go`: Extended PositionPoint struct with altitude field ## Testing ✅ Tested with live ADS-B data from multiple receivers ✅ Verified aircraft type differentiation with real aircraft categories ✅ Confirmed signal quality visualization with multi-source data ✅ Validated climb/descent indicators with vertical rate data ## Screenshots The 3D radar now provides: - Different aircraft shapes and colors by type - Real-time direction and movement indicators - Signal strength visual feedback - Beautiful gradient flight trails - Interactive selection system ## Related Issues - Closes #41: Enhance 3D radar view with trails, labels, and click interactions - Partially addresses #42: Advanced 3D radar visual enhancements (Phase 1 complete) ## Next Steps Phase 2 visual quality improvements are planned in issue #42: - Enhanced aircraft geometry with wings and fuselage details - Advanced materials and lighting effects - Airport runway overlays from OpenStreetMap - LOD system for performance optimization 🤖 Generated with [Claude Code](https://claude.ai/code)
Implements comprehensive 3D radar view enhancements:

- Fixed map tile alignment using proper Web Mercator projection calculations
- Added dynamic aircraft labels showing callsign, altitude, and speed
- Implemented click interactions with raycasting for aircraft selection
- Created flight trail visualization with toggle functionality
- Enhanced visual feedback with selection highlighting
- Improved tile positioning with precise geographic calculations

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Extend PositionPoint struct to include altitude field in position history
- Update position history population to store altitude with each position
- Fix 3D aircraft labels to show GroundSpeed instead of undefined Speed field
- Enable true 3D flight trails with proper altitude visualization
- Improve trail accuracy by using historical altitude data per position

Resolves trails showing flat paths and labels showing N/A for speed.

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

Co-Authored-By: Claude <noreply@anthropic.com>
Adds comprehensive visual differentiation system for 3D radar aircraft:

Aircraft Type Differentiation:
- Different 3D geometries for aircraft categories (helicopter, heavy, medium, light)
- Color coding: cyan=helicopter, blue=heavy, green=medium, yellow=light
- Size scaling based on aircraft weight class
- Emergency override: red color for emergency squawks and alerts

Movement Indicators:
- Aircraft orientation based on track/heading data
- Climb/descent indicators with 500 fpm threshold
- Green upward arrows for climbing aircraft
- Red downward arrows for descending aircraft
- Dynamic indicator management (add/remove based on vertical rate)

Technical Implementation:
- Modular aircraft geometry creation system
- Visual type detection based on Category field
- Enhanced material system with emissive properties
- Proper cleanup of climb/descent indicators
- Updated selection system to restore original aircraft colors

Addresses core visual enhancement requirements from issue #42.

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

Co-Authored-By: Claude <noreply@anthropic.com>
Adds advanced visual feedback system for 3D radar aircraft with real-time signal quality indicators:

Signal Quality Visualization:
- Opacity mapping based on signal strength (-60 to -5 dBFS range)
- Emissive glow intensity reflects signal quality (Excellent/Good/Fair/Poor)
- Multi-source data indicators (small spheres for aircraft with multiple receivers)
- Dynamic signal strength analysis from aircraft sources data
- Real-time updates with changing signal conditions

Enhanced Trail System:
- Gradient coloring with age-based fading (30% to 100% intensity)
- Aircraft type-based trail colors (cyan=helicopter, blue=heavy, yellow=light, teal=medium)
- Signal quality affects trail brightness and visibility
- Custom BufferGeometry with per-vertex colors
- Memory-efficient geometry disposal and rebuilding

Technical Improvements:
- Modular signal data extraction from aircraft sources
- Linear signal strength to opacity mapping
- Quality multiplier system for visual feedback
- Proper Three.js BufferAttribute management
- Dynamic visual updates synchronized with aircraft data

Visual Results:
- Strong signals = bright, opaque aircraft with vivid trails
- Weak signals = dim, transparent aircraft with faded trails
- Multi-source aircraft display small indicator spheres
- Trail colors match aircraft types for consistency
- Smooth gradient effects enhance flight path visualization

Addresses core signal quality and trail enhancement requirements from issue #42.

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

Co-Authored-By: Claude <noreply@anthropic.com>
olemd merged commit ec86ec6829 into main 2025-09-02 19:31:01 +02:00
olemd deleted branch feature/3d-radar-enhancements-issue-41 2025-09-02 19:31:02 +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#44
No description provided.