Commit Graph

22 Commits

Author SHA1 Message Date
078b3a4cdd changes 2026-04-04 06:41:02 -07:00
3fc5e9f215 Add SAM rough mask workflow with sidebar preview and tests
- Restructure SAM rough mask workflow for sidebar preview
- Add playwright tests for SAM workflow
- Add ORA files for forest path and graveyard rooms
- Update playwright config with trace on retry
2026-03-28 15:04:49 -07:00
7c9a25dd91 Restructure SAM rough mask workflow for sidebar preview
- Add roughMaskThumbnailScale state with $watch to sync with main scale slider
- Update sidebar thumbnail to use transform:scale() for consistent zoom between views
- Modify openRoughMaskInNewWindow() to create HTML page with matching scale
- Add denoise strength slider (10-100%) visible only when rough mask exists
- Backend already supports denoise_strength parameter in prepare_mask_workflow_with_start()
- Rough mask auto-clears after successful extraction
- Add Playwright tests for UI changes and API parameter acceptance
2026-03-28 10:42:27 -07:00
c94988561c ora editor 2026-03-27 23:33:04 -07:00
cdc9ca2f92 Fix duplicate modal content causing modals to show on load 2026-03-27 22:20:48 -07:00
c8932fdbf8 Add multi-mask extraction with count selector and navigation
- Add count selector (1-10) for generating multiple mask variations
- Each mask gets a unique random seed
- Add left/right arrow navigation in mask preview modal when multiple masks exist
- Batch storage system for tracking multiple concurrent extractions
- Webhook handler now uses batch_id:mask_index for routing responses
2026-03-27 21:36:20 -07:00
fb812e57bc Restructure ORA editor into modular blueprints with browse dialog
- Split app.py into route blueprints (files, layers, images, polygon, mask, krita)
- Create services layer (polygon_storage, comfyui, file_browser)
- Extract config constants to config.py
- Split templates into Jinja partials (base, components, modals)
- Add browse dialog for visual file navigation
- Add /api/browse endpoint for directory listing
2026-03-27 21:29:27 -07:00
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
0c1fb8ccca Add client logging and improve mask extraction
- Added console.log statements for debugging frontend interactions
- Fixed canvas setup with proper logging
- Added logging to polygon drawing and mask extraction
- Mask extraction now properly loads and passes base image to ComfyUI
- Polygon overlay support when using polygon hint
- Added ora_editor __init__.py for proper package imports
- Updated README with debugging instructions and improved documentation
2026-03-27 09:39:47 -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
be042c81ce Add logging and improve mask extraction
- Added logging throughout the application
- Updated mask extraction to load and pass base image to ComfyUI
- Added polygon overlay support for mask extraction
- Added urllib.parse import for URL encoding
- Better error handling and status reporting
2026-03-27 09:36:31 -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
e40f95b8d7 Add README with usage instructions
- Quick start guide
- Feature list
- Usage workflow
- API reference
- Testing commands
2026-03-27 08:59:18 -07:00
fb0b50fcd3 Fix test counters in test_app.py 2026-03-27 08:58:40 -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
c79b0b4add Add Flask application with API endpoints
- Routes for file operations, layer management, polygon drawing
- Mask extraction endpoint with ComfyUI integration
- Krita integration endpoints
- Basic API tests
2026-03-27 08:49:27 -07:00
319c2565c6 Add ora_ops module for ORA file operations
- Implements core ORA reading/writing functions
- Layer add, rename, delete, reorder, visibility operations
- Full test suite with 8 passing tests
2026-03-27 08:46:49 -07:00