Skip to content

Add some plans (no app logic changed) - #548

Merged
SavenkovIgor merged 3 commits into
mainfrom
add-position-logic-isolation-plan
Jul 9, 2026
Merged

Add some plans (no app logic changed)#548
SavenkovIgor merged 3 commits into
mainfrom
add-position-logic-isolation-plan

Conversation

@SavenkovIgor

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings July 9, 2026 15:21
@SavenkovIgor
SavenkovIgor enabled auto-merge (squash) July 9, 2026 15:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds two architecture/implementation planning documents under docs/plan/, outlining (1) a unified multi-group graph with per-group visibility filtering and (2) a longer-term refactor to split logical layout (C++) from visual geometry/animation (QML). This fits the codebase by documenting future work in the GroupsManager/MainScene/model/QML layers without changing runtime behavior.

Changes:

  • Added a step-by-step plan for merging all groups into one graph and introducing group visibility filters (model + QML UI).
  • Added a phased migration plan to move pixel layout responsibility from C++ (TermGroup) into QML while keeping logical topology in C++.
  • Documented target files/classes and suggested incremental verification points.

Testing:

  • Not run (docs-only change).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
docs/plan/multi-group-filter.md Plan for unified graph + group visibility filtering architecture and UI.
docs/plan/logical-visual-split.md Plan for separating logical layout roles from pixel geometry/animation, with phased migration.

Comment on lines +122 to +127
enum Roles { UuidRole, NameRole, VisibleRole, SizeRole, ColorRole };

// QAbstractListModel interface
int rowCount(...) const override;
QVariant data(const QModelIndex&, int role) const override;
bool setData(const QModelIndex&, const QVariant&, int role) override; // for VisibleRole

### Phase A — `ForestPosition` + `GroupPosition` + `ForestLayout` + `GroupLayout` (C++ only)

- [ ] Create `source/model/group/ForestPosition.hpp` — `struct ForestPosition { int forestIndex; int depth; int stackPos; }`
Comment thread docs/plan/logical-visual-split.md
@SavenkovIgor
SavenkovIgor merged commit 2a35ac0 into main Jul 9, 2026
6 checks passed
@SavenkovIgor
SavenkovIgor deleted the add-position-logic-isolation-plan branch July 9, 2026 15:30
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.

2 participants