2026-04-01 13:36:06 +08:00
|
|
|
import { defineConfig } from 'vite'
|
|
|
|
|
import react from '@vitejs/plugin-react'
|
|
|
|
|
|
|
|
|
|
export default defineConfig({
|
|
|
|
|
plugins: [react()],
|
|
|
|
|
server: {
|
|
|
|
|
port: 3000,
|
|
|
|
|
proxy: {
|
|
|
|
|
'/api': {
|
2026-04-03 22:20:52 +08:00
|
|
|
target: 'http://localhost:8000',
|
2026-04-01 13:36:06 +08:00
|
|
|
changeOrigin: true,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
feat: add 3D interactive dashboard and 2D BigScreen pages
- New /bigscreen-3d route: React Three Fiber 3D campus with buildings,
PV panels, heat pumps, meters, and sensors — all procedural geometry
- Interactive: hover highlight, click to select, camera fly-in to
device detail views (PV inverter, heat pump, meter, heat meter, sensor)
- Real-time data: 15s polling for overview, 5s for selected device
- Energy flow particles along PV→Building, Grid→Building, Building→HP paths
- HUD overlay with date/clock, bottom metrics bar, device list panel
- New /bigscreen route: 2D dashboard with energy flow diagram, charts
- New /devices route: device management page
- Vite config: optimizeDeps.force for R3F dep consistency
- Data backfill script for testing
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 22:43:48 +08:00
|
|
|
// Force consistent pre-bundling of deps that have CJS/ESM interop issues
|
|
|
|
|
optimizeDeps: {
|
|
|
|
|
include: [
|
|
|
|
|
'react',
|
|
|
|
|
'react-dom',
|
|
|
|
|
'react-dom/client',
|
|
|
|
|
'@react-three/fiber',
|
|
|
|
|
'@react-three/drei',
|
|
|
|
|
'@react-three/postprocessing',
|
|
|
|
|
'three',
|
|
|
|
|
],
|
|
|
|
|
// Ensure all deps are processed in a single pass
|
|
|
|
|
force: true,
|
|
|
|
|
},
|
2026-04-01 13:36:06 +08:00
|
|
|
})
|