RFR: 8345041: IGV: Free Placement Mode in IGV Layout [v8]

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Mon Dec 2 09:11:40 UTC 2024


On Sat, 30 Nov 2024 00:15:18 GMT, Tobias Holenstein <tholenstein at openjdk.org> wrote:

>> This PR depends on https://github.com/openjdk/jdk/pull/22430. To check out this PR locally: 
>> 
>> git fetch https://git.openjdk.org/jdk.git pull/22438/head:pull/22438
>> git checkout pull/22438
>> 
>> 
>> Introduce a Free Placement Mode to IGV, allowing users to position nodes freely without being limited to the hierarchical layout constraints.
>> 
>> In this mode, users can manually drag and place nodes anywhere within the space, giving them complete control over the visual arrangement of the graph. Connections between nodes will be rendered as straight (or S curved) lines, without recalculating or enforcing hierarchical constraints.
>> 
>> This feature is ideal for users who need a flexible, non-restrictive way to organize and visualize complex graph structures in a customized and intuitive manner. The free placement of nodes will remain persistent until the layout is reset or another layout mode is selected.
>> 
>> ![free](https://github.com/user-attachments/assets/c150334e-4d9f-4abf-97ea-3cb42bd1c602)
>
> Tobias Holenstein has updated the pull request incrementally with one additional commit since the last revision:
> 
>   make applyForceBasedAdjustment more numerical stable

I re-tested and re-ran layout drawing performance tests, all good.
The feature would be even more useful, in my opinion, if the hand-made layouts would persist across graphs in a group and even across sessions (e.g. serializing the node coordinates as properties, similarly to [JDK-8345039](https://bugs.openjdk.org/browse/JDK-8345039)), but this could be done separately.

-------------

Marked as reviewed by rcastanedalo (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/22438#pullrequestreview-2472128391


More information about the hotspot-compiler-dev mailing list