\begin{titlepage}
    \vspace*{.35\textheight}
    % \iffalse
    \begin{tikzpicture}[
        remember picture,
        overlay,
        shift={(current page.center)}
    ]
        \ltdtappendlight[
            v={return Vector:new{1,1,1,1}}
        ]
        \ltdtsetobject[
            name=view,
            object={
                Matrix.zyzrotation(Vector:new{pi/6,pi/3,pi/2})
                :multiply(Matrix.perspective(Vector:new{0,0,-1/30}))
            }
        ]
        \ltdtappendsurface[
            uparams={return Vector:new{0,1,27}}, % SAMPLES MUST BE ODD
            vparams={return Vector:new{0,1,21}}, % SAMPLES MUST BE ODD
            v={
                return Vector.sphere(Vector:new{u*tau,v*tau,2})
                :hadd(
                    Vector:new{8*cos(u*tau),8*sin(u*tau),2,1}
                )
            },
            fill options={return "fill=ltdtbrightness!50!teal"},
            transformation={return view},
            filter={
                local p = A:hadd(B):hadd(C):hscale(1/3)
                :multiply(view:inverse())
                return p[3] < p[1]/sqrt(15) + 2
            }
        ]
        \ltdtappendsurface[
            uparams={return Vector:new{0,1,27}}, % SAMPLES MUST BE ODD
            vparams={return Vector:new{0,1,21}}, % SAMPLES MUST BE ODD
            v={
                return Vector.sphere(Vector:new{u*tau,v*tau,2})
                :hadd(
                    Vector:new{8*cos(u*tau),8*sin(u*tau),2,1}
                )
            },
            fill options={
                return [[
                    % fill=cyan,
                    % fill opacity=0.3,
                    postaction={draw,line join=round}
                ]]
            },
            transformation={return view},
            filter={
                local p = A:hadd(B):hadd(C):hscale(1/3)
                :multiply(view:inverse())
                return p[3] > p[1]/sqrt(15) + 2
            }
        ]
        \ltdtappendsurface[
            uparams={return Vector:new{-1,1,8}},
            vparams={return Vector:new{-1,1,8}},
            v={
                return Vector:new{u,v,1/sqrt(15)*u,1}:hscale(12)
                :hadd(Vector:new{0,0,2,1})
            },
            fill options={return "fill=gray,fill opacity=0.9"},
            transformation={return view},
            filter={
                local p = A:hadd(B):hadd(C):hscale(1/3)
                :multiply(view:inverse())
                local t = atan2(p[2],p[1])
                local p2 = Vector:new{8*cos(t),8*sin(t),2,1}
                return p:hdistance(p2) > 1.999
            }
        ]
        \ltdtappendcurve[
            uparams={return Vector:new{0,1,100}},
            v={
                return Vector.sphere(Vector:new{u*tau,u*tau*5,3})
                :hadd(
                    Vector:new{8*cos(u*tau),8*sin(u*tau),2,1}
                )
            },
            draw options={return "draw=violet,thick,line cap=round"},
            transformation={return view}
        ]
        \ltdtdisplaysimplices
    \end{tikzpicture}
    % \fi
    \huge\centering lua-tikz3dtools v3.4.0\par
    \Large\vfill\raggedright Jasper Nice \hfill 2026-06-04
\end{titlepage}