Yak Closed Beta

Hey @yak_testers!

It’s finally time to get some feedback on this project that I have been incubating (between distractions) for the last two years… For starters I’ve invited a few developers/users who I feel could really get their teeth into this.

I’ve pushed some preliminary documentation to http://developer.rhino3d.com/wip/guides/yak. Please have a read and a play and let me know your thoughts! I’m here to answer any questions if anything doesn’t make sense. :slight_smile:

Some things you can try…

Yak 0.2 is focused on Grasshopper plug-in packages and the “package restore” functionality in Grasshopper. The next release will focus more on packaging Rhino (.rhp) plug-ins – it works but it needs some attention.

One last note… Yak is designed to be cross-platform, but right now only the hooks into Rhino WIP for Windows are implemented.

Thank you,

Will

6 Likes
1 Like

For those who were confused like me - the Yak CLI tool is included in the latest Rhino WIP and can be found here: C:\Program Files\Rhino WIP\System :slight_smile:

2 Likes

Yak CLI isn’t reading any of the info from my plug-in - though it implements a GH_AssemblyInfo class. tells me Something went wrong, couldn't get info from .gha file

the GHA is attached - should I have set something up differently? MetaHopper.gha (257.5 KB)

@andheum Thanks for the first bug report! I was able to reproduce this. I’ll take a closer look…

@andheum Please replace Yak.exe and Yak.dll with these files and try again… Yak-0.2.1-fix.zip (26.5 KB)

I pushed a package called imaging-library (version 1.0.0).

I also successfully managed to get it to download and install by removing my local build and opening the attached file.

gditest.gh (29.4 KB)

Does it work for everyone else too?

3 Likes

works over here!

Looks like it does:

2017-08-09 10_56_10-Grasshopper - No document…

The “Draw Image” component throws an error though:

2017-08-09 10_59_08-Rhinoceros WIP

Edit: On a sidenote, does Rhino 6 not have an equivalent command to GrasshopperUnloadPlugin?

Not that I’ve even fiddled much with the new features for compiling GHPython components to plugins, but, will/does Yak also support these? This is all quite exciting news Will :clap:

The overall aim is for Yak to support installation of all of those things. One step at a time :slight_smile:

1 Like

Oo, generic errors, my favourite kind of exception.

Did you change the file path to a valid folder on your machine?

_GrasshopperUnloadPlugin was removed because it was causing a lot of nasty side-effects. There a new command (hidden for now) called _GrasshopperReloadAssemblies. It only reloads those assemblies that were COFF loaded and leaves the rest of GH intact. You cannot have any files open though when running it.

1 Like

I don’t think I did. I only just installed Rhino and Rhino 6 WIP on my new home system where I tested this, so haven’t fiddled around with it much yet. Can you elaborate?

One of the inputs of the Draw Image component is a filepath which tells the component where to save the image to. At the moment I perform no checking at all to see if the folder even exists or if there’s perhaps already a file there that has been locked by some other process.

Ah yes right, I totally missed that. Just tried replacing the path with a PNG on my system and all is good.

Thanks, I’ll get it tuned up for 1.0.1 :slight_smile:

1 Like

Thanks for all the testing so far! :slight_smile:

Here’s a (slightly less rushed) updated Yak which fixes the issue that @andheum ran into… yak-0.2.1.zip (736.6 KB)

This will ship with next week’s Rhino WIP. For now drop it into C:\Program Files\Rhino WIP\System\ to replace the current version.

So now that several people have installed my image-library (1.0.0), what happens when I push a newer version to the server?

Nothing, but they can upgrade by running "C:\Program Files\Rhino WIP\System\Yak.exe" install image-library. (There’s no explicit “upgrade” command, yet.)

In the near future, they may get a notification that an update is available…

Man, now I want a github integration so I can get automatic package updates when I push to a branch😀