v0.2.52
v0.2.52 — 추적 좌표를 아바타 위치로 통일 (React Flow + WebGL)
변경 사항
- *사용자 보고**: "react 엔진에서, 에이전트가 IDE 프로그램에서 터미널 작업 시 캐릭터를 추적하는 게 아니라 IDE 노드를 추적하고 있어. 추적은 아바타 캐릭터를 추적해야 해. 모든 엔진 공통".
진단 (수석 개발자 분석)
- *React Flow (
useFollowCamera2D) 버그**: - 기존 코드:
const node = rf.getNode(lastPath); if (!node) return; - terminal:bash, mind:agent, web:host 같은 virtual path 는 React Flow 에 노드가 없음 →
rf.getNode(...)가 undefined 반환 → early return → 카메라가 안 움직임. - 사용자 시각: 아바타는 (root 주변 ring fallback 위치에) 렌더되지만 카메라는 그 자리로 안 옴.
- *WebGL (
FollowCameraWebGL.avatarTarget) 버그**: - AvatarMarkers 는 v0.2.46 부터
ay = cy(노드 정중앙) 로 변경됐는데, FollowCameraWebGL 은 옛 공식ay = cy + height/2 + 18유지 → 카메라가 아바타 아래 빈 공간 추적. - 사용자가 "노드를 추적하고 있어" 라고 느끼는 핵심 원인.
해결
- *(1) React Flow —
useFollowCamera2D.ts** - 새 헬퍼
computeAvatarPosition(rf, path)추가: - 실제 노드 존재:
{ x: nodeCenter.x, y: nodeCenter.y - 28 }(Avatar2DImpl.target 과 동일). - virtual path:
getNodeCenter의 root-주변-ring fallback 적용 +-28오프셋. - 두 useEffect (lastPath 추적 + centerToPath 점프) 모두
computeAvatarPosition사용 → virtual path 도 추적 가능. - *(2) WebGL —
WebGLGraph2D.tsx FollowCameraWebGL** avatarTargetuseMemo:ay = cy + c.height/2 + 18→ay = cy(AvatarMarkers v0.2.46 과 일치)ay = fb.y + 30→ay = fb.y(fallback 도 일치)
모든 엔진 공통 결과
| 엔진 | 추적 좌표 | 아바타 좌표 | 일치 여부 |
|---|---|---|---|
| React Flow | getNodeCenter + Y-28 (virtual fallback 포함) | getNodeCenter + Y-28 | ✓ |
| WebGL | nodeCoordCenter.y (= cy) + X SPACING offset | cy + X SPACING offset | ✓ |
| 3D | positions.get(path).y + hoverY | positions.get(path).y + hoverY (Avatar3D) | ✓ (기존 OK) |
변경 파일
src/hooks/useFollowCamera2D.ts—computeAvatarPosition헬퍼 + 두 useEffect 갱신.src/components/Visualizer2D/WebGLGraph2D.tsx— avatarTarget 의ay계산 두 분기 모두 fix.package.json0.2.51 → 0.2.52.
검증
npx tsc --noEmitexit=0npm run build성공 — renderer 7.05s, 번들 3,460.79 kB.
사용자 확인
- React Flow 에서 claude-code 가
terminal:bash같은 virtual path 에 위치할 때: - 이전: 카메라 안 움직임 (rf.getNode undefined → early return).
- 이후: 카메라가 아바타 (root 주변 ring 위치) 로 이동.
- WebGL 에서 아바타 추적 시:
- 이전: 카메라가 아바타 아래 ~54px 떨어진 빈 공간을 따라감.
- 이후: 카메라 중심 = 아바타 중심 정확 일치.
- --
← (없음)
v0.2.53 →
📦 GitHub 릴리스 노트: v0.2.52