feat: Phases 3-5 — Polish, advanced features, web UI, deployment#1
Open
swimbo wants to merge 7 commits into
Open
feat: Phases 3-5 — Polish, advanced features, web UI, deployment#1swimbo wants to merge 7 commits into
swimbo wants to merge 7 commits into
Conversation
Break the monolithic Phase 4 plan into 6 focused implementation plans: - 4a: Web UI (React + FastAPI) - 4b: Voice Input (Whisper) - 4c: Image Import & Interpretation - 4d: Parametric Templates - 4e: FeatureScript Generation - 4f: Design Suggestions & Optimization Each plan includes architecture diagrams, implementation code, file structures, dependencies, risks, and checklists. Co-Authored-By: Claude <noreply@anthropic.com>
- Assembly operations: create, insert parts, mate with 9 mate types - Export: STL, STEP, PARASOLID with binary download and file save - Terminal display: Kitty graphics, Sixel, system viewer fallback - Error hierarchy: OnshapeError with typed subclasses and ErrorHandler - Undo/rollback: delete features, rollback bar, feature history - RAG context: workflow and best-practices reference docs - Multi-turn context: ContextManager with history compression - 13 LLM tool definitions across 6 categories - GLM config updated to Z.ai Coding API (glm-4.7) - 216 tests passing, lint clean 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- 4a: FastAPI web backend with REST + WebSocket endpoints - 4b: Voice input via Whisper with CAD vocabulary corrections - 4c: Vision interpreter for image-to-CAD with build executor - 4d: Parametric templates (gears, fasteners, structural) - 4e: FeatureScript generation with RAG and validation - 4f: Design optimization analyzer with auto-fix suggestions All 315 tests passing, lint clean. 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
…nt, templates
5a: React + Vite + TypeScript + Tailwind frontend with chat panel,
state sidebar, WebSocket streaming, and API client. FastAPI serves
built frontend as static files.
5b: Integration test harness (31 tests) with skip-if-no-keys fixtures
for testing against real Onshape API. Covers documents, sketches,
features, assemblies, export, and end-to-end pipeline.
5c: Multi-stage Dockerfile (Node build + Python runtime),
docker-compose.yml, .dockerignore, health check endpoint,
and build script.
5d: 8 new parametric templates — enclosures (box, electronics case),
bearings (ball bearing, housing), springs (compression, torsion),
pipe fittings (flange, elbow). Total: 15 templates.
348 tests passing, 31 integration tests (skipped without API keys).
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Use newline separators between signature fields (was concatenation) - Lowercase the entire signature string per Onshape spec - Fix Authorization header format: On <key>:HmacSHA256:<sig> - Generate 25-char alphanumeric nonce (was short timestamp) - Pass only path to sign_request, not path+query Also fix test_config to use _env_file=None so it doesn't read real .env file during test. 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
Old openai 1.6.1 was incompatible with newer httpx (removed proxies kwarg). Require >=1.50 to avoid the TypeError. 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
- Add multi-angle verification system capturing 14 views (6 orthographic + 8 isometric corners) for comprehensive CAD model inspection - Fix critical bug where sketch tools in GEOMETRY_TOOLS caused verification to undo valid sketches (sketches are 2D and produce no visible 3D change) - Add coffee mug example and hollow object rules to planning prompt so the LLM generates complete plans with subtract/add extrude operations - Add chat_with_images() to GLM client for multi-image vision requests - Update get_shaded_view to accept named strings and 3x4 view matrices - Add planning, orchestration, and verification modules with full test coverage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Full implementation of Phases 3 through 5 of the Onshape natural language CAD interface:
Phase 3: Polish & Advanced Features
Phase 4: Nice-to-Have Features (4a-4f)
Phase 5: Production Readiness
Bug Fixes
openaito >=1.50 (httpx compatibility)ui/andtools/packagesTesting
How to Run
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com