Enhancing connections with simplified plotting#40
Merged
Conversation
…n_plotting` (default `false`) for controlling connection visualization detail, and `simplify_all_levels` (default `false`) for applying simplification across hierarchical levels. Also, made the distance between two way connection linearly dependent on `Δh` instead of a fixed width based on `gui.vars[:two_way_sep_px]` and made the markersize (arrow heads for connections) linearly dependent on `Δh` instead of a fixed size based on `gui.vars[:markersize]`
There was a problem hiding this comment.
Pull request overview
This PR enhances the topology visualization by adding simplified connection plotting functionality. It introduces two new configuration options to control whether connections are displayed with multiple lines (one per transmission mode) or as single simplified lines, improving visualization clarity for complex energy systems.
- Added
simplified_connection_plottingandsimplify_all_levelsoptions to the GUI constructor - Made connection visualization parameters (arrow size and two-way separation) scale with node box size (
Δh) instead of using fixed pixel values - Refactored connection data structure to support both regular and simplified plot variants
Reviewed changes
Copilot reviewed 13 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| test/utils.jl | Added helper functions for testing connection color states across different visualization modes |
| test/test_interactivity.jl | Added comprehensive tests for simplified toggle functionality and consolidated import statements |
| test/EMI_geography_2.jl | Configured test case with simplified connection plotting enabled |
| src/utils_GUI/topo_axis_utils.jl | Implemented core simplified plotting logic with dynamic scaling and corrected typos in variable names |
| src/utils_GUI/event_functions.jl | Added event handler for simplified toggle and cleaned up unused parameters |
| src/utils_GUI/GUI_utils.jl | Updated color toggling to handle simplified connection states |
| src/setup_topology.jl | Modified connection initialization to use parent-based visibility |
| src/setup_GUI.jl | Added new GUI parameters and simplified toggle control |
| src/datastructures.jl | Restructured Connection type to support separate regular and simplified plot storage |
| ext/EMGExt/EMGExt.jl | Fixed typo in investment linestyle variable name |
| docs/make.jl | Made file paths more robust using pkgdir |
| docs/generate_images.jl | Updated to use proper component selection functions and simplified toggle |
| NEWS.md | Documented new features and breaking changes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
dqpinel
approved these changes
Nov 25, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR Fixes #28. It does this by adding two new options to the
GUIconstructor:simplified_connection_plotting(defaultfalse) for controlling connection visualization detail, andsimplify_all_levels(defaultfalse) for applying simplification across hierarchical levels. Also, the PR made the distance between two way connection linearly dependent onΔhinstead of a fixed width based ongui.vars[:two_way_sep_px]and made the markersize (arrow heads for connections) linearly dependent onΔhinstead of a fixed size based ongui.vars[:markersize].