{
  "schema_version": 1,
  "source": "closed_loop_kinematic_bicycle",
  "modes": {
    "gt": {
      "source_files_sha256": {
        "src/perception_core/perception_core/__init__.py": "b3bf4b5939f83fa93021da82bad7cc006493cc8ff4fbc6ae3f988e034e38d459",
        "src/perception_core/perception_core/common/__init__.py": "88dcf415b58e750603f0fa7e219f72423b32cde03eb31654b0a4a43ba8890c6d",
        "src/perception_core/perception_core/common/ego_frame.py": "3c4584427355be8d889931b1c49e01de19d5cf19e621eef488050ce30383e039",
        "src/perception_core/perception_core/common/geometry.py": "1dc662d3f186014e9673a0fb266122324e15ff7757481b3bbc8830af345798e9",
        "src/perception_core/perception_core/common/iou.py": "4a44773b1f22984d0800b6b83e1c35de31f2bd4b952e64b563872578125ebcc0",
        "src/perception_core/perception_core/common/types.py": "3d29f4998047e4a130e3792c6a86213b69c7a2021656170856d6c7c87256fcbe",
        "src/perception_core/perception_core/control/__init__.py": "1eabf6b4a018c73e2a2f79b89c433ebf7aa3aed0d4907074a8d5dc8ea1ea4855",
        "src/perception_core/perception_core/control/longitudinal.py": "2a9c54d5a85969292cf5398bd59d4a1ce3e3db12a411d968e1e588cea2103a56",
        "src/perception_core/perception_core/control/vehicle.py": "4521b6717a55e4c3ad3acdc335767a18c0cb518fef6fbec5e4d161daa4d3cf2b",
        "src/perception_core/perception_core/detection/__init__.py": "2adc3b076ebe1426cde5b8ee8ed0540bdb9c30d81ac0bfb002acfbbefb7c2e63",
        "src/perception_core/perception_core/detection/base.py": "4bcc3d728efcb66a3d983b9e9c4f85b9f744937f074d823064b20308063c8e28",
        "src/perception_core/perception_core/detection/lidar_cluster.py": "97fd383f56f56e104ced405257eaa9659334c4fde7cca78743439b90b7577aa5",
        "src/perception_core/perception_core/detection/mock.py": "202e94d5e587dcf1b073da3fe0bbb98ee866f71b7ad638794637c32317a70612",
        "src/perception_core/perception_core/detection/vggt.py": "798ed0bc2eb7b1eabb8d6d7f08dcebe99f7acf4cfa3d3da762e29bb6d3840b32",
        "src/perception_core/perception_core/detection/yolo.py": "f99a5d13fbc05ad6e1591c6f8f0b974bd9ab3c38181d8ecb83b1d0229b12bacd",
        "src/perception_core/perception_core/eval/__init__.py": "0883edb9650e0237084bd84727a4ff16f8237e8855e846ebbe2d3ba4a430aeeb",
        "src/perception_core/perception_core/eval/association.py": "a88dc0b45e0ba2ed66975e2bee026d8bb40ba579366f41f7ab993bac29dd2b96",
        "src/perception_core/perception_core/eval/control_metrics.py": "a6527a28b91eb811531fb956288b6da2c4961465f60848e664b8467d7322ca85",
        "src/perception_core/perception_core/eval/metrics.py": "9c08952e33526eef3fc3edbc9953ab3b909bc19c8cc2659215e5142286b0eabd",
        "src/perception_core/perception_core/eval/prediction_metrics.py": "6a273e59dd7ce90a7751222976185b7590a7157500281fd863abc6dc5f3464e7",
        "src/perception_core/perception_core/fusion/__init__.py": "2eae46d74c672bd656890d17965cb438384c27107cd1b27a3f03aa704ed1a465",
        "src/perception_core/perception_core/fusion/late_fusion.py": "431310a98946bf7ed89fa46252e528e4f3bf6c55792066912b26b2f2fc0520b1",
        "src/perception_core/perception_core/io/__init__.py": "e7d7fe86bc1461d73c32037760288a3ce98b2ccba2ba7d94fac35f36e3bd94b7",
        "src/perception_core/perception_core/io/carla_dataset.py": "e233b017520b364a8dd993936d6b5bc942d3a39fdc2a35760c5e88132876a934",
        "src/perception_core/perception_core/io/kitti.py": "7f70ccb87210f8938dc3bd147d57e4b442b602fff4422672e7cdf10581451b4e",
        "src/perception_core/perception_core/io/synthetic.py": "301dab687fff0019d11e46bd07f18cc4c050ea4e1f9a8351171c0b9d47d7d564",
        "src/perception_core/perception_core/pipeline.py": "f12a2d760a52e13ac8efce44a28727723ddc04dbd1db57147ec523d41ef6c333",
        "src/perception_core/perception_core/planning/__init__.py": "0ba502633e89fb15c2ffd024cae88a2ac2b9dd8d5ca9f761542d4d2c5c6ed0c3",
        "src/perception_core/perception_core/planning/collision.py": "898a5a2ba11e3ea4624c3b9a2f67169de8a8544a2842d572fdd40035e58a6cc0",
        "src/perception_core/perception_core/planning/local.py": "216bd8d157c1b656a15ec082fbb340872deaf480ab76b68f2e61ee33edc5d401",
        "src/perception_core/perception_core/planning/route.py": "f6bb5224339d8c5e737069240efd988ceb3fa033ae7e8fe2be6d480a3afc867c",
        "src/perception_core/perception_core/planning/types.py": "eaef094bd765ff1c4f0303d09e68a22af2581a74a6969c0467d59037c6057980",
        "src/perception_core/perception_core/prediction/__init__.py": "dfcc98201cb48b851972c32083d8ffe4ba8236363b1c19816fbaea6fa3810f2d",
        "src/perception_core/perception_core/prediction/history.py": "326aab09d5cbaf36ee6bbd40bc99b199d75b05b8b1d020a96666c37114a76211",
        "src/perception_core/perception_core/prediction/physics.py": "0dee7cfbfb84c55430df267d5ce0170ef20aba2c8b592467d9c0cdbfd168e7b1",
        "src/perception_core/perception_core/simulation/__init__.py": "5a7493db0ef45aa9cded3a7dd106020d1eb9154f1e54197f61244f1949606a65",
        "src/perception_core/perception_core/simulation/driving.py": "42c8fa5623b44672e39f0f9b06f8983d812245d6c1710783ec5e03214f42e90d",
        "src/perception_core/perception_core/tracking/__init__.py": "ee985298aef685bdfe7dd37d90be9dcdfa22b6e3f22284297ade471993c194cf",
        "src/perception_core/perception_core/tracking/imm.py": "296e7b49b3480b9d54704a1256dc81f10d93fcb1b555318e261d299c3bce1361",
        "src/perception_core/perception_core/tracking/kalman.py": "92281a0058f61a9d57a16ac49f3975d6c795ccfd912a2ecb4219b47b4368b2aa",
        "src/perception_core/perception_core/tracking/mot.py": "b49a06def8445d3a58d2cafb283222eccd9ee3beca0442aa96fe3696c85abb23",
        "src/perception_core/perception_core/viz/__init__.py": "25f09fb8ba37082204e17c6f5543e3cafda38bb490ea3e1cc47c1cea27b4e744",
        "src/perception_core/perception_core/viz/bev.py": "88d7dfa133af2a2aaf000041b2eb06935a8f63ce8b8196235a713e0adfd4279e",
        "src/perception_core/perception_core/viz/camera.py": "edf1b0a3505a6294f682719fe970e891e70cc678509328104c827a5ddbfcd588",
        "src/perception_core/perception_core/viz/palette.py": "4323af60982efffde1c7d022b043a7762f2e0e0bce5d5a431e52c8a6fcea3ddf",
        "src/perception_core/perception_core/viz/replay.py": "7d2ef21c2eb70b697c75035715cc0a7c62c8524a38d0f69294309bddbe1b0617"
      },
      "schema_version": 1,
      "source": "closed_loop_kinematic_bicycle",
      "detector": "gt",
      "seed": 2026,
      "python": "3.12.13",
      "timing_scope": "LocalPlanner.plan + PathController.command; excludes perception, plant, evaluation and rendering",
      "scenarios": [
        {
          "name": "cruise",
          "title": "巡航与到达终点",
          "file": "gt/cruise.json",
          "sha256": "c2fa9b28dcedcb18b8e0e7c98acfb29312d68193152a7296d54d3c5182ce208e",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.1967968197063114,
            "goal_distance_m": 0.6450135280984739,
            "elapsed_simulation_s": 14.599999999999778,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 6.263106603644231,
              "p95": 6.408241076860577,
              "max": 6.8774649407714605
            }
          },
          "source_sha256": "2c249c9cfb4e13bef135b8e5f454a15c94d6bafef73cc261f8c8ec2b9f2204e0"
        },
        {
          "name": "curve",
          "title": "弯道跟踪与限速",
          "file": "gt/curve.json",
          "sha256": "5c987f265f83364e99b08e5b70795dd651541ee85f03c77f440a9a7a45f46311",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.352730239688271,
            "final_speed_mps": 0.1900729421309856,
            "goal_distance_m": 0.6430049541895007,
            "elapsed_simulation_s": 15.599999999999756,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 6.173237693306225,
              "p95": 6.311447266489267,
              "max": 6.581377936527133
            }
          },
          "source_sha256": "f9d345e7e8322bac1987baa45077476c6913d9a0b4e4e21138a7830c7df5adba"
        },
        {
          "name": "obstacle",
          "title": "静态障碍绕行",
          "file": "gt/obstacle.json",
          "sha256": "a771d893f223154881d44d936b1cf6756f72cb5db5081f8a44ac5c12fb52ad0e",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 1.0632704910570903,
            "max_lateral_offset_m": 3.0391890823724523,
            "final_speed_mps": 0.1836164235652079,
            "goal_distance_m": 0.6723496789418715,
            "elapsed_simulation_s": 14.699999999999775,
            "statuses": [
              "avoidance",
              "cruise",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 8.858636699654665,
              "p95": 8.965381421148777,
              "max": 28.868517954833806
            }
          },
          "source_sha256": "885f46e7571647800a01c3bd675a3e92c29d38b42b0ca70931fea1477f0ed522"
        },
        {
          "name": "following",
          "title": "跟车减速",
          "file": "gt/following.json",
          "sha256": "63bb48e12c18270a8bd9d45d910c05d7389cea878f2df57a493d0c364becdb34",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 6.525146674359107,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.1904511195641565,
            "goal_distance_m": 0.6457975033775227,
            "elapsed_simulation_s": 24.599999999999564,
            "statuses": [
              "following",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 8.707158317928945,
              "p95": 9.576132881920785,
              "max": 10.044416994787753
            }
          },
          "source_sha256": "3625712e1571a6091448c6011a8de108b7f3c78024087c6a3c19561cb8073615"
        },
        {
          "name": "crossing",
          "title": "横穿行人让行",
          "file": "gt/crossing.json",
          "sha256": "489a5cab59d20fb82aec1694fb5c4e535f99cb5ee8cc3d83b3cc344d523cb861",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 0.6959999999999101,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.19280071826073591,
            "goal_distance_m": 0.6419318304063069,
            "elapsed_simulation_s": 16.79999999999973,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 8.0689247442718,
              "p95": 8.833942213095725,
              "max": 8.957534097135067
            }
          },
          "source_sha256": "92a00b369f2622469948fdb44392a14724d142f62dc428dc0cb296282d8ac7eb"
        },
        {
          "name": "traffic_light",
          "title": "红灯停车与绿灯起步",
          "file": "gt/traffic_light.json",
          "sha256": "cd730c913ecd208cf0b950b41e7ff7bcbcaa60bd711eeac1d04d6bc4305323bc",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.1786041628538131,
            "goal_distance_m": 0.6309082804253023,
            "elapsed_simulation_s": 23.599999999999586,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "stop_line"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 6.164338723618836,
              "p95": 6.309899548068643,
              "max": 6.596941966563463
            }
          },
          "source_sha256": "101aae347bc6e3eb793ca82d66328ad5d5f30bf7302ca237316f29187f3bb9fa"
        },
        {
          "name": "blocked",
          "title": "道路阻断停车",
          "file": "gt/blocked.json",
          "sha256": "ceaba7356832ac0bb17d1c5209f30bd18f979cbf53c5433b532907577c391f98",
          "metrics": {
            "success": true,
            "goal_reached": false,
            "expected_outcome": "stopped",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 6.8957011291387005,
            "max_lateral_offset_m": 0.12323204693525018,
            "final_speed_mps": 2.2065072065111683e-06,
            "goal_distance_m": 54.9969998778602,
            "elapsed_simulation_s": 13.99999999999979,
            "statuses": [
              "cruise",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 2.585000570687815,
            "planning_control_ms": {
              "mean": 8.954609503936288,
              "p95": 8.904538035858423,
              "max": 31.01243101991713
            }
          },
          "source_sha256": "5d6a92f14a0d922a8965a5e035a23ebc612ca7d9046ef74b376eb4c1d128f6a0"
        },
        {
          "name": "emergency",
          "title": "突现障碍紧急制动",
          "file": "gt/emergency.json",
          "sha256": "bb5017bedc10a30ccdfc41c598bd3b01fb9649e2cf25e514e34bd6692885a545",
          "metrics": {
            "success": true,
            "goal_reached": false,
            "expected_outcome": "stopped",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 0.6414419718700906,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 4.809924746410965e-06,
            "goal_distance_m": 52.24144197187009,
            "elapsed_simulation_s": 11.999999999999833,
            "statuses": [
              "cruise",
              "emergency_stop",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 7.0,
            "planning_control_ms": {
              "mean": 7.928888048627414,
              "p95": 8.84767379029654,
              "max": 9.161485941149294
            }
          },
          "source_sha256": "0dc33ccfa7b54cb0d084e8b93b35c8a8ad331d7bb29f5dba65483f033fa31676"
        },
        {
          "name": "dropout",
          "title": "感知超时制动与恢复",
          "file": "gt/dropout.json",
          "sha256": "3f6a2e4fdc63ad13307e132eb32ae381dfbdb26f94808900f45bae3935afd61d",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.17946560135154452,
            "goal_distance_m": 0.6315801637302627,
            "elapsed_simulation_s": 20.699999999999648,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "stale_input"
            ],
            "max_abs_acceleration_mps2": 7.0,
            "planning_control_ms": {
              "mean": 5.087300563060965,
              "p95": 6.370169966248795,
              "max": 6.7585420329123735
            }
          },
          "source_sha256": "6b527474208106021e9634f192d32c63e2f7e68f1786e9ee9b5b635543c322e9"
        },
        {
          "name": "reroute",
          "title": "封路后的 A* 路线搜索",
          "file": "gt/reroute.json",
          "sha256": "60568caf1f1428ceb4c5cee4cdcbb3a1515f7643e69bf61c1d0d81cd071f4d26",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.9449963383219216,
            "final_speed_mps": 0.1836446092903586,
            "goal_distance_m": 0.6434485783335813,
            "elapsed_simulation_s": 23.299999999999592,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 6.213168106161249,
              "p95": 6.363624095683917,
              "max": 6.694976007565856
            }
          },
          "source_sha256": "c3a488b5b0165289afc5ffb97e0363e0ae12e87084f039a8f33990011a283172"
        },
        {
          "name": "lead_braking",
          "title": "前车行驶后急刹",
          "file": "gt/lead_braking.json",
          "sha256": "c82a12f2450d9c5a957e0760eb0978de0d90e88599ff7444d1d0f3cc3104f6a1",
          "metrics": {
            "success": true,
            "goal_reached": false,
            "expected_outcome": "stopped",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 5.975375648790873,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 1.224257287061168e-11,
            "goal_distance_m": 44.1587089821242,
            "elapsed_simulation_s": 19.999999999999662,
            "statuses": [
              "following",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 8.305694767041132,
              "p95": 8.759961056057364,
              "max": 9.431960992515087
            }
          },
          "source_sha256": "8dd24d10c7c9c2fbf7b379dbb59a3acf2fcd517864abbd6f89d01ab95d4fa08f"
        },
        {
          "name": "cut_in",
          "title": "邻道车辆切入并跟车",
          "file": "gt/cut_in.json",
          "sha256": "512e97d6b28136e5c69a0f7ec7dade9bf6cdfb0760388ae49f5a08391a564e66",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 3.4513250378976252,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.19772203159381346,
            "goal_distance_m": 0.6495325945477219,
            "elapsed_simulation_s": 21.59999999999963,
            "statuses": [
              "cruise",
              "following",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 9.08961741646434,
              "p95": 10.346078989095986,
              "max": 28.602734091691673
            }
          },
          "source_sha256": "6a3b3b2592213fab7cb14a6c51af96cfacecba69846575151c672c43a28dda0f"
        },
        {
          "name": "signal_crossing",
          "title": "绿灯起步后连续行人横穿",
          "file": "gt/signal_crossing.json",
          "sha256": "6f4a91b964075cbd437dcdfbd2fd573cc451ec0232b3c1ef2c3dce266d234972",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 0.6848340708706019,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.19457910636118564,
            "goal_distance_m": 0.6433236132758537,
            "elapsed_simulation_s": 25.499999999999545,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "stop_line",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 9.643998693263711,
              "p95": 11.004646017681807,
              "max": 12.364830006845295
            }
          },
          "source_sha256": "468b2a2b38cc124189c79a2d0cf28c0a9ee12755783403919cc9e4d9b81e8901"
        }
      ],
      "passed": 13,
      "total": 13
    },
    "lidar": {
      "source_files_sha256": {
        "src/perception_core/perception_core/__init__.py": "b3bf4b5939f83fa93021da82bad7cc006493cc8ff4fbc6ae3f988e034e38d459",
        "src/perception_core/perception_core/common/__init__.py": "88dcf415b58e750603f0fa7e219f72423b32cde03eb31654b0a4a43ba8890c6d",
        "src/perception_core/perception_core/common/ego_frame.py": "3c4584427355be8d889931b1c49e01de19d5cf19e621eef488050ce30383e039",
        "src/perception_core/perception_core/common/geometry.py": "1dc662d3f186014e9673a0fb266122324e15ff7757481b3bbc8830af345798e9",
        "src/perception_core/perception_core/common/iou.py": "4a44773b1f22984d0800b6b83e1c35de31f2bd4b952e64b563872578125ebcc0",
        "src/perception_core/perception_core/common/types.py": "3d29f4998047e4a130e3792c6a86213b69c7a2021656170856d6c7c87256fcbe",
        "src/perception_core/perception_core/control/__init__.py": "1eabf6b4a018c73e2a2f79b89c433ebf7aa3aed0d4907074a8d5dc8ea1ea4855",
        "src/perception_core/perception_core/control/longitudinal.py": "2a9c54d5a85969292cf5398bd59d4a1ce3e3db12a411d968e1e588cea2103a56",
        "src/perception_core/perception_core/control/vehicle.py": "4521b6717a55e4c3ad3acdc335767a18c0cb518fef6fbec5e4d161daa4d3cf2b",
        "src/perception_core/perception_core/detection/__init__.py": "2adc3b076ebe1426cde5b8ee8ed0540bdb9c30d81ac0bfb002acfbbefb7c2e63",
        "src/perception_core/perception_core/detection/base.py": "4bcc3d728efcb66a3d983b9e9c4f85b9f744937f074d823064b20308063c8e28",
        "src/perception_core/perception_core/detection/lidar_cluster.py": "97fd383f56f56e104ced405257eaa9659334c4fde7cca78743439b90b7577aa5",
        "src/perception_core/perception_core/detection/mock.py": "202e94d5e587dcf1b073da3fe0bbb98ee866f71b7ad638794637c32317a70612",
        "src/perception_core/perception_core/detection/vggt.py": "798ed0bc2eb7b1eabb8d6d7f08dcebe99f7acf4cfa3d3da762e29bb6d3840b32",
        "src/perception_core/perception_core/detection/yolo.py": "f99a5d13fbc05ad6e1591c6f8f0b974bd9ab3c38181d8ecb83b1d0229b12bacd",
        "src/perception_core/perception_core/eval/__init__.py": "0883edb9650e0237084bd84727a4ff16f8237e8855e846ebbe2d3ba4a430aeeb",
        "src/perception_core/perception_core/eval/association.py": "a88dc0b45e0ba2ed66975e2bee026d8bb40ba579366f41f7ab993bac29dd2b96",
        "src/perception_core/perception_core/eval/control_metrics.py": "a6527a28b91eb811531fb956288b6da2c4961465f60848e664b8467d7322ca85",
        "src/perception_core/perception_core/eval/metrics.py": "9c08952e33526eef3fc3edbc9953ab3b909bc19c8cc2659215e5142286b0eabd",
        "src/perception_core/perception_core/eval/prediction_metrics.py": "6a273e59dd7ce90a7751222976185b7590a7157500281fd863abc6dc5f3464e7",
        "src/perception_core/perception_core/fusion/__init__.py": "2eae46d74c672bd656890d17965cb438384c27107cd1b27a3f03aa704ed1a465",
        "src/perception_core/perception_core/fusion/late_fusion.py": "431310a98946bf7ed89fa46252e528e4f3bf6c55792066912b26b2f2fc0520b1",
        "src/perception_core/perception_core/io/__init__.py": "e7d7fe86bc1461d73c32037760288a3ce98b2ccba2ba7d94fac35f36e3bd94b7",
        "src/perception_core/perception_core/io/carla_dataset.py": "e233b017520b364a8dd993936d6b5bc942d3a39fdc2a35760c5e88132876a934",
        "src/perception_core/perception_core/io/kitti.py": "7f70ccb87210f8938dc3bd147d57e4b442b602fff4422672e7cdf10581451b4e",
        "src/perception_core/perception_core/io/synthetic.py": "301dab687fff0019d11e46bd07f18cc4c050ea4e1f9a8351171c0b9d47d7d564",
        "src/perception_core/perception_core/pipeline.py": "f12a2d760a52e13ac8efce44a28727723ddc04dbd1db57147ec523d41ef6c333",
        "src/perception_core/perception_core/planning/__init__.py": "0ba502633e89fb15c2ffd024cae88a2ac2b9dd8d5ca9f761542d4d2c5c6ed0c3",
        "src/perception_core/perception_core/planning/collision.py": "898a5a2ba11e3ea4624c3b9a2f67169de8a8544a2842d572fdd40035e58a6cc0",
        "src/perception_core/perception_core/planning/local.py": "216bd8d157c1b656a15ec082fbb340872deaf480ab76b68f2e61ee33edc5d401",
        "src/perception_core/perception_core/planning/route.py": "f6bb5224339d8c5e737069240efd988ceb3fa033ae7e8fe2be6d480a3afc867c",
        "src/perception_core/perception_core/planning/types.py": "eaef094bd765ff1c4f0303d09e68a22af2581a74a6969c0467d59037c6057980",
        "src/perception_core/perception_core/prediction/__init__.py": "dfcc98201cb48b851972c32083d8ffe4ba8236363b1c19816fbaea6fa3810f2d",
        "src/perception_core/perception_core/prediction/history.py": "326aab09d5cbaf36ee6bbd40bc99b199d75b05b8b1d020a96666c37114a76211",
        "src/perception_core/perception_core/prediction/physics.py": "0dee7cfbfb84c55430df267d5ce0170ef20aba2c8b592467d9c0cdbfd168e7b1",
        "src/perception_core/perception_core/simulation/__init__.py": "5a7493db0ef45aa9cded3a7dd106020d1eb9154f1e54197f61244f1949606a65",
        "src/perception_core/perception_core/simulation/driving.py": "42c8fa5623b44672e39f0f9b06f8983d812245d6c1710783ec5e03214f42e90d",
        "src/perception_core/perception_core/tracking/__init__.py": "ee985298aef685bdfe7dd37d90be9dcdfa22b6e3f22284297ade471993c194cf",
        "src/perception_core/perception_core/tracking/imm.py": "296e7b49b3480b9d54704a1256dc81f10d93fcb1b555318e261d299c3bce1361",
        "src/perception_core/perception_core/tracking/kalman.py": "92281a0058f61a9d57a16ac49f3975d6c795ccfd912a2ecb4219b47b4368b2aa",
        "src/perception_core/perception_core/tracking/mot.py": "b49a06def8445d3a58d2cafb283222eccd9ee3beca0442aa96fe3696c85abb23",
        "src/perception_core/perception_core/viz/__init__.py": "25f09fb8ba37082204e17c6f5543e3cafda38bb490ea3e1cc47c1cea27b4e744",
        "src/perception_core/perception_core/viz/bev.py": "88d7dfa133af2a2aaf000041b2eb06935a8f63ce8b8196235a713e0adfd4279e",
        "src/perception_core/perception_core/viz/camera.py": "edf1b0a3505a6294f682719fe970e891e70cc678509328104c827a5ddbfcd588",
        "src/perception_core/perception_core/viz/palette.py": "4323af60982efffde1c7d022b043a7762f2e0e0bce5d5a431e52c8a6fcea3ddf",
        "src/perception_core/perception_core/viz/replay.py": "7d2ef21c2eb70b697c75035715cc0a7c62c8524a38d0f69294309bddbe1b0617"
      },
      "schema_version": 1,
      "source": "closed_loop_kinematic_bicycle",
      "detector": "lidar",
      "seed": 2026,
      "python": "3.12.13",
      "timing_scope": "LocalPlanner.plan + PathController.command; excludes perception, plant, evaluation and rendering",
      "scenarios": [
        {
          "name": "cruise",
          "title": "巡航与到达终点",
          "file": "lidar/cruise.json",
          "sha256": "97f799503f8e2ee6e94ebcd51a948c55bf1f50b33eda7f6a5a874a92fc2d2bdb",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.1967968197063114,
            "goal_distance_m": 0.6450135280984739,
            "elapsed_simulation_s": 14.599999999999778,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 6.311033289328369,
              "p95": 6.560023326892406,
              "max": 9.488944080658257
            }
          },
          "source_sha256": "c7baa913ab0c823eddb69d983fe47df785adfd09b45733ac49a0c9e019f79075"
        },
        {
          "name": "curve",
          "title": "弯道跟踪与限速",
          "file": "lidar/curve.json",
          "sha256": "45195be4f795aca23b9df02e077cdbb87ff0498f6f4a31c4837a12c8c4e1200a",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.352730239688271,
            "final_speed_mps": 0.1900729421309856,
            "goal_distance_m": 0.6430049541895007,
            "elapsed_simulation_s": 15.599999999999756,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 6.234419110948872,
              "p95": 6.432420015335082,
              "max": 10.084650944918394
            }
          },
          "source_sha256": "a552eadc1fe69dd6131d546452189bf1a6f8be281f431831ad42e14c8f0a1c50"
        },
        {
          "name": "obstacle",
          "title": "静态障碍绕行",
          "file": "lidar/obstacle.json",
          "sha256": "cd29ec0287613a3c170de32a2c82529f5ba3d3274c83f2b53e5757fa600b9e24",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 1.1389194030569338,
            "max_lateral_offset_m": 3.092106858723044,
            "final_speed_mps": 0.1839738974269275,
            "goal_distance_m": 0.6715818138357591,
            "elapsed_simulation_s": 14.699999999999775,
            "statuses": [
              "avoidance",
              "cruise",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 8.889667062888023,
              "p95": 9.049078909447417,
              "max": 28.096562949940562
            }
          },
          "source_sha256": "88080295c6ea1453fa552af6beb79e5a87694bbd3c7b072402953c54ffb2a2b7"
        },
        {
          "name": "following",
          "title": "跟车减速",
          "file": "lidar/following.json",
          "sha256": "2f5716c95e47b0aa84db5e82a8ea70933b8c4620f3eb4e00ea5ab6a8ba71fbc9",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 6.594962094587842,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.1957516349533238,
            "goal_distance_m": 0.6500442666511503,
            "elapsed_simulation_s": 24.599999999999564,
            "statuses": [
              "following",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 8.892862861485858,
              "p95": 10.26311009190976,
              "max": 16.173467971384525
            }
          },
          "source_sha256": "2a7a2cdaf65da6e79cfb59f3684597967a0cae2fbd2bc6184f3b76cd150ead96"
        },
        {
          "name": "crossing",
          "title": "横穿行人让行",
          "file": "lidar/crossing.json",
          "sha256": "27d515d870fe9dfe49c709f1f46c38ea581351149b723f5b2636dcf3fb251bf9",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 0.8639999999999056,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.19419868397037965,
            "goal_distance_m": 0.6430165882192256,
            "elapsed_simulation_s": 16.999999999999726,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 8.913185770830346,
              "p95": 11.023113504052162,
              "max": 11.14231301471591
            }
          },
          "source_sha256": "838531c0db2c7fc77d41c7211a6598eede6242d08a09766b3022540b3d4b1987"
        },
        {
          "name": "traffic_light",
          "title": "红灯停车与绿灯起步",
          "file": "lidar/traffic_light.json",
          "sha256": "b75432be6609935f4d1c2b4496e4ae5f52a585dfa11c5f6b7d034080ebaf9eec",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.1786041628538131,
            "goal_distance_m": 0.6309082804253023,
            "elapsed_simulation_s": 23.599999999999586,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "stop_line"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 6.316913499099984,
              "p95": 6.368047231808305,
              "max": 28.701746021397412
            }
          },
          "source_sha256": "58018d50dda61330dcaadaab4d8f2204e68a2f7a19add33bef95ac832af119e9"
        },
        {
          "name": "blocked",
          "title": "道路阻断停车",
          "file": "lidar/blocked.json",
          "sha256": "fd2de0e2cf8c214d9360a22fa2ccfc814318bd311eeba93fbe646dd2c0458cfc",
          "metrics": {
            "success": true,
            "goal_reached": false,
            "expected_outcome": "stopped",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 6.986332780362858,
            "max_lateral_offset_m": 0.12427823152600909,
            "final_speed_mps": 5.453029684562723e-05,
            "goal_distance_m": 55.08745518331312,
            "elapsed_simulation_s": 13.99999999999979,
            "statuses": [
              "cruise",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 2.6040103308336016,
            "planning_control_ms": {
              "mean": 8.936198780845318,
              "p95": 9.076583839487284,
              "max": 9.628973086364567
            }
          },
          "source_sha256": "1b37124921093fb8308617465a7542cb7310e3e7daab4de2967277b719028554"
        },
        {
          "name": "emergency",
          "title": "突现障碍紧急制动",
          "file": "lidar/emergency.json",
          "sha256": "5d873f75551f06a15a32334d35f3393337dd25206adda7b49581fa8f58a66afd",
          "metrics": {
            "success": true,
            "goal_reached": false,
            "expected_outcome": "stopped",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 1.4036222498832203,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 3.7071269711071625e-06,
            "goal_distance_m": 53.00362224988322,
            "elapsed_simulation_s": 11.999999999999833,
            "statuses": [
              "cruise",
              "emergency_stop",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 7.0,
            "planning_control_ms": {
              "mean": 8.002097104326822,
              "p95": 9.008957596961409,
              "max": 9.229682967998087
            }
          },
          "source_sha256": "05e9a884fb65617c80d02e0ca8e07f452753d298c8fb89c11d2e71d86289f964"
        },
        {
          "name": "dropout",
          "title": "感知超时制动与恢复",
          "file": "lidar/dropout.json",
          "sha256": "f6a87454eb433068ab9025d09e5ed1bffd18de77ffe5f5539fcd4d3b7e96ecad",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.17946560135154452,
            "goal_distance_m": 0.6315801637302627,
            "elapsed_simulation_s": 20.699999999999648,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "stale_input"
            ],
            "max_abs_acceleration_mps2": 7.0,
            "planning_control_ms": {
              "mean": 5.18778053251131,
              "p95": 6.541297526564449,
              "max": 10.531275998800993
            }
          },
          "source_sha256": "8fa0f6d8f392d8fcee8e27e984a20c27d11460766bfcbb79ed02cbade61abcb5"
        },
        {
          "name": "reroute",
          "title": "封路后的 A* 路线搜索",
          "file": "lidar/reroute.json",
          "sha256": "c512d3f7c3f5f79fec419bb2e2185b8fe6d9682a6b42ad6b53c1339021f7aecc",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": null,
            "max_lateral_offset_m": 0.9449963383219216,
            "final_speed_mps": 0.1836446092903586,
            "goal_distance_m": 0.6434485783335813,
            "elapsed_simulation_s": 23.299999999999592,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 6.296183388087198,
              "p95": 6.444298621499911,
              "max": 6.813779007643461
            }
          },
          "source_sha256": "1553dd66e83f558f0fb5597ba49ddc55d7d02bbc66794bb6d8f10274aab51890"
        },
        {
          "name": "lead_braking",
          "title": "前车行驶后急刹",
          "file": "lidar/lead_braking.json",
          "sha256": "237d176991842195bc5f362ad62a473e5ec50f61d42fe0280807819fa061da65",
          "metrics": {
            "success": true,
            "goal_reached": false,
            "expected_outcome": "stopped",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 6.013862296520529,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 1.2248696725592684e-11,
            "goal_distance_m": 44.19719562985386,
            "elapsed_simulation_s": 19.999999999999662,
            "statuses": [
              "following",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 8.507632378605194,
              "p95": 8.898675144882873,
              "max": 30.65426799003035
            }
          },
          "source_sha256": "d067c6b3bf52994d3d1d89a26b80052f04f5376b8ea363ae718749057457c757"
        },
        {
          "name": "cut_in",
          "title": "邻道车辆切入并跟车",
          "file": "lidar/cut_in.json",
          "sha256": "18595f4eaf3e53b81d02c1f27babcba86b2d1db5dd24f45121bec6bb7a920ec6",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 3.665937622464803,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.17853207446103864,
            "goal_distance_m": 0.6342350687693994,
            "elapsed_simulation_s": 21.699999999999626,
            "statuses": [
              "cruise",
              "following",
              "goal_approach",
              "goal_reached",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 9.101618199348621,
              "p95": 10.56703690555878,
              "max": 10.86442603264004
            }
          },
          "source_sha256": "c55fc03b4f9d22833c4ee2d16ff651ca9d18ded83324b3992c01e0fa22ba7158"
        },
        {
          "name": "signal_crossing",
          "title": "绿灯起步后连续行人横穿",
          "file": "lidar/signal_crossing.json",
          "sha256": "7312eb38f85b4a57973347f6d55b110ea46c5efd6c2009b6b965411ab0c4ced8",
          "metrics": {
            "success": true,
            "goal_reached": true,
            "expected_outcome": "goal",
            "behavior_demonstrated": true,
            "collision_samples": 0,
            "road_boundary_samples": 0,
            "red_light_violation_samples": 0,
            "min_separating_axis_gap_m": 0.8006887390229679,
            "max_lateral_offset_m": 0.0,
            "final_speed_mps": 0.19330493880920127,
            "goal_distance_m": 0.6423375975255254,
            "elapsed_simulation_s": 25.69999999999954,
            "statuses": [
              "cruise",
              "goal_approach",
              "goal_reached",
              "stop_line",
              "yielding"
            ],
            "max_abs_acceleration_mps2": 3.0,
            "planning_control_ms": {
              "mean": 11.29300025825988,
              "p95": 13.298006914556026,
              "max": 15.529802069067955
            }
          },
          "source_sha256": "ab2d96b207c9d195baa3c4e8faf523221bb65a5186fd8bad02d492ebd7630f8b"
        }
      ],
      "passed": 13,
      "total": 13
    }
  },
  "note": "Replay values rounded to four decimals for display; acceptance metrics retain original precision. GT and synthetic surface LiDAR are separate inputs.",
  "source_files_sha256": {
    "src/perception_core/perception_core/__init__.py": "b3bf4b5939f83fa93021da82bad7cc006493cc8ff4fbc6ae3f988e034e38d459",
    "src/perception_core/perception_core/common/__init__.py": "88dcf415b58e750603f0fa7e219f72423b32cde03eb31654b0a4a43ba8890c6d",
    "src/perception_core/perception_core/common/ego_frame.py": "3c4584427355be8d889931b1c49e01de19d5cf19e621eef488050ce30383e039",
    "src/perception_core/perception_core/common/geometry.py": "1dc662d3f186014e9673a0fb266122324e15ff7757481b3bbc8830af345798e9",
    "src/perception_core/perception_core/common/iou.py": "4a44773b1f22984d0800b6b83e1c35de31f2bd4b952e64b563872578125ebcc0",
    "src/perception_core/perception_core/common/types.py": "3d29f4998047e4a130e3792c6a86213b69c7a2021656170856d6c7c87256fcbe",
    "src/perception_core/perception_core/control/__init__.py": "1eabf6b4a018c73e2a2f79b89c433ebf7aa3aed0d4907074a8d5dc8ea1ea4855",
    "src/perception_core/perception_core/control/longitudinal.py": "2a9c54d5a85969292cf5398bd59d4a1ce3e3db12a411d968e1e588cea2103a56",
    "src/perception_core/perception_core/control/vehicle.py": "4521b6717a55e4c3ad3acdc335767a18c0cb518fef6fbec5e4d161daa4d3cf2b",
    "src/perception_core/perception_core/detection/__init__.py": "2adc3b076ebe1426cde5b8ee8ed0540bdb9c30d81ac0bfb002acfbbefb7c2e63",
    "src/perception_core/perception_core/detection/base.py": "4bcc3d728efcb66a3d983b9e9c4f85b9f744937f074d823064b20308063c8e28",
    "src/perception_core/perception_core/detection/lidar_cluster.py": "97fd383f56f56e104ced405257eaa9659334c4fde7cca78743439b90b7577aa5",
    "src/perception_core/perception_core/detection/mock.py": "202e94d5e587dcf1b073da3fe0bbb98ee866f71b7ad638794637c32317a70612",
    "src/perception_core/perception_core/detection/vggt.py": "798ed0bc2eb7b1eabb8d6d7f08dcebe99f7acf4cfa3d3da762e29bb6d3840b32",
    "src/perception_core/perception_core/detection/yolo.py": "f99a5d13fbc05ad6e1591c6f8f0b974bd9ab3c38181d8ecb83b1d0229b12bacd",
    "src/perception_core/perception_core/eval/__init__.py": "0883edb9650e0237084bd84727a4ff16f8237e8855e846ebbe2d3ba4a430aeeb",
    "src/perception_core/perception_core/eval/association.py": "a88dc0b45e0ba2ed66975e2bee026d8bb40ba579366f41f7ab993bac29dd2b96",
    "src/perception_core/perception_core/eval/control_metrics.py": "a6527a28b91eb811531fb956288b6da2c4961465f60848e664b8467d7322ca85",
    "src/perception_core/perception_core/eval/metrics.py": "9c08952e33526eef3fc3edbc9953ab3b909bc19c8cc2659215e5142286b0eabd",
    "src/perception_core/perception_core/eval/prediction_metrics.py": "6a273e59dd7ce90a7751222976185b7590a7157500281fd863abc6dc5f3464e7",
    "src/perception_core/perception_core/fusion/__init__.py": "2eae46d74c672bd656890d17965cb438384c27107cd1b27a3f03aa704ed1a465",
    "src/perception_core/perception_core/fusion/late_fusion.py": "431310a98946bf7ed89fa46252e528e4f3bf6c55792066912b26b2f2fc0520b1",
    "src/perception_core/perception_core/io/__init__.py": "e7d7fe86bc1461d73c32037760288a3ce98b2ccba2ba7d94fac35f36e3bd94b7",
    "src/perception_core/perception_core/io/carla_dataset.py": "e233b017520b364a8dd993936d6b5bc942d3a39fdc2a35760c5e88132876a934",
    "src/perception_core/perception_core/io/kitti.py": "7f70ccb87210f8938dc3bd147d57e4b442b602fff4422672e7cdf10581451b4e",
    "src/perception_core/perception_core/io/synthetic.py": "301dab687fff0019d11e46bd07f18cc4c050ea4e1f9a8351171c0b9d47d7d564",
    "src/perception_core/perception_core/pipeline.py": "f12a2d760a52e13ac8efce44a28727723ddc04dbd1db57147ec523d41ef6c333",
    "src/perception_core/perception_core/planning/__init__.py": "0ba502633e89fb15c2ffd024cae88a2ac2b9dd8d5ca9f761542d4d2c5c6ed0c3",
    "src/perception_core/perception_core/planning/collision.py": "898a5a2ba11e3ea4624c3b9a2f67169de8a8544a2842d572fdd40035e58a6cc0",
    "src/perception_core/perception_core/planning/local.py": "216bd8d157c1b656a15ec082fbb340872deaf480ab76b68f2e61ee33edc5d401",
    "src/perception_core/perception_core/planning/route.py": "f6bb5224339d8c5e737069240efd988ceb3fa033ae7e8fe2be6d480a3afc867c",
    "src/perception_core/perception_core/planning/types.py": "eaef094bd765ff1c4f0303d09e68a22af2581a74a6969c0467d59037c6057980",
    "src/perception_core/perception_core/prediction/__init__.py": "dfcc98201cb48b851972c32083d8ffe4ba8236363b1c19816fbaea6fa3810f2d",
    "src/perception_core/perception_core/prediction/history.py": "326aab09d5cbaf36ee6bbd40bc99b199d75b05b8b1d020a96666c37114a76211",
    "src/perception_core/perception_core/prediction/physics.py": "0dee7cfbfb84c55430df267d5ce0170ef20aba2c8b592467d9c0cdbfd168e7b1",
    "src/perception_core/perception_core/simulation/__init__.py": "5a7493db0ef45aa9cded3a7dd106020d1eb9154f1e54197f61244f1949606a65",
    "src/perception_core/perception_core/simulation/driving.py": "42c8fa5623b44672e39f0f9b06f8983d812245d6c1710783ec5e03214f42e90d",
    "src/perception_core/perception_core/tracking/__init__.py": "ee985298aef685bdfe7dd37d90be9dcdfa22b6e3f22284297ade471993c194cf",
    "src/perception_core/perception_core/tracking/imm.py": "296e7b49b3480b9d54704a1256dc81f10d93fcb1b555318e261d299c3bce1361",
    "src/perception_core/perception_core/tracking/kalman.py": "92281a0058f61a9d57a16ac49f3975d6c795ccfd912a2ecb4219b47b4368b2aa",
    "src/perception_core/perception_core/tracking/mot.py": "b49a06def8445d3a58d2cafb283222eccd9ee3beca0442aa96fe3696c85abb23",
    "src/perception_core/perception_core/viz/__init__.py": "25f09fb8ba37082204e17c6f5543e3cafda38bb490ea3e1cc47c1cea27b4e744",
    "src/perception_core/perception_core/viz/bev.py": "88d7dfa133af2a2aaf000041b2eb06935a8f63ce8b8196235a713e0adfd4279e",
    "src/perception_core/perception_core/viz/camera.py": "edf1b0a3505a6294f682719fe970e891e70cc678509328104c827a5ddbfcd588",
    "src/perception_core/perception_core/viz/palette.py": "4323af60982efffde1c7d022b043a7762f2e0e0bce5d5a431e52c8a6fcea3ddf",
    "src/perception_core/perception_core/viz/replay.py": "7d2ef21c2eb70b697c75035715cc0a7c62c8524a38d0f69294309bddbe1b0617"
  }
}
