@@ -31,13 +31,13 @@
Example
|
-
+
Book
|
-
+
API
|
-
+
Chat in Matrix Space
@@ -53,16 +53,16 @@ next-gen mapping solution.
## Description
-mapr is a portable and performant vector maps renderer. We aim to support the web, mobile and desktop applications. This
+maplibre-rs is a portable and performant vector maps renderer. We aim to support the web, mobile and desktop applications. This
is achieved by the novel [WebGPU](https://www.w3.org/TR/webgpu/) specification. Plenty of native implementations are
already implementing this specification. On the web it is implemented by Firefox, Chrome and Safari. There are also
-standalone implementations which directly use Vulkan, OpenGL or Metal as a backend. Those backends allow mapr to run on
+standalone implementations which directly use Vulkan, OpenGL or Metal as a backend. Those backends allow maplibre-rs to run on
mobile and desktop applications.
Rust is used as a Lingua-franka on all platforms. This is made possible by WebAssembly which allows us to use Rust for
web development.
-The goal of mapr is to render maps in order to visualize data. Right now the goal of mapr is not to replace existing
+The goal of maplibre-rs is to render maps in order to visualize data. Right now the goal of maplibre-rs is not to replace existing
vector map renderers like Google Maps, Apple Maps or MapLibre. The current implementation serves as a proof-of-concept
of the used technology stack. It is unclear whether the high-performance requirements of rendering maps using vector
graphics are achievable using the current stack.
@@ -86,9 +86,12 @@ https://user-images.githubusercontent.com/905221/163552617-5db04c66-23e3-4915-87
* Rendering Text
* Per-Feature Rendering
* Rendering:
+ * Labels
+ * Symbols
* Raster data
* 3D terrain
* Hill-shade (DEM)
+* Collision detection
* Support for:
* GeoJSON
* API for:
@@ -96,31 +99,12 @@ https://user-images.githubusercontent.com/905221/163552617-5db04c66-23e3-4915-87
* Swift
* Java/Kotlin
-## Repository Layout
-
-(Note: to be changed)
-
-```bash
-.
-├── docs # Documentation for mapr
-├── src # The source code of the mapr library
-├── libs # Libraries which will eventually be published as separate crates
-│ ├── mbtiles # Library for extracting .mbtiles files
-│ ├── style_spec # Library for interpreting MapLibre style specifications
-│ └── wgsl_validate # Library for validating WGSL shaders
-├── apple # Platform specific files for Apple (iOS and MacOS)
-├── web # Platform specific files for Web (WebGL and WebGPU)
-├── benches # Benchmarks for specific parts of the library
-├── examples # Examples which can be run
-└── test-data # Geo data which can be used for tests (Usually as .mbtiles)
-```
-
## Building & Running
Now, to clone the project:
```bash
-git clone --recursive git@github.com/maxammann/mapr
+git clone --recursive git@github.com/maplibre/maplibre-rs
```
and then build it for running on a desktop:
@@ -136,7 +120,7 @@ cargo run --example desktop --
```
More information about building for different platforms can be
-found [here](https://maxammann.org/mapr-docs/building.html).
+found [here](https://maxammann.org/maplibre-rs/docs/development-guide/building.html).
> __Note for Mac__: Before opening the XCode project, you need to build manually using the following command:
> `cargo build --target aarch64-apple-darwin --lib`
diff --git a/benches/render.rs b/benches/render.rs
index 2f991660..d91bb01a 100644
--- a/benches/render.rs
+++ b/benches/render.rs
@@ -1,6 +1,6 @@
use criterion::{criterion_group, criterion_main, Criterion};
-use mapr::window::FromWindow;
-use mapr::{MapBuilder, ScheduleMethod, TokioScheduleMethod};
+use maplibre::window::FromWindow;
+use maplibre::{MapBuilder, ScheduleMethod, TokioScheduleMethod};
fn render(c: &mut Criterion) {
c.bench_function("render", |b| {
diff --git a/benches/tessellation.rs b/benches/tessellation.rs
index 03868822..254a0dfd 100644
--- a/benches/tessellation.rs
+++ b/benches/tessellation.rs
@@ -1,7 +1,7 @@
use criterion::{criterion_group, criterion_main, Criterion};
use lyon::tessellation::VertexBuffers;
-use mapr::benchmarking::io::static_tile_fetcher::StaticTileFetcher;
-use mapr::benchmarking::tessellation::Tessellated;
+use maplibre::benchmarking::io::static_tile_fetcher::StaticTileFetcher;
+use maplibre::benchmarking::tessellation::Tessellated;
use std::io::Cursor;
const MUNICH_X: u32 = 17425;
diff --git a/docs/book.toml b/docs/book.toml
index 999571d7..50112f45 100644
--- a/docs/book.toml
+++ b/docs/book.toml
@@ -3,4 +3,4 @@ authors = ["Maximilian Ammann"]
language = "en"
multilingual = false
src = "src"
-title = "mapr documentation"
+title = "maplibe-rs documentation"
diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md
index cb19088d..d326435e 100644
--- a/docs/src/SUMMARY.md
+++ b/docs/src/SUMMARY.md
@@ -1,4 +1,4 @@
-# mapr documentation
+# maplibre-rs documentation
[Introduction](./introduction.md)
[Supported Platforms](./supported-platforms.md)
diff --git a/docs/src/appendix/link-collection.md b/docs/src/appendix/link-collection.md
index 5a28d38f..14605993 100644
--- a/docs/src/appendix/link-collection.md
+++ b/docs/src/appendix/link-collection.md
@@ -2,7 +2,7 @@
## Talks
-* [Project_ Demonstration_mapr](https://docs.google.com/presentation/d/1mhpKTIf3iv3T1Lucfuyiry5Vg9bNuzLCXkLLKN3R1AA/edit?usp=sharing)
+* [2022-04-13-World-in-Vectors](https://docs.google.com/presentation/d/e/2PACX-1vRsi-sGsqwUXEIQDClaZF4BH2RgjufQQ-yxFDWeOGrm0EbIf4H4lFY3U4at4cAIlxSTWi4XyF2LKjRu/pub)
## Related Projects
diff --git a/docs/src/developer-log.md b/docs/src/developer-log.md
index f8f0375b..a97df451 100644
--- a/docs/src/developer-log.md
+++ b/docs/src/developer-log.md
@@ -1,3 +1,3 @@
# Developer Log
-I'm regularly releasing blog posts [on my blog](https://maxammann.org/categories/mapr/).
\ No newline at end of file
+I'm regularly releasing blog posts [on my blog](https://maxammann.org/categories/maplibre/).
\ No newline at end of file
diff --git a/docs/src/development-documents/caching.md b/docs/src/development-documents/caching.md
index 4d9d9ade..046d1292 100644
--- a/docs/src/development-documents/caching.md
+++ b/docs/src/development-documents/caching.md
@@ -1,7 +1,7 @@
# Caching
-The caching for mapr is handled on the networking layer. This means that data which is fetched over slow IO is cached in
-the format of the network requests. The mapr library is not introducing a separate serialization format for caching.
+The caching for maplibre-rs is handled on the networking layer. This means that data which is fetched over slow IO is cached in
+the format of the network requests. The maplibre-rs library is not introducing a separate serialization format for caching.
Instead, caching functionality of HTTP client libraries of the web platform are used. This has the advantage that we can
honor HTTP headers which configure caching. This is very important for fetched tiles, as they can have an expiry date.
diff --git a/docs/src/development-documents/figures/gpu-stack.drawio.svg b/docs/src/development-documents/figures/gpu-stack.drawio.svg
index 2ae8ba5f..4769a974 100644
--- a/docs/src/development-documents/figures/gpu-stack.drawio.svg
+++ b/docs/src/development-documents/figures/gpu-stack.drawio.svg
@@ -1,4 +1,4 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/src/development-documents/figures/os-stack.drawio.svg b/docs/src/development-documents/figures/os-stack.drawio.svg
index 670080fe..acafd4b9 100644
--- a/docs/src/development-documents/figures/os-stack.drawio.svg
+++ b/docs/src/development-documents/figures/os-stack.drawio.svg
@@ -1,4 +1,4 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/src/development-guide/building.md b/docs/src/development-guide/building.md
index bceb3b76..ab569851 100644
--- a/docs/src/development-guide/building.md
+++ b/docs/src/development-guide/building.md
@@ -53,7 +53,7 @@ cd web
npm run start
```
-If you want to run mapr with WebGL which is supported on every major browser, then you have to use the following
+If you want to run maplibre-rs with WebGL which is supported on every major browser, then you have to use the following
command.
```bash
diff --git a/docs/src/figures/mapr-ios.png b/docs/src/figures/maplibre-rs-ios.png
similarity index 100%
rename from docs/src/figures/mapr-ios.png
rename to docs/src/figures/maplibre-rs-ios.png
diff --git a/examples/desktop.rs b/examples/desktop.rs
index 35cc5a7d..5a968fce 100644
--- a/examples/desktop.rs
+++ b/examples/desktop.rs
@@ -1,5 +1,5 @@
-use mapr::window::FromWindow;
-use mapr::{MapBuilder, ScheduleMethod, TokioScheduleMethod};
+use maplibre::window::FromWindow;
+use maplibre::{MapBuilder, ScheduleMethod, TokioScheduleMethod};
#[cfg(feature = "enable-tracing")]
fn enable_tracing() {
diff --git a/justfile b/justfile
index 7f7cf8d4..7f2c9e0b 100644
--- a/justfile
+++ b/justfile
@@ -25,12 +25,12 @@ webpack-production: nightly-toolchain
wasm-pack-webgl: nightly-toolchain
./wasm-pack-v0.10.1-x86_64-unknown-linux-musl/wasm-pack build . \
- --release --target web --out-dir dist/mapr -- \
+ --release --target web --out-dir web/dist/maplibre-rs -- \
--features "web-webgl" -Z build-std=std,panic_abort
wasm-pack: nightly-toolchain
./wasm-pack-v0.10.1-x86_64-unknown-linux-musl/wasm-pack build . \
- --release --target web --out-dir dist/mapr -- \
+ --release --target web --out-dir web/dist/maplibre-rs -- \
-Z build-std=std,panic_abort
build-web-webgl: nightly-toolchain
@@ -42,7 +42,7 @@ build-web: nightly-toolchain
wasm-bindgen:
cargo install wasm-bindgen-cli
# TODO: Untested: --reference-types
- wasm-bindgen --target web --out-dir dist/mapr-pain-bindgen target/wasm32-unknown-unknown/debug/mapr.wasm
+ wasm-bindgen --target web --out-dir web/dist/maplibre-rs-plain-bindgen target/wasm32-unknown-unknown/debug/maplibre.wasm
build-wasm-bindgen: build-web wasm-bindgen
diff --git a/src/coords.rs b/src/coords.rs
index 172cb278..0601cbbb 100644
--- a/src/coords.rs
+++ b/src/coords.rs
@@ -1,4 +1,4 @@
-//! File which exposes all kinds of coordinates used throughout mapr
+//! File which exposes all kinds of coordinates used throughout maplibre-rs
use std::fmt;
use std::fmt::Formatter;
diff --git a/src/io/source_client.rs b/src/io/source_client.rs
index bfaa5080..043f95f8 100644
--- a/src/io/source_client.rs
+++ b/src/io/source_client.rs
@@ -30,7 +30,7 @@ impl HttpSourceClient {
Self {
#[cfg(not(target_arch = "wasm32"))]
inner_client: crate::platform::http_client::ReqwestHttpClient::new(Some(
- "./mapr-cache".to_string(), // TODO make path dynamic
+ "./maplibre-cache".to_string(), // TODO make path dynamic
)),
#[cfg(target_arch = "wasm32")]
inner_client: crate::platform::http_client::WHATWGFetchHttpClient::new(),
diff --git a/src/platform/apple/mod.rs b/src/platform/apple/mod.rs
index 3b82c446..4a0d9971 100644
--- a/src/platform/apple/mod.rs
+++ b/src/platform/apple/mod.rs
@@ -8,7 +8,7 @@ pub use std::time::Instant;
pub const COLOR_TEXTURE_FORMAT: wgpu::TextureFormat = wgpu::TextureFormat::Bgra8UnormSrgb;
#[no_mangle]
-pub fn mapr_apple_main() {
+pub fn maplibre_apple_main() {
env_logger::init_from_env(env_logger::Env::default().default_filter_or("info"));
MapBuilder::from_window("A fantastic window!")
diff --git a/src/platform/web/mod.rs b/src/platform/web/mod.rs
index c5d3bdd1..35ad8942 100644
--- a/src/platform/web/mod.rs
+++ b/src/platform/web/mod.rs
@@ -67,7 +67,7 @@ pub async fn run(scheduler_ptr: *mut Scheduler) {
let scheduler: Box = unsafe { Box::from_raw(scheduler_ptr) };
// Either call forget or the main loop to keep worker loop alive
- MapBuilder::from_canvas("mapr")
+ MapBuilder::from_canvas("maplibre")
.with_existing_scheduler(*scheduler)
.build()
.initialize()
diff --git a/src/render/mod.rs b/src/render/mod.rs
index 709638b0..59d639e7 100644
--- a/src/render/mod.rs
+++ b/src/render/mod.rs
@@ -1,5 +1,5 @@
-//! This module implements the rendering algorithm of mapr. It manages the whole communication with
-//! the GPU.
+//! This module implements the rendering algorithm of maplibre-rs. It manages the whole
+//! communication with the GPU.
mod buffer_pool;
mod options;
diff --git a/web/.gitignore b/web/.gitignore
index 4c98d050..0c37a4be 100644
--- a/web/.gitignore
+++ b/web/.gitignore
@@ -1,5 +1,5 @@
node_modules
-libs/mapr*
+libs/maplibre*
dist
\ No newline at end of file
diff --git a/web/index.ts b/web/index.ts
index c75dc8a9..025e67e5 100644
--- a/web/index.ts
+++ b/web/index.ts
@@ -1,4 +1,4 @@
-import init, {create_pool_scheduler, new_thread_local_state, run} from "./dist/libs/mapr"
+import init, {create_pool_scheduler, new_thread_local_state, run} from "./dist/libs/maplibre"
import {Spector} from "spectorjs"
import {WebWorkerMessageType} from "./types"
import {
diff --git a/web/package.json b/web/package.json
index d243e915..bef6a3d8 100644
--- a/web/package.json
+++ b/web/package.json
@@ -1,7 +1,7 @@
{
"name": "web",
"version": "0.0.1",
- "description": "A mapr demo",
+ "description": "A maplibre demo",
"main": "index.js",
"scripts": {
"start": "RUSTUP_TOOLCHAIN=nightly-2022-04-04-x86_64-unknown-linux-gnu webpack-dev-server --mode=development",
@@ -14,7 +14,7 @@
},
"repository": {
"type": "git",
- "url": "https://github.com/maxammann/mapr"
+ "url": "https://github.com/maplibre/maplibre-rs"
},
"dependencies": {
"spectorjs": "^0.9.27",
diff --git a/web/pool_worker.ts b/web/pool_worker.ts
index a3a69753..be3faf61 100644
--- a/web/pool_worker.ts
+++ b/web/pool_worker.ts
@@ -1,4 +1,4 @@
-import init, {child_entry_point} from "./dist/libs/mapr"
+import init, {child_entry_point} from "./dist/libs/maplibre"
onmessage = async message => {
const initialised = init(message.data[0], message.data[1]).catch(err => {
diff --git a/web/src/index.ejs b/web/src/index.ejs
index 2c553ea3..0be0a801 100644
--- a/web/src/index.ejs
+++ b/web/src/index.ejs
@@ -4,6 +4,6 @@
<%= htmlWebpackPlugin.options.title %>
-
+