The prompt
Recreate this video as a single HTML page in three.js: the recreation on the left, the original on the right, with controls to compare them. Understand the film first and split it into shots. Build one shot at a time, play it, compare it with the video, and keep improving it until it reaches 80% accuracy. If a shot still falls short after 20 attempts, keep the best version and move on.
How the loop engine works
- Understand: the local model watches the film and reads its timeline.
- Split: four shots, a camera push into the phone's lenses, a glowing title card, and two long live-action walks toward the camera.
- Process: build one shot in three.js.
- Validate: play it, take screenshots, and measure them against the matching frames of the original.
- Decide: on target, lock the shot and start the next; below target, find the difference, fix it and run again; out of attempts, keep the best and move on, so the loop never gets stuck.
What was delivered
- A single page that plays the three.js recreation beside the original, frame-locked to the same timeline.
- Comparison views: side by side, a 50% overlay, and a difference view that turns black where the two match.
- Playback controls: play and pause, frame step, jump between cuts, speed from quarter to full, and a softness setting.
- Brightness, colour and camera motion for the live shots driven by per-frame measurements of the original film.
- The title card retitled: “The following was shot on πPIConsole”.
Why it matters
A prompt asks once and hopes. A loop engine sets a goal, measures every result against something real, and decides for itself whether to retry, lock or move on. The difference view lets anyone see the accuracy with their own eyes, and it all ran on a local model.