Skip to content

shortbread

Version 2026.144.1443
Repo superproject

Generate Shortbread-schema OSM vector tiles with a source-built Tilemaker plus the official shortbread config bundle. Builds systemed/tilemaker (C++/Lua) from source — there is no Arch/Fedora package and no release binary — and installs it at /usr/local/bin/tilemaker. Clones the official shortbread-tiles/shortbread-tilemaker bundle (the process.lua per-feature classifier + the config.json layer/zoom schema) to /opt/shortbread-tilemaker with its .git history stripped. With both in place the notebook DAG can convert an OSM PBF into monaco-shortbread.pmtiles under the versatiles-watched /workspace/tiles/shortbread directory. The Shortbread schema is the de-facto general-purpose OSM vector-tile schema documented at https://shortbread-tiles.org.

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
run command=set -euo pipefail git clone –depth 1 https://github.com/systemed/tilemaker /tmp/tilemaker cd /tmp/tilemaker # Boost 1.91+ (CachyOS / Arch as of 2026-Q1) made # boost::system a HEADER-ONLY library: libboost_system.so # no longer exists. tilemaker’s Makefile still ships # -lboost_system in its link line, which fails with # cannot find -lboost_system. Strip the flag — the # boost::system functionality lives in headers, no link # step needed. boost_filesystem + boost_program_options # still ship as .so libraries, so we keep those. sed -i ‘s/-lboost_system//g’ Makefile make -j“$(nproc)“ make install PREFIX=/usr/local cd / rm -rf /tmp/tilemaker
run command=set -euo pipefail git clone –depth 1 https://github.com/shortbread-tiles/shortbread-tilemaker /opt/shortbread-tilemaker rm -rf /opt/shortbread-tilemaker/.git
run mkdir=/workspace/tiles/shortbread
check the tilemaker binary built from systemed/tilemaker source is installed under /usr/local/bin
check tilemaker resolves on PATH so the notebook DAG can invoke it (tilemaker ships no –version flag, so resolve by name)
check the shortbread per-feature Lua classifier is bundled for tilemaker –process
check the shortbread layer and zoom schema definition is bundled for tilemaker –config
check the cloned bundle has its .git history stripped to keep the image small
check the versatiles-watched output directory is pre-created at build time so versatiles serve starts cleanly on a fresh deploy
agent-check a tilemaker run converts an OSM PBF into a monaco-shortbread.pmtiles archive in that directory using the bundled config.json and process.lua
check package=lua
check command=test -d /workspace/tiles/shortbread