Skip to content

[FEAT] Persistent node positions: Option to retain manual layout when toggling connection types #6

Closed

Description

@fosfor15

Post-release reflection: After testing the new v0.3.0 features on larger projects, I noticed that the increased complexity of connections makes layout stability even more critical.

⚠️ Prerequisite

  • I have searched the existing issues to ensure this is not a duplicate.

Feature Proposal 🚀

Need to add a mechanism to prevent automatic layout recalculation and nodes reset on the Component Tree when the user changes visibility settings for different connection types.

Problem Statement 🤔

Currently, whenever a user toggles connections visibility settings the Component Tree graph performs a full layout reset. This causes several issues:

  • Loss of Mental Map: If a user has manually arranged nodes to better understand a specific part of the architecture, an accidental or necessary settings change destroys this "spatial context".
  • Workflow Interruption: Users have to arrange the graph from scratch after every adjustment in the settings.
  • Entropy: Instead of a controlled flow, the user faces unpredictable movement of nodes, which contradicts the core goal of the tool.

Proposed Solution ✨

Add a "Lock Layout" or "Retain Positions" toggle within the Layers & Connections settings popover.

Behavior:

  • When ON – Retain: Changing connection visibility or adding/removing external entities only adds or removes lines/nodes, while existing nodes stay in their manually assigned or current coordinates. The graph should not trigger a global shuffle and re-rendering.
  • When OFF – Reset/Auto: The current behavior remains – the graph recalculates the optimal layout for the new set of visible entities.

Activity

  1. self-assigned this
    on Mar 13, 2026
  2. added theissue type on Mar 13, 2026
  3. fosfor15 commented on Mar 16, 2026

    @fosfor15
    MemberAuthor

    Requested feature has released in v0.3.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions