# cad — collaborative robot design + STL iteration (created 2026-06-23)

## What this agent does

Helps Cameron design, build, and iterate on simple modular custom **6-DOF robots**. Tight collaboration loop (describe → generate → Blender-edit → re-integrate → simulate → debug) rather than autonomous design from a one-line spec.

## Current state (2026-06-23, bootstrap complete)

- Tab in `agents` tmux session on `omid-fleet` VPS, cwd `/data/cameron/agents_stuff`
- **Canonical workspace: `/data/cameron/repos/` on lab (phe108), visible on VPS via sshfs at the same path.** Cameron's 2026-06-23 decision: all fleet code lives on lab; VPS reads via sshfs + dispatches big git ops via `ssh cameronsmith@100.74.71.38` (Tailscale-SSH unlocked 2026-06-23). Both repos cloned on lab:
  - `/data/cameron/repos/custom_robot_building/` — Cameron's existing **MJCF generator** for a modular SO-ARM100/101 chain (STS3215 servos + printed holder/clamp brackets + ArUco baking). "Somewhat hacky" = lots of Blender-world-frame STL un-baking knobs. Current config = `just_eef_umi` (UMI gripper EEF only).
  - `/data/cameron/repos/text-to-cad/` — earthtojake "CAD Skills" library: build123d→STEP→STL `cad` skill + urdf/srdf/sdf/gcode/cad-viewer skills. Prior-art to steal from (esp. build123d for parts + urdf skill).
- **Env gap:** VPS has no GPU + bare python 3.14 (no mujoco/build123d/OCP) — by design. ALL compute runs on lab (run via `ssh phe108`). Author/edit through sshfs; execute on lab.

## Design decisions (Cameron, 2026-06-23) — bootstrap Qs all answered

1. **Compute + code = all on lab**; VPS = agent hosting + memory only. See [[code-lives-on-lab-2026-06-23]].
2. **build123d for parts now** (stick to text-to-cad examples). Cameron prefers mujoco overall, hasn't tried build123d, willing to.
3. **Blender = open**: I generate part → Cameron edits STL in Blender → returns it → I re-integrate. Don't over-build frame machinery.
4. **URDF-primary** (canonical); derive MJCF later (considered easy to convert).
5. **6-DOF arm = default config `long_singlejointed`** (6 links/hinges). `just_eef_umi` is EEF-only.
6. **STL handoff stays on lab** (`/data/cameron/repos/custom_robot_building/...`); Cameron pulls to Mac / sshfs.

**Next:** reproduce `long_singlejointed` 6-DOF arm in MuJoCo on lab (baseline), stand up build123d on lab, then first parametric part (wrist camera mount) → STEP → STL, URDF-primary. Tasks in `tasks.md`.

## North star

- **Modular 6-DOF custom robots** (Cameron has built one; rebuild it modularly with wrist camera + other features)
- **Better UMI-style data-collection rig** for the rebuilt robot
- **Automated build pipeline**: describe → URDF/STL pass → human Blender edit → re-integrate → simulate → iterate

## Coordinates with

- **mac** — Mac-side MuJoCo viz / dataset collection
- **yams** — TRI YAM robot work (different robot but URDF/MuJoCo conventions may rhyme)
- **figure_maker** — for paper/blog visuals later
- **manager** — fleet coordination
