Elevated 3D smoke plume trajectory ribbons in WebGL (smoke-plumes-layer.tsx) #82

Closed
opened 2026-10-14 22:28:45 +00:00 by yuris · 0 comments
Owner

What to build

Render elevated 3D particle ribbons floating at 500m to 1,500m altitude above the terrain mesh, driven by calculated dispersion trajectories. Project the atmospheric dispersion path of toxic smoke and PM2.5 haze downwind from major fire clusters.

Technical specifications

  1. Target files:
    • src/components/map/layers/smoke-plumes-layer.tsx: Custom WebGL layer rendering atmospheric particle ribbons.
  2. Visual dynamics:
    • Altitude: 800m above terrain.
    • Ribbons follow calculated trajectory vectors.
    • Opacity decays with distance from source cluster.

Acceptance criteria

  • 3D smoke ribbons project downwind from active high-danger clusters.
  • Particle animation maintains smooth 60fps execution.

Blocked by

  • Issue 65: [Backend] GFS wind vector advection & smoke dispersion mathematical model (smoke-dispersion.ts).
  • Issue 67: [Frontend] 3D Thermal Flame Pillars scaled by Fire Radiative Power (fire-pillars-layer.tsx).

Authoritative Specifications & Reference Documentation

  • Titik Gambut Architecture & Subsystem Contract: docs/ARCHITECTURE.md
  • BIG DEMNAS National Digital Elevation Model: Ina-Geoportal DEMNAS — 0.27 arc-second seamless national elevation mesh.
  • MapLibre GL JS Terrain 3D Spec: MapLibre 3D Terrain — Hardware-accelerated client elevation.
  • Open-Meteo GFS Global Forecast API: open-meteo.com/en/docs — Global 10m U/V wind velocity grids, relative humidity, and surface temperature.
  • NOAA GFS Models: NCEP GFS — Atmospheric advection modeling.
### What to build Render elevated 3D particle ribbons floating at 500m to 1,500m altitude above the terrain mesh, driven by calculated dispersion trajectories. Project the atmospheric dispersion path of toxic smoke and PM2.5 haze downwind from major fire clusters. ### Technical specifications 1. **Target files**: - `src/components/map/layers/smoke-plumes-layer.tsx`: Custom WebGL layer rendering atmospheric particle ribbons. 2. **Visual dynamics**: - Altitude: 800m above terrain. - Ribbons follow calculated trajectory vectors. - Opacity decays with distance from source cluster. ### Acceptance criteria - [x] 3D smoke ribbons project downwind from active high-danger clusters. - [x] Particle animation maintains smooth 60fps execution. ### Blocked by - Issue 65: [Backend] GFS wind vector advection & smoke dispersion mathematical model (`smoke-dispersion.ts`). - Issue 67: [Frontend] 3D Thermal Flame Pillars scaled by Fire Radiative Power (`fire-pillars-layer.tsx`). --- ### Authoritative Specifications & Reference Documentation - **Titik Gambut Architecture & Subsystem Contract**: [`docs/ARCHITECTURE.md`](https://git.nokopia.com/yuris/titik-gambut-next/src/branch/main/docs/ARCHITECTURE.md) - **BIG DEMNAS National Digital Elevation Model**: [Ina-Geoportal DEMNAS](https://tanahair.indonesia.go.id/demnas/) — 0.27 arc-second seamless national elevation mesh. - **MapLibre GL JS Terrain 3D Spec**: [MapLibre 3D Terrain](https://maplibre.org/maplibre-gl-js/docs/examples/3d-terrain/) — Hardware-accelerated client elevation. - **Open-Meteo GFS Global Forecast API**: [open-meteo.com/en/docs](https://open-meteo.com/en/docs) — Global 10m U/V wind velocity grids, relative humidity, and surface temperature. - **NOAA GFS Models**: [NCEP GFS](https://www.ncei.noaa.gov/products/weather-climate-models/global-forecast) — Atmospheric advection modeling.
yuris changed title from Issue 69: [Frontend] Elevated 3D smoke plume trajectory ribbons in WebGL (smoke-plumes-layer.tsx) to [Frontend] Elevated 3D smoke plume trajectory ribbons in WebGL (smoke-plumes-layer.tsx) 2026-10-14 22:31:23 +00:00
yuris changed title from [Frontend] Elevated 3D smoke plume trajectory ribbons in WebGL (smoke-plumes-layer.tsx) to Elevated 3D smoke plume trajectory ribbons in WebGL (smoke-plumes-layer.tsx) 2026-10-14 22:38:28 +00:00
Sign in to join this conversation.
No labels
backend
frontend
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
yuris/titik-gambut-next#82
No description provided.