- 맵 에디터 메인폼 UI 개선
- AGV 캔버스 컨트롤 수정
- 설정 파일 업데이트
- 상태머신 AGV 로직 조정
- 자동 모드 화면 개선
- 메인폼 디자이너 및 로직 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
MapNode.cs:
- Padding 속성 추가 (기본값 8px, 텍스트 주변 여백)
- Clone 메서드에 Padding 복사 추가
NodePropertyWrapper.cs:
- LabelNodePropertyWrapper에 Padding 속성 추가
- PropertyGrid에서 0~50px 범위로 조정 가능
UnifiedAGVCanvas.Events.cs:
- DrawLabelNode: 하드코딩된 패딩을 node.Padding 사용
- GetNodeBrush: RFID 없는 노드를 회색 계통으로 표시
* Normal: Blue → LightGray
* Rotation: Orange → DarkGray
* Docking: Green → Gray
* Charging: Red → Silver
UnifiedAGVCanvas.Mouse.cs:
- HandleLabelNodeDoubleClick: node.Name → node.LabelText 사용
이제 라벨 노드 패딩을 속성창에서 조정 가능하고,
RFID 미할당 노드를 시각적으로 쉽게 구분 가능
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
노드 타입별 더블클릭 액션 구현:
UnifiedAGVCanvas.Mouse.cs:
- MouseDoubleClick 핸들러 수정 - 노드 타입별 분기 처리
- HandleNormalNodeDoubleClick() 추가 - RFID 입력 InputBox 표시
- HandleLabelNodeDoubleClick() 추가 - 라벨 텍스트 입력 InputBox 표시
- HandleImageNodeDoubleClick() 추가 - ImageNodeDoubleClicked 이벤트 발생
UnifiedAGVCanvas.cs:
- ImageNodeDoubleClicked 이벤트 정의 추가
MainForm.cs:
- OnImageNodeDoubleClicked 이벤트 핸들러 추가
- 이미지 편집창(ImageEditorForm) 자동 표시
AGVNavigationCore.csproj:
- Microsoft.VisualBasic 참조 추가 (InputBox 사용)
이제 노드 더블클릭 시:
- 일반노드(Normal/Rotation/Docking/Charging): RFID 입력창 표시
- 라벨노드: 텍스트 입력창 표시
- 이미지노드: 이미지 편집창 자동 표시
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
btnAddNode가 ToolStripSplitButton으로 변경되면서 이벤트 처리 수정:
- btnAddNode: Click → ButtonClick 이벤트 사용
- btnAddLabel, btnAddImage: 드롭다운 항목으로 Click 이벤트 유지
이제 노드 추가 버튼과 라벨/이미지 추가 드롭다운 메뉴가 정상 작동합니다.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replaced Panel + Button controls with ToolStrip + ToolStripButton
- Unified toolbar design with toolStrip2 style
- Simplified WireToolbarButtonEvents() method
- Updated UpdateImageEditButton() and DisableImageEditButton() for ToolStripButton
- Image edit button now properly enables/disables based on selected node type
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
주요 변경사항:
- ConnectedMapNodes 속성 추가로 런타임 객체 참조 지원
- 이미지 에디터 UI 개선 (ImageEditorCanvas 추가)
- 연결 생성 버그 수정: 양방향 연결 생성
- 연결 삭제 버그 수정: 양방향 모두 제거
- CleanupDuplicateConnections 비활성화 (단방향 변환 버그)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed critical issue in ConvertToDetailedPath where motor direction was not passed to GetRequiredMagnetDirection
- Motor direction is essential for backward movement as Left/Right directions must be inverted
- Modified AGVPathfinder.cs line 280 to pass currentDirection parameter
- Ensures backward motor direction properly inverts magnet sensor directions
feat: Add waypoint support to pathfinding system
- Added FindPath overload with params string[] waypointNodeIds in AStarPathfinder
- Supports sequential traversal through multiple intermediate nodes
- Validates waypoints and prevents duplicates in sequence
- Returns combined path result with aggregated metrics
feat: Implement path result merging with DetailedPath preservation
- Added CombineResults method in AStarPathfinder for intelligent path merging
- Automatically deduplicates nodes when last of previous path equals first of current
- Preserves DetailedPath information including motor and magnet directions
- Essential for multi-segment path operations
feat: Integrate magnet direction with motor direction awareness
- Modified JunctionAnalyzer.GetRequiredMagnetDirection to accept AgvDirection parameter
- Inverts Left/Right magnet directions when moving Backward
- Properly handles motor direction context throughout pathfinding
feat: Add automatic start node selection in simulator
- Added SetStartNodeToCombo method to SimulatorForm
- Automatically selects start node combo box when AGV position is set via RFID
- Improves UI usability and workflow efficiency
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reorganized AGVMapEditor, AGVNavigationCore, AGVSimulator into AGVLogic folder
- Removed deleted project files from root folder tracking
- Updated CLAUDE.md with AGVLogic-specific development guidelines
- Clean separation of independent project development from main codebase
- Projects now ready for independent development and future integration
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>