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

changelog

6 months ago

WebGl Ops

Audio Ops

HTML 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 cables.gl, 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

Website/misc

  • 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

7 months ago

Ops

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

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

Ops

Core

  • 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

  • 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

8 months ago

8 months ago

read our blog post about the november update: undefined

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

Website

  • 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

  • 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)

Export

  • 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
a year 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

Website

  • web: udpated showcase page: undefined
  • 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)

Docs

  • docs: docs are now more integrated: undefined
  • docs: open sourced documentation: undefined
  • docs: added faq transparent patch undefined
a year 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 docs.md (again)
  • UI: patch-export - now shows callbacks provided by the patch and exports them to docs.md
  • 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

Website

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

Ops enhancements and fixes

New ops

core

  • 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
a year 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

Website

  • web: util page to debug browser events: undefined
  • 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 (undefined)
  • web: likes no longer go off-screen when they are "too many" (undefined)
  • 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

  • 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

  • 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" (undefined)
  • 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: daplaya no longer displays "made with cables" (undefined)

Discord

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

2 years ago

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

2 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 - undefined
  • Web: Basic examples page has been cleaned up and has new sections and examples - undefined
  • 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
2 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
2 years ago

2 years ago

2 years ago

2 years ago

2 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

3 years ago

3 years ago

3 years ago

3 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: undefined
  • 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 undefined
  • 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 undefined
  • better browser info / responsive layout undefined
  • new tutorial: how to use LSystem undefined
  • new tutorial: custom shader undefined
  • documentation: added "Creating attachments" section
3 years ago

3 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
3 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"
3 years ago

  • doc: added 9 tipps to UI walktghrough undefined
  • 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)
3 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 undefined
  • 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)
3 years ago

3 years ago

3 years ago

3 years ago

3 years ago

3 years ago

4 years ago

4 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: <undefined>
  • 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.
4 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
4 years ago

4 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](undefined)
4 years ago

4 years ago

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

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

4 years ago

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

4 years ago

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

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