\begin{figure}[p]
\centering

\begin{minipage}[t]{0.48\linewidth}
\centering
\begin{tikzpicture}[scale=0.68, line join=round, line cap=round]
\path[use as bounding box] (-2.25,-1.80) rectangle (2.25,1.95);
\appendlight[
  v = {return Vector:new{0.45, -0.35, 1, 1}}
]
\appendlight[
  v = {return Vector:new{-0.10, 0.20, 0.80, 1}}
]
\setobject[
  name = torusframe,
  object = {
    return Matrix.axis_angle(Vector:new{1, 0, 0, 1}, 0.92)
      :multiply(Matrix.axis_angle(Vector:new{0, 0, 1, 1}, 0.34))
  }
]
\appendsurface[
  uparams = {return Vector:new{-2.10, 2.10, 2}},
  vparams = {return Vector:new{-2.10, 2.10, 2}},
  v = {return Vector:new{0.10, u, v, 1}},
  fill options = {draw=none, fill=none},
  filter = {return false}
]
\appendsurface[
  uparams = {return Vector:new{0, tau, 28}},
  vparams = {return Vector:new{0, tau, 16}},
  v = {
    local R = 1.35
    local r = 0.52
    return Vector:new{(R + r*math.cos(v))*math.cos(u), (R + r*math.cos(v))*math.sin(u), 0.95*r*math.sin(v), 1}
  },
  transformation = {return torusframe},
  fill options = {fill=orange!70!ltdtbrightness, draw=orange!35!black, line width=0.1pt},
  filter = {
    local cx = (A[1] + B[1] + C[1]) / 3
    return cx > 0.10
  }
]
\appendcurve[
  uparams = {return Vector:new{0, tau, 70}},
  v = {
    local R = 1.35
    local r = 0.52
    local minor = 0.18
    return Vector:new{(R + r*math.cos(minor))*math.cos(u), (R + r*math.cos(minor))*math.sin(u), 0.95*r*math.sin(minor), 1}
  },
  transformation = {return torusframe},
  draw options = {draw=black, line width=0.45pt}
]
\appendcurve[
  uparams = {return Vector:new{0, tau, 70}},
  v = {
    local R = 1.35
    local r = 0.52
    local major = 1.05
    return Vector:new{(R + r*math.cos(u))*math.cos(major), (R + r*math.cos(u))*math.sin(major), 0.95*r*math.sin(u), 1}
  },
  transformation = {return torusframe},
  draw options = {draw=black!70, densely dashed}
]
\displaysimplices
\end{tikzpicture}

\small\textbf{Filtered torus cutaway.}
An invisible slicing surface forces partitioning along the cut boundary before a
screen-space filter removes one side of the torus, and two sampled highlight
curves make the cut readable after the visibility pass.
\end{minipage}\hfill
\begin{minipage}[t]{0.48\linewidth}
\centering
\begin{tikzpicture}[scale=0.68, line join=round, line cap=round]
\path[use as bounding box] (-2.25,-1.80) rectangle (2.25,1.95);
\appendlight[
  v = {return Vector:new{0.40, -0.25, 1, 1}}
]
\setobject[
  name = sheetframe,
  object = {
    return Matrix.axis_angle(Vector:new{1, 0, 0, 1}, 0.95)
      :multiply(Matrix.axis_angle(Vector:new{0, 0, 1, 1}, 0.55))
      :multiply(Matrix.perspective(Vector:new{0, 0, 0.11, 1}))
  }
]
\appendsurface[
  uparams = {return Vector:new{-1.15, 1.15, 14}},
  vparams = {return Vector:new{-1.15, 1.15, 12}},
  v = {return Vector:new{u, v, 0.38*u, 1}},
  transformation = {return sheetframe},
  fill options = {fill=blue!60!ltdtbrightness, fill opacity=0.84, draw=blue!35!black, line width=0.1pt}
]
\appendsurface[
  uparams = {return Vector:new{-1.15, 1.15, 14}},
  vparams = {return Vector:new{-1.15, 1.15, 12}},
  v = {return Vector:new{u, 0.34*u, v, 1}},
  transformation = {return sheetframe},
  fill options = {fill=green!55!ltdtbrightness, fill opacity=0.78, draw=green!30!black, line width=0.1pt}
]
\displaysimplices
\end{tikzpicture}

\small\textbf{Intersecting sheets.}
Two sampled surfaces intersect in space, so the renderer must partition and sort
triangle pieces instead of relying on a single depth statistic.
\end{minipage}

\medskip

\begin{minipage}[t]{0.48\linewidth}
\centering
\begin{tikzpicture}[scale=0.62, line join=round, line cap=round]
\path[use as bounding box] (-3.20,-1.80) rectangle (3.20,1.80);
\appendlight[
  v = {return Vector:new{0.35, -0.15, 1, 1}}
]
\setobject[
  name = familyframe,
  object = {
    return Matrix.axis_angle(Vector:new{1, 0, 0, 1}, 0.92)
      :multiply(Matrix.axis_angle(Vector:new{0, 0, 1, 1}, 0.38))
      :multiply(Matrix.perspective(Vector:new{0, 0, 0.09, 1}))
  }
]
\appendsurface[
  uparams = {return Vector:new{-1.0, 1.0, 13}},
  vparams = {return Vector:new{-1.0, 1.0, 11}},
  v = {return Vector:new{u - 1.45, v, -0.10 + 0.18*math.sin(2.1*u)*math.cos(1.2*v), 1}},
  transformation = {return familyframe},
  fill options = {fill=red!55!ltdtbrightness, draw=red!25!black, line width=0.08pt}
]
\appendsurface[
  uparams = {return Vector:new{-1.0, 1.0, 13}},
  vparams = {return Vector:new{-1.0, 1.0, 11}},
  v = {return Vector:new{u, v, 0.08 + 0.24*math.sin(2.1*u + 0.8)*math.cos(1.2*v), 1}},
  transformation = {return familyframe},
  fill options = {fill=yellow!70!ltdtbrightness, draw=yellow!35!black, line width=0.08pt}
]
\appendsurface[
  uparams = {return Vector:new{-1.0, 1.0, 13}},
  vparams = {return Vector:new{-1.0, 1.0, 11}},
  v = {return Vector:new{u + 1.45, v, 0.26 + 0.30*math.sin(2.1*u + 1.4)*math.cos(1.2*v), 1}},
  transformation = {return familyframe},
  fill options = {fill=teal!60!ltdtbrightness, draw=teal!35!black, line width=0.08pt}
]
\displaysimplices
\end{tikzpicture}

\small\textbf{A small surface family.}
Related graphs can be generated from the same parameter scaffold with different
phase or amplitude choices, then displayed together in one scene.
\end{minipage}\hfill
\begin{minipage}[t]{0.48\linewidth}
\centering
\begin{tikzpicture}[scale=0.68, line join=round, line cap=round]
\path[use as bounding box] (-2.25,-1.85) rectangle (2.25,1.95);
\appendlight[
  v = {return Vector:new{0.42, -0.22, 1, 1}}
]
\setobject[
  name = solidframe,
  object = {
    return Matrix.axis_angle(Vector:new{1, 0, 0, 1}, 1.00)
      :multiply(Matrix.axis_angle(Vector:new{0, 0, 1, 1}, -0.40))
      :multiply(Matrix.perspective(Vector:new{0, 0, 0.10, 1}))
  }
]
\appendsolid[
  uparams = {return Vector:new{-1, 1, 9}},
  vparams = {return Vector:new{-1, 1, 9}},
  wparams = {return Vector:new{-1, 1, 9}},
  v = {return Vector:new{0.92*u + 0.16*v*w, 0.80*v + 0.10*u*w, 0.68*w + 0.14*u*v, 1}},
  transformation = {return solidframe},
  fill options = {fill=teal!60!ltdtbrightness, draw=teal!35!black, line width=0.1pt}
]
\displaysimplices
\end{tikzpicture}

\small\textbf{Sampled solid boundary.}
A three-parameter map is rendered by tessellating the six faces of the parameter
box, which is usually the right abstraction for illustrative solid boundaries.
\end{minipage}

\caption{Representative outputs. The gallery mixes shading, filter-driven cuts,
intersecting surfaces, a small family of related surfaces, and a sampled solid
boundary.}
\end{figure}