Skip to content

web: add rudy heatmap view as save_image -web display option - #11149

Open
mikesinouye wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
mikesinouye:rudy
Open

web: add rudy heatmap view as save_image -web display option#11149
mikesinouye wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
mikesinouye:rudy

Conversation

@mikesinouye

@mikesinouye mikesinouye commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Add rudy heatmap view as save_image -web display option. We have flows that run pre-route but we still benefit from early congestion hotspot information.

Type of Change

  • New feature

Impact

New -display_option rudy to save_image -web

Verification

  • I have verified that the local build succeeds (./etc/Build.sh).
  • I have run the relevant tests and they pass.
  • My code follows the repository's formatting guidelines.
  • I have included tests to prevent regressions.
  • I have signed my commits (DCO).

Signed-off-by: Mike Inouye <mikeinouye@google.com>
@mikesinouye
mikesinouye requested a review from a team as a code owner August 14, 2026 21:58
@mikesinouye
mikesinouye requested a review from maliberty August 14, 2026 21:58

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds support for rendering the Estimated Congestion (RUDY) heatmap overlay in the web-based image saver, including updating the visibility options, layer composition order, and adding corresponding tests. The review feedback highlights two issues in the test setup: a potential duplicate dependency conflict in src/web/test/BUILD between //src/gui and //src/gui:gui_stub, and a dangling pointer risk in TestSaveImage.cpp where a globally registered lambda captures the transient test fixture instance.

Comment thread src/web/test/BUILD
Comment on lines +270 to 271
"//src/gui",
"//src/gui:gui_stub",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Both //src/gui and //src/gui:gui_stub are listed as dependencies for save_image_test. This can lead to duplicate symbol errors, ODR (One Definition Rule) violations, or redundant dependencies. If the test requires the real gui library (e.g., for heatmap registration), //src/gui:gui_stub should be removed. Otherwise, if the stub is sufficient, //src/gui should not be added.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems wrong, other targets in this file have this behavior. I thought it was gui:gui_qt and :gui_stub that were mutually exclusive

Comment thread src/web/test/cpp/TestSaveImage.cpp
Signed-off-by: Mike Inouye <mikeinouye@google.com>
@gadfort

gadfort commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

@maliberty I don't think I noticed how the same image command was evolving. It feels like this command will be incredibly hard to manage since the options and the display controls are not connected to each other. I don't think approving this, but I suspect this will need to be reworked causing some breaking changes.
@mikesinouye it might be nice to put the heatmaps in a namespace like heatmap/rudy or something so we don't end up flattening all options into a flat space.

@maliberty

Copy link
Copy Markdown
Member

@codex review

@maliberty

Copy link
Copy Markdown
Member

@gadfort are you concerned about -display_option ? I didn't quite follow you message.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: c66f034a08

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@gadfort

gadfort commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

@maliberty yes, in the GUI it is directly linked to the display controls so they provide a one-to-one mapping, while here it looks like its been added as needed. I like the shorthand here, but I think it should be derived from the display controls still so we done loose the one to one mapping

@maliberty

Copy link
Copy Markdown
Member

You added -display_option in the GUI originally (00a4d5f). Is there something different about web that is concerning?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants