actually, i design in inkscape.
i draw a blue rectangle. draw 3 little rectangles and use inkscape boolean tools to “remove” the inner parts.
in inkscape i have only ONE object. i can edit the nodes of it directly as this is one path only.
i add a red rectangle. i have now TWO objects. (see the XML : there is a “path” and a “rect” only)
copy/paste into LB, without grouping asked.
i have now “one” selection (group) only. (apparently the option to not group at import is not relevant for copy/paste)
i ungroup this (once!)
and now, i do NOT have 2 objects as expected (a red rectangle and a blue “complex object with holes”), but five objects. the 3 small rectangles have been “removed” from the main shape and treated as independant objects.
moving the outer shape, the inner rectangles do not move with it…
in my opinion, the blue object shall remain exactly this : ONE object. it should not be decomposed when ungrouping.
trying another idea…
i group the 3 small rectangle, then group this group with the big rectangle.
again, i have 1 group.
ungrouping it, i have now 2 objects : the red one, and the blue one which acts as a whole.
if i further ungroup the blue, i have a big rectangle, and a group of 3 small ones.
so, LB do preserve the grouping from SVG (svg:g in the XML), but does not preserve the independent parts of an unique shape.
trying to explain with code…
a rectangle inside a rectangle has this “path” in SVG
M 334.86523 290.1543 L 334.86523 360.86523 L 427.79883 360.86523 L 427.79883 290.1543 L 334.86523 290.1543 z M 349.51367 331.57031 L 390.92969 331.57031 L 390.92969 349.75391 L 349.51367 349.75391 L 349.51367 331.57031 z
the “breaking point” is a “z M” point … z closes the path, M move the cursor to the start of the next path. i believe LB do stop at the z instruction and finishes the object, then starts another one… except this is not a different object, it is another part of the same object.