Plots and outputs
Read visible chart series and named raw Pine data through the correct shape.
The native runtime exposes chart-ready output and raw named plots. Choose the representation intentionally; their point shapes are not interchangeable.
Output surfaces
| Surface | Purpose |
|---|---|
context.pineState.chartData.series | Series prepared for the chart renderer |
context.pineState.plots | Named Pine plot data, including hidden signal plots |
context.pineState.values | Runtime values exposed by the native result |
| Native order intents and alerts | Additional runtime output, handled through their own paths |
For a numeric signal bridge, use an explicitly named plot such as pine.signal. Stable names are easier to keep aligned with SJS than visual color or marker position.
Raw plots versus chart points
The raw numeric plot data used by the new signal observer has objects with time and value. The chart series path can contain arrays such as [time, value] or chart objects with fields such as x, time, and y.
Do not use a chart-point parser on raw plot objects without adapting its field names. Reject missing, non-finite, or unexpected signal values rather than treating any object as a signal.
Hidden plots remain useful
display.none lets the example retain numeric signal output without adding a visible line. The chart can therefore look quiet while a named plot remains available for SJS.
A sparse arrow series can retain an older last point after the event has passed. “Last point” does not mean “signal for the current frame.” Inspect the timestamp and define expiration explicitly.
Incremental updates
The native runner maintains state and updates the active candle instead of replaying all history on each ordinary update. Same-open-time input can replace the open candle, and drawing output can change before confirmation.
Separate the question “was output calculated?” from “did the UI receive and render its update?” when inspecting missing live plots, especially around warmup and reconnects.
Continue with signals in SJS.