feat: offline support, performance benchmark, y-indexeddb integration
- 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)
This commit is contained in:
Generated
+20
@@ -13,6 +13,7 @@
|
||||
"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"
|
||||
},
|
||||
@@ -3097,6 +3098,25 @@
|
||||
"node": ">=0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/y-indexeddb": {
|
||||
"version": "9.0.12",
|
||||
"resolved": "https://registry.npmjs.org/y-indexeddb/-/y-indexeddb-9.0.12.tgz",
|
||||
"integrity": "sha512-9oCFRSPPzBK7/w5vOkJBaVCQZKHXB/v6SIT+WYhnJxlEC61juqG0hBrAf+y3gmSMLFLwICNH9nQ53uscuse6Hg==",
|
||||
"dependencies": {
|
||||
"lib0": "^0.2.74"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0",
|
||||
"npm": ">=8.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "GitHub Sponsors ❤",
|
||||
"url": "https://github.com/sponsors/dmonad"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"yjs": "^13.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/y-leveldb": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/y-leveldb/-/y-leveldb-0.1.2.tgz",
|
||||
|
||||
Reference in New Issue
Block a user