pub struct EncoderConfig {
pub quantize_coords_m: Option<f64>,
pub quantize_attrs: HashMap<String, f64>,
pub quantize_attrs_auto: bool,
pub vector_groups: Vec<VectorGroup>,
pub point_elevation_column: String,
pub vertex_time_max_step_ms: u32,
}Expand description
Resolved, explicit encoder settings — the values the tile encoder reads at encode time (coordinate + attribute quantization, vector grouping, the point-elevation fold, vertex-time precision).
Historically these lived only in process-wide mutable statics set via the
set_* functions above; that made a new encode caller silently inherit
whatever the last set_* left behind (the origin of the stt-serve parity
bug) and made it impossible to encode two different configurations in one
process (blocking multi-dataset serve + parallel per-config tests). Passing an
EncoderConfig explicitly to encode_tile_with / encode_layer_with
removes both problems. The globals + the no-arg encode_tile /
encode_layer wrappers remain for the one-shot CLI and existing callers;
EncoderConfig::from_globals snapshots them.
Fields§
§quantize_coords_m: Option<f64>Fixed-point coordinate quantization ground precision in meters
(None = Float64 GeoArrow coordinates, the default).
quantize_attrs: HashMap<String, f64>Per-property explicit fixed-point precisions (name → precision).
quantize_attrs_auto: boolRange-adaptive UInt16 quantization for every un-listed Float64 property.
vector_groups: Vec<VectorGroup>Scalar columns to fuse into interleaved FixedSizeList vector columns.
point_elevation_column: StringProperty folded into POINT geometry as the z coordinate (empty = none).
vertex_time_max_step_ms: u32Ceiling (ms) on the per-vertex time u16-delta quantization step.
Implementations§
Source§impl EncoderConfig
impl EncoderConfig
Sourcepub fn from_globals() -> Self
pub fn from_globals() -> Self
Snapshot the current process-wide encoder globals into an explicit config.
Used by the no-arg encode_tile / encode_layer back-compat wrappers.
Trait Implementations§
Source§impl Clone for EncoderConfig
impl Clone for EncoderConfig
Source§fn clone(&self) -> EncoderConfig
fn clone(&self) -> EncoderConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EncoderConfig
impl Debug for EncoderConfig
Auto Trait Implementations§
impl Freeze for EncoderConfig
impl RefUnwindSafe for EncoderConfig
impl Send for EncoderConfig
impl Sync for EncoderConfig
impl Unpin for EncoderConfig
impl UnsafeUnpin for EncoderConfig
impl UnwindSafe for EncoderConfig
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more