{
  "schema_version": 1,
  "action_id": "preen",
  "seed": 2026101602,
  "mode": "replay_snapshot",
  "profile": "config/actions/preen/variation.json",
  "profile_sha256": "056ffca9b37a91e445f3cc89abc73e934254773cebf56beddabca4abc8c271f0",
  "parameters_sha256": "9d65175fa9d40fe4daa182750210df4c54fbe4f575a63a063edb031c749f05ac",
  "resolved_parameters": {
    "joints_m": [
      [
        0.014,
        -0.012,
        0.061
      ],
      [
        0.038,
        -0.004,
        0.06
      ],
      [
        0.062,
        -0.018,
        0.06
      ],
      [
        0.084,
        -0.012,
        0.06
      ]
    ],
    "colors": {
      "flight": [
        0.76,
        0.84,
        0.67
      ],
      "edge": [
        0.57,
        0.7,
        0.62
      ],
      "coverts": [
        0.52,
        0.75,
        0.61
      ]
    },
    "fold_angles_deg": [
      78,
      -145,
      78
    ],
    "fold_roll_deg": 75,
    "flap_peak_deg": 42,
    "cycles": 6,
    "active_start_frame": 38,
    "active_end_frame": 102,
    "note": "Same six varied beats; world-vertical bounded body rebound, preparatory crouch, three-frame side difference while folding. Static upper-body posture correction keeps foot contacts planted.",
    "folded_joints_m": [
      [
        0.016,
        -0.012,
        0.061
      ],
      [
        0.019,
        0.007,
        0.045
      ],
      [
        0.02,
        -0.016,
        0.058
      ],
      [
        0.02,
        -0.004,
        0.04
      ]
    ],
    "downstroke_fraction": 0.4,
    "recovery_fold": [
      0.05,
      0.36,
      0.52
    ],
    "recovery_pitch_deg": 40,
    "tip_lag_deg": 9,
    "cycle_frames": [
      13,
      9,
      11,
      8.5,
      12,
      10.5
    ],
    "downstroke_fractions": [
      0.4,
      0.43,
      0.39,
      0.42,
      0.4,
      0.44
    ],
    "amplitude_factors": [
      0.92,
      1.03,
      0.96,
      1,
      0.9,
      0.95
    ],
    "joint_timing": [
      {
        "open_start": 9,
        "open_duration": 23,
        "close_start": 111,
        "close_duration": 21
      },
      {
        "open_start": 14,
        "open_duration": 21,
        "close_start": 107,
        "close_duration": 20
      },
      {
        "open_start": 19,
        "open_duration": 19,
        "close_start": 103,
        "close_duration": 19
      }
    ],
    "posture": {
      "upright_correction_deg": -14,
      "pivot_m": [
        0,
        0.006,
        0.028
      ],
      "foot_controllers_unchanged": true
    },
    "body": {
      "opening_crouch_m": 0.0009,
      "opening_pitch_deg": 1.2,
      "bounce_m": [
        0.0011,
        0.00072,
        0.00125,
        0.00088,
        0.00105,
        0.00078
      ],
      "beat_pitch_deg": 0.7,
      "settle_m": 0.00025,
      "fold_roll_deg": 0.35
    },
    "fold_side_offsets_frames": {
      "L": -0.5,
      "R": 2.5
    },
    "timeline": {
      "fps": 30,
      "end_frame": 140,
      "envelope": {
        "in_start": 34,
        "in_duration": 6,
        "out_start": 99,
        "out_duration": 7
      },
      "opening_body": {
        "start": 5,
        "duration": 33
      },
      "closing_body": {
        "start": 105,
        "duration": 32
      }
    },
    "wing_detail": {
      "segment_sweep_deg": [
        0,
        -8,
        12
      ],
      "segment_phase_lag_rad": 0.3,
      "open_pitch_deg": -32,
      "fan_center_index": 4.5,
      "fan_step_deg": 0.6,
      "tip_phase_lag_rad": 0.55,
      "folded_feather_direction": [
        0,
        0.5,
        -1
      ]
    },
    "source_time_map": {
      "output_frames": [
        0,
        10,
        50,
        70,
        140
      ],
      "source_frames": [
        0,
        10,
        50,
        70,
        140
      ]
    }
  },
  "provenance": "Approved v20 parameters imported as an explicit replay snapshot; these values were not originally sampled from this seed. Future seeds use the profile sampler.",
  "sample_index": 0,
  "review_status": "provisional_accepted"
}
