SkillAgentSearch skills...

Shapecraft

Official repo for NeurIPS 2025 poster - ShapeCraft: LLM Agents for Structured, Textured and Interactive 3D Modeling.

Install / Use

/learn @SanBingYouYong/Shapecraft
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <h2 align="center"><strong>[NeurIPS 2025] ShapeCraft:<br> LLM Agents for Structured, Textured and Interactive 3D Modeling</strong></h2> <p align="center"> <a href="https://sanbingyouyong.github.io">Shuyuan Zhang</a><sup>1,*</sup>, <a href="https://jiangchenhan.github.io/">Chenhan Jiang</a><sup>2,*,†</sup>, <a href="https://leo9344.github.io/">Zuoou Li</a><sup>1</sup>, <a href="https://jiankangdeng.github.io">Jiankang Deng</a><sup>1,†</sup> <br> <sup>1</sup>Imperial College London, <sup>2</sup>Hong Kong University of Science and Technology <br> <sup>*</sup>Indicates Equal Contribution, <sup>†</sup>Corresponding Author </p> <div align="center">

<a href='https://arxiv.org/abs/2510.17603'><img src='https://img.shields.io/badge/arXiv-2510.17603-b31b1b.svg'></a>      <a href='https://sanbingyouyong.github.io/shapecraft/'><img alt="Static Badge" src="https://img.shields.io/badge/Project%20Page-8250df?link=https%3A%2F%2Fsanbingyouyong.github.io%2Fshapecraft%2F"></a>     

</div>

Teaser Image

📚 Table of Contents

🚀 Quick Start

  • Install dependencies with uv sync and source .venv/bin/activate, alternatively:
    • Dockerfile is also available with pip install lines which you may reference;
      • to use within docker image, download blender 4.2.9 LTS tar.xz (the blender version we used, any other versions with no major API change should also work) file from here and put into ./docker, then run docker build -t shapecraft . - you have to install Blender in some way anyways;
      • the Dockerfile currently commented out dependencies needed to run on external datasets and do evaluations to avoid heavy packages - yes, you, torch;
  • Set up API keys for LLM queries in .env file: e.g. GPT, GEMINI, deepseek or QWEN, check llm/llms.py for env var retrieved;
    • Set up blender path in .env file too under the name BLENDER_EXE_ if you cannot call blender in terminal by simply calling blender ...;
  • Run experiments with python pipelines/run.py;
    • configure different model choices from ./config yaml files;
    • currently what shape prompts to use is still left within run.py with plenty of examples.

🔍 Code Structure

I personally apologize for not delivering the best code quality in this code base... but if you insist in looking into the details:

  • pipelines/run.py as the main entry point;
  • prompt folder holds various prompts used;
  • runs the result folder with each run time-stamped;
  • llm the wrapper for llm queries - this later evolved into the llms "library/package/submodule";
  • blends holds blender files for automatic rendering set-ups;
  • code_snippets folder hold processes that are dynamiclly concatenated to execute in blender - if you used a different blender version, this is most likely the place that will go wrong due to API changes;
  • dag the wrapper for our graph-based procedural shape representation - a legacy abbr;
  • utils/consts.py hold constant values like project root;
  • chat_dump and vis for visualization (e.g. chat histories) - now also part of the llms' functionality!

📜 License

📄 BibTeX

TODO: will replace this arxiv preprint bibtex with actual NeurIPS 2025 bibtex.

@misc{zhang2025shapecraftllmagentsstructured,
      title={ShapeCraft: LLM Agents for Structured, Textured and Interactive 3D Modeling}, 
      author={Shuyuan Zhang and Chenhan Jiang and Zuoou Li and Jiankang Deng},
      year={2025},
      eprint={2510.17603},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2510.17603}, 
}
View on GitHub
GitHub Stars25
CategoryDevelopment
Updated1d ago
Forks2

Languages

Python

Security Score

95/100

Audited on Apr 7, 2026

No findings