The document was written in 2017 against mapbox/tippecanoe at
dc86eb6b5a, which is now two forks and a great deal of new machinery
ago. Every section has been updated to the code as of 63fcac72
(v2.81.0), and its links repointed there so the line numbers stay
meaningful.
The three sections that were left as bare headings are now written:
"Plugins" covers the prefilter and postfilter plumbing, "The rest of
tiling" covers everything write_tile does after it has finished reading
features, and "Writing tileset metadata" covers make_metadata and the
fields it produces.
New sections cover the parts of the program that did not exist yet:
input formats other than GeoJSON, the string pool's three defenses
against being slow, the global vertex and node merges behind
--no-simplification-of-shared-nodes, maxzoom guessing, retrying a whole
zoom level when a threshold has to be raised, variable-depth tile
pyramids, in-process feature filters, PMTiles conversion, and the other
programs built alongside tippecanoe.
Corrections to the old text: the `meta` temporary file is gone, since
features now reference their pooled keys and values directly; the
mbtiles schema deduplicates tiles by content hash through a map/images
pair rather than writing a single tiles table; feature streams in the
temporary files are compressed; and the per-feature minzoom field, which
the old text said "doesn't really make sense any more and should be
removed," is what now makes dot-dropping consistent between zooms.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012tkvf5HbM7yL8u3gSv9Vxq