///|
/// Entry point for the CLI or runnable program in this template.
/// Keep main focused; move logic into the library package.
/// Run with `moon run cmd/main` from the project root.
fn main {
let s = @lib.scene(
{ x: 5.0, y: 4.0, z: 3.0, },
{ x: 1.0, y: 1.0, z: 1.0, },
[{ x: 3.0, y: 1.0, z: 1.0, }],
[0.2, 0.2, 0.2, 0.2, 0.2, 0.2],
16000,
1,
100,
).unwrap()
let paths = @lib.trace(s)
let r = @lib.render(s)
if paths.length() != 7 || r.channel(0).unwrap().length() != 1632 {
panic()
}
println("7 paths; 1632 response frames; common latency 16 samples")
println(
"Direct arrival: \{paths[0].delay_samples} samples; gain: \{paths[0].gain}",
)
}