Elevation Store Backend
Storage backend for one elevation coverage's encoded tiles + their per-tile ancillary (scale, offset) metadata. Per-platform implementations bind one contentKey to the underlying medium:
JS: IDB
coverage_tilesblob store +coverage_ancillarykeyed object store.iOS: filesystem
${baseDirectory}/${contentKey}/${z}/${x}/${y}.binblob +${z}/${x}/${y}.ancillarysidecar.
The codec (ElevationStorageCodec) lives one level up — this interface is just "where do the bytes live" + "what's the per-tile scale/offset" so the cross-platform cached elevation factory (CachedElevationDataFactory) doesn't have to know about the backend medium.
Properties
Cache identity (contentKey + containing ContentManager path). Surfaced through CachedElevationSourceFactory.cacheInfo so layer-side extensions can return it.
When true, writeTile throws.
Functions
Refresh a tile's freshness timestamp WITHOUT rewriting its bytes — the conditional-GET 304 Not Modified path. Default no-op for backends that don't track freshness.
Persist the encoded tile bytes + ancillary metadata for (z, x, y), plus the network response's etag / lastModified validators so a later refresh can issue a conditional GET. Implementations should be idempotent — writing the same key twice replaces the prior row.