feat(graph): 3D mode toggle — three.js + WebGL fallback

This commit is contained in:
Александр Зимин
2026-05-11 22:11:41 +00:00
parent fc9db66c7c
commit fe18befb2a
5 changed files with 687 additions and 39 deletions
+14
View File
@@ -129,6 +129,20 @@ export default defineConfig({
// Axios + парсеры
if (id.match(/node_modules\/(axios|jose|crypto-js)\//)) return 'vendor-net'
// 3D-graph (three.js + react-force-graph-3d + transitive deps).
// Изолирован в свой chunk, чтобы НЕ попасть в vendor-misc, который
// загружается eagerly. DictionaryGraph3D импортируется через
// React.lazy() — Rollup auto-defers этот chunk до первого
// дин-импорта. ~500kb gzipped (~600kb three.js + force graph
// wrappers), грузится только при переключении в 3D режим.
if (
id.match(
/node_modules\/(three|3d-force-graph|d3-force-3d|kapsule|react-kapsule|three-forcegraph|three-render-objects|react-force-graph-3d|@tweenjs)/,
)
) {
return 'vendor-graph3d'
}
// Остальное — в общий vendor (не должно быть много)
return 'vendor-misc'
},