Improved interaction for calculation intense commands possible?


There’s quite a few computation-intese operations which require user input to fine-tune the outcome. A good example for such is remesh operations – I’ll use Rhino’s Reduce Mesh function to illustrate my case, but it’s really only intended as a placeholder here, for any sort of heavy-lifting operation which need give users the chance to visually inspect the outcome and fine-tune settings. Yup, I admit it, I also have the in development quad-mesher in mind, but other areas could be offsetting / shelling etc.

Back to ReduceMesh: The way Rhino offers that functionality currently is that one gets a modal popup, may dial in the desired change in resolution and presses the Preview button. Rhino then starts the calculation and depending on the model complexity sooner or later shows a Preview of the final result.

For testing I used a beefy scanmesh – Rhino needed to think for roughly 5 minutes, until the Preview appears.That’s long, but I have no big issues with that. My problem starts when I figure out that the outcome is not quite what I’m after. Upon changing values in the Popup window and pressing the Preview-button again Rhino essentially runs the entire command again, including all its pre-processing (which again means 5 minutes of waiting). There’s essentially no difference at all, between using such a Pseudo-Preview and directly committing the command, followed by Undo and running the command again, with different settings this time. Not good.

Wouldn’t it be greatly better to somehow cache shape-analysis /preparation data somewhere on disk? Programs like Photoshop or Zbrush for instant typically create huge Temp files in comparable operations – they may reach several gb in size. Users may set the path and files get automatically deleted upon closing the application, so there no accumulation of junk data.

This little clip hopefully demonstrates the advantages of the alternative approach, in terms of usability.
For those who want to see for themselfes how contrasting Rhino’s implementation is, here’s the model I used (large .7zip, containing a Rhino file). The original file is found on the Stanford website.

Don’t click to enlarge!

ReduceMesh improvements in Rhino WIP