~/projects/whumpf

whumpf

Avalanche bulletins projected onto the real mountain in 3D. Slope, aspect, and elevation are packed into RGBA tiles and filtered in a GLSL shader, so a whole range recomputes as you drag a slider. Sentinel-2 / LiDAR, CesiumJS.

TypeScript + Python + Rust

## What it is

WHUMPF projects an avalanche bulletin onto the actual mountain in 3D. A whumpf is the sound a weak snow layer makes when it collapses under you — the most unambiguous signal in avalanche safety. This is an attempt to give you that signal before you're standing on the slope.

## The problem it solves

A published bulletin reads like "Persistent slab. N through NE aspects. Above 2400 m. 30–45 degrees. Danger: CONSIDERABLE (3)." That's accurate, and it's not an answer to the question you're actually asking: is the slope in front of me one of those slopes? WHUMPF filters the terrain by the bulletin's own parameters and lights up every slope that matches — rotate the mountain, see which bowls are loaded, see whether your skin track crosses one.

## How it works

Almost everything is static files; the backend is deliberately thin. A DEM (3DEP / LINZ) feeds two paths: quantized-mesh terrain through Cesium ion, and a slope / aspect / elevation computation packed into RGBA XYZ tiles. A GLSL shader reads those channels and repaints the whole range live as you drag the danger sliders — no server round-trip per frame. Two bulletin adapters sit behind a cache, plus one route-analysis endpoint. No database.

## Where it's at

Early, but no longer scaffolding: the Cesium client runs, the bulletin API answers, and a full mapping client has been ported in — GPX / GeoJSON / KML, route analysis, offline tiles, Garmin export, ski runs and lifts. Still ahead: wiring the attribute-tile pipeline to real DEM output rather than a synthetic test tile. The repo's PORTING-STATUS.md tracks exactly what's proven and what isn't.

## A note on safety

WHUMPF displays official bulletins published by regional forecast centres — it doesn't generate, interpolate, or supplement any forecast. The overlay is a visualisation of a published product, not a recommendation, and no substitute for avalanche education, current observations, or your own judgement. Always consult the source bulletin; terrain data contains errors.

← back to all projects