Física Aberta
Quando usar
- Um agente precisa criar, avançar, consultar ou repetir um mundo físico determinístico.
- Um testador de jogo precisa de contatos, raycasts ou diagnósticos de solucionador, em vez de suposições visuais.
Salvaguarda de disponibilidade — estágio atual
Este repositório é um scaffold pré-alfa. Nenhuma ferramenta physics_* está registrada ainda.
Não afirme que um mundo foi simulado, que uma repetição coincidiu ou que uma construção está fisicamente correta. Se as ferramentas planejadas estiverem indisponíveis, relate que o núcleo nativo não está implementado e pare, em vez de substituir por outro motor ou saída fabricada.
Fluxo de trabalho M0 pretendido
Use este loop somente após as ferramentas correspondentes realmente existirem:
physics_world_create
→ physics_body_add (para cada corpo)
→ physics_step (número fixo de passos)
→ physics_contacts_report / physics_raycast
→ physics_replay (mesmo log de entrada; exigir resultados idênticos)
Regras para a implementação futura:
- Mantenha a descrição inicial do mundo explícita e serializável.
- Nunca infira sucesso da simulação a partir da ausência de um erro; inspecione o estado resultante.
- Trate o determinismo como um contrato testável: as mesmas entradas e o mesmo log de passos devem produzir saídas idênticas.
- Relate a violação máxima de restrição e impulsos quebrados junto com os resultados da simulação.
- Não apresente o motor como Havok ou como contendo código Havok. É uma implementação original de sala limpa.