Take the ImGui suite at 3.22.0 - #28
Merged
Merged
Conversation
3.22.0 makes the node graph's links prefer being horizontal. Until now the layout only splayed an edge apart once its rendered curve was at risk of hiding behind the bodies at its own ends, which capped an edge at about 75.5 degrees off horizontal and did nothing below that. It now also levels an edge continuously, in proportion to the vertical offset between its two ends, so a settled graph reads as rows rather than as a tangle. Behavioural change inside the layout, so nothing here changes but the pins. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D2KNUKr1xJPTEdDmeF2tQN
|
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.



Why
3.22.0 makes the node graph's links prefer being horizontal (ktsu-dev/ImGuiApp#363).
Until now the layout only splayed an edge apart once its rendered curve was at risk of hiding behind the bodies at its own ends. That capped an edge at about 75.5° off horizontal and did nothing at all below that — legal, but never flat, so a settled graph read as a tangle. The layout now also levels an edge continuously, with a force proportional to the vertical offset between its two ends.
Measured upstream on a six-body graph with four edges: mean angle off horizontal 27.4° → 13.1°, with no overlap introduced. Backward edges are exempt, since levelling one would fight the vertical slide its reorder needs.
This is a behavioural change inside
LayoutCorewith no API surface moved, so the pins are the whole change here.LinkFlatteningStrength(default0.5) scales it, if the amount of flattening wants adjusting.What changed
Directory.Packages.propsonly — the six packages published from the ImGuiApp repo, 3.21.0 to 3.22.0:ktsu.ImGui.App,ktsu.ImGui.App.Testing,ktsu.ImGui.SyntaxHighlighting,ktsu.ImGui.Widgets,ktsu.ImGui.NodeEditor,ktsu.ForceDirectedLayout.They ship from one repo at one version, so they move together.
Verification
860e73e, 09:01:13Z) rather than trusting the version number.NU1102.dotnet build -c Releaseclean,Coder.Test329/329 passing against 3.22.0.Not verified visually: this environment is headless, so whether the flattening looks right in the editor is worth a glance — that is the judgement this change actually turns on.
🤖 Generated with Claude Code
https://claude.ai/code/session_01D2KNUKr1xJPTEdDmeF2tQN
Generated by Claude Code