Major changes: - Dashboard: WebSocket-based chat with session management - Dashboard: New chat components (ChatPane, ChatInput, ModeToggle) - Dashboard: Enhanced UI with parallel coordinates chart - MCP Server: New atomizer-tools server for Claude integration - Extractors: Enhanced Zernike OPD extractor - Reports: Improved report generator New studies (configs and scripts only): - M1 Mirror: Cost reduction campaign studies - Simple Beam, Simple Bracket, UAV Arm studies Note: Large iteration data (2_iterations/, best_design_archive/) excluded via .gitignore - kept on local Gitea only. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
server: {
|
|
host: '0.0.0.0', // Bind to all interfaces (IPv4 and IPv6)
|
|
port: 3003,
|
|
strictPort: false, // Allow fallback to next available port
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://127.0.0.1:8001', // Backend port
|
|
changeOrigin: true,
|
|
secure: false,
|
|
ws: true,
|
|
}
|
|
}
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
// Use the smaller basic Plotly distribution
|
|
'plotly.js/dist/plotly': 'plotly.js-basic-dist'
|
|
}
|
|
},
|
|
build: {
|
|
rollupOptions: {
|
|
output: {
|
|
manualChunks: {
|
|
// Separate Plotly into its own chunk for better caching
|
|
plotly: ['plotly.js-basic-dist', 'react-plotly.js'],
|
|
// Separate React and core libs
|
|
vendor: ['react', 'react-dom', 'react-router-dom'],
|
|
// Recharts in its own chunk
|
|
recharts: ['recharts']
|
|
}
|
|
}
|
|
},
|
|
chunkSizeWarningLimit: 600
|
|
},
|
|
optimizeDeps: {
|
|
include: ['plotly.js-basic-dist']
|
|
}
|
|
})
|