diff --git a/package.json b/package.json
index 3c79633659..9737ff3dd0 100644
--- a/package.json
+++ b/package.json
@@ -40,11 +40,6 @@
"build-storybook": "storybook build"
},
"devDependencies": {
- "@babel/core": "^7.28.4",
- "@babel/plugin-transform-modules-commonjs": "^7.27.1",
- "@babel/plugin-transform-typescript": "^7.28.0",
- "@babel/preset-env": "^7.28.3",
- "@babel/preset-typescript": "^7.27.1",
"@eslint/js": "^9.8.0",
"@iconify-json/lucide": "^1.2.66",
"@iconify/tailwind": "^1.2.0",
@@ -69,15 +64,7 @@
"@vitejs/plugin-vue": "^5.1.4",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.0.0",
- "@vue/babel-plugin-jsx": "^1.5.0",
"@vue/test-utils": "^2.4.6",
- "babel-helper-vue-jsx-merge-props": "^2.0.3",
- "babel-plugin-module-resolver": "^5.0.2",
- "babel-plugin-syntax-jsx": "^6.18.0",
- "babel-plugin-transform-import-ignore": "^1.1.0",
- "babel-plugin-transform-vue-jsx": "^3.7.0",
- "babel-preset-env": "^1.7.0",
- "babel-preset-typescript-vue3": "^2.1.1",
"eslint": "^9.34.0",
"eslint-config-prettier": "^10.1.2",
"eslint-plugin-prettier": "^5.2.6",
diff --git a/src/renderer/core/layout/TransformPane.vue b/src/renderer/core/layout/TransformPane.vue
deleted file mode 100644
index 2f623257cf..0000000000
--- a/src/renderer/core/layout/TransformPane.vue
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/src/renderer/core/layout/slots/useDomSlotRegistration.ts b/src/renderer/core/layout/slots/useDomSlotRegistration.ts
deleted file mode 100644
index 94a1f09e59..0000000000
--- a/src/renderer/core/layout/slots/useDomSlotRegistration.ts
+++ /dev/null
@@ -1,229 +0,0 @@
-/**
- * DOM-based slot registration with performance optimization
- *
- * Measures the actual DOM position of a Vue slot connector and registers it
- * into the LayoutStore so hit-testing and link rendering use the true position.
- *
- * Performance strategy:
- * - Cache slot offset relative to node (avoids DOM reads during drag)
- * - No measurements during pan/zoom (camera transforms don't change canvas coords)
- * - Batch DOM reads via requestAnimationFrame
- * - Only remeasure on structural changes (resize, collapse, LOD)
- */
-import {
- type Ref,
- type WatchStopHandle,
- nextTick,
- onMounted,
- onUnmounted,
- ref,
- watch
-} from 'vue'
-
-import { LiteGraph } from '@/lib/litegraph/src/litegraph'
-import { layoutStore } from '@/renderer/core/layout/store/layoutStore'
-import type { Point as LayoutPoint } from '@/renderer/core/layout/types'
-
-import { getSlotKey } from './slotIdentifier'
-
-export type TransformState = {
- screenToCanvas: (p: LayoutPoint) => LayoutPoint
-}
-
-// Shared RAF queue for batching measurements
-const measureQueue = new Set<() => void>()
-let rafId: number | null = null
-// Track mounted components to prevent execution on unmounted ones
-const mountedComponents = new WeakSet