Commit Graph

2 Commits

Author SHA1 Message Date
dcstephenson b6151b7de5 Add port labels, modernize patch panels, add a real PNG preview
- export_topology.py: edges now carry the exact port name on both ends
  (pulled directly from Cable/CableTermination, not inferred from the
  trace chain), so the diagram can label each connector.
- generate_drawio.py: patch panels are now a small rack-unit shape
  (header strip + port ticks, parented to the panel body so they move
  together) instead of a plain box; connectors show 'porta <-> portb'
  and no longer carry a directional arrowhead (these are physical
  cables, not directed links); switches keep the network-switch icon.
- render_png.js + render_host.html: headless Puppeteer driver for
  embed.diagrams.net's postMessage export protocol -- an actual
  render of the .drawio file, not an approximation. Field-Switch-
  Topology.png is the committed output, for anyone who wants a look
  without opening draw.io.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NM3nivbufxEWiKKmatEtEe
2026-09-15 13:03:18 -05:00
dcstephenson d275b7e821 Add NetBox-derived field switch topology (draw.io)
- export_topology.py: dumps switch + patch-panel cable graph from NetBox
  (Django shell, read-only)
- generate_drawio.py: renders topo_full.json as a draw.io diagram with
  natively-glued connectors (source/target by shape id, no hand-rolled
  glue formulas)
- topo_full.json + Field-Switch-Topology.drawio: current snapshot

Replaces the earlier hand-built .vsdx approach: plain-text format diffs
meaningfully in git, no Visio license needed to view/edit, and edges glue
natively instead of needing point-to-point formula hacks.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NM3nivbufxEWiKKmatEtEe
2026-09-15 12:41:22 -05:00