\documentclass[letterpaper,11pt]{article} \usepackage[hmargin=1.1in,vmargin=1in]{geometry} \usepackage{mathtools,unicode-math,microtype} \usepackage{graphicx} \usepackage{hyperref} \usepackage{booktabs} \usepackage{tabularx} \usepackage{longtable} \usepackage{array} \usepackage{enumitem} \usepackage{fancyvrb} \usepackage{amsthm} \usepackage{parskip} \usepackage{lua-tikz3dtools} \usetikzlibrary{arrows.meta,backgrounds,calc,decorations.pathreplacing,fit,positioning,shapes.geometric} \setmainfont{Latin Modern Roman} \setmathfont{Latin Modern Math} \hypersetup{ colorlinks = true, linkcolor = blue!50!black, urlcolor = blue!50!black, pdftitle = {lua-tikz3dtools Manual}, pdfauthor = {Jasper Nice} } \fvset{ fontsize = \small, frame = single, framesep = 2mm } \title{lua-tikz3dtools\\Manual} \author{Jasper Nice} \date{Version 3.1.0\\April 28, 2026} \begin{document} \maketitle \begin{abstract} lua-tikz3dtools is a LuaLaTeX package for building three-dimensional TikZ illustrations from points, line segments, triangles, tessellated parametric surfaces, and sampled solids. Its distinguishing feature is that it does not ask the user to manually sort visible pieces: the package partitions intersecting geometry where needed, applies user filters, performs occlusion sorting, and then emits ordinary TikZ paths. This manual documents the public interface, the Lua-expression model used by the keys, the transformation conventions, and the practical limits of the rendering pipeline. \end{abstract} \tableofcontents \input{sections/01-overview.tex} \input{sections/02-getting-started.tex} \input{sections/03-mental-model.tex} \input{sections/04-lua-expressions.tex} \input{sections/05-coordinates-and-transformations.tex} \input{sections/06-objects-and-basic-primitives.tex} \input{sections/07-parametric-geometry.tex} \input{sections/08-lighting-styling-and-filters.tex} \input{sections/09-command-reference.tex} \input{sections/10-rendering-pipeline-and-limitations.tex} \appendix \input{sections/A-vector-and-matrix-cookbook.tex} \input{sections/B-low-level-geometry-api.tex} \end{document}