Skip to content

Web interface v2 - #31

Open
dinodev24 wants to merge 3 commits into
fossi-foundation:mainfrom
dinodev24:web_interface_v2
Open

Web interface v2#31
dinodev24 wants to merge 3 commits into
fossi-foundation:mainfrom
dinodev24:web_interface_v2

Conversation

@dinodev24

Copy link
Copy Markdown
Contributor

An upgrade to the old look, and a few new features.

The run history tab shows the simulation summary of all previous runs and also has the feature to compare two runs against each other
- Major change to UI design
- Run config now in settings page
- Fix bug of no summary.md causing an error
- Config can be saved and is loaded each time

@mole99 mole99 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.

The visual and functional changes to the UI are fantastic!

A few notes from my review:

While running the characterization, the CLI was cluttered with warnings such as:

/nix/store/8dkz18l8rpd9pwhapjgi3smkg767bh1s-python3-3.13.9-env/lib/python3.13/site-packages/mpld3/mplexporter/utils.py:300: MatplotlibDeprecationWarning: The converter attribute was deprecated in Matplotlib 3.10 and will be removed in 3.12. Use get_converter and set_converter methods instead.
  isinstance(axis.converter, matplotlib.dates._SwitchableDateConverter)

If necessary, we could patch mpld3 through a Nix overlay. But it seems a more up-to-date version has recently been published: https://github.com/mpld3/mpld3/releases/tag/v0.5.12
Perhaps this version resolves these deprecation warnings.


A run with cace-web is different to a run with cace-cli, as the former does not generate the error.log/flow.log/warning.log files in the run directory. Could you try attaching a second logger so that works as well?


I'm not sure about the save setting. Usually, force, noplot, nosim, sequential should not need to be touched. These flags are mostly for debugging issues in CACE. parallel parameters and jobs may differ from computer to computer, so the file would need to be added to gitignore.

It's a nice implementation, but for now I'm not convinced that it's necessary, and I'm cautious about adding a new configuration file to CACE.


Some ideas on the UI side:

  • "Select" tab: Instead of having a "Run" and "Run All" button, consider adding a checkbox to the "Select" column to select all parameters. This would allow one to quickly select all parameters and disable only one or two of them. I feel like all parameters should be selected by default?
  • Add a larger margin to most elements, or perhaps center them?
  • Add some "?" tooltips to the run settings. e.g. max_runs -> the maximum number of runs to keep in the "runs/" folder, the oldest runs will be deleted.
  • The netlist source should be "best" by default.
  • Perhaps move the netlist source to the "Select" tab? Users often change the netlist source, but the other settings are mostly static.

Bugs I encountered:

  • I can't rerun the same parameters directly after they have finished. I have to select and deselect one of the parameters for the "Run" button to become active again.
  • When I start another run with a single parameter after running all parameters, the summary shows all parameters passing instead of only the single parameter.

Thanks a lot for your work!


def summarize_datasheet(self):
return markdown_summary(
def summarize_datasheet(self, save=False):

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.

I think we can remove the "save" argument again?

@dinodev24

Copy link
Copy Markdown
Contributor Author

Hi Leo, Thank you for your feedback! I will make these changes soon :)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants