Mvt Style Rule
One declarative rule in an MvtRuleBasedStyle. Matches features by source layer name, optional filter over properties, and tile-zoom range, then resolves zoom-interpolated paint properties into a ShapeAttributes.
Rules paint in declaration order — earlier rules in the list paint under later rules. The zOrder field also feeds MvtStyle.zOrderFor so cross-tile compositing matches the within-tile order.
Parameters
MVT layer name to match (e.g. "streets", "water_polygons"). Use MvtStyle.zOrderFor canonicals where they apply.
predicate over the feature's property map; defaults to MvtFilter.Always.
smallest tile zoom that activates this rule (inclusive); below = skipped.
largest tile zoom that activates this rule (inclusive); above = skipped. Int.MAX_VALUE = no upper bound.
paint order against rules in other tiles. Use MvtStyle.Z_* constants.
when non-null, only matches features of that geometry type. Useful for splitting a layer that carries both polygon and line variants (e.g. Shortbread's street_polygons vs streets).
resolves zoom-interpolated paint properties into a ShapeAttributes.
Constructors
Types
Resolved icon payload. The name is the atlas entry to look up; size is a multiplier on the atlas entry's native pixel size; offset is a horizontal offset in icon-pixel units; anchor picks where on the icon the geographic point sits.
Where the label sits on the feature it labels.
Resolved label payload. pixelSize is read by MvtLabelGroup's collision pass to size its screen-space bbox — earth.worldwind.render.Font is an expect class and doesn't expose its size in commonMain, so we keep it separate.
Bundle of zoom-interpolated paint properties for one rule. Fields default to "draw nothing"; supply only what your rule needs and the rest stays inert.
Functions
Resolve paint for one feature into a concrete ShapeAttributes. Called once per matching feature during tile assembly. Results are NOT cached — short-lived attribute instances flow into the batched tile and are consumed by color packing.