Symptom

The DataPoint Graph chip in the node catalog screenshot rendered with no visible label text — only the icon circle appeared. Every other node type showed at minimum a name string in its chip face.

Root cause

GraphMetaData.name defaults to "" so callers supply a context-derived name (e.g., "<parent> graph") at construction time. GraphMetaData.displayName() encodes the empty-string fallback and returns "Graph" when the name has not been set. Both GraphChip and GraphRow were calling meta.name directly instead of meta.displayName(), bypassing the fallback. The catalog screenshot test uses default metadata (type.meta()), so name = "" and the chip rendered nothing.

Fix

Prevention

When a NodeMetaData type has a displayName() override, all UI composables that render the node’s name should use displayName() rather than the raw name field. A chip that renders an empty string is always wrong — either the test fixture is missing data or the composable is bypassing the fallback. The screenshot catalog test (which uses type.meta() defaults) now serves as a visual canary for this class of regression.