[GH-ISSUE #182] [feature] - add the Azure icons from drawio to your drawio output xml #108

Closed
opened 2026-05-06 12:37:32 +02:00 by BreizhHardware · 4 comments

Originally created by @s7oneyuk on GitHub (Mar 30, 2026).
Original GitHub issue: https://github.com/patrickchugh/terravision/issues/182

The icons can be found within the code used for ARI against azure. See

github.com/microsoft/ARI/blob/main/Modules/Public/PublicFunctions/Diagram/Start-ARIDiagramSubscription.ps1

and

github.com/microsoft/ARI/blob/main/Modules/Public/PublicFunctions/Diagram/Build-ARIDiagramSubnet.ps1

for examples of the icons to use for each resource type.

Originally created by @s7oneyuk on GitHub (Mar 30, 2026). Original GitHub issue: https://github.com/patrickchugh/terravision/issues/182 The icons can be found within the code used for ARI against azure. See github.com/microsoft/ARI/blob/main/Modules/Public/PublicFunctions/Diagram/Start-ARIDiagramSubscription.ps1 and github.com/microsoft/ARI/blob/main/Modules/Public/PublicFunctions/Diagram/Build-ARIDiagramSubnet.ps1 for examples of the icons to use for each resource type.
Author
Owner

@patrickchugh commented on GitHub (Apr 3, 2026):

Thanks for the suggestion @s7oneyuk!

Just to clarify — TerraVision already uses the official Microsoft Azure Architecture Icons (the same 256x256 PNG set downloadable from Microsoft). These icons are embedded as base64 data directly into the .drawio XML output, so the file is fully self-contained and portable — icons should display correctly when you open the file on any machine.

It sounds like you're suggesting we switch from embedded PNG icons to draw.io's built-in mxgraph.azure.* stencil references (like the ARI project does). The visual difference would be that draw.io's built-in stencils are SVG-based, so they'd scale better and feel more "native" when editing the diagram in draw.io.

Could you clarify — are you seeing missing/broken icons when you open the exported .drawio file? Or is this more about wanting the icons to use draw.io's native shape references so they're easier to edit and swap within draw.io's UI?

Any additional detail on what you're experiencing would help us prioritize this.

<!-- gh-comment-id:4183242970 --> @patrickchugh commented on GitHub (Apr 3, 2026): Thanks for the suggestion @s7oneyuk! Just to clarify — TerraVision already uses the official Microsoft Azure Architecture Icons (the same 256x256 PNG set downloadable from Microsoft). These icons are embedded as base64 data directly into the `.drawio` XML output, so the file is fully self-contained and portable — icons should display correctly when you open the file on any machine. It sounds like you're suggesting we switch from embedded PNG icons to draw.io's built-in `mxgraph.azure.*` stencil references (like the ARI project does). The visual difference would be that draw.io's built-in stencils are SVG-based, so they'd scale better and feel more "native" when editing the diagram in draw.io. Could you clarify — are you seeing missing/broken icons when you open the exported `.drawio` file? Or is this more about wanting the icons to use draw.io's native shape references so they're easier to edit and swap within draw.io's UI? Any additional detail on what you're experiencing would help us prioritize this.
Author
Owner

@patrickchugh commented on GitHub (Apr 11, 2026):

@s7oneyuk Any thoughts?

<!-- gh-comment-id:4229654142 --> @patrickchugh commented on GitHub (Apr 11, 2026): @s7oneyuk Any thoughts?
Author
Owner

@patrickchugh commented on GitHub (Apr 14, 2026):

Thanks for raising this @s7oneyuk. We're working on it — it's gated on #188 (replacing the graphviz2drawio library with a native mxGraph emitter), because the current library hard-codes shape=image and doesn't let us emit shape=mxgraph.azure.* or shape=mxgraph.aws4.* styles. Once #188 lands we'll add per-provider shape-library mappings (the ARI repo you linked is an excellent reference for Azure). Tracking the shape-library work under #188 now.

<!-- gh-comment-id:4243110993 --> @patrickchugh commented on GitHub (Apr 14, 2026): Thanks for raising this @s7oneyuk. We're working on it — it's gated on #188 (replacing the `graphviz2drawio` library with a native mxGraph emitter), because the current library hard-codes `shape=image` and doesn't let us emit `shape=mxgraph.azure.*` or `shape=mxgraph.aws4.*` styles. Once #188 lands we'll add per-provider shape-library mappings (the ARI repo you linked is an excellent reference for Azure). Tracking the shape-library work under #188 now.
Author
Owner

@patrickchugh commented on GitHub (Apr 16, 2026):

new native draw.io emitter engine has fixed this

<!-- gh-comment-id:4263261893 --> @patrickchugh commented on GitHub (Apr 16, 2026): new native draw.io emitter engine has fixed this
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/terravision#108
No description provided.