diff --git a/desktop/plugins/public/ui-debugger/components/Visualization2D.tsx b/desktop/plugins/public/ui-debugger/components/Visualization2D.tsx index 6c3e49bfa..0adfd305c 100644 --- a/desktop/plugins/public/ui-debugger/components/Visualization2D.tsx +++ b/desktop/plugins/public/ui-debugger/components/Visualization2D.tsx @@ -16,6 +16,7 @@ export const Visualization2D: React.FC< { root: Id; nodes: Map; + snapshot?: String; hoveredNode?: Id; selectedNode?: Id; onSelectNode: (id: Id) => void; @@ -25,6 +26,7 @@ export const Visualization2D: React.FC< > = ({ root, nodes, + snapshot, hoveredNode, selectedNode, onSelectNode, @@ -59,6 +61,12 @@ export const Visualization2D: React.FC< height: toPx(rootBounds.height), }}> + {snapshot ? ( + + ) : null} = useValue(instance.nodes); + const snapshot: String | undefined = useValue(instance.snapshot); const [showPerfStats, setShowPerfStats] = useState(false); const [selectedNode, setSelectedNode] = useState(undefined); @@ -71,6 +72,7 @@ export function Component() { ) { }); const nodesAtom = createState>(new Map()); - client.onMessage('subtreeUpdate', ({nodes}) => { + const snapshotAtom = createState(undefined); + client.onMessage('subtreeUpdate', ({nodes, snapshot}) => { + snapshotAtom.set(snapshot); nodesAtom.update((draft) => { for (const node of nodes) { draft.set(node.id, node); @@ -36,7 +38,7 @@ export function plugin(client: PluginClient) { nodesAtom.set(new Map(nodes.map((node) => [node.id, node]))); }); - return {rootId, nodes: nodesAtom, perfEvents}; + return {rootId, snapshot: snapshotAtom, nodes: nodesAtom, perfEvents}; } export {Component} from './components/main'; diff --git a/desktop/plugins/public/ui-debugger/types.tsx b/desktop/plugins/public/ui-debugger/types.tsx index b64d463e2..be9089fb9 100644 --- a/desktop/plugins/public/ui-debugger/types.tsx +++ b/desktop/plugins/public/ui-debugger/types.tsx @@ -10,7 +10,12 @@ export type Events = { init: {rootId: string}; nativeScan: {txId: number; nodes: UINode[]}; - subtreeUpdate: {txId: number; nodes: UINode[]}; + subtreeUpdate: { + txId: number; + rootId: String; + nodes: UINode[]; + snapshot: String; + }; perfStats: PerfStatsEvent; };