The fields sat in a grey box as blue chips, with a pencil on every one
of them and values printed as the constants they are stored as.
A field is now a quiet white card that lifts on hover, its label small
and grey above the value, and its pencil appears only when the field is
pointed at. A value that is one of a fixed set - CATALOG, PER_EXECUTION
- reads as words on a tinted plate, so it is clearly a choice and not
typed text; an empty one says so in grey rather than as a bare dash.
The dialog behind the pencil is roomier, with a focus ring on the
control and the same words in its dropdown.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A storage was a block with a visual role that said "not a step", which
left resource-shaped exceptions scattered through the editor, the node
components, the palette and the execution view.
The flow now carries resources beside its blocks, and the canvas draws
them with a component of their own: no ports, no dependencies, one
handle for the steps that use it. What a step links is read from the
schema flag x-resource-ref, so the editor no longer knows the word
"storage" anywhere - a new kind of resource needs no code here.
The configuration form the two kinds of node share is now a component of
its own (app-node-parameters), so a resource is edited exactly as a
block while it is drawn differently.
Resource types come from /resources/types, and share the palette with
the blocks under the Resource kind.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>