mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-04-23 03:00:31 -04:00
tidy(ui): mark canvas module attrs readonly
This commit is contained in:
@@ -22,12 +22,11 @@ const DEFAULT_CONFIG: CanvasBackgroundModuleConfig = {
|
||||
*/
|
||||
export class CanvasBackgroundModule extends CanvasModuleBase {
|
||||
readonly type = 'background';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
subscriptions = new Set<() => void>();
|
||||
config: CanvasBackgroundModuleConfig = DEFAULT_CONFIG;
|
||||
|
||||
@@ -26,12 +26,11 @@ const NO_ANCHORS: string[] = [];
|
||||
*/
|
||||
export class CanvasBboxModule extends CanvasModuleBase {
|
||||
readonly type = 'bbox';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
subscriptions: Set<() => void> = new Set();
|
||||
|
||||
|
||||
@@ -27,12 +27,11 @@ const DEFAULT_CONFIG: BrushToolPreviewConfig = {
|
||||
*/
|
||||
export class CanvasBrushToolPreview extends CanvasModuleBase {
|
||||
readonly type = 'brush_tool_preview';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasToolModule;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasToolModule;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
config: BrushToolPreviewConfig = DEFAULT_CONFIG;
|
||||
|
||||
|
||||
@@ -32,12 +32,11 @@ const DEFAULT_CONFIG: CanvasCacheModuleConfig = {
|
||||
*/
|
||||
export class CanvasCacheModule extends CanvasModuleBase {
|
||||
readonly type = 'cache';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
log: Logger;
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly log: Logger;
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
|
||||
config: CanvasCacheModuleConfig = DEFAULT_CONFIG;
|
||||
|
||||
|
||||
@@ -68,12 +68,11 @@ const DEFAULT_CONFIG: ColorPickerToolConfig = {
|
||||
*/
|
||||
export class CanvasColorPickerToolPreview extends CanvasModuleBase {
|
||||
readonly type = 'color_picker_tool_preview';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasToolModule;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasToolModule;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
config: ColorPickerToolConfig = DEFAULT_CONFIG;
|
||||
|
||||
|
||||
@@ -23,12 +23,11 @@ import { assert } from 'tsafe';
|
||||
*/
|
||||
export class CanvasCompositorModule extends CanvasModuleBase {
|
||||
readonly type = 'compositor';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
log: Logger;
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly log: Logger;
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
|
||||
constructor(manager: CanvasManager) {
|
||||
super();
|
||||
|
||||
@@ -33,12 +33,11 @@ import { assert } from 'tsafe';
|
||||
*/
|
||||
export class CanvasEntityLayerAdapter extends CanvasModuleBase {
|
||||
readonly type = 'entity_layer_adapter';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
manager: CanvasManager;
|
||||
parent: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly manager: CanvasManager;
|
||||
readonly parent: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
/**
|
||||
* The last known state of the entity.
|
||||
|
||||
@@ -23,12 +23,11 @@ import stableHash from 'stable-hash';
|
||||
|
||||
export class CanvasEntityMaskAdapter extends CanvasModuleBase {
|
||||
readonly type = 'entity_mask_adapter';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
state: CanvasInpaintMaskState | CanvasRegionalGuidanceState;
|
||||
|
||||
|
||||
@@ -62,12 +62,11 @@ type AnyObjectState = CanvasBrushLineState | CanvasEraserLineState | CanvasImage
|
||||
*/
|
||||
export class CanvasEntityRenderer extends CanvasModuleBase {
|
||||
readonly type = 'entity_renderer';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasEntityLayerAdapter | CanvasEntityMaskAdapter;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasEntityLayerAdapter | CanvasEntityMaskAdapter;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
/**
|
||||
* A set of subscriptions that should be cleaned up when the transformer is destroyed.
|
||||
|
||||
@@ -78,12 +78,11 @@ const DEFAULT_CONFIG: CanvasEntityTransformerConfig = {
|
||||
|
||||
export class CanvasEntityTransformer extends CanvasModuleBase {
|
||||
readonly type = 'entity_transformer';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasEntityLayerAdapter | CanvasEntityMaskAdapter;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasEntityLayerAdapter | CanvasEntityMaskAdapter;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
config: CanvasEntityTransformerConfig = DEFAULT_CONFIG;
|
||||
|
||||
|
||||
@@ -23,12 +23,11 @@ const DEFAULT_CONFIG: EraserToolPreviewConfig = {
|
||||
|
||||
export class CanvasEraserToolPreview extends CanvasModuleBase {
|
||||
readonly type = 'eraser_tool_preview';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasToolModule;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasToolModule;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
config: EraserToolPreviewConfig = DEFAULT_CONFIG;
|
||||
|
||||
|
||||
@@ -13,12 +13,11 @@ import { assert } from 'tsafe';
|
||||
|
||||
export class CanvasFilterModule extends CanvasModuleBase {
|
||||
readonly type = 'canvas_filter';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
imageState: CanvasImageState | null = null;
|
||||
|
||||
|
||||
@@ -28,12 +28,11 @@ export const $canvasManager = atom<CanvasManager | null>(null);
|
||||
|
||||
export class CanvasManager extends CanvasModuleBase {
|
||||
readonly type = 'manager';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
manager: CanvasManager;
|
||||
parent: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly manager: CanvasManager;
|
||||
readonly parent: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
store: AppStore;
|
||||
socket: AppSocket;
|
||||
|
||||
@@ -2,7 +2,14 @@ import type { SerializableObject } from 'common/types';
|
||||
import type { CanvasManager } from 'features/controlLayers/konva/CanvasManager';
|
||||
import type { Logger } from 'roarr';
|
||||
|
||||
/**
|
||||
* Base class for all canvas modules.
|
||||
*/
|
||||
export abstract class CanvasModuleBase {
|
||||
/**
|
||||
* The type of the module.
|
||||
*/
|
||||
abstract readonly type: string;
|
||||
/**
|
||||
* The unique identifier of the module.
|
||||
*
|
||||
@@ -15,11 +22,7 @@ export abstract class CanvasModuleBase {
|
||||
* // this.id -> "raster_layer:aS2NREsrlz"
|
||||
* ```
|
||||
*/
|
||||
abstract id: string;
|
||||
/**
|
||||
* The type of the module.
|
||||
*/
|
||||
abstract type: string;
|
||||
abstract readonly id: string;
|
||||
/**
|
||||
* The path of the module in the canvas module tree.
|
||||
*
|
||||
@@ -31,15 +34,15 @@ export abstract class CanvasModuleBase {
|
||||
* // this.path -> ["manager:3PWJWmHbou", "raster_layer:aS2NREsrlz", "entity_renderer:sfLO4j1B0n", "brush_line:Zrsu8gpZMd"]
|
||||
* ```
|
||||
*/
|
||||
abstract path: string[];
|
||||
/**
|
||||
* The canvas manager.
|
||||
*/
|
||||
abstract manager: CanvasManager;
|
||||
abstract readonly path: string[];
|
||||
/**
|
||||
* The parent module. This may be the canvas manager or another module.
|
||||
*/
|
||||
abstract parent: CanvasModuleBase;
|
||||
abstract readonly parent: CanvasModuleBase;
|
||||
/**
|
||||
* The canvas manager.
|
||||
*/
|
||||
abstract readonly manager: CanvasManager;
|
||||
/**
|
||||
* The logger for the module. The logger must be a `ROARR` logger.
|
||||
*
|
||||
@@ -50,7 +53,7 @@ export abstract class CanvasModuleBase {
|
||||
* this.log = this.manager.buildLogger(this);
|
||||
* ```
|
||||
*/
|
||||
abstract log: Logger;
|
||||
abstract readonly log: Logger;
|
||||
|
||||
/**
|
||||
* Returns a logging context object that includes relevant information about the module.
|
||||
|
||||
@@ -9,12 +9,11 @@ import type { Logger } from 'roarr';
|
||||
|
||||
export class CanvasObjectBrushLineRenderer extends CanvasModuleBase {
|
||||
readonly type = 'object_brush_line_renderer';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasEntityRenderer;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasEntityRenderer;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
state: CanvasBrushLineState;
|
||||
konva: {
|
||||
|
||||
@@ -8,12 +8,11 @@ import type { Logger } from 'roarr';
|
||||
|
||||
export class CanvasObjectEraserLineRenderer extends CanvasModuleBase {
|
||||
readonly type = 'object_eraser_line_renderer';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasEntityRenderer;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasEntityRenderer;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
state: CanvasEraserLineState;
|
||||
konva: {
|
||||
|
||||
@@ -14,12 +14,11 @@ import { getImageDTO } from 'services/api/endpoints/images';
|
||||
|
||||
export class CanvasObjectImageRenderer extends CanvasModuleBase {
|
||||
readonly type = 'object_image_renderer';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasEntityRenderer | CanvasStagingAreaModule | CanvasFilterModule;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasEntityRenderer | CanvasStagingAreaModule | CanvasFilterModule;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
state: CanvasImageState;
|
||||
konva: {
|
||||
|
||||
@@ -9,12 +9,11 @@ import type { Logger } from 'roarr';
|
||||
|
||||
export class CanvasObjectRectRenderer extends CanvasModuleBase {
|
||||
readonly type = 'object_rect_renderer';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasEntityRenderer;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasEntityRenderer;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
state: CanvasRectState;
|
||||
konva: {
|
||||
|
||||
@@ -8,12 +8,11 @@ import type { S } from 'services/api/types';
|
||||
|
||||
export class CanvasProgressImageModule extends CanvasModuleBase {
|
||||
readonly type = 'progress_image';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
progressImageId: string | null = null;
|
||||
konva: {
|
||||
|
||||
@@ -10,12 +10,11 @@ import type { Logger } from 'roarr';
|
||||
|
||||
export class CanvasRenderingModule extends CanvasModuleBase {
|
||||
readonly type = 'canvas_renderer';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
log: Logger;
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly log: Logger;
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
|
||||
state: CanvasState | null = null;
|
||||
settings: CanvasSettingsState | null = null;
|
||||
|
||||
@@ -37,12 +37,11 @@ const DEFAULT_CONFIG: CanvasStageModuleConfig = {
|
||||
|
||||
export class CanvasStageModule extends CanvasModuleBase {
|
||||
readonly type = 'stage';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
container: HTMLDivElement;
|
||||
konva: { stage: Konva.Stage };
|
||||
|
||||
@@ -9,12 +9,11 @@ import type { Logger } from 'roarr';
|
||||
|
||||
export class CanvasStagingAreaModule extends CanvasModuleBase {
|
||||
readonly type = 'staging_area';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
subscriptions: Set<() => void> = new Set();
|
||||
konva: { group: Konva.Group };
|
||||
|
||||
@@ -46,7 +46,7 @@ import { $lastCanvasProgressEvent } from 'services/events/setEventListeners';
|
||||
|
||||
type EntityStateAndAdapter =
|
||||
| {
|
||||
id: string;
|
||||
id: string;
|
||||
type: CanvasRasterLayerState['type'];
|
||||
state: CanvasRasterLayerState;
|
||||
adapter: CanvasEntityLayerAdapter;
|
||||
@@ -72,12 +72,11 @@ type EntityStateAndAdapter =
|
||||
|
||||
export class CanvasStateApiModule extends CanvasModuleBase {
|
||||
readonly type = 'state_api';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
|
||||
/**
|
||||
* The redux store.
|
||||
|
||||
@@ -38,12 +38,11 @@ const DEFAULT_CONFIG: CanvasToolModuleConfig = {
|
||||
|
||||
export class CanvasToolModule extends CanvasModuleBase {
|
||||
readonly type = 'tool';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
log: Logger;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
readonly log: Logger;
|
||||
subscriptions: Set<() => void> = new Set();
|
||||
|
||||
config: CanvasToolModuleConfig = DEFAULT_CONFIG;
|
||||
|
||||
@@ -6,12 +6,11 @@ import type { Logger } from 'roarr';
|
||||
|
||||
export class CanvasWorkerModule extends CanvasModuleBase {
|
||||
readonly type = 'worker';
|
||||
|
||||
id: string;
|
||||
path: string[];
|
||||
log: Logger;
|
||||
parent: CanvasManager;
|
||||
manager: CanvasManager;
|
||||
readonly id: string;
|
||||
readonly path: string[];
|
||||
readonly log: Logger;
|
||||
readonly parent: CanvasManager;
|
||||
readonly manager: CanvasManager;
|
||||
|
||||
worker: Worker = new Worker(new URL('./worker.ts', import.meta.url), { type: 'module', name: 'worker' });
|
||||
tasks: Map<string, { task: GetBboxTask; onComplete: (extents: Extents | null) => void }> = new Map();
|
||||
|
||||
Reference in New Issue
Block a user