{
  "visual_id": "A02",
  "title": "Composition and the burning clock",
  "classification": "new_simulation",
  "status": "validated_within_scope",
  "run_ids": [
    "20260927T134010148694Z-E03-trajectories"
  ],
  "experiment_ids": [
    "E03-trajectories"
  ],
  "claim_ids": [
    "C03"
  ],
  "input_files": [
    {
      "path": "runs/20260927T134010148694Z-E03-trajectories/results.json",
      "sha256": "163523d5f7e90f576fe005827d521f1b83c74c51bb7f8150f44bc80bbf28c287"
    },
    {
      "path": "runs/20260927T134010148694Z-E03-trajectories/baseline.npz",
      "sha256": "8b81004276736fad3333872171abaccd38f16fc070e2e28c2082d69ac9a5c728"
    },
    {
      "path": "runs/20260927T134010148694Z-E03-trajectories/raised.npz",
      "sha256": "ff9cbbaaa36ca6f6f94d834f84ec2fed1e93437dccdcd70485918e14bf25aa06"
    },
    {
      "path": "runs/20260927T134010148694Z-E03-trajectories/lowered.npz",
      "sha256": "787e5fdcce55ff8ac444d40df91777f4372810ba0de3beef1fae3b7f93681b8f"
    },
    {
      "path": "runs/20260927T134010148694Z-E03-trajectories/density-compensated.npz",
      "sha256": "bd4c588b5b35f9cab967d054d8a786a354b814573272bdc0dae460f728d85a42"
    }
  ],
  "frame_data": "A02-frames.json",
  "frame_sha256": "fffa90e8b25dae6a6b733db34d1215d705d45aabb08b452f95f502c04ffe9486",
  "caption": "Stored parcel trajectories are linearly sampled in physical time, preserving nonnegative mass fractions and the baryon invariant. The density-compensated case raises the resonance by 39.9 keV and increases density by the derived exponential factor. It is a controlled parcel identity, not a stellar density prediction.",
  "alt_text": "Baseline and perturbed helium, carbon and oxygen fractions can be compared at the same elapsed time or helium depletion. Density compensation nearly restores composition while changing the clock.",
  "time_interpolation": "Frames sample saved arrays or explicit analytic equations. Plot-line interpolation does not add a new evolution solve.",
  "generator_sha256": "3ab3602467624926777d30a93a98b83730c4c7c9094af6fb744ac01c4c92536c",
  "playback": "Paused by default, manual play and frame slider; motion stops when hidden or reduced-motion preference changes.",
  "extension_generator_sha256": null,
  "render_command": "uv run --offline --frozen python run.py full animations",
  "output_sha256": {
    ".html": "5ca146cff5656e40c00aca9d24781dc292b26474964369c079f7167cd42a7d03",
    "-poster.svg": "93815539c1ba08ec175b090bd6028f6b668f10b3c6b4898269224e4df61e7d0a",
    "-poster.png": "462a87f639df38cdf2df9354ef3504a4739023d02b05aa34813497541798f5e7",
    "-transcript.md": "4307a7d9a98bcfb3b47707dea262210dff0a0ba6208ca7bd5ef331c477583513"
  }
}
