矢量瓦片缓存补位
共同MVT保留既有父级补位,并支持缓存子片反向补位。检查(await map.sqs.getCapabilities()).commonVectorDescendantFallback;旧commonVectorParentFallback仍仅作为父补位能力判断。下面语义适用于匹配的新开发SDK;本批公共验收与产物状态在文末记录。
精确目标片优先。缺失目标片使用最近的同源、同epoch缓存祖先填底;已有子片占据各自区域,没有被较近子片覆盖的更深后代也可补画。某片一旦被选择,其内部更深子片不再重复覆盖。没有祖先的空缺区域保持空白。缩小时不用立即丢弃已缓存子片;精确目标到达后一次替换它的全部分区。补位不额外下载祖先或子片,资源请求继续面向精确目标。
点、线、面及孔洞复用共同裁剪。分区有互不重叠的几何范围;点和标注锚点使用半开归属。点/沿线标注读取原始解码记录,再按分区限定放置,不把派生裁剪当作原始道路。ID、promoteId、source-layer、要素状态、过滤和排序保持原义;宽线与端帽跨边界的完整像素所有权、跨片道路重复/纹理相位仍未完成。
querySourceFeatures返回实际引用的原记录,按origin和世界副本复用;同一祖先供多个分区使用不会复制多份,多个子片各自原有的缓冲记录继续保留,不按ID拼接几何。queryRenderedFeatures命中实际显示片段,沿用同显示层稳定ID去重。
tileState.fallbackTiles按正在使用任何补位的显示目标计数,世界副本分别计数。readyTiles和loaded只认可当前epoch的精确瓦片;有补位仍可能正在加载。cachedTiles统计canonical原始缓存,派生片段不冒充原片;byteLength计入原缓存、派生几何及分区记录。
联合限制为512覆盖分区、4096个原始缓存瓦片(空MVT也占一项)、64MiB缓存、64可见目标和32在途请求;每份MVT响应8MiB、每矢量源实际显示5万记录/50万坐标。所有被补位引用的origin与栅格过渡引用都受淘汰保护。超限、旧代响应、源更新、取消及失败候选沿用完整事务,不发布部分缓存/修订或替换原画面。
完整可移植序列用同样五份合成MVT控制响应,覆盖父补位、部分/完整子片反向补位、原始ID标注和精确目标替换。localhost3317图片请求是实际截图屏障,改作外部项目示例时须替换验证宿主。
本批匹配核心570706f9336c919b76cf4c2cac1a316e13f5de44、开发SDK 0.3.0-dev.570706f9。同一84项/8阶段在Native、主线程、Worker通过,共24真实观察帧;两网页宿主各181次调用,协议轨迹与原生一致、无浏览器错误。新覆盖CPU、既有父补位/栅格CPU及一个综合软件Vulkan用例通过;应用102项与数据49项、locked check通过。Native、核心/应用WASM及Android API24 ARM64/JNI匹配;脚本契约233项未改变,既有契约WASM按原SHA保留。
开发归档 SqsMap-SDK-0.3.0-dev.570706f9-vector-coverage.tar.gz:624清单文件加bundle.json、38243826字节,SHA256 5c82c0fb34c3ba8e473b55128096ca4194844061bc1bc34da07862484aa32a7c。独立只读校验器已核对全部成员、实际Native/Android库、共同脚本/HTML/五PBF与WASM。阶段74固定包及其SHA保持不变。生产网站HTTP与四仓Git分别记录;Android仅构建链接,设备/外机、完整能力与正式发行仍未完成。