Grasshopper 2

Hi @Thomas_Helzle

I wrote the Shortest Walk add-on several years ago (when I was in Barcelona). I haven’t noticed slow-downs even with number of lines that slow down Grasshopper considerably. I would like to make sure to see what is going on. Could we start a new discussion? Also, there was code (but not UI) to have custom path costs. I can expose that if that is deemed helpful :smiley:

1 Like

Hey piac,

thanks for your reply and even more thanks for your plugin! :slight_smile:

In the end it’s mostly a cumulative effect. I ran against more and more performance walls and one major job at the end of august this year made it clear that if I want to follow this line of work further, I need much more “headroom” in what I can handle. At one point during that job I had a Rhino file that was over a gigabyte of baked GH mesh data. Rhino took ages to save and load it, chocked on displaying it and bluescreened on rendering.
I had to convince my customer to take a different approach.
It worked out in the end but afterwards it became clear that this isn’t sustainable.

I looked at the Shortest Walk code myself but it was a bit over my head. I think introducing ways to guide the directions would be extremely useful. If you check these: https://www.screendream.de/design/life-love/ you can see that it would be very nice to have something like guiding splines or weights to be able to define paths that don’t cling to the borders like in the “LIFE” letters but keep to the centre more.

And just to make that clear: I totally love GH and your plugin saw a lot of use here. It’s really awesome work and got me going in this whole direction. I know that version 2 will have multithreading and that alone should solve a lot of problems. If things don’t absolutely have to be baked, that will also help.

Cheers,

Tom

Exists a date for the launching of GH2?
In case not what is the percentage of its development?.

It is not known. It is not known. Some lines of code are much harder to write than others, and right now I’m working on the hardest big; the multi-threaded solver.

5 Likes

Fortunately Rhino 6 is coming soon, It is smoother good job.

That’ll be awesome! Please make things even easier to hack for the optimization people ;-).

I somehow found this magic trick tonight, only works in R6, with Arctic View, and you need to plug the preview component in gh to whatever you want to render.

6 Likes

Great stuff Paul! :slight_smile:

Not sure yet if I’ll update to Rhino 6 though, in the meantime I moved 99% of my work over to Houdini, which isn’t only massively multithreaded and optimised for huge datasets but also keeps everything procedural by design - rendering generative stuff just works as it should. Redshift became my renderer of choice.
Right now I’m doing my first procedural-growth art project for VR with a pipeline from Houdini to Unity and it’s going really well. I would not want to do that with GH to be honest.

Cheers and thanks!

Tom

Incidentally, for anyone reading this thread – A couple years ago I mocked up my own solution to this problem, which involved teleporting data via Namespaces, so you could access it anywhere on the canvas. Andrew Heumann executed the production code for what was to become Telepathy, released to the public and freely available.

I don’t Grasshopper without it. I have since developed scripts up to 20,000 components and they are eminently readable, no wire entanglement whatsoever.

Check it out:

3 Likes

I second this, The glowing boxes along with glowing wires is a good idea

This is such a good addon. I think something like this should be standard in Grasshopper. I would love to use it in all my definitions, but every plugin used usually introduces problems when collaborating with others. Having it as a standard (or enabling auto-install on all plugins) would solve this issue.
So far I have started using named parameters with hidden wires. It cleans up the definition but is nowhere as convenient as Telepathy.

I am really looking forward to GH2 but I also understand that it might take some more time. I would much rather wait than using it in an incomplete state.
GH2 could really bring node-based CAD and parametric design to a new level.

2 Likes

20 000 components :open_mouth:

ok, since someone else resurrected this topic I’ll ask:

  1. What’s the status of GH2?
  2. Is there a BETA we can take for a spin?
  3. Have most of the ideas discussed in this thread already been incorporated into the latest build of GH?
4 Likes

Yes, I fully agree. Telepathy is great solution. However for GH2 I would propose a slightly different approach. I really don’t like the idea of hiding wires, because its essentially hidding information and connectivity. The initial problem is that wildly flowing wires are messing up the view. A sort of “databus” or “cablebinder” feature seems a better solution. As I also proposed in another thread, visually differentiating wires can be very handy (visual styles like colours, interpolation style etc.), which might already minimize the effect of spaghetti definitions very much.

3 Likes

Yes, that would be nice. But I think it would be even better to solve the problem of huge defitions to have a more sophisticated modularization system. The current clusters are very basic and their UX could be much better. If you could pack/unpack (or expand/collapse) parts of the definition more agilely in vertical modules it would give another dimension to organize the algorithms, which almost always can be defined at different levels of abstraction, describing processes in their global entity, or in their component entities or in its indivisible entities. Complex algorithms are very prone to be assembled. There should be a protocol for this, something like for example having three levels of abstraction, the normal components are the lowest level, a hybrid between groups and clusters, and another object that is a hybrid between clusters and the Remote Control Panel, where its capsule contains the sliders or text boxes to edit it… or in some other way, but that allows encapsulating the definition in an additional dimension of abstraction to be able to describe it and organize it hierarchically and be able to navigate it with a graphical map. The current cluster approach of jumping from one document to another does not work for this. It would also help to have special objects that are only visible when the zoom is very low, such as putting the canvas in abstraction mode, as a shortcut to navigate from one semantic region to another in the algorithm.

2 Likes

Being worked on. Viewport preview still not implemented. No advanced geometry components yet, no data management components yet, no undo-redo pipeline yet, no scripting components yet, no organisational objects yet (groups, labels, wire pipelines, …). Those last three probably aren’t necessary for the first Beta.

Not yet.

Getting the preview up and running is the next big job. That and fixing the most serious performance issues on the canvas painting.

11 Likes

Ah, if I understand correctly the goal is to give GH2 full multicore support, therefore complete rewrite?

Hello :slight_smile:

  • Will be the plugins written for GH 1 compatible with GH 2?
  • Will GH 2 replace GH 1 completely, or do you plan to leave the choice to the user, so he can pick one of two versions?
2 Likes

Hi Mark,

I love Telepathy ; it has really made our large definitions more manageable and reduces wiring errors.
Just a quick question : are the sender and reciever components safe to use in clusters ?
I don’t plan to have recievers connected to senders outside the cluster ; just a set of senders and recievers independant from what’s outside the cluster.

1 Like

Hi Osuire –

Thanks, glad you’re enjoying it. No, unfortunately Telepathy doesn’t work inside clusters, at least not to send data from outside the cluster to inside the cluster and vice versa. It relies on automation of the actual wires in Grasshopper and there’s no way to accommodate this functionality without having inputs on the cluster and a whole lot of traversing of the document, which would severely impact performance. I personally use an input for whatever Telepathy data I need within any clusters, it’s not usually that big of a deal if you only have one or two. You could use Metahopper to create a snippet to place all the components at once if it’s something you plan using a lot.

You can, in fact, use Telepathy nodes that are contained entirely within the cluster however. So at least you can make your cluster spaghetti a little more manageable.

Cheers,
Marc