Skip to content

Instantly share code, notes, and snippets.

@mottosso
Last active July 16, 2019 06:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mottosso/e86346fcb43bb921fa97db2d496ea9df to your computer and use it in GitHub Desktop.
Save mottosso/e86346fcb43bb921fa97db2d496ea9df to your computer and use it in GitHub Desktop.
15th July 2019 - Patch

Last Friday, we got rez env --no-local integrated into the GUI and said to make this week about styling. But over the weekend, I noticed a few important features was missing that I'll have a look at in the next few days.


Patch

Rez is able to add a package to an existing resolve dynamically, which means you could potentially add additional overrides to a given project/application combo. Like a maya_legacy_viewport package, to gain access to Maya's Viewport 1.0. Or a grewishka for additions related to an.

Spontaneously, I wanted to add an item to the bottom of the packages list that the user could type into. On completing input, the package would get patched into the list. But there are a few issues with that.

  1. Length The list can be long, which means scrolling to reach the editable item. On re-resolve, we would then either need to keep track of the scroll position or let the user scroll back down to re-edit or add a new package
  2. Order The order of packages isn't easily pre-determined. They're ordered by how they are resolved (unless sorting is enabled by clicking the headers). That means that although you would expect patched packages to appear at the bottom, they may very well intermix and sit just about anywhere in the list.
  3. Serialisation We'll likely want to store patches relative a project/application combo, for example when the user exits and restarts the application, or simply between switching applications. If they item is intermixed with non-patched packages, we would need to implement a rather complex method of extracting patch changes from the rest, and re-apply it later.
  4. Version override A non-patched package can have its version overridden, by double-clicking on its version. But how should that work with patched packages? Ideally, you would edit your patch to specify a different version.

So instead I went for a more robust approach.

allzpark_patch

If you had assets as packages, this is where you'd be able to specify those as well. Patches are applied as a layer on-top of the primary resolve, and remain cross-application and cross-project. They are meant primarily as a development utility, rather than an artist tool. If a developer wanted an artist to gain access to a particular patch, they would simply embed this into the project requirements.


Tomorrow

Establish support for a theme, along with editable CSS for rapid prototyping.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment