COLUMN MAPPING — expression column (Layout B: inline)

Each OUTPUT row carries name · type · expression. The expression is optional free text (generally ANSI SQL, not validated); serialize-only — stored on out.expression, read by the transform code from CONTEXT.options. Edges populate in[]; multiple edges into one output column are now allowed. Empty expression = plain copy.

Fonts now match the app: rows in Geist (0.75rem), inputs in JetBrains Mono (0.72rem), 22px rows. Example: id→id (copy) · name→full_name (upper(name)) · amount+tax→total (amount + tax).
input · in-1
customers
id Ninteger
name Svarchar
amount Fdouble
tax Fdouble
 
output · out-1  —  name / type / expression
customers_clean +
id Ninteger
full_name Svarchar
total Fdouble