Part of #50 (Phase C). From the full jpg-vs-SVG rendering audit. Extends #79 (which vendored the plugin artwork; this covers project-local images).
Symptom
WorkspaceImage nodes whose path points inside the model project (not a Capella plugin) render as white placeholder slivers with the label floating below. Verified: the "Ground Operator" actor on [SC] System Actors, [OEBD] Operational Entities and Actors, [OCB] Operational Capabilities, [MCB] All Missions and Capabilities — Capella shows a custom person-with-headset image.
Root cause
CapellaIconRegistry resolves plugin-vendored artwork by file name (#79) but has no source for project-local workspace paths such as In-Flight Entertainment System/images/Operator.svg or Crowd_Surveillance_System_in_DARC/img/police.png. These live beside the .aird in the loaded project.
Fix
Add a workspace-rooted image source: resolve a project-relative workspacePath against the loaded project directory (an IIconRegistry composed with a project-root path, or a second registry chained after CapellaIconRegistry), inline the file as a data: URI, and fall back to the placeholder box only when truly unresolved. Pin on [SC] System Actors that the Ground Operator renders as an image sized to its box.
Part of #50 (Phase C). From the full jpg-vs-SVG rendering audit. Extends #79 (which vendored the plugin artwork; this covers project-local images).
Symptom
WorkspaceImagenodes whose path points inside the model project (not a Capella plugin) render as white placeholder slivers with the label floating below. Verified: the "Ground Operator" actor on [SC] System Actors, [OEBD] Operational Entities and Actors, [OCB] Operational Capabilities, [MCB] All Missions and Capabilities — Capella shows a custom person-with-headset image.Root cause
CapellaIconRegistryresolves plugin-vendored artwork by file name (#79) but has no source for project-local workspace paths such asIn-Flight Entertainment System/images/Operator.svgorCrowd_Surveillance_System_in_DARC/img/police.png. These live beside the.airdin the loaded project.Fix
Add a workspace-rooted image source: resolve a project-relative
workspacePathagainst the loaded project directory (anIIconRegistrycomposed with a project-root path, or a second registry chained afterCapellaIconRegistry), inline the file as adata:URI, and fall back to the placeholder box only when truly unresolved. Pin on [SC] System Actors that the Ground Operator renders as an image sized to its box.