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

Tobias Holenstein tholenstein at openjdk.org
Sat Nov 30 00:15:18 UTC 2024


On Fri, 29 Nov 2024 23:10:27 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 two additional commits since the last revision:
> 
>  - trailing whitespace
>  - function comment added for setLinkControlPoints

> @chhagedorn reported the following bug: Click `dynamic layout` -> `show all nodes` -> Bug: showing only lines
> 
> [broken.xml.zip](https://github.com/user-attachments/files/17961889/broken.xml.zip)
> 
> <img alt="Screenshot 2024-11-29 at 18 21 00" width="724" src="https://private-user-images.githubusercontent.com/71546117/391156049-e65a9694-6683-4c5e-9402-b3cc89e6a5b3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzI5MjMzODIsIm5iZiI6MTczMjkyMzA4MiwicGF0aCI6Ii83MTU0NjExNy8zOTExNTYwNDktZTY1YTk2OTQtNjY4My00YzVlLTk0MDItYjNjYzg5ZTZhNWIzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDExMjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQxMTI5VDIzMzEyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM3ZTdkMDMxN2IzZDgzNzQxZmRkY2VkNjcxMzQ2MjJiMjk2NDZlZDkxNDliNGYzNzEwYmVjOGJjNmUzMzFlNDAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.reJIP--Yp2BGxn5QzVsvkW52cM3mGjBRyGVoOoo_7sY">

this should be fixed now. The cause was numerical instability of `applyForceBasedAdjustment`

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

PR Comment: https://git.openjdk.org/jdk/pull/22438#issuecomment-2508745725


More information about the hotspot-compiler-dev mailing list