# Eulumdat WASM Editor

A browser-based Eulumdat (LDT/IES) photometric file editor built with Rust and WebAssembly.

## Features

- **Open/Save LDT files** - Load and save Eulumdat format files
- **Export to IES** - Convert to IESNA LM-63-2002 format
- **Drag & Drop** - Drop LDT files directly onto the editor
- **Live Validation** - Real-time validation with 44 constraint checks
- **Polar Diagram** - Interactive visualization of intensity distribution
- **Editable Data Table** - Edit intensity values directly
- **Clipboard Support** - Copy data to Excel/Calc

## Tabs

1. **General** - Identification, type indicator, symmetry, metadata
2. **Dimensions** - Physical dimensions and optical properties
3. **Lamp Sets** - Configure up to 20 lamp sets
4. **Direct Ratios** - Utilization factors for room indices

## Building

### Prerequisites

- Rust with `wasm32-unknown-unknown` target
- Trunk (`cargo install trunk`)

### Development

```bash
cd eulumdat-wasm
trunk serve
```

Open http://127.0.0.1:8080 in your browser.

### Production Build

```bash
trunk build --release
```

Output will be in the `dist/` directory.

## Technology Stack

- **Yew** - Rust/WASM web framework
- **Gloo** - Browser API bindings
- **eulumdat** - Core parsing library

## Screenshots

The editor provides:
- Multi-tab interface for editing all Eulumdat fields
- Real-time polar diagram visualization
- Validation panel showing warnings and errors
- Summary panel with calculated metrics (flux, efficacy, beam angle)

## License

AGPL-3.0-or-later
