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

changelog

a month 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
2 months ago

2 months ago

  • many renamed ops to new naming guidelines, list of all changes: cables
  • Web: Filter Ops By Collections cables
  • Web: Clean up Layout of op detail page
  • UI: show Op Modes in the title, e.g. Blendmodes of TexturEffects
  • UI: new inSwitch UI Element for faster switching instead of dropdown element
  • UI: Scroll in patch using mousewheel and alt/shift keys
  • UI: Coding Ops: checking syntax for errors when coding before saving
  • UI: code editor much better auto completion
  • UI: Fix more cases of overlapping ops
  • UI: newly created user ops should now show up in op search immediately
  • UI: create variable shortcut in op select now works for all types
  • UI: fixed browser crash/infinite loop when deleting parent op of a newly created port using subpatch "create port"
  • Core: cleaned up port create functions cables
  • new op: Ops.Gl.Meshes.RectangleRounded - Draws a rectangle with rounded corners
  • new op: Ops.Gl.TextureToPoints - Create points by sampling texture
  • new op: Ops.Array.ArrayLogic - Performs logical comparison operations on a single array of numbers
  • new op: Ops.Array.ArrayLogicArray - Performs logical comparison operations on two arrays
  • new op: Ops.String.ConcatMulti.js - Joins multiple strings together
  • new op: Ops.Array.SortArray - Sorts an array of numbers with one of two modes - ascending or descending
  • new op: Ops.Array.Array3VectorLength - Returns the length of a vector for every triplet in an array
  • new op: Ops.Devices.Midi.MidiTranspose - transposes midi notes by given number
  • new op: Ops.Array.Array4toArray3 - convert an array4 to array3 by dropping every 4th number
  • Enhancement: Ops.Gl.Meshes.PointCloudFromArray - Array Input for Vertex Colors / control color of every particle
  • Enhancement: Ops.Anim.SineAnim - now has trigger out
  • Enhancement: Ops.Array.ArrayPack3 - now has trigger out
  • Enhancement: Ops.Array.Array_v2 changed dropdown to switch
  • Enhancement: Ops.Array.Array_v2 - now shows selected mode in op view
  • Enhancement: Ops.Devices.Midi.* - add output port grouping to all Midi ops
  • Enhancement: Ops.Devices.MidiNote - add toggle functionality
  • Enhancement: Ops.Devices.Midi.MidiNRPN - add clear functionality
  • Enhancement: Ops.Gl.Meshes.SimpleWireframe - now also works with unindexed meshes
  • Fix: Ops.Html.FontFile - Fixed file loading problems when viewing outside of the editor
  • Fix: Ops.Gl.Shader.WireframeMaterial - fix bug when other Materials stop working after using WireframeMaterial
  • Lots of smaller tweaks and fixes
2 months ago

3 months ago

7 months 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
7 months ago

7 months ago

9 months ago

9 months ago

9 months ago

10 months 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: youtu
  • 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 cables
  • 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 cables
  • better browser info / responsive layout cables
  • new tutorial: how to use LSystem youtu
  • new tutorial: custom shader youtube
  • documentation: added "Creating attachments" section
a year ago

a year 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
a year 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"
a year ago

  • doc: added 9 tipps to UI walktghrough cables
  • 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)
a year 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 cables
  • 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)
a year ago

a year ago

a year ago

a year ago

a year ago

2 years ago

2 years ago

2 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: <cables>
  • 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.
2 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
2 years ago

2 years ago

2 years ago

2 years ago

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

2 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
  • Ops.Gl.TextureEffects.Color - finally has blendmodes
  • Ops.Gl.TextureEffects.Vignette - better controls + color
  • 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
2 years ago

2 years ago

2 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
2 years ago

2 years ago

2 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
2 years ago

  • Ops.Devices.Mouse.MouseDrag - add option to not limit the value range
  • CMD: new command show changelog
  • UI: create project by choosing from predefined templates
  • UI: rework: bookmarks
  • UI: show changelog since last us
2 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
2 years ago

  • new ops: cubemapCamera, cubeMapFromTextures, cubeMapMaterial
  • fix Ops.Gl.Meshes.Sphere mesh glitches
2 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
2 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: youtube