Symptom

In the Connect Nodes wizard step 1 type-selector, a node type with zero available candidates (e.g. “DataPoint 0”) was rendered with the same text color, opacity, and row style as types with candidates (e.g. “Client 1”). Users could not distinguish “nothing to connect here” from “one node available.”

Root cause

The row composable in NodeList.kt’s SourceList step-1 branch applied the same styling unconditionally regardless of candidateCount. The title text used the default onSurface color and the row was always clickable, even when tapping it would land on an empty list.

Fix

Prevention

When rendering a list where some items represent “zero available,” treat count == 0 as a mini empty-state: dim (alpha or muted color) and disable interaction. The pattern is: if (isEmpty) Modifier.alpha(0.5f) else Modifier.clickable { … } — non-interactive rows should never carry a clickable modifier.