- Extract analytics init to src/analytics/initAnalytics.ts - Extract level selection handler to src/core/handlers/levelSelectedHandler.ts - Extract replay handler to src/core/handlers/viewReplaysHandler.ts - Extract app initialization to src/core/appInitializer.ts - Remove unused DemoScene and demo.ts - Remove dead code: DEBUG_CONTROLLERS, webGpu, TestLevel handler - Add BabylonJS shader pre-bundling to fix Vite dev server issues - Reduce main.ts from 885 lines to 211 lines 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
71 lines
2.5 KiB
TypeScript
71 lines
2.5 KiB
TypeScript
import {defineConfig} from "vite";
|
|
import { svelte } from '@sveltejs/vite-plugin-svelte';
|
|
|
|
/** @type {import('vite').UserConfig} */
|
|
export default defineConfig({
|
|
plugins: [svelte()],
|
|
test: {},
|
|
define: {},
|
|
build: {
|
|
sourcemap: true,
|
|
rollupOptions: {
|
|
output: {
|
|
manualChunks: {
|
|
'babylon-inspector': ['@babylonjs/inspector'],
|
|
}
|
|
}
|
|
}
|
|
},
|
|
optimizeDeps: {
|
|
esbuildOptions: {
|
|
define: {
|
|
global: 'window',
|
|
}
|
|
},
|
|
// Include BabylonJS modules - force pre-bundle to prevent dynamic import issues
|
|
// Shaders must be explicitly included to avoid dynamic import failures through CloudFlare proxy
|
|
include: [
|
|
'@babylonjs/core',
|
|
// Core shaders
|
|
'@babylonjs/core/Shaders/default.vertex',
|
|
'@babylonjs/core/Shaders/default.fragment',
|
|
'@babylonjs/core/Shaders/rgbdDecode.fragment',
|
|
'@babylonjs/core/Shaders/procedural.vertex',
|
|
// PBR shaders
|
|
'@babylonjs/core/Shaders/pbr.vertex',
|
|
'@babylonjs/core/Shaders/pbr.fragment',
|
|
'@babylonjs/core/Shaders/pbrDebug.fragment',
|
|
// Particle shaders
|
|
'@babylonjs/core/Shaders/particles.vertex',
|
|
'@babylonjs/core/Shaders/particles.fragment',
|
|
'@babylonjs/core/Shaders/gpuRenderParticles.vertex',
|
|
'@babylonjs/core/Shaders/gpuRenderParticles.fragment',
|
|
// Other common shaders
|
|
'@babylonjs/core/Shaders/standard.fragment',
|
|
'@babylonjs/core/Shaders/postprocess.vertex',
|
|
'@babylonjs/core/Shaders/pass.fragment',
|
|
'@babylonjs/core/Shaders/shadowMap.vertex',
|
|
'@babylonjs/core/Shaders/shadowMap.fragment',
|
|
'@babylonjs/core/Shaders/depth.vertex',
|
|
'@babylonjs/core/Shaders/depth.fragment',
|
|
'@babylonjs/loaders',
|
|
'@babylonjs/havok',
|
|
'@babylonjs/materials',
|
|
'@babylonjs/procedural-textures'
|
|
],
|
|
// Prevent cache invalidation issues with CloudFlare proxy
|
|
force: false,
|
|
// Exclude patterns that trigger unnecessary re-optimization
|
|
exclude: []
|
|
},
|
|
server: {
|
|
port: 3000,
|
|
allowedHosts: true
|
|
},
|
|
// appType: 'spa' is default - Vite automatically serves index.html for SPA routes
|
|
preview: {
|
|
port: 3000,
|
|
},
|
|
base: "/"
|
|
|
|
}) |