{
  "created_utc": "2026-09-09T11:51:13.294838+00:00",
  "source_checkpoint": "checkpoint-17",
  "source_progress_sha256": "1823385f0c1fb068d8f10f6ba5579b4c1aae3827a8c921395492c5dfb2585da3",
  "source_video_sha256": "da63f0d7b6e58aa7670c25dfc10926fd7feb16ef3cd8d4da77eaddddf69a3302",
  "source_cfd_states": 1966,
  "samples_read_and_hash_verified": 1966,
  "equivalent_sample_orderings": 2,
  "first_time_s": 0.0,
  "last_time_s": 0.06809336586,
  "fps": 60,
  "speed_multiplier": 5,
  "playback_slowdown": 220.6569792886381,
  "encoded_frames": 909,
  "video_duration_s": 15.15,
  "last_frame_file": "frame-0902.png",
  "video_sha256": "b5870f4f0d38041b8cb8675f9c07bef4fc776f04e7bdb75703fcaa0d6dddcbad",
  "video_bytes": 3463598,
  "size_px": [
    1800,
    1100
  ],
  "integration": "Second-order midpoint RK2; maximum 12.5 microseconds; original slice triangles for spatial interpolation; linear temporal interpolation of saved velocity.",
  "visualization": "Projected 2D tracers follow U_y and U_z on X=+111 mm, not full 3D fluid paths. Pressure is interpolated for display. Random reseeding is visual only, not particle concentration.",
  "particles_per_panel": 320,
  "trail_frames": 11,
  "clouds": [
    {
      "respawns_including_initial": 1670,
      "integrated_particle_steps": 2126330,
      "integrated_travel_mm": 12944.705810072071,
      "max_step_displacement_mm": 0.048199031555800506
    },
    {
      "respawns_including_initial": 1887,
      "integrated_particle_steps": 2126113,
      "integrated_travel_mm": 27613.477034821604,
      "max_step_displacement_mm": 0.06387527487048085
    }
  ],
  "render_seconds": 308.9529999999795,
  "preview": false,
  "renderer_sha256": "0b9d9a9c49481e1a01386f217270a3791ef5bde73e0bcd0be619b4c8d4057bff",
  "verification": "All used CFD samples hash checked; complete source interval integrated; particle movement recorded; full video decode, dimensions, frame count and duration checked.",
  "presentation_revision": {
    "created_utc": "2026-09-09T20:28:40.090547+00:00",
    "label": "About 1/200th speed",
    "previous_video_sha256": "8b2f3a756b81aed7948b7bc082d84951d689c2bee2205d4576ee2bc5c57f0b95",
    "method": "Only the static subtitle band is replaced; original timestamps, frame count and frame pacing are retained.",
    "encoder": "libx264",
    "crf": 24,
    "preset": "slow",
    "gop_frames": 60,
    "faststart": true
  }
}
