ReadonlyuniformWhen true (all built-ins), bars are positioned by uniform buffer index
and domainToCoord01 is ignored — the standard, fully-tested geometry.
OptionaldomainFuture (non-uniform) hook: map a domain value to a 0..1 position across
the visible logical range, for proportional spacing. Unused while
uniform is true.
The domain value at a logical buffer index, or null if out of range.
Map a domain value to the nearest logical buffer index.
Pluggable behavior for the horizontal domain, abstracting the engine away from "X is always time". The default TimeScaleBehavior keeps the existing time axis byte-for-byte; PriceScaleBehavior drives an options-style numeric X axis (strikes), and hosts can register their own.
The engine positions bars by uniform buffer index regardless of behavior (so all existing geometry/interaction is unchanged); a behavior decides what each index means and how to label it. Truly non-uniform geometry (proportional yield-curve spacing) is reserved for a future extension via
domainToCoord01+uniform = false.Tis the domain value type (Unix seconds for time, a number for price).