cd3b41a401
- diffuse — ecuación de fluidos discreta sobre los 3 campos dinámicos (materia/psique/poder): cada celda intercambia con sus 4 vecinas + entropía. Buffer de lectura separado (lee estado viejo). oro y degradacion no difunden. - tick — un paso completo: difusión → transiciones (agente exhausto se fuerza a Pelear) → acciones de los agentes → envejecimiento + cosecha (la energía del muerto vuelve como materia/fertilidad). run() corre N. Determinista bit-exacto: aritmética f32 en orden fijo, sin HashMap ni reducciones paralelas. Test `run_is_deterministic` verifica que mismo input → mismo estado bit a bit. 7 tests verdes. cargo check --workspace verde. dominium ya CORRE (core + physics = simulación funcional). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
18 lines
568 B
Rust
18 lines
568 B
Rust
//! `dominium-physics` — el ciclo del motor de simulación.
|
|
//!
|
|
//! - [`diffuse`] — difusión + entropía de los campos de la grilla.
|
|
//! - [`tick`] — un paso completo: difusión → transiciones → acciones →
|
|
//! envejecimiento/cosecha. [`tick::run`] corre N pasos.
|
|
//!
|
|
//! Determinista bit-exacto: sólo aritmética f32 en orden fijo, sin
|
|
//! HashMap iteration ni reducciones paralelas. Mismo seed → mismo estado
|
|
//! en cualquier plataforma.
|
|
|
|
#![forbid(unsafe_code)]
|
|
|
|
pub mod diffuse;
|
|
pub mod tick;
|
|
|
|
pub use diffuse::diffuse;
|
|
pub use tick::{run, tick};
|