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.
This commit is contained in:
@@ -151,6 +151,36 @@ const visualEditorChanges: Array<[string, (state: AppState) => AppState]> = [
|
||||
},
|
||||
}),
|
||||
],
|
||||
[
|
||||
"generation candidate preview",
|
||||
(state) => ({
|
||||
...state,
|
||||
editor: {
|
||||
...state.editor,
|
||||
generation: {
|
||||
candidates: [
|
||||
{
|
||||
id: "candidate",
|
||||
source: "data:image/png;base64,candidate",
|
||||
mimeType: "image/png",
|
||||
intrinsicSize: { w: 64, h: 64 },
|
||||
mode: "text-to-image",
|
||||
settings: state.editor.tools.generate,
|
||||
seed: 12,
|
||||
width: 64,
|
||||
height: 64,
|
||||
placement: {
|
||||
artboardId: "artboard",
|
||||
layerName: "Candidate",
|
||||
transform: { position: { x: 1, y: 2 }, scale: { x: 1, y: 1 }, rotation: 0 },
|
||||
},
|
||||
},
|
||||
],
|
||||
selectedCandidateId: "candidate",
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
[
|
||||
"active tool",
|
||||
(state) => ({
|
||||
|
||||
Reference in New Issue
Block a user