Sobre o projeto

Este projeto é um simulador de treinamento baseado em navegador (com opção de sala de aula no Windows) para praticar missões supervisionadas de busca e salvamento com múltiplos drones. Tudo é simulado: não se conecta a aeronaves, sistemas de tráfego aéreo, Remote ID, despacho ou câmeras, e explicitamente não se destina a voo real, emergências reais ou uso regulatório. Ideia central: determinismo. O mesmo cenário com as mesmas entradas produz a mesma missão sempre — mesmo clima, detecções e resultado — registrado em um log de eventos encadeado por hash que pode ser reproduzido e auditado. Isso torna as execuções comparáveis entre alunos e revisáveis movimento a movimento. O que oferece: - 31 cenários: 25 missões de incidentes (busca e salvamento costeiro e em montanha, incêndios florestais, inundações, desastres históricos) mais 6 exercícios de habilidades inspirados em métodos de teste do NIST (descritos como simulações educacionais, não aparelhos oficiais ou certificação). - Comando de frota para três a oito aeronaves: planejamento de rota, locais de lançamento e recuperação, retarefa, pairar, desviar, retomar, recarregar, retornar à base. - Entradas congeladas por cenário para clima, terreno, espaço aéreo, GNSS, térmico e bateria, para que as execuções sejam repetíveis em vez de aleatórias. - Registros de missão com logs de eventos à prova de adulteração e exportações KML, GeoJSON, replay e pós-ação. - Três alvos de apresentação (web móvel, web desktop, sala de aula) que compartilham matemática de simulação idêntica; um harness de paridade de artefatos garante que módulos de simulação, dados de cenário, pontuação, eventos e hashes de replay não variem por alvo. - Contas locais armazenadas no navegador com criptografia derivada de senha; nada sincroniza com um servidor. - Modo de sala de aula opcional: um host instrutor Windows executa um relay local com uma autoridade de certificação local escolar gerada e certificado folha de LAN, servindo HTTPS/WSS, rejeitando tráfego inseguro não-loopback por padrão e não instalando sua CA nas máquinas dos alunos. Notas de engenharia: o loop de simulação é de passo fixo e síncrono uma vez que o terreno é preparado; terreno declarado ausente bloqueia o lançamento em vez de substituir por uma superfície plana. As entradas de cenário são congeladas no momento da autoria e o runtime nunca busca dados ao vivo. Cada alvo implantado expõe versão, alvo e Git SHA em /build-info.json, e um script deploy:status relata SHAs implantados em relação ao main. O gate de release documentado inclui verificações de tipo, lint, testes com limites de cobertura, builds por alvo, asserções de bundle/fixture/paridade/escopo de treinamento e npm audit; o README observa que o caminho de promoção projetado nem sempre foi despachado e que a produção às vezes foi atualizada aliasando um build de preview. Segurança e limitações declaradas pelo projeto: não certificado para aviação real, segurança pública, despacho, operações regulatórias ou de emergência; superfícies regulatórias, de Remote ID e de espaço aéreo/tráfego são camadas de treinamento roteirizadas; modelagem térmica não produz imagens radiométricas reais; armazenamento de replay é limitado e não é um gravador de dados de voo; criptografia local não protege um dispositivo desbloqueado, navegador comprometido, extensão maliciosa, captura de tela, keylogger ou texto simples exportado; uso em sala de aula requer rede privada aprovada, instalação gerenciada de CA, política de retenção, proprietário administrador e lista supervisionada; testes do repositório não implicam teste de penetração independente, certificação de acessibilidade ou revisão legal; tiles de mapa normalmente vêm de terceiros e podem expor metadados de requisição comuns. Desenvolvimento local requer Node.js 24.x e npm 11.12.1, com npm ci e npm run dev. O licenciamento é proprietário com código disponível, não open source.