aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/generativeFill/generativeFillUtils
diff options
context:
space:
mode:
authorSophie Zhang <sophie_zhang@brown.edu>2023-08-13 17:02:58 -0400
committerSophie Zhang <sophie_zhang@brown.edu>2023-08-13 17:02:58 -0400
commit314f62bb5335e3fb3f25501823d41cf0cdc53cac (patch)
treed9f18a79eb8ea13b55e7b05d52d1da35d10ea62a /src/client/views/nodes/generativeFill/generativeFillUtils
parentd655a8770ae4d4ff3cf08c433ac9068ed975aee4 (diff)
update
Diffstat (limited to 'src/client/views/nodes/generativeFill/generativeFillUtils')
-rw-r--r--src/client/views/nodes/generativeFill/generativeFillUtils/BrushHandler.ts116
-rw-r--r--src/client/views/nodes/generativeFill/generativeFillUtils/ImageHandler.ts2
-rw-r--r--src/client/views/nodes/generativeFill/generativeFillUtils/generativeFillConstants.ts4
3 files changed, 40 insertions, 82 deletions
diff --git a/src/client/views/nodes/generativeFill/generativeFillUtils/BrushHandler.ts b/src/client/views/nodes/generativeFill/generativeFillUtils/BrushHandler.ts
index c2716e083..f84f04190 100644
--- a/src/client/views/nodes/generativeFill/generativeFillUtils/BrushHandler.ts
+++ b/src/client/views/nodes/generativeFill/generativeFillUtils/BrushHandler.ts
@@ -1,87 +1,45 @@
-import { GenerativeFillMathHelpers } from "./GenerativeFillMathHelpers";
-import { eraserColor } from "./generativeFillConstants";
-import { Point } from "./generativeFillInterfaces";
+import { GenerativeFillMathHelpers } from './GenerativeFillMathHelpers';
+import { eraserColor } from './generativeFillConstants';
+import { Point } from './generativeFillInterfaces';
export class BrushHandler {
- static brushCircle = (
- x: number,
- y: number,
- brushRadius: number,
- ctx: CanvasRenderingContext2D
- ) => {
- ctx.globalCompositeOperation = "destination-out";
- ctx.shadowColor = "#ffffffeb";
- ctx.shadowBlur = 5;
- ctx.beginPath();
- ctx.arc(x, y, brushRadius, 0, 2 * Math.PI);
- ctx.fill();
- ctx.closePath();
- };
+ static brushCircle = (x: number, y: number, brushRadius: number, ctx: CanvasRenderingContext2D) => {
+ ctx.globalCompositeOperation = 'destination-out';
+ ctx.shadowColor = '#ffffffeb';
+ ctx.shadowBlur = 5;
+ ctx.beginPath();
+ ctx.arc(x, y, brushRadius, 0, 2 * Math.PI);
+ ctx.fill();
+ ctx.closePath();
+ };
- static brushCircleOverlay = (
- x: number,
- y: number,
- brushRadius: number,
- ctx: CanvasRenderingContext2D,
- fillColor: string,
- erase: boolean
- ) => {
- ctx.globalCompositeOperation = "destination-out";
- // ctx.globalCompositeOperation = erase ? "destination-out" : "source-over";
- ctx.fillStyle = fillColor;
- ctx.shadowColor = eraserColor;
- ctx.shadowBlur = 5;
- ctx.beginPath();
- ctx.arc(x, y, brushRadius, 0, 2 * Math.PI);
- ctx.fill();
- ctx.closePath();
- };
+ static brushCircleOverlay = (x: number, y: number, brushRadius: number, ctx: CanvasRenderingContext2D, fillColor: string, erase: boolean) => {
+ ctx.globalCompositeOperation = 'destination-out';
+ // ctx.globalCompositeOperation = erase ? "destination-out" : "source-over";
+ ctx.fillStyle = fillColor;
+ ctx.shadowColor = eraserColor;
+ ctx.shadowBlur = 5;
+ ctx.beginPath();
+ ctx.arc(x, y, brushRadius, 0, 2 * Math.PI);
+ ctx.fill();
+ ctx.closePath();
+ };
- static createBrushPath = (
- startPoint: Point,
- endPoint: Point,
- brushRadius: number,
- ctx: CanvasRenderingContext2D
- ) => {
- const dist = GenerativeFillMathHelpers.distanceBetween(
- startPoint,
- endPoint
- );
+ static createBrushPath = (startPoint: Point, endPoint: Point, brushRadius: number, ctx: CanvasRenderingContext2D) => {
+ const dist = GenerativeFillMathHelpers.distanceBetween(startPoint, endPoint);
- for (let i = 0; i < dist; i += 5) {
- const s = i / dist;
- BrushHandler.brushCircle(
- startPoint.x * (1 - s) + endPoint.x * s,
- startPoint.y * (1 - s) + endPoint.y * s,
- brushRadius,
- ctx
- );
- }
- };
+ for (let i = 0; i < dist; i += 5) {
+ const s = i / dist;
+ BrushHandler.brushCircle(startPoint.x * (1 - s) + endPoint.x * s, startPoint.y * (1 - s) + endPoint.y * s, brushRadius, ctx);
+ }
+ };
- static createBrushPathOverlay = (
- startPoint: Point,
- endPoint: Point,
- brushRadius: number,
- ctx: CanvasRenderingContext2D,
- fillColor: string,
- erase: boolean
- ) => {
- const dist = GenerativeFillMathHelpers.distanceBetween(
- startPoint,
- endPoint
- );
+ static createBrushPathOverlay = (startPoint: Point, endPoint: Point, brushRadius: number, ctx: CanvasRenderingContext2D, fillColor: string, erase: boolean) => {
+ const dist = GenerativeFillMathHelpers.distanceBetween(startPoint, endPoint);
- for (let i = 0; i < dist; i += 5) {
- const s = i / dist;
- BrushHandler.brushCircleOverlay(
- startPoint.x * (1 - s) + endPoint.x * s,
- startPoint.y * (1 - s) + endPoint.y * s,
- brushRadius,
- ctx,
- fillColor,
- erase
- );
- }
- };
+ for (let i = 0; i < dist; i += 5) {
+ const s = i / dist;
+ BrushHandler.brushCircleOverlay(startPoint.x * (1 - s) + endPoint.x * s, startPoint.y * (1 - s) + endPoint.y * s, brushRadius, ctx, fillColor, erase);
+ }
+ };
}
diff --git a/src/client/views/nodes/generativeFill/generativeFillUtils/ImageHandler.ts b/src/client/views/nodes/generativeFill/generativeFillUtils/ImageHandler.ts
index 48055903c..45cf7196b 100644
--- a/src/client/views/nodes/generativeFill/generativeFillUtils/ImageHandler.ts
+++ b/src/client/views/nodes/generativeFill/generativeFillUtils/ImageHandler.ts
@@ -28,7 +28,7 @@ export class ImageUtility {
fd.append('image', imgBlob, 'image.png');
fd.append('mask', maskBlob, 'mask.png');
fd.append('prompt', prompt);
- fd.append('size', '1024x1024');
+ fd.append('size', '512x512');
fd.append('n', n ? JSON.stringify(n) : '1');
fd.append('response_format', 'b64_json');
diff --git a/src/client/views/nodes/generativeFill/generativeFillUtils/generativeFillConstants.ts b/src/client/views/nodes/generativeFill/generativeFillUtils/generativeFillConstants.ts
index 5a8d33742..412a4d238 100644
--- a/src/client/views/nodes/generativeFill/generativeFillUtils/generativeFillConstants.ts
+++ b/src/client/views/nodes/generativeFill/generativeFillUtils/generativeFillConstants.ts
@@ -1,9 +1,9 @@
// constants
-export const canvasSize = 1024;
+export const canvasSize = 512;
export const freeformRenderSize = 300;
export const offsetDistanceY = freeformRenderSize + 200;
export const offsetX = 200;
-export const newCollectionSize = 1000;
+export const newCollectionSize = 500;
export const activeColor = '#1976d2';
export const eraserColor = '#e1e9ec';