Agent Zero
d5acf76d0b
task(CAD-14): phase 4b - dynamic plugin tools section in left sidebar (all registry tools reachable, single tool location)
2026-09-16 23:12:14 +02:00
Agent Zero
2a05257ab5
task(CAD-14): phase 4a - tool options store + panel (optionsSchema-driven UI in right sidebar, dispatcher getOptions wired, registry defaults seeded) - truss options length/chordCount/angle now actually reach the tools
2026-09-16 23:05:17 +02:00
Agent Zero
1d129042d4
task(CAD-14): phase 3 - V2 select tool on v2 doc (click via bridge hitTest, shift-additive, box-select by center-in-bbox, onChange app channel via ref), bridge onChange wired
2026-09-16 22:03:15 +02:00
Agent Zero
f9c67a7d78
task(CAD-14): phase 2 - stale closure fix (onElementCreatedRef), debug expose docCount/announcedCount, overlay handles for pixi mode
2026-09-16 18:28:27 +02:00
Agent Zero
02ed6a5ff0
task(CAD-14): phase 1 - tool exclusivity, V2 dispatcher exclusive for V2 tools (was: both engines had same tool = multi elements per click), selection handles now render in pixi mode via overlay pass, E2E proof test added
2026-09-16 18:03:08 +02:00
Agent Zero
685757303f
fix(CAD-13): remove duplicate tool ribbon - drawing tools only in left sidebar (like real CAD), ribbon reduced to Start/Ansicht/KI, Stueckliste moved to Ansicht extras
2026-09-16 10:22:36 +02:00
Agent Zero
0e4f9fe160
fix(CAD-13): mirror existing DB elements into pixi renderer - cachedElements was 0 for old projects (only new V2 elements reached pixi), skipElementRendering fallback restored on pixi failure
2026-09-16 10:04:40 +02:00
Agent Zero
af9f53c61f
fix(CAD-13): double rendering - legacy canvas skips element rendering when pixi renderer is active (grid/background stay), defensive fallback if pixi fails
2026-09-16 09:55:59 +02:00
Agent Zero
c4a76fb74e
fix(CAD-12c): ribbon overflow - dynamic height + scrollable content so all tool groups visible; emoji toggle replaced with text button (Einfach/Pro)
2026-09-16 01:22:32 +02:00
Agent Zero
47c029b4b6
task(CAD-10): ribbon curation - 4 tabs (Start/Zeichnen/Ansicht/KI) statt 7, logische Werkzeug-Gruppen, Traversen+Stueckliste zusammen, Duplikate entfernt
2026-09-02 22:12:19 +02:00
Agent Zero
4398c675e4
task(CAD-9): bill of materials - buildBOM grouping by type+size with counts and total truss meters (corners count both arms), CSV export excel-friendly, dialog with table and download button
2026-08-31 22:36:21 +02:00
Agent Zero
bcb0fcefe1
task(CAD-6): background rendering fix - bgConfig was never wired to render engine (import worked but never drew), canvas area setOptions + pixi sprite implementation
2026-08-31 08:43:13 +02:00
Agent Zero
9ca86d67dd
task(D12): block attributes - BlockAttrDef type, attrDefs on definitions, instance attrValues rendering as text primitives, properties panel attribute form
2026-08-29 03:35:36 +02:00
Agent Zero
b210ccc5b8
task(H5): polygon area calculation - shoelace polygonArea, formatArea with quadratic scaling, measure-area tool, properties panel area display
2026-08-29 03:09:35 +02:00
Agent Zero
e6fdb39a86
task(H4): i18n foundation - strings.ts de/en maps, t() with key fallback, language persistence, useT hook, LayoutBar + Topbar texts switched
2026-08-29 03:05:27 +02:00
Agent Zero
8774fea773
task(H1): simple/pro mode - uiModeService with localStorage persistence, ribbon basic-tag filter, commandline pro-only, topbar toggle
2026-08-29 02:55:53 +02:00
Agent Zero
d9a0dffb05
task(G5): browser print stylesheet - @media print A4 landscape, screen-only chrome hidden, print-area fill, print service with cleanup
2026-08-29 02:52:12 +02:00
Agent Zero
bbb469e25e
task(G3): title block with attributes - frame + attributed texts (ATTDEF convention), auto-insert as layout frame block
2026-08-29 02:46:51 +02:00
Agent Zero
7feed9e9e3
task(G2): layout bar UI + viewport minimap widget, zoomPan setView, canvas layout bridge
2026-08-29 02:43:51 +02:00
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