Keep connect/delete/move as dirty local edits until Save, use straight edges again, and drop Visio side handles so lines attach at the NE center like discovered links.
Co-authored-by: Cursor <cursoragent@cursor.com>
Project-neighbors supports dry_run for local dirty canvas; Save flushes adds. Connect mode uses drag-from side anchors with smoothstep elbows instead of click-click.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add a Display toggle to show placeholders; hide their incident edges and skip them in canvas find while hidden.
Co-authored-by: Cursor <cursoragent@cursor.com>
Queue fabric edge deletes until Save with undo-safe pending state; hard-delete topology/LLDP placeholders from the canvas; purge fully orphaned fabric nodes after inventory detach, with a periodic reconcile GC.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sync the canvas auto-add toggle with the shared LLDP collect policy so topology collect and canvas discover stay consistent.
Co-authored-by: Cursor <cursoragent@cursor.com>
Toolbar and pane context menu create placeholders that follow the same setup path as LLDP in NE management and WebCRT.
Co-authored-by: Cursor <cursoragent@cursor.com>
Claim the existing placeholder in place and promote source to webcrt instead of prompting for password-only auth.
Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid the corner-only first paint on slow layouts by deferring fitView until the container is ready and re-fitting on resize.
Co-authored-by: Cursor <cursoragent@cursor.com>
Align collection tasks with LLDP/config-sync chrome, and refresh active-task overview when jobs change.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match the right-side chrome (tab strip and toolbar) to the dark ops shell instead of the leftover light panels.
Co-authored-by: Cursor <cursoragent@cursor.com>
LLDP job detail, config-sync cycle tasks, and UME fold panels now use the shared modal layout; workbench section label is 系统对接.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move the inline config viewer into the shared modal chrome so viewing stays consistent with other network management dialogs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Lay out toggles and color pickers side by side with a viewport-capped height so the menu no longer runs off-screen.
Co-authored-by: Cursor <cursoragent@cursor.com>
Layer the original PNG under a color blend tint so luminosity highlights stay visible while brand hues remain editable.
Co-authored-by: Cursor <cursoragent@cursor.com>
Persist choices in localStorage, apply via canvas CSS variables, and tint router icons with mask fills so each vendor color is editable.
Co-authored-by: Cursor <cursoragent@cursor.com>
Disable labelShowBg for straight edges and suppress the default SVG textbg so link numbers render as text only.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop header netx-api/oclaw pills, restore UME/OClaw runtime rows in ops tasks, and raise node/edge label contrast on the dark canvas.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the light section border and help-control colors so the bottom slice block no longer shows a white hairline.
Co-authored-by: Cursor <cursoragent@cursor.com>
Align the default canvas background, region list, and canvas name styles with the dark ops shell, and migrate the old light canvas default.
Co-authored-by: Cursor <cursoragent@cursor.com>
Workbench styling pulled fonts.googleapis.com which often stalls ~5s on blocked networks; switch to local system font stacks.
Co-authored-by: Cursor <cursoragent@cursor.com>
Lazy-load module routes, restyle remaining light cards/modals/sidebars, and let canvas background be tuned from the display menu.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sample Windows CPU via Processor Utility so values match Task Manager, and expose host metrics on /v1/metrics/json for the workbench poll.
Co-authored-by: Cursor <cursoragent@cursor.com>