Package-level declarations
Types
Two-component offset serialized as [x, y] for icon-offset / text-offset.
Paint for com.xweather.mapsgl.layers.spec.CircleLayerDescriptor: disc fill, inset stroke, and radius.
Circle disc styling. radius is the outer radius including an inset StrokePaint on CircleLayerPaint. Used by CircleLayerPaint.circle.
Color lookup table.
Per-band mask entry for a multi-scale colorscale (JS/Apple colorscale.masks).
A data class that holds the result of generating a color ramp from a ColorScale. It contains the generated color stops and functions to map between values and positions.
A ColorScale maps numeric values to a color palette.
Color-scale specification (stops, positions, interval, range) used when building ColorScaleOptions.
Defines a value/color pair for a ColorScale.
Paint for com.xweather.mapsgl.layers.spec.ContourLayerDescriptor: sampled field plus isoline style.
Isoline (contour) styling on top of SamplePaint: interval, major interval, line widths, and value offset / scale. Used by ContourLayerPaint.
Mapbox style expression wrapper: a JSON-serializable tree (usually a List whose first element is the operator) compatible with the Mapbox expression spec.
Paint for com.xweather.mapsgl.layers.spec.FillLayerDescriptor: polygon fill plus optional outline stroke.
Polygon fill color, optional pattern, opacity, and sort key. Used by FillLayerPaint and as the fill block on CircleLayerPaint / SymbolLayerPaint.
Paint for com.xweather.mapsgl.layers.spec.GridLayerDescriptor: sampled encoded values plus instanced icons (arrows/barbs) at a grid spacing.
Heatmap kernel styling (Mapbox heatmap-*). Used by HeatmapLayerPaint.
How an icon image is resolved (Apple IconSourcePaint).
Layer-level paint: opacity plus type-specific nested paint blocks.
How the start and end of an open line string are terminated. Maps to Mapbox line-cap and is serialized from StrokePaint.lineCap / LineLayerPaint via StyleJSON.
How connected line segments meet at a vertex. Maps to Mapbox line-join and is serialized from StrokePaint.lineJoin / LineLayerPaint via StyleJSON.
Paint model for vector line layers.
How densely particles are spawned. COUNT uses ParticlePaint.count instead of a density preset.
Particle glyph: disc, bar, or arrow (JS/Apple particle.type).
Paint for com.xweather.mapsgl.layers.spec.ParticleLayerDescriptor: sampled vector field plus particles.
Animated particle field styling (kind, density, size, speed, trails). Used by ParticleLayerPaint together with a SamplePaint that supplies the vector field.
Paint for raster/image tiles (PNG/JPEG). Opacity and other layer-level options live on RasterLayerPaint; this block is the raster-specific slot.
Paint for com.xweather.mapsgl.layers.spec.SampleLayerDescriptor (encoded color field).
Paint for sampled encoded-grid values: interpolation, color mapping, draw range, and timeline blending (meld). Used by SampleLayerPaint, ContourLayerPaint, and ParticleLayerPaint.
Direction a FillPaint.sortKey orders features (Apple SortDirection / Mapbox *-sort-key).
Stroke style shared by line-capable paint types (for example LineLayerPaint, FillLayerPaint.stroke, and CircleLayerPaint.stroke).
Color value accepted in style serialization: Compose Color, hex, or rgba(...) string.
Paint or layout property value: either a constant literal or a Mapbox-style expression.
Paint for com.xweather.mapsgl.layers.spec.SymbolLayerDescriptor: icon, optional text list, fill/stroke, rank.
Shared symbol placement options (Apple SymbolPlacementPaint). Used by IconPaint.placement and GridLayerPaint.symbol.
MapsGL JS symbol.rank: feature property used to order symbols before placement / draw.
Sort direction for SymbolRank.property (JS symbol.rank.direction).
Per-span formatting options for Mapbox format expressions built with Expression.Companion.format.
Style-JSON string for text-justify (e.g. "center").
Text styling for symbol layers (Mapbox text-* properties). Multiple TextPaint entries on SymbolLayerPaint.text become stacked labels.
Style-JSON string for text-transform (e.g. "uppercase").
Vector (fill/line/circle/symbol/heatmap) paint that can emit Mapbox StyleJSON via asStyleJSON.
Functions
Color LUT / sampleDataMin/sampleDataMax span for encoded layers. VECTOR wind speed is non-negative; u/v decoding uses the dataset range in the renderer.
ColorScaleOptions.stops is either a flat List of ColorStop (typical encoded layers) or, for multiband radar, a list of per-band stop lists. CPU ColorScale and bar legends use the first band (reflectivity / red), matching TileLayerRenderer multiband sampling.
Timeline blend factor for sampling / draw. Returns 0 when sampleMeldEnabled is false (JS: sampleMeld() ? progress : 0).
Converts a Kotlin style value to a JSON-ready form for Mapbox style payloads and debugging.
JS paint.sample.meld — whether this layer's SamplePaint blends across timeline intervals. Defaults to true when the paint has no sample block.
Compose Color as rgba(r,g,b,a) with RGB 0–255 and alpha 0–1.