Agent Zero
09948bc587
task(F8): SVG import as block - path parser (M/L/H/V/C/S/Q/T/A/Z, bezier flattening, arc endpoint-center), rect/circle convention fixes, ellipse polygon, geometry payload for library
2026-08-29 02:31:02 +02:00
Agent Zero
d311820351
task(F7): wcadlib as real zip package - jszip export-zip/import-zip endpoints with manifest/blocks/thumbs, frontend zip buttons
2026-08-29 02:25:10 +02:00
Agent Zero
2efbbf9bd2
task(F4): library providers - builtin catalogs (event/architecture/landscape 15 blocks each), user-library and global-library via LibraryProviderExtension, panel UI with existing Drop-Channel
2026-08-28 23:20:11 +02:00
Agent Zero
5d8253a22b
task(F3-frontend): save selection as block - svg thumbnail from elementToPrimitives, save button in library tree
2026-08-28 13:37:35 +02:00
Agent Zero
8b50c0a612
task(F2-frontend): library search, favorites section, star toggle, svg thumbnails, grid view
2026-08-28 13:27:57 +02:00
Agent Zero
63c8968f87
task(F1-frontend): library export/import buttons in block library tree
2026-08-28 12:25:17 +02:00
Agent Zero
626d565429
task(E6b): seat assignment via canvas selection bridge
2026-08-28 07:34:23 +02:00
Agent Zero
5eb741d2a7
task(E6-frontend): guest panel with ribbon entry and api client
2026-08-28 07:30:43 +02:00
Agent Zero
042c546ebe
task(C3fin2): snap marks and selection handles wired to canvas events
2026-08-27 18:51:27 +02:00
Agent Zero
eb8d6231c5
task(C4): use_pixi_renderer flag on by default with e2e proof
2026-08-27 12:58:36 +02:00
Agent Zero
8b1cca0324
task(C2int): integrate pixi renderer as overlay with lazy import
2026-08-27 10:02:05 +02:00
Agent Zero
69141d604a
task(A4.14): make v2 tool path the default (verified e2e without flag)
2026-08-27 08:36:30 +02:00
Agent Zero
e370552055
task(A4.13): dynamic v2 tool section in ribbon behind flag
2026-08-27 07:21:19 +02:00
Agent Zero
216bf6360a
task(A4.12): v2 history panel reading undo manager behind flag
2026-08-27 07:17:46 +02:00
Agent Zero
25e721d3d3
task(A4.11): documentService singleton + global v2 undo/redo shortcuts
2026-08-27 07:14:41 +02:00
Agent Zero
d54a67662b
task(A4.1): wire dispatcher to canvas - doc bridge, selection bridge, activeTool sync
2026-08-26 23:10:20 +02:00
Agent Zero
4a7a8f912f
task(A2): tool dispatcher behind flag
2026-08-26 21:14:46 +02:00
Leopoldadmin
c86b5e7031
fix: browser testing issues and missing UI tools
...
- Fix WebSocket URL to use ws:// for http development environments
- Make createLayer idempotent to prevent race-condition 500 under React StrictMode
- Add URL-based routing for /register so register page actually shows register form
- Add missing tool buttons to LeftSidebar: polygon, chair, extend, fillet
- Add Playwright browser test suite for exhaustive UI testing
- Update .gitignore for Playwright artifacts
Unit tests: backend 254/254, frontend 380/380
2026-07-27 01:17:18 +02:00
Leopoldadmin
be62470b53
merge: combine all features from both codebases - mobile dashboard + layer panel + notifications + shares + all fixes
2026-07-04 16:43:55 +02:00
Leopoldadmin
0606dbb501
fix: SQLite boolean binding, CSS brace, race condition, 0 npm vulns, code-splitting
2026-07-04 16:08:51 +02:00
Leopoldadmin
a4371ca3ce
fix: layer panel collapsible tree + element actions (visibility toggle, delete) + RenderEngine skips invisible elements
2026-06-27 23:59:12 +02:00
Leopoldadmin
affa6be151
feat: layer panel with element tree - shows layers + elements as children with count badges, sub-layers supported
2026-06-27 14:27:34 +02:00
Leopoldadmin
4303076ce4
feat: click-drag drawing, layer tree, settings modal, UI improvements
...
- interaction: click-drag drawing for 2-point tools (line, rect, circle, dimension, leader)
- interaction: preview rendering during drag with setPreviewElement
- interaction: handleDrawDown only sets phase=drawing on first point
- CanvasArea: sync activeLayerId to LayerManager
- CanvasArea: callback refresh useEffect prevents stale closures
- App.tsx: functional setElements updates for handleElementCreated/Deleted/Modified
- LayerPanel: tree structure with sub-layers (onReorder, onAddSubLayer)
- TreeView: drag-and-drop reordering support
- RightSidebar: onReorder, onAddSubLayer, onUpdateElement props
- PropertiesPanel: onUpdateElement prop
- SettingsModal: personal/password/language/theme/users/plugins/AI tabs
- styles.css: extensive UI styling additions
- types: updated RightSidebarProps, CanvasAreaProps, LayerPanelProps
2026-06-27 14:12:37 +02:00
Leopoldadmin
7ad0e11873
fix: element creation fails with empty layer_id (FOREIGN KEY constraint)
...
Three fixes:
1. interaction/index.ts: Add layerId to created element in confirmDraw()
2. CanvasArea.tsx: Sync layers to LayerManager via layerManagerRef
3. App.tsx: Fallback to activeLayerId in handleElementCreated if layerId missing
Root cause: LayerManager.activeLayerId was empty because layers were never
synced from React state to the interaction layer LayerManager. New elements
got layer_id="" which failed SQLite FOREIGN KEY constraint.
Also includes Yjs sync race condition fix from previous commit.
2026-06-26 20:31:50 +02:00
Leopoldadmin
7e530dd09a
fix: stale closure bug preventing canvas tools from creating elements
...
- CanvasArea: add useEffect to refresh InteractionEngine callbacks when props change
- App.tsx: handleElementCreated/Deleted/Modified now use functional setElements updates
- Root cause: CanvasArea init useEffect had empty deps, capturing stale callbacks at mount
- handleElementCreated used [...elements, el] with stale elements=[] closure
- Each new element replaced all previous ones instead of appending
- All 343 tests pass, tsc clean
2026-06-26 18:57:09 +02:00
Leopoldadmin
3bec3938d0
fix: ribbon tabs now show per-tab content; add all missing handleRibbonAction handlers
...
- RibbonBar: conditional rendering per activeTab (start/insert/format/view/tools/ki)
- App.tsx: add onNavigateBack prop for new/open navigation
- App.tsx: implement handlers for new, open, save, copy, paste, zoom-fit, zoom-100, grid, layer, measure, search, plugins, ki, ki-draw, ki-analyze
- App.tsx: implement insert-line, insert-rect, insert-circle, insert-text, insert-freehand, insert-image
- App.tsx: implement format-* placeholder actions
- App.tsx: add clipboard state for copy/paste
- All 343 tests pass, tsc clean
2026-06-26 18:49:16 +02:00
Leopoldadmin
4ec76fe406
feat: initial commit web-cad-neu with docker-compose, frontend and backend
2026-06-26 10:50:24 +02:00