Developer Tools

Nexora AI

Turns a single image into editable, structured 3D rather than one undifferentiated blob mesh - a reconstruction engine and the desktop-style studio that drives it.

  • Python
  • NumPy
  • PyTorch
  • FastAPI
  • React
  • Three.js
  • Blender
The Nexora AI studio: a reference photograph on the left beside generation settings, and the reconstructed mesh rendered in the 3D viewport, with vertex and face counts and the GLB, OBJ, FBX, STL and USDZ export options beneath it.

Overview

Most image-to-3D tools hand back a single mesh: watertight, plausible from the camera angle it was generated for, and impossible to edit afterwards because nothing in it is named. Nexora is built around the opposite goal - recover the structure, not just the surface. A silhouette becomes a contour, the contour becomes a scene graph describing intent rather than geometry, and that graph becomes commands a modelling package can replay. The repository holds both halves of that: an engine of 48 modules, and a FastAPI and React/Three.js studio that puts a reference image, generation settings and a live viewport in one window.

Engineering highlights

  • Three reconstruction paths that are honestly different, not three names for one model: a deterministic algorithmic pipeline with no learned weights anywhere in it, sub-second silhouette inflation, and a trained neural decoder
  • The shipping path is pure numpy - Otsu masking, corner-aware Douglas-Peucker contour tracing and rule-based scene graphs - so a wrong result can be stepped through and explained rather than reweighted
  • Silhouette inflation treats the distance transform of the mask as a height field and stitches a front and back shell at the rim, after Igarashi's Teddy (1999): no GPU, sub-second, and candid that a busy render yields a slab
  • The neural decoder was trained on Pix3D furniture, so every plan it emits outside that domain carries an advisory rather than confident nonsense
  • Nothing outside the checkout is hardcoded: every external root resolves from an environment variable with a portable default, so a fresh clone runs on a machine that is not the author's
  • Model weights are deliberately absent from git and published to Hugging Face instead, keeping the repository clonable in seconds
  • 66 test files, 522 passing, plus a Blender add-on and GLB, OBJ, FBX, STL and USDZ export