Личный · 2026
PlanesView
Весь воздушный трафик в реальном времени на фотореалистичном глобусе и вид из кабины любого самолёта.



История
В исходном задании было сказано «никакого бэкенда». Я измерил, провайдер за провайдером, заголовки CORS потоков ADS-B: четыре провайдера ADS-B отклоняют запросы со страницы. Вместо того чтобы отказаться от условия «бесплатно, без ключа, без аккаунта», я спроектировал минимальный ретранслятор с белым списком, который может обращаться только к источникам, заданным в файле.
Позиции приходят примерно раз в секунду. Чтобы получить плавное движение при 60 кадрах в секунду, ни разу не показав «опаздывающий» самолёт, каждый борт отслеживается фильтром Калмана с постоянной скоростью, разложенным на два фильтра по каждой оси (4 члена для распространения вместо 16).
Глобус — это квадродерево тайлов: тайл никогда не бывает пустым (он заимствует текстуру предка), детали проявляются плавным переходом, родитель заменяется только когда построены все четыре потомка, а кэш IndexedDB прогревается вдоль траектории.
Что я из этого выношу
Измерять, прежде чем решать: задание ошибалось в одном пункте, а правильным ответом был небольшой строго ограниченный ретранслятор. Я также понял, что «правдоподобно неверная» математика (геодезия, проекции) требует больше всего тестов.