Code-native generation of highly programmable 3D assets (2026)
Nova3D: Code-Native Generation of Programmable 3D Assets (2026)
Authors: Nimra Noor, Muhammad Bilal, Abdullah Hussain, and Hassan Baig
Reference: arXiv:2607.22738 | Category: cs.GR (Graphics), cs.CV (Computer Vision)
📌 The Core Problem: The "Opaque Mesh" Limitation
Historically, 3D generative AI has focused on producing a final surface. While these models create visually impressive results, they typically output an opaque mesh. This means the resulting file is just a collection of vertices and faces, lacking the critical metadata required for professional workflows.
Specifically, traditional outputs lack:
- Named components (e.g., "left_wing", "door_handle").
- Assembly hierarchies (parent-child relationships).
- Measurable constraints (exact dimensions).
- Local edit handles (the ability to move one part without affecting others).
- Joints (necessary for articulation and animation).
"The central result is representational: code-native generation turns a generated 3D object from an opaque surface into a programmable asset that downstream systems can inspect, measure, edit, and animate."
🚀 The Nova3D Solution
Nova3D shifts the paradigm by treating the generation process as a programming task. Instead of predicting voxels or points, it generates executable Blender source code.
The Conceptual Pipeline
In this system, the binary glTF (GLB) file is merely the artifact (the rendered result), whereas the asset is the underlying code.
By generating code, semantic handles are created during the generation process. This eliminates the need for post-generation segmentation or manual rigging.
Example Logic
While the actual code is complex, the logic follows a programmable structure:
# Conceptual Nova3D output
import bpy
def create_asset():
# Define a named part with specific constraints
base = bpy.ops.mesh.primitive_cube_add(size=2.0)
base.name = "Main_Chassis"
# Establish hierarchy
wheel = bpy.ops.mesh.primitive_cylinder_add(radius=0.5)
wheel.name = "Front_Left_Wheel"
wheel.parent = base
📊 Evaluation & Benchmarking
The researchers introduced Nova3D-Bench, a rigorous, spec-grounded benchmark.
Benchmark Specifications
- Total Items: 54
- Domains: 6 distinct categories
- Difficulty: 3 levels of complexity
- Inputs: Multimodal (Text and Image)
Comparative Performance
Nova3D was tested against 11 baselines across four families: mesh-native, part-structured, code-native, and CAD, as well as a same-LLM ablation study.
| Metric | Nova3D | Best Baseline | Notes |
|---|---|---|---|
| Executable/Valid Artifacts | 54/54 | Variable | 100% success rate |
| Named Parts & Hierarchy | Only Nova3D provided assembly trees | ||
| Numeric/Count Constraints | 51/52 | 11/52 | Massive lead in precision |
| Blinded Local Edits | 14/18 | Low | Locality preserved in 18/18 cases |
| Native Joints | 59 | 0 | Baselines provided zero native joints |
Geometric Validity: The articulation joints achieved a validity rate of .
🔍 Final Analysis
Strengths vs. Weaknesses
- Geometry: Nova3D is highly competitive. It outperformed others in structured domains and was second only to the top mesh-native model in general shape quality.
- Programmability: It is the only system that transforms a 3D object into a truly programmable asset.
- Texture: It does concede some ground to baked-PBR systems regarding texture realism.
Summary of Impact
By moving from surface-generation to code-generation, Nova3D enables a new workflow where 3D assets are no longer static shells but are instead dynamic, editable, and fully inspectable programs.
![]()