Key Facts
- ✓ Parses legacy formats EULUMDAT (1990) and IES (1991) for basic photometry.
- ✓ Supports new spectral data standards TM-33 and ATLA-S001 with full wavelength distributions.
- ✓ Built with Rust core and UniFFI bindings, compiles to WASM/Leptos, egui, SwiftUI, Jetpack Compose, and PyO3.
- ✓ Features on-demand Bevy 3D viewer and SVG generation.
- ✓ Available on crates.io and PyPI under MIT/Apache-2.0 license.
Quick Summary
Holger, a developer with experience in the lighting industry, has created a comprehensive Rust/WASM toolkit for handling lighting data. This tool addresses a critical need by parsing legacy formats such as EULUMDAT from 1990 and IES from 1991, which remain essential for basic photometry. At the same time, it supports the industry's shift toward spectral data, providing full wavelength distributions beyond simple lumen values.
The toolkit fills a void on platforms like crates.io and PyPI, where no similar solutions existed. It accommodates new standards including TM-33 and ATLA-S001, which are currently underserved by other tools. Built with a Rust core and UniFFI bindings, the single codebase compiles to diverse environments: WASM/Leptos for web, egui for desktop, SwiftUI for iOS, Jetpack Compose for Android, and PyO3 for Python integration.
Additional features include SVG output generation and an on-demand Bevy-powered 3D viewer. Holger welcomes feedback, particularly on the SVG rendering and 3D visualization aspects. The project is open-source under MIT/Apache-2.0 licenses and available on GitHub.
Background on the Lighting Data Challenge
The lighting industry has long relied on established file formats for photometry, but evolving needs demand more advanced capabilities. Holger, a developer who previously worked in this sector, identified a significant gap in available tools for processing these formats.
Legacy systems continue to play a vital role in daily operations. Formats like EULUMDAT, introduced in 1990, and IES, from 1991, provide reliable data for basic light measurements, ensuring compatibility with existing infrastructure.
However, the sector is transitioning to more sophisticated spectral data approaches. This shift involves capturing full wavelength distributions, offering deeper insights than traditional lumen-based calculations and enabling precise color rendering and energy efficiency analyses.
- EULUMDAT (1990): Focuses on basic photometric data for luminaires.
- IES (1991): Standard for North American lighting simulations.
- Spectral data: Represents complete light spectrum for advanced applications.
Without robust support, professionals struggle to adopt these innovations seamlessly.
"I built this to scratch my own itch and put it on crates.io and PyPI where nothing like it existed."
— Holger, Developer
Toolkit Features and Standards Support
Legacy Format Compatibility
The toolkit excels in parsing outdated yet persistent formats, maintaining workflow continuity. EULUMDAT and IES files, despite their age, deliver accurate photometry essential for design and testing.
By handling these directly, the tool eliminates the need for multiple disparate applications, streamlining processes for engineers and designers.
Embracing New Spectral Standards
Addressing the industry's forward momentum, the toolkit incorporates support for emerging protocols. TM-33 and ATLA-S001 standards, which emphasize spectral distributions, receive dedicated parsing capabilities.
Existing software often falls short in this area, leaving users without viable options for modern data handling. This toolkit bridges that divide, allowing seamless integration of full wavelength information into projects.
Key benefits include:
- Enhanced accuracy in light spectrum analysis.
- Compatibility with both old and new data types in one platform.
- Generation of SVG outputs for visual representations.
Such versatility positions it as a foundational resource for lighting professionals navigating technological transitions.
Technical Architecture and Cross-Platform Reach
At its core, the toolkit leverages Rust for robust, efficient performance in data processing. This choice ensures reliability when dealing with complex photometric calculations and file parsing.
UniFFI facilitates bindings, enabling the Rust foundation to interface smoothly with various languages and frameworks. A single codebase supports compilation across multiple targets, reducing development overhead.
The supported platforms demonstrate impressive breadth:
- WASM/Leptos: For browser-based applications.
- egui: Immediate-mode GUI for desktop environments.
- SwiftUI: Native iOS user interfaces, with notably extensive generated boilerplate that once led GitHub to misclassify the project.
- Jetpack Compose: Modern Android UI toolkit.
- PyO3: Seamless Python extensions for data science workflows.
The 3D viewer, powered by Bevy and loaded on-demand, adds interactive visualization without bloating initial loads. This architecture not only scratches a personal itch but also serves broader community needs on crates.io and PyPI.
Community Engagement and Future Directions
Holger has made the toolkit openly available, inviting input from the developer and lighting communities. Particular areas of interest include refining SVG output for better graphical fidelity and enhancing the 3D viewer for more intuitive interactions.
Licensed under MIT/Apache-2.0, the project encourages contributions via its GitHub repository. This open approach fosters collaborative improvements, potentially accelerating adoption in professional settings.
As the lighting field evolves, tools like this will be instrumental in maintaining compatibility while pushing boundaries. Feedback mechanisms ensure the toolkit remains responsive to user needs, from basic parsing to advanced spectral modeling.
In conclusion, Holger's initiative represents a pivotal advancement, uniting legacy reliability with modern innovation. By providing a unified solution across platforms, it empowers the industry to harness spectral data effectively, promising enhanced designs and efficiencies for years to come.
"The old file formats (EULUMDAT from 1990, IES from 1991) still work fine for basic photometry."
— Holger, Developer
"Feedback welcome – especially on the SVG output and the 3D viewer."
— Holger, Developer

