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 HeatmapIndicator<TSettings>.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.
More...
Public Member Functions | |
| IHeatmapVisualStateLease | BeginUpdate () |
Acquire the exclusive write lease. Throws 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. | |
Properties | |
| long | Version [get] |
Monotonic counter bumped by exactly one for every commit (IHeatmapVisualStateLease.Dispose) 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. | |
| HeatmapIndicatorDescriptor | Descriptor [get] |
| The owning descriptor — the same reference passed to the platform via IHeatmapIndicator.Descriptor. | |
| IReadOnlyList< IHeatmapVisualStateNode > | Visuals [get] |
| 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. | |
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 HeatmapIndicator<TSettings>.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/HeatmapIndicatorsDesign.md.
| IHeatmapVisualStateLease ATAS.Indicators.Heatmap.IHeatmapVisualState.BeginUpdate | ( | ) |
Acquire the exclusive write lease. Throws 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.
|
get |
The owning descriptor — the same reference passed to the platform via IHeatmapIndicator.Descriptor.
|
get |
Monotonic counter bumped by exactly one for every commit (IHeatmapVisualStateLease.Dispose) 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.
|
get |
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.