changelog
2024-04-03 - 24 days ago
New Ops
- new op: Ops.Anim.ArraySmooth - Smooths out jumps in values in an array
- new op: Ops.Array.Array3PointEditor - Visually edit positions in an array of point coordinates
- new op: Ops.Array.EmptyArray - An Empty Array
- new op: Ops.Array.PointArray.PointsRectangle - Generate an array of XYZ coordinates of an rectangle
- new op: Ops.Cables.UploadAsset - Upload a file into the cables patch assets using a base64 string
- new op: Ops.Devices.Browser.JsExpression - Evaluate a javascript expression
- new op: Ops.Gl.GlBlendFunc - Set gl blendmodes directly
- new op: Ops.Graphics.Intersection.IntersectTestPoint - Test intersect bodies collision against a point/coordinate
- new op: Ops.Html.CompareImages - Compares two images and shows the difference as a pink color
- new op: Ops.Html.ImageElement - Create an image(img) html element
- new op: Ops.Json.TriggerObjectSetNumber - Set a number value of an object using trigger
- new op: Ops.Json.TriggerObjectSetString - Set a string value of an object using trigger
- new op: Ops.Math.Normalize - Normalize a vector
- new op: Ops.String.Base64.DownloadBase64File - Trigger a download of a base64 binary file
- new op: Ops.String.HandleBarsHtml - String conversion using handlebars template engine
- new op: Ops.String.Md5 - Create a md5 hash of a string
- new op: Ops.String.StartsWith - Does a string starts with another string?
- new op: Ops.String.StringSortLines - Sort each line of a string alphabetically
- new op: Ops.String.StringSwitchByString - Switch between multiple strings by a string index
- new op: Ops.Trigger.RouteTriggerAnimated - Animated switching between things
Op Enhancements
- Ops.Anim.LFO_v2 - New Feature: Added range min/max inputs
- Ops.Array.ShuffleArray3_v3 - Improvement: More random random numbers
- Ops.Array.ShuffleArray_v3 - Improvement: More random random numbers
- Ops.Data.Compose.String.CompStringAppend - New Feature: Added option do add a linebreak at the end of the new string
- Ops.Gl.CanvasInfo_v3 - New Feature: Fixed HDPI/Retina calculation of pixel numbers
- Ops.Gl.FontMSDF_v2 - Improvement: Set default values to libaray example files for quicker setup
- Ops.Gl.GradientTexture - Bugfix: Fixed radial mode: Flip option was ignored / default gradient was not shown without making changes
- Ops.Gl.GradientTexture - Improvement: Added XY and YX mode to generate diagonal color gradients
- Ops.Gl.GradientTexture - Improvement: Optimized/reduced unnecessary recreation
- Ops.Gl.GradientTexture - Improvement: Radial mode is more compatible/same colors like the simple gradient
- Ops.Gl.ImageCompose.Dither_v2 - New Feature: Added mask texture input to control where dithering is applied and mask source paramter to select the colorchannel
- Ops.Gl.ImageCompose.Math.RgbMathExpression - New Feature: Add parameter to set alpha channel
- Ops.Gl.ImageCompose.RandomNumberTexture - Bugfix: Fixed: Seed parameter was not changing anything
- Ops.Gl.ImageCompose.RectangleTexture_v5 - New Feature: Add mapping coordinates position and size to map parts of an image onto the rectangle
- Ops.Gl.ImageCompose.RectangleTexture_v5 - New Feature: Added "inner" parameter to create an transparent inner hole in the rectangle
- Ops.Gl.ImageCompose.RectangleTexture_v5 - New Feature: Added switch to change coordinates system, e.g. pixel based
- Ops.Gl.ImageCompose.RectangleTexture_v5 - New Feature: Added texturemapping for the rectangle and masking
- Ops.Gl.ImageCompose.ZoomBlur_v2 - Bugfix: Fixed problem with masks
- Ops.Gl.Matrix.Camera_v2 - Bugfix: Added identity toggle to reset the viewmatrix to 0,0,0 - Bugfix: Expected coordinates are used and not influenced by default viewMatrix transform
- Ops.Gl.Matrix.Scale - New Feature: Added non uniform axis scaling parameters for convinience
- Ops.Gl.Meshes.GeometryToTexture_v2 - New Feature: Added "vertex color" output option
- Ops.Gl.Meshes.MeshInstancerFromTexture_v3 - New Feature: Added options for billboarding
- Ops.Gl.Meshes.PointCloudFromTexture - Bugfix: Fixed positioning problems when using the current pointmaterial for pointCloudFromTexture and with other operators
- Ops.Gl.MeshInstancer_v4 - New Feature: Added options for billboarding
- Ops.Gl.RenderToTextures_v3 - Bugfix: Fixed bug: Output textures where not updated correctly every frame
- Ops.Gl.Shader.BasicMaterial_v3 - Bugfix: Texture transform is now usable with only an opacity/mask texture connected
- Ops.Gl.Shader.PointMaterial_v5 - New Feature: Added rotation texture input: Will 2d rotate the texture coordinates of the billboard by the red color channel value (1==360 degrees)
- Ops.Gl.Texture_v2 - Bugfix: Typing in the url input will not blur element
- Ops.Gl.Textures.CopyTexture_v3 - New Feature: Added option to fllip the image on Axis X/Y
- Ops.Gl.Textures.MontageTextures_v2 - New Feature: Added arrangement parameter
- Ops.Gl.Textures.MontageTextures_v2 - New Feature: Added option to flip order
- Ops.Gl.Textures.MontageTextures_v2 - New Feature: Added Size Parameter to adjust final image sizing strategy
- Ops.Gl.Textures.TextureToBase64_v4 - New Feature: Added Binary size output number
- Ops.Graphics.Intersection.IntersectBody - Bugfix: Can now be used in repeat loops/randomcluster etc.
- Ops.Graphics.Intersection.IntersectBody - New Feature: Added point shape
- Ops.Graphics.Intersection.IntersectRaycast - New Feature: Will now pick the clostst body to the camera, not the very first one found
- Ops.Html.CSS_v2 - New Feature: Added option to activate/deactivate style
- Ops.Html.Cursor_v2 - New Feature: Added option to also add that cursor to the parent element of canvas, e.g. for using this with forceCanvasSize op
- Ops.Html.ElementClientRect - New Feature: Added parameter to switch between CSS pixels or Display pixels
- Ops.Html.ElementsPositionsByClass - New Feature: Added output: Total number of elements that were analyzed
- Ops.Html.ImageElement - New Feature: Added class input and style attribute editor
- Ops.Html.ImageElement - New Feature: Added CSS Display parameter option
- Ops.Math.MapRange - New Feature: Added option to turn off clamping, so values can be bigger then the specified min/max input range
- Ops.Sidebar.LocalFileToDataUrl - New Feature: Added Accept input to filter accepable files by extension
- Ops.Sidebar.LocalFileToDataUrl - New Feature: Added Option to select multiple files at the same time
- Ops.Sidebar.LocalFileToDataUrl - New Feature: File Select Button now shows Filename when a file was selected
- Ops.Sidebar.SideBarImage - New Feature: Added Image Element output
- Ops.Sidebar.XYPad - New Feature: Added HTML element output of the canvas. can be used to listen to more events
- Ops.String.RandomString_v3 - New Feature: Added seed, removed trigger
- Ops.Ui.VizTexture - Improvement: Show pixel grid when zoomed in
- Ops.Ui.VizTextureTable - New Feature: Add row parameter to scroll through texture rows
Ops Renaming/Deprecation
- deprecated: Deprecate.Sidebar.LocalTextureFile
- deprecated: Dev.Debug.CablesEvents
- deprecated: Gl.Matrix.ScaleXYZ - Use the normal scale op, now has nonscalar scaling
- deprecated: Gl.Meshes.SuperShape - Use supershapes ops from the supershapes extension
- deprecated: Html.ElementSize - Use: Ops.Html.ElementClientRect
- rename: Canvas2texture - CanvasToTexture
- rename: Extension.SocketCluster.SocketClusterRecieveArray to SocketClusterReceiveArray
- rename: Extension.SocketCluster.SocketClusterRecieveBoolean to SocketClusterReceiveBoolean
- rename: Extension.SocketCluster.SocketClusterRecieveNumber to SocketClusterReceiveNumber
- rename: Extension.SocketCluster.SocketClusterRecieveObject to SocketClusterReceiveObject
- rename: Extension.SocketCluster.SocketClusterRecieveString to SocketClusterReceiveString
- rename: Extension.SocketCluster.SocketClusterRecieveTrigger to SocketClusterReceiveTrigger
- rename: Graphics.Intersection.IntersectRaycast to Graphics.Intersection.IntersectTestRaycast
- rename: MatcapmaterialNew - Remove New
- rename: Move base64 stuff to Ops.String.Base64
- rename: Texture2ColorArray to TextureToColorArray
Editor/UI
- editor: Update dropdown with available libs for op after uploading library to patch (no reload required anymore)
- editor: Fix cache update when op is onknows (fixes "no op by id"-error when switching between live/dev)
- editor: Allow editing (sub)patchops for team members with full access
- editor: Create new op: Default example code now contains ports etc. should be easier
- editor: Edit op tab: New help button added linking to documentation
- editor: New command to create a new version of an existing op, will fail if user has no access to current namespace
- editor: Better positioning of new ops, that where dragged from an existing port, are nor positioned above the linked port on the same x position
- editor: Animated dropdown/switch parameter should not slow down everything anymore
- editor: Should now be impossible to save negative sized renderers
- editor: Hold ctrl to snap y position when turned of "snap to grid"
- editor: Fixed problem with clicking into background when modal dialogs where showing
- editor: Do not save disabled state after an op has crashed
- client side op layout svg rendering respecting the theme colors in op select search
- editor: Show a hint in the patch summary panel, if the patch was saved on a different environment, e.g. saved on dev.cables.gl but opened on cables.gl
- editor: More tabs are re-opened after reloading the editor
- editor: Filemanager: More filetype icons
- editor: Filemanager can now open text file assets in the text editor
- editor: Fixed problem with subpatch ops could not dropped on to cables to insert/autolink
- editor: Improved patchfield rendering quality, pixel perfect positioning/no subpixels for patchfield rectangles
- editor: Added option to continue to load the patch on missing op
- editor: Better positioning of input/output ops in subpatchOps, position is now set automatically only if the y position is "wrong"
- editor: Better simulation of a long scrolling page
- editor: Check for - And duplicate _v in opnames on creation
- editor: Creating ops fixed bug with asynch check name
- editor: Fix bug with weird behaviour after deleting and adding viz ops
- editor: Math ops automatically has an expression title, e.g: 1+X when the first port is 1 and the second port is connected
- editor: New command (ctrl/cmd+p) "delete unused patch ops"
- editor: Outdated ops are less intrusive now, no warning sign anymore, "new version" message now smaller
- editor: Patch analysis - Added list of serialized size of ops, to debug what op is taking how much space
- editor: Patch analysis - Added to main menu
- editor: Patch analysis - Fixed order of most used ops
- editor: Port editor: Input field for additional uiAttribs
- editor: Show texture preview when hovering texture ports or cables, can be switched to old behaviour in the user preferences.
- editor: Subpatch ops corelibs where not found if not used outside, or at the first usage.
- editor: Subpatch ops fixed bugs with connecting new ports to output op / improved automatic linking of new ports etc.
Website
- website: Allow editing and deletion of op changelog entries
- website: Add "leave project" button to patchpage for collaborators
- website: Show "patch has been added to team" in activityfeed
- website: Remove patchops when deleting patch and warn on delete project page/tab
- website: Jump back to changelog on oppage after editing/adding an entry
- website: Ops now can have a license
- website: Updated cables.gl/made-with-cables/
- website: Re-layout of cables.gl home, removed masonry.js, added github issues to the feed
- website: Show small version of activity feed on cables.gl home
- website: /browser now shows HDR capability
- website: Improved automatic port docs: Added object type and possible string title values of parameter switch
- website: Move frontend js to es6-style/webpack
- website: Check for - And duplicate _v in opnames on rename
- website: Fix error in patchlist dialog on patchpage with "op already in list"
- website: Filter list of custom ops used in project for unique names on patch page
- website: Speed up loading of /mydata page
- website: Fix missing pagination on /mydata page
- website: Fix exception when reading example-patchlists on oppage
- website: Bugfix exporting of patch for team members
- website: Clean up follows/followers list for non-existant users
- website: Return correct json error response on export with no rights for patch, for cables-cli
More
- docs: Add FAQ on how to share a patch to get help/feedback
- cables-cli: Update to es6 modules/import, show errormessage on unknown response
- other: Increase server performance for database and webservers
2024-02-15 - 2 months ago
Editor/UI
- editor: subpatch ops: breadcrumb nav now shows a button for "manage op"/port editor
- editor: subpatch ops: added object type settings for object ports
- editor: fixed a lag that cable position was lagging behind when dragging ops
- editor: cursor changes when hovering ops or cables in the patchfield
- editor: search:
:selected
shows all selected ops - editor: speed up writing and reading of caches
- editor: add more information to response of creating/updating/cloning ops
Website
- website: remove empty link to licence when "no licence chosen"
- website: filter patchops in "my data" by authorname
2024-02-05 - 3 months ago
op enhancements
- op enhancement: Ops.Sidebar.SideBarImage - Added Image Element output
- op enhancement: Ops.Math.MapRange - added option to turn off clamping, so values can be bigger then the specified min/max input range
- op enhancement: Ops.Sidebar.LocalFileToDataUrl - Added Accept input to filter accepable files by extension
- op enhancement: Ops.Sidebar.LocalFileToDataUrl - File Select Button now shows Filename when a file was selected
Editor/UI
- editor: Default param panel now also shows patch description
- editor: GPU profiler can show which op is part of the measurement, will be further improved over time...
- editor: Read permissions for cloning/publishing/... also for subpatchops
- editor: Tweaked z-indices for maximized canvas/fix overlapping
Website
- website: Fix bug with ops not found when created on dev/live and vise versa
- website: Adjusted text color in tables to be more bright
- website: Fix activity feed page was broken in incognito window in some browsers
- website: Fix bug in limit update when deleting patch with multiple assets
- website: Fix cache-writing bug on ops-namespace page that led to weird seperation of lists
- website: Fix canonical url for namespace page when namespace ends with "."
- website: Open example patch from editor-link, even when not public
- website: Properly show and calculate numbers for patch assets