# Reconstruct colliding granular and liquid pulses as an executable 4D scene

You are preparing a reproducible computer-graphics reconstruction of a two-material mixing experiment for simulation review. Reconstruct `reference.mp4` as an explicit, time-varying 3D scene in Blender. Use the supplied calibrated camera and the world coordinates in `scene_facts.json`.

Recover the finite liquid and granular pulses, their airborne collision and spreading, floor and wall contacts, and their subsequent redistribution in the glass enclosure. Preserve the differences between the two materials. Infer the initial states, material parameters, and detailed motion from the video. The motion after the initial state is passive. No particles are emitted after time zero.

## Starting materials
- `reference.mp4`: the target sequence.
- `camera.json`: calibrated, fixed camera; use it without modification.
- `scene_facts.json`: units, enclosure dimensions, permitted scene facts, and output timing.
- `FORMAT.md`: output contract and acceptance rules.

## Required delivery
Return `solution/` containing source and an executable `build.sh`, and `world/` containing a rendered H.264 video, camera, triangle geometry for every frame, and persistent material trajectories. `build.sh` must regenerate the complete world in an empty output directory with the agreed dependencies preinstalled and networking disabled. It may not load input video frames, reference state, reference geometry, baked particle paths, or the evaluator during regeneration. Source-defined geometry, numerical parameters, and seeded randomness are allowed. Code the reconstruction; do not copy images onto surfaces or animate a flat video plane.

Use genuine 3D simulation or another explicit 3D dynamic representation. The reference uses MPM-lite, but the reconstruction may use another open-source method. Match 640 x 400 pixels, 32 fps, and all 49 frames, at times t = frame / 32 seconds. Keep water and sand as distinct materials. Export all moving matter with stable point identities, in world-space metres with Z up. Every rendered surface, including the pipes and glass, must be exported.

Deliver a short `solution/README.md` stating the method, approximation choices, dependencies and exact rebuild command. Include all required source and third-party notices. Reference output and evaluation files are private and are not available during the attempt.

## Success
The private evaluator compares material-specific 3D shape, complete particle paths, displacement distributions, centroids, spatial spread and three-view occupancy over time. Numeric success requires at least 80/100 plus every stated hard error limit. A clean rebuild, geometry/render consistency and correct scene appearance are additionally mandatory. Read FORMAT.md for details. Visual similarity alone is insufficient.
