Commit Graph

59 Commits

Author SHA1 Message Date
phantom 1240d25011 feat(gui): implement selection mask state and vector editing functionality
- Add `selection/state.rs` to manage selection masks, including combining masks and calculating bounds.
- Introduce `vector_edit.rs` for vector shape manipulation, handling drag sessions, and hit testing for handles.
- Create `feature_scorecard.rs` to ensure stable feature identifiers and regression gates for GUI components.
- Implement raster behavior tests in `raster_test.rs` to validate gradient application against masks.
2026-07-16 18:41:05 +03:00
phantom 026e268a10 feat(iced): make panels movable with Properties on right side 2026-07-16 13:15:00 +03:00
phantom edae18fca0 feat(iced): make toolbox expandable/collapsible to 2 columns 2026-07-16 13:08:34 +03:00
phantom baf77632dc fix(iced): improve menu fonts, fix dropdown positioning, add theme switcher 2026-07-16 13:02:43 +03:00
phantom 98afa63752 fix(iced): prevent duplicate vector layer creation by removing auto-layer creation from CanvasPointerPressed for vector tools 2026-07-16 12:39:20 +03:00
phantom 849e3728fe feat(iced): parametrize shape previews with user tool settings 2026-07-16 12:16:12 +03:00
phantom 2dc376a54b feat(iced): implement full HSV color picker for geometry and properties panels 2026-07-16 12:10:12 +03:00
phantom 6196a80ed4 feat(iced): implement shape cycling for overlapping vector shapes 2026-07-16 11:21:32 +03:00
phantom 634592e26d feat(iced): update Properties panel with layer info and vector shape properties 2026-07-16 11:14:01 +03:00
phantom 418f4adc15 feat(iced): add accurate wireframe previews for all 15 vector shapes 2026-07-16 05:36:37 +03:00
phantom d9cae597f9 feat(iced): implement shape_sync bidirectional sync 2026-07-16 05:33:05 +03:00
phantom e53d144626 feat(iced): implement full geometry panel with all vector shape controls
- Shape list with selection and delete button (B1)
- Boolean operations: Union/Intersect/Subtract/Xor (B7)
- Bounds editing with X1/Y1/X2/Y2 sliders and size display (B2)
- Fill toggle + fill color with RGB sliders (B3)
- Stroke color with RGB sliders (B4)
- Opacity and Hardness sliders (B5)
- Line Cap controls for Line shapes (B6)
2026-07-16 05:26:54 +03:00
phantom 4f05745255 feat(iced): add Apply/Cancel overlay and shape deletion 2026-07-16 05:17:52 +03:00
phantom 76da953a17 feat(iced): implement VectorEditHandle rendering and drag/resize/rotate 2026-07-16 05:05:21 +03:00
phantom f375048eac feat(iced): implement VectorSelect click-to-select with shape hit-testing 2026-07-16 04:51:30 +03:00
phantom eb01ec98e1 migrate : glm and gemini pro . no proper achievements 2026-07-15 19:44:02 +03:00
phantom 70084faf0e feat(iced): parity improvements for canvas, tools, settings and sidebar 2026-07-15 19:16:26 +03:00
phantom defcabd069 feat(iced): add all keyboard shortcuts from egui 2026-07-15 17:59:32 +03:00
phantom 13f6a62085 feat(iced): add missing dialogs (Image Size, Canvas Size, About) 2026-07-15 17:54:36 +03:00
phantom 45f222b4a0 feat(iced): add internationalization support 2026-07-15 17:48:54 +03:00
phantom 89912e2bc3 feat(iced): add ABR brush import 2026-07-15 17:42:05 +03:00
phantom 3c5a9e32a1 feat(iced): add dock profile management 2026-07-15 17:35:34 +03:00
phantom 6d51ee528a fix(iced): add viewer keyboard navigation and wire lazy loading 2026-07-15 17:27:08 +03:00
phantom a91fdf295f feat(iced): implement FastStone-like image viewer 2026-07-15 17:19:26 +03:00
phantom 3bc5966630 feat(iced): implement AI script generator with working LLM calls 2026-07-15 17:02:06 +03:00
phantom 827d9b1742 feat(iced): implement full script editor with line numbers and error highlighting 2026-07-15 16:54:42 +03:00
phantom 828ff4b6af fix(iced): register script module in main.rs 2026-07-15 16:39:33 +03:00
phantom 2646d962d2 feat(iced): port full DSL parser and executor to ICED 2026-07-15 16:37:04 +03:00
phantom ba6a7f8de2 feat(iced): implement AI chat with streaming SSE and tool execution 2026-07-15 16:31:25 +03:00
phantom f2b03265ba feat(iced): add filter instant preview 2026-07-15 16:17:43 +03:00
phantom c7082046aa feat(iced): add filter parameter panels for all 25+ filters
- Create filter_params.rs with per-filter parameter editing UI
- Support all FilterType variants: blur, sharpen, pixelate, distort,
  stylize, color/light adjustments, dehaze, noise pattern
- Float/int sliders with labels and numeric display
- Toggle buttons for boolean params and mode selectors
- Integrate parameter panel into filters.rs below the filter list
- Update dock/view.rs to pass filter_params to the filters panel
2026-07-15 16:11:27 +03:00
phantom 4f04fbda11 fix(iced): clear selection handle on deselect and Escape
- Deselect handler now clears selection_transform and transform_drag_handle
- Escape key (MenuClose) now cancels active transform before closing menus
- Ensures selection handles are properly cleaned up when deselecting
2026-07-15 15:17:25 +03:00
phantom 1fd0c5291a feat(iced): add marching ants animation for selection
- Added marching_ants_offset to HcieIcedApp for animation state
- Added selection_bounds field to IcedDocument for persistent selection display
- Updated OverlayProgram to draw animated marching ants (black + white dashed lines)
- Added timer subscription for continuous animation when selection is active
- Updated SelectAll/Deselect handlers to properly manage selection state
- Selection now remains visible after creation with animated border
2026-07-15 04:11:48 +03:00
phantom 513f4cdb9b docs(iced): add documentation for selection features 2026-07-15 03:36:54 +03:00
phantom 35cfcb1ddd test(iced): add selection feature tests 2026-07-15 03:34:13 +03:00
phantom 12ccbf2688 feat(iced): add keyboard shortcuts for selection operations 2026-07-15 03:31:13 +03:00
phantom 611a6655da feat(iced): implement selection menu operations
- Add Inverse selection (Shift+Ctrl+I) with engine.invert_selection()
- Add Shrink, Feather, Border, Smooth menu items with parameter dialogs
- Implement selection_border() and selection_smooth() in engine API
- Implement border_mask() and smooth_mask() in hcie-selection crate
- Update SelectionOpApply handler for all selection operations
2026-07-15 03:26:07 +03:00
phantom 017f6f3dd3 feat(iced): fix crop tool with proper handles, keyboard, and mouse events
- Add CropDragStart, CropDragMove, CropDragEnd, CropConfirm, CropCancel messages
- Implement crop overlay with 8 handles and rule-of-thirds grid
- Wire Enter key to confirm crop and Escape to cancel crop
- Wire mouse events for crop drag operations
- Fix CropState per-document isolation
- Add darkened area outside crop for visual clarity
2026-07-15 03:21:46 +03:00
phantom 80e0637271 feat(iced): implement selection-aware copy/paste 2026-07-15 03:15:20 +03:00
phantom f232615991 feat(iced): implement transform drag messages and handlers 2026-07-15 03:11:45 +03:00
phantom 56bbcdf356 feat(iced): add transform handle hit-testing 2026-07-15 03:09:03 +03:00
phantom a8c1772807 feat(iced): draw transform handles in selection overlay 2026-07-15 03:07:33 +03:00
phantom 7bff36d006 fix: add selection_mask and selection_bounds fields to IcedDocument
These fields are required by the spec (section S2) but were missed during
initial implementation. They support selection mask alpha channel data
and selection bounding box coordinates.
2026-07-15 03:04:50 +03:00
phantom f30858c65d feat(iced): add selection state types for transform, crop 2026-07-15 03:01:25 +03:00
phantom 4dccf18743 Implement Photopea theme and tool settings panel
- Added Photopea theme implementation report and design specifications.
- Created tool options and settings panels to match Photopea's layout.
- Implemented settings persistence to save and load user preferences.
- Updated toolbar to include SVG icons and tool options in a single row.
- Enhanced tool settings with specific parameters for each tool type.
- Added functionality for resetting tool settings to defaults.
2026-07-14 14:14:10 +03:00
phantom 58599bf8f9 feat: Enhance Bevel & Emboss effect with contour support and algorithm improvements
- Implemented contour lookup functionality for Bevel & Emboss effect to allow for custom contour curves.
- Added contour parameter to LayerStyle and updated related structures and functions.
- Improved emboss algorithm by fixing height field calculations and ensuring proper handling of outside pixels.
- Introduced tilt component for 3D emboss effect, enhancing visual depth.
- Optimized MAE grid search parameters for better performance and accuracy.
- Expanded Iced GUI panel for Bevel & Emboss to include contour selection and additional styling options.
- Updated example scripts to reflect changes in the API and new features.
2026-07-14 00:36:09 +03:00
phantom 5e03065165 bevel and emboss geliştirme 2026-07-13 20:33:39 +03:00
phantom 2284a7d81f gemini feat: optimize drawing performance by caching layer styles during strokes and improve UI/UX for layer styles and menus, improved drop shadow 2026-07-13 14:37:22 +03:00
phantom 356fac571d mimo 2026-07-13 06:40:14 +03:00
phantom a70bedd6bb feat: initialize window ID on startup and batch keyboard subscription with additional event handling 2026-07-12 03:59:24 +03:00