The SVG panel in diagram__live-overlay showed only a muted placeholder label “SVG overlay” centered on a surfaceVariant background. The right panel occupied ~45% of the screen but provided no visual hierarchy cue — the two halves of the screen had equal weight with no focal point on the empty side.
DiagramScreen.kt had no else branch in its loading/error/content when block. When the source URL was blank and loading completed, the bordered box was empty. The screenshot scenario in Scenarios.kt reflected this as a bare Text("SVG overlay") placeholder. The panel background used surfaceVariant, which is too close in lightness to the left node-list panel; a loaded SVG would not read as figure against ground.
DiagramEmptyState() composable in DiagramScreen.kt: diagram icon at ICON_SIZE_LARGE tinted outlineVariant, “No diagram loaded” label in bodyMedium / onSurfaceVariant.else branch of the when block so it only appears when svgContent == null.colorScheme.background so a loaded SVG has a clearly receding ground.DiagramOverlaySurface in Scenarios.kt to render the same icon + text pattern and use background instead of surfaceVariant.Empty states are UI states. Any when block in a loading composable (loading / error / content) needs an else branch that communicates intent to the user. Screenshot tests that use placeholder strings (“SVG overlay”, “TODO”) instead of a real composable subtree will mask this gap at review time — replace placeholders with the actual empty-state composable as soon as it exists.