type: guide title: "When the quickstart does not render" description: "The failures readers hit on first run - CORS, an empty map, a fixture checksum mismatch on Windows - with the cause for each."

First Map troubleshooting

Use this guide for the canonical app in examples/maplibre-quickstart. Start with the deterministic lane:

npm run demo:quickstart:mock

If that lane fails, the problem is in the app, SDK, local browser, or fixture contract. It does not depend on a public service or network-hosted basemap.

Endpoint or protocol errors

First Map accepts an absolute HTTP(S) GeoServices FeatureServer layer or OGC API Features endpoint. The visible form and VITE_HONUA_QUICKSTART_ENDPOINT use the same validator.

Authentication failures remain authentication-required; unsupported operations remain unsupported; ambiguous discovery remains source-selection-required. They never become an empty successful map.

Browser network and CORS failures

An anonymous public endpoint must allow the browser origin. A command-line request can succeed while the browser is still blocked by CORS.

Bounds, geometry, and query plans

Source, freshness, and cache truth

The evidence panel distinguishes:

The scheduled live envelope and screenshot preserve the same fields. They do not replace deterministic fixture proof.

Runtime and cleanup

Inspect:

Useful runtime fields include sourceProtocol, sourceId, sourceAttribution, sourceObservedAt, sourceFreshness, cacheStatus, degradation, planFingerprint, featureCount, layerIds, timing-budget fields, and cleanup state. Disposal is idempotent and must remove the SDK mount, popup, handlers, and borrowed MapLibre resources within the published cleanup budget.