Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

pointcloud-viewer

Visualisateur de nuages de points .las / .laz 100 % frontend (React + MapLibre + three.js). Le « bake » LAS/LAZ → .bin (format PCBK, voir docs/adr/0001) est écrit en Rust (webassembly/), compilé en WebAssembly et exécuté dans un Web Worker. Le nuage baké s'affiche géoréférencé sur une carte MapLibre (orthophotos IGN) via un custom layer three.js partageant le contexte WebGL (voir docs/adr/0002) ; les .bin déjà bakés se rouvrent directement.

Vocabulaire du domaine : voir CONTEXT.md.

Prérequis

  • Node ≥ 20 (npm)
  • Rust (le target wasm32-unknown-unknown est ajouté par rustup : rustup target add wasm32-unknown-unknown)
  • wasm-pack est fourni en devDependency npm

Développement

npm install
npm run build:wasm   # compile webassembly/ → webassembly/pkg/ (requis avant dev/build)
npm run dev

npm run build produit le bundle de production (rebuilder le wasm d'abord si le Rust a changé).

Tests

cd webassembly && cargo test

Pour générer des fichiers d'essai (spirale colorée de 100 k points, en Lambert-93 au centre de Paris, plus une variante sample-nocrs.las sans CRS pour tester la saisie d'EPSG) :

cd webassembly && cargo run --release --example generate-sample .

Structure

  • webassembly/ — crate Rust pointcloud-baker : bake LAS/LAZ → PCBK (bake_to_pcbk, export wasm bake), extraction de l'EPSG des VLRs (src/crs.rs)
  • src/lib/baked-pointcloud.ts — parseur PCBK (vues TypedArray zero-copy)
  • src/lib/epsg-registry.ts / src/lib/map-anchor.ts — reprojection proj4 du World Offset vers l'ancre carte
  • src/lib/pointcloud-layer.ts / src/lib/pointcloud-shaders.ts — custom layer MapLibre rendu en three.js (modes RGB / intensité / classification / altitude)
  • src/workers/bake-worker.ts — exécute le wasm hors du main thread, remonte la progression
  • src/hooks/use-bake.ts / src/components/ — UI : input fichier (.las/.laz/.bin), progression, stats, carte plein écran, réglages, saisie d'EPSG

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages