Commit Graph

23 Commits

Author SHA1 Message Date
syntaxbullet
f5c610dac5 feat: implement inpainting functionality with mask handling
- Added `createMaskedPixelReplacementSource` function to handle pixel replacement using inpainting.
- Introduced `buildInpaintBundle` to prepare inpainting data including mask generation and validation.
- Created utility functions for mask operations such as `applyMaskedContentModeToRgba`, `expandRectWithinBounds`, and others for mask manipulation.
- Developed tests for inpainting preparation and mask raster utilities to ensure functionality and correctness.
- Implemented mask raster operations including inversion, feathering, blurring, and more.
2026-07-05 09:35:16 +02:00
syntaxbullet
88208ea1ad perf(document): index layer read paths 2026-07-04 15:58:38 +02:00
syntaxbullet
a030f2065a perf(renderer): draw checkerboard with shader 2026-07-04 15:43:50 +02:00
syntaxbullet
cbd4eb5e9b feat: implement brush availability hints and enhance layer rendering order 2026-07-03 23:18:48 +02:00
syntaxbullet
e8073e6146 feat: enhance bottom controls and UI components
- Updated BottomControlsIsland for improved layout and styling.
- Refactored LayersSheet to enhance usability and visual consistency.
- Modified ToolOverlay for better tool selection experience.
- Improved BrushControls with new ColorPicker and Slider components.
- Enhanced PanControls and TransformControls for better user interaction.
- Updated ZoomControls for consistent button sizes and styles.
- Introduced new styles for bottom controls in styles.ts and index.css.
- Added BottomControlColorPicker, BottomControlSelectMenu, and BottomControlSlider components for better modularity and reusability.
2026-07-03 22:28:34 +02:00
syntaxbullet
4ad0bb8b2c feat: enhance layer masking functionality and brush controls
- Refactor LayersSheet component to support mask editing state and improve layer visibility handling.
- Introduce functions to collect mask layer IDs and count display layers excluding masks.
- Update BrushControls to include mask view mode options and a Done button for exiting mask editing.
- Modify brush session handling to support brush previews when editing masks.
- Implement a new BrushPreviewRenderer for rendering brush strokes with visual feedback.
- Add document geometry utilities for transforming points and resolving layer bounds.
- Ensure proper cleanup of brush preview on pointer leave and other interactions.
2026-07-03 20:49:29 +02:00
syntaxbullet
daaa2a6667 fix(masks): show tinted mask edit overlay 2026-07-03 18:12:30 +02:00
syntaxbullet
15f3a934e0 feat(masks): add mask editing mode 2026-07-03 18:07:04 +02:00
syntaxbullet
4a21b28ed0 fix(masks): render layer masks 2026-07-03 18:00:28 +02:00
syntaxbullet
e75f8bc0a7 fix(brush): stop painting after pointer release 2026-07-03 17:43:13 +02:00
syntaxbullet
fedeaffa57 feat(layers): add layer management panel 2026-07-03 17:26:50 +02:00
syntaxbullet
ba3f253ee5 feat(renderer): enhance image rendering with asset synchronization and clipping 2026-07-03 16:34:31 +02:00
syntaxbullet
bc0fbea029 feat(renderer): render image textures 2026-07-03 16:23:38 +02:00
syntaxbullet
44295b1b2d feat(renderer): render image layer placeholders 2026-07-03 16:19:05 +02:00
syntaxbullet
a3b4a4a1b0 refactor(transform): resolve target bounds 2026-07-03 16:12:26 +02:00
syntaxbullet
03d4d4a3b9 feat(renderer): draw transform handles 2026-07-03 16:05:42 +02:00
syntaxbullet
4d77288450 feat(renderer): draw selection overlay 2026-07-03 16:04:43 +02:00
syntaxbullet
fb0c424745 refactor(renderer): extract artboard checkerboard drawing 2026-07-03 09:56:03 +02:00
syntaxbullet
3d32e8fbef feat(renderer): draw transparent artboard checkerboard 2026-07-03 09:52:24 +02:00
syntaxbullet
90897e3993 fix(renderer): derive backing size from viewport state 2026-07-03 09:41:12 +02:00
syntaxbullet
91436086a8 feat(renderer): add WebGL renderer skeleton 2026-07-03 09:36:43 +02:00
syntaxbullet
d7406e803a chore(architecture): enforce layer boundaries 2026-07-03 09:34:21 +02:00
syntaxbullet
02df52c978 feat: add core domain model foundations 2026-07-02 23:11:14 +02:00