Files
Atomizer/docs/plans/ATOMIZER_STUDIO.md
Anto01 a26914bbe8 feat: Add Studio UI, intake system, and extractor improvements
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>
2026-01-27 12:02:30 -05:00

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 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

  • Plan documented
  • Phase 1: Backend
  • Phase 2: Frontend Shell
  • Phase 3: AI Integration
  • Phase 4: Testing & Polish