diff --git a/src/components/playground/AutopsyPanel.tsx b/src/components/playground/AutopsyPanel.tsx index 919d8cb..3d526f2 100644 --- a/src/components/playground/AutopsyPanel.tsx +++ b/src/components/playground/AutopsyPanel.tsx @@ -119,6 +119,19 @@ export default function AutopsyPanel({ + ) : session.metrics.length === 0 ? ( +
+
+ — +
+ runtime monitor waiting + + 0 samples yet — the engine cannot judge curves it has not seen. + Point the recorder at your app (--app-url) so health samples arrive. + +
+
+
) : (
diff --git a/src/components/playground/city.ts b/src/components/playground/city.ts index 696b249..f48e112 100644 --- a/src/components/playground/city.ts +++ b/src/components/playground/city.ts @@ -243,7 +243,10 @@ export function buildPlaygroundCity( ); }); - // Ambient district blocks keep the city legible without inventing file facts. + // Ambient district blocks keep the demo city legible without inventing file + // facts. Live recordings never get filler: their skyline is exactly the set + // of files the session actually touched — zero files = an honest empty city. + if (!isLive) { const ambientCount = 44; for (let i = 0; i < ambientCount; i += 1) { let guard = 0; @@ -273,6 +276,7 @@ export function buildPlaygroundCity( z, ); } + } return towers; }