纯 TypeScript 线格式审计:手写 protobuf 读取器解码 Tile.layers → Layer(version/name/features/keys/values/extent) → Feature(tags/type/geometry) → Value(string/float/double/int/uint/sint-zigzag/bool)。几何解释器严格遵循规范 §4.3——CommandInteger = id | count<<3、zigzag 参数整数、dX/dY 不得同时为 0、ClosePath 仅限多边形且 count 为 1、POINT 为单条 MoveTo、LINESTRING 为 MoveTo+LineTo 重复——并用测量员公式判定环:外环面积必须为正(y-down 坐标系下视觉顺时针)、内环为负。瓦片大小与要素数预算沿用 tilelive/tippecanoe 实践(约 500 KB 与约 10000 要素为复核阈值)。PMTiles v3 按规范解码:127 字节头部、gzip/brotli 内部压缩、Hilbert 曲线上的 delta TileID varint 目录、run-length 瓦片条目与 run-length 0 叶子指针、聚类与一致性检查,并支持按 z/x/y 提取瓦片。Web Mercator 面板校验谷歌瓦片方案 XYZ(0 ≤ x,y < 2^z)并计算地理包围盒与分辨率。