{
  "python": "3.11.14 (main, Dec 17 2025, 21:07:37) [Clang 21.1.4 ]",
  "platform": "Linux-6.18.38-x86_64-with-glibc2.42",
  "packages": {
    "matplotlib": "3.11.1",
    "kiwisolver": "1.5.1",
    "rocketsim": "2.2.1",
    "numpy": "2.4.6",
    "contourpy": "1.3.3",
    "fonttools": "4.64.0",
    "cycler": "0.12.1",
    "six": "1.17.0",
    "cmeel": "0.61.0",
    "pillow": "12.3.0",
    "python-dateutil": "2.9.0.post0",
    "packaging": "26.3",
    "pyparsing": "3.3.2"
  },
  "contact_geometry": "Car point/normal reconstructed from rounded box at callback; validated against actual sphere callback point/normal.",
  "binding_tag": "v2.2.1",
  "binding_commit": "2da51b1dac7b8127127613a5ff30e490bdd70dd8",
  "integrated_upstream_commit": "f80f9d90f922315c5877a81987845d3242ff1780",
  "upstream_head_inspected": "c2baacb8f4b441dd8505e63c2aeb5a1679b60b02",
  "extension_sha256": "c1f246a531eb7a9b957e39acb8d61d740ec9d1d3befca05d2c05777c543ee023",
  "tick_rate": 120,
  "mutators": {
    "ball_drag": 0.029999999329447746,
    "ball_hit_extra_force_scale": 1.0,
    "ball_mass": 30.0,
    "ball_max_speed": 6000.0,
    "ball_radius": 91.25,
    "ball_world_friction": 0.3499999940395355,
    "ball_world_restitution": 0.6000000238418579,
    "boost_accel_air": 1058.3333740234375,
    "boost_accel_ground": 991.6666870117188,
    "boost_pad_cooldown_big": 10.0,
    "boost_pad_cooldown_small": 4.0,
    "boost_used_per_second": 33.33333206176758,
    "bump_cooldown_time": 0.25,
    "bump_force_scale": 1.0,
    "car_mass": 180.0,
    "car_spawn_boost_amount": 33.33333206176758,
    "car_world_friction": 0.30000001192092896,
    "car_world_restitution": 0.30000001192092896,
    "demo_mode": 0,
    "enable_car_ball_collision": true,
    "enable_car_car_collision": true,
    "enable_team_demos": false,
    "goal_base_threshold_y": 5124.25,
    "gravity": [
      0.0,
      0.0,
      -650.0
    ],
    "jump_accel": 1458.3333740234375,
    "jump_immediate_force": 291.6666564941406,
    "respawn_delay": 3.0,
    "unlimited_double_jumps": false,
    "unlimited_flips": false
  },
  "arena_config": {
    "max_aabb_len": 370.0,
    "max_objects": 512,
    "max_pos": [
      -5600.0,
      -6000.0,
      0.0
    ],
    "memory_weight_mode": 0,
    "min_pos": [
      -5600.0,
      -6000.0,
      0.0
    ],
    "no_ball_rot": false,
    "use_custom_broadphase": true,
    "max_pos_getter_bug": "Binding Getmax_pos returns minPos; source default below is actual configured bound.",
    "max_pos_source_default": [
      5600.0,
      6000.0,
      2200.0
    ]
  },
  "constants": {
    "CAR_MAX_SPEED": 2300.0,
    "CAR_MAX_ANG_SPEED": 5.5,
    "BALL_MAX_SPEED": 6000.0,
    "BALL_MAX_ANG_SPEED": 6.0,
    "CARBALL_COLLISION_FRICTION": 2.0,
    "CARBALL_COLLISION_RESTITUTION": 0.0,
    "BALL_CAR_EXTRA_IMPULSE_Z_SCALE": 0.3499999940395355,
    "BALL_CAR_EXTRA_IMPULSE_FORWARD_SCALE": 0.6499999761581421,
    "BALL_CAR_EXTRA_IMPULSE_MAXDELTAVEL_UU": 4600.0,
    "BALL_CAR_EXTRA_IMPULSE_FACTOR_CURVE": {
      "0.0": 0.6499999761581421,
      "500.0": 0.6499999761581421,
      "2300.0": 0.550000011920929,
      "4600.0": 0.30000001192092896
    }
  },
  "solver_source_settings": {
    "source": "Arena.cpp + bundled btContactSolverInfo.h; not modified",
    "solver": "btSequentialImpulseConstraintSolver",
    "iterations": 10,
    "split_impulse": true,
    "split_impulse_penetration_threshold": 1e+30,
    "erp": 0.2,
    "erp2": 0.8,
    "global_cfm": 0.0,
    "mode": "SOLVER_USE_WARMSTARTING | SOLVER_SIMD",
    "restitution_velocity_threshold_bt": 0.2,
    "bullet_length_scale_uu": 50.0,
    "time_step": 0.008333333333333333,
    "max_substeps_argument": 0,
    "scalar": "float32"
  },
  "uu_to_kmh": 0.036,
  "units": "1 uu = 1 cm; 1 uu/s = 0.036 km/h",
  "limits": {
    "target_yaw_deg": 0.0,
    "horizontal_deg": 5.0,
    "elevation_min_deg": 0.0,
    "elevation_max_deg": 30.0
  },
  "body_mapping": {
    "Octane": "Octane",
    "Fennec": "Octane",
    "Harbinger": "Octane",
    "Scarab": "Octane",
    "Dominus": "Dominus",
    "2016 Batmobile": "Plank",
    "Breakout": "Breakout",
    "Hybrid (preset)": "Hybrid"
  }
}
