Package Name: lua-tikz3dtools Package Version: 3.0.0 (2026-04-12) Repository: https://github.com/Pseudonym321/lua-tikz3dtools-offline Contact: https://github.com/Pseudonym321/lua-tikz3dtools-offline/issues Author: Jasper Nice License: LaTeX Project Public License 1.3c or later Description: lua-tikz3dtools is a LuaLaTeX toolkit for making 3D illustrations with TikZ. It focuses on properly occluded 3D mathematical figures composed of line segments and triangles, including tessellated surfaces and curves. Contents: - `src/` contains the package sources. - `doc/` contains the documentation sources and the compiled PDF manual. Change Log: \ v1.0.0: - Robust triangle sorting, rudimentary line segment sorting. - Division by zero handling. - Clipping of individual planes by rectangular prisms. - Geometric vector commands. v1.1.0: - Robust primitive sorting, so long as they do not intersect, and do not cyclically overlap. - Arrow tips for curves v2.0.0: - nearly robust clipping v2.0.1: - robust partitioning of tiles which are capable. v2.1.0: November 22, 2025 - filterinng of surfaces clipped by planes. - partitioning - bug involving partitioning in perspective - bug involving partitioning into degenerate triangles (edge case) v2.2.0 November 29, 2025 - lighting added - luatikztdtoolspicture environment added - small bug fixes v2.3.0 January 22, 2026 - went back to the tikz environment - made the code object oriented - improved the lighting v3.0.0 April 12, 2026 - split monolithic Lua file into modules (vector, matrix, geometry, scene) - sandboxed load() environment for user expressions - fixed global_seen variable leak - added 2D grid spatial index for occlusion sorting - cached bounding boxes throughout pipeline - unchecked fast constructors for hot-path allocation - removed gratuitous deep_copy calls - unified duplicate hline_segment_point_intersecting functions - removed duplicate append_solid and apply_filters - fixed 2x2 determinant sign bug - fixed reciprocate_by_homogeneous typo - added TikZ key defaults (transformation, filter, samples) - added usamples/vsamples/wsamples validation (>= 2) - fixed appendlight docs (key is v, not x/y/z) - reset lights after displaysimplices - partition_simplices_by_parents skips self and checks screen-space overlap Future goals: - calculus based automatic sampling of surfaces