# Link Collection - MapLibre Rust Documentation

# Related Resources

## Talks

- 2022-04-13-World-in-Vectors

## Related Projects

- Tangram Renderer
- Tilezen/Nextzen
- Protomaps: New Maps Stack
- Harp GL

## GIS

- Google Maps Projection
- Grid Calculation Examples
- Slippy map tilenames (also known as XYZ)
- TMS
- Mapbox Adaptive Projections
- Bing Map Tile System
- Bing: Understanding Scale and Resolution

## WebAssembly and WebWorkers

Specs:

- Thread/Atomics Proposal for WASM

Projects:

- Experiment with shared memory and the idea behind it
- Shared channel
- Bridge for async executors
- Rayon for WebAssembly
- wasm-mt: postMessage message passing

Articles:

- WebAssembly Threads (official)
- Multithreading Rust and Wasm 2018
- postMessage Performance
- A practical guide to WebAssembly memory

Examples:

- WASM in a WebWorker
- Building for Shared Memory
- Parallel Raytracing

## Rendering

Specs:

- WebGPU Spec
- WGSL Spec
- WGSL Struct Alignment
- Mismatches Stencil Test

Articles:

- Life of a Tile (MapLibre)

Tutorials:

- Stencil Testing
- Camera
- Writing an efficient Vulkan renderer

Examples:

- Stencil Mask Example
- WGPU Examples

## Maths

Articles:

- Magnificent Matrix

Examples:

- Dolly Camera

## Font Rendering

Specs:

- MapBox Glyphs Spec

Articles:

- Signed distance function

Projects:

- Mapbox fontnik
- TinySDK (JS)
- RustType
- SDF Render
- pbf_font_tools
- Multi-channel signed distance field generator
  - MSDF font atlas generator

## Tessellation

Projects:

- earcutr
- Line Tessellation in MapLibre

## Specifications

- TileJSON

## Render Graphs

- https://github.com/metal-by-example/simple-instancing/blob/master/MetalSimpleInstancing/Renderer.swift
- https://github.com/troughton/Substrate
- https://de.slideshare.net/DICEStudio/framegraph-extensible-rendering-architecture-in-frostbite
- http://themaister.net/blog/2017/08/15/render-graphs-and-vulkan-a-deep-dive/
- http://themaister.net/blog/2017/08/15/render-graphs-and-vulkan-a-deep-dive/

## Animation

- https://crates.io/crates/pareen
- https://crates.io/crates/keyframe