긴 단일 코드에서 재현 가능한 프로젝트 구조로 전환한다.
FLIR/Teledyne 카메라 2대, PySide6 GUI, Thorlabs Kinesis 모터, 중심점 계산과 자동 센터링이 한 흐름에서 함께 움직인다.
새 PC나 다른 Python 버전에서 실행하면 dependency mismatch가 발생하기 쉬움
실행 경로는 작고 명확해야 하고, 실험 workflow는 보존하되 메인 런타임과 분리되어야 한다.
src/ 현재 구현tests/ 회귀 테스트experiments/ 실험 workflowlegacy/root/ 이전 구현 snapshotvendor/wheels/ 로컬 PySpin wheelpyproject.toml로 Python과 dependency 고정uv sync로 동일 환경 생성uv run python R_TwoCam_TwoMotor.pysrc/app.py | src/startup.pysrc/pyspin_controller.pysrc/processing.py | src/motion_rules.pysrc/manual_controls.py | src/auto_controller.py목표는 코드를 예쁘게 나누는 것이 아니라, 장비 제어 프로그램을 다시 실행 가능하고 수정 가능한 상태로 만드는 것이다.
processing / motion / motorsrc / tests / vendorpyproject.toml + uv sync