cables is under heavy development.
There might be one or another bug, please let us know about it!


6 days ago

New Ops

Op Enhancements

Editor / Ui

  • editor: fix dragging port title from parameter panel into patchfield
  • editor: switch to op meta tab on doubleclick
  • editor: cmd+, hotkey for patch settings
  • editor: dont show user ops in example patch
  • editor: remove sourcemap reference from libraries to minimize warnings
  • editor: fix editor ui elements showing on remote viewer
  • editor: multiplayer - show guest users currently in the patch for public patches - allow chat
  • editor: use proper patchname in "clone patch" after renaming the patch in settings


  • website: fix searching for usernames
  • website: fix pagination bug on op-page for userops
  • website: fix wrong link to userprofile on op-changelog
  • website: sort templates in patch-creation overlay by name
  • website: add test for webxr and webxr vr to /browser
  • website: favicon better work with both dark and bright themes


  • core: if texture size > max possible size, it will show the default stripes texture


22 days ago

new ops:

New Ops: Viz

New Ops: Mediapipe

New Ops: Ammo.js/Bullet Physics

Op Enhancements ImageCompose/TextureEffects

Op Enhancements PBR Material

Op Enhancements

Editor / Ui

  • editor: Open remoteviewer in other window/browser/device to see patchchanges immedeatly in every session
  • editor: Allow for multiplayer-sessions with collaborators in editor
  • editor: Fix scrolling duplication in code-exception modal window
  • editor: Fix overlap of minimized timeline with iconbar
  • editor: Fix "show all transforms" not removing last transform icons after deleting
  • editor: Remember "show all transforms" setting after reload/close tab
  • editor: Adjust op parameter distances and paddings to be similar for different ui element types
  • editor: Fix bug where transform gizmo was shown when it should not be shown in current viewport
  • editor: Removed file svg2mesh converter
  • editor: Rework save-as dialog, add copyright info
  • editor: Confirmation dialog on deleting assets, with warning if used in other patches
  • editor: Allow to add uploaded libraries to userops
  • editor/web: Unify and tweak svg images generated for op previews
  • editor: Ace text editor random nonsense error message hidden
  • editor: Add converter to fix svgs missing width/height on upload
  • editor: Add patch-information to editor for non-owners/collaborators
  • editor: Added command palette icons for "scale canvas" and "reset canvas size"
  • editor: Added converter to fix missing width/height in svgs
  • editor: Added stride display for input ports / tweaked display of array ports
  • editor: Area op overlapping comments bug fixed
  • editor: Changing file input parameter sets unsaved state
  • editor: Directly connecting number to string port will add a numberToString op in between the new link
  • editor: Do not set website/tab-title to undefined
  • editor: Faster saving of patches / better data compression
  • editor: Files drag'n dropped onto patchfield now corractly snap to op grid
  • editor: Fix bug after some parameter changes patch state was not set to unsaved
  • editor: Fix bug meta tabs would not open correct tab after reloading
  • editor: Fix bug when crashing on very slow connections
  • editor: Fix bug when deleting viz ops content was not removed from patchfield
  • editor: Fix bug where sometimes "save as" did not have the proper project name
  • editor: Fix bug with some tooltips which did not dissappear
  • editor: Fix bugs when cursor entering/leaving patch with mouse buttons down
  • editor: Fix conflict of uploaded screenshot.png with patch-screenshot
  • editor: Fix crash in variable watch view
  • editor: Fix slowdowns and improve performance of patchfield in huge patches
  • editor: Fix: In some cases search dialog op screenshot preview was displayed incorrectly
  • editor: Fixed casesensitiveness for patchinvites
  • editor: Flow mode is much faster with many subpatches
  • editor: Font rendering improvements when zoomed far out
  • editor: Format code of attachments on save for non userops
  • editor: Handle errors due to network outage better
  • editor: If webgl context was lost, show a modal message
  • editor: Mathparser only parses after min length of 3 characters
  • editor: Move "open in new window" to "view patch page", add qrcode
  • editor: Naming scheme: HDR is now called 32bit float texture pixelformat, default is 8 bit ubyte texture
  • editor: New command to pause/unpause vizlayer
  • editor: Notify of ongoing maintenance mode, disallow saving while in maintenance
  • editor: Op search dialog: Show suggestions to dragged port etc.
  • editor: Op selection area works again with pressing shift to add and ctrl to remove ops from selection
  • editor: Op.outBoolNum() new numeric boolean output port, should be used instead of op.outBool from now on
  • editor: Patch settings tab: Showing progress indicator while saving
  • editor: Redesigned port tooltips
  • editor: Remote viewer improved
  • editor: Removed assimp json converter
  • editor: Removed obj2gltf converter
  • editor: Send proper mime-type when loading op-code to prevent firefox warning
  • editor: Settings buttons show activity indicator when waiting for server response
  • editor: Show code example when creating attachment, use modal dialog instead of alert
  • editor: Show object type in param panel if available
  • editor: Show progress bar while loading assets
  • editor: Speed up loading of libs and corelibs
  • editor: Subpatch list now shows a treeview of subpatch hierarchy
  • editor: Team members now have read-only access to all team patches
  • editor: Op crashing when loading patch should not stop loading of patch, op will be removed and error shown
  • editor: Added downgrade selected op command
  • editor: Show op shortname in parameter panel and not full namespace name
  • editor: Format button in editor now only appears for javascript syntax
  • editor: Ops using subtract blendmode fixed typo and added correct subtract blendmode method


  • core: Better handling of big meshes > 64k vertex indices
  • core: Added meyda.js to list of available libs to use
  • core: Fixed handling of dataurls and assetPrefix


  • website: /mypatches now properly ordered by date, creation date shown in "created"-sorting
  • website: Add info to team-page when team has no patches yet
  • website: Add pagination to all huge lists of patches
  • website: Add speedtest option to /browser
  • website: Autosuggestions fields (teams/usernames) are now case insensitive
  • website: Better ipad/safari compatibility
  • website: Disallow login/register while being in maintenance mode
  • website: Disallow reset/forgot-password when still being logged in
  • website: Do not show dev and deprecated ops in searchresults
  • website: Fix centering of uploaded avatar images for users and teams
  • website: Fix holes in grid layout with big patchnames
  • website: Fix markdown style in patch-descriptions
  • website: Fix setting and reading of locationhash information on patch-page and viewer
  • website: Fixed casesensitiveness for patchinvites
  • website: Load projectlibs only once in patch-viewer
  • website: Make licencing information more prominent on patchpage
  • website: Maximize button to show patch in maximum size while keeping 16:9 ratio
  • website: Move patch-templates-overlay to make space for more
  • website: Only show current version of ops in searchresults
  • website: Overview-page for assets and uploaded libraries
  • website: Patch page and exported patches have alpha enabled by default
  • website: Proper thumbnails and titles for public patches when sharing editor link
  • website: Redirect to github discussions
  • website: Show github discussions on /home instead of forum posts
  • website: Show patches on userprofile when not logged in
  • website: Show top patches of last six months on dashboard
  • website: Speed up loading of patchsettings for huge patches
  • website: Speed up patch-overviews and search
  • website: Update code-block style on documentation-pages to work better in darkmode
  • website: Use browser native lazy-loading of images instead of library


  • Added faq entry for social media profile
  • Updated "reporting bugs" faq
  • Updated "working with files" chapter
  • Faq for videoplayback, recording, screenshots creation
  • Faq about supporting
  • Exporting instructions now have video tutorials

Renamed Ops

  • Renamed cannon ops to Ops.Physics.Cannon namespace
  • Renamed Object2json to ObjectStringify
  • Deprecated all Ops.json3d ops
  • Deprecated RgbeToHdrTexture
  • Deprecated IBLMaterial
  • Deprecated WipeTransition
  • Deprecated GrassWobble
  • Deprecated SvgPathes
  • Deprecated MeshSequence
  • Deprecated CircleMovement
5 months ago

New ops

Fixes and enhancements


  • editor: fix bug where port hover does not work immediately after using port suggestion menu
  • editor: add instant notification when patch was saved in different window/by other user
  • editor: add lastSaved and lastExported to patch-export
  • editor: area ui element in subpatches is not visible from outside
  • editor: array inputs and outputs can print the stride (e.g. Array2, Array3 etc)
  • editor: big patches with many subpatches will load much faster, initializing ui elements only when op visible in current subpatch
  • editor: cables CSS is scoped better and less interfering with custom html element classnames, e.g. "button"
  • editor: case insensitive sorting of variables
  • editor: create var shortcut creates texture getter/setter for texture ports
  • editor: disable selection in patchfield while resizing panels
  • editor: file-manager: files can now be duplicated
  • editor: file-manager: files can now be renamed
  • editor: fix bug, when in some cases the order of cables was saved wrongly
  • editor: fix library loading of tonejs
  • editor: fix timeline icons / new general timeline iconbar
  • editor: fix tooltips not always showing up in some cases
  • editor: fix undoing moving multiple ops
  • editor: fix visual bugs when using scaled canvas
  • editor: fix: bugs which caused connections to dissappear
  • editor: fix: clicking output value copies whole value into clipboard not a shortened string
  • editor: fix: not show cable add button circle when hovering an op lying over a line
  • editor: fix: pasting subpatches will not change current visible subpatch
  • editor: fix: undo deletion of subpatch will not make ops visible in current subpatch
  • editor: fix: when creating subpatch cables were hidden bug
  • editor: fixalt+esc to unminimize left tab panel
  • editor: fixed flickering of vizTexure and other viz ops
  • editor: flow visualization can be toggled off completly
  • editor: flow visualization now also shows changes in ports not only in links
  • editor: gizmo axis drags can be undone
  • editor: idlemode will not start when not in fullscreen or focussed the rendering canvas
  • editor: improve suggestion dialog for tags
  • editor: new command: save patchfield screenshot
  • editor: new info area with better docs/hotkeys
  • editor: op more menu now has option "make op resizable" toggle
  • editor: patchfield: better antialiasing for lines and circles
  • editor: patchfield: performance improvements when selecting and moving many ops at the same time
  • editor: remove image preview from parampanel - i.e. in Ops.Gl.Texture
  • editor: show proper error message when user tries to add/remove libs on ops that he/she is not allowed to
  • editor: subpatch in/out ports can be now created from inside a subpatch
  • editor: toggle texture preview between sticky and temporary (temp means: click into patchfield (unselect any op) to remove preview)
  • editor: uploaded .hdr files get converted to rgbe encoded .png files
  • editor: viztexture. vizgraph can now be resized
  • editor: warn user when cloning patch with "private" userops
  • website: add "created by me" filter to mypatches page
  • website: add "feature" badge on all patch-overview pages
  • website: add FAQ for running cables patches on your local machine
  • website: allow for selection of light/dark mode in account settings (for session only now)
  • website: allow for unsubscribe of newsletter in account settings
  • website: dark mode and rework design/layout
  • website: make autosuggest dropdown scrollable and limited size
  • website: op docs: ops can now have links to queries
  • website: patch page iframe/canvas now catches touch-events properly
  • website: switch to dark-mode as a default
7 months ago


  • editor: tab panel: after reloading open last used editor tab again
  • editor: tab panel: on page load, the editor set the tab panel to minimized if it was minimized by the user
  • editor: all sidebar ops can now be inspected like div elements: hold ctrl and hover over sidebar element, then click it to focus op
  • editor: enable browser context menu for images and selectable text
  • editor: fix blurry display of gl patchfield when using os display scaling (win/mac)
  • editor: added command to create a visual area around a group of ops
  • editor: op search dialog: "shortcut buttons" for creating/using variables now available for all types and triggers
  • editor: allow upload of files with any suffix
  • editor: fix file selector shows image preview whenever possible
  • editor: changed lots of icons to modern look
  • editor: parameter panel changed checkbox icon
  • editor: adjusted warning alert colors
  • editor: allow access to and manual creation of backups from menu
  • editor: allow removal of libs and corelibs
  • editor: command palette icons now has mouse over tips
  • editor: comment title can be colorized
  • editor: fix broken image when sending error report
  • editor: fix bug when selecting ops when resizing renderer
  • editor: fix headline in keyboard-shortcuts window
  • editor: fix multiple windows of keyboard shortcuts opened
  • editor: fix right click on port did not disconnect cables
  • editor: fix bug when search dialog was not finding extended title strings
  • editor: fix bug where patch was jumping/moving random ops when interacting in the patch, after having the canvas focused
  • editor: fix bug with dragging text interpreted as file upload
  • editor: fix bug with transform gizmo
  • editor: improved custom op copy pasting between patches
  • editor: keep already entered tags when picking suggestions from dropdown
  • editor: midi messages will cancel going into idle mode
  • editor: new command: "Logging" filter console logging from different components
  • editor: output value inspect dialog now allows you to copy content to clipboard
  • editor: preferences - hide patch bounds option added
  • editor: remember port parameter text editor tabs and reopen them correctly again
  • editor: removal of old svg based patchfield renderer
  • editor: save patch-license on click without reload
  • editor: visually indicate active tab in patch settings
  • editor: suggest "related" tags in patch settings
  • editor: added tips to tips dialog
  • editor: add pako.js to available libraries (

new ops

fixes and enhancements


  • web: display explore/learn/community links when not logged in
  • web: fix long nicknames in author-overlay
  • web: fix tags page
  • web: fix viewer for public patch using user operators
  • web: link to documentation on user-ops list in account settings (to check where it's used)
  • web: show ribbons for example patches on all pages
  • web: team patches now ordered by last updated on teams overview page
  • web: teams now ordered by last updated
  • web: remove all external services and third party cookies/tracking services
  • web: remove push notification service
  • web: remove google analytics tracking
  • web: show accepted invitations as patch-grid


  • core: fix animated values of ops without trigger ports
  • core: fix multiple webgl console warnings
  • core: patchsilent is on by default / reduced unnecessary console logging


renamed ops

  • renamed VertexSinusWobble to VertexWobble
  • deprecated Ops.Deprecated.Math.ApproachInterpolation - use smooth
  • deprecated Systems.Spray - use ArraySpray
  • deprecated TriggerBetween - confusing op, better use between and iftruethen
  • deprecated instanced Indexed ops - confusing ops, better workflows available
9 months ago

Editor / UI

  • editor: op search dialog: reduced size: more compact
  • editor: fix: ports can be animated, even without having updating trigger inputs
  • editor: fix: customShader ports can now be animated or assigned to variables
  • editor: fix: visual glitches when switching subpatches
  • editor: fix: possible to completly remove existing comments on ops
  • editor: fix canvas icon/infobar positioning when canvas is scaled by command "scale canvas"
  • editor: closing tabs does not loose focus of selected op
  • editor: tweaks and fixes for bright editor mode
  • editor: lots of little ui tweaks
  • editor: suggest "related" tags in patchsettings
  • editor: allow for access to and manual creation of backups from menu
  • editor: fix multiple windows of keyboarshortcuts opened
  • editor: save patch-licence on click without reload
  • editor: fix broken image when sending error report
  • editor: allow for removal of libs and corelibs



  • web: fix long nicknames in author-overlay
  • web: link to documentation on user-ops list in account settings (to check where it's used)
  • web: display explore/learn/community links when not logged in
10 months ago

  • op enhancement: Ops.Physics.CastRay - fix problem with order of overlapping bodies
  • op enhancement: Ops.Physics.CastRay - fix problem with not hitting bodies with zero mass
  • op enhancement: Ops.Gl.ShaderEffects.ColorArea_v3 - fix bug crashing when using it with certain materials
  • editor: patchfield - fixed small bugs where elements where not correctly removed after deleting ops
  • editor: fix color selector create cable bug
  • editor: fix bug Ops.Device.* ops where not showing
  • editor: fix bug when deleting subpatch that contain subpatches result in crash
  • editor: fix bug cable add button was not showing up when ops selected
  • editor: alt+drag / alt+shift+drag copy/reconnect cables from port nearby the cursor
  • editor: fix bug where it wast not possible connecting a port with the same port to output of a subpatch
  • editor: fix bug with overlapping ops and vertical align funciton (shift+a)
  • editor: fix bug crashing pixel value inspector spreadsheet opening multiple times
  • editor: cmd+p menu allows for display of buildinfo
  • editor: do not allow editing of patches that have ops in the Ops.Dev namespace on live server
  • web: fix patch licence not showing
  • web: invite page now shows old accepted invites to patches for easier finding
a year ago

  • editor: patchfield fix international character set
  • editor: fix msdf font converter
  • editor: better drag area when dragging ports from the param panel
  • op enhancement: Ops.Gl.Shader.PointMaterial_v4 - fix bug antialiasing did not work with alpha input
a year ago

new ops

op enhancements

Editor / UI

  • editor: gl ui patchfield is now default

  • editor: assigned variables dropdown only contains variables that fit

  • editor: better caching-logic for core and ui in editor

  • editor: better explanation of external-exports (github, netlify, exe)

  • editor: bugfix where users using glui could not edit code

  • editor:,, and now contain information for the last build

  • editor: canvas icon and info area cleanup

  • editor: exporting "single javascript file" now minifies patchconfig and blueprints to optimize filesize

  • editor: file upload: brackets in filenames will be replaced with _ to reduce problems with css properties

  • editor: find: can now search for duplicate assets

  • editor: find: can now search for multiple words

  • editor: fix browser crash/epic load when "inspecting" really huge json structure

  • editor: fix bug not being able to type out decimal values in an animated input

  • editor: fix bug patch not showing when toggle fullscreen mode

  • editor: fix bug when port default value indicator was not working

  • editor: fix bug where exporting assets set as "none" still had all the assets in the export

  • editor: fix bug where numbers where converted to strings after pressing ctrl+z

  • editor: fix copy to clipboard when clicking on value outputs in chrome

  • editor: fix export when using socketcluster library and combined files option

  • editor: fix warnings about textures in texture previewer

  • editor: fixed bug not showing changes after pressing ctrl+z in some cases after typing in numbers

  • editor: GPU Profiler - profile what uses most GPU performance

  • editor: infoarea can be minimized and the state is saved per user

  • editor: make sure connected ports are always greyed out in the parameter panel, even if op says it shouldn't be

  • editor: namespaces and collaborator textfields now are suggesting matching names for users/namespaces

  • editor: new colorpicker dialog / op param panel: color preview box now always up to date

  • editor: profiler - subpatch performance data is more correct over time / show number of port actions per frame / table design

  • editor: properly copy collaborators to new project when using save as

  • editor: rare cases of patch not being saveable because an op can't be serialized, it now shows which op is the culprit

  • editor: show commitmessage in loading screen on dev

  • editor: show licence information for library files in filemanager

  • editor: show texture size when hovering texture preview

  • editor: show visually which op changed when pressing ctrl+z

  • editor: store creation and lastchange of op and add :history to search

  • editor: subpatch creation: fix bug where input/output ops were positioned wrong

  • editor: texture spreadsheet preview button to see first RGBA number values

  • editor: timeline fix: show correct state when auto playing after loadingstatus

  • editor: tweak tooltip styles

  • editor: warning on save and coming back from "idle" if/when cables has been updated in the meantime

  • editor: creating ops by pressing shift+enter in the op select dialog lets you continue adding more ops

  • core: add empty cubemap texture

  • core: remove cubemap corelib

  • core: add tangent, bitangent & vertex index to shadow pass vertex shader (fix bug where displacement would not work in shadow pass)

  • core: cgl_shader: add tangent & bitangent to default vertex shader body

  • core: cubemapframebuffer & texture: add mipmap generation possibility, better default naming


  • web: as a user it is possible to rename your own ops now from the /settings page

  • web: fix wrong example shown on op page

  • web: warns visually if your browser has major performance caveat or uses a software renderer (swiftshader)

  • web: patch invitation mail now shows name of initiator

  • web: patch invitations are no longer shown for patches that already got deleted

  • web: oembed endpoint now displays "made with cables" icon when embedding on reddit/figma/...

  • web: patchview now shows invitation screen instead of 403 for pending invitation

  • web: remove bell icon because it was not really useful / alerts are shown using a red numbers in navbar

  • docs: updated documentation for export-options (

  • docs: added documentation on how to contribute code to cables (

  • docs: update writing shaders documentation

  • docs: update Shadertoy documentation

a year ago

WebGl Ops

Audio Ops


Data Ops

Cables Ops

Editor / UI

  • editor: rework of menubar and iconbar
  • editor: command palette: add zoom in/out commands
  • editor: patch is now marked as unsaved when changing content of an text editor tab
  • editor: saving a patch to the server is now compressed and much faster with bigger patches
  • editor: better saving animation
  • editor: fix cases where pressing shift+e to open first op text-editor did not work
  • editor: multiple text editors of same op/port is possible now. e.g. (1) is appended to title
  • editor: fix minimap positioning
  • editor: new patch navigation iconbar
  • editor: patch settings: toggle between automatic screenshots and manually saving screenshots
  • editor: icon bars show help in infoarea
  • editor: many ui improvements and optimizations
  • editor: drag dropping audio files now adds an AudioBuffer to the patch
  • editor: op param panel and meta panel are now merged into one tabbed panel, when there is not enough space for both
  • editor: pressing ctrl/cmd+enter now cycles canvas modes: normal, patch background and fullscreen
  • editor: exported patches are more mobile friendly / added css for disabling ontouch highlights/outlines and prevent default scrolling rubberband behaviour
  • editor: "save as" dialog now takes given name as opposed to "copy of" when saving
  • editor: invitation list is no longer shown when empty
  • editor: patch invite shows error message when invite fails (with unknown user)
  • editor: include echart library
  • editor: publishing of patches is now only allowed on, not on dev
  • editor: keyboard shortcut tab now shows full content
  • editor: added p5.js to userlibraries
  • editor: fix bug where users where not able to view op attachments


  • web: new patch invites are shown in mypatches dropdown and via red bubble

  • web: all screenshots get converted to webp and are much smaller now

  • web: admins and staff now also are able to accept invitations

  • web: fix link to newest/used op version on example patch page

  • discord bot: publishing a patch will now show a teaser image and author avatar

  • discord bot: will post when a public patch receives lots of likes and comments

  • backend: api reloads when changing handlebar templates

  • backend: change default permission for api endpoints to "forbidden"

  • wordpress plugin: fix warnings and notices with php 7.3

a year ago


Editor / UI

  • editor: output hover graph fixed
  • editor: gradient editor colorpicker fixed
  • editor: pointCloudfromArray and Splinemesh: show warning when using an incompatible material
  • editor: filemanager: convert png/jpg to webp files
  • editor: filenames of converted files do not contain the old file extension anymore
  • editor: support for .avif file format images
  • editor: patchsettings load faster, lazyloading namespaces
  • editor: json structure viewer now works with arrays


  • web: cables editor can now be tried without being registered with limited functionality
  • web: mypatches menu reworked, switch between last patches and invited to patches
  • web: patch lists: hover patch title to see full length name
  • web: added more showcase projects to
  • web: faster "my patches" and "create" dropdowns
  • web: faster loading times using webp screenshots
  • web: database/file server upgraded to faster cpu and more ram
  • web: userops in account-settings are linked to documentation page
  • web: fix examples not being shown on documentation page
  • web: allow for comments on apikeys, show creation date
  • web: fix patch page opengraph thumbnail
  • web: op example patches are easier to spot by using an example badge
  • web: fix display of summary user-op page
2 years ago



  • core: edit webaudio.js to not crash when not connecting an audio context
  • core: better patch crash error messages on screen, e.g. local file access warning / error in code
  • core: tweak rendering of cube bounding boxes
  • core: current shader source code contains info of order of active modifiers (visible in shaderInfo op e.g.)

Editor / UI

  • editor: export: allow for loading of userops in iframe when on cables server
  • editor: export now has an option for iframe embed code
  • editor: export to github and build electron executables
  • editor: click on filename in asset details leads to page that shows patches with this asset
  • editor: do not show userops of other users that start with the same username-letters
  • editor: fix backend errormessage when cloning ops
  • editor: string output port preview now uses available width
  • editor: show error icon in menu bar when any op has an error
  • editor: fix crash where editor not loading correctly when switching tabs rapidly while loading a patch
  • editor: when cloning a patch title proposal is "clone of xxx"


  • web: new screenshots are now delivered as webp files which are way smaller

  • web: do not copy colloaborators on public7example patches

  • web: examples on documentation pages are not longer shown for ops that start with the same characters

  • web: everything now runs on ipv6 as well

  • docs: added page to explain how to report bugs in forum

2 years ago

2 years ago

read our blog post about the november update:

Editor / Ui

  • editor: op search: fixed lag and unexpected change of results... / grey out while searching/waiting
  • editor: op search: penalty points for old version of ops
  • editor: op search: when pressing enter while still searching wait for result to show up then add upmost op
  • editor: search: show extended title content in search results
  • editor: fix shift resizing (to keep aspect ratio) not working every time
  • editor: faster canvas resize
  • editor: preference to hide the icon sidebar
  • editor: fix infoarea resize/close problems
  • editor: helper meshes only drawing when op is really selected
  • editor: subpatch list highlights active subpatch
  • editor: subpatch list now also shows main subpatch
  • editor: better handling of large strings in param panels
  • editor: fix boolean display, always true or false now (not 0)
  • editor: user preferences: choose background pattern for transparent canvas
  • editor: patch asset loading will now start only after the editor is fully initialized
  • editor: op selector fix: some information was hidden
  • editor: bright mode button color
  • editor: upgrade button works better with ports that changed capitalization
  • editor: texture preview is now sticky / must be closed via new close button
  • editor: keyboard shortcuts are now scrollable
  • editor: texture previewer now also shows cubemaps and depthmaps
  • editor: disabling ops now only disables selected ops, not childs / fix crash
  • editor: profiler: shows how many ops are active currently
  • editor: profiler: group by subpatches functionality
  • editor: profiler: group ops by name (e.g. see all time used by "transform ops")
  • editor: better warning when upgrading ops
  • editor: canvas magnifier lens and colorpicker helper
  • editor: file library: fbx and obj files are not automatically converted to glb/gltf files after upload
  • editor: file library: add GLTF/GLB versions of example 3d files
  • editor: file library - added new head gltf model
  • editor: file library: use newest version of AudioPlayer as default op for audio files
  • editor: find - search for ops with errors/warnings/hints
  • editor: pressing shift+e opens the 1st string port on an op
  • editor: timeline splitter element no longer renders over the editor tab
  • editor: patch settings now show legal information
  • editor: json-explorer on outObject and outArray
  • editor: attachments are now correctly loaded after edit and reload of editor
  • editor: on cloning an op markdown documentation and layout information is retained
  • editor: json is now being syntax-highlighted in ParseObject and StringEditor
  • editor: cloning an op copies libs and corelibs over to the new op
  • editor: "you dont own this patch" no longer shown for collaborators
  • editor: show which collaborators are being copied over on "save as"
  • editor: export now allows for not exporting backup files, default is to include them
  • editor: export of patches with url-reserved characters now possible
  • editor: saving patch when someone else makes changes works now (again)

New Ops

Op enhancement and fixes


  • web: possiblity for user to delete own account
  • web: order by patchname on "my patches" page
  • web: namespaces of shared patches are now selectable in namespace dropdown on "my patches"
  • web: allow for admins to schedule release/maintenance and show to logged in users
  • web: bigger warning for users that are on the dev environment
  • web: landingpage is no longer shown on dev/nightly, redirect to /login
  • web: searchfield in top-nav now includes shared patches in extra tab
  • web: speedup of "my patches" dropdown and all pages showing lot's of screenshots
  • web: stop scrolling when using mousewheel on patch
  • web: fps not dropping to 30 when watching a patch fullscreen
  • web: docs: styling and formatting tweaks
  • web: docs: link to github page
  • documentation : Added section how to convert shadertoy patches into the cables equivalent.
  • documentation : Added guide on how to get started with VR inside of cables
  • documentation: add webgl1 & 2 differences section to docs


  • core: shaderEffects keeping gl primitive setting (e.g. pointmaterial did not work with certain shadereffects)
  • core: put under MIT licence
  • core: remove duplicate unused uniforms before compiling shader
  • core: copy extensions to new shader when copying a shader
  • core: corelibs - cubemapframebuffer - remove clear color at renderEnd() (for PointLight clear color fix)


  • exported patch: canvas now has tabindex property/ so that it can receive kreypresses
  • exported patch: fixed a bug when embedding and initializing non existing variables
  • exported patch: finishedLoading callbacks first parameter is now patch object
  • exported patch: now include legal.txt with licence information
  • cables-cli: command line export now allows for skipping of backup export using the -b switch
2 years ago

New Ops

Op Enhancements and fixes

User interface Editor

  • UI: upgrade button for outdated ops
  • UI: fix "create variable" button in op select dialog
  • UI: texture preview is now behind patchfield
  • UI: when leaving a port value input field with an invalid value, reset value to last valid
  • UI: pressing shift while resizing renderer will keep aspect ratio
  • UI: filemanager: better automatic file type to op assignment
  • UI: you can now upload and use webp files as textures
  • UI: inspect output objects: values are now syntax highlighted
  • UI: inspect output objects: now show unescaped html characters
  • UI: inspect output objects: can now be searched using browser search (ctrl/cmd+f)
  • UI: "patch statistics" command
  • UI: when copy pasting linked values, the current value of the link is copied (when output op is not selected)
  • UI: ops can now filter by file suffixes, not only by file type
  • UI: command palette: scrolling via cursor keys now also scrolls the whole list
  • UI: fixed problem where parameter panel was too large, when using the command "scale renderer" < 1
  • UI: fix: backups were not showing up anymore when patch gets bigger
  • UI: op attachment editor now can open multiple editor for attachments that have the same name
  • UI: fix a bug where it showed an nonsense exception when opening an op attachment editor
  • UI: fixed bug where changing the title did not work
  • UI: fix crash when clicking (+) button to add a texture op
  • UI: fix syntax highlighting/error checking for plain text editors
  • UI: fix FPS counter below renderer when limiting FPS
  • UI: port values in parameter panel are now always displayed without exponent notation
  • UI: object output parameter panel now indicates if a object is null
  • UI: file library: removed old files/nonsense files etc. / added glb example files
  • UI: editor: url parameters are copied to editor frame, so you can use UrlQueryParams ops to read parameters in the editor
  • UI: texteditor: core-ops now format code on save, userops present a "format" button on the editor
  • UI: when adding a lib or corelib to an op a modal suggests a reload of the page

Serverside and Access Rights

  • server exporter: skip duplicate files in zip file
  • server exporter: exported patches show an error message when trying to load files without a webserver
  • server: "make owner" now works for non-admins, button is only being shown for owner
  • server: collaborators are now copied over to projects when using "save as"
  • server: userops are now "shareable" in public patches and between collaborators
  • server: corelibs and libs that are attached to userops are now being loaded for collaborators
  • server: userops are now available for collaborators on a project
  • server: userops are now shared between live/dev/nightly

Core changes

  • core: shader respect the hierarchy and extend copies of current shader
  • core: patches with lots of ops load a lot faster now
  • core: fix bug with blendmode problems/premultiplied colors
  • core: fix rare bug producing corrupted textures when loading a new one while old url was still being loaded
  • core: fix problems with google swiftshader compatibility
  • core: new way of using internal core libs for ops
  • core: rewrite cubemap handling


  • web: udpated showcase page:
  • web: /browser rewrite / more params and linkable results
  • web: docs also show "hidden" ports
  • web: patch page: show edit button only if user has rights to edit (e.g. secret urls)


2 years ago

Editor user interface

  • UI: undo/redo - fix bugs/add many more actions
  • UI: undo/redo - grouping of multiple actions
  • UI: undo/redo - Visual undo history list in meta tabs
  • UI: preferences - new option for wheelmode - set this to mousewheel if your mousewheel is scrolling / not zooming
  • UI: preferences - switch between minimalistic or full op search dialog
  • UI: search results - highlight subpatch name when in current subpatch
  • UI: search for :outdated - show ops that could be replaced with a newer version or are deprecated
  • UI: patch-export - now shows patch variables and exports them to (again)
  • UI: patch-export - now shows callbacks provided by the patch and exports them to
  • UI: op params - show value for connected string input ports
  • UI: op params - download button next to file inputs
  • UI: subpatch navigation fix positioning
  • UI: canvas info area - show webgl version, if not default/v2
  • UI: subpatch list is now sorted by name
  • UI: fix bug where FPS was counted wrong and too big


  • Web: more projects were added to "made with cables"
  • Web: better signup email confirmation workflow
  • Web: repository for docs:
  • Web: fix: loggedin users can now see patches that they have a secret-url for

Ops enhancements and fixes

New ops


  • core: fix: it was possible to create textures bigger than allowed by webgl implementation
  • core: fix: cases when op libraries where not loaded
  • core: core is now able to load "modules" seperatly, export only consinsts of used modules
  • core: ability to load and export core libraries as they are used
2 years ago

New ops

Editor user interface

  • UI: canvas menu for seting up which op transform gizmos and helper are shown
  • UI: canvas focus button to quickly change aspect ratio or resolution of renderer
  • UI: better support and automatic detection of touchpads and apple mouse
  • UI: file view: more file type icons / library files can now be downloaded/searched etc
  • UI: ops working with files now show filename in op extenede title
  • UI: search: pressing shift clicking bookmarks/search results will only show op parameters, without scrolling to op (or switching to subpatch)
  • UI: search: ctrl+f/cmd+f always shows search tab
  • UI: search: see all recently used ops
  • UI: better error display of ops
  • UI: fix: editor does not show save button when in read-only mode
  • UI: code tab edit op button reads "edit" when user has rights to edit the op
  • UI: op history: press j/k to cycle between last selected ops
  • UI: editor will pause rendering after 60 seconds of inactivity
  • UI: fixed bug when cursor keys did not work in parameter input fields
  • UI: op parameter header shows if there is a newer version of op available / better warning message and link on op doc page.
  • UI: export patch: option to include all files of the patch
  • UI: command palette: added timeline play/pause/rewind commands
  • UI: varGet/varSet ops filter variables only show by correct type
  • UI: better cache invalidating when uploading json or gltf files
  • UI: performance optimizations of animated op output parameters
  • UI: Mesh helpers now work in WebGL1 aswell
  • UI: cables code-editor now adheres to es2017 standards (async/await)
  • UI: fix bug with "show/hide helpermeshes" not being followed
  • UI: Comment op can no longer throw an error due to MathParser.eval()

Op enhancements and fixes


  • web: util page to debug browser events:
  • web: tweak front page for mobile devices
  • web: my patches list: by default ordered by date of last change
  • web: my patches list: tabs for ordering by create/changed date
  • web: properly integrated "top of the month" to the search and linked to it from the dashboard (
  • web: likes no longer go off-screen when they are "too many" (
  • web: images on search/overview now load for the first few patches
  • web: secret url now loads userlibs and userops
  • web: invite collaborator to patches sending mails, not only add them


  • core: vars: create variable helper functions also work for strings now
  • core: vars: getter ops: only show vars compatible to the selected type
  • core: vars: list always sorted by alphabet
  • core: performance optimizations


  • github: updated coding with cables repo with clear examples of creating port types which are now up to date

Cables CLI

  • cables-cli: now supports -h switch to hide "made with cables" (
  • cables-cli: bugfix: make cables-api export return proper 404 and json on "project not found" error
  • cables-cli: now supports "--assets" to download all/auto/none assets in export


  • daplaya: daplaya no longer displays "made with cables" (


  • discord: forum/published patches/social media are posted on our new discord -
2 years ago

3 years ago

3 years ago

  • Editor Preferences: added zoom speed option
  • Editor Op port output values: click to copy to clipboard
  • Editor: Timeline: easing selection works again
  • Editor: Filemanager filters correct files for current port
  • Editor: Export compatibility option: ES5 transpilation for older browsers
  • Editor: Middle click for quicker linking
  • Editor: Fixed text editor tabs height/cutoff problem
  • Editor: Op search dialog search algorithm improved, e.g. order of words does not really matter anymore
  • Editor: Hold shift key to add ops to selection
  • Editor: canvas resolution field now also shows browser zoom level
  • Web: user settings op page now is now ordered by date of creation
  • Web: Added Github/Coding with cables link to Learn section.
  • Cables-cli: updated
  • Cables-cli: added "combine-js" and "old-browsers" options to cables-cli
  • Core: Fix webgl console warnings in firefox
  • new op: Ops.Value.Preset - State management of all parameters connected to it - Create presets of multiple ops
  • new op: Ops.Systems.ArraySpray - Particle Spray simulation
  • new op: Ops.Mesh.Triangulate2dPath - Triangulate a 2d path to a flat and filled 3d geometry
  • new op: Ops.Devices.OSC.OscNumber - Outputs a single number from a user defined OSC address
  • new op: Ops.Devices.OSC.OscNumbers - Outputs up to 4 numbers from a user defined OSC address
  • new op: Ops.Devices.OSC.OscArray - Outputs an array of data from a user defined OSC address
  • new op: Ops.Devices.OSC.OscMessage - Shows the current active address of an incoming OSC message
  • new op: Ops.Array.GetValuesFromArrayOfObjects - Get an array of values by key of objects in an array
  • new op: Ops.Math.MercatorCoordsArray - Mercator map and center an array of latitudes and longitudes to a local coordinate system
  • new op: Ops.Sidebar.LocalTextureFile - Let the user select a local file as a texture
  • new op: Ops.Array.ArrayPack - Packs multiple arrays into a new array
  • new op: Ops.Array.ShuffleArray3 - Shuffle an array of triplets
  • new op: Ops.Array.FlattenArray - Creates a new array with all sub-array selements concatenated into it
  • new op: Ops.String.CharacterRotate - String rotate characters like a split-flap display
  • new op: Ops.Array.InfoArray2 - min,max and average values of an array3
  • new op: Ops.String.NumTotalLineBreaks - Count number of line breaks in a string
  • Op Enhancement: TextureEffects.Circle - Circle fix position
  • Op Enhancement: Timer op can now be synched to timeline
  • Op Enhancement: pointcloudfromarray input for texture coordinates
  • Op Enhancement: pointmaterial - lookup texture now also affects mask texture
  • Op Enhancement: ObjectGetNumber_v2 - new string type
  • Op Enhancement: ObjectGetObject_v2 - new string type
  • Op Enhancement: ParseObject_v2 - new string type
  • Op Enhancement: SetObjectKeyValue - new string type
  • Op Enhancement: TextureEffects.Scroll - mask parameter
  • Op Enhancement: PointCloudFromArray - fix crash when switching scramble texcoords
  • Op Enhancement: MouseDrag - added input type selection
  • Op Enhancement: ShuffleArray rewrite - now works without any triggers
  • Op Enhancement: Customshader2 - fix bug where vec3 was not updated after saving shadercode
  • Op Enhancement: Array.ArrayLogic user can set value if condition evaluates to true
  • Op Enhancement: Array.ArrayLogic now shows selected mode in UI
  • Op Enhancement: Array.ArrayLogicArray user can set value if condition evaluates to true or false
  • Op Enhancement: Array.ArrayLogicBetween allows pass value when it evaluates to true
  • Op Enhancement: Math.RandomNumbers now generates random numbers when op is created and if seed,min and max. "is changed" Option to output floats or integers.
  • Op Enhancement: Array.ArrayPack2 - Speed optimization.
  • Op Enhancement: Array.ArrayPack3 - Speed optimization.
  • Op Enhancement: Array.ArrayPack4 - Speed optimization.
  • Op Enhancement: Array.TransformArray3- Speed optimization.
  • Op Enhancement: Multiple random number ops can now output floats or integers.
  • Op Enhancement: Array.Array3Average now outputs the correct average values of the array
  • Op Enhancement: Anim.Smooth doesn't break anymore when inc/dec factor is set to zero
  • Op Enhancement: TextureEffects.Shapes2d - now renders correctly on macos
  • Op Enhancement: Array.RandomNumbersArray_v2 - Doesn't output an array of 100 when numValues is set to zero.
  • Op Enhancement: Gl.MainLoop - Now shows in op title, if it's active or inactive
  • Op Enhancement: WebAudio.BiquadFilter - Frequency can now go higher than 1
  • Op Enhancement: Exp.Lsystem_v2 - Fixed bug in rule string creation.
3 years ago

3 years ago

  • Editor: User settings are now called preferences and have a completly new UI (cables->preferences)
  • Editor: You now have to select a license to publish your patch, this license will be shown on the patch page.
  • Editor: Show warning icon indicator, when network is disconnected
  • Editor: Straight lines mode: cables now have edges
  • Editor: Search: (cmd/ctrl+f) now shows where it found the query
  • Editor: Search shows you selected ops and last clicked entries
  • Editor: Search results can now be navigated using cursor keys
  • Editor: Filemanager can switch between icon or list display again
  • Editor: Filemanager list mode shows file size and date
  • Editor: Filemanager list can be sorted by name/size/date
  • Editor: Filemanager search/filter functionality
  • Editor: Filemanager shows size when selecting multiple files
  • Editor: Exported patch better minification
  • Editor: Added LUTmap example files
  • Editor: SVG path point converter: Now also parses polygons elements
  • Editor: Many tweaks
  • Web: browser info page now checks for WebGPU -
  • Web: Basic examples page has been cleaned up and has new sections and examples -
  • New op: Ops.Array.ArrayPack2 - Packs two individual arrays into a new array
  • New op: Ops.TimeLine.TimeLinePlayer - Bundled timeline controls and timeline information
  • New op: Ops.Gl.TextureEffects.Shapes2d - Generates lots of 2d shapes as a texture
  • New op: Ops.Array.ArrayClamp - Clamps array values to a min and max value
  • New op: Ops.Gl.TextureEffects.PaletteTexture - Generate a palette texture with an array input
  • New op: Ops.Array.PaletteLibrary - Huge palette library in array form. Use with Palette texture op.
  • New op: Ops.Array.ArrayMerge_v2 - Only merges 2 arrays together when 2 are present.
  • New op: Ops.Array.ArraySqrt - Calculates the square root of an array
  • New op: Ops.String.LimitLineBreaks - Limit number of lines in a string
  • New op: Ops.Math.IndexFraction - Return fraction of value by index
  • New op: Ops.Gl.Matrix.RandomGridPlacementArrays - Generate recursive random grid positions for instancing
  • New op: Ops.Array.ArrayLogicBetween - outputs an array of 0 and 1 if array value is between of min and max or not
  • New op: Ops.Html.WindowInfo - size of browser window in pixels
  • Enhancement: Mesh Instancing now also works with non-indexed meshes
  • Enhancement: Ops.WebAudio.AudioAnalyzer - User can now pick FFT size
  • Enhancement: Ops.Gl.Meshes.TriangleArray_v2 - Now renders normals correctly with all materials.
  • Enhancement: Ops.Array.ArrayLogic - User can now define a default value when it evaluates to true
  • Enhancement: Ops.Gl.Matrix.WASDCamera_v2 - Added speed parameter
  • Enhancement: Ops.Gl.TextureEffects.Fog_v2 - Complete overhaul. Much easier to use now. Accepts color gradient texture to control fog color over distance.
  • Enhancement: Ops.Array.InterpolateNumbersArray3 - Doesn't output NaN when index is larger than array length
  • Op Enhancement: New string version: Ops.String.Join - Join array values to a string
  • Op Enhancement: New string version: Ops.Sidebar.SidebarText_v2
  • Op Enhancement: Ops.Gl.Meshes.Cylinder_v2 - option flip mapping to horizontal mode
  • Op Enhancement: Ops.Gl.TextureEffects.Stripes_v2 - added circular mode
  • Op Enhancement: Ops.Gl.TextureEffects.ColorChannel - new alpha masking option
  • Op Enhancement: Tweak scaling of Mesh and renamed JsonMesh3d to Ops.Json3d.Mesh3d
3 years ago

  • new op: Ops.Gl.Meshes.ParametricSurface - Creates a 3d mesh from Math expressions
  • new op: Ops.Array.InterpolateNumbersArray - interpolate between all values of an array
  • new op: Ops.Gl.Shader.Shader2Textures - Render a shader to multiple textures
  • UI: remove + button/add button / doubleclick on ops in opselect list
  • UI: subpatch ports can now be renamed
  • UI: fix connecting subpatch outputs in both directions
  • UI: fix copy/pasting of whole subpatches
  • UI: hovering ports now shows values of arrays/strings etc.
  • UI: new tab icons for meta area
  • Fix: mainloop active toggle
  • Fix: Ops.Math.Random2 - replaced rounding of number to floor for correct random distribution
  • API: ops can change title of ports via render.setUiAttribs({title:"do the rendering"});
  • Enhancement: Ops.Gl.Matrix.OrbitControls - reset trigger now also resets position from panning
  • Enhancement: customshader2 show uniform types as ports: int,vec2,vec3,vec4
  • Enhancement: customshader2 better parsing of uniforms
  • Enhancement: Ops.Gl.Phong.LambertMaterial - Added double-sided option
  • Enhancement: Ops.Gl.ShowNormals - Added show tangent & bitangent functionality
  • Rename: Ops.Json.ObjectGetValue renamed to Ops.Json.ObjectGetNumber
3 years ago

3 years ago

3 years ago

3 years ago

3 years ago

  • New op: Ops.Array.ArrayRotate - Rotates the contents of an array
  • New op: Ops.Array.ArraySmoothStep - Applies a smoothstep function to the contents of an array
  • New op: Ops.Array.ArrayPow - Applies a pow function to the contents of an array
  • New op: Ops.Array.ArrayAbs - turns all array contents into positive numbers
  • New op: Ops.Array.FillArrayRandomDuplicates - fill up array to reach given size
  • New op: Ops.Array.PointArray.FillPointArrayDuplicates - fill up points array to reach given size
  • New op: Ops.Points.PointsSphereRandom - Creates random points mapped to a sphere
  • Fix: Ops.Gl.Shader.PointMaterial - now has correct sizes
  • Fix: customshader better uniform management
  • Fix: image compose bugs when using triggeronce
  • Fix: ios artifacts when patch is running in iframe
  • Feature: Ops.Gl.Textures.VideoTexture - output transparent texture while loading
  • Feature: BoolAnim animate only one direction
  • UI: add comments attached to any op in your patch
  • UI: texture preview button for incoming texture ports
  • UI: quick way of adding variables
  • UI: fix wrong unlinking of ops when inserting non fitting op into link center
  • UI: undo of deleting op restores old values
  • Web: patch page menu show qr code for faster mobile access
  • Web: fullscreen button resizes canvas, no fullscreen mode available on ios
  • Web: better navigation menus
3 years ago

3 years ago

4 years ago

4 years ago

4 years ago

4 years ago

  • new op: Ops.Gl.Matrix.Billboard - Rotate an object to always face the camera
  • new op: Ops.Exp.Lsystem - An LSystem is a parallel string rewriting system see:
  • new op: Ops.Trigger.Past - Triggers only once when threshold is crossed
  • new op: Ops.Json.ObjectSwitcher.js - Allows switching between objects
  • new op: Ops.Gl.Meshes.Cross - Draws a cross mesh with controllable thickness and length.
  • new op: Ops.Array.ArraySin - Performs a sin or cos operation on the contents of an array
  • new op: Ops.Array.ArraySum - Adds one number to all values in an array
  • new op: Ops.Array.ArraySubtract - Subtracts one number from all values in an array
  • new op: Ops.Array.ArrayDivide - Divides all values in an array by one number
  • new op: Ops.Array.ArrayModulo - Applies a modulo operation to all values in an array
  • new op: Ops.Array.ArrayMin - Applies a min operation to all values in an array
  • new op: Ops.Array.ArrayMax - Applies a max operation to all values in an array
  • new op: Ops.String.RightPadNumber - number to a string, adds zeroes to reach num decimal places
  • new op: Ops.Audio.MidiJsonNote - Filter midiJson for notes
  • rectangle can now have more than 64k vertices
  • web: "my patches"-page can now be filtered
  • web: menu nav now optimized for mobile devices
  • new command: "find unconnected ops"
  • new command: "find user ops"
  • fix: render2texture: check for max number of MSAA samples
  • UI: you can set color marker for ops manually
  • UI: find better score for ops in current subpatch / show color marker in results
  • UI: fix bug (wrong axis) when pressing A to align ops
  • UI: show multiple lines when dragging multiple links at the same time
  • UI: reset op parameters to default values via op contextmenu
  • UI: added user ops namespace color for better visibility
  • UI: clone op dialog if you don't own the patch
  • UI: many little fixes and tweaks
  • javascript: op coding: better error handling
  • javascript: reduced global scope vars
  • updated made with cables
  • better browser info / responsive layout
  • new tutorial: how to use LSystem
  • new tutorial: custom shader
  • documentation: added "Creating attachments" section
4 years ago

4 years ago

  • new op: Ops.Gl.GlPrimitive - Force rendering of meshes using points,lines or triangles
  • new op: Ops.Gl.Texture2ColorArray - Extract colors from a texture [thanks @lj]
  • new op: Ops.Gl.Canvas2Texture - Convert a canvas to texture [thanks @lj]
  • new op: Ops.Math.Degrees , Ops.Math.Radians - convert radians to degrees and vice versa [thanks @action]
  • worley/cellular/fbm/layer-noise added switch to be tileable
  • patch embedding: new option glCanvasResizeToParent:true
  • fix: customshader bug: not able to save project after editing uniforms
  • fix: webgl 1.0 framebuffer forgetting selected filtering
  • loaded projects now contain all ops of all users of this patch
  • texteditor fix undo history/seperate editor instances for every tab
  • new commands pause / resume execution
  • fix cursor scrolling in op search dialog
  • show "edit code" button when selecting user owned op
  • edit string parameter button bigger
  • possibility to copy patch (and error message) when saving a patch, without having write access
  • many little tweaks and fixes
4 years ago

  • new op * Ops.Gl.Matrix.Camera* - easier camera op by @action
  • editor: use browser default antialias setting
  • web: layout op reference page
  • web: users will stay logged in, even when restarting the browser
  • embedding patches: quicker way to set variable values: patch.setVariable(name,value)
  • ui: linking an input port to Ops.Value.Value will adopt the previous value and set a title
  • ui: dragging the patch (right click or pressing space) will not loose selection anymore
  • ui: fix "view op code"
4 years ago

  • doc: added 9 tipps to UI walktghrough
  • new op: * Ops.Gl.TextureEffects.Noise.WorleyNoise*
  • new op: * Ops.Gl.Shader.CustomShader*
  • new op: * Ops.Gl.Shader.Shader2Texture*
  • web: you can now set your password in settings
  • UI: project settings: owner is able to change the patch owner
  • UI: new value dragging user interface / dragging values now works on whole field / from left to right
  • UI: op parameter: spacing between value groups
  • UI: text-editor: switch between files via dropdown menu
  • fixed: webgl warning VertexAttribDivisor
  • fixed op textmesh border (premultiplied blendmode)
4 years ago

  • new op: * Ops.WebAudio.WebAudioContextRunner* - Helper op for unmuting on iOS & Chrome
  • new op: * Ops.Sidebar.ColorPicker* - Lets you enter / pick a color in the sidebar
  • new op: * Ops.Sidebar.DropDown* - Drop-down for the sidebar
  • new op: * Ops.Sidebar.TextInput* - Enter text in the sidebar
  • fix: chrome 66 automatically muting audio playback (sigh)
  • web: improved search functionality
  • web: added possibility to search for ops
  • ui: changed default file list view to list
  • ui: changing file list view will be set after reload
  • ui: file view and timeline opened state will be set after reload
  • ui: new command: create new file
  • ui: it is now possible to edit files on the server (.json,.csv,.frag,.vert)
4 years ago

4 years ago

4 years ago

4 years ago

4 years ago

4 years ago

5 years ago

5 years ago

  • new op: * Ops.Gl.Screenshot* - download the current screen as .png file by triggering
  • new op: * Ops.Gl.QrCode* – generates a QR-Code, example: <>
  • new op: * Ops.Devices.Mobile.LockOrientation* - force screen orientation
  • fix: ArrayBuffer3x - added reset button - does not start at 0,0,0, but on first value given
  • new command: reset renderer size
  • fix: animation renderer: speed + less problems when resizing canvas
  • fix: removed ipad “rubberbanding” when viewing patch in new window
  • fix: mousepicker compatibility with hires screens
  • fix: command: set renderer size can now set size bigger than browser window.
5 years ago

  • op: TextureEffects.ChromaticAberration - new parameters: smooth and masking
  • ui: Op Select - browse ops by namespace
  • fix: patch export now includes all (external) libraries
5 years ago

5 years ago

  • new op: * Ops.Gl.TextureEffects.ColorMap* - map colors to luminance
  • new op: * Ops.Gl.ShaderEffects.Bend* - bend objects along an axis (thanks kusma)
  • op fix: * Ops.Json.ObjectGetObject* – Key input works again
  • op fix: * Ops.Json.ObjectGetValue* – Key input works again
  • ui: faster startup/loading time of big patches
  • timeline: overview double click toggle area to whole project length
  • timeline: cursor position percentage display
  • patch page: tweaked info display / mobile optimized
  • tweaked/fixed animation renderer/exporter
  • new video tutorial: [embed a cables patch into your website](
5 years ago

5 years ago

  • web: you can now personalize your profile: <>
5 years ago

5 years ago

  • new op: * Ops.Gl.TextureEffects.SSAO2* - new screen space ambient occlustion
  • new op: * Ops.Gl.TesselateGeometry* - create more triangles in a geometry/mesh
  • new op: * Ops.String.SubString* - subset of a string between one index and another
  • new op: * Ops.String.StringLength* - number of characters in a string
  • new op: * Ops.String.StringTrim* - remove whitespace from start and end of string
  • new op: * Ops.String.Lowercase*
  • matcapMaterialNew experimental screenSpace normal calculation in shader
  • UI: dragging values of parameters is much slower now / shift accelerates
  • UI: dragging integer port values now only results in integers
  • UI: fixed loading of old patch version
  • core: grey defaultshader now works with shaderEffects/shaderModules
  • core: better switching between glsl version 1 and 3 / compatibility defined
  • tweaked names for many ops
  • web: changed font for better readability and get rid of typekit once and for all
  • web: examples page revamped
5 years ago

5 years ago

5 years ago

  • new op: * Ops.Gl.Phyllotaxis* calculate phyllotaxis pattern coordinates
  • ui: animation render as modal window / new command “animation renderer” +progressbar
  • new op: * Ops.Math.GaussianRandomArray* - random numbers fitting a Gaussian, or normal, distribution
5 years ago

5 years ago

5 years ago

  • New Op: * Ops.Html.WindowHasFocus* - detect if the browser window/tab has focus
  • ui: SubPatch navigation breadcrumb
  • UI: preview image: background toggle by click to see transparency
  • ui: fix: copy and paste subpatches
  • ui: fix export finished window overflow
  • ui: fix bug where previewer made everyting really slow
  • ui: escape: much faster and reactive op add/search
  • ui: more commands
5 years ago

  • CMD: new command show changelog
  • UI: create project by choosing from predefined templates
  • UI: rework: bookmarks
  • UI: show changelog since last us
5 years ago

  • ui button to report errors
  • ops display red dot when has an error
  • ui: code editor does not rescale patch
  • ui: file library/editor do not overlap sidebar
  • ui: usersettings dialog
  • ui: more commandpalette commands
  • ui: fix hover info area
  • ui: added a (customisable) sidebar – to customise hit cmd + shift + p, enter a command and tick the pin icon (edited)
  • ui: CMD+ENTER - toggle maximize renderer
  • ui: command palette shows all commands
  • ui: new command open patch website
5 years ago

  • new ops: cubemapCamera, cubeMapFromTextures, cubeMapMaterial
  • fix * Ops.Gl.Meshes.Sphere* mesh glitches
5 years ago

  • right click drag multiple links at once
  • rework: search (CMD+F)
  • rework: add op UI
  • UI: add op search much faster
  • UI: rendering op layout as images/svg
  • UI: op highlight animation after creating/search+click
  • UI: copy/paste visual feedback
  • UI: rework icons/cursor when dragging links
  • UI: op namespace colors everywhere
  • UI: better Project settings Tag-UI
  • UI: new feature: command palette (CMD+P)
  • UI: theme: high contrast mode
5 years ago

  • feature: randomanim: pause between animations
  • new op: * Ops.Gl.GridTransform* - transform and arrange elements into a grid
  • fix: basicMaterial - fix bug, texture was showing correct only after reload
  • fix: svgTexture - fixed problem, project could not be saved
  • fix: webCamTexture - performance tweak / enabled/disabled switch (edited)
  • fix: * Ops.Gl.Texture* wasn’t setting filter correctly in some cases (edited)
  • published video tutorials at: