Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working UI to select runs, options, etc #10

Open
jkomoros opened this issue Nov 14, 2021 · 2 comments
Open

Working UI to select runs, options, etc #10

jkomoros opened this issue Nov 14, 2021 · 2 comments

Comments

@jkomoros
Copy link
Owner

No description provided.

@jkomoros
Copy link
Owner Author

jkomoros commented Nov 14, 2021

  • Select drop down of which simulation-name
  • Select which run to view
  • Allow editing of frame index
  • Position controls better
  • Don't allow selecting an illegal run index
  • Allow selecting a different simulator
  • Allow exporting the modified JSON
  • The simulation run doesn't notice the frameIndex is invalid until too just after it happens. It should notice right before.
  • Data layer also disallows picking an invalid frame index
  • Fix the bug where the selectCurrentSimulationRunMaxFrameIndex caches the frame index too much
  • Disallow picking an invalid frame index (and verify what happens when it goes straight to an invalid one)
  • Allow modifying all properties of config and simOptions directly
  • Allow selecting a simulation via index or name
  • Select which frame of current run to view
  • Run the simOptions by optionsConfig and invalidate anything that doesn't match, so optionsValidator() only has to do extra stuff
  • Allow UI controls hiding
  • Intermediate colors between green and red for intermediate values
  • Allow clicking on a status to run that status or switch to it
  • Show summary of rounds based on success or not
  • Allow modifying delay
  • Better padding / spacing in controls
  • Disabled buttons should not hover
  • Allow an extra frame delay at end of round
  • Add autoPlay option to simulation config (and rename other autoSimulate or autoGenerate)
  • Allow a pause button
  • Make all of optionsConfig readonly while playing
  • Make playing status be more obvious when playing
  • Make play button be more prominent
  • Add a play / pause / reset control (variable speed?)
  • If you go previous through a simulationConfig boundary, and autoRun is false, then the last round is calculated even though we aren't in it?
  • Space bar should toggle play pause
  • Bug: If you are on the second simulation collection and refresh it goes back to the first one
  • Show UI for problems in optionvalidator, their problem strings (instead of just warning)
  • Allow modifying playType (maybe in simulation settings?
  • Add a run button for the currently visible run (rememeber all of thse will need autoRun = false). This is actually not obvious; the caching selector layer assumes there is no modified state if the state object doesn't change.
  • The pattern in simulation-controls.state-changed will have a different result (which m eans it will have to rerender even if a notional no op) after each and every state change, no matter what changed, because there isn't a selector logic...
  • If run count is very high, there's mostly border in the stauts summary in the top controls
  • There's a moderate width/height value where the frame visualization doesn't fit in the view port (950 x 560)
  • The denominator of the status % should be the number of completed runs (currently it's all runs) (check for zero)
  • Render description in the UI (and have a max-height)
  • Autoexpand the simulation config on wide/large screens
  • Should run/frame count even be in the URL? It basically never makes sense to deep link to a given run/frame (although the sim options DOES make sense to link to)
  • Render a success percentage number in the UI for all of the rounds
  • Background color should extend the whole page even if scrollling
  • Space / arrow keys movement will do stuff even when editing in an input
  • When transparent is true, render some kind of distinctive checkered background or something behind frame-visualization (background set on the it within sim-view, so it doesn't get picked up in the screenshotting?)
  • Have a control in the UI to run all runs (ideally yielding after each one, showing status as each is calculted)
  • Allow creating a config (simulation in collection) as a fresh one or a copy, reordering it, deleting one
  • Buttons in the UI to advance or go back the simulationIndex
  • fe9a1ae broke it so the very first frame we generate the very maximum frame count, which will include that in the output. the problem is that maxFrameIndex is set to 1000, and then we bail early in _ensureFrameDataUpTo despite not actually knowing where the end is
  • Make sure screenshotting machinery works even if autoGenerate is false
  • Allow an option to show future runs of status
  • Handle long description names that wrap the select control
  • Have a control in the sim config object to autoRun or not
  • Cache simulations that are based on configs that are the same as the last seen thing, and cache modifications that are the last seen thing, for performance (more important with large numbers of autoGenerate config) (does autoGenerate run when the simulation is loaded, or when it's activated?)
  • Now when you load a simulation it autogenerates all runs no matter what.
  • Shouldn't be able to select filename or config while playing
  • Allow status to only show up in screenshotting (a different setting, e.g. display.statusScreenshot, which if true will only show up if it's screenshotting)
  • Title of a config should default to switching "-" and "_" to spaces and title casing by default
  • Add a default boolean property to the configs, and make it so if the URL doesn't point explicitly to another one, the first one that has default = true will be selected. (This actually requires non-trivial changes to the logic to put in place a default URL)

jkomoros added a commit that referenced this issue Nov 15, 2021
jkomoros added a commit that referenced this issue Nov 21, 2021
…k is just its index in the collection, as a string. Part of #10.
jkomoros added a commit that referenced this issue Nov 21, 2021
jkomoros added a commit that referenced this issue Nov 21, 2021
It doesn't actually limit anything because the selector caches the value too intensely. Part of #10.
jkomoros added a commit that referenced this issue Nov 22, 2021
…d of allowed frames until we actually set it.

Instead, always try to generate one more frame beyond what was requested so we can discover the end before we get there.

Part of #10.
jkomoros added a commit that referenced this issue Nov 22, 2021
…ouldn't notice until after we let you jump to it, leaving you viewing an empty frame.

Part of #10.
jkomoros added a commit that referenced this issue Nov 22, 2021
…s loaded.

This is OK because each run only generates the first frame (or not even that?) and in the near future the UI we'll introduce will need all runs at the very beginning anyway.

Part of #10.
jkomoros added a commit that referenced this issue Nov 22, 2021
jkomoros added a commit that referenced this issue Nov 22, 2021
jkomoros added a commit that referenced this issue Dec 11, 2021
…ate the size of the stage if necessary. Part of #10.
jkomoros added a commit that referenced this issue Dec 11, 2021
jkomoros added a commit that referenced this issue Dec 11, 2021
jkomoros added a commit that referenced this issue Dec 11, 2021
jkomoros added a commit that referenced this issue Dec 11, 2021
…tally at load. Doesn't fix the overall logic but does fix an inner bug. Part of #10.
jkomoros added a commit that referenced this issue Dec 11, 2021
…until data fully loaded. Still broken for loading a second config, but should be getting more sane. Part of #10.
jkomoros added a commit that referenced this issue Dec 11, 2021
… the simulation index to a the simulation, not its index! Part of #10.
jkomoros added a commit that referenced this issue Dec 11, 2021
jkomoros added a commit that referenced this issue Dec 12, 2021
jkomoros added a commit that referenced this issue Dec 12, 2021
jkomoros added a commit that referenced this issue Dec 12, 2021
jkomoros added a commit that referenced this issue Dec 12, 2021
jkomoros added a commit that referenced this issue Dec 12, 2021
jkomoros added a commit that referenced this issue Dec 12, 2021
… true, until they're on screen. Speeds up first load considerably for large configs. Part of #10.
jkomoros added a commit that referenced this issue Dec 12, 2021
…o cause the "too high screenshot count" problem. Part of #10.
jkomoros added a commit that referenced this issue Dec 12, 2021
…of the screenshot generated was 10000.

We were bailing early from frameIndexLegal, because maxFrameIndex had already been set to the simulator's max frame index... even though we hadn't validated that was ACTUALLY allowed. This didn't really show up in normal usage, but for screenshotting it did.

Part of #10.
jkomoros added a commit that referenced this issue Dec 12, 2021
…'d still generate all of a simulations' runs and frames. Part of #34. Part of #10.
jkomoros added a commit that referenced this issue Dec 12, 2021
jkomoros added a commit that referenced this issue Dec 12, 2021
…ut will render the status line only when screenshotting. Part of #10.
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

No branches or pull requests

1 participant