February 2024 Release

Patching Your Own Ops

The first release of the new year goes out with a bang!

If you want a real quick look at all the changes: head over to the changelog directly. But don't, you will be missing out on a lot of the fun.

Have you ever felt the need to share SubPatches? Now you can! Have you never been keen on learning to code but still wanted to create Ops? Now's your chance!
Are you sitting in a dimly lit area and need the editor to be just a bit brighter? Tweak it now! Is your display too small to handle both editing AND rendering? Pop it out, now!

Read up on all the new additions that come with this release below. Have fun!

Patching Your Own Ops

How about killing two (or maybe even a whole flock) of birds with one stone?!

For a long time there have been plenty of feature-requests, bug-reports and general nuisances with SubPatches in cables.gl. We didn't feel like fixing them, we’ve given our SubPatches a complete overhaul!

SubPatches are now fully-fledged, "first class" Ops that you can create, reuse within and across projects, and share with your team or the entire community. Check out the example for the new ComposingGridOverlay-op. See how the Op has a thin, grey border? Double click and jump right in to see what other ops it is composed of. Clone it, tweak it, use it in your own projects.

No more copies and different versions of subpatches in one patch, no more copy-pasting functionality that you reuse in different patches of the same project! 

All the features that come with "normal" Ops are immediately available to SubPatches as well, now. Document them, create example patches, see how they are used, share, collaborate, rename, clone, create new versions, you name it...

Getting Started

To get you started with creating your own Ops, from Ops, you can click on "Patch a new op" in the Editor-Menu, or mark some ops and pick "Create Op From Selection".

Depending on the context you are in, cables will automatically create an op for your from your selection, pick a name and open the editor. You know this from somewhere, right?

Clicking on "Manage Op" of a newly generated SubPatchOp will open the new port editor...
Creating Ports

...from where you will be able to create new ports for your Op. These ports can be named anything and have all the basic types for ports that are provided by cables.

Pick wisely, as this will be the outside interface of your Op. All the ports will be available on the inside of your SubPatch for you to work with. Make sure to connect all the exposed outputs, so people can work with the results of your patching.

Feel fine with all the ports but made a mistake? Wrong order? Wrong name? Did cables autogenerate to your dislike? Edit them...
Pushing Things Into Place

Once you enter the "Manage Op"-Tab of a SubPatch-Op, you can reorder ports, rename them or, as with any other op, clone, rename and document the op.

Moving around ports will reflect immediately in the patch field, this way you can fiddle around with order and names until you like it. Hint: most of the time you want the triggers (in and out) on the far left, so your ops snap in easily when dragged into the MainLoop.

Pushing The Limits

All the people that already support cables.gl on Patreon will love this! We used to limit upload sizes for files to 100 MB. A reasonable size that let everyone upload images, models and audiofiles but also kept our storage-costs at bay.

With the rise of things like Gaussian Splatting, HDR-Images, Multichannel-Audio and, last but not least, AI-Models things start to take up a bit more space. We got you covered for the future!

We now link these "limits" to you support-level on Patreon (or some special memberships for contributing code to cables directly). So if you really need more space or have to upload bigger files, simply chip in to one of the sponsorship-levels on Patreon, link your Patreon-Account to cables and immediately take advantage of your new freedom.

To see what we think are reasonable limits, we added some stats, a list of your current usage of storage and exports and your current memberships on cables.gl to "My Data" in your account section. Some of the memberships (like the Patreon Level and a Contributor Badge) will also show up publicly on your user profile. Your claim to fame!

Changes To The Editor

PopOut Canvas 

We started this journey with ExternalCanvas in the last release. This update will give you the power of "multi-screen-patching" in the editor. 

Click the new "pop out" icon below the renderer and have your render window seperated from your patching window. This (different from ExternalCanvas) will also display any HTML-Elements you added to your patch, and update them accordingly. 

Want to test your patch in portrait-mode? Working on responsive layouts? Need to test on retina? Fiddling around with external touch displays? Just pop out the renderer, patch on one screen, render on another!

All The Colors

The colors in the cables-editor got a fresh new breeze. All the Ops are now also visually sorted into their respective namespaces.
You will recognize by the color of the op which type of data they are working with and what family of ops they belong to.

These colors also are reflected in links, ports, the opselect and even the reworked op-page on the website. Getting a quick grasp on wtf is going on in a patch is now a lot easier on the eyes.

Customize It

All these colors come from a "theme". And what's the best tool to use when creating a theme for the cables editor? Exactly: cables.

See the patches in this patchlist, clone them, tweak your own colors and store them in your browsers storage to use them in all your patches.
Made something nice? Winter-Theme? Summer-Theme? Paper-Theme? Share them with us via Discord, and we'll put them in the patchlist.
Keeping Context

Data flows. Where from? Where to? Sometimes it's not easy to tell.

Cables will now highlight all the relevant parts of any connection for you. Once you click any Op, it's connections become highlighted.
Once you hover any cable, it will also highlight and illuminate the ports that it starts and ends at.

If you are not using intercontinental cables across your patch, this will show you where your data goes at a single glance...

Slowly Fade Away

...and if you indeed ARE using intercontinental cables...we also have something new for you.

Any connection between two ops that reaches a certain length will now "fade out" in the middle to make way for other crossing cables or ops that are in the way.
Hovering the link, or clicking any connected op, will show you the cables at full glance again. 

Never again feel bad about all those overlapping cables! At least they are now hidden under the carpet.

Ops To The Rescue

Below is a short list of new ops that come with this release. As mentioned above, take a closer look at ComposingGridOverlay, as it is the first Op in the core of cables that is made entirely of other ops. More to come!

If you are still into coding ops, for whatever reason. We also tweaked the "Op Rescue Editor" for your. With this simple text editor outside of the cables editor you can easily recover from most of the mistakes you made when writing Ops or shaders. We added text editors for attachments, formating code and fine tuned the looks a bit. How do you get there? Oh...didn't we tell you that there is a new page that lists all Ops that where created by you? Head over there, pick any Op, scroll down on the op-page and press the edit button...or simply click on the link in the error-modal that will pop up if you screwed up too hard 😉

Anyhow, check these out...

...and we thought this would be a small release. Well then, here we are.

Make sure you give us feedback! Talk to us on social media, on discord or on github discussions.

For your calendars: The next cables meetup will take place on February 14th (20:00 CET). Check the event on discord to keep up to date with speakers and topics!

Team Cables

cables is brought to you by

If you want to see some special feature integrated into cables,
contact us to see if we can make it happen.

The following users helped to make this release possible by their membership on patreon.

kikohs - thanks for your "Gold" membership
wirmachenbunt - thanks for your "Gold" membership

Thank you!