// the find
mapbox/vector-tile-spec
Mapbox Vector Tile specification
The Mapbox Vector Tile specification defines how vector map data is encoded into tiles: a protobuf schema in vector_tile.proto, plus prose describing how layers, features, and geometry commands are to be read. It is for people writing a tile encoder or decoder, or working out why a tile renders differently in two clients.
The schema is one short .proto file, and the prose beside it is written for implementers. It spells out the command integers and zigzag-encoded deltas, so a decoder can be written from the document. Versioning is stated as a rule: a major bump means the format or its interpretation changed, and a minor bump means wording fixes. That tells you whether an older decoder can safely read a newer tile. The license is clean. The spec text is CC BY 3.0 US, and using the spec in code carries no royalties or requirements, so an encoder can ship without a legal review. Version 2.0 defined interior and exterior rings in polygons, which is the part of the format most likely to produce different output across implementations.
The top level of the repo is thin. The README is a license, a version table, and a link to an implementations list. The spec text sits in the 2.0 and 2.1 subfolders, so someone skimming the root finds very little. The last release is 2.1 from January 2016, and the format has not changed since. If you need something it does not express, such as curves or 3D geometry, the spec offers no path to it short of a fork. Geometry is packed as command integers with zigzag-encoded deltas. That is compact and fast to parse, but a tile is unreadable without a decoder, so debugging a bad encoder means building tooling first. Nothing in the visible tree (which is truncated) shows test fixtures or a conformance suite, so checking that a decoder matches the spec means reading the prose and cross-checking against tiles from other producers.