Undercut-F1 – TUI de live timing da F1 com rastreamento de pilotos e latência variável
(github.com/JustAman62)- undercut-f1 é um cliente TUI open source que grava informações de live timing de sessões de F1 para reprodução posterior
- É possível receber e visualizar dados de stream baseados em SignalR ou reproduzir sessões gravadas
- Oferece torre de tempos detalhada por piloto, estratégia de pit stop, mensagens de controle de corrida, análise estratégica, rastreamento de posição dos pilotos, team radio e histórico por volta
- Os dados são armazenados localmente e podem ser usados para desenvolvimento e testes, com suporte também a modo de simulação
- Implementa exibição visual usando protocolos de imagem de terminal como iTerm2 e Kitty
Introdução ao projeto undercut-f1
undercut-f1 é uma ferramenta open source que visualiza informações de live timing da F1 em uma TUI (interface de usuário de terminal) baseada em CLI
Seus principais recursos são os seguintes:
- Representação audiovisual de dados de sessão de F1 em tempo real
- O usuário pode gravar os dados da sessão e reproduzi-los depois
- Considerando a latência média das transmissões de F1 (30 a 60 segundos), oferece ajuste de latência
- Aplicativo CLI baseado em
.NET, disponível como pacote NuGet ou executável único
Principais recursos
-
Torre de tempos
- Exibição dos tempos por setor (com cores para melhor marca pessoal/melhor geral)
- Tempos de volta mais recentes e melhores
- Tipo de pneu e tempo de uso
- Diferença de tempo para o líder e para o carro à frente
- Comparação da diferença de tempo entre o piloto selecionado e os demais pilotos
-
Informações de estratégia/stint
- Permite ver rapidamente a estratégia de pneus de cada piloto
- Visualização do momento de uso e da duração de cada pneu
- Facilita identificar diferenças de estratégia
-
Tela de controle de corrida
- Exibe mensagens de race control como investigações oficiais, penalidades e informações climáticas
-
Rastreador de pilotos
- Visualização em tempo real da posição do piloto selecionado na pista
- Funciona em terminais com suporte aos protocolos de imagem do iTerm2 e Kitty
- Permite selecionar e comparar pilotos com o cursor
-
Histórico de tempos
- Permite verificar mudanças de gap/intervalo por volta
- Fornece gráficos de tendência dos tempos de volta e do gap para o líder nas últimas 15 voltas
-
Escuta e transcrição de team radio
- Usa o modelo Whisper para transcrever localmente o team radio com reconhecimento de voz próprio
- A qualidade varia conforme a qualidade do áudio do dia, e sugestões de melhoria continuam sendo aceitas
Execução e replay de sessões
-
Executar sessão ao vivo
- Executar
undercutf1 - Entrar na tela de sessão com a tecla <kbd>S</kbd>
- Iniciar a sessão ao vivo com a tecla <kbd>L</kbd>
- Ver a torre de tempos com a tecla <kbd>T</kbd>
- Os dados da sessão são salvos em
~/undercut-f1/data/<session-name>e podem ser usados depois para reprodução
- Executar
-
Replay de sessão gravada
- É possível copiar os dados da pasta
Sample Dataou baixar dados oficiais de sessões para reproduzi-los - Iniciar a simulação com a tecla <kbd>F</kbd> → selecionar a sessão → entrar na torre de tempos
- Ajustar a latência com a tecla <kbd>N</kbd> para navegar rapidamente
- É possível copiar os dados da pasta
-
Download de dados de sessão
- É possível ver a lista de sessões do ano com o comando
undercutf1 import <year> - Selecionar uma sessão para baixar e converter localmente → pronta para reprodução
- É possível ver a lista de sessões do ano com o comando
Recursos de cursor e gerenciamento de latência
- Em todas as telas, controle o cursor com as teclas <kbd>▲</kbd>/<kbd>▼</kbd>
- Ex.: ao selecionar um piloto específico, é possível visualizar a diferença de tempo com base nele
- Ajuste a latência para sincronizar com a transmissão ao vivo usando as teclas <kbd>M</kbd>/<kbd>N</kbd>
- Ao pressionar junto com <kbd>Shift</kbd>, o ajuste é feito em intervalos de 30 segundos
Fonte dos dados e forma de armazenamento
- O stream do F1 Live Timing é baseado em SignalR
- Os dados em tempo real são recebidos assinando tópicos como:
TimingStats,TimingData,WeatherData,DriverList,RaceControlMessages,TeamRadioetc.
- Durante a sessão, os dados são armazenados em dois arquivos:
subscribe.txt: dados iniciais recebidos no momento da assinaturalive.txt: conjunto completo de dados recebidos em tempo real durante a sessão
Licença
- Este projeto é um projeto open source não oficial, sem vínculo com as entidades oficiais da F1
- F1, FORMULA ONE e marcas relacionadas pertencem à Formula One Licensing B.V.
1 comentários
Comentários do Hacker News
Q). A busca de dados funciona, mas a janela sem resposta não muda. Não estou procurando suporte técnico, mas aviso que o README talvez precise de etapas adicionais