Commit Graph

47 Commits

Author SHA1 Message Date
4bdc36040d "feat:Implement-Canvas-Run-Mode-and-Logic" 2025-12-18 00:38:59 +09:00
67a48531ad .. 2025-12-15 22:06:53 +09:00
backuppc
a7f938ff19 .. 2025-12-15 17:34:43 +09:00
backuppc
9db88e5d6b .agvmap 확장자제거하고 .json 으로 통일한 mapeditor 와 호환성 유지 2025-12-15 08:33:42 +09:00
3c8eae889c "refactor:Improve-map-loading-and-use-canvas-nodes" 2025-12-14 22:55:09 +09:00
764fbbd204 "feat:Enable-hover-highlight-and-refactor" 2025-12-14 17:20:50 +09:00
34b038c4be Implement ACS Command Handlers (PickOn, PickOff, Charge), Manual Mode Safety, and Map UI Commands 2025-12-13 02:40:55 +09:00
f507a6487e 소스정리 2025-12-12 20:00:33 +09:00
backuppc
4e9d29d22f ing... 2025-12-12 17:27:50 +09:00
backuppc
07ddc0425f 에뮬레이터 개발 전. 2025-12-12 14:29:06 +09:00
backuppc
6024f372d3 buffer in/out 시퀀스 작성중 2025-12-11 08:22:52 +09:00
backuppc
868fa2deec add supertonic 2025-12-10 11:39:15 +09:00
backuppc
3695ab0044 sync 전용 화면 만들기 전 백업. 2025-12-10 10:35:19 +09:00
backuppc
9db031c305 agv 노드 정보 정리 세분화 2025-12-09 13:18:22 +09:00
backuppc
455e18f427 시뮬레이터에서 맵 로드시에 맵에 배경색이 있다면 적용 하게 함
Xbee Open 시에 return값 변경 return true -> return isopen
LogFlushAll 함수추가 (_step_close 에서 사용)
2025-12-08 15:12:41 +09:00
backuppc
92dfe2978c UI 및 설정 변경사항 커밋
- 맵 에디터 메인폼 UI 개선
- AGV 캔버스 컨트롤 수정
- 설정 파일 업데이트
- 상태머신 AGV 로직 조정
- 자동 모드 화면 개선
- 메인폼 디자이너 및 로직 수정

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 08:50:07 +09:00
backuppc
6e54633c08 fix 2025-11-10 14:43:47 +09:00
backuppc
3712c290c9 feat: Implement AGV command prediction system for real-time control
- Add motor/magnet/speed enums and AGVCommand class for AGV control
- Implement Predict() method for next action prediction based on path and state
- Add RFID position tracking (requires 2 RFIDs for position confirmation)
- Add SetPath() method to VirtualAGV for path management
- Implement GetCommandFromPath() to extract motor/magnet/speed from DetailedPath
- Add real-time prediction display in SimulatorForm (timer1_Tick)
- Support automatic forward movement at low speed when position unconfirmed
- Support stop command when destination reached or no destination set

Key Features:
- Position unconfirmed (RFID < 2): Forward + Straight + Low speed
- Position confirmed + no destination: Stop (position found)
- Position confirmed + destination reached: Stop (arrived)
- Path execution: Motor/Magnet/Speed from DetailedPath NodeMotorInfo
- Rotation nodes: Automatic low speed
- Junction handling: Magnet direction (Left/Right/Straight)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 17:34:35 +09:00
backuppc
c3f8c7117d feat: Add real-time node drag preview and improve pan accuracy
- Add ghost rendering at original position during node drag
- Implement real-time drag preview with Update() for immediate rendering
- Add visual feedback: shadow effects, cyan borders, pulse animations
- Improve pan movement accuracy with zoom level compensation (PointF precision)
- Add mouse capture for stable drag operations
- Fix coordinate precision loss by changing _panOffset from Point to PointF

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 15:08:48 +09:00
backuppc
5e14907f1c feat: Add configurable Padding and display nodes without RFID in gray
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>
2025-10-30 17:32:13 +09:00
backuppc
0e8a452b54 feat: Add node type-specific double-click actions
노드 타입별 더블클릭 액션 구현:

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>
2025-10-30 15:14:53 +09:00
backuppc
42bd262177 feat: Add mouse click handlers for AddLabel and AddImage modes
UnifiedAGVCanvas.Mouse.cs 수정 내용:
- MouseClick switch문에 AddLabel, AddImage case 추가
- HandleAddLabelClick() 메서드 추가 (NodeType.Label 노드 생성)
- HandleAddImageClick() 메서드 추가 (NodeType.Image 노드 생성)

이제 라벨 추가 및 이미지 추가 드롭다운 메뉴를 선택하고 맵을 클릭하면
해당 위치에 라벨/이미지 노드가 정상적으로 생성됩니다.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 15:10:04 +09:00
backuppc
115c4037d6 fix: Fix event wiring for ToolStripSplitButton and dropdown items
btnAddNode가 ToolStripSplitButton으로 변경되면서 이벤트 처리 수정:
- btnAddNode: Click → ButtonClick 이벤트 사용
- btnAddLabel, btnAddImage: 드롭다운 항목으로 Click 이벤트 유지

이제 노드 추가 버튼과 라벨/이미지 추가 드롭다운 메뉴가 정상 작동합니다.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 14:58:48 +09:00
backuppc
3758dd7a0a refactor: Move toolbar buttons to ToolStrip3 for design consistency
- 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>
2025-10-30 11:40:11 +09:00
backuppc
f13a33f82e fix: 줌/팬 시 마우스 좌표 변환 버그 수정
주요 변경사항:
- Graphics Transform 순서 수정 (Translate → Scale)
- ScreenToWorld/WorldToScreen 공식 통일
- 마우스 휠 줌 계산 수정
- FitToNodes, PanTo 계산 수정
- GetVisibleBounds 공식 수정
- 이제 줌 상태에서 노드 선택이 정확하게 작동

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 11:24:04 +09:00
backuppc
b04d3aa0cd fix: 그리드 화면 전체 표시 및 스케일 동적 계산
주요 변경사항:
- 그리드가 화면 전체를 덮도록 수정
- ScreenToWorld를 사용하여 정확한 월드 좌표 계산
- 스케일 표시를 동적으로 계산 (줌에 따라 변경)
- 스케일 정보를 별도 박스로 표시 (좌하단)
- 줌 정보와 스케일 정보 분리 표시

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 11:13:18 +09:00
backuppc
5378f702e7 refactor: ProgressLogForm 디자이너 파일 생성
주요 변경사항:
- ProgressLogForm.Designer.cs 생성
- VS에서 레이아웃 편집 가능하도록 개선
- 고정 컨트롤을 디자이너 파일로 이동
- ProgressLogForm.cs 간소화

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 09:44:50 +09:00
backuppc
34a804e538 fix: 노드 삭제 시 고아 연결 정리 기능 추가
주요 변경사항:
- CleanupOrphanConnections() 함수 추가
- 저장 시 고아 연결 자동 정리
- 로드 시 고아 연결 자동 제거
- 경로 예측에서 삭제된 노드 연결 사용 방지

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 09:43:04 +09:00
backuppc
3f6db7113f fix: 맵 에디터 연결 버그 수정 및 기능 개선
주요 변경사항:
- ConnectedMapNodes 속성 추가로 런타임 객체 참조 지원
- 이미지 에디터 UI 개선 (ImageEditorCanvas 추가)
- 연결 생성 버그 수정: 양방향 연결 생성
- 연결 삭제 버그 수정: 양방향 모두 제거
- CleanupDuplicateConnections 비활성화 (단방향 변환 버그)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 09:34:10 +09:00
backuppc
0b59479d34 feat: Add comprehensive path prediction test with ProgressLogForm
- Add ProgressLogForm.cs for test result logging with ListView
- Implement real UI workflow simulation in path prediction test
- Test all connected node pairs to all docking targets
- Support CSV export for test results
- Keep List<string> ConnectedNodes structure (reverted List<MapNode> changes)
- Display RFID values in log for better readability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 14:14:33 +09:00
backuppc
24a14fbd48 .. 2025-10-28 17:33:49 +09:00
backuppc
e8b9fceb88 fix: Prevent returning to previous node when direction is maintained
방향 유지 시 이전 노드로 되돌아가는 문제 수정

- 방향 유지(prevDirection == direction): 이전 노드 제외
- 방향 전환(prevDirection != direction): 모든 연결 노드 허용 (U-turn 가능)

수정 파일: DirectionalHelper.cs:61-73

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 17:32:59 +09:00
backuppc
859a84cd22 경로예측로직 수정 중 2025-10-28 11:46:17 +09:00
backuppc
4a50b4064d feat: Strengthen magnet direction weighting in path prediction
마그넷 방향(Straight/Left/Right) 가중치 강화:
- Straight 보너스: 0.3 → 0.5
- 올바른 회전 보너스: 0.25 → 1.0
- 잘못된 회전 페널티: 0.2 → 0.8

이를 통해 GetNextNodeByDirection에서 마그넷 방향이 주요 결정 요소로 작동.
실제 경로 예측 정확도 개선 (Left 마그넷 방향 테스트: 100% 일치).

## 발견된 이슈 (다음 세션)
- 기본 내적(dot product) 차이가 큰 경우 (>1.0) 마그넷 보너스(+1.0)로 극복 못함
- 경로 계산 결과는 올바르지만, 검증 단계에서 다르게 평가되는 경우 존재
- 예: N022→N004→N011 경로, 마그넷 Right일 때
  - 경로 생성: N011 선택 (내적 -0.1275, 마그넷 Right 일치)
  - 검증 예측: N031 선택 (내적 0.9646, 마그넷 Right 일치)
  - 원인: 내적 차이(1.0921) > 마그넷 보너스 효과(1.0)

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 17:36:29 +09:00
backuppc
177309c5c9 feat: Add comprehensive debug logging to path validation functions
- Added detailed debug output to GetNextNodeByDirection() with:
  - Initial node information (positions, movement vectors)
  - All candidate nodes evaluation with step-by-step scoring
  - Score calculations: base score → motor direction → magnet direction
  - Final selection with best score

- Added detailed debug output to ValidateDockingDirection() with:
  - Path validation stage information
  - Expected vs actual next node comparison
  - Movement vector analysis for mismatch debugging
  - Success/failure status for each path segment

Debug output includes:
- Node IDs, RFIDs, positions, and vectors
- Normalized vectors and dot products
- Score progression through each bonus/penalty application
- Direction consistency analysis
- Final scoring results with selection indicators

This enables detailed tracing of path prediction and validation issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 17:13:04 +09:00
backuppc
f4ec63330a feat: Add magnet direction support to GetNextNodeByDirection function
- Added MagnetDirection parameter to GetNextNodeByDirection() function in DirectionalHelper
- Implemented ApplyMagnetDirectionBonus() helper method using vector cross product for turn direction detection
- Straight magnet direction: +0.3f bonus for consistent forward direction
- Left/Right magnet direction: +0.25f bonus for correct turn, -0.2f penalty for wrong turn direction
- Updated DockingValidator to pass actual magnet direction from DetailedPath
- Updated AGVPathfinder calls to use MagnetDirection.Straight as default during path planning phase
- Includes debug output for scoring decisions with magnet direction analysis

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 16:55:13 +09:00
backuppc
735b7dccec refactor: Convert AGVPathResult.Path from List<string> to List<MapNode>
## Summary
- Changed Path property type from List<string> to List<MapNode> for better type safety
- Eliminated O(n) node lookups throughout pathfinding system
- Added DirectionalHelper with motor direction consistency bonus/penalty
- Updated all path processing to work with MapNode objects directly

## Files Modified
- AGVPathResult.cs: Path property and CreateSuccess() method signature
- AStarPathfinder.cs: Path generation and node lookup optimization
- AGVPathfinder.cs: Path processing with MapNode objects
- DirectionChangePlanner.cs: Direction change planning with MapNode paths
- DockingValidator.cs: Docking validation with direct node access
- UnifiedAGVCanvas.Events.cs: Path visualization with MapNode iteration
- UnifiedAGVCanvas.cs: Destination node access
- VirtualAGV.cs: Path conversion to string IDs for storage
- DirectionalHelper.cs: Enhanced with motor direction awareness
- NodeMotorInfo.cs: Updated for new path structure

## Benefits
- Performance: Eliminated O(n) lookup searches
- Type Safety: Compile-time checking for node properties
- Code Quality: Direct property access instead of repeated lookups
- Maintainability: Single source of truth for node data

## Build Status
 AGVNavigationCore: Build successful (0 errors, 2 warnings)

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 16:46:13 +09:00
backuppc
dbf81bfc60 .. 2025-10-27 12:00:59 +09:00
backuppc
1d65531b11 feat: Add next node direction detection and path visualization improvements
Path Direction Detection (AGVPathfinder.cs):
- Added GetNextNodeByDirection() method to determine next node based on Forward/Backward direction
- Implements vector-based angle calculation for intelligent node selection
- Forward: selects node in continuous direction
- Backward: selects node in opposite direction
- Validates if selected direction matches path requirements

Logic additions at line 150-167:
- Detects next node for Forward and Backward directions
- Checks if backward movement aligns with path's next node
- Returns path with appropriate motor direction (ReverseDirection when applicable)

Improved Path Visualization (UnifiedAGVCanvas.Events.cs):
- Refined equilateral triangle arrows (8 pixels, symmetric)
- 50% transparency for purple path lines with 2x thickness
- Bidirectional path detection (darker color for repeated segments)
- Better visual distinction for calculated paths

Technical Details:
- Added System.Drawing using statement for PointF operations
- Added DirectionalPathfinder initialization
- Vector normalization for angle-based decisions
- Dot product calculation for direction similarity scoring

Result: AGV can now intelligently select next node based on current movement direction and validate path feasibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 17:38:03 +09:00
backuppc
a6c4a967ad feat: Improve path preview visualization in UnifiedAGVCanvas
Enhanced path drawing with better visibility:

1. Arrow improvements:
   - Changed from line-based arrows to filled triangle shapes
   - Increased arrow size by 1.5x for better visibility
   - Added polygon fill with outline for clearer identification

2. Path line improvements:
   - Added 50% transparency to purple path color (Alpha: 128)
   - Increased line thickness by 2x (from 4 to 8 pixels)
   - Improved visual contrast and clarity

3. Bidirectional path detection:
   - Detect routes that traverse the same segment multiple times
   - Display bidirectional paths with higher opacity (darker color, Alpha: 200)
   - Visual distinction helps identify round-trip routes

Changes in UnifiedAGVCanvas.Events.cs:
- Modified DrawDirectionArrow() to use FillPolygon instead of DrawLine
- Enhanced DrawPath() with transparency, thickness, and bidirectional detection
- Added System.Collections.Generic using statement

Result: Much better visual identification of calculated paths in HMI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 15:56:49 +09:00
backuppc
402f155a99 refactor: Remove unused functions and fields from pathfinding and models
Removed from AGVPathfinder.cs:
- ConvertToDetailedPath() - unused private method
- CalculatePathDistance() - unused private method
- ValidatePath() - unused public method
- ValidatePhysicalConstraints() - only called by ValidatePath (now removed)
- OptimizePath() - unused public method (TODO placeholder only)
- GetPathSummary() - unused public method (debug helper)

Kept essential methods:
- FindNearestJunction() - used by FindPath_test
- FindNearestJunctionOnPath() - used by FindPath_test
- MakeDetailData() - used by FindPath_test
- MakeMagnetDirection() - used by FindPath_test

Removed from VirtualAGV.cs:
- _targetId field - never used
- _currentId field - never used
- _rotationSpeed field - never used (read-only, no references)

Removed from UnifiedAGVCanvas.cs:
- AGVSelected event - unused
- AGVStateChanged event - unused

Result: Cleaner codebase, reduced technical debt, easier maintenance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 15:49:34 +09:00
backuppc
d932b8d332 fix: Add motor direction parameter to magnet direction calculation in pathfinding
- 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>
2025-10-24 15:46:16 +09:00
backuppc
3ddecf63ed fix: Correct background grid rendering at high zoom levels
- Fix grid line coordinate transformation (world to screen)
- Properly align grid with zoom and pan transformations
- Calculate grid start position at GRID_SIZE multiples
- Draw grid lines across entire visible canvas area
- Ensure grid lines render completely regardless of zoom level
- Grid now displays consistently at all zoom magnifications

Fixes: Grid no longer disappears or renders incompletely when zoomed in

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 10:12:04 +09:00
backuppc
8ecbd3cd74 feat: Add middle mouse button panning support
- Support middle mouse button (wheel) for map panning alongside left button
- Middle button drag always enables panning regardless of edit mode
- Change cursor to hand icon during middle button panning for clarity
- Left button panning remains unchanged (mode-dependent behavior preserved)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 10:10:51 +09:00
backuppc
fcf5a469c7 fix: Correct mouse-centered wheel zoom functionality
- Fix ScreenToWorld coordinate transformation bug in wheel event
- Implement proper mouse cursor-centered zoom calculation
- Calculate world coordinates before zoom and maintain them after zoom
- Adjust pan offset to keep mouse cursor pointing at same world position
- Remove matrix-based transformation that was causing coordinate issues

Fixes: Wheel zoom now correctly centers on mouse cursor position and no longer causes erratic panning

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 10:08:59 +09:00
backuppc
acdef44766 feat: Add AGVLogic solution file for unified project management
- Create AGVLogic.sln containing 3 projects:
  * AGVMapEditor (Map editor application)
  * AGVNavigationCore (Pathfinding library)
  * AGVSimulator (AGV simulator application)
- Project dependencies properly configured
- Support for Debug/Release and AnyCPU platform configurations

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 10:02:09 +09:00
backuppc
dbaf647d4e refactor: Move AGV development projects to separate AGVLogic folder
- 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>
2025-10-23 10:00:40 +09:00