As I tried to explain before, you’re not supposed to modify plot objects in lift closures like this
lift(geometry) do geometry
points = geometry.points
!isempty(points) && nodeplot!(plt, points)
return plt
end
nodeplot! should be called just once with points = lift(g -> g.points, geometry) as input