Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
a64e510
Add Gitignore
nabil6391 Sep 7, 2025
83b8139
Add support for curved connections in tree layout
nabil6391 Sep 7, 2025
13ead72
Add Mindmap Algorithm
nabil6391 Sep 7, 2025
bf6360d
Improvements to SugiyamaAlgorithm.dart , Added
nabil6391 Sep 7, 2025
2f558a3
Minor Code formating
nabil6391 Sep 8, 2025
91ab662
Add Eiglesperger Algorithm.dart, which is faster than SugiyamaAlgorit…
nabil6391 Sep 8, 2025
17c3948
Add Multiple New Layouts:
nabil6391 Sep 8, 2025
5e5bc9d
Improve FruchtermanReingoldAlgorithm code
nabil6391 Sep 8, 2025
23d857c
Remove step function from the Algorithm
nabil6391 Sep 8, 2025
5a4408c
Update Force Directed to make it a bit smoother.
nabil6391 Sep 8, 2025
aca522f
Add additional params to have initialNode, and also autoZoomToFit
nabil6391 Sep 10, 2025
6f47d32
Update Tree View Page
nabil6391 Sep 10, 2025
db790f2
Add ability to jumpt to node without animation
nabil6391 Sep 13, 2025
a2ad9a4
Update to use Graph using the Calculate Graph bounds
nabil6391 Sep 14, 2025
e0cc3c7
Update EiglspergerAlgorithm.dart , which was wrongly rendering using …
nabil6391 Sep 14, 2025
8311dca
Add Collapse/Expand with Animation support
nabil6391 Sep 14, 2025
48a7689
Fix Baloon Layout
nabil6391 Sep 14, 2025
0c4c153
Fix configs for Tree Layout Algorithms
nabil6391 Sep 14, 2025
be98369
Minor Renaming to keep data clean
nabil6391 Sep 14, 2025
8843325
Organise the code a bit better with new functions
nabil6391 Sep 15, 2025
7b6665a
Add The GraphChildDelegate
nabil6391 Sep 23, 2025
de93731
Performance optimisation to layout and build on visible nodes
nabil6391 Sep 23, 2025
53d4198
Separate the AnimDurations
nabil6391 Sep 24, 2025
8c08889
Add Tests for performance
nabil6391 Sep 24, 2025
16f6741
Overhaul collapse and expand to move to controller
nabil6391 Sep 24, 2025
1cb64c4
Fix Some animation issues
nabil6391 Sep 24, 2025
6ce22e6
remove repaint boundaries
nabil6391 Sep 24, 2025
cc80a84
Improve TreeEdgeRenderer.dart performance
nabil6391 Sep 24, 2025
34ee85f
Fix SugiyamaAlgorithm.dart
nabil6391 Sep 24, 2025
74fa2eb
Fix animate to node while toggling
nabil6391 Sep 25, 2025
e96d794
Improvements to expanding collapsings with center support
nabil6391 Sep 27, 2025
312a242
Fix expansion of node
nabil6391 Sep 27, 2025
7592c42
Added new Gifs and readmes
nabil6391 Sep 28, 2025
893bfc4
Update sugiyama Algorithm along with new UI
nabil6391 Sep 28, 2025
7a7fe2f
Fix Tree Edge Rendering
nabil6391 Oct 2, 2025
d5245bd
Use GraphViewCustomPainter for fruschtermanReingold Animatations
nabil6391 Oct 2, 2025
b5390cf
Extract renderEdge as a separate function
nabil6391 Oct 2, 2025
5fc6e10
Minor Improvements
nabil6391 Oct 2, 2025
d3da07a
Add support for custom lineType
nabil6391 Oct 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 34 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,40 @@
## 1.5.0

- **MAJOR UPDATE**: Added 5 new layout algorithms
- BalloonLayoutAlgorithm: Radial tree layout with circular child arrangements around parents
- CircleLayoutAlgorithm: Arranges nodes in circular formations with edge crossing reduction
- RadialTreeLayoutAlgorithm: Converts tree structures to polar coordinate system
- TidierTreeLayoutAlgorithm: Improved tree layout with better spacing and positioning
- MindmapAlgorithm: Specialized layout for mindmap-style distributions
- **NEW**: Node expand/collapse functionality with GraphViewController
- `collapseNode()`, `expandNode()`, `toggleNodeExpanded()` methods
- Hierarchical visibility control with animated transitions
- Initial collapsed state support via `setInitiallyCollapsedNodes()`
- **NEW**: Advanced animation system
- Smooth expand/collapse animations with customizable duration
- Node scaling and opacity transitions during state changes
- `toggleAnimationDuration` parameter for fine-tuning animations
- **NEW**: Enhanced GraphView.builder constructor
- `animated`: Enable/disable smooth animations (default: true)
- `autoZoomToFit`: Automatically zoom to fit all nodes on initialization
- `initialNode`: Jump to specific node on startup
- `panAnimationDuration`: Customizable camera movement timing
- `centerGraph`: Center the graph within viewport
- `controller`: GraphViewController for programmatic control
- **NEW**: Navigation and camera control features
- `jumpToNode()` and `animateToNode()` for programmatic navigation
- `zoomToFit()` for automatic viewport adjustment
- `resetView()` for returning to origin
- `forceRecalculation()` for layout updates
- **IMPROVED** TreeEdgeRenderer with curved/straight connection options
- **IMPROVED**: Better performance with caching for graphs
- **IMPROVED**: Sugiyama Algorithm with postStraighten and additional strategies

## 1.2.0

- Resolved Overlaping for Sugiyama Algorithm (#56, #93, #87)
- Added Enum for Coordinate Assignment in Sugiyama : DownRight, DownLeft, UpRight, UpLeft, Average(Default)

## 1.1.1

- Fixed bug for SugiyamaAlgorithm where horizontal placement was overlapping
Expand Down Expand Up @@ -69,4 +102,4 @@

## 0.1.0

- Initial release.
- Initial release.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020 Nabil Mosharraf
Copyright (c) 2025 Nabil Mosharraf

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading
Loading