pub struct Source {
pub mark: Mark,
pub x_field: String,
pub y_field: String,
pub aggregate: Option<Aggregate>,
pub x_type: Option<FieldType>,
pub time_unit: Option<TimeUnit>,
pub bin: Option<BinInfo>,
pub series_points: Vec<usize>,
pub data_source: DataSource,
pub truncated: Option<bool>,
pub total_rows: Option<u64>,
}Fields§
§mark: Mark§x_field: String§y_field: String§aggregate: Option<Aggregate>§x_type: Option<FieldType>The resolved x type, set to Some(Temporal) ONLY by the temporal xy
path and None everywhere else — so meta() can tell a temporal x
(ISO domain) from a quantitative one, and every non-temporal snapshot
stays byte-identical (skipped when None).
time_unit: Option<TimeUnit>The timeUnit bucketing a temporal bar’s x, Some ONLY on that path.
meta() reports it in the x block (with the canonical bucket keys as the
categories); skipped when None so every other snapshot stays identical.
bin: Option<BinInfo>The resolved bin layout of a histogram’s x, Some ONLY on that path.
meta() reports it in the x block (step / domain / bin count) so an
agent can verify how the values were binned; skipped when None so every
non-histogram snapshot stays byte-identical.
series_points: Vec<usize>Points-per-series counts etc. needed to reproduce –meta exactly.
data_source: DataSourceData provenance (from Table::provenance). Drives the conditional
--meta data block; always serialized (null when absent) so
--dump-scene shows it.
truncated: Option<bool>§total_rows: Option<u64>