A little update

Hey @yak_testers, it’s been a little while since I’ve been in touch, sorry for that!

This week’s Rhino WIP release (3rd April 2018) includes a few new things that I wanted to mention…

  • Package Manager UI (thanks @Trav!). Try the _TestPackageManager command.
  • Support for creating packages from RhinoCommon plug-ins (see the guide) or anything else, for that matter (but pre-population of manifest.yml is only working for Grasshopper assemblies and RhinoCommon-based Rhino plug-ins, so far)
  • Weaverbird has been downloaded >1800 times since @piac started distributing it via Yak. Users can download a .gh file that contains Weaverbird components and Yak handles the rest via Package Restore
  • Grasshopper loads .ghpy and .ghuser files that are installed via Yak
  • Bug fixes :cricket:

I’m planning to demo this stuff next month at Shape to Fabrication.

I’m currently working on developer workflows and automation, i.e. how to set up a simple plug-in project in a git repository with CI that automatically publishes pre-release versions of the plug-in for general consumption.

Please get in touch if you have any questions or suggestions!

1 Like

I uploaded my personal SketchPad plug-in that I use to create quick test commands. Worked fine.

1 Like

Oh man, that would have made all those bending-active workshops day one a bliss :pray:

1 Like

If teachers are going to use Yak to distribute course material to their students, is that going to flood the repo with stuff that is useless for everyone else?

That is a very good point!

Hopefully teachers teach useful stuff!

1 Like

I suppose this opens up a larger concern of what flooding the repo might actually involve, both in terms of user experience and the technical issues of hosting etc. The Dynamo package manager is pretty bloated with all sorts of crap for instance, but does actually work quite well (one simply searches for packages ala Sublime Text etc, without it auto-installing on the fly).

1 Like

My hope is that the main package repository won’t need much moderation, like rubygems or npm or, indeed, the Dynamo package manager. In the future it will be possible to host your own package repo (a feature much requested by offices), so maybe schools can go that route to provide an “approved” list of packages for users to pick from.

A couple of other options:

  • Like @piac has done with Weaverbird, you could distribute a Grasshopper definition that triggers package restore for the packages that your workshop/lesson requires
  • Package “groups” (coming soon™️)
2 Likes

Hi Nathan, what does this plugin do?

It is just a test-bed for code and such, it doesn’t do anything useful per se. Feel free to add more to it. The repository is https://github.com/jesterKing/SketchPad. Clone it, mame edit it, add quick tests etc. Make PRs and so on.

1 Like

Is the use of Yak already possible with multiples .ghuser files then (I mean multiples .ghuser files in a single package, created directly in Grasshopper, without Visual Studio GUID or similar) ?
Only .rhp, .gha, .dll and .ghpy are clearly mentioned in Yak’s documentation.

Yes! Grasshopper User Objects (.ghuser) are indeed supported in both Rhino for Windows and Mac. See the “libraries” package for an example that contains a single User Object. Multiple .ghuser files in a single package will also work just fine.

The only limitation (besides the lacking documentation…) is that the spec command won’t prepopulate the manifest.yml file for you – this only works for .gha and .rhp files right now. It will flesh out the structure with placeholders for you, though.

Hello Will,
Thanks for the answer, and this good news. I still have some questions :

  • Where am I supposed to find the “librairies” package example you talked about ? I didn’t found it in Yak’s documentation, is it somewhere else ?
  • If using multiple .ghuser files in one package then, is the automatic package restore and versioning system working too ?

You can install the “libraries” package from the Package Manager. In Rhino WIP run the _PackageManager command, or in Rhino 6 run _TestPackageManager.

If you want to download the raw package and have a look at how it’s put together then open https://yak.rhino3d.com/versions/libraries/1.1.0/download, change the extension of the download file from .yak to .zip and extract the contents.

Package Restore isn’t required for User Objects. When they’re added to the canvas it’s similar to just adding the regular objects upon which they’re based. However, Package Restore should work transparently for any third-party component(s) in the User Object.

1 Like

Hello Will, thanks a lot for all the informations !
I will investigate this, as soon as possible.