import ComfyGraph from '$lib/ComfyGraph'; import { LGraphCanvas, LiteGraph, Subgraph } from '@litegraph-ts/core'; import layoutStates from './stores/layoutStates'; import { get } from 'svelte/store'; import workflowState from './stores/workflowState'; export function configureLitegraph(isMobile: boolean = false) { LiteGraph.catch_exceptions = false; // Must be enabled, otherwise subgraphs won't work (because of non-unique node/link IDs) LiteGraph.use_uuids = true; LiteGraph.search_filter_enabled = true; LiteGraph.release_link_on_empty_shows_menu = true; LiteGraph.alt_drag_do_clone_nodes = true; LiteGraph.middle_click_slot_add_default_node = true; LiteGraph.dialog_close_on_mouse_leave = false; LiteGraph.search_hide_on_mouse_leave = false; LiteGraph.graph_inputs_outputs_use_combo_widget = true; LiteGraph.search_box_refresh_interval_ms = 150; LiteGraph.CANVAS_GRID_SIZE = 32; if (isMobile) { LiteGraph.pointerevents_method = "pointer"; } Subgraph.default_lgraph_factory = () => new ComfyGraph; (window as any).LiteGraph = LiteGraph; (window as any).LGraphCanvas = LGraphCanvas; (window as any).layoutStates = layoutStates; (window as any).workflowState = workflowState; (window as any).svelteGet = get; }