I think there is potential utility from this, but it's a matter of
figuring out a good API and also how it will fit with the current API
in a way that doesn't make the 2D use more difficult.
My thoughts.
Using ln looks like a good basis, but I would suggest that rather than
rendering to png or svg, you use the ln.Paths to make a vg.Path. From
what I can see in ln, this looks pretty straightforward and means that
all of the gonum/plot backends become available.
The plot.New function by default gives you axes and assumes a 2D plot,
so a distinct type that handles 3D would be appropriate. I'm not sure
where this would go and there has historically been resistance to
inclusion of a 3D plot system. A 3D plot type could borrow extensively
from the current plotter, reusing a lot of the existing infrastructure
for axes and labels, but would also need to essentially duplicate a
fair bit as well; as you say it would need a 3D plotter interface. On
this basis, if it were added it should probably go in a new package
(plot3?).
An important thing to consider it how it will interact with the vggio
back end since with 3D plots there is even more reason to include
interactive plots (rotation and zoom very helpful in 3D plots). Seb is
the person to discuss this with.
Dan