Em busca de ‘sim-grade’: mapeando as lacunas e refazendo o pneu
Em 30 de setembro, colocamos no papel o que faltava no Seat Time, nosso simulador de navegador no AI Maker Lab. Nós o construímos com agentes de IA. Sessões de Claude Code e Orca escreveram a maior parte do código e dos registros de engenharia. Nós orientamos o trabalho e tomamos as decisões. Já tínhamos um modelo reduzido de pneu, um Laboratório de Física e 294 testes passando. Ainda não sabíamos definir o que “sim-grade” significava para nós.
Queríamos uma lista que os agentes pudessem seguir, depois um modelo de pneu mais completo rodando numa aba. A implementação acabou concordando com um avaliador independente com diferença inferior a 3e-11 newtons. Isso respondia à pergunta sobre o código. A pergunta sobre pneus reais continuava aberta.
Colocamos as lacunas em 20 linhas
O mapa de lacunas cobria 20 áreas da física, usando mecanismos descritos na documentação pública de simuladores comerciais. Cada linha separava o que tínhamos, o que estava documentado, o que faltava e como testar. Alegações de referência não verificadas continuavam marcadas assim. Era uma lista de trabalho, não um ranking.
Cada correção precisava começar com um teste que falhasse. Os agentes usavam it.fails para manter uma falha conhecida, depois o trocavam por um teste comum. Três correções de prioridade máxima cobriam diferencial, freios e aerodinâmica. Outra, da prioridade seguinte, tratava do passo de tempo. O saldo foi de 59 testes passando a mais, e o Laboratório chegou a 23 experimentos.
A correção térmica foi na direção errada
Uma proposta de correção interpretou errado o eixo lateral do carro. Ela deveria corrigir qual ombro do pneu recebia a carga. A revisão encontrou o erro, e nós revertemos a mudança naquele dia. Um teste de proteção agora verifica os dois lados do carro: força lateral para dentro deve carregar o ombro externo.
Essa volta atrás importava mais do que outra linha verde. A segunda revisão registrada foi estática: examinou as alterações sem executar testes de forma independente.
Criamos ferramentas para conferir nosso trabalho
Importação de telemetria, comparação de replays e ajuste offline vieram antes da migração dos carros dos jogadores. Criamos três carros de referência para experimentar o modelo separadamente. Seus registros de parâmetros ainda continham muitos valores sem fonte. O nome “carro de referência” não os transformava em veículos medidos.
A primeira fase preservou os carros dos jogadores bit a bit nos pontos registrados. A fase seguinte melhorou um teste de energia sem torque: a deriva passou de +0,2311% para −0,000142% a 400 Hz. A restauração de estado também foi exata em 17 carros, com 10.000 passos cada. Eram verificações úteis das ferramentas, não evidência de aderência no asfalto real.
As equações bateram; o pneu continuou sendo uma pergunta
Pedimos aos agentes que implementassem a Magic Formula 6.1, modelo associado ao livro Tire and Vehicle Dynamics, de Pacejka. O código lia um arquivo de parâmetros .tir. Calculava forças de frenagem e de curva, separadas e combinadas, além de carga, pressão, cambagem, turn slip e torque autoalinhante. Baixas velocidades e marcha a ré também faziam parte da implementação.
As comparações tinham funções diferentes. Contra nosso avaliador anterior, a maior diferença de força foi de 5,46e-12 N. Em 2.696 pontos de teste do MFeval.jl, os máximos foram 5,5e-12 N na longitudinal e 2,8e-11 N na lateral. Sem turn slip, a diferença de torque autoalinhante foi de 3,1e-13 N·m. Documentamos uma diferença no torque com turn slip: seguimos o livro onde a versão de comparação ainda tinha trechos não implementados.
O teste separado de ajuste usava uma tolerância normalizada escolhida de 0,05. Os erros nos pontos reservados para avaliação foram de 0,0414 na longitudinal e 0,0336 na lateral. Esses erros sem unidade não podem dividir uma escala com diferenças de força em newtons. A concordância entre avaliadores sustentava os cálculos verificados. Não fornecia as medições de um pneu real que ainda faltavam.
Primeiro os carros de referência, depois os dos jogadores
O modelo completo mudou bastante o GT3 de referência. O resultado em curva de raio constante caiu de 1,479 g para 1,066 g. Enquanto isso, os 17 carros dos jogadores continuavam no modelo reduzido. Essa separação permitiu observar a mudança antes de levá-la a todos eles.
Na migração, escolhemos preservar o comportamento anterior. Cada carro recebeu um ajuste sintético às próprias curvas antigas; as medições de aceitação não alimentaram esse ajuste. Os 17 carros mantiveram suas faixas. Nenhuma métrica verificada variou mais que o limite escolhido de 3%, e os tempos de volta ficaram dentro de 0,7%. Nessa etapa, os carros dos jogadores também abriram mão da física independente de camber-spin do modelo completo: o tratamento separado do efeito de giro causado pela inclinação do pneu. Nenhum dado medido de pneu entrou na migração, e não temos uma pilotagem registrada em hardware.
Uma troca de modo fez a força saltar
A migração revelou uma descontinuidade no turn slip, a resposta do pneu enquanto sua orientação gira. O código trocava de modo quando a entrada de turn slip deixava de ser zero. No pneu de referência, a força lateral saltava de −147 N para −12 N. São os dois lados do defeito, não resultados antes e depois do conserto. Tornamos o modo persistente.
Outro ciclo de realimentação passava pela deformação da direção sob carga. Essa deformação voltava ao cálculo da velocidade de esterçamento. A divisão pelo passo de tempo fortalecia o ciclo quando o passo diminuía. Passamos a calcular essa velocidade pelos ângulos comandados das rodas. Com metade do passo, o erro de subesterço do GT3 caiu de 7,18 para 0,0002 deg/g: graus de resposta da direção por unidade de aceleração lateral.
O estado do pneu foi além da troca de curvas
Gás, temperatura, desgaste e transientes da massa de contato — a resposta de curta duração da massa modelada no contato com o solo — chegaram aos pneus de referência, depois aos dos jogadores. Nada disso introduziu dados medidos de pneus. Na etapa de estado dos pneus dos jogadores, a métrica de convergência da força máxima contra uma barreira passou de 0,080 para 0,0050. Também aceitamos uma variação de +7,17% no torque da cremalheira de um carro. O limite anterior de 3% descrevia a primeira etapa, não todas as mudanças posteriores.
Os testes ficaram mais lentos, então os agentes armazenaram em cache os resultados do cálculo do primeiro pico. A execução registrada de QA reproduziu comportamento idêntico em 140 pontos e acelerou os arquivos de teste de convergência em 1,105×. Esse é o resultado sustentado, não uma alegação sobre quadros por segundo no navegador. Etapas posteriores alcançaram chassi, direção, aerodinâmica, freios e transmissão.
Nove compostos davam quase a mesma resposta
O registro de engenharia posterior dizia que os nove compostos “felt nearly identical” — pareciam quase idênticos. O registro não identifica quem os pilotou. O problema numérico era mais claro: os compostos basicamente escalavam a aderência máxima, e a taxa de desgaste nem chegava ao modelo da banda de rodagem.
No carro de rua, a força lateral dividida pela carga vertical, com ângulo de deriva de 1°, ficava entre 0,33 e 0,35. Perfis próprios para cada composto ampliaram a faixa para 0,34–0,57. A mudança não passou por teste de pilotagem no navegador. Podíamos mostrar curvas diferentes, mas ainda não dizer que a sensação havia mudado.
A tabela de avaliação também precisava de regras
A tabela de avaliação nasceu do Laboratório de Física apresentado no Episódio 1: a linha de partida. Na revisão seguinte, separamos carros dos jogadores e carros de referência. Sem isso, melhorar um pneu de referência poderia sugerir evidência que os carros dos jogadores não tinham.
Também registramos o que podia contar como evidência. Em 2 de outubro, admitimos simulações de maior fidelidade na categoria interna “medido” quando dados reais fossem inacessíveis. Continuavam sendo evidência de simulação, não medição física. Em 12 de outubro, limitamos fontes públicas que não fossem dos fabricantes a estimativas citadas, nunca dados de validação.
As regras não proibiam mudanças nos limites. Aprovamos explicitamente quatro revisões, incluindo o piso de aquecimento do GT3, de 85°C para 83,5°C. Quando apareceram regressões, corrigimos suas causas. Um resultado em curva de raio constante voltou de 0,785 para 0,8005 g, frente ao piso escolhido de 0,80 g. Remover uma compensação de cambagem contada duas vezes reduziu a métrica de escorregamento de um kart na zebra de 0,180 para 0,025. Um cálculo implícito do amortecedor do assoalho reduziu a aceleração registrada de 29,5 para 24,8 m/s².
A nota provisória do pneu voltou a cair
Tínhamos dado nota máxima provisória às linhas de pneus. Depois, descobrimos que o arquivo de parâmetros de referência era um exemplo sem atribuição e sem origem conhecida das medições. Uma cópia com o mesmo nome, em outro lugar, diferia em 144 coeficientes. Retiramos a nota provisória. A licença de uso não comprovava de onde vinham as medições.
Ficamos com equações melhores, uma migração mais cuidadosa e um problema de dados ainda aberto. Nossas faixas analíticas continuavam, em grande parte, comparando o modelo consigo mesmo. A próxima ideia para a física era buscar dados abertos e depois comparar condições equivalentes.
Pilote o Seat Time. O link abre o jogo atual, não a versão histórica; o Laboratório de Física exige login e acesso. A seguir no diário, um problema que podíamos ouvir: Episódio 3: nosso primeiro motor soava como 8 bits.
Notas e fontes
Medido — As contagens de testes, deriva de energia, diferenças entre avaliadores, faixas da migração, tempos de volta, defeitos, cache e compostos resumem nossos registros de setembro–outubro de 2026. São resultados de testes próprios, não validação independente. As figuras são diagramas desses valores, não novas medições nem capturas históricas.
Valor de projeto escolhido — A tolerância normalizada de 0,05, o limite de 3%, a régua da tabela e os limites de aceitação foram escolhas nossas. As categorias de evidência eram regras do projeto. A variação posterior de torque aceita pertence a outra etapa da migração.
Fato com fonte — Hans B. Pacejka, Tire and Vehicle Dynamics, 3ª edição, Elsevier, 2012 (editora). O MFeval, de Marco Furlan Tassara, avalia arquivos de parâmetros da Magic Formula sob BSD-3-Clause. Crédito também ao MFeval.jl — High-Performance Pacejka Magic Formula Tyre Model Implementation, de matheusft. Sua licença tem o título MIT e inclui um pedido de atribuição. Os créditos não implicam endosso. A conclusão sobre a origem do arquivo é um registro histórico nosso, não uma alegação de que esses avaliadores fornecem pneus medidos.
Nossa interpretação — Concordar com um avaliador sustenta a implementação dos cálculos verificados. Não comprova aderência real. O mapa e a tabela acompanhavam nosso trabalho, não paridade com simuladores comerciais.
Ainda não pilotado em hardware — Não há pilotagem em hardware registrada para a migração. A mudança dos compostos não foi testada dirigindo no navegador. “Felt nearly identical” é uma frase do registro de engenharia, sem atribuição a um piloto aqui. IA também auxiliou a redação e a tradução deste artigo.