Dashboard: - Add Studio page with drag-drop model upload and Claude chat - Add intake system for study creation workflow - Improve session manager and context builder - Add intake API routes and frontend components Optimization Engine: - Add CLI module for command-line operations - Add intake module for study preprocessing - Add validation module with gate checks - Improve Zernike extractor documentation - Update spec models with better validation - Enhance solve_simulation robustness Documentation: - Add ATOMIZER_STUDIO.md planning doc - Add ATOMIZER_UX_SYSTEM.md for UX patterns - Update extractor library docs - Add study-readme-generator skill Tools: - Add test scripts for extraction validation - Add Zernike recentering test Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.8 KiB
5.8 KiB
Atomizer Studio - Technical Implementation Plan
Version: 1.0
Date: January 24, 2026
Status: In Progress
Author: Atomizer Team
1. Executive Summary
Atomizer Studio is a unified, drag-and-drop study creation environment that consolidates file management, visual configuration (Canvas), and AI assistance into a single real-time workspace. It replaces the legacy wizard-based approach with a modern "Studio" experience.
Core Principles
| Principle | Implementation |
|---|---|
| Drag & Drop First | No wizards, no forms. Drop files, see results. |
| AI-Native | Claude sees everything: files, parameters, goals. It proposes, you approve. |
| Zero Commitment | Work in "Draft Mode" until ready. Nothing is permanent until "Build". |
2. Architecture
2.1 The Draft Workflow
User Opens /studio
│
▼
POST /intake/draft ──► Creates studies/_inbox/draft_{id}/
│
▼
User Drops Files ──► Auto-Introspection ──► Parameters Discovered
│
▼
AI Reads Context ──► Proposes Configuration ──► Canvas Updates
│
▼
User Clicks BUILD ──► Finalize ──► studies/{topic}/{name}/
2.2 Interface Layout
┌───────────────────┬───────────────────────────────────────────────┬───────────────────┐
│ RESOURCES (Left) │ CANVAS (Center) │ ASSISTANT (Right) │
├───────────────────┼───────────────────────────────────────────────┼───────────────────┤
│ ▼ DROP ZONE │ │ │
│ [Drag files] │ ┌───────┐ ┌────────┐ ┌─────────┐ │ "I see you want │
│ │ │ Model ├─────►│ Solver ├─────►│ Extract │ │ to minimize │
│ ▼ MODEL FILES │ └───────┘ └────────┘ └────┬────┘ │ mass. Adding │
│ • bracket.sim │ │ │ objective..." │
│ • bracket.prt │ ┌────▼────┐ │ │
│ │ │ Objectiv│ │ [Apply Changes] │
│ ▼ PARAMETERS │ └─────────┘ │ │
│ • thickness │ │ │
│ • rib_count │ AtomizerSpec v2.0 │ │
│ │ (Draft Mode) │ │
│ ▼ CONTEXT │ │ │
│ • goals.pdf │ │ [ Chat Input... ] │
├───────────────────┼───────────────────────────────────────────────┼───────────────────┤
│ [ Reset Draft ] │ [ Validate ] [ BUILD STUDY ] │ │
└───────────────────┴───────────────────────────────────────────────┴───────────────────┘
3. Implementation Phases
Phase 1: Backend API Enhancements
POST /intake/draft- Create anonymous draftGET /intake/{id}/context/content- Extract text from uploaded files- Enhanced
POST /intake/{id}/finalizewith rename support
Phase 2: Frontend Studio Shell
/studioroute with 3-column layout- DropZone component with file categorization
- Integrated Canvas in draft mode
- Parameter discovery panel
Phase 3: AI Integration
- Context-aware chat system
- Spec modification via Claude
- Real-time canvas updates
Phase 4: Polish & Testing
- Full DevLoop testing
- Edge case handling
- UX polish and animations
4. File Structure
atomizer-dashboard/
├── frontend/src/
│ ├── pages/
│ │ └── Studio.tsx
│ ├── components/
│ │ └── studio/
│ │ ├── StudioLayout.tsx
│ │ ├── ResourcePanel.tsx
│ │ ├── StudioCanvas.tsx
│ │ ├── StudioChat.tsx
│ │ ├── DropZone.tsx
│ │ ├── ParameterList.tsx
│ │ ├── ContextFileList.tsx
│ │ └── BuildDialog.tsx
│ └── hooks/
│ └── useDraft.ts
├── backend/api/
│ └── routes/
│ └── intake.py (enhanced)
5. API Endpoints
New Endpoints
| Endpoint | Method | Description |
|---|---|---|
/intake/draft |
POST | Create anonymous draft study |
/intake/{id}/context/content |
GET | Extract text from context files |
Enhanced Endpoints
| Endpoint | Change |
|---|---|
/intake/{id}/finalize |
Added new_name parameter for rename |
6. Status
- Plan documented
- Phase 1: Backend
- Phase 2: Frontend Shell
- Phase 3: AI Integration
- Phase 4: Testing & Polish