feat: network diagrams — draw.io-style editor #139

Merged
chihlasm merged 31 commits from feat/network-diagrams into main 2026-04-14 05:44:27 +00:00
chihlasm commented 2026-04-13 18:17:13 +00:00 (Migrated from github.com)

Summary

Long-running branch for the network diagram editor feature. All phases will land here before merging to main.

Already on branch (ported from prior work):

  • Backend: migrations 073 (device_types + RLS + 28 platform seed devices) and 074 (network_diagrams + RLS), models, schemas, 10 API routes, AI generation service
  • Frontend: list page, editor page, React Flow canvas, device stencil palette, properties panel, AI assist panel, context menu, keyboard shortcuts, node/edge components

Phase plan:

  • Phase 1 — Foundation MVP (ported)
  • Phase 2 — Draw.io-grade editing (alignment, distribution, groups, edge routing)
  • Phase 3 — Export (SVG/PNG/PDF, draw.io XML import/export)
  • Phase 4 — MSP differentiation (AI merge, asset metadata, version history)

Test plan

  • Run migrations on PR DB: alembic upgrade head (applies 073 + 074)
  • Navigate to /network-diagrams — list page loads
  • Create a new diagram — editor opens with empty canvas
  • Drag a device from the palette onto the canvas
  • Connect two nodes with an edge
  • Save and reload — state persists
  • Keyboard shortcuts: copy/paste/duplicate/delete
  • Right-click context menu
  • AI generate from description
  • Import/export JSON

🤖 Generated with Claude Code

## Summary Long-running branch for the network diagram editor feature. All phases will land here before merging to main. **Already on branch (ported from prior work):** - Backend: migrations 073 (device_types + RLS + 28 platform seed devices) and 074 (network_diagrams + RLS), models, schemas, 10 API routes, AI generation service - Frontend: list page, editor page, React Flow canvas, device stencil palette, properties panel, AI assist panel, context menu, keyboard shortcuts, node/edge components **Phase plan:** - [x] Phase 1 — Foundation MVP (ported) - [ ] Phase 2 — Draw.io-grade editing (alignment, distribution, groups, edge routing) - [ ] Phase 3 — Export (SVG/PNG/PDF, draw.io XML import/export) - [ ] Phase 4 — MSP differentiation (AI merge, asset metadata, version history) ## Test plan - [ ] Run migrations on PR DB: `alembic upgrade head` (applies 073 + 074) - [ ] Navigate to `/network-diagrams` — list page loads - [ ] Create a new diagram — editor opens with empty canvas - [ ] Drag a device from the palette onto the canvas - [ ] Connect two nodes with an edge - [ ] Save and reload — state persists - [ ] Keyboard shortcuts: copy/paste/duplicate/delete - [ ] Right-click context menu - [ ] AI generate from description - [ ] Import/export JSON 🤖 Generated with [Claude Code](https://claude.com/claude-code)
railway-app[bot] commented 2026-04-13 18:19:13 +00:00 (Migrated from github.com)

🚅 Deployed to the resolutionflow-pr-139 environment in selfless-grace

Service Status Web Updated (UTC)
hopeful-liberation Success (View Logs) Web Apr 14, 2026 at 5:37 am
patherly Success (View Logs) Web Apr 14, 2026 at 5:36 am
<!-- railway-bot-comment-version=2 --> <!-- railway-project-id="22b9b58c-271b-42e5-a10e-6fdec8d00134" railway-project-name="selfless-grace" --> 🚅 Deployed to the [resolutionflow-pr-139](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134?environmentId=5fd9d918-82f1-47cf-8bf4-5459d3457eb9) environment in **[selfless-grace](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134)** | **Service** | **Status** | **Web** | **Updated** (UTC) | | :--- | :--- | :--- | :--- | | hopeful-liberation | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/e1db2ee3-d241-4f45-abe4-c9c5fdf483d5?id=2fe7a361-7a08-4b56-96f8-539f90f85ad8&environmentId=5fd9d918-82f1-47cf-8bf4-5459d3457eb9)) | [Web](https://hopeful-liberation-resolutionflow-pr-139.up.railway.app) | Apr 14, 2026 at 5:37 am | | patherly | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/95f556ff-5264-4116-a0c2-618a2fc53ba4?id=1dee4f3a-0b4f-4f92-a59d-58f6b9705148&environmentId=5fd9d918-82f1-47cf-8bf4-5459d3457eb9)) | [Web](https://patherly-resolutionflow-pr-139.up.railway.app) | Apr 14, 2026 at 5:36 am |
Sign in to join this conversation.