{
  "schema_version": 1,
  "profile_version": "1.0.0",
  "action_id": "wing-flap",
  "base_parameters": "config/actions/wing-flap/parameters.json",
  "sampling_algorithm": "sha256-keyed-uniform-v1",
  "variations": {
    "cycle_frames": {
      "scope": "cycle",
      "distribution": "uniform",
      "min": 8.5,
      "max": 13,
      "count": 6,
      "correlation": 0.35,
      "sum": 64
    },
    "amplitude_factors": {
      "scope": "cycle",
      "distribution": "uniform",
      "min": 0.9,
      "max": 1.03,
      "count": 6,
      "correlation": 0.35
    },
    "downstroke_fractions": {
      "scope": "cycle",
      "distribution": "uniform",
      "min": 0.39,
      "max": 0.44,
      "count": 6,
      "correlation": 0.35
    },
    "body.bounce_m": {
      "scope": "cycle",
      "distribution": "uniform",
      "min": 0.00072,
      "max": 0.00125,
      "count": 6,
      "correlation": 0.35
    },
    "body.opening_crouch_m": {
      "scope": "action",
      "distribution": "uniform",
      "min": 0.00075,
      "max": 0.00105
    },
    "body.opening_pitch_deg": {
      "scope": "action",
      "distribution": "uniform",
      "min": 1.0,
      "max": 1.3
    },
    "fold_side_offsets_frames.L": {
      "scope": "action",
      "distribution": "uniform",
      "min": -1,
      "max": 0
    },
    "fold_side_offsets_frames.R": {
      "scope": "action",
      "distribution": "uniform",
      "min": 1.5,
      "max": 3
    },
    "joint_timing.0.open_duration": {
      "scope": "action",
      "distribution": "uniform",
      "min": 22,
      "max": 24
    },
    "joint_timing.1.open_duration": {
      "scope": "action",
      "distribution": "uniform",
      "min": 20,
      "max": 22
    },
    "joint_timing.2.open_duration": {
      "scope": "action",
      "distribution": "uniform",
      "min": 18,
      "max": 20
    }
  },
  "constraints": {
    "start_end_pose": "perch_neutral",
    "fixed_contact": true,
    "no_per_frame_randomness": true
  },
  "capabilities": {
    "implemented": [
      "cycle_frames",
      "amplitude_factors",
      "downstroke_fractions",
      "body.bounce_m",
      "body.opening_crouch_m",
      "body.opening_pitch_deg",
      "fold_side_offsets_frames.L",
      "fold_side_offsets_frames.R",
      "joint_timing.0.open_duration",
      "joint_timing.1.open_duration",
      "joint_timing.2.open_duration"
    ],
    "not_implemented_yet": [
      "行動回数の変更",
      "対象部位の選択",
      "行動選択・気分・個体性の統合",
      "スマホ上での動的再生"
    ]
  },
  "range_review": "technical_bounds_only_human_review_required_for_new_samples"
}
