Skip to main content

Cached coverage for vector tiles

Keep MVT coverage using cached ancestors and descendants while exact targets load

Shared MVT retains parent fallback and adds cached-descendant fallback. Check (await map.sqs.getCapabilities()).commonVectorDescendantFallback. The existing commonVectorParentFallback remains a parent-only capability check. These semantics require the matching new development SDK; current batch acceptance and artifact status appear below.

An exact target takes priority. For a missing target, the nearest same-source, same-epoch cached ancestor fills gaps, while cached children own their regions. Deeper descendants may fill areas without a selected nearer child. Once a tile is selected, its deeper descendants do not overlap it. Gaps without an ancestor stay empty. Zooming out can retain cached children until the exact target replaces every partition together. Fallback requests neither extra ancestors nor descendants: resource requests still target the exact tile.

Points, lines, polygons and holes reuse shared clipping. Regions do not overlap, and point/symbol anchors use half-open ownership. Point and line symbols read original decoded records and restrict placement by region, rather than treating derived cuts as original roads. IDs, promoteId, source-layer, feature state, filters and sorting retain their meaning. Full stroke/cap pixel-boundary ownership and road repetition/texture phase across tiles remain incomplete.

querySourceFeatures returns referenced original records, reused per origin and world copy. One ancestor serving several partitions does not duplicate its records; different children retain their original buffered records. Geometry is not stitched by ID. queryRenderedFeatures hits actual displayed fragments and retains stable-ID deduplication per displayed layer.

tileState.fallbackTiles counts displayed targets using any fallback, including separate world copies. readyTiles and loaded require exact current-epoch tiles; visible fallback may still be loading. cachedTiles counts canonical originals, not derived cuts. byteLength includes originals, derived geometry and region records.

Joint limits are 512 coverage regions, 4096 original cached tiles (including empty MVTs), a 64MiB cache, 64 visible targets and 32 pending requests. Each encoded MVT response is limited to 8MiB, with 50,000 displayed records/500,000 coordinates per vector source. Every referenced origin and raster-transition reference is protected from eviction. Limits, old-epoch replies, source updates, cancellation and failed candidates retain whole-transaction rules: no partial cache/revision or frame replacement is published.

The complete portable sequence uses the same five synthetic MVTs with controlled replies. It covers parent fallback, partial/full reverse child coverage, original-ID symbols and exact target takeover. localhost3317 image requests are actual screenshot barriers; replace the acceptance host when adapting it to an external project.

Matching core 570706f9336c919b76cf4c2cac1a316e13f5de44, development SDK 0.3.0-dev.570706f9. The same 84-check/eight-phase input passed Native, main thread and Worker, with 24 actual observed frames. Both browser hosts used 181 calls; protocol traces match Native and browser errors are empty. New coverage CPU, existing parent/raster CPU and one integrated software-Vulkan case passed, together with 102 application tests, 49 data tests and the locked check. Native, core/application WASM and Android API24 ARM64/JNI match. The 233-entry script contract is unchanged; its existing WASM retains the original SHA.

Development archive SqsMap-SDK-0.3.0-dev.570706f9-vector-coverage.tar.gz contains 624 inventory files plus bundle.json, 38243826 bytes, SHA256 5c82c0fb34c3ba8e473b55128096ca4194844061bc1bc34da07862484aa32a7c. The standalone read-only verifier checked every member, exact Native/Android libraries, shared script/HTML/five PBFs and WASM. The fixed stage74 archive and SHA remain unchanged. Production website HTTP and four-repository Git are recorded separately. Android is build/link verified; external/device acceptance, full capabilities and formal release remain incomplete.