Leopoldadmin
|
8f4ca1581c
|
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)
|
2026-07-27 00:37:28 +02:00 |
|
Leopoldadmin
|
1bcfaffdd4
|
fix: replace hardcoded localhost:3001 with relative API URL + add canvas mock and integration test
- Fix frontend Network error: API_BASE now defaults to empty string (same-origin)
- Fix 3 files: api.ts, AuthContext.tsx, Dashboard.tsx
- Add Canvas 2D context mock in tests/setup.ts for jsdom
- Fix -0 vs +0 in ZoomPanController.getViewport()
- Add IntegrationWorkflow.test.ts (35 tests, full CAD workflow)
|
2026-06-26 17:48:24 +02:00 |
|