Полное техническое задание в приложенном файле. Ниже краткое резюме ТЗ :
«Онлайн Gerber-viewer (по готовой библиотеке Tracespace) для сайта на WordPress»
Примеры реализации Gerber-viewer:
1.
Кнопка «Add gerber file»
2.
Кнопка « Upload your Gerber and drill files to render your board».
Тестовые наборы архивов с Gerber файлами приложены к заданию.
0) Что нужно сделать?
Что уже готово в Tracespace (используем из коробки):
• Парсинг Gerber RS-274X и Excellon в браузере.
• Определение назначения слоёв по имени (эвристики): side (top/bottom/inner/all), type (copper, soldermask, silkscreen, solderpaste, drill, outline).
• Сборка стек-апа и генерация SVG для Top/Bottom.
• Учёт слоя контура платы (outline) при отрисовке.
Что нужно реализовать исполнителю (тонкий UI + интеграция):
• Загрузчик файлов (кнопка + drag&drop) и приём .zip (распаковка JSZip) в браузере.
• Таблица маппинга «файл → сторона/тип/порядок» с ручной правкой:
o Экран с таблицей, где каждая строка = один входной файл.
o Показ результатов авто-распознавания + ручная правка side/type/порядка.
o Нумерация внутренних слоёв (L2, L3, …) и их порядок через drag&drop.
o Подсветка конфликтов/пропусков (напр., «две Top Copper», «нет Drill», «нет Outline»).
o Кнопка «Применить маппинг» → генерация структуры слоёв для отрисовки.
• Панель слоёв (чекбоксы – вкл/выкл отображение), переключатель Вид со стороны Top / Со стороны Bottom, зум + панорама.
• Экспорт текущего вида в SVG или PNG в разрешении 1200 dpi.
• Сводка проекта с выводом на экран (размеры, количество слоёв, отверстий, список файлов), лог импортера/предупреждений.
• Фиксация версий библиотек (базовый Tracespace больше не поддерживатся), небольшой статический билд (мини-SPA) и встраивание в WordPress (iframe/шорткод).
• Никакой отправки файлов на сервер; всё локально в браузере.