Браузерный редактор фотометрических файлов светильников: просмотр КСС, проверка файла перед публикацией, обработка и правка любых полей IES. Работает целиком на стороне клиента — фотометрические файлы не загружаются ни на какой сервер и остаются на компьютере пользователя.
Публичная версия: www.ieseditor.ru
Что изменилось от версии к версии — CHANGELOG.md. Номер версии и дата сборки показаны в программе на вкладке «О программе».
- Чтение.
.iesвсех редакций LM-63 (1986, 1991, 1995, 2002, 2019, 2025) и импорт.ldt(EULUMDAT) с конвертацией во внутреннюю модель. Кодировка (UTF-8 / windows-1251) определяется автоматически. Запись — всегда.ies. - Просмотр. Полярные и декартовы КСС в плоскостях C0–C180 и C90–C270, полный угол 2γ½ и тип КСС по каждой плоскости отдельно, световой поток, Φ↓/Φ↑, DFF/UFF, КПД, лм/Вт, Imax в канделах и кд/клм.
- Проверка файла. Расхождение заявленного и расчётного потока, КПД выше 100%, нереалистичная удельная отдача, недостаточное разрешение по углу, «полки» одинаковых значений, пустые плоскости, нулевые габариты, незаполненные ключевые слова. Отчёт копируется одной кнопкой.
- Обработка. Пересчёт под нужный поток (поток / мощность / светоотдача связаны между собой), поворот по трём углам с шагом 0,1°, выравнивание по максимуму или центру тяжести, симметризация, сглаживание Савицкого–Голея, чистка мусорных хвостов. Световой поток при любой операции сохраняется.
- Редактор полей. Шапка и ключевые слова, TILT, числовые поля, форма светового отверстия (круг, цилиндр, эллипс, сфера), угловые сетки с пересчётом КСС интерполяцией, таблица силы света.
- Сравнение двух файлов на одних осях с таблицей расхождений.
- Выгрузка. Либо один
.ies, либо архив: файл, отчёт о проверке, отчёт об обработке, показатели в CSV для даташита, диаграммы (SVG и PNG) и исходный файл для перепроверки.
Vite + React 18 + TypeScript, Zustand для состояния, IndexedDB (idb) для персистентности,
fflate для архива, react-window для таблицы силы света, Vitest для тестов.
Ядро (src/core/) не зависит от React — это чистые функции над неизменяемой моделью.
npm install
npm run dev # локальный сервер разработки
npm run build # сборка в dist/ (статика, разворачивается на любом хостинге)
npm test # тестыПеред выкладкой: поднять версию в package.json и добавить запись в CHANGELOG.md
(номер и дата сборки попадают в интерфейс из package.json подстановкой в vite.config.ts).
Правовые страницы (public/*.html) генерируются из docs/*.md командой npm run gen:legal
и коммитятся в репозиторий; при правке текста соглашения или политики перегенерировать.
Внутренние пометки для юриста (> черновик…, вставки в угловых скобках) в публичные
страницы не попадают.
Часть тестов работает на реальных фотометрических файлах из каталога Input/. Эти файлы принадлежат
производителям и лабораториям, поэтому в репозиторий не входят. Чтобы прогнать полный набор, положите
в Input/ свои .ies с такими именами (или поправьте tests/helpers.ts):
1006000290_evoline_led_300_12w_a15_827_sl.ies
15 deg.IES
V1-G1-72441-04L10-6601040-a.ies
V1-S1-7R710-40x32-6604040-a.ies
Эллипс.IES
Эллипс-2.IES
Без них тесты, зависящие от образцов, пропускаются с пояснением; тесты, не требующие файлов, проходят.
GNU Affero General Public License v3.0 — см. LICENSE.
Коротко: программой можно свободно пользоваться, изучать и дорабатывать. Если вы публикуете доработанную версию или поднимаете на её основе сетевой сервис, исходный код доработок тоже должен быть открыт под AGPL-3.0. Иные условия использования — по запросу к правообладателю.
Лицензии сторонних компонентов, входящих в сборку, приведены в THIRD-PARTY-NOTICES.txt.
Формат IES LM-63 и EULUMDAT реализованы по общедоступным описаниям; тексты стандартов в репозиторий не входят и не распространяются.
Программа предоставляется «как есть». Результаты обработки — в том числе тип КСС, углы и расчётный поток — носят справочный характер; для сертификации и публикации данных проверяйте их по первоисточнику. См. docs/ПОЛЬЗОВАТЕЛЬСКОЕ-СОГЛАШЕНИЕ.md.