Loading...
Searching...
No Matches
ATAS.Indicators.Heatmap.IHeatmapVisualState Interface Reference

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...

Inheritance diagram for ATAS.Indicators.Heatmap.IHeatmapVisualState:
[legend]

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< IHeatmapVisualStateNodeVisuals [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.
 

Detailed Description

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.

Member Function Documentation

◆ BeginUpdate()

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.

Property Documentation

◆ Descriptor

HeatmapIndicatorDescriptor ATAS.Indicators.Heatmap.IHeatmapVisualState.Descriptor
get

The owning descriptor — the same reference passed to the platform via IHeatmapIndicator.Descriptor.

◆ Version

long ATAS.Indicators.Heatmap.IHeatmapVisualState.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.

◆ Visuals

IReadOnlyList<IHeatmapVisualStateNode> ATAS.Indicators.Heatmap.IHeatmapVisualState.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.


The documentation for this interface was generated from the following file: