)]}'
{
  "commit": "e9807b4e88fd7c732e459b3db815ee43d9d59c10",
  "tree": "16c3b2dd7e02fc7df3b5f93226ba6341f7487deb",
  "parents": [
    "eee42b5a6be9449b977df871c40a588fcd4e4102"
  ],
  "author": {
    "name": "Steve Golton",
    "email": "stevegolton@google.com",
    "time": "Tue Nov 19 22:49:56 2024 +0000"
  },
  "committer": {
    "name": "Steve Golton",
    "email": "stevegolton@google.com",
    "time": "Tue Nov 19 22:49:56 2024 +0000"
  },
  "message": "ui: Move various components into public/lib\n\n- Move slice_details, thread_details, duration.ts, and timestamp.ts\n  into public/lib as they are used by plugins.\n- Make timestamp/duration format settings available on App/Trace.\n- Refactored Timestamp/DurationWidget widgets a little.\n\nNote: These sorts of settings (timestamp/duration format) are begging\nfor a generic settings infrastructure, similar to flags but with more\nmore options, but this is out of scope for this CL.\n\nChange-Id: If507c083bff017e17948bbde36418eb7332f896c",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6f66efec0d62efc28a96efbd75aee1078eebe28f",
      "old_mode": 33261,
      "old_path": "python/tools/check_imports.py",
      "new_id": "07b684327f125761cfa470c042a055c07353d921",
      "new_mode": 33261,
      "new_path": "python/tools/check_imports.py"
    },
    {
      "type": "modify",
      "old_id": "bc8a61367a6eefeec9ebcd885afb910dcfaca891",
      "old_mode": 33188,
      "old_path": "ui/src/core/timeline.ts",
      "new_id": "0efc660d4af120de76278ef42e61ede9a11f1776",
      "new_mode": 33188,
      "new_path": "ui/src/core/timeline.ts"
    },
    {
      "type": "modify",
      "old_id": "f4d7d809a824021e88f031ac46a277ef858c6b80",
      "old_mode": 33188,
      "old_path": "ui/src/core/timestamp_format.ts",
      "new_id": "25a8ba11e014c338f5ce3b6f0d62ea6e4dce6659",
      "new_mode": 33188,
      "new_path": "ui/src/core/timestamp_format.ts"
    },
    {
      "type": "modify",
      "old_id": "3d441ba3d9185348d2fa1acf7667f9426a6f0994",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/aggregation_panel.ts",
      "new_id": "2e1d00f1e1d875b98f24e9ef0a1a86410454e36d",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/aggregation_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "07043e9132333c3fe0d2eaa8f72ed519f9fa4be8",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/named_slice_track.ts",
      "new_id": "6d79af2235a4e552380d5135ffef708643ea2da6",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/named_slice_track.ts"
    },
    {
      "type": "modify",
      "old_id": "ac5b015931956023bc852231dbcb1a1b976394ef",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/notes_panel.ts",
      "new_id": "c4d76b7ac7058a343ef24572fd19ddf163b89ec4",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/notes_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "8eb41ecdb477d6ecc19a0ddb997f750b88c04125",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/overview_timeline_panel.ts",
      "new_id": "0d04ce2d1129b6af15fcd6bfc5349f38cd03fba9",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/overview_timeline_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "925cfedbaff771551b0e5728d3a196e801017d14",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/pivot_table.ts",
      "new_id": "734d2a02d2641e1c1623d61f9d2211732b1a96b8",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/pivot_table.ts"
    },
    {
      "type": "modify",
      "old_id": "b5499716f9696c59e384535bd94c8d30db8fd58a",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/thread_slice_details_tab.ts",
      "new_id": "b872a6d116ff07582b50339d923e3a6776e70b1a",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/thread_slice_details_tab.ts"
    },
    {
      "type": "modify",
      "old_id": "143e4026add02cf0816df5fe25791f66e982fb38",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/time_axis_panel.ts",
      "new_id": "db7cf9c0a79447cd7af30f943edc949ba89b51fc",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/time_axis_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "5621ff4b0d1ec2af59b2b5f0c6a44f0809d11fa7",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/time_selection_panel.ts",
      "new_id": "599ed5ba0651ac5728df63afdec31ef7ace174e0",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/time_selection_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "b8d8ddacdd7118c4fb7bd3b8f4056b874442a729",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/ui_main.ts",
      "new_id": "b28a41a1edfb264e381998c4f73a8fcec175ef39",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/ui_main.ts"
    },
    {
      "type": "delete",
      "old_id": "a6234061a4a5e90b1a78bce333a5ced5bc111961",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/widgets/duration.ts",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "069b723fd77ac97495d4c3425eefb3c7f72023ef",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/widgets/sql/details/details.ts",
      "new_id": "b05ed41919d5ebf4c419b94f54286c3faab26115",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/widgets/sql/details/details.ts"
    },
    {
      "type": "modify",
      "old_id": "7c1eb9826d7c97a1ebf895b67d137d1b8d5d843f",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/widgets/sql/table/well_known_columns.ts",
      "new_id": "8ed593e228e50932c1de16b2ed270a5c7abe2a5b",
      "new_mode": 33188,
      "new_path": "ui/src/frontend/widgets/sql/table/well_known_columns.ts"
    },
    {
      "type": "delete",
      "old_id": "7fd44f10e019f9a5bd3d2c814d48ee74dc936f51",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/widgets/timestamp.ts",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "48714ba41d78af361e81ac2fb2d348c724de9b03",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.AndroidLog/logs_panel.ts",
      "new_id": "5c79fdd2efe34d31c42e0a2b98bf666300407ab7",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.AndroidLog/logs_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "e0ff568ff7eb03e6a5084b6b4f9782c4dc490d65",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.Counter/counter_details_panel.ts",
      "new_id": "48649e9d71ecdc7b4a6c5c616fcb90b3b7ba0b13",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.Counter/counter_details_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "060746e0925b6666a4f1f661b2abf54b374a8982",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.CpuProfile/cpu_profile_details_panel.ts",
      "new_id": "91c6d2b8683a51fcfa21a0e61a5d0cf9ae796130",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.CpuProfile/cpu_profile_details_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "f4b3b936575b38d4ea012d5c7ec670ceb0b53e88",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.CpuSlices/sched_details_tab.ts",
      "new_id": "1aaaf1a914ceca49d425dbb9605d319c307bda18",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.CpuSlices/sched_details_tab.ts"
    },
    {
      "type": "modify",
      "old_id": "b4036e51e5fd092b4492f266bf09aa4013b058de",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.Ftrace/ftrace_explorer.ts",
      "new_id": "09e45f13455a61278408a9e53b7e24223fcac0e4",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.Ftrace/ftrace_explorer.ts"
    },
    {
      "type": "modify",
      "old_id": "c3e145e7eec2a0edc2431181371ba22896cc44af",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.HeapProfile/heap_profile_details_panel.ts",
      "new_id": "5b4525654d1871131f29dfe00431d8038f12d253",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.HeapProfile/heap_profile_details_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "06f3244a912437b76455d92b90f40747c22f7479",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.PerfSamplesProfile/perf_samples_profile_track.ts",
      "new_id": "5157569ed0d9bfdf8e76abca819ad7742af078d2",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.PerfSamplesProfile/perf_samples_profile_track.ts"
    },
    {
      "type": "modify",
      "old_id": "0a2287b764bcc986a314db9b36827bc9c87c88dd",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/dev.perfetto.ThreadState/thread_state_details_panel.ts",
      "new_id": "1ba8c3b9546ccc4d2df7c9a482922d8ff0cc0fe6",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/dev.perfetto.ThreadState/thread_state_details_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "0c26623cced01de0aff76be6987b01465971da01",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/org.chromium.ChromeCriticalUserInteractions/startup_details_panel.ts",
      "new_id": "813e2e6e9409dd68eb42509db371b5e6016a2138",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/org.chromium.ChromeCriticalUserInteractions/startup_details_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "25e49aa48afd72ffe7b85edea9f5f3b23dff3db0",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/org.chromium.ChromeCriticalUserInteractions/web_content_interaction_details_panel.ts",
      "new_id": "58896c2ac0c417630a319d0e3ab719f695d647df",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/org.chromium.ChromeCriticalUserInteractions/web_content_interaction_details_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "cfcdf87a09a962519f93b5184db4186d8a24908f",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/org.chromium.ChromeScrollJank/event_latency_details_panel.ts",
      "new_id": "8d803e44ec448e953a92e9d83d05e10e98e65248",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/org.chromium.ChromeScrollJank/event_latency_details_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "00415e4301ff673ec8d2f24a2c772ba7ff397631",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/org.chromium.ChromeScrollJank/index.ts",
      "new_id": "24bd4e246a7fe8e89a6b179b6b8716358730deb0",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/org.chromium.ChromeScrollJank/index.ts"
    },
    {
      "type": "modify",
      "old_id": "eed111fb282e44c1124bbf3f63a3694f3820bd67",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/org.chromium.ChromeScrollJank/scroll_details_panel.ts",
      "new_id": "e9efe9710e30ce55f3e53d26a162e9fa72fb6e32",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/org.chromium.ChromeScrollJank/scroll_details_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "fc51eb4107f0ca3f047acb4072e76a427e9c3757",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/org.chromium.ChromeScrollJank/scroll_jank_v3_details_panel.ts",
      "new_id": "3265e4fe112cdb7f0ed0364668de832f78552b65",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/org.chromium.ChromeScrollJank/scroll_jank_v3_details_panel.ts"
    },
    {
      "type": "modify",
      "old_id": "74bc497d203fad7bda9f8d65669ec8444b5d9ba6",
      "old_mode": 33188,
      "old_path": "ui/src/plugins/org.kernel.SuspendResumeLatency/suspend_resume_details.ts",
      "new_id": "d43f6997d24108b21f3b66231d8dc7942c60f09a",
      "new_mode": 33188,
      "new_path": "ui/src/plugins/org.kernel.SuspendResumeLatency/suspend_resume_details.ts"
    },
    {
      "type": "rename",
      "old_id": "784e5b1e40e3a6cacb5d630829371baa45f3c08b",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/slice_details.ts",
      "new_id": "446866077e90db4e35cf80406672582afffa4fd8",
      "new_mode": 33188,
      "new_path": "ui/src/public/lib/details/slice_details.ts",
      "score": 79
    },
    {
      "type": "rename",
      "old_id": "faa464e07e122f1ab0bc53ed7f35704de01c22f6",
      "old_mode": 33188,
      "old_path": "ui/src/frontend/sql/thread_state.ts",
      "new_id": "6545db0321b6b60a43a39536ea5a78e31b840999",
      "new_mode": 33188,
      "new_path": "ui/src/public/lib/details/thread_state.ts",
      "score": 93
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "30a3c6aecd16d97dab7f89b6f59f873a6d2ffe82",
      "new_mode": 33188,
      "new_path": "ui/src/public/lib/time_utils.ts"
    },
    {
      "type": "modify",
      "old_id": "621d9d313e64a5aa7be4c3fc5ffcd9dc9fcc7bf4",
      "old_mode": 33188,
      "old_path": "ui/src/public/lib/tracks/sql_table_slice_track_details_tab.ts",
      "new_id": "c5c19353f374fa8f035a423f797d06997d95f695",
      "new_mode": 33188,
      "new_path": "ui/src/public/lib/tracks/sql_table_slice_track_details_tab.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "409af5d7edd4aab5233cbef0545a9585a0a7f2bb",
      "new_mode": 33188,
      "new_path": "ui/src/public/lib/widgets/duration.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "666acbace2287da953c9f333601413800bf513f2",
      "new_mode": 33188,
      "new_path": "ui/src/public/lib/widgets/duration_precision_menu_items.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee416f8f783e28a22720e0afc3c1854c2a804006",
      "new_mode": 33188,
      "new_path": "ui/src/public/lib/widgets/timestamp.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2b1a351672b268a889ff4c7a58c677b0401c0097",
      "new_mode": 33188,
      "new_path": "ui/src/public/lib/widgets/timestamp_format_menu.ts"
    },
    {
      "type": "modify",
      "old_id": "ca881e502e8afd14ad0305fb623fb0604f7ca841",
      "old_mode": 33188,
      "old_path": "ui/src/public/timeline.ts",
      "new_id": "8ebad1e45891090d5cb073e29b54c97f5ec3bb7d",
      "new_mode": 33188,
      "new_path": "ui/src/public/timeline.ts"
    }
  ]
}
