Research-Stack/5-Applications/text-to-cad
Devin AI e5f04ee6c3 refactor(infra): extract shared utilities from duplicated code patterns
Create 4-Infrastructure/lib/ with canonical implementations of:
- hashing.py: sha256_bytes, sha256_text, sha256_file
- q16.py: Q16_16 fixed-point constants and arithmetic
- jsonl.py: load_json, load_jsonl, write_jsonl, stable_json, canonical_json_bytes
- fraction_utils.py: Fraction serialization helpers for hardware probes

Refactor 66 files across 4-Infrastructure/{hardware,shim,infra} and
5-Applications/{scripts,tools-scripts,hutter_prize,text-to-cad} to import
from the shared library instead of maintaining local copies.

4-Infrastructure/auto/lib/q16.py now re-exports from lib.q16.

Net: -743 lines (490 added, 1233 removed)

Build: not applicable (Python-only change, py_compile verified on all 71 files)
Co-Authored-By: Allaun Silverfox <bigdataiscoming+9i37y6j2@protonmail.com>
2026-06-15 02:26:45 +00:00
..
models initial: sovereign research stack (consolidated, weightless, and lfs-optimized) 2026-05-04 18:11:36 -05:00
skills refactor(infra): extract shared utilities from duplicated code patterns 2026-06-15 02:26:45 +00:00
viewer initial: sovereign research stack (consolidated, weightless, and lfs-optimized) 2026-05-04 18:11:36 -05:00
.gitattributes initial: sovereign research stack (consolidated, weightless, and lfs-optimized) 2026-05-04 18:11:36 -05:00
.gitignore initial: sovereign research stack (consolidated, weightless, and lfs-optimized) 2026-05-04 18:11:36 -05:00
AGENTS.md docs(agents): project-wide AGENTS.md audit — cross-refs, baseline, contracts 2026-05-26 22:34:46 -05:00
CLAUDE.md initial: sovereign research stack (consolidated, weightless, and lfs-optimized) 2026-05-04 18:11:36 -05:00
LICENSE initial: sovereign research stack (consolidated, weightless, and lfs-optimized) 2026-05-04 18:11:36 -05:00
README.md initial: sovereign research stack (consolidated, weightless, and lfs-optimized) 2026-05-04 18:11:36 -05:00
requirements-cad.txt initial: sovereign research stack (consolidated, weightless, and lfs-optimized) 2026-05-04 18:11:36 -05:00

Demo of the text-to-cad harness generating and previewing CAD geometry

⚙ Open Source Text to CAD Harness ⚙

An open source harness for generating 3D models with your favorite coding agent

GitHub stars GitHub forks License: MIT Follow @soft_servo Python build123d OCP STEP STL URDF Node.js React Vite

Features

  • Generate - Create source-controlled CAD models with coding agents like Codex and Claude Code.
  • Export - Produce STEP, STL, DXF, GLB, topology data, and URDF robot descriptions.
  • Browse - Inspect generated geometry in a local CAD Explorer viewer.
  • Reference - Copy stable @cad[...] references so agents can make precise follow-up edits.
  • Review - Render quick snapshots for fast checks during an iteration loop.
  • Reproduce - Edit source files first, then regenerate explicit targets.
  • Local - Run the harness and viewer locally with no backend to host.

🧰 Bundled Skills

This harness vendors file-targeted skills for CAD and robot-description work. Use the bundled copies here for local models/ projects, or use the dedicated repositories when installing the skills outside this harness.

🔁 Workflow

  1. Describe - Tell your agent about the part, assembly, fixture, robot, or mechanism you want.
  2. Edit - Let your coding agent update CAD source files under models/.
  3. Regenerate - Create explicit STEP, STL, DXF, GLB, or URDF targets.
  4. Inspect - Open the CAD Explorer viewer to review the generated model.
  5. Reference - Copy @cad[...] handles when you want geometry-aware edits.
  6. Commit - Save the source and generated artifacts together once the model is ready.

🚀 Quick Start

Clone the repo:

git clone https://github.com/earthtojake/text-to-cad.git
cd text-to-cad

Install Python CAD dependencies:

python3.11 -m venv .venv
./.venv/bin/python -m pip install --upgrade pip
./.venv/bin/pip install -r requirements-cad.txt

Install viewer dependencies:

cd viewer
npm install

Run the local CAD Explorer:

npm run dev

Then open http://localhost:4178.