Devlog 5 - FOV Rings & Custom Satellites!
Overview
This session was mostly spent adding QOL updates. I made a section for custom TLE data so that you can just drop the TLE for ANY asset you want to track and the app will display it. I also added a ground station field-of-view (FOV) overlay so users can see the exact area of the Earth they can realistically observe from their specific location.
What’s New!
- Added a ground station FOV ring with a ~1500 km visibility radius.
- Implemented accurate spherical projection for the FOV overlay.
- Added support for custom TLE injection.
- Created a new backend API endpoint for custom satellites.
- Enabled live orbit updates without needing full page reloads.
- Added pass predictions for custom satellites.
- Improved overlay rendering and stability.
- Fixed several major performance bottlenecks.
Challenges
- Globe.gl’s built-in rings system turned out to be designed for animated ripple effects rather than static geometry, making it incredibly frustrating to work with.
- Spent a good chunk of time tracking down rendering bugs, massive performance drops, and objects annoyingly drawing right through the Earth.
- Page load times were atrocious—taking at least 50 seconds because my code organization sucked, causing the app to repeatedly load timescales and rerun complex calculations instead of doing them globally.
Solutions
- Scrapped the built-in Globe.gl rings API entirely and custom-built the FOV ring myself using a canvas overlay and spherical geometry calculations.
- Implemented a mix of occlusion culling, render-loop optimization, and smarter canvas handling to fix the visual bugs and clipping issues.
- Moved repetitive calculations and timescale loading into global instances, which absolutely crushed the performance bottleneck. Page load times dropped from 50+ seconds down to a smooth 5-10 seconds!
I am super proud of how the performance changes turned out (though they were mostly caused because of my stupidity).
Also, this is going to be the final development blog for Orbital Eye because I’m finally preparing to ship it! This has somehow turned into a full satellite tracking platform with visibility forecasting, live telemetry, custom TLE support, and a 3D globe. There’s still a lot I want to add in the future, but for now I think it’s time for me to fix the last few little bugs and ship it!
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.