Grasshopper Update - Autumn 2018

Grasshopper in Rhino for Mac just got a massive update

TL;DR: In the latest RhinoWIP for Rhino 6 for Mac, most of the Grasshopper source code is synchronized with Rhino 6 for Windows. Many bugs have been fixed. There are some regressions. Going forward, we should experience fewer platform-specific bugs. There’s still work to do. Please report bugs.

Details below…

Even more (Explicit) History

About three years ago, the first beta of “Explicit History” (Grasshopper) was added to Rhino 5 for Mac.

From the first beta, it was an odd translation. @stevebaer had converted much of @DavidRutten’s original Visual Basic (VB) source to C# because - at the time - you could not compile VB to run on the Mac. In Rhino for Mac, we embed Mono. When Rhino 5 for Mac shipped, we froze the embedded Mono version in order to stabilize our product and plugin architecture.

Over the course of the first year, “Explicit History” began to feel more and more like Grasshopper. However, in the meantime, David was making many changes and bug fixes to Grasshopper for Windows. Some of these changes required parts of .NET that the Mono in Rhino 5 for Mac could not support.

Back to the Visual Basic Future

With Rhino 6 for Mac, we jumped at the chance to update the Mono to a more recent version. The newest versions of Mono support VB compilation. This gave us the opportunity to go back to the original Grasshopper source and pick up many of the changes that had been made for Rhino 6 for Windows. @curtisw merged the VB source and the fixes we had already made.

This means that the newer components like Make2D, Symbol Display, Bend, Flow, Maelstrom, Splop, etc are now included. You can also use multi-threaded components, like Contour to perform calculations in parallel.

Going forward, we should experience fewer Rhino for Mac-specific bugs and it will be much easier to keep the source synchronized between Windows and Mac. :crossed_fingers:

What Now?

We think - ok, ok, we know - we’ve caused some regressions with this foundational change. We need to find and fix those bugs. For this, we need your help. There’s still much to be done…

As always, thanks to all who have been testing and submitting bug reports. We can’t do this without you.