Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ docker run -p 5200:5200 -v ./config.json:/app/config.json orchestration
| `backend/services/progress.py` | SSE broadcast, event persistence |
| `backend/tools/registry.py` | Injectable `ToolRegistry` class |
| `backend/tools/` | Tool implementations (RAG, Ollama, ComfyUI, file) |
| `frontend/src/components/PlanTree/` | Hybrid tree/node plan visualizer (19 files: SVG dependency overlay, keyboard nav, search, theme configurator) |
| `frontend/` | React 19 + TypeScript + Vite UI (ErrorBoundary, 404 page) |
| `Dockerfile` | Multi-stage build (frontend + backend) |
| `.github/workflows/ci.yml` | GitHub Actions CI (tests, lint, frontend build+test, E2E) |
Expand Down
6 changes: 5 additions & 1 deletion frontend/src/components/PlanTree/DependencyOverlay.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ export default function DependencyOverlay({ containerRef }: { containerRef: Reac
const sRect = sourceEl.getBoundingClientRect()
const tRect = targetEl.getBoundingClientRect()

// Skip if either node is hidden (collapsed parent → zero-size rect)
if (sRect.width === 0 || sRect.height === 0) continue
if (tRect.width === 0 || tRect.height === 0) continue

// Source: right-center of source node
const x1 = sRect.right - containerRect.left
const y1 = sRect.top + sRect.height / 2 - containerRect.top
Expand Down Expand Up @@ -124,7 +128,7 @@ export default function DependencyOverlay({ containerRef }: { containerRef: Reac
<svg
ref={svgRef}
className="pt-dep-overlay"
style={{ position: 'absolute', inset: 0, pointerEvents: 'none', overflow: 'visible' }}
style={{ position: 'absolute', inset: 0, pointerEvents: 'none', overflow: 'hidden' }}
>
{paths.map(p => {
const isUpstream = highlightedFromIds.has(p.id)
Expand Down