cyclecad 3.10.3 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/pages.yml +34 -0
- package/.nojekyll +0 -0
- package/CLAUDE.md +430 -0
- package/HANDOFF-2026-04-24-session-2.md +239 -0
- package/HANDOFF-2026-04-24.md +90 -0
- package/app/index.html +9 -0
- package/app/js/modules/ai-copilot.js +275 -2
- package/app/js/modules/ai-engineer.js +613 -0
- package/app/js/modules/pentacad-bridge.js +216 -0
- package/app/js/modules/pentacad-cam.js +184 -0
- package/app/js/modules/pentacad-sim.js +215 -0
- package/app/js/modules/pentacad.js +233 -0
- package/app/pentacad.html +240 -0
- package/index-agent-first.html.bak +1306 -0
- package/machines/v2-50-chb/kinematics.json +51 -0
- package/mockups/cyclecad-suite-mockup.html +1746 -0
- package/package.json +1 -1
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
# Handoff — 2026-04-24, session 2 → next chat
|
|
2
|
+
|
|
3
|
+
Drop this file into the next chat (or tell Claude to read it). Continues the earlier handoff from the same day; read both.
|
|
4
|
+
|
|
5
|
+
## Who I am
|
|
6
|
+
- **SACHIN** (vvlars@googlemail.com, GitHub vvlars-cmd)
|
|
7
|
+
- Building the **cycleCAD Suite** — now three products: cycleCAD + ExplodeView + Pentacad
|
|
8
|
+
- Working style: fast iteration, minimal clarifying questions, clipboard-paste commands via terminal, Safari private window for testing
|
|
9
|
+
- Full persistent memory: `~/cyclecad/CLAUDE.md` and `~/explodeview/CLAUDE.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## THE BIG STRATEGIC UPDATES THIS SESSION
|
|
14
|
+
|
|
15
|
+
### 1. Suite positioning crystallised
|
|
16
|
+
**cycleCAD Suite** is the umbrella brand at cyclecad.com. Three products under it:
|
|
17
|
+
|
|
18
|
+
| Product | What | License | Status |
|
|
19
|
+
|---|---|---|---|
|
|
20
|
+
| **cycleCAD** | Parametric 3D CAD modeller (the core) | MIT | Live |
|
|
21
|
+
| **ExplodeView** | 3D viewer, AI render, AR, analysis | MIT | Live |
|
|
22
|
+
| **Pentacad** | CAM + 5-axis simulator + Kinetic Control bridge | AGPL-3 / commercial dual | Phase 0 scaffolded |
|
|
23
|
+
|
|
24
|
+
**Key decision**: Pentacad is built as a **cycleCAD module**, NOT a separate repo. Lives at `~/cyclecad/app/js/modules/pentacad*.js`. Follows the existing `window.CycleCAD.ModuleName` IIFE pattern used by every other cycleCAD module.
|
|
25
|
+
|
|
26
|
+
### 2. Pentamachine / Matt status — CRITICAL
|
|
27
|
+
**Matt agreed to send files without NDA**, but his reply included a red flag:
|
|
28
|
+
|
|
29
|
+
> "We do provide feedback for 4+ companies that are working on similar CAM concepts to yours."
|
|
30
|
+
|
|
31
|
+
**What this means:**
|
|
32
|
+
- Matt is a **neutral ecosystem supplier**, not a partner candidate
|
|
33
|
+
- He legally has no confidentiality obligation toward us
|
|
34
|
+
- Ideas we share with him will influence his feedback to other teams (whether he means to or not)
|
|
35
|
+
|
|
36
|
+
**Revised strategy:**
|
|
37
|
+
- **Do not lead with JV** — the equity/partnership proposal is dead until Pentacad is a proven product
|
|
38
|
+
- **Pilot-first**: build cycleCAD Suite Pentacad extension in silence, ship polished demos (not source, not architecture docs), public launch before Matt asks for exclusivity
|
|
39
|
+
- Commercial conversation sequence: Phase 0-1 = silent, Phase 2 = open license discussion, Phase 3 = exclusive EU resale if warranted, JV only if Matt proactively offers equity
|
|
40
|
+
|
|
41
|
+
**Full tactical playbook**: `~/Documents/Penta/pentacad-notes/pilot-intelligence-brief.md` (private, DO NOT share with Matt)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## What shipped this session
|
|
46
|
+
|
|
47
|
+
### Pentacad extension inside cycleCAD (`~/cyclecad/`)
|
|
48
|
+
New files, follow the existing cycleCAD IIFE module pattern (`window.CycleCAD.Pentacad*`):
|
|
49
|
+
|
|
50
|
+
| File | Purpose |
|
|
51
|
+
|---|---|
|
|
52
|
+
| `app/js/modules/pentacad.js` | Coordinator module — registers sub-modules, machine picker UI, public API |
|
|
53
|
+
| `app/js/modules/pentacad-cam.js` | 12 CAM strategies (stubs), post-processor skeleton for Pentamachine .ngc dialect |
|
|
54
|
+
| `app/js/modules/pentacad-sim.js` | G-code parser skeleton, forward-kinematics stub for 5-axis A/B tables |
|
|
55
|
+
| `app/js/modules/pentacad-bridge.js` | WebSocket client for controller bridge — jog/stream/DRO/pause/abort scaffolding |
|
|
56
|
+
| `app/pentacad.html` | Dedicated UI entry point — split-screen viewport + machine picker + workspace tabs |
|
|
57
|
+
| `machines/v2-50-chb/kinematics.json` | Template values marked `_confirmed: false` until Matt sends real data |
|
|
58
|
+
|
|
59
|
+
Load via `<script src="./js/modules/pentacad-cam.js"></script>` etc. in `app/pentacad.html`. Coordinator auto-initialises on DOMContentLoaded unless `window.CycleCAD.SkipPentacadInit` is set.
|
|
60
|
+
|
|
61
|
+
### cyclecad.com suite landing mockup (`~/cyclecad/mockups/`)
|
|
62
|
+
- `cyclecad-suite-mockup.html` — full animated wireframe for the new suite landing page
|
|
63
|
+
- `index-agent-first.html.bak` — backup of the previous index.html (agent-first OS-of-manufacturing framing)
|
|
64
|
+
|
|
65
|
+
**Page structure** (top to bottom):
|
|
66
|
+
1. **Hero** — "From idea to finished part. One browser tab." Staggered fade-up, animated kicker dot, drifting orbs, spinning logo
|
|
67
|
+
2. **Lifecycle strip** — 5 stages (Ideate / Design / Present / CAM / Produce). Rainbow gradient line draws across all 5 chips when it scrolls into view
|
|
68
|
+
3. **End-to-End Journeys section** — 3 animated product examples:
|
|
69
|
+
- 🔔 Custom bike bell (consumer, 6 days, €345, 23 pre-orders)
|
|
70
|
+
- ⚙️ Precision flange (B2B, 3 days, €2,400, 50-unit PO)
|
|
71
|
+
- 🍺 Branded bottle-opener ring (promo, 2 days, €1,900, 100 units)
|
|
72
|
+
- Each cycles through 6 lifecycle steps (idea → design → market → sell → manufacture → feedback) on a 15s loop with 2.5s per step, rows offset by one step, hover to pause, click step to jump
|
|
73
|
+
4. **5 stage deep-dive sections** — each with SVG animations (typing terminal, line-draw CAD, exploded parts, toolpath tracing, data flow arrows)
|
|
74
|
+
5. **Products grid** — 3 cards (cycleCAD gold / ExplodeView teal / Pentacad emerald)
|
|
75
|
+
6. **Stats, CTA, founder note, footer**
|
|
76
|
+
|
|
77
|
+
Production version **not yet written** — the mockup is the design spec. When approved, port into real `/index.html`.
|
|
78
|
+
|
|
79
|
+
### Pentamachine deliverables (`~/Documents/Penta/pentacad-deliverables/`)
|
|
80
|
+
- `ARCHITECTURE.md` — full Pentacad system architecture (repo doc, shareable)
|
|
81
|
+
- `Pentacad-Complete.pptx` — 25-slide deck (16 architecture + 8 private intelligence brief + dividers)
|
|
82
|
+
- `Pentacad-Complete.pdf` — same content, non-editable
|
|
83
|
+
- `pilot-intelligence-brief.md` — full tactical playbook for managing Matt
|
|
84
|
+
|
|
85
|
+
**Separate** private notes at `~/Documents/Penta/pentacad-notes/pilot-intelligence-brief.md`.
|
|
86
|
+
|
|
87
|
+
### Standalone pentacad repo (SUPERSEDED but preserved)
|
|
88
|
+
- Located at `~/Documents/Penta/pentacad/`
|
|
89
|
+
- Full monorepo scaffold I built before the user pivoted to the "cycleCAD module" approach
|
|
90
|
+
- Keep as reference — useful pieces (LICENSE, .gitignore, README, CLAUDE.md, web-app main.js, CAM module index, strategies registry) can be copied if ever needed
|
|
91
|
+
- Do not commit as a separate repo
|
|
92
|
+
|
|
93
|
+
### Emails drafted (for Matt, Penta Machine Company)
|
|
94
|
+
1. **Short JV proposal** — not used; user went pilot-first instead
|
|
95
|
+
2. **Long-form detailed proposal** — kept in reserve
|
|
96
|
+
3. **Follow-up acknowledging 4+ competitors** — softer tone, pilot framing
|
|
97
|
+
4. **Phase 0-3 file request** — the canonical list of what Matt needs to send
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## What Matt already sent vs still missing
|
|
102
|
+
|
|
103
|
+
**In `~/Documents/Penta/` right now:**
|
|
104
|
+
- Marketing kit (logos, spec PDFs, product videos, photos)
|
|
105
|
+
- Installation guides (.docx) for V2-10 and V2-50
|
|
106
|
+
- **One real technical artifact**: `Sample Part for Demonstration/Ring Aluminum V2-50/`
|
|
107
|
+
- Fusion 360 archive (`.f3z`) with CAM setup
|
|
108
|
+
- 3 × `.ngc` files — 5-axis G-code confirming A/B kinematics, G20 imperial, G93 inverse-time feed, 40000 RPM spindle
|
|
109
|
+
|
|
110
|
+
**Still blocking Phase 0 (the foundation work):**
|
|
111
|
+
1. Native 3D models of V2-10, V2-50CHB, V2-50CHK (STEP or Fusion/Inventor) — need for digital twin
|
|
112
|
+
2. Machine kinematics JSON (A/B offsets, travel, home, tool-length zero, soft limits)
|
|
113
|
+
|
|
114
|
+
**Needed for later phases:**
|
|
115
|
+
3. LinuxCNC version / Kinetic Control fork reference + HAL / INI files
|
|
116
|
+
4. Fusion 360 post-processor (`.cps`) — to match the dialect exactly
|
|
117
|
+
5. Tool library (ER11/ER40 holders, tool numbers, max RPM)
|
|
118
|
+
6. Feeds & speeds defaults per material
|
|
119
|
+
7. Kinetic Control IPC/WebSocket API surface
|
|
120
|
+
8. Simulator source (if separate from control)
|
|
121
|
+
|
|
122
|
+
**Status**: Matt agreed to send items 1-8, awaiting delivery. Safe to continue cycleCAD and ExplodeView work in parallel.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Pending task inbox (15 items, from tracker #10-24)
|
|
127
|
+
|
|
128
|
+
### Priority strategic work
|
|
129
|
+
- **#10** · AI Engineering Analyst v1 — bolted-joint analysis. Biggest competitive gap vs MecAgent. Target: `app/js/modules/ai-engineer.js` (~800-1200 lines). Analytical-core-first (pure JS math, unit-tested against MecAgent screenshot numbers: F_friction=24960N, F_max_tensile=6687.5N, σ_vm=558MPa), then KaTeX rendering, then LLM tool-use layer, then RAG.
|
|
130
|
+
- **#11** · AI Engineering Analyst v2 — gears (AGMA), shafts (Goodman/Soderberg), bearings (L10), welds (throat stress)
|
|
131
|
+
- **#12** · AI Engineering Analyst — RAG + citations (@xenova/transformers MiniLM-L6-v2, IndexedDB, MecAgent-style "Open Document" footnotes)
|
|
132
|
+
|
|
133
|
+
### cycleCAD quick wins
|
|
134
|
+
- **#13** · Ship 3.10.5 — more AI Copilot templates (mounting brackets, T-slot extrusions 40/40 + 80/40, ball/roller bearings, bearing cutouts). Same pattern as gear/pulley/shaft block in 3.10.4.
|
|
135
|
+
- **#14** · Polyline → geometry support in mini-executor. Unblocks true involute gear teeth.
|
|
136
|
+
|
|
137
|
+
### cycleCAD
|
|
138
|
+
- **#15** · Dynamic version badge in status bar (currently hardcoded v0.9.0)
|
|
139
|
+
- **#16** · Wire splash screen buttons (New Sketch / Open-Import / Text-to-CAD / Inventor Project)
|
|
140
|
+
- **#17** · Run `app/test-agent.html` (113 tests, 15 categories), fix failures
|
|
141
|
+
- **#18** · Text-to-CAD with live preview
|
|
142
|
+
- **#19** · Photo-to-CAD reverse engineering
|
|
143
|
+
- **#20** · Server-side 138MB STEP import (FastAPI converter path, safer than opencascade.js v293)
|
|
144
|
+
- **#21** · Docker compose local test
|
|
145
|
+
|
|
146
|
+
### ExplodeView
|
|
147
|
+
- **#22** · Compositing render for guaranteed CAD preservation. Post-v304 follow-up. Render 3D with transparent background, send only cropped background region to Nano Banana, composite 3D foreground over generated background in canvas. Bypasses "generative ≠ inpainting" limitation entirely.
|
|
148
|
+
- **#23** · Run `docs/demo/killer-features-test.html`, fix failures
|
|
149
|
+
- **#24** · Repro `block-only-in-chrome` ExplodeView bug (user report, unclear trigger)
|
|
150
|
+
|
|
151
|
+
### Suite website
|
|
152
|
+
- Port the `mockups/cyclecad-suite-mockup.html` design into production `/index.html` once motion is approved
|
|
153
|
+
- Build dedicated `/pentacad.html` product marketing page in the same style
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Recommended next sprint
|
|
158
|
+
|
|
159
|
+
**Cheap high-impact**: #13 + #14. Ships 3.10.5, unlocks real gear teeth.
|
|
160
|
+
**Strategic**: #10 — AI Engineering Analyst v1. Biggest competitive moat, direct MecAgent parity.
|
|
161
|
+
**While waiting on Matt**: #22 (compositing render for ExplodeView) and #17 (run cycleCAD test agent).
|
|
162
|
+
|
|
163
|
+
Do #13 + #14 as warm-up, then go big on #10.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Critical operational context (unchanged from earlier handoff)
|
|
168
|
+
|
|
169
|
+
- **Git lock dance**: VM commits leave stale `.git/*.lock` files. Always give ONE combined command:
|
|
170
|
+
```bash
|
|
171
|
+
rm -f ~/REPO/.git/index.lock ~/REPO/.git/HEAD.lock && cd ~/REPO && git add ... && git commit -m "..." && git push origin main
|
|
172
|
+
```
|
|
173
|
+
- **Clipboard delivery**: Commands via `mcp__computer-use__write_clipboard` → user pastes in Terminal. Must switch OFF Terminal (make Chrome or another app frontmost) before writing — Terminal is tier-"click" and blocks clipboard writes when frontmost.
|
|
174
|
+
- **Egress allowlist**: `explodeview.com` and `cyclecad.com` are NOT on the allowlist. Use `npm registry` (allowed) for version verification. For live-site checks, ask user to add domain or use Claude-in-Chrome MCP.
|
|
175
|
+
- **Deferred tools**: Schemas load on demand. Load computer-use in bulk `{query: "computer-use", max_results: 30}`, chrome `{query: "chrome", max_results: 20}`.
|
|
176
|
+
- **GitHub Pages concurrent-deploy fix**: shipped 2026-04-24 in `.github/workflows/pages.yml` with `concurrency: group: pages, cancel-in-progress: true`.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Current npm versions
|
|
181
|
+
|
|
182
|
+
- `cyclecad`: **3.10.4** (next: 3.10.5 with AI Copilot templates, OR 3.11.0 with AI Engineering Analyst)
|
|
183
|
+
- `explodeview`: **1.0.22** / v304 (preservation-first `buildPrompt()` rewrite shipped earlier this session)
|
|
184
|
+
|
|
185
|
+
## Latest commits
|
|
186
|
+
|
|
187
|
+
- ExplodeView: `41471f3` v1.0.22 tag, `b47d6a9` v304 code
|
|
188
|
+
- cycleCAD: HEAD clean before session; **unstaged changes this session** in:
|
|
189
|
+
- `app/js/modules/pentacad.js` + `pentacad-cam.js` + `pentacad-sim.js` + `pentacad-bridge.js` (new)
|
|
190
|
+
- `app/pentacad.html` (new)
|
|
191
|
+
- `machines/v2-50-chb/kinematics.json` (new)
|
|
192
|
+
- `mockups/cyclecad-suite-mockup.html` (new)
|
|
193
|
+
- `index-agent-first.html.bak` (new)
|
|
194
|
+
- `HANDOFF-2026-04-24-session-2.md` (this file, new)
|
|
195
|
+
|
|
196
|
+
Nothing pushed yet — waiting on user to commit.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Suggested commit + push
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
rm -f ~/cyclecad/.git/index.lock ~/cyclecad/.git/HEAD.lock && \
|
|
204
|
+
cd ~/cyclecad && \
|
|
205
|
+
git add app/js/modules/pentacad.js \
|
|
206
|
+
app/js/modules/pentacad-cam.js \
|
|
207
|
+
app/js/modules/pentacad-sim.js \
|
|
208
|
+
app/js/modules/pentacad-bridge.js \
|
|
209
|
+
app/pentacad.html \
|
|
210
|
+
machines/v2-50-chb/kinematics.json \
|
|
211
|
+
mockups/cyclecad-suite-mockup.html \
|
|
212
|
+
HANDOFF-2026-04-24-session-2.md \
|
|
213
|
+
index-agent-first.html.bak && \
|
|
214
|
+
git commit -m "Pentacad extension scaffold + suite landing mockup
|
|
215
|
+
|
|
216
|
+
- app/js/modules/pentacad*.js: 4 new modules (coordinator, CAM, sim, bridge)
|
|
217
|
+
- app/pentacad.html: dedicated Pentacad UI entry point
|
|
218
|
+
- machines/v2-50-chb/: template kinematics JSON (awaiting real data from Matt)
|
|
219
|
+
- mockups/cyclecad-suite-mockup.html: animated suite landing page with 3 end-to-end journey examples
|
|
220
|
+
- HANDOFF-2026-04-24-session-2.md: session handoff" && \
|
|
221
|
+
git push origin main
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## How to resume in the next chat
|
|
227
|
+
|
|
228
|
+
1. Read `~/cyclecad/CLAUDE.md` (has been updated with suite positioning + Matt status + Pentacad extension)
|
|
229
|
+
2. Read `~/explodeview/CLAUDE.md` (not modified this session, earlier context still current)
|
|
230
|
+
3. Read `~/cyclecad/HANDOFF-2026-04-24.md` (the earlier session today — AI Render fix, GitHub Pages workflow)
|
|
231
|
+
4. Read **this file** for session-2 context
|
|
232
|
+
5. Read `~/Documents/Penta/pentacad-notes/pilot-intelligence-brief.md` if anything Matt-related comes up
|
|
233
|
+
6. Open `~/cyclecad/mockups/cyclecad-suite-mockup.html` in Chrome to see the suite landing design
|
|
234
|
+
7. Review deliverables at `~/Documents/Penta/pentacad-deliverables/`
|
|
235
|
+
8. Ask me which of tasks #10-24 to start with, or just kick off #13 + #14 + #10 as the recommended sprint
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
*File generated at end of session 2 on 2026-04-24. Next chat picks up from here.*
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Handoff — 2026-04-24 session → next chat
|
|
2
|
+
|
|
3
|
+
Drop this file into the next chat (or tell Claude to read it). Covers both cycleCAD and ExplodeView.
|
|
4
|
+
|
|
5
|
+
## Who I am
|
|
6
|
+
- SACHIN (vvlars@googlemail.com, GitHub vvlars-cmd)
|
|
7
|
+
- Two repos: `~/cyclecad` (parametric 3D CAD modeler) + `~/explodeview` (CAD viewer for STEP files)
|
|
8
|
+
- Working style: fast iteration, minimal clarifying questions, terminal-paste commands via clipboard, Safari private window for testing
|
|
9
|
+
- Full memory is in `~/cyclecad/CLAUDE.md` and `~/explodeview/CLAUDE.md` — read those first if you need historical context
|
|
10
|
+
|
|
11
|
+
## What shipped this session
|
|
12
|
+
- **ExplodeView v1.0.22 / v304** live on npm + GitHub Pages
|
|
13
|
+
- Commit `b47d6a9` (code) + `41471f3` (version bump)
|
|
14
|
+
- Rewrote `buildPrompt()` in `docs/demo/app.js` line 6595 with preservation-first logic
|
|
15
|
+
- Added "No Style" preset (`presetSuffixes.none = ''`) + button in `docs/demo/index.html`
|
|
16
|
+
- Cache bump 303 → 304, version badge updated
|
|
17
|
+
- Fixes the "Nano Banana v2 ignores the reference CAD object" problem from the 2026-04-24 diagnosis
|
|
18
|
+
- **cycleCAD@3.10.4** confirmed live on npm (from earlier in the day — gear/pulley/shaft AI Copilot templates)
|
|
19
|
+
- **cycleCAD/CLAUDE.md** updated with the new AI Engineering Analyst roadmap spec (see below)
|
|
20
|
+
|
|
21
|
+
## Top pending item — AI Engineering Analyst (the big one)
|
|
22
|
+
|
|
23
|
+
**Source of inspiration**: MecAgent demo screenshots in `/Users/sachin/Desktop/mec` (12 PNGs from 11:49–11:51). The demo runs inside Autodesk Inventor and solves a complete bolted joint problem in natural language — parses "4×M12 10.9 bolts, 18kN shear, 18kN axial, 420Nm moment, μ=0.16, preload 39kN, BCD 96mm, K_s=1.5", walks through slip/tension/combined-stress checks with equations, cites textbook pages ("Analysis and Design of Machine Elements" by Wei Jiang, Wiley p.85), verdict "safe".
|
|
24
|
+
|
|
25
|
+
**Why this matters**: cycleCAD's existing `ai-copilot.js` builds geometry (gears, bolts, flanges), `fusion-simulation.js` has stubbed FEA, `validate.designReview` returns A-F heuristic scores. None of them answer an engineering question with analytical methods and source citations. This is the biggest competitive gap vs MecAgent and the clearest proof of cycleCAD's "agent-first for manufacturing" positioning.
|
|
26
|
+
|
|
27
|
+
**Target file**: `app/js/modules/ai-engineer.js` (~800–1200 lines)
|
|
28
|
+
|
|
29
|
+
**Scope v1 — bolted joint (VDI 2230 / Shigley)**:
|
|
30
|
+
- Analytical core: pure JS math, no LLM — functions like `checkSlipResistance({z, Q_F, mu, F_shear, K_s})`, `computeMomentLoad({M, r_i})`, `vonMises({sigma, tau})`
|
|
31
|
+
- Input form: bolt grade (4.6–12.9 dropdown with proof/tensile strength table), count, thread size (M3–M36), preload, external loads (F_shear/F_axial/M + BCD), μ, safety factor target
|
|
32
|
+
- Output: stepwise LaTeX equations (KaTeX preferred over MathJax — faster load, smaller bundle), pass/fail badges per check, final verdict
|
|
33
|
+
- Reuses Fastener Wizard bolt patterns + selected-assembly context as implicit inputs
|
|
34
|
+
|
|
35
|
+
**Scope v2 — other machine elements**:
|
|
36
|
+
- Spur/helical gear pair (AGMA bending + pitting stress)
|
|
37
|
+
- Shaft fatigue (Goodman/Soderberg, stress concentration at keyways/shoulders)
|
|
38
|
+
- Rolling bearing L10 life (C/P^n relation, dynamic vs static load)
|
|
39
|
+
- Fillet weld sizing (throat stress, weld leg from applied loads)
|
|
40
|
+
|
|
41
|
+
**RAG / citations**:
|
|
42
|
+
- Let user upload their own machine-element PDF → chunk + embed locally with `@xenova/transformers` MiniLM-L6-v2 → store in IndexedDB
|
|
43
|
+
- Bundled fallback corpus: public-domain machine-element references + legally-redistributable DIN/ISO standard excerpts
|
|
44
|
+
- Every equation gets `{source: "X", page: N}` metadata → rendered as footnote with "Open Document" button (mimics MecAgent UX exactly)
|
|
45
|
+
|
|
46
|
+
**LLM layer**:
|
|
47
|
+
- Same provider stack as `ai-copilot.js` (Claude Sonnet 4.6 paid, Gemini 2.0 Flash free, Groq Llama 3.3 70B free — already wired)
|
|
48
|
+
- Tool-use pattern: LLM parses natural-language problem → emits structured params → calls analytical JS functions → gets numeric result → writes narrative around it. LLM never fabricates numbers.
|
|
49
|
+
|
|
50
|
+
**UI**:
|
|
51
|
+
- New "Engineer" tab in right panel alongside existing Properties / Chat / Guide / Parameters
|
|
52
|
+
- Input form at top, stepwise calculation log in middle, citations panel at bottom
|
|
53
|
+
|
|
54
|
+
## Other pending items (from CLAUDE.md)
|
|
55
|
+
|
|
56
|
+
### cycleCAD
|
|
57
|
+
- More AI Copilot templates in `app/js/modules/ai-copilot.js` `matchTemplate()` — mounting bracket variants, T-slot extrusions (40/40, 80/40), ball/roller bearings, bearing cutouts. Same pattern as the gear/pulley/shaft block in 3.10.4. Would ship as `3.10.5`.
|
|
58
|
+
- Polyline → geometry support in mini-executor (unblocks true involute gear teeth — today's gear template is a blank cylinder)
|
|
59
|
+
- Dynamic version badge in status bar (currently hardcoded `v0.9.0`, should fetch from package.json)
|
|
60
|
+
- Wire splash buttons (New Sketch / Open-Import / Text-to-CAD / Inventor Project) to actually trigger their actions
|
|
61
|
+
- Run `app/test-agent.html` (113 tests, 15 categories) in Chrome and fix failures
|
|
62
|
+
- Text-to-CAD with live preview
|
|
63
|
+
- Photo-to-CAD reverse engineering
|
|
64
|
+
- 138MB STEP import via server-side `server/converter.py` (safer than opencascade.js v293 path)
|
|
65
|
+
- Docker compose local test
|
|
66
|
+
|
|
67
|
+
### ExplodeView
|
|
68
|
+
- **Compositing render** for guaranteed CAD preservation: render 3D with transparent background, send only the cropped background region to Nano Banana, composite the 3D foreground over the generated background in canvas. Bypasses "generative ≠ inpainting" completely. Probably the right follow-up to v304.
|
|
69
|
+
- Run `docs/demo/killer-features-test.html` in Chrome, fix failures
|
|
70
|
+
- The `block-only-in-chrome` user report — needs repro
|
|
71
|
+
|
|
72
|
+
## Critical operational context (don't forget)
|
|
73
|
+
- **Git lock dance**: VM commits leave stale `.git/*.lock` files. Always give ONE combined command: `rm -f ~/REPO/.git/index.lock ~/REPO/.git/HEAD.lock && cd ~/REPO && git add ... && git commit -m "..." && git push origin main`
|
|
74
|
+
- **Clipboard delivery**: Commands go via `mcp__computer-use__write_clipboard` → user pastes in Terminal. Must switch OFF Terminal (make Chrome or other app frontmost) before writing — Terminal is tier-"click" and blocks clipboard writes when it's frontmost.
|
|
75
|
+
- **Egress allowlist**: `explodeview.com` and `cyclecad.com` are NOT on the allowlist. Use `npm registry` (allowed) to verify version bumps. For live-site verification, either ask user to add domain to Settings → Capabilities, or use the Claude-in-Chrome MCP.
|
|
76
|
+
- **Deferred tools**: All tools show as names in the prompt but schemas are loaded on demand via ToolSearch. Load `computer-use` in bulk: `{query: "computer-use", max_results: 30}`. Load `chrome`: `{query: "chrome", max_results: 20}`.
|
|
77
|
+
- **GitHub Pages concurrent-deploy fix** shipped 2026-04-24 in `.github/workflows/pages.yml` with `concurrency: group: pages, cancel-in-progress: true`. If Pages fails with "deployment in progress" again, that's the first check.
|
|
78
|
+
|
|
79
|
+
## Current npm versions
|
|
80
|
+
- cyclecad: **3.10.4** (next bump should be 3.10.5 if AI Copilot templates added, or 3.11.0 if AI Engineering Analyst ships)
|
|
81
|
+
- explodeview: **1.0.22**
|
|
82
|
+
|
|
83
|
+
## Latest commits
|
|
84
|
+
- ExplodeView: `41471f3` v1.0.22 tag, `b47d6a9` v304 code
|
|
85
|
+
- cycleCAD: HEAD has CLAUDE.md modified locally (untracked pentacad/mockups/machines files present — leave alone unless asked)
|
|
86
|
+
|
|
87
|
+
## How to resume
|
|
88
|
+
1. Read `~/cyclecad/CLAUDE.md` and `~/explodeview/CLAUDE.md` for full history
|
|
89
|
+
2. If continuing AI Engineering Analyst: start with `app/js/modules/ai-engineer.js` skeleton — define the analytical functions for bolted joint first (pure math, no LLM), unit-test them against MecAgent's numbers from the screenshots (F_friction = 24960 N, F_max_tensile = 6687.5 N, σ_vm = 558 MPa), THEN wire in KaTeX rendering, THEN LLM layer, THEN RAG
|
|
90
|
+
3. If continuing something else: ask me which of the pending items to prioritize
|
package/app/index.html
CHANGED
|
@@ -1014,6 +1014,7 @@
|
|
|
1014
1014
|
<button class="menu-item-link" data-action="tools-marketplace">Marketplace...</button>
|
|
1015
1015
|
<div class="menu-separator"></div>
|
|
1016
1016
|
<button class="menu-item-link" data-action="tools-ai-copilot">✨ AI Copilot (multi-step)</button>
|
|
1017
|
+
<button class="menu-item-link" data-action="tools-ai-engineer">🔩 AI Engineering Analyst</button>
|
|
1017
1018
|
<button class="menu-item-link" data-action="tools-text-to-cad">Text-to-CAD (AI)</button>
|
|
1018
1019
|
<button class="menu-item-link" data-action="tools-photo-to-cad">Photo-to-CAD</button>
|
|
1019
1020
|
<button class="menu-item-link" data-action="tools-dfm">Manufacturability Check</button>
|
|
@@ -1539,6 +1540,7 @@ window._dismissSplash = function(action) {
|
|
|
1539
1540
|
<!-- Killer Feature Modules -->
|
|
1540
1541
|
<script src="/app/js/agent-api.js?v=a41b98a5"></script>
|
|
1541
1542
|
<script src="/app/js/modules/ai-copilot.js?v=14e5d5d7"></script>
|
|
1543
|
+
<script src="/app/js/modules/ai-engineer.js?v=20260424v1"></script>
|
|
1542
1544
|
<script src="/app/js/modules/text-to-cad.js"></script>
|
|
1543
1545
|
<script src="/app/js/modules/photo-to-cad.js"></script>
|
|
1544
1546
|
<script src="/app/js/modules/manufacturability.js"></script>
|
|
@@ -1967,6 +1969,13 @@ window._dismissSplash = function(action) {
|
|
|
1967
1969
|
if (dbc) { dbc.innerHTML = ''; dbc.appendChild(window.CycleCAD.AICopilot.getUI()); dbc.style.maxHeight = '620px'; dbc.style.overflow = 'auto'; }
|
|
1968
1970
|
} else { showToast('AI Copilot module not loaded', 'error'); }
|
|
1969
1971
|
break;
|
|
1972
|
+
case 'tools-ai-engineer':
|
|
1973
|
+
if (window.CycleCAD && window.CycleCAD.AIEngineer) {
|
|
1974
|
+
showDialog('🔩 AI Engineering Analyst — bolted-joint analysis (VDI 2230 / Shigley)', '');
|
|
1975
|
+
const dbe = document.getElementById('dialog-body');
|
|
1976
|
+
if (dbe) { dbe.innerHTML = ''; dbe.appendChild(window.CycleCAD.AIEngineer.getUI()); dbe.style.maxHeight = '680px'; dbe.style.overflow = 'auto'; }
|
|
1977
|
+
} else { showToast('AI Engineering Analyst module not loaded', 'error'); }
|
|
1978
|
+
break;
|
|
1970
1979
|
case 'tools-text-to-cad':
|
|
1971
1980
|
if (window.CycleCAD && window.CycleCAD.TextToCAD) {
|
|
1972
1981
|
showDialog('Text-to-CAD (AI)', '');
|