tawasuyu/llimphi
Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.
1//! Arma la HISTORIA del nacimiento: la versión base + una alternativa con más
2//! bruma, en ramas distintas, y la guarda como `.voxdag`. Muestra el DAG en
3//! acción — el cimiento sobre el que se monta el trabajo creativo.
4//!
5//! ```sh
6//! cargo run -p llimphi-voxel --example emitir_historia_nacimiento -- ruta/nacimiento.voxdag
7//! ```
8
9use llimphi_voxel::{hex_corto, Historia, Project};
10
11fn main() {
12 let path = std::env::args()
13 .nth(1)
14 .unwrap_or_else(|| "nacimiento.voxdag".to_string());
15
16 let mut h = Historia::nueva();
17
18 // v1: el nacimiento tal cual.
19 let base = h.commit(&Project::nacimiento(), "el nacimiento").unwrap();
20 println!("principal v{} {} el nacimiento", 0, hex_corto(&base));
21
22 // Una alternativa: "mucha más bruma", en su propia rama desde la base.
23 h.ramificar("mas-bruma").unwrap();
24 h.cambiar_rama("mas-bruma");
25 let mut p = h.proyecto_actual().unwrap();
26 if let Some(atm) = p.escenas[0].atmosfera.as_mut() {
27 atm.bruma = 4.5; // se traga el mundo entero
28 atm.desde_negro = 5.0; // y entra aún más lento
29 }
30 let alt = h.commit(&p, "el nacimiento — mucha más bruma").unwrap();
31 println!("mas-bruma v{} {} mucha más bruma", 1, hex_corto(&alt));
32
33 match h.guardar(&path) {
34 Ok(()) => println!("\nhistoria escrita: {path} ({} versiones)", h.len()),
35 Err(e) => {
36 eprintln!("error: {e}");
37 std::process::exit(1);
38 }
39 }
40}