Commit Graph

9 Commits

Author SHA1 Message Date
17da8c475e Add draggable polygon points, save notification, and fix Krita open
- Polygon points are now draggable for editing after drawing
- Allow points to be placed slightly outside image bounds (-0.1 to 1.1)
- Save button shows notification with file path
- Open in Krita shows modal with copyable path instead of blocked file:// URL
- Added instructions for dragging points after drawing
2026-03-27 17:34:00 -07:00
61c8200443 Fix ORA editor mask preview: server-side compositing with simple toggle
- Add /api/image/masked endpoint that applies mask as alpha channel
- Simplify mask preview modal: just toggle between 'With Background' and 'Masked Only'
- Remove complex CSS mask/blend mode approach
- Server returns pre-composited masked image (transparent where mask is black)
2026-03-27 17:17:19 -07:00
087ac4ca0e Fix layer visibility toggle reactivity
- Use $set() for array property updates in Alpine.js
- Change tintRed to use x-model for proper reactivity
2026-03-27 15:55:12 -07:00
efe72ff065 Fix ORA editor layer visibility and mask preview
- Layer visibility toggles now show/hide individual layer images on canvas
- Added tint red checkbox per layer for manual mask verification
- Mask preview modal uses CSS mask-image to show red overlay only on selected areas (white pixels become semi-transparent red, black pixels remain transparent)
- Added spinner icons to Open and Extract Mask buttons during long operations
2026-03-27 15:26:25 -07:00
039a7586d1 Add extensive client-side logging and improve polygon drawing
- Added console.log statements for debugging throughout the app
- Fixed canvas setup with proper logging
- Added logging to startDrawing and addPolygonPoint
- Polygon canvas click handler improved
- Backend logging added to mask extraction, polygon storage
- Mask extraction now properly loads and passes image to ComfyUI
- Polygon overlay support for ComfyUI workflow
2026-03-27 09:37:20 -07:00
e66fa4d715 Fix Alpine.js initialization by moving oraEditor function to <head>
- oraEditor function now defined in <head> before x-data directive
- Added <body> tag with x-data attribute
- Added canvas click handler using () to access Alpine instance
- Added id to imageContainer for canvas interaction
- All tests passing (16/16)
2026-03-27 09:21:56 -07:00
1a0b231a7b Fix editor.html to properly use Alpine.js with x-data
- Restored x-data, x-model, x-show, x-for, x-if directives
- All methods defined in Alpine data component
- Canvas click handler properly uses () to access Alpine store
- Open button now works with @click handler
2026-03-27 09:17:41 -07:00
59277692ef Rewrite editor.html with vanilla JS ORAEditor class
- Removed Alpine.js dependency (wasn't loading properly)
- Clean vanilla JavaScript class-based implementation
- All core functionality preserved
- Simpler, more maintainable code
2026-03-27 09:10:52 -07:00
4c050c5a0b Add frontend editor.html with Alpine.js + Tailwind UI
- File open/save functionality
- Layer list with visibility, rename, delete, reorder
- Polygon drawing tool with canvas overlay
- Mask extraction with ComfyUI integration
- Krita integration button
- Settings modal for ComfyUI URL config
2026-03-27 08:57:59 -07:00