Fix thumbnails not being updated for layers when they become empty (#3624)

* fix: thumbnail render for empty layers

* removed self import

* fix: rename

* Cleanup

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
Mohan
2026-03-03 06:45:19 +00:00
committed by GitHub
co-authored by Keavon Chambers
parent 7cc3097acd
commit 54a02dedd5
+9 -6
View File
@@ -514,10 +514,11 @@ impl NodeRuntime {
} }
let bounds = match graphic.bounding_box(DAffine2::IDENTITY, true) { let bounds = match graphic.bounding_box(DAffine2::IDENTITY, true) {
RenderBoundingBox::None => return, RenderBoundingBox::None => None,
RenderBoundingBox::Infinite => [DVec2::ZERO, DVec2::new(300., 200.)], RenderBoundingBox::Infinite => Some([DVec2::ZERO, DVec2::new(300., 200.)]),
RenderBoundingBox::Rectangle(bounds) => bounds, RenderBoundingBox::Rectangle(bounds) => Some(bounds),
}; };
let new_thumbnail_svg = if let Some(bounds) = bounds {
let footprint = Footprint { let footprint = Footprint {
transform: DAffine2::from_translation(DVec2::new(bounds[0].x, bounds[0].y)), transform: DAffine2::from_translation(DVec2::new(bounds[0].x, bounds[0].y)),
resolution: UVec2::new((bounds[1].x - bounds[0].x).abs() as u32, (bounds[1].y - bounds[0].y).abs() as u32), resolution: UVec2::new((bounds[1].x - bounds[0].x).abs() as u32, (bounds[1].y - bounds[0].y).abs() as u32),
@@ -536,11 +537,13 @@ impl NodeRuntime {
// And give the SVG a viewbox and outer <svg>...</svg> wrapper tag // And give the SVG a viewbox and outer <svg>...</svg> wrapper tag
render.format_svg(bounds[0], bounds[1]); render.format_svg(bounds[0], bounds[1]);
// UPDATE FRONTEND THUMBNAIL render.svg
} else {
Vec::new()
};
let new_thumbnail_svg = render.svg; // Update frontend thumbnail
let old_thumbnail_svg = thumbnail_renders.entry(parent_network_node_id).or_default(); let old_thumbnail_svg = thumbnail_renders.entry(parent_network_node_id).or_default();
if old_thumbnail_svg != &new_thumbnail_svg { if old_thumbnail_svg != &new_thumbnail_svg {
responses.push_back(FrontendMessage::UpdateNodeThumbnail { responses.push_back(FrontendMessage::UpdateNodeThumbnail {
id: parent_network_node_id, id: parent_network_node_id,