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
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!
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?
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).
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
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.
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.
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.