Show HN: Browser-based light pollution simulator using real photometric data

Published: (May 2, 2026 at 05:08 AM EDT)
2 min read

Source: Hacker News

Overview

Hi HN — author here. iesna.eu is a browser‑based ecosystem for working with photometric data:

  • Parses standard luminaire files (LDT/EULUMDAT, IES LM‑63, Oxytech, ATLA‑S001)
  • Runs design calculations against EN 13201, ANSI/IES RP‑8, CJJ 45, and IES‑IDA MLO
  • Renders real urban scenes in Bevy with the photometric data driving actual street‑light behavior, including sky‑glow contribution.

Demo: Skyglow Analysis

The demo loads a real LDT file into a Bevy scene (Khronos Bistro test asset).

  • The luminaire’s intensity distribution drives the street‑light rendering directly — no fudging.
  • The sky‑glow grade updates live as you adjust the uplight percentage.
  • Swapping to a full‑cutoff fixture changes the sky from F (Severe) back to A (Excellent).
  • Differences are visible on both the buildings and the sky.

Technical Stack

  • Rust core (eulumdat-rs and friends, ~20 crates handling photometric formats)
  • Bevy for 3D rendering
  • WebAssembly for browser deployment (no backend; everything runs client‑side)
  • ~1 000 lines of new code on top of the existing photometric library to make the Bevy integration work

Feedback Requested

  1. Atmospheric scattering model – currently single‑scattering Rayleigh + Mie. Is this defensible for the use case, or should I move toward multi‑scattering?
  2. Test scene – the Bistro asset works visually but isn’t a controlled environment.
  3. Urban geometry assets – anyone know of a public urban geometry asset that’s more typical of real road‑lighting evaluation?
  4. CJJ 45 implementation – I’ve reverse‑engineered it from translated PDFs. If anyone has primary‑source experience with China’s national road‑lighting standard, I’d value a sanity check.

Open Source


Comments URL: https://news.ycombinator.com/item?id=47984734 (Points: 5)

0 views
Back to Blog

Related posts

Read more »

2-D Mathematical Curves

Hi, you've entered a collection of 939 two‑dimensional mathematical curves. Finding a curve You can find a curve in five ways: 1. by name - Ahttps://www.2dcurve...

Hand Drawn QR Codes

I really like QR codes. Recently I purchased a new sticky‑note‑like pad from a new local stationery store in Minneapolishttps://www.moonamoono.com/. The sheets...