Hi,
You were on the right track with the Vornoi pattern.
You can achieve this by intersecting three-dimensional Vornoi cells with a brep, surface, or mesh - in this case a torus - to get the base curves.
The tricky part is then to get rid of the duplicate curves, produced by the Vornoi cell adjacencies. I resolved this with a quick and dirty GHPython script that goes through all the curves and deletes duplicates with matching end points.
You now have a clean curve network that you can use MP (MultiPipe) in Rhino 7 or F (Fatten) in Rhino 6 on to thickened it.
The definition is a little slow, but I managed to produce the above example in about half a minute with 500 seed points for the 3D Vornoi. Patience is key here.
vornoi-torus.gh (116.8 KB)