feat(dominium): dominium-physics — ciclo del motor (difusión + tick)
- 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>
This commit is contained in:
@@ -32,6 +32,10 @@ pub struct SimParams {
|
||||
pub desperation_threshold: f32,
|
||||
/// Edad máxima; al superarla el agente muere.
|
||||
pub max_edad: u32,
|
||||
/// Fracción que cada celda difunde hacia sus 4 vecinas por tick (0-1).
|
||||
pub diffusion_rate: f32,
|
||||
/// Tasa de pérdida natural (entropía) de los campos por tick (0-1).
|
||||
pub entropy_rate: f32,
|
||||
}
|
||||
|
||||
impl Default for SimParams {
|
||||
@@ -49,6 +53,8 @@ impl Default for SimParams {
|
||||
absorb_frac: 0.50,
|
||||
desperation_threshold: 5.0,
|
||||
max_edad: 1000,
|
||||
diffusion_rate: 0.10,
|
||||
entropy_rate: 0.01,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user