Roadmap
ezu is pre-1.0 and developed in the open. There is no dated roadmap; the honest version of this page is a list of known gaps and where they are tracked.
Known gaps
Section titled “Known gaps”The authoritative, maintained lists live where they cannot drift from the code:
- MapLibre gaps and differences — what
ezu translateskips or approximates, and which divergences are by design.ezu translatereports the same information per style on stderr, which is always more specific than a general list. - GitHub issues — everything else.
Recurring themes, at the time of writing:
- 3-D.
fill-extrusionrenders a flat footprint. There is no terrain mesh, no pitch, no bearing — a tile is a plan view. - Symbol edge cases. Viewport-aligned rotation on line placement, collision for line-placed icons, SDF icon recolouring.
- Hillshade tone calibration. Structurally correct, not tone-matched to GL-JS.
- Performance on dab-heavy styles. The painterly ops are the expensive ones; see tuning.
How things get prioritised
Section titled “How things get prioritised”Mostly by what people hit. The gap list is driven by real styles that did not convert the way someone expected, which is why a specific report beats a feature request:
- the style (or a minimal reduction of it),
- the tile address,
- what you expected and what you got — a
ezu-comparesimilarity figure or two renders side by side is ideal.
Contributing to direction
Section titled “Contributing to direction”Design discussion happens in issues before implementation, particularly for
anything that touches the style spec, adds a port kind, or changes how a global
stage like label placement works. If you are considering a
custom op or a new
translate frontend, an issue first is worth
the round trip — NodeFactory is public specifically so that experiments do not
need to land upstream to be useful.
Stability expectations
Section titled “Stability expectations”Until 1.0, a minor version bump may break the Rust API, the style spec, or the wasm interface. Breaking changes are called out in the release notes. Two cheap habits make upgrades boring:
ezu check style.json --no-fetch # validate every style you ownezu schema --out ezu-style.schema.json # regenerate what your editor validates againstSee changelog.
Map renders on this site are made fromOpenStreetMap data viaProtomaps (© OpenStreetMap contributors), elevation from Re:Earth Terrain,Mapterhorn andEGM2008 (NGA), and aerial imagery from GSI Japan(© 国土地理院). The painterly styles use CC0 brushes byDavid Revoy.