Skip to content

Release v0.7.3

Choose a tag to compare

@KhoiDOO KhoiDOO released this 07 Sep 18:39
· 128 commits to main since this release

This release is about documentation: a complete static documentation site, and
API documentation covering every symbol in the library down to the individual
CUDA kernel.

Features

  • Documentation website — a static site served from docs/, with a showcase,
    installation and concepts guide, benchmarks, and a seven-tier API reference.
    Dark-first with a light toggle, client-side search, and a raymarched signed
    distance field in the hero.
  • Complete API reference — 1018 symbols, 100% documented. The reference does
    not stop at the Python surface: it descends through the pybind11 bindings and
    host dispatchers into the 109 CUDA __global__ kernels, the 69 __device__
    helpers they call, the 65 inline math primitives, and the 28 __constant__
    topology tables.
  • Qualitative results gallery — seven figures rendered from real library
    output on the bundled benchmark assets: the four extractors compared against
    ground truth on a shared field, a 64³→1024³ resolution ladder, all six sign
    determination modes, per-vertex curvature fields, normal-mode comparison, SDF
    slices, and measured narrow-band memory scaling.
  • Documentation generator — stdlib-only, static: ast over the Python
    package and the pybind stub, Doxygen XML for the native tiers, normalised into
    one model so a CUDA kernel and a Python function render with the same grammar.
    --strict enforces documentation coverage and internal link integrity.
  • Figure pipeline — a self-contained nvdiffrast renderer that regenerates the
    entire gallery from the bundled assets, so the figures cannot go stale.

Refactors & Build

  • Documented the native layer throughout: extraction kernels with their parallel
    decomposition, launch bounds, warp divergence and atomicity hazards; the BVH,
    KD-tree, grid and triangle mesh internals; the geometric and Gaussian splatting
    primitives; the constant topology tables; and the inline vector, matrix and QEF
    math.
  • Added pbdoc documentation to the previously undocumented Triangle
    predicates, and documented every bind_* registration and tensor-validating
    wrapper.
  • Added class and constructor docstrings to the 24 bundled benchmark asset
    classes.
  • Fixed SyntaxWarning: invalid escape sequence raised on import by two
    module docstrings containing LaTeX, which now use raw strings.
  • Rewrote the README around the documentation site, with the tier breakdown, a
    collapsible feature list and a citation entry.
  • Bumped version to 0.7.3.

Examples

No changes to the bundled examples in this release. The differentiable rendering
example under examples/differentiable_rendering/ is unchanged.

Notes

  • Documentation: https://khoidoo.github.io/conquer3d/ (requires GitHub Pages to be
    enabled for the main branch /docs folder).
  • Building from source on a system with GCC 15 or newer needs the host compiler
    pinned for nvcc, e.g. CC=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-g++ with
    NVCC_APPEND_FLAGS="-std=c++20"; PyTorch 2.8's headers do not compile under
    newer GCC at C++17.