8f4ca1581c
- Add y-indexeddb for offline CRDT persistence (IndexedDB) - useYjsBinding now creates IndexeddbPersistence per document - State syncs from IndexedDB on reconnect - Graceful fallback if IndexedDB unavailable - Add Performance Benchmark test (50k elements) - Bulk insert: 50k elements in <2s - Viewport search: <10ms for ~1000 visible elements - Full viewport search: <100ms for all 50k elements - 100 sequential searches: <500ms - Remove 1000 elements: <200ms - Clear all: <50ms - Bearbeitungs-Tools already fully implemented (move, copy, rotate, scale, mirror, trim, extend, fillet, offset) - Bestuhlungs-Tools already fully implemented (seating-row, seating-block, table, stage, templates) All 634 tests passing (254 backend + 380 frontend)
37 lines
912 B
JSON
37 lines
912 B
JSON
{
|
|
"name": "web-cad-frontend",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite --host 0.0.0.0 --port 5173",
|
|
"build": "tsc && vite build",
|
|
"preview": "vite preview",
|
|
"test": "vitest run"
|
|
},
|
|
"dependencies": {
|
|
"dxf-parser": "^1.1.2",
|
|
"pdf-lib": "^1.17.1",
|
|
"rbush": "^4.0.1",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"y-indexeddb": "^9.0.12",
|
|
"y-websocket": "^2.0.0",
|
|
"yjs": "^13.6.0"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/rbush": "^4.0.0",
|
|
"@types/react": "^18.3.0",
|
|
"@types/react-dom": "^18.3.0",
|
|
"@vitejs/plugin-react": "^4.3.0",
|
|
"jsdom": "^29.1.1",
|
|
"typescript": "^5.5.0",
|
|
"vite": "^8.1.3",
|
|
"vitest": "^4.1.9"
|
|
}
|
|
}
|