Files
Atomizer/docs/plans/ATOMIZER_STUDIO.md

145 lines
5.8 KiB
Markdown
Raw Permalink Normal View History

# 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 draft
- `GET /intake/{id}/context/content` - Extract text from uploaded files
- Enhanced `POST /intake/{id}/finalize` with rename support
### Phase 2: Frontend Studio Shell
- `/studio` route 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
- [x] Plan documented
- [ ] Phase 1: Backend
- [ ] Phase 2: Frontend Shell
- [ ] Phase 3: AI Integration
- [ ] Phase 4: Testing & Polish