- PlotWidget: 1-D array values (local vars + EPICS waveforms) are
routed through the waveform rendering path regardless of configured
plotType; nested 2-D arrays are skipped gracefully. effectivePlotType
switches to 'waveform' whenever any waveforms[] slot is populated.
- TableWidget: new sourceMode:'array' option renders one <tr> per array
element (index in 'name' col, formatted value in 'value' col). For
2-D (elem:'array') rows, colIndices option maps column positions to
inner-array positions. Scalar/multi-signal mode unchanged.
- MultiLed: new sourceMode:'array' option (or auto-detect when value is
already an array) renders one LED per element with live-length tracking;
elem truthiness controls lit state; per-element label/color overrides
supported; meta.elem==='bool' awareness noted in code.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds full array/waveform support through the synthetic DSP engine: a
dsp.Sample value model (scalar or []float64), array ops (index, slice,
sum, mean, min, max, length, fft) with an in-tree radix-2 FFT, and static
type propagation (OpOutputType) that the editor mirrors to colour wires by
data type and flag invalid wirings. Stateful filters and lua stay
scalar-only. Adds a waveform plot mode (x-vs-index trace).
Also: errored-node hover reasons, S/N add-signal/add-node HUD shortcuts in
the synthetic editor, and view-mode widgets that blend with the canvas
background (chrome kept in edit mode).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extend the panel logic editor with two capabilities:
- action.widget: drive a panel widget by id from a flow — enable/disable,
show/hide, and (for plot widgets) clear, pause, or resume the live plot.
Wired via a per-widget command store consumed by a Canvas WidgetView wrapper
(disable overlay / hide) and PlotWidget (pause/clear), reset on panel unmount.
- action.export now emits multiple named arrays as CSV columns with per-column
labels and an alignment mode (common/any/interpolate); dialogs support asking
for and displaying multiple values per dialog.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>