---
type: Domain Concept
title: Component grids
description: Numerical components share an aligned grid while Layers own composition and category colors.
tags: [rendering, raster, grid, composition, palette]
visibility: public
---

# Data and presentation

A component grid describes several nonnegative numerical values inside each
aligned geographical cell. Categories are identified by stable IDs, with
labels kept separately. A Data Product declares their meaning, units and
aggregation. A Channel bundles every component for one measure through a
versioned `grid_delivery` capability. A Layer explicitly binds compatible
measure Channels; selecting a component does not change authorization.

This capability contains numerical blocks, independently of the image
[pixel delivery contract](raster-pixel-inspection.md). New datasets can use
the same renderer when they supply its aligned WGS84 grid, stable categories,
declared LODs, finite nonnegative values and explicit NaN missingness.
Regridding unrelated datasets is a separate operation.

# Composition

The Layer owns three display choices: mosaic, stripes and dominant category.
Mosaic and stripes allocate exact rectangles in proportion to positive known
values inside the cell. Dominant fills the cell with its largest component.
Mosaic always uses a stable seeded shuffle of component positions without
changing their shares, including existing maps that saved shuffle disabled.
There is no shuffle control. Stripes always follow descending component values,
with ties resolved by contract order.
A zero has no area but remains available to inspection; missing data
remains distinct from zero.

One selected component uses its category color with opacity scaled by its
numeric value. Category colors are keyed by identity, not array position. A
catalog palette is copied into the Layer so later catalog edits do not
recolor existing maps. Viewer measure/component/mode choices are local
preferences; author defaults and colors belong to the saved Layer.

Inspection uses the accepted numerical blocks and actual measure units.
By default, hover shows the five largest positive components in descending
measure order, as a list in the shared hover summary. Color strips use saved
Layer category colors and can be disabled independently for each field.
Details retain all components in descending measure order, with known zeroes
before missing observations; equal values keep the contract's stable order.
Component dropdowns sort localized names alphabetically, with the all-components
choice first, without changing numerical block or palette indices.
The map's shared search also finds components by partial names, stable IDs
and declared translations from visible Layers' active contracts. Choosing a
result applies the same local component preference as its dropdown and clears
the previous cell inspection without moving the camera.
Selecting one component also keeps a known zero
available in hover. Explicit Layer field selections still take precedence.
Incomplete compositions report how many components are known. A total is
available only for a declared additive measure and a complete set of
component observations. Weighted means such as crop yield are not summed.
Coarse cells follow the producer's declared aggregation of known source
observations; a complete component list does not imply complete spatial
coverage of all source observations.

Clicking selects the complete sampled cell, using the bounds of the accepted
LOD rather than the individual component rectangle. The shared inspection
UI outlines this geographical footprint with native draped Mapbox layers
instead of a coordinate marker. The footprint stays with the sampled details
when the camera moves; a new click replaces it and closing selection removes
it. Other samplers can reuse the same optional inspection geometry.

# Delivery and lifecycle

Immutable Float32 blocks are built offline and served from private Storage
after exact Layer/Channel and map-access authorization. Scalar Channels do not
authorize broader component bundles. Object paths come from the catalog,
not caller-provided bucket or release overrides.

CanvasSource surfaces stay draped by Mapbox across the
[globe/Mercator transition](globe-mercator-morph.md). Scene bytes, texture
pixels, surface count, cache size and concurrency are bounded. A coarser
declared LOD can satisfy a large viewport. Failed replacements retain an
authorized accepted frame with an error state; confirmed access denial
clears the frame. Style reloads reattach resources through the normal map
lifecycle.

[Crop statistics](../catalog/crop-statistics.md) are the first producer.
