feat: add MLT decoding support#2512
Conversation
This PR is one of those easy wins that are nessesary for #2512 but actually not related. Currently, the justfile is not blessing every crate when it should. After this PR, it is. --------- Co-authored-by: Yuri Astrakhan <yuriastrakhan@gmail.com>
| INSERT INTO metadata VALUES('attribution','<a href="https://www.openmaptiles.org/" target="_blank">© OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>'); | ||
| INSERT INTO metadata VALUES('version','3.15.0'); | ||
| INSERT INTO metadata VALUES('type','baselayer'); | ||
| INSERT INTO metadata VALUES('format','application/vnd.maplibre-vector-tile'); |
There was a problem hiding this comment.
The 'format' metadata value is set to 'application/vnd.maplibre-vector-tile', which is a content-type string rather than a format identifier. According to Format::parse() implementation, this won't be recognized and will fall back to tile detection. The format should be 'mlt' instead to be consistent with other format values in the metadata table (as defined by Format::metadata_format_value()). While the current approach works because MLT is detectable, it's inconsistent with the MBTiles metadata conventions used elsewhere in the codebase.
There was a problem hiding this comment.
This is what planetiler sets.
The value here is not currently specified.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
nyurik
left a comment
There was a problem hiding this comment.
looks good, but please rename the verbose mapbox_vector_tile and similar back to mvt
martin/tests/mb_server_test.rs
Outdated
| let raw_mvt_script = include_str!("../../tests/fixtures/mbtiles/uncompressed_mvt.sql"); | ||
| let (raw_mvt_mbt, raw_mvt_conn, raw_mvt_file) = | ||
| temp_named_mbtiles(&format!("{test_name}_raw_mvt"), raw_mvt_script).await; | ||
| let mapbox_vector_tiles_script = include_str!("../../tests/fixtures/mbtiles/world_cities.sql"); |
There was a problem hiding this comment.
lets keep mvt everywhere. Verbosity kills readability
## 🤖 New release * `martin-tile-utils`: 0.6.8 -> 0.6.9 (✓ API compatible changes) * `mbtiles`: 0.15.0 -> 0.15.1 (✓ API compatible changes) * `martin-core`: 0.2.5 -> 0.2.6 (✓ API compatible changes) * `martin`: 1.2.0 -> 1.3.0 <details><summary><i><b>Changelog</b></i></summary><p> ## `mbtiles` <blockquote> ## [0.15.1](mbtiles-v0.15.0...mbtiles-v0.15.1) - 2026-01-27 ### Added - add MLT decoding support ([#2512](#2512)) - migrate our log library to tracing ([#2494](#2494)) ### Other - unignore `diff_and_patch_bsdiff` test with unique SQLite database names ([#2480](#2480)) - *(mbtiles)* remove the prefix-ism around how files are named for binary diff copy and simpify their naming ([#2478](#2478)) - *(mbtiles)* add assertion messages what we are checking to the copy tests ([#2477](#2477)) </blockquote> ## `martin-core` <blockquote> ## [0.2.6](martin-core-v0.2.5...martin-core-v0.2.6) - 2026-01-27 ### Added - migrate our log library to tracing ([#2494](#2494)) - *(martin-core)* Allow glyph ranges more than 0xFFFF ([#2438](#2438)) ### Fixed - *(perf)* Remove FontSources.masks as they were consuming large amounts of memory even when no font sources were set ([#2519](#2519)) - improve error message if no SVG sprite files are present ([#2516](#2516)) ### Other - move our imports to tracing ([#2500](#2500)) - *(deps)* shear our dependencys ([#2497](#2497)) </blockquote> ## `martin` <blockquote> ## [1.3.0](martin-v1.2.0...martin-v1.3.0) - 2026-01-27 ### Added - *(srv)* Add `route_prefix` configuration for native subpath support without the need of a reverse proxy override ([#2523](#2523)) - add MLT decoding support ([#2512](#2512)) - migrate our log library to tracing ([#2494](#2494)) - improve martin-cp progress output time estimate ([#2491](#2491)) - *(pg)* include ID column info for tables ([#2485](#2485)) - *(pg)* support PostgreSQL materialized views ([#2279](#2279)) - *(martin-core)* Allow glyph ranges more than 0xFFFF ([#2438](#2438)) ### Fixed - *(ui)* clipboard copy for http://0.0.0.0:3000 and unify implementations ([#2487](#2487)) - the `Copy` icon displaying nicely, next to the text and with enough padding ot all items ([#2483](#2483)) - update copy text to include icon for better visibility ([#2482](#2482)) - *(perf)* Remove FontSources.masks as they were consuming large amounts of memory even when no font sources were set ([#2519](#2519)) - improve error message if no SVG sprite files are present ([#2516](#2516)) ### Other - move our request logging to tracing ([#2508](#2508)) - move our imports to tracing ([#2500](#2500)) - *(deps)* shear our dependencys ([#2497](#2497)) - *(ui)* adjust margin for copy icon in URL component ([#2489](#2489)) - unignore `diff_and_patch_bsdiff` test with unique SQLite database names ([#2480](#2480)) - *(mbtiles)* remove the prefix-ism around how files are named for binary diff copy and simpify their naming ([#2478](#2478)) - *(mbtiles)* add assertion messages what we are checking to the copy tests ([#2477](#2477)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
No description provided.