Commit Graph

3 Commits

Author SHA1 Message Date
rob a8cc90c128 feat: Add scene-based SVG editing with exact element positioning
- Use QSvgRenderer.boundsOnElement() for pixel-perfect element positioning
- Add SVGSceneManager with QGraphicsItems for selection, drag, and resize
- Auto-add IDs to elements without them to enable bounds lookup
- Fix line rendering by setting local coords before setPos()
- Scale text to fit exact renderer bounds for accurate display
- Support rect, circle, ellipse, line, text, polygon, polyline, path elements
- Add resize handles on corners when element is selected
- Sync selection between canvas and elements list

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 05:00:32 -04:00
rob 1ac0b181e1 feat: Add PyQt6 GUI with full element editing support
Major features:
- Split-view interface with code editor and live preview
- Support for PlantUML, Mermaid, and OpenSCAD formats
- Elements panel for viewing and managing diagram elements
- Add/Edit/Delete dialogs for all element types

PlantUML support:
- Parse and edit classes, interfaces, actors, components
- Add relationships with various types
- Click-to-select elements in preview

Mermaid support:
- Parse flowchart nodes with shape detection
- Edit nodes with label and shape options
- Add connections between elements
- Sequence diagram participant support

OpenSCAD support:
- Add 3D primitives (cube, sphere, cylinder) and 2D shapes
- Boolean operations (union, difference, intersection)
- Transform wrappers (translate, rotate, scale)
- Insert at cursor, end of file, or inside modules
- Detect and edit existing transforms
- 3D preview with mouse rotation controls

Technical improvements:
- In-place element replacement using source position tracking
- Format-specific parsers with position tracking
- Template system for quick diagram creation
- Syntax highlighting for all formats

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 03:06:49 -04:00
rob 6ccdd84835 Initial scaffold for artifact-editor project 2025-12-18 22:06:34 -04:00