numberscope / frontscope

Numberscope's front end and user interface: responsible for specifying sequences and defining and displaying visualizers
MIT License
7 stars 15 forks source link

Chaos visualizer overhaul for alpha #447

Open gwhitney opened 2 months ago

gwhitney commented 2 months ago

This is one of a series of issues, one for each visualizer, to make sure they are "alpha-ready". The main aspects of this overhaul are:

  1. Does the visualizer handle/request canvas size/aspect ratio gracefully and appropriately for the new ui?
  2. Is the visualizer pushing as much validation down to the per-parameter checks as possible?
  3. Is it doing the appropriate level of resetting/recomputation in presketch vs setup?
  4. Is it using descriptions, warnings, and errors appropriately, and not changing the user's input out from under their keystrokes? (Note that if a human interaction entails a change in another parameter -- for example, if you were binning terms and there were 10K terms then setting bin size to 10 might change number of bins to 1000, while changing the number of bins to 100 would change the bin size to100 -- that's OK; we just don't want to seem to be ignoring or contradicting their immediate keystrokes; instead, we inform the person what's at issue with what they entered.
  5. Is it sufficiently and appropriately responsive to events and input? Does it handle resizes as gracefully as can be in the current scheme?

In some cases, there are accumulated small previously-existing issues that should be addressed as well.

gwhitney commented 2 months ago

For Chaos in particular, the answer to (1) above is no -- for rectangles outside a certain aspect ratio interval around 1, some of the diagram is off-screen.

This should include resolution of #384 and #317.

gwhitney commented 3 weeks ago

Also, it seems to me that under "color dots by index", the "color cycling length" parameter is not having any effect -- unless I am mistaken in what sort of effect it should have.

katestange commented 1 week ago

You can cause this to hang by inputting a very large number of corners.