///|
fn main {
let rng = @core.Rng::new(seed=42UL)
let moons = @dataset.sample_two_moons(120, noise=0.05, rng)
let sched = @schedule.DiffusionSchedule::create(
30,
Linear(beta_start=0.001, beta_end=0.03),
)
let model_moons = @model.AnalyticalModel::new(moons, bandwidth=0.1)
let (_, ddpm_traj) = @diffusion.sample_ddpm_analytical(
120,
model_moons,
sched,
rng,
record_interval=10,
)
let html_report = @visualize.generate_html_report(
ddpm_traj,
title="MoonDiffusionLab Two Moons Experiment",
)
println(html_report)
}