From a041f40fb5d47c58fec6ae96f83e4365ce984879 Mon Sep 17 00:00:00 2001 From: bymyself Date: Tue, 24 Jun 2025 18:25:08 -0700 Subject: [PATCH] [feat] Implement Vue-based node rendering components - LGraphNode: Main container with transform-based positioning - NodeHeader: Collapsible title bar with dynamic coloring - NodeSlots: Input/output connection visualization - NodeWidgets: Integration with existing widget system - NodeContent: Extensibility placeholder - Error boundaries and performance optimizations (v-memo, CSS containment) --- src/components/graph/vueNodes/InputSlot.vue | 68 +++++++ src/components/graph/vueNodes/LGraphNode.vue | 168 ++++++++++++++++++ src/components/graph/vueNodes/NodeContent.vue | 33 ++++ src/components/graph/vueNodes/NodeHeader.vue | 107 +++++++++++ src/components/graph/vueNodes/NodeSlots.vue | 89 ++++++++++ src/components/graph/vueNodes/NodeWidgets.vue | 97 ++++++++++ src/components/graph/vueNodes/OutputSlot.vue | 68 +++++++ 7 files changed, 630 insertions(+) create mode 100644 src/components/graph/vueNodes/InputSlot.vue create mode 100644 src/components/graph/vueNodes/LGraphNode.vue create mode 100644 src/components/graph/vueNodes/NodeContent.vue create mode 100644 src/components/graph/vueNodes/NodeHeader.vue create mode 100644 src/components/graph/vueNodes/NodeSlots.vue create mode 100644 src/components/graph/vueNodes/NodeWidgets.vue create mode 100644 src/components/graph/vueNodes/OutputSlot.vue diff --git a/src/components/graph/vueNodes/InputSlot.vue b/src/components/graph/vueNodes/InputSlot.vue new file mode 100644 index 000000000..dffb96d7b --- /dev/null +++ b/src/components/graph/vueNodes/InputSlot.vue @@ -0,0 +1,68 @@ + + + diff --git a/src/components/graph/vueNodes/LGraphNode.vue b/src/components/graph/vueNodes/LGraphNode.vue new file mode 100644 index 000000000..a5bd3031b --- /dev/null +++ b/src/components/graph/vueNodes/LGraphNode.vue @@ -0,0 +1,168 @@ + + + diff --git a/src/components/graph/vueNodes/NodeContent.vue b/src/components/graph/vueNodes/NodeContent.vue new file mode 100644 index 000000000..e845e22a3 --- /dev/null +++ b/src/components/graph/vueNodes/NodeContent.vue @@ -0,0 +1,33 @@ + + + diff --git a/src/components/graph/vueNodes/NodeHeader.vue b/src/components/graph/vueNodes/NodeHeader.vue new file mode 100644 index 000000000..1f7e3ded4 --- /dev/null +++ b/src/components/graph/vueNodes/NodeHeader.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/components/graph/vueNodes/NodeSlots.vue b/src/components/graph/vueNodes/NodeSlots.vue new file mode 100644 index 000000000..7c72193ee --- /dev/null +++ b/src/components/graph/vueNodes/NodeSlots.vue @@ -0,0 +1,89 @@ + + + diff --git a/src/components/graph/vueNodes/NodeWidgets.vue b/src/components/graph/vueNodes/NodeWidgets.vue new file mode 100644 index 000000000..b53b5c4e9 --- /dev/null +++ b/src/components/graph/vueNodes/NodeWidgets.vue @@ -0,0 +1,97 @@ + + + diff --git a/src/components/graph/vueNodes/OutputSlot.vue b/src/components/graph/vueNodes/OutputSlot.vue new file mode 100644 index 000000000..fd16ae7c1 --- /dev/null +++ b/src/components/graph/vueNodes/OutputSlot.vue @@ -0,0 +1,68 @@ + + +