Commit Graph

101 Commits

Author SHA1 Message Date
fade507a91 update kq4_058_organ_room to extend Scene 2026-04-04 21:06:18 -07:00
2e0b1cdfaa update kq4_057_witch_cave to extend Scene 2026-04-04 21:04:51 -07:00
887c6043b0 update kq4_056_diamond_mine to extend Scene 2026-04-04 21:03:28 -07:00
eee8f5d2de update kq4_055_seven_dwarfs_diamond_mine to extend Scene 2026-04-04 21:01:58 -07:00
6f18896de0 update kq4_054_seven_dwarfs_cottage to extend Scene 2026-04-04 21:00:22 -07:00
4847166899 update kq4_053_seven_dwarfs_bedroom to extend Scene 2026-04-04 20:58:47 -07:00
7088f5cac2 changes 2026-04-04 20:58:46 -07:00
Bryce
095dea3773 changes 2026-04-04 07:53:09 -07:00
Bryce
31210bce58 new files 2026-04-04 07:35:44 -07:00
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
6487b00655 new images 2026-03-27 08:14:33 -07:00
86a031e3f5 connections 2026-03-17 07:54:35 -07:00
3601fe46aa Fix signal callback - use lambda to ignore index parameter 2026-03-17 07:53:28 -07:00
ac12fd0873 Add debug output and disabled item check for validation 2026-03-17 07:52:07 -07:00
4e993f8e05 Fix validation bug and improve color contrast
- Fixed validation error by checking TYPE_DICTIONARY instead of is_empty()
- Removed hardcoded colors, using Godot's built-in theme colors instead
2026-03-17 07:48:24 -07:00
4954732552 Add Transition Configurator plugin for easy exit configuration
Features:
- Fuzzy search for finding destination rooms
- Lists all TransitionPieces in selected room as arrival points
- Bidirectional wiring - updates return transition automatically
- Auto-reloads destination scene in editor
- UndoRedo support for source scene changes

Files added:
- addons/transition_configurator/plugin.cfg
- addons/transition_configurator/transition_configurator.gd
- addons/transition_configurator/transition_inspector_plugin.gd
- addons/transition_configurator/config_dialog.gd
- addons/transition_configurator/fuzzy_search.gd
- addons/transition_configurator/README.md
2026-03-16 09:26:03 -07:00
31aa91fc3b removed unnecessary 2026-03-11 11:30:02 -07:00
57a1dfed5b hopefully faster load. 2026-03-11 11:05:06 -07:00
Bryce
1b8d1fb915 progress 2026-03-11 10:43:21 -07:00
30915514a8 Create rooms 053-099 with transitions
- Created 45 new room scenes from specs
- Added proper .tscn and .gd files for each room
- Wired up transitions based on spec exit information
- Connected to existing rooms (017, 022, 028, 030, 031) where applicable
- Rooms include: dwarfs areas, caves, swamp, castle, and more
2026-03-10 14:01:24 -07:00
f7e1e19403 Create room 051 (Ogres Closet) and wire to room 049
- Added kq4_051_ogres_closet scene
- East exit to room 049 (Ogre's Cottage) - bidirectional connection
- Updated room 049 to fix transition to room 051
2026-03-10 13:46:08 -07:00
527b1eba8a Create room 050 (Ogress Kitchen) and wire to room 049
- Added kq4_050_ogress_kitchen scene
- West exit to room 049 (Ogre's Cottage) - bidirectional connection
- Updated room 049 to fix transition to room 050
2026-03-10 13:44:56 -07:00
6d94d8c388 Create room 049 (Ogre's Cottage) and wire transitions
- Added kq4_049_ogres_cottage scene
- North exit to room 004 (Ogre's Cottage Exterior) - bidirectional connection
- East exit to room 048 (Ogres' Bedroom) - bidirectional connection
- South exit to room 050 (Kitchen) - room 050 doesn't exist yet, transition pending
- West exit to room 051 (Closet) - room 051 doesn't exist yet, transition pending
- Updated room 048 to fix transition to room 049
2026-03-10 13:43:33 -07:00
f4313d17ea Create room 048 (Ogres' Bedroom)
- Added kq4_048_ogres_bedroom scene
- East exit to room 049 (Upstairs Hallway) - room 049 doesn't exist yet, transition pending
- Added warning handler for unimplemented transition
2026-03-10 13:41:58 -07:00
fea208d7bf Create room 047 (Genesta's Palace Entry Hall) and wire transitions
- Added kq4_047_genestas_palace_entry_hall scene
- South exit to room 037 (Fairy Island) - bidirectional connection
- East exit to room 046 (Tower Stairway) - bidirectional connection
- Updated room 037 to add return transition to room 047
- Updated room 046 to fix transition to room 047
2026-03-10 13:40:44 -07:00
e5d3d24051 Create room 046 (Tower Stairway) and wire to room 045
- Added kq4_046_tower_stairway scene
- South exit to room 045 (Genesta's Bed Chamber) - bidirectional connection
- North exit to room 047 (Tower Chamber) - room 047 doesn't exist yet, transition pending
- Updated room 045 to add return transition to room 046
2026-03-10 13:38:38 -07:00
7fafb34f28 Create room 045 (Genesta's Bed Chamber)
- Added kq4_045_genestas_bed_chamber scene
- Exit to room 046 (Genesta's Tower) - room 046 doesn't exist yet, transition pending
- Added warning handler for unimplemented transition
2026-03-10 13:37:20 -07:00
5db5b5a5e2 Create room 044 (Inside Whale) and wire to room 031
- Added kq4_044_inside_whale scene with exit to room 031
- Updated room 031 to add transition to room 044 (bidirectional connection)
- Both transitions validated with exit checker
2026-03-10 13:31:30 -07:00
6e981e7877 Create room 043 (Desert Island) and wire to room 031
- Added kq4_043_desert_island scene with 4 exits (north, east, south, west) to room 031
- Updated room 031 to add transition to room 043 (bidirectional connection)
- All 4 exits from room 043 validated with exit checker
2026-03-10 13:29:16 -07:00