+
+
+ {receiving ? "Receiving graph" : "Computing layout"} — up to{" "}
+ {nodeBudget.toLocaleString("en-US")} nodes
+
+
+ {receiving
+ ? progress.totalBytes
+ ? `${formatMegabytes(progress.receivedBytes)} of ${formatMegabytes(progress.totalBytes)} MB`
+ : `${formatMegabytes(progress.receivedBytes)} MB received`
+ : " "}
+
+
+ );
+}
diff --git a/graph-ui/src/components/GraphScene.tsx b/graph-ui/src/components/GraphScene.tsx
index 81ec5c9bc..663c2ad32 100644
--- a/graph-ui/src/components/GraphScene.tsx
+++ b/graph-ui/src/components/GraphScene.tsx
@@ -9,6 +9,14 @@ import { EdgeLines } from "./EdgeLines";
import { NodeLabels } from "./NodeLabels";
import { NodeTooltip } from "./NodeTooltip";
import type { GraphData, GraphNode, LinkedProject } from "../lib/types";
+import {
+ DEFAULT_DISPLAY_SETTINGS,
+ bloomIntensityScale,
+ nodeBoostScale,
+ type DisplaySettings,
+} from "../lib/density";
+
+const BASE_BLOOM_INTENSITY = 1.45;
/* ── Camera fly-to animation ────────────────────────────── */
@@ -107,6 +115,7 @@ interface GraphSceneProps {
highlightedIds: Set