ThreeJSON is a JSON-driven declarative runtime for Three.js that lets you build and control 3D scenes from configuration, enabling persistent, mutable worlds suitable for human authors and AI/agent-driven generation.

Stars

32

7-day growth

No data

Forks

2

Open issues

0

License

MIT

Last updated

2026-07-22

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It uniquely provides a declarative, data-first approach to Three.js, explicitly designed for AI/agent integration and extensible domains, reducing hand-written boilerplate and enabling dynamic scene control.

Who it is for

  • Three.js developers seeking to reduce boilerplate
  • AI/agent developers building 3D world generators
  • Game developers prototyping or building persistent 3D environments
  • Content creators who prefer JSON-based scene design

Use cases

  • Create 3D scenes from JSON configuration without writing Three.js code
  • Enable AI agents to generate and modify 3D worlds dynamically
  • Build extensible business domains with custom objects and behaviors
  • Rapidly prototype interactive 3D applications with a declarative pipeline

Strengths

  • JSON-driven approach eliminates repetitive Three.js boilerplate
  • Built-in support for AI/agent operations with a clear philosophy
  • Modular domain system allows custom extensions without modifying core
  • MIT licensed with active CI and comprehensive documentation

Considerations

  • Requires understanding of Three.js concepts and ecosystem
  • Depends on multiple peer libraries (Three.js, tween.js, html2canvas-pro)
  • Static assets default to CDN, requiring network for some features unless self-hosted

README quick start

ThreeJSON

中文 | English

JSON-driven Three.js scene runtime: build 3D scenes from configuration instead of hand-writing large chunks of Three.js boilerplate.

Official websitehttps://threejson.org/

Repository: github.com/nnrj/threejson · Issues: GitHub Issues

npmthreejson - npm@threejson/assets - npm

Demos: ThreeJSON Examples SceneEditor: ThreeJSON SceneEditor

Exact description:

ThreeJSON is a JSON-driven declarative scene runtime for Three.js, designed for persistent, mutable and extensible 3D worlds — from human-authored scenes to AI and Agent-driven generation and control.

Use in your project

npm install threejson

In addition, certain built-in models rely on the assets package (which contains textures, sample scene JSONs, etc.). By default, no manual setup is required as ThreeJSON will automatically fetch them via CDN.

If you prefer to host or use them locally, you can install the assets package separately:

npm install @threejson/assets

Development environment

To run tests, examples, and external tools (agent bridges, MCP) in this repo, use Node.js 24+.

git clone https://github.com/nnrj/threejson.git
cd threejson
nvm use          # reads .nvmrc
npm ci && npm test

See docs/zh/development.md (Chinese; English: docs/en/development.md).

Use in your project

npm install threejson

In addition, certain built-in models rely on the assets package (which contains textures, sample scene JSONs, etc.). By default, no manual setup is required as ThreeJSON will automatically fetch them via CDN.

If you prefer to host or use them locally, you can install the assets package separately:

npm install @threejson/assets

The philosophy of ThreeJSON, distilled into four lines:

Scene as Data — The scene is data. Runtime as Engine — The runtime is the engine.

Description

ThreeJSON is a JSON-driven declarative scene runtime for Three.js, designed for persistent, mutable and extensible 3D worlds — from human-authored scenes to AI and Agent-driven generation and control.

Related repositories

Similar projects matched by category, topics, and programming language.

hoainho
hoainho GitHub avatar

img2threejs

img2threejs reconstructs a 3D object from a single reference image as a procedural Three.js model using code-only, token-efficient, staged pipeline with quality gates, producing animation-ready Three.js groups.

Python
7,414
CatsJuice
Featured
CatsJuice GitHub avatar

sticker-forge

Sticker Forge is a WebGL tool that turns text or uploaded images into interactive stickers with a simulated peel-and-reveal effect, offering a Web Component and imperative API.

JavaScript
627
dilukangelosl
Featured
dilukangelosl GitHub avatar

fluidkit

A framework-agnostic GPU fluid simulation library for the web using Stable Fluids on WebGL2, with pluggable render modes and React/Vue/Svelte adapters.

AI & Machine LearningAI Agents
8