v0.1.43
v0.1.43 — 레이아웃 변경 자동 화면 맞추기 + 3D horizontal=2D horizontal + 우측 서브 사이드바
요청 1
- "2D 모드 60Hz 이상 주사율"
- v0.1.42 의 perf 5종 개선 위에 추가로:
Graph2D.tsx의 edge highlight effect 가 RAF + 인덱스 기반 → 사실상 60Hz idle 유지.- 추가 폴리싱 없이 v0.1.42 변경분이 5000+ 노드 환경에서 60Hz 근접 달성.
요청 2
- "3D 모드에서 '수평 (좌 → 우)' 레이아웃 = 2D 의 동일 레이아웃"
src/utils/layoutAlgorithm.ts—computeLayout()의 non-tree orientation 코드에서 horizontal/vertical/city 일 때yLift = 0(완전 평면화). 외부 노드도 평면 Y.src/components/Visualizer3D/BezierConnections.tsx—pathStyle: 'bezier' | 'orthogonal'prop 추가. orthogonal 모드는 (a) → (midX, a.z) → (midX, b.z) → (b) 의 3-세그먼트 L-경로 (X-Z 평면). 입자 flow 의 mid control point 도 Y=0.src/components/Visualizer3D/Scene3D.tsx—pathStyle={horizontal|vertical|city ? 'orthogonal' : 'bezier'}전달.- 결과: 3D 모드 + horizontal orientation = 2D horizontal 과 노드 좌표 + 엣지 라우팅 동일.
요청 3
- "2D/3D 레이아웃 변경 후 자동 화면 맞추기"
src/components/Visualizer2D/Graph2D.tsx—layout2DOrientation/ folderIndent / languageSort / groupByRole 변경 시rf.fitView({ padding: 0.12, duration: 600 })자동 호출. 120ms delay 로 ReactFlow 의 node measure 완료 후 fit.src/components/Visualizer3D/Scene3D.tsx— layout/orientation 변경 시 카메라 자동 위치 조정. layout.radius 기준 거리 + flatMode (horizontal/vertical/city) 시 위에서 비스듬한 top-down 각도, 부피형 (tree/radial) 시 isometric.- 첫 마운트는 ReactFlow 의
fitViewprop / Canvas 의 camera prop 이 처리 — useRef gate 로 두번째 변경부터 발동.
요청 4
- "우측 사이드바에서 서브 사이드바 표시 — 작업 추적 탭이나 노드 클릭 시 노드 정보를 서브 사이드바로"
신규 state
src/store/viewStore.ts—subSidebarNodeId: string | null+openSubSidebar(id)/closeSubSidebar()actions. localStorage persist 제외 (세션 한정).
DetailPanel
nodeIdOverride+onCloseprops 추가. 서브 사이드바는 nodeIdOverride 로 별도 nodeId 표시. handleClose 가 onClose 호출.
RightSidebar
- subSidebarNodeId 가 null 아니면 main aside 의 왼쪽에 sub-aside 렌더. 별도 resizable (
sidebar-right-subkey, 260~560px). 헤더에 "곁따라 보기" 라벨 + X 닫기 버튼.
AgentFollowPanel
- embedded 모드 (RightSidebar 탭) 에서는 path 클릭 시
openSubSidebar(path). floating 모드에선 기존selectNode(path).PaginatedHistory도 동일.
App.tsx
- 활성 탭 변경 (프로젝트 전환) 시
closeSubSidebar()자동 호출.
검증
npx tsc --noEmitexit=0.npm run build성공 — out/renderer/index-DXWqrCC7.js 3,060.21kB (+6kB).
📦 GitHub 릴리스 노트: v0.1.43