(*takse just the coordinates from the data*)
trim[d_]:=Map[#[[1]]&,d];
(*turns the dataset into plottable tooltips*)
tip[d_]:=Map[(*PopupWindow*)Tooltip[#[[1]],#]&,d];
(*gets the generatos of the convex hull of some points*)
vrts[d_]:=Geometry`ConvexHull2[Union[trim[d[[2]]],trim[d[[3]]],{{0,0},{1,0}}]];
(*takes the points in the dataset with irreducible curves and negative self intersection*)
negs[d_]:=Select[d[[3]],#[[4]]<0&];
(*turns a dataset into a nice plot*)
d2p[d_]:=(v=vrts[d]; ran=tip[Reverse[d[[2]]]]; rev=tip[Reverse[d[[3]]]];neg=tip[negs[d]];Show[RegionPlot[ConvexHullMesh[v]],ListPlot[{ran,rev,v,If[Length[neg]>0,neg,{Tooltip[{-1,0},"lol"]}]},PlotMarkers->{{"•",8},{"•",10},{"•",20},{"•",20}}],PlotLabel->{d[[1]],Length[v]-2}]);

(*as an example of how to use the above functions to generate plots: *)
data=ReadList["whatever file you saved the data to"];
plots=Map[d2p,Reverse[SortBy[data,Length[vrts[#]]&]]]