Interface IHeatmapVisualState
- Namespace
- ATAS.Indicators.Heatmap
- Assembly
- ATAS.Indicators.dll
Persistent visual state owned by a single indicator instance and read
by the renderer at frame rate. Created by the platform from the
indicator's HeatmapIndicatorDescriptor and bound to the
indicator via State; the same
reference is valid for the entire lifetime of the runner. Resets
(instrument switch, explicit RequestStateResetAsync) clear the
content of every series but do NOT replace the state instance.
Mutation goes through BeginUpdate(); reads from the renderer
are wait-free over the front-committed portion of every series. The
detailed contract — including the front/back buffer model, the
chunked append-only storage, lease exclusivity, and the version
counter — is documented in docs/Heatmap/HeatmapIndicatorsDesign.md.
Added in ATAS 8.0.15.
public interface IHeatmapVisualState
- Extension Methods
Properties
Descriptor
The owning descriptor — the same reference passed to the platform via Descriptor.
HeatmapIndicatorDescriptor Descriptor { get; }
Property Value
Version
Monotonic counter bumped by exactly one for every commit
(System.IDisposable.Dispose() of the IHeatmapVisualStateLease) that produced at
least one mutation. The renderer compares the cached version against
this property per frame; a change indicates new data to upload.
Read with Volatile.Read semantics — safe from any thread.
long Version { get; }
Property Value
- long
Visuals
The visuals declared by the descriptor. Schema is fixed at construction time; this collection never gains or loses entries during the state's lifetime. Each visual exposes its series in the same fixed order as the descriptor declared them.
IReadOnlyList<IHeatmapVisualStateNode> Visuals { get; }
Property Value
- IReadOnlyList<IHeatmapVisualStateNode>
Methods
BeginUpdate()
Acquire the exclusive write lease. Throws
System.InvalidOperationException synchronously if a previous
lease has not yet been disposed — there is no queueing. Authors
dispose the returned lease (typically with a using statement);
disposal commits the back-stage to the front and bumps
Version if any mutation occurred.
IHeatmapVisualStateLease BeginUpdate()