diff --git a/src/components/graph/GraphCanvas.vue b/src/components/graph/GraphCanvas.vue
index 125418f3bd..68915ca106 100644
--- a/src/components/graph/GraphCanvas.vue
+++ b/src/components/graph/GraphCanvas.vue
@@ -75,6 +75,9 @@
/>
+
+
+
@@ -157,6 +160,7 @@ import { useWorkspaceStore } from '@/stores/workspaceStore'
import { isNativeWindow } from '@/utils/envUtil'
import TryVueNodeBanner from '../topbar/TryVueNodeBanner.vue'
+import SelectionRectangle from './SelectionRectangle.vue'
const emit = defineEmits<{
ready: []
diff --git a/src/components/graph/SelectionRectangle.vue b/src/components/graph/SelectionRectangle.vue
new file mode 100644
index 0000000000..512e70c06d
--- /dev/null
+++ b/src/components/graph/SelectionRectangle.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
diff --git a/src/lib/litegraph/src/LGraphCanvas.ts b/src/lib/litegraph/src/LGraphCanvas.ts
index d1d2062c94..2d68d1f280 100644
--- a/src/lib/litegraph/src/LGraphCanvas.ts
+++ b/src/lib/litegraph/src/LGraphCanvas.ts
@@ -4799,7 +4799,8 @@ export class LGraphCanvas
}
// Area-selection rectangle
- if (this.dragging_rectangle) {
+ // In Vue nodes mode, selection rectangle is rendered in DOM layer
+ if (this.dragging_rectangle && !LiteGraph.vueNodesMode) {
const { eDown, eMove } = this.pointer
ctx.strokeStyle = '#FFF'