davsclaus opened a new pull request, #24265:
URL: https://github.com/apache/camel/pull/24265

   ## Summary
   
   - Add interactive HTML web component (`camel-topology-diagram.js`) for 
topology diagrams, matching the existing `camel-route-diagram.js` for route 
diagrams
   - Add `external` option to `DiagramDevConsole` for topology mode to 
include/exclude external systems (kafka, http, etc.)
   - Add `external` parameter overloads to `RouteDiagramDumper` SPI 
(`dumpTopologyAsImage`, `dumpTopologyAsAsciiArt`)
   - Wire external endpoint support through `DefaultRouteDiagramDumper` using 
existing `TopologyHelper.addExternalEndpoints()` and 
`TopologyHelper.expandExternalEdges()`
   - Support `format=html` (default), `format=png`, and 
`format=text/ascii/unicode` for topology mode via `--console`
   
   The web component:
   - Fetches topology JSON from the `route-topology` dev console endpoint
   - Implements a Sugiyama layout algorithm (ported from 
`TopologyLayoutEngine.java`)
   - Renders nodes and edges as SVG with three-band layout (external-in at top, 
routes in middle, external-out at bottom)
   - Supports `external`, `interlink`, `metric`, and `refresh` attributes
   - Uses dashed borders/edges for external endpoint nodes
   
   ## Test plan
   
   - [x] `WebComponentBundleTest` — topology JS bundle exists, contains custom 
element registration and layout engine
   - [x] `DiagramDevConsoleTest` — topology mode produces HTML (with web 
component tag), ASCII text, and PNG output
   - [x] Full build passes from repo root
   
   _Claude Code on behalf of Claus Ibsen_
   
   Co-Authored-By: Claude <[email protected]>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to