Bundle sizes

Per-entrypoint bundle sizes for @honua/sdk-js, measured the way a real consumer builds them: esbuild --bundle --minify, target es2020, runtime peers (maplibre-gl, cesium, @bufbuild/*, @connectrpc/*) kept external. Ceilings are enforced in CI via npm run verify:bundle-budgets (budgets live in bundle-budgets.json, set to actual + ~10% headroom).

Generated 2026-10-14 at commit 32ab86472.

Entrypoint Min Min budget Gzip Gzip budget
. (root) 754.5 KiB 829.3 KiB 201.0 KiB 211.8 KiB
/honua 927.2 KiB 1033.4 KiB 248.4 KiB 278.1 KiB
/contract 380.7 KiB 400.6 KiB 103.3 KiB 108.0 KiB
/source-schema (focused schema + pinned PROJJSON validator) 820.5 KiB 859.4 KiB 193.6 KiB 195.3 KiB
/source-capabilities (static evidence ingestion + lightweight evaluator) 188.2 KiB 257.5 KiB 26.2 KiB 33.2 KiB
/source-capability-discovery (GeoServices/OData/WMS/WMTS schema-bound evaluation) 854.5 KiB 961.8 KiB 202.9 KiB 237.6 KiB
/plugin (registry + certification, no heavy peers) 68.3 KiB 69.2 KiB 20.7 KiB 21.9 KiB
/agent-tools 46.0 KiB 48.1 KiB 12.7 KiB 13.3 KiB
/agent-safety 69.0 KiB 73.2 KiB 19.1 KiB 20.5 KiB
/nl-map-control 92.5 KiB 94.2 KiB 27.3 KiB 27.9 KiB
/interactions/declarative (ADR-0030 compiler over the existing binding primitives) 14.3 KiB 15.8 KiB 5.0 KiB 5.5 KiB
/studio-agent (SSE + MCP transports and the turn loop; bundles its agent-tools dependency) 44.4 KiB 46.9 KiB 14.2 KiB 15.0 KiB
/runtime 704.3 KiB 752.5 KiB 181.7 KiB 198.6 KiB
/realtime 82.3 KiB 86.2 KiB 23.6 KiB 25.0 KiB
/offline 171.5 KiB 186.2 KiB 45.5 KiB 49.7 KiB
/query-planner (worker runtime injected) 706.7 KiB 778.7 KiB 170.7 KiB 182.9 KiB
/scene-workspace (MapLibre/Cesium external — optional peers) 174.1 KiB 183.6 KiB 52.5 KiB 55.8 KiB
/client-compat 1103.8 KiB 1139.7 KiB 273.1 KiB 309.5 KiB
/expr 7.7 KiB 8.4 KiB 2.4 KiB 2.7 KiB
/webmap 35.0 KiB 38.6 KiB 10.7 KiB 11.8 KiB
/geocoding 32.7 KiB 35.9 KiB 9.2 KiB 10.1 KiB
/routing 26.1 KiB 28.7 KiB 7.8 KiB 8.5 KiB
/auth 28.2 KiB 30.6 KiB 7.7 KiB 8.7 KiB
/style 65.2 KiB 69.0 KiB 16.3 KiB 17.2 KiB
/map 193.6 KiB 198.2 KiB 54.7 KiB 56.2 KiB
/geoparquet (duckdb-wasm external — lazy peer) 147.6 KiB 154.9 KiB 44.2 KiB 46.6 KiB
/cog (caller-injected decoder; no raster peer in the static graph) 51.7 KiB 56.1 KiB 14.8 KiB 16.1 KiB
/pmtiles (bounded direct inspection + managed lifecycle; renderer runtime excluded) 322.3 KiB 364.2 KiB 85.8 KiB 98.7 KiB
/deckgl (deck.gl external — lazy peer) 66.1 KiB 68.3 KiB 17.7 KiB 18.3 KiB
/controls (framework-free control kit; includes the lazy web-components registration chunk) 1164.5 KiB 1275.0 KiB 304.3 KiB 312.7 KiB
/web-components (custom-element kit; maplibre-gl external, export adapters injected) 1269.6 KiB 1395.4 KiB 335.7 KiB 356.1 KiB
/kepler (kepler.gl/react/redux absent — dynamic optional peer) 61.5 KiB 67.5 KiB 17.9 KiB 18.1 KiB
/analytics (contract + accessible default presentation; no chart adapter, no chart peer) 35.7 KiB 39.2 KiB 11.2 KiB 11.6 KiB
/analytics/uplot (µPlot external — dynamically imported optional peer) 10.1 KiB 10.3 KiB 3.9 KiB 4.2 KiB
/react (react/react-dom external) 556.4 KiB 562.6 KiB 150.2 KiB 165.2 KiB
/geometry (turf/proj4 bundled — real consumer cost) 553.8 KiB 568.0 KiB 147.7 KiB 157.0 KiB
browser IIFE (./browser unpkg/jsdelivr) 754.7 KiB 832.8 KiB 201.1 KiB 222.1 KiB
browser ESM (./browser) 754.3 KiB 828.5 KiB 201.0 KiB 221.7 KiB
tree-shake guard ({ HonuaClient } only) 228.9 KiB 280.2 KiB 57.8 KiB 74.3 KiB
tree-shake guard ({ connect } from root, source-schema runtime excluded) 612.6 KiB 695.1 KiB 161.8 KiB 186.7 KiB
tree-shake guard ({ evaluateCapabilityProfile } only, CRS/PROJJSON validator excluded) 16.2 KiB 17.9 KiB 5.7 KiB 6.2 KiB
tree-shake guard ({ HonuaTimeoutError } only, descriptive code registry excluded) 16.6 KiB 17.1 KiB 4.4 KiB 4.5 KiB
explicit registry import ({ HONUA_ERROR_CODE_REGISTRY }, full descriptive summaries) 17.1 KiB 18.5 KiB 3.6 KiB 3.9 KiB
tree-shake guard ({ createHonua } managed discovery + accepted-plan facade) 714.7 KiB 791.3 KiB 190.6 KiB 210.6 KiB
tree-shake guard ({ FeatureLayerCompat } from /client-compat) 252.9 KiB 296.3 KiB 64.1 KiB 77.7 KiB
tree-shake guard ({ buffer } from /geometry, turf bundled) 286.5 KiB 316.3 KiB 65.3 KiB 72.2 KiB
tree-shake guard ({ mountSourceToMapLibre } from /map) 46.2 KiB 49.4 KiB 13.9 KiB 14.0 KiB
tree-shake guard ({ createHonuaPmtilesLifecycle } from /pmtiles, generic discovery excluded) 34.7 KiB 35.1 KiB 9.7 KiB 10.0 KiB
tree-shake guard ({ bindTerraDrawSketch } from /runtime, terra-draw external) 3.4 KiB 3.8 KiB 1.5 KiB 1.7 KiB
tree-shake guard (/analytics contract + default presentation, chart adapters/peers excluded) 27.4 KiB 30.2 KiB 9.0 KiB 9.2 KiB