This show edge islands as differing colors, where the black island starting on the smallest Y. Not quite a mesh silhouette yet, but a reasonably fast edge walker.
Needed to generate a vertex-edge graph at setup. Then walk the graph in runtime if the edge is only seen in one polygon. Is this too slow already? To get silhouette need to calculate lowest Y and get winding clockwise for edges connected to the last vertex. Then use Vatti https://github.com/AngusJohnson/Clipper2 to find union of all polygons. Then use ear clipping to generate the final silhouette polygon. This would be too slow in scratch :-(