Files
Atomizer/docs/07_DEVELOPMENT/backend_integration_plan.md
Anto01 e3bdb08a22 feat: Major update with validators, skills, dashboard, and docs reorganization
- Add validation framework (config, model, results, study validators)
- Add Claude Code skills (create-study, run-optimization, generate-report,
  troubleshoot, analyze-model)
- Add Atomizer Dashboard (React frontend + FastAPI backend)
- Reorganize docs into structured directories (00-09)
- Add neural surrogate modules and training infrastructure
- Add multi-objective optimization support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 19:23:58 -05:00

60 lines
2.8 KiB
Markdown

# Backend Integration Plan
## Objective
Implement the backend logic required to support the advanced dashboard features, including study creation, real-time data streaming, 3D mesh conversion, and report generation.
## 1. Enhanced WebSocket Real-Time Streaming
**File**: `atomizer-dashboard/backend/api/websocket/optimization_stream.py`
### Tasks
- [ ] Update `OptimizationFileHandler` to watch for `pareto_front` updates.
- [ ] Update `OptimizationFileHandler` to watch for `optimizer_state` updates.
- [ ] Implement broadcasting logic for new event types: `pareto_front`, `optimizer_state`.
## 2. Study Creation API
**File**: `atomizer-dashboard/backend/api/routes/optimization.py`
### Tasks
- [ ] Implement `POST /api/optimization/studies` endpoint.
- [ ] Add logic to handle multipart/form-data (config + files).
- [ ] Create study directory structure (`1_setup`, `2_results`, etc.).
- [ ] Save uploaded files (`.prt`, `.sim`, `.fem`) to `1_setup/model/`.
- [ ] Save configuration to `1_setup/optimization_config.json`.
## 3. 3D Mesh Visualization API
**File**: `atomizer-dashboard/backend/api/routes/optimization.py` & `optimization_engine/mesh_converter.py`
### Tasks
- [ ] Create `optimization_engine/mesh_converter.py` utility.
- [ ] Implement `convert_to_gltf(bdf_path, op2_path, output_path)` function.
- [ ] Use `pyNastran` to read BDF/OP2.
- [ ] Use `trimesh` (or custom logic) to export GLTF.
- [ ] Implement `POST /api/optimization/studies/{study_id}/convert-mesh` endpoint.
- [ ] Implement `GET /api/optimization/studies/{study_id}/mesh/{filename}` endpoint.
## 4. Report Generation API
**File**: `atomizer-dashboard/backend/api/routes/optimization.py` & `optimization_engine/report_generator.py`
### Tasks
- [ ] Create `optimization_engine/report_generator.py` utility.
- [ ] Implement `generate_report(study_id, format, include_llm)` function.
- [ ] Use `markdown` and `weasyprint` (optional) for rendering.
- [ ] Implement `POST /api/optimization/studies/{study_id}/generate-report` endpoint.
- [ ] Implement `GET /api/optimization/studies/{study_id}/reports/{filename}` endpoint.
## 5. Dependencies
**File**: `atomizer-dashboard/backend/requirements.txt`
### Tasks
- [ ] Add `python-multipart` (for file uploads).
- [ ] Add `pyNastran` (for mesh conversion).
- [ ] Add `trimesh` (optional, for GLTF export).
- [ ] Add `markdown` (for report generation).
- [ ] Add `weasyprint` (optional, for PDF generation).
## Execution Order
1. **Dependencies**: Update `requirements.txt` and install packages.
2. **Study Creation**: Implement the POST endpoint to enable the Configurator.
3. **WebSocket**: Enhance the stream to support advanced visualizations.
4. **3D Pipeline**: Build the mesh converter and API endpoints.
5. **Reporting**: Build the report generator and API endpoints.