diff --git a/ComfyUI_vibe/src/components.d.ts b/ComfyUI_vibe/src/components.d.ts
index 22181b20c..bd3c9d69a 100644
--- a/ComfyUI_vibe/src/components.d.ts
+++ b/ComfyUI_vibe/src/components.d.ts
@@ -21,6 +21,17 @@ declare module 'vue' {
LibraryNodesSection: typeof import('./components/v1/sidebar/LibraryNodesSection.vue')['default']
LibrarySidebar: typeof import('./components/v2/canvas/LibrarySidebar.vue')['default']
LibraryWorkflowsSection: typeof import('./components/v1/sidebar/LibraryWorkflowsSection.vue')['default']
+ LinearCreationPanel: typeof import('./components/linear/LinearCreationPanel.vue')['default']
+ LinearHistoryPanel: typeof import('./components/linear/LinearHistoryPanel.vue')['default']
+ LinearIconSidebar: typeof import('./components/linear/LinearIconSidebar.vue')['default']
+ LinearInputPanel: typeof import('./components/linear/LinearInputPanel.vue')['default']
+ LinearOutputGallery: typeof import('./components/linear/LinearOutputGallery.vue')['default']
+ LinearParameterPanel: typeof import('./components/linear/LinearParameterPanel.vue')['default']
+ LinearStepCard: typeof import('./components/linear/LinearStepCard.vue')['default']
+ LinearTemplateCard: typeof import('./components/linear/LinearTemplateCard.vue')['default']
+ LinearTemplateSelector: typeof import('./components/linear/LinearTemplateSelector.vue')['default']
+ LinearWorkflowSidebar: typeof import('./components/linear/LinearWorkflowSidebar.vue')['default']
+ LinearWorkspace: typeof import('./components/linear/LinearWorkspace.vue')['default']
ModelsTab: typeof import('./components/v2/workspace/ModelsTab.vue')['default']
NodeHeader: typeof import('./components/v2/nodes/NodeHeader.vue')['default']
NodePropertiesPanel: typeof import('./components/v2/canvas/NodePropertiesPanel.vue')['default']
diff --git a/ComfyUI_vibe/src/components/linear/LinearCreationPanel.vue b/ComfyUI_vibe/src/components/linear/LinearCreationPanel.vue
new file mode 100644
index 000000000..38efc64ae
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearCreationPanel.vue
@@ -0,0 +1,469 @@
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearHistoryPanel.vue b/ComfyUI_vibe/src/components/linear/LinearHistoryPanel.vue
new file mode 100644
index 000000000..e4e7b7a06
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearHistoryPanel.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Step {{ item.currentStep }}/{{ item.totalSteps }}
+
+
+
+
+
+
+
+ {{ Math.round(item.progress) }}%
+
+
+
+
+
+
+
+
+
Queue is empty
+
+ Generated images will appear here
+
+
+
+
+
+
+
+
+ {{ outputs.length }} generations
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
+
+ {{ formatTime(output.createdAt) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
No history yet
+
+ Your creations will appear here
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearIconSidebar.vue b/ComfyUI_vibe/src/components/linear/LinearIconSidebar.vue
new file mode 100644
index 000000000..1ae7a0cfc
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearIconSidebar.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearInputPanel.vue b/ComfyUI_vibe/src/components/linear/LinearInputPanel.vue
new file mode 100644
index 000000000..e7e0aae67
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearInputPanel.vue
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
+
Select a workflow to get started
+
+
+
+
+
+
+
+
+ {{ workflow.templateName }}
+
+
+ {{ workflow.steps.length }} steps
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.stepName }}
+
+
+
+
+
+
+
+
+
+
+
+ No advanced settings available
+
+
+
+
+
+
+
+
+
+ Generating...
+ {{ Math.round(store.executionProgress) }}%
+
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearOutputGallery.vue b/ComfyUI_vibe/src/components/linear/LinearOutputGallery.vue
new file mode 100644
index 000000000..d8f2203cb
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearOutputGallery.vue
@@ -0,0 +1,428 @@
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+ {{ formatDate(output.createdAt) }}
+
+
+
+
+
+
+
+
+
+
Your generated images will appear here
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+ Filename
+ {{ selectedOutput.filename }}
+
+
+ Prompt
+ {{ selectedOutput.metadata.prompt }}
+
+
+
+ Seed
+ {{ selectedOutput.metadata.seed }}
+
+
+ Steps
+ {{ selectedOutput.metadata.steps }}
+
+
+ CFG
+ {{ selectedOutput.metadata.cfg }}
+
+
+ Sampler
+ {{ selectedOutput.metadata.sampler }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearParameterPanel.vue b/ComfyUI_vibe/src/components/linear/LinearParameterPanel.vue
new file mode 100644
index 000000000..ff1dc6262
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearParameterPanel.vue
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearStepCard.vue b/ComfyUI_vibe/src/components/linear/LinearStepCard.vue
new file mode 100644
index 000000000..745202c6f
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearStepCard.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearTemplateCard.vue b/ComfyUI_vibe/src/components/linear/LinearTemplateCard.vue
new file mode 100644
index 000000000..f7d69360b
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearTemplateCard.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearTemplateSelector.vue b/ComfyUI_vibe/src/components/linear/LinearTemplateSelector.vue
new file mode 100644
index 000000000..9f2c9bcaa
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearTemplateSelector.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ All Workflows
+
+
+
+ {{ TEMPLATE_CATEGORIES.find(c => c.id === selectedCategory)?.name }}
+
+
+
+ Search Results
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearWorkflowSidebar.vue b/ComfyUI_vibe/src/components/linear/LinearWorkflowSidebar.vue
new file mode 100644
index 000000000..970410fe0
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearWorkflowSidebar.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/LinearWorkspace.vue b/ComfyUI_vibe/src/components/linear/LinearWorkspace.vue
new file mode 100644
index 000000000..d05dc209c
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/LinearWorkspace.vue
@@ -0,0 +1,460 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Select a step to configure its parameters
+
+
+
+
+
+
+
+
+
+
diff --git a/ComfyUI_vibe/src/components/linear/index.ts b/ComfyUI_vibe/src/components/linear/index.ts
new file mode 100644
index 000000000..3ebd5c589
--- /dev/null
+++ b/ComfyUI_vibe/src/components/linear/index.ts
@@ -0,0 +1,16 @@
+// Linear Mode Components - Runway-style 2-Column Layout
+export { default as LinearIconSidebar } from './LinearIconSidebar.vue'
+export { default as LinearCreationPanel } from './LinearCreationPanel.vue'
+export { default as LinearHistoryPanel } from './LinearHistoryPanel.vue'
+
+// Previous layout components (may be deprecated)
+export { default as LinearWorkflowSidebar } from './LinearWorkflowSidebar.vue'
+export { default as LinearInputPanel } from './LinearInputPanel.vue'
+
+// Legacy components (deprecated)
+export { default as LinearTemplateCard } from './LinearTemplateCard.vue'
+export { default as LinearTemplateSelector } from './LinearTemplateSelector.vue'
+export { default as LinearStepCard } from './LinearStepCard.vue'
+export { default as LinearParameterPanel } from './LinearParameterPanel.vue'
+export { default as LinearOutputGallery } from './LinearOutputGallery.vue'
+export { default as LinearWorkspace } from './LinearWorkspace.vue'
diff --git a/ComfyUI_vibe/src/components/v2/canvas/CanvasBottomBar.vue b/ComfyUI_vibe/src/components/v2/canvas/CanvasBottomBar.vue
index 1cadb4622..be8f10ae6 100644
--- a/ComfyUI_vibe/src/components/v2/canvas/CanvasBottomBar.vue
+++ b/ComfyUI_vibe/src/components/v2/canvas/CanvasBottomBar.vue
@@ -452,6 +452,8 @@ const mockRecents = [
diff --git a/ComfyUI_vibe/src/views/v2/HomeView.vue b/ComfyUI_vibe/src/views/v2/HomeView.vue
index c16f5524c..79880a408 100644
--- a/ComfyUI_vibe/src/views/v2/HomeView.vue
+++ b/ComfyUI_vibe/src/views/v2/HomeView.vue
@@ -56,6 +56,16 @@ async function connectToServer() {
: connectToServer()
"
/>
+
+
+
+ Simplified Runway/Midjourney-style interface
+