SpellShape format is an evolving idea β a lightweight, text-based format for defining parametric 3D models that are easy to automate, modify, and generate with AI.
Unlike traditional formats that store final geometry, .spell aims to capture the logic behind a model: its parameters, rules, relationships, and expressions.
This repo is home to the draft schema, core principles, and example files β and it's all actively in development.
Over the years, we've seen formats like:
- OBJ / STL β simple geometry, no logic
- glTF / GLB β great for delivery, not for editing
- STEP / IGES β parametric, but locked into engineering workflows
- X3D / VRML β expressive but bloated and outdated
- USD (Universal Scene Description) β powerful parametric capabilities but complex and heavy for simple use cases
None of these are designed for:
- π Reusable parametric models
- π§ LLM generation / editing
- βοΈ Cross-platform automation
- βοΈ Human-readable, declarative logic
That's the gap .spell tries to explore.
A .spell file is a structured JSON document describing a parametric 3D object or scene.
This includes:
- Parameters and expressions
- Geometry templates (e.g.
box,cylinder) - Scene hierarchy
- Basic controls for editing
- Optional logic (repeaters, constraints)
{
"type": "box",
"dimensions": ["width", "height", "depth"],
"position": [0, "height/2", 0],
"parameters": {
"width": 1.0,
"height": 2.0,
"depth": 0.5
}
}This is not a final spec β just one possible way to represent procedural logic in a readable, generative format.
This project is not about final answers β it's about exploration.
We're asking:
- What does a LLM-native 3D format look like?
- How much logic can fit in a readable file?
- Can one format span design, web, CAD, and AI?
- What's the minimal structure needed to support real procedural workflows?
- π Schema design and constraints
- π§ͺ Three.js parser (early prototype)
- π§ Prompt-to-model generation via LLM
- π§± Templates and component reuse
- π§° Visual editor concepts (WIP)
| Repo | Purpose |
|---|---|
spellshape-three |
Parser for Three.js runtime |
spellshape-web |
Experimental online editor |
spellshape-examples |
Early test models |
If you care about:
- Parametric design
- AI and generative 3D
- Web-first design tools
- Open source schemas and standards
β¦then we'd love your input, critiques, ideas, or experiments.
This is early-stage and highly collaborative. Please open an issue or join the discussion.
- Format comparison: OBJ, glTF, X3D, STEP vs. .spell
- Design goals for AI-native 3D modeling
- Blog post: What makes a format LLM-friendly?
(links coming soon)
MIT License β open and free for experimentation.
Questions? Ideas? Use cases?
β stepan.kukharskiy@gmail.com
β GitHub issues
β More coming soon at spellshape.com
This is a living spec β not a finished product.
If you're building the future of AI-native 3D design, let's build together.