The maze generation algorithm handed out in class when implemented properly will produce a tree of connected paths -- no loops -- with a single path from any point to any other point, and with no 'wasted" area -- everything is covered with maze paths.
The depth-first search algorithm described on a rectilinear n-dimensional block of grid points can readily be adapted to cover a surface of arbitrary genus as long as you have a data structure to represent a set of points forming a 2-manifold lattice on that surface.
It is definitely important to separate the problem into several stages:
First just draw the maze paths as lines on the chosen surface
(or in the specified volume).
Only when this is debugged, start to worry about the details of
implementing the exact path geometry for a particular fabrication method.
For instance when CyberCut is chosen, an easy way to describe the path
is to define many "unit-step" path segments that mutually overlap
at the grid-points used in the initial generation algorithm.
(This may not be the most efficient way to cut the path,
but it is very simple and robust to specify it this way.
-- Dealing with many islands is probably a bad idea !)
Where the path steps around an edge of a polyhedral body,
you will have to extend that last step at least one tool radius
beyond that edge.
If you are aiming at SFF, then the path may be a groove at the surface
or a tunnel inside a volume. Correspondingly you will have to define
two walls and a floor for the groove, or four "walls" for the tunnel.
For every unit step, each of the 3 or 4 "walls" will have to be described
as two triangles forming the corresponding quadrilaterals.
Eventually these triangles will have to be described in .STL format
when we submit the part for fabrication on a SLA, SLS, or FDM machine.
For now just describe them in whatever format you can readily
produce a rendering (e.g., VRML, OpenGL, ...).
You can, of course, download an STL viewer and see what the
final specification really looks like.
The home page of the Fall 98 offering of CS 284