)]}'
{
  "commit": "f7e5eb33b4fd002a92301a6f6e42c79b2bcf3733",
  "tree": "47ab58e1aecebbdf5cfe225165dfe823d85f19af",
  "parents": [
    "1aa835fa96ee33baf01d18f1a7ad44a44e2bd286"
  ],
  "author": {
    "name": "Steve Golton",
    "email": "stevegolton@google.com",
    "time": "Fri Aug 07 16:37:27 2026 +0100"
  },
  "committer": {
    "name": "Steve Golton",
    "email": "stevegolton@google.com",
    "time": "Thu Aug 13 14:09:27 2026 +0100"
  },
  "message": "ui: Consolidate flow events into single plugin and extract connected flows\n\nMerge FlowEventsPanel into FlowEvents, move flow navigation commands\nand overlay rendering into the plugin, and remove flow state from core\nTraceImpl. Extract connected flow queries into a standalone helper\nto decouple ThreadSliceDetailsPanel from core flow state.\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a6870352eb00bfab7ea95a95ec974c0057a553ac",
      "new_mode": 33188,
      "new_path": "ui/src/components/details/connected_flows.ts"
    },
    {
      "type": "modify",
      "old_id": "d29ecbacb908bbbf0a5138e6b8d07a3620334288",
      "old_mode": 33188,
      "old_path": "ui/src/components/details/thread_slice_details_tab.ts",
      "new_id": "b15305cc83ca71acada298f968f84d9ae25eba1c",
      "new_mode": 33188,
      "new_path": "ui/src/components/details/thread_slice_details_tab.ts"
    },
    {
      "type": "modify",
      "old_id": "0008eac4cc932265af1eae89aea6bde469ab2f2a",
      "old_mode": 33188,
      "old_path": "ui/src/core/embedder/default_plugins.ts",
      "new_id": "4370fd8137d5f7e62c58451075a6e92457c2226b",
      "new_mode": 33188,
      "new_path": "ui/src/core/embedder/default_plugins.ts"
    },
    {
      "type": "modify",
      "old_id": "c9a357881efffc93d22a537ce3517060fc6435d5",
      "old_mode": 33188,
      "old_path": "ui/src/core/trace_impl.ts",
      "new_id": "3297b9131659885a84f0abe4e0d3253071366193",
      "new_mode": 33188,
      "new_path": "ui/src/core/trace_impl.ts"
    },
    {
      "type": "modify",
      "old_id": "3c7e62df006a0808120131053b2029f8b157f841",
      "old_mode": 33188,
      "old_path": "ui/src/core_plugins/dev.perfetto.CoreCommands/index.ts",
      "new_id": "5683a6442867893b5f029d16e4d2d2d44c7a37e7",
      "new_mode": 33188,
      "new_path": "ui/src/core_plugins/dev.perfetto.CoreCommands/index.ts"
    },
    {
      "type": "rename",
      "old_id": "87be6f8f5cabe5f705af4f30a0378e48b93ecd28",
      "old_mode": 33188,
      "old_path": "ui/src/core_plugins/dev.perfetto.FlowEventsPanel/flow_events_panel.ts",
      "new_id": "f7edb3b858cd71d7c8ddf66af97386efecfa8a90",
      "new_mode": 33188,
      "new_path": "ui/src/core_plugins/dev.perfetto.FlowEvents/flow_events_panel.ts",
      "score": 95
    },
    {
      "type": "rename",
      "old_id": "785bd8145b34936792a354885c9d9b1c32e406d4",
      "old_mode": 33188,
      "old_path": "ui/src/core_plugins/dev.perfetto.Timeline/flow_events_renderer.ts",
      "new_id": "62480c39c8252a1fb18be82db86bf5ebafc3e7af",
      "new_mode": 33188,
      "new_path": "ui/src/core_plugins/dev.perfetto.FlowEvents/flow_events_renderer.ts",
      "score": 92
    },
    {
      "type": "rename",
      "old_id": "d13018b0fb4a6b875715da9a56b9e79516acb099",
      "old_mode": 33188,
      "old_path": "ui/src/core/flow_manager.ts",
      "new_id": "b153ecc0200eb24c2a9561dcbd9875cd51e7c0c2",
      "new_mode": 33188,
      "new_path": "ui/src/core_plugins/dev.perfetto.FlowEvents/flow_manager.ts",
      "score": 95
    },
    {
      "type": "rename",
      "old_id": "d5f73e2fc44df836ac950ffaa17e0132436e023d",
      "old_mode": 33188,
      "old_path": "ui/src/core/flow_types.ts",
      "new_id": "9f97a933e654913f7b392a490aa6bfc15197a1fe",
      "new_mode": 33188,
      "new_path": "ui/src/core_plugins/dev.perfetto.FlowEvents/flow_types.ts",
      "score": 94
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9692b55fca8741c126529a2992628ce2da09a7a2",
      "new_mode": 33188,
      "new_path": "ui/src/core_plugins/dev.perfetto.FlowEvents/index.ts"
    },
    {
      "type": "delete",
      "old_id": "89d46266904354fa7c432d825b4a5db2dfae1030",
      "old_mode": 33188,
      "old_path": "ui/src/core_plugins/dev.perfetto.FlowEventsPanel/index.ts",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "e611d9a879d5a7f01428f6075f9de269f26f1255",
      "old_mode": 33188,
      "old_path": "ui/src/core_plugins/dev.perfetto.Timeline/track_tree_view.ts",
      "new_id": "8c85aa14bb94d4f77bfd8c06adce930acf28d853",
      "new_mode": 33188,
      "new_path": "ui/src/core_plugins/dev.perfetto.Timeline/track_tree_view.ts"
    }
  ]
}
