Skip to contents

Everything the app needs for first paint with no WASM and no second request: the release's identity and access, the grid, the study-area camera presets, the drawable units and their keys, the cell layers with their COGs and rescales, every zone's precomputed metrics, the versioned flower default, the datasets, the colour ramps and the table manifest with a digest per table (the OPFS invalidation key).

Usage

app_boot(
  con,
  ver,
  manifest,
  tables = list(),
  geom_keys = list(),
  zone_sets = NULL,
  chosen = NULL,
  zone_names = NULL,
  zone_bbox = NULL,
  built_at = format(Sys.time(), "%Y-%m-%dT%H:%M:%SZ", tz = "UTC")
)

Arguments

con

a DBI connection to a release database

ver

version label

manifest

a manifest from manifest_build(); metrics supplies the COGs and zones the PMTiles

tables

named list of name -> list(href, bytes, digest); see app_table_manifest()

geom_keys

optional geometry keys per zone type, see app_units()

zone_sets

the zone-set registry, used by app_zone_tbl() to choose the one table per field when a release carries more than one

chosen

a precomputed app_zone_tbl() result, so every builder in one bundle agrees on the same table

zone_names

optional data.frame(fld, key, name) from app_zone_names(), rbound across every zone type the release publishes — human names for zones.<unit>[i].name (e.g. "Aleutian Arc" for ALA). NULL (default) publishes every zone with name = NULL, exactly as before.

zone_bbox

optional data.frame(fld, key, w, s, e, n) from app_zone_bbox(), rbound across every zone type the release publishes — zones.<unit>[i].bbox (R3-C3), so the app's search can zoom to a zone without a loaded vector tile. NULL (default) publishes every zone with bbox = NULL, exactly as before.

built_at

ISO timestamp to stamp (default: now, UTC, second precision)

Value

a validated boot.json object

Details

flower_default is versioned here, which retires the shared, unversioned scores/cache/flower_default_subregions.csv: the first release to run wrote it and every other release then read it, so the committed file holds 10 components from a release that had 10 while v8/v9 have 8.