This repository implements an automatic texture atlas generation library for 3D meshes. Its primary function is to take an arbitrary triangle mesh (typically loaded from an OBJ file) and produce a UV-mapped mesh with a compact, packed texture atlas. The algorithm segments the mesh into charts based on geometric and topological criteria, parameterizes each chart using least-squares conformal mapping (LSCM) or orthogonal projection, and packs the charts into a single bitmap using a brute-force or random bin-packing strategy. The library is designed to handle non-manifold meshes, supports colocal vertices, and provides quality metrics such as stretch and conformal distortion. The architecture is modular, with separate libraries for core utilities (nvcore), mathematics (nvmath), mesh data structures (nvmesh), and image handling (nvimage). The public API is a single C-linkage function `atlas_generate` with options for quality, texel density, and packing alignment. The codebase was originally developed for use in the video game 'The Witness' and is released under the MIT license. It includes a test harness that loads an OBJ file and prints atlas results. The repository is functionally complete but shows its age: it predates C++11, uses custom containers instead of STL, and relies on vendored dependencies (tinyobj, stb_image, poshlib) with known limitations. The packing algorithm can be slow for large meshes, and there are numerous TODO comments and dead code paths. Despite this, the underlying algorithms are sound and the half-edge mesh, sparse solver, and rasterization components are well-implemented and could be extracted for use in other 3D projects.