Map Rendering

"/home/yossef/notes/git/projects/maplibra/modules/Map Rendering.md"

path: maplibra/modules/Map Rendering.md

- **fileName**: Map Rendering
- **Created on**: 2026-06-16 00:48:42

Map Rendering

Purpose: Loads, prepares, caches, and renders floor-specific geometry on demand.

Related: ../Home.md, ../Architecture.md, ./Layer Management.md, ./MVF Loading.md, ./UI Components.md, ../flows/Map Render.md

What It Does

FloorDataManager (src/app/floor-data.js) is responsible for the complete floor render pipeline: loading raw floor data from the MVF bundle, optionally preparing it via a Web Worker, and painting it on the map.

Fast Render Strategy

The render pipeline uses a two-phase approach to keep floor changes responsive:

  1. Fast render — Paint raw geometry immediately without waiting for worker preparation
  2. Prepared swap — Once the geo-prep worker finishes, swap in precomputed style buckets, door features, and label features

This ensures the user sees floor geometry within milliseconds while the richer prepared version arrives shortly after.

Floor Data Cache

Memory Pressure

Geo Preparation

src/app/geo-prep.js (via Web Worker src/workers/geo-worker.js) precomputes:

Floor Request Cancellation

Only the latest floor request is allowed to paint the map. Older requests are cancelled via AbortController:

Important Files

How It Connects