{/* Header row */}
@@ -110,6 +167,53 @@ export function FilterPanel({
Show labels
+
+ {/* Dead-code view */}
+
+
+
+ Dead code
+
+
+ {deadCount.toLocaleString()} dead
+
+
+
+
+
+
+
+
+ {/* Legend (only meaningful while colored by status) */}
+ {deadCodeView && (
+
+ {STATUS_LEGEND.map((s) => (
+
+
+ {s.label}
+
+ ))}
+
+ )}
+
);
}
diff --git a/graph-ui/src/components/GraphTab.deadcode.test.tsx b/graph-ui/src/components/GraphTab.deadcode.test.tsx
new file mode 100644
index 000000000..43f880f30
--- /dev/null
+++ b/graph-ui/src/components/GraphTab.deadcode.test.tsx
@@ -0,0 +1,64 @@
+/* @vitest-environment jsdom */
+import "@testing-library/jest-dom/vitest";
+import { fireEvent, render, screen } from "@testing-library/react";
+import { afterEach, describe, expect, it, vi } from "vitest";
+import { GraphTab } from "./GraphTab";
+import type { GraphData } from "../lib/types";
+
+/* GraphScene renders a WebGL