栅格瓦片覆盖与淡入
共同raster覆盖更新已通过当前开发SDK的本机三路径验收。使用(await map.sqs.getCapabilities()).commonRasterCoverageFade探测能力。
缺失目标先复用同源、同epoch最近缓存父片;缓存子片也可在自己的区域反向补位。覆盖区域互斥,未覆盖区域透明,补位不会额外下载父片或子片。精确瓦片到达后只交接对应区域,世界副本复用canonical缓存。tileState.fallbackTiles计有补位的显示目标,不能把一个目标的四个子patch算成四个目标;readyTiles和源的loaded仍只认可精确资源。
共同raster图层的raster-fade-duration单位为毫秒,默认300,0立即完成。时长须为有限非负数,支持已有合法uniform global、词法及连续zoom表达式;不支持逐要素/feature-state时长。初次瓦片从透明淡入,精确片从保存的先前覆盖纹理交接。多个同源图层保持各自时长、材料与顺序,图层opacity只应用一次。
map.addSource('imagery', {
type: 'raster',
tiles: ['https://your-provider.example/{z}/{x}/{y}.png'],
tileSize: 512,
attribution: '填写实际影像提供方版权'
});
map.addLayer({
id: 'imagery-layer', type: 'raster', source: 'imagery',
paint: { 'raster-opacity': 0.5, 'raster-fade-duration': 300 }
});
此处示例域名须替换为实际提供方。图层列表、主题按钮等界面由宿主自行实现;核心只提供API和事件。
源资源已齐与渲染过渡完成分别报告:map.isSourceLoaded(id)可在淡入仍进行时为true,整图map.loaded()还等待渲染工作结束。真实绘制推进fade,结束释放先前引用并停止额外补帧。缓存、旧引用、派生覆盖及GPU数据继续受既有预算限制;失败候选、取消和迟到响应沿用原子规则。
共有缓存64 MiB、64显示目标、32 pending继续有效;每批覆盖最多512 pieces,图片纹理、生成网格和地形投影数据分别按64 MiB预算校验。
仅接入既有合法平面、倾斜、球面及贴地raster路径,不扩大其他样式组合。image/video/canvas帧仍即时更新,不套瓦片到达过渡。复用双纹理覆盖交接;不是任意嵌套淡入的上一帧RGBA快照。需要同时保存第三个原图的嵌套组合属于明确边界,不用重复opacity或CPU混色代替。
同一公共完整脚本用合成PNG和私有协议控制资源,localhost3303图片是本机截图屏障;外部driver按真实单调时间采集2000毫秒过渡的中间和完成帧。它不导入不存在的sleep,也不新增生产时钟API。同一脚本和12阶段实际帧已通过Linux、网页主线程及Worker验收;设备、移动GIS/iOS、外机及正式发行仍待完成。
可见background与共同raster/globe的组合仍按既有规则拒绝;公共夹具隐藏background,先在同一资源owner/投影下单独截图实际底色,再核对混合,不假定白底。
混合沿用既有合同:encoded sRGB纹理先按alpha预乘插值,再解码成linear做材料与SRC_OVER;不能把不同编码域的数值直接当同一颜色。公共验收分别采集实际空底和球面opaque影像参考,纳入球面光照后检验一次opacity。当前PNG响应上限4 MiB,decoded边长上限1024;旧二维painter图片边长512仍是已知限制。