Skip to content

Commit 316e05b

Browse files
[refactor] Reorganize Vue nodes to domain-driven design architecture (#5085)
* refactor: Reorganize Vue nodes system to domain-driven design architecture Move Vue nodes code from scattered technical layers to domain-focused structure: - Widget system → src/renderer/extensions/vueNodes/widgets/ - LOD optimization → src/renderer/extensions/vueNodes/lod/ - Layout logic → src/renderer/extensions/vueNodes/layout/ - Node components → src/renderer/extensions/vueNodes/components/ - Test structure mirrors source organization Benefits: - Clear domain boundaries instead of technical layers - Everything Vue nodes related in renderer domain (not workbench) - camelCase naming (vueNodes vs vue-nodes) - Tests co-located with source domains - All imports updated to new DDD structure * fix: Skip spatial index performance test on CI to avoid flaky timing Performance tests are inherently flaky on CI due to variable system performance. This test should only run locally like the other performance tests.
1 parent 0e236b8 commit 316e05b

File tree

68 files changed

+3767
-89
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+3767
-89
lines changed

src/composables/graph/useWidgetRenderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import {
66
WidgetType,
77
widgetTypeToComponent
8-
} from '@/components/graph/vueWidgets/widgetRegistry'
8+
} from '@/renderer/extensions/vueNodes/widgets/registry/widgetRegistry'
99

1010
/**
1111
* Static mapping of LiteGraph widget types to Vue widget component names

src/composables/node/useNodeCanvasImagePreview.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { useImagePreviewWidget } from '@/composables/widgets/useImagePreviewWidget'
21
import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
2+
import { useImagePreviewWidget } from '@/renderer/extensions/vueNodes/widgets/composables/useImagePreviewWidget'
33

44
const CANVAS_IMAGE_PREVIEW_WIDGET = '$$canvas-image-preview'
55

src/composables/node/useNodeChatHistory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type ChatHistoryWidget from '@/components/graph/widgets/ChatHistoryWidget.vue'
2-
import { useChatHistoryWidget } from '@/composables/widgets/useChatHistoryWidget'
32
import { LGraphNode } from '@/lib/litegraph/src/litegraph'
3+
import { useChatHistoryWidget } from '@/renderer/extensions/vueNodes/widgets/composables/useChatHistoryWidget'
44

55
const CHAT_HISTORY_WIDGET_NAME = '$$node-chat-history'
66

src/composables/node/useNodeProgressText.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { useTextPreviewWidget } from '@/composables/widgets/useProgressTextWidget'
21
import { LGraphNode } from '@/lib/litegraph/src/litegraph'
2+
import { useTextPreviewWidget } from '@/renderer/extensions/vueNodes/widgets/composables/useProgressTextWidget'
33

44
const TEXT_PREVIEW_WIDGET_NAME = '$$node-text-preview'
55

File renamed without changes.

src/components/graph/vueNodes/LGraphNode.vue renamed to src/renderer/extensions/vueNodes/components/LGraphNode.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@ import { computed, onErrorCaptured, ref, toRef, watch } from 'vue'
9191
9292
// Import the VueNodeData type
9393
import type { VueNodeData } from '@/composables/graph/useGraphNodeManager'
94-
import { LODLevel, useLOD } from '@/composables/graph/useLOD'
9594
import { useErrorHandling } from '@/composables/useErrorHandling'
96-
import { useNodeLayout } from '@/renderer/extensions/vue-nodes/composables/useNodeLayout'
95+
import { LiteGraph } from '@/lib/litegraph/src/litegraph'
96+
import { useNodeLayout } from '@/renderer/extensions/vueNodes/layout/useNodeLayout'
97+
import { LODLevel, useLOD } from '@/renderer/extensions/vueNodes/lod/useLOD'
9798
98-
import { LiteGraph } from '../../../lib/litegraph/src/litegraph'
9999
import NodeContent from './NodeContent.vue'
100100
import NodeHeader from './NodeHeader.vue'
101101
import NodeSlots from './NodeSlots.vue'

src/components/graph/vueNodes/NodeContent.vue renamed to src/renderer/extensions/vueNodes/components/NodeContent.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@
1616
import { onErrorCaptured, ref } from 'vue'
1717
1818
import type { VueNodeData } from '@/composables/graph/useGraphNodeManager'
19-
import type { LODLevel } from '@/composables/graph/useLOD'
2019
import { useErrorHandling } from '@/composables/useErrorHandling'
21-
22-
import type { LGraphNode } from '../../../lib/litegraph/src/litegraph'
20+
import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
21+
import type { LODLevel } from '@/renderer/extensions/vueNodes/lod/useLOD'
2322
2423
interface NodeContentProps {
2524
node?: LGraphNode // For backwards compatibility

src/components/graph/vueNodes/NodeHeader.vue renamed to src/renderer/extensions/vueNodes/components/NodeHeader.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,9 @@ import { computed, onErrorCaptured, ref, watch } from 'vue'
4545
4646
import EditableText from '@/components/common/EditableText.vue'
4747
import type { VueNodeData } from '@/composables/graph/useGraphNodeManager'
48-
import type { LODLevel } from '@/composables/graph/useLOD'
4948
import { useErrorHandling } from '@/composables/useErrorHandling'
50-
51-
import type { LGraphNode } from '../../../lib/litegraph/src/litegraph'
49+
import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
50+
import type { LODLevel } from '@/renderer/extensions/vueNodes/lod/useLOD'
5251
5352
interface NodeHeaderProps {
5453
node?: LGraphNode // For backwards compatibility

src/components/graph/vueNodes/NodeSlots.vue renamed to src/renderer/extensions/vueNodes/components/NodeSlots.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,11 @@ import { computed, onErrorCaptured, onUnmounted, ref } from 'vue'
3535
3636
import { useEventForwarding } from '@/composables/graph/useEventForwarding'
3737
import type { VueNodeData } from '@/composables/graph/useGraphNodeManager'
38-
import type { LODLevel } from '@/composables/graph/useLOD'
3938
import { useErrorHandling } from '@/composables/useErrorHandling'
39+
import type { INodeSlot, LGraphNode } from '@/lib/litegraph/src/litegraph'
40+
import type { LODLevel } from '@/renderer/extensions/vueNodes/lod/useLOD'
4041
import { isSlotObject } from '@/utils/typeGuardUtil'
4142
42-
import type {
43-
INodeSlot,
44-
LGraphNode
45-
} from '../../../lib/litegraph/src/litegraph'
4643
import InputSlot from './InputSlot.vue'
4744
import OutputSlot from './OutputSlot.vue'
4845

src/components/graph/vueNodes/NodeWidgets.vue renamed to src/renderer/extensions/vueNodes/components/NodeWidgets.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,23 +41,23 @@
4141
<script setup lang="ts">
4242
import { computed, onErrorCaptured, onUnmounted, ref } from 'vue'
4343
44-
// Import widget components directly
45-
import WidgetInputText from '@/components/graph/vueWidgets/WidgetInputText.vue'
46-
import { widgetTypeToComponent } from '@/components/graph/vueWidgets/widgetRegistry'
4744
import { useEventForwarding } from '@/composables/graph/useEventForwarding'
4845
import type {
4946
SafeWidgetData,
5047
VueNodeData
5148
} from '@/composables/graph/useGraphNodeManager'
52-
import { LODLevel } from '@/composables/graph/useLOD'
49+
import { useErrorHandling } from '@/composables/useErrorHandling'
50+
import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
51+
import { LODLevel } from '@/renderer/extensions/vueNodes/lod/useLOD'
52+
// Import widget components directly
53+
import WidgetInputText from '@/renderer/extensions/vueNodes/widgets/components/WidgetInputText.vue'
5354
import {
5455
ESSENTIAL_WIDGET_TYPES,
5556
useWidgetRenderer
56-
} from '@/composables/graph/useWidgetRenderer'
57-
import { useErrorHandling } from '@/composables/useErrorHandling'
57+
} from '@/renderer/extensions/vueNodes/widgets/composables/useWidgetRenderer'
58+
import { widgetTypeToComponent } from '@/renderer/extensions/vueNodes/widgets/registry/widgetRegistry'
5859
import type { SimplifiedWidget, WidgetValue } from '@/types/simplifiedWidget'
5960
60-
import type { LGraphNode } from '../../../lib/litegraph/src/litegraph'
6161
import InputSlot from './InputSlot.vue'
6262
6363
interface NodeWidgetsProps {

0 commit comments

Comments
 (0)