# Sensor Bench Operator (Internal) Private operator / inspection workflow UI. **Do not publish** this folder or its resources in customer EXEs, public docs, or release zips. ## What lives here - Workflow UI (`sensor_bench_operator.app.MainWindow`) - Inspection steps (`steps/default.json`) - Lab component options (`config/options.json`, including Chinese lab labels) - Operator locale catalogs (`config/locales/`) The public exhibition app lives under the repository root (`run.py`, `src/sensor_bench/exhibition_app.py`) and must not import this package. ## Run (source) From the repository root: ```powershell python internal/run_operator.py ``` Or: ```bat .\internal\run_operator.bat ``` Requires the public `sensor-bench` package sources on `PYTHONPATH` (the launcher adds `src/` and `internal/src/` automatically) and an importable `orisys`. ## Build private EXE Uses the same conda env as the public build (`sensor-bench-build-py310`): ```bat .\build\create_env.bat .\build\build_operator_exe.bat ``` Output (internal only — do not ship to customers): ```text dist/SensorBenchOperator/SensorBenchOperator.exe ``` The build copies public sensor configs plus operator `options.json`, locales, and `steps/` beside the EXE. See [`../build/README.md`](../build/README.md). ## Relationship to public Sensor Bench ```text orisys (public SDK) ├── sensor-bench → dist/SensorBench/ (public exhibition EXE) └── internal/ → dist/SensorBenchOperator/ (private operator EXE) ```