How cjh-blip/dialux-compiler works
dialux-compiler turns building drawings and luminaire spreadsheets into structured IR, validates and plans modeling actions, then supports DIALux automation and report generation. A separate STF export path handles room geometry; the README notes that STF does not carry the project’s luminaires. The repository also presents the workbench and UIA executor as reusable automation capabilities. Some source excerpts are partial, so uncertain wiring between task modules and execution internals is omitted.
Main entry points: main.py CLI Pipeline · dxf.py Drawing Parser · core.py Action Planner · xlsx.py Spreadsheet Parser
Components 25
Input and IR
- CLI Pipeline
src/main.py - Drawing Parser
src/parser/dxf.py - Spreadsheet Parser
src/parser/xlsx.py - Geometry Helpers
src/parser/_chain.py - Project IR
Validation and Planning
- Luminaire Join
src/planner/join.py - Mount Heights
src/planner/mount.py - IR Validator
src/validator/__init__.py - Action Planner
src/planner/core.py - Action Plan
- STF Exporter
src/exporter/stf.py
DIALux Modeling
- DIALux Tasks
src/tasks/dialux - UIA Executor
src/executor/uia - UIA Driver
src/executor/uia/driver.py
Automation Framework
- Workbench
src/workbench - Trigger Dispatcher
src/workbench/dispatcher.py - UI Recognition
src/workbench/recognition.py - Workbench Config
src/workbench/config.py
User Interfaces
- Desktop Launcher
src/ui/launcher.py - Progress Overlay
src/ui/overlay.py - Runtime Paths
src/core/env.py
Other components
- Engineer
- DWG/DXF Drawing
- Luminaire Sheet
- DIALux evo
Connections 24
- Engineer → CLI Pipeline: provides inputs
- DWG/DXF Drawing → CLI Pipeline: supplies drawing
- Luminaire Sheet → CLI Pipeline: supplies sheet
- CLI Pipeline → Drawing Parser: parses drawing
- CLI Pipeline → Spreadsheet Parser: reads sheet
- Drawing Parser → Geometry Helpers: extracts geometry
- Drawing Parser → Project IR: produces rooms
- Spreadsheet Parser → Project IR: supplies luminaire data
- CLI Pipeline → Luminaire Join: matches luminaires
- CLI Pipeline → Mount Heights: assigns heights
- CLI Pipeline → IR Validator: validates IR
- CLI Pipeline → Action Planner: builds plan
- Action Planner → IR Validator: checks halt rules
- Action Planner → Action Plan: produces actions
- CLI Pipeline → STF Exporter: exports geometry
- STF Exporter → DIALux evo: writes STF for import
- DIALux Tasks → UIA Executor: uses UI automation
- UIA Executor → UIA Driver: drives controls
- UIA Driver → DIALux evo: automates interface
- Workbench → Trigger Dispatcher: provides scheduling
- Trigger Dispatcher → UI Recognition: observes UI state
- Engineer → Desktop Launcher: starts workflow
- Desktop Launcher → Runtime Paths: resolves executable
- Engineer → Progress Overlay: starts automation