Skip to content

[feat] Vue-based node rendering system foundation #4267

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: vue-nodes-migration
Choose a base branch
from

Conversation

christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Jun 25, 2025

Vue node components for transform-based rendering architecture.

graph TD
    A[TransformPane] --> B[LGraphNode Component]
    B --> C[NodeHeader]
    B --> D[NodeSlots]
    B --> E[NodeWidgets]
    
    D --> F[InputSlot]
    D --> G[OutputSlot]
    
    E --> H[Widget Components]
    
    style A fill:#f9f,stroke:#333,stroke-width:2px
    style B fill:#bbf,stroke:#333,stroke-width:2px
Loading

Components use CSS transforms for drag operations, avoiding reflows. LiteGraph remains the source of truth.

Next Steps

  • TransformPane implementation
  • Widget component integration
  • Performance benchmarking

┆Issue is synchronized with this Notion page by Unito

- Implementation plan for Vue-based node rendering system
- Migration strategy from canvas to Vue components
- Widget system integration documentation
- Centralized color mapping for node connection types
- Supports all ComfyUI slot types (model, clip, vae, etc.)
- Provides default fallback color
- 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)
@christian-byrne christian-byrne changed the base branch from main to vue-nodes-migration June 25, 2025 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant