changelog
Op Enhancements:
- op enhancement: Ops.Array.ParseArray_v2 - add option to "split newlines"
- op enhancement: Ops.Game.PersonController - fix mixup of input and output ports
- op enhancement: Ops.Gl.Meshes.Rectangle_v3 - still trigger next when not active
- op enhancement: Ops.Gl.PixelProjection - fix bug where it was not internally updating viewport resolution
- op enhancement: Ops.Gl.Textures.CopyTexture - bugfix where it wrongly switched to an empty texture
- op enhancement: Ops.Gl.ShaderEffects.Render2TexturesSlots_v2 - upgraded to new shadermodifier system
- op enhancement: Ops.Gl.ShaderEffects.Render2TexturesSlots_v2 - no longer only a boolean, you can not select different options of what to render into which texture
- op enhancement: Ops.Gl.Shader.ShaderInfo - outputs for current frag and vert source code
- op enhancement: Ops.Libs.Lottie.LottieSVGPlayer - read loop setting also from numbers, not strict bool only
- op enhancement: Ops.Sidebar.TextInput_v2 - clear trigger input
- op enhancement: Ops.Sidebar.TextInput_v2 - switchable type text/password
Editor / UI
- editor: added new command "add op by name", which can also be used to create deprecated or old ops
- editor: better highlighting of errors in shadercode
- editor: error dialog now shows link to github for reporting problems
- editor: fix updating ops to new version in subpatches
- editor: fix "you do not own this patch" always displayed in example patches
Website
- website: fix op overview page for old and deprecated ops, add extensions
- website: fix warning/info for old version of extension-ops on oppage
New Ops:
- new op: Ops.Arrays.ArrayToArrays - splits an array up into an array of arrays
- new op: Ops.Gl.TextureEffects.PixelColor - fill image with one color picked at a position
- new op: Ops.Gl.Shader.PositionAsColorMaterial - draw mehes using XYZ position coordinates as RGB color
- new op: Ops.Array.PointArray.CircularPoints - create arrays for circular shapes, helix,circle etc
- new op: Ops.Gl.LayerSequence - todo:UPDATE 2D TEMPLATE!
- new op: Ops.Graphics.Geometry.ObjGeometry - parse an obj string to a geometry object
- new op: Ops.Gl.TextureEffects.Math.RgbTransform - transform RGB values interpreted as XYZ coordinates
- new op: Ops.Array.Array3Sum - add number to every XYZ member of array3x
- new op: Ops.Math.MulMatrixXyz - multiply XYZ values with a gl matrix vec3 x mat4
- new op: Ops.TimeLine.TimeLineLength - current set length of the timeline
- new op: Ops.Html.MarkdownToHtml - markdown markup language to html parser
- new op: Ops.Extension.ReactionDiffusion.ReactionDiffusionSystem_v2 - new version: better and optimized reaction diffusion system
Op Enhancements:
op enhancement: Ops.Gl.Shader.AttributeAsColorMaterial - added texture coordinate input toggle
op enhancement: Ops.Devices.Mouse.MouseDrag - added area option for canvas "parent" element
op enhancement: Ops.Devices.Mouse_v3 - add normalization switch: more normalizing options
op enhancement: Ops.Gl.Perspective - add option to switch axis vertical/horizontal field of view
op enhancement: Ops.Gl.Matrix.ScreenPosTo3d_v3 - switch for normalized input values
op enhancement: Ops.Boolean.ToggleBool_v2 - also output default value on patch load
op enhancement: Ops.Math.TriggerRandomNumber_v2 - fix infinite loop bug, when activated no dupes and min max is the same number
op enhancement: Ops.Html.WindowInfo - added output, detect if patch is opened in an iframe or not
op enhancement: Ops.Gl.Textures.VideoTexture_v3 - new output port: shows if user interaction is needed to start
op enhancement: Ops.Gl.Textures.VideoTexture_v3 - now needs to be triggered to update
op enhancement: Ops.Gl.Textures.VideoTexture_v3 - show user interaction button to start like audio output op
op enhancement: Ops.Gl.Meshes.Star - z position for peaks
op enhancement: Ops.Gl.Meshes.Rectangle_v3 - tangents fixed/geom not output if not linked/renamed active to "render" etc
op enhancement: Ops.Ui.VizTexture - now also uses cubemaps alpha channel
op enhancement: Ops.Html.WindowInfo - add absolute scroll-height of body
op enhancement: Ops.Array.Array3RandomSelection - fixed random seed behaviour
op enhancement: Ops.Array.ReduceArray3_v3 - add methods to remove random points by threshold and duplicate points
op enhancement: Ops.Gl.Meshes.TriangleArray_v2 - fix bug with not updating in some cases
op enhancement: Ops.Gl.ShowNormals_v2 - output geometry/toggle if it is rendering itself
op enhancement: Ops.Ui.VizStringLong - added scroll slider / performance optimization for very long strings
op enhancement: Ops.Devices.Midi.MidiNote - learned input parameter are transfered to remote viewer
op enhancement: Ops.Devices.Midi.MidiCC - learned input parameter are transfered to remote viewer
op enhancement: Ops.Devices.Midi.MidiNoteFilter - learned input parameter are transfered to remote viewer / refresh parameter when changing notes etc. fixed an infitnite loop problem,
op enhancement: Ops.Devices.Keyboard.KeyPressLearn - learned input parameter are transfered to remote viewer
op enhancement: Ops.Ui.VizStringLong - fix bug where linenumbers would overlap with text
op enhancement: Ops.Gl.Matrix.GetProjectonMatrix - fix bug, was using a reference, not a copy of the projectionmatrix
op enhancement: Ops.Gl.Textures.WebcamTexture_v3 - now only asks for permission if "active"-port is enables
op enhancement: Ops.Ui.VizStringLong - visualize there is more content to scroll to by fading out the first/last line
op enhancement: Ops.Ui.VizArrayTable - visualize there is more content to scroll to by fading out the first/last line
op enhancement: Ops.Devices.Mouse.Mouse_v3 - cleanup op ports and remove stuff thats mostly not used/better default values
op enhancement: Ops.Gl.Pbr.PbrEnvironmentLight - added workaround for amd cards where cubemaps were rendered wrong, because of clearColor
op enhancement: Ops.Array.FillArrayRandomDuplicates_v2 - array now has the correct length / no trigger required anymore to generate
op enhancement: Ops.Physics.Ammo.AmmoWorld: option to turn off automatic removal of bodies from inactive cables nodes
op enhancement: Ops.WebXr.Vr.VrController - now correctly registers all button interactions
op enhancemeht: Ops.Ui.VizObject - now shows if it can not stringify an object, has more alternative ways to show them
op enhancemeht: Ops.Ui.VizObject - show class name in op extended title
op enhancemeht: Ops.Ui.VizTextureTable - performance optimized: only read pixels that will be shown / update less often / start at top left pixel of texture
op enhancement: Ops.Gl.Meshes.Rectangle_v3 - fixed tangents/bitangents - works now with pbrmaterial+heightmaps etc. as expected
op enhancement: Ops.Gl.MediaRecorder - write correct error message to output port
op enhancement: Ops.Html.PlayerControlPanel_v2 - fix states and add visible boolean
op enhancement: Ops.Html.PlayerControlPanel_v2 - add "is playing" in-port, add outports for dragging
op enhancement: Ops.Ui.SubPatch - fix non-connected ports to PatchOutput when creating subpatches
op enhancement: Ops.String.Split_v2 - warn if input contains stings and "number" checked, make output behave the same as Ops.Array.ParseArray_v2
op enhancement: subpatches: fix a bug when copy pasting patchoutput op it would not continue to trigger to the outside
op enhancement: geometries: geometry merging: keeping correct normals and handling indexed vs unindexed meshes
op enhancement: stride independent array ops now can copy over the stride info from previous op
op enhancement: object get string/number/object ops now do work with more js object types
op enhancement: unset object outputs are now always null by default
Editor / UI
editor: 2d template now uses LayeredSequence and not depthTest ops
editor: introduce "extensions" that can be added to patches as collections of ops that will be loaded on demand
editor: dragging a port onto a link reroutes the link
editor: you can copy paste images directly into the editor and they will be uploaded as files
editor: command pallete: dynamic, new context related commands, like jump to bookmarks, editor tabs, subpatches, canvas elements etc...
editor: middle mouse quicklinking
editor: all ports can now be set as an extended title, it will show port name and value next to the op title
editor: "attention" sign icon will show up in grey if outdated ops exist in patch
editor: op search dialog: op gets negative points, if there are no fitting ports to dragged port or active link
editor: op search dialog: op gets bonus if the first port fits the current dragged port or active link
editor: improved patchfield font rendering when font is displayed very small
editor: fix bug where text-editor was not resized correctly after window resize
editor: fix bug where canvas bottom ui panel was not positioned correctly
editor: show an error message, if browser does not fullfill requirements to run cables in some special cases
editor: greatly improved patch background mode
editor: in patch background mode, you can press shift+enter to hide patchfield
editor: canvas icon info bar: button to switch between multiple renderer canvasses
editor: more math sign ops
editor: fix bug in some cases moving ops, their cables left some residue on the patchfield
editor: fix bug in some cases ops jumped away when starting to drag or just clicking
editor: better syntax highlighting in json inspect
editor: better syntax highlighting in glsl error dialogs
editor: removed .obj file to old json3d format converter
editor: fix bug where button on cables was centered/flickering in some situations
editor: in safari don't use pointerlock feature
editor: port suggestion dialogs and op doc page show overwritten port title uiattrib
editor: when editing and saving an op, that is used multiple times, last one clicked will again be shown/selected after saving
editor: fix: in some cases pressing "x" was not disconnecting all cables
editor: fix bug where dragging an asset from the filemanager was creating an op in wrong subpatch
editor: filemanager does not cache images anymore
editor: fix "sourcemap missing" warnings on cables.gl
editor: always show patchinfo in parampanel in example patches
editor: fix "userops not shown" displaying wrongly in opsearch
editor: open editor only for string-editor ports when pressing "shift-e"
editor: show right mousebutton icons in info-area
editor: fix linebreaks in port-inspect window for strings
editor: fix bug where default value of variables was set wrongly when changing via dropdown
editor: remove unused and duplicated qrcode library
editor: remove meshseq converter
editor: load deprecated/old ops only on demand in editor, reduce loading time and size
editor: fix patch pause/resume from command pallete (ctrl-p)
editor: copy over tags and description when cloning a patch
editor: fix LocationHash changes not being read in editor
editor: add "external assets" to find options, add command to find ops using external assets
editor: send errorreports automatically on dev.cables.gl
Editor: Texture Preview
- editor: texture preview overlay is now click through and does not stop interacting with the patchfield
- editor: texture preview can be minimized and its remembered after reload
- editor: texture preview can be set to half transparent
- editor: texture preview shows resolution
Editor: Timeline
- editor: timeline: fix cursor has correct position when zooming with mousewheel
- editor: timeline: fix bugs with rewind/foward buttons being offsetted
- editor: quicklinking via middle mouse button from op to op
- editor: see through ops if cables are run below op
Website
- web: visual unit testing improved a lot
- web: update browser detection lib for /browser
- web: redirect old version of op-page to newest version for bots/anonymous users
- web: add only newest version of op to sitemap.xml
- web: remove unused and duplicate qrcode library
- web: fix display of wrong state for "request access" button on patchpage
- web: fix bug with lost "summary" on op-page when cloning ops from core
- web: only load needed op-code on patchpage
- web: fix bug on patchpage where assets would not be loaded when location-hash ist given
- web: allow to link mastodon profile on account settings page
- web: show warning when visiting patchpage of a patch that uses ops in the Dev namespace
Misc
- blog: make new mobile navigation work on blog as well
- cables-cli: add option to export without subdirectories
Op Renaming / Deprecating
- renamed: Gl.CalculateNormals to Ops.Geometry.CalculateNormals
- renamed: Gl.TextureEffects.PaletteTexture to Ops.Gl.Textures.PaletteTexture
- renamed: Gl.TextureEffects.RGBMath to Ops.Gl.TextureEffects.Math.RgbMath
- renamed: Gl.Textures.Float32ToRgbeTexture to Ops.Gl.TextureEffects.Float32ToRgbeTexture
- renamed: Mesh.Triangulate2dPath to Ops.Geometry.Triangulate2dPath
- renamed: ReactionDiffusionSystem op to Ops.Extension.ReactionDiffusion.ReactionDiffusionSystem
- renamed: ShowNormalsMaterial to Ops.Gl.Shader.AttributeAsColorMaterial
- renamed: Value.DelayedValue to Ops.Value.DelayeNumber
- renamed: Value.DelayedValue to Ops.Value.DelayNumber
- renamed: Value.DelayedValueSimple to Ops.Value.DelayNumberSimple
- renamed: Devices.OSC to Extension.Osc
- renamed: Libs.ECharts to Extension.ECharts
- renamed: Libs.TeachableMachines to Extension.TeachableMachines
- renamed: Net.SocketCluster to Extension.SocketCluster
- deprecated: CircleTransform - use Ops.Array.PointArray.CircularPoints
- deprecated: Gl.MorphGeometries - use Ops.Gl.MeshMorph
- deprecated: Anim.RelativeTime - use Ops.Anim.Timer_v2
- deprecated: Api.Ifttt.IftttTrigger - outdated
- deprecated: cannon physic ops - use Ops.Physics.Ammo
- deprecated: Deprecated.Math.Max2 - use Ops.Math.Max
- deprecated: Gl.Array3ToTexture - use: Ops.Gl.TextureFromColorArray
- deprecated: Gl.Shader.TextureLookupColorMaterial
- deprecated: Gl.ShaderEffects.Bulge
- deprecated: InteractionListener - outdated
- deprecated: Json.ObjectRelay - use Ops.Json.GateObject
- deprecated: mqtt ops - outdated
- deprecated: ObjectChanged - use Ops.Trigger.TriggerOnChangeObject
- deprecated: ShowTexCoordsMaterial - use new Ops.Gl.Shader.AttributeAsColorMaterial
- deprecated: String.HashIdDecode - outdated
- deprecated: String.HashIdEncode - outdated
- deprecated: String.Split_v2 - use Ops.Array.ParseArray_v2
- deprecated: String.StringNew2Old - not needed anymore
- deprecated: String.StringOld2New - not needed anymore
- deprecated: WebAudio.Scale.ChordTriad - outdated/not usable
New Ops:
- new op: Ops.Array.ArrayChunkDuplicate - repeat chunks of an array multiple times
- new op: Ops.Array.ArrayMathExpressionTrigger - Calculates a user defined mathematical expression
- new op: Ops.Browser.JsMemory - browser js memory consumption information
- new op: Ops.Gl.Geometry.FreezeMeshes - capture all following meshes into one geometry
- new op: Ops.Gl.Geometry.GeometryToObj - Generate an .obj file as string from a geometry
- new op: Ops.Gl.Shader.SetUniformFloat_v2 - set a uniform number value of the current shader
- new op: Ops.Gl.Shader.SetUniformTexture - set a uniform texture of the current shader
- new op: Ops.Gl.ShaderEffects.ModuloVertexPosition - vertex shader modulo operation on vertex position
- new op: Ops.Html.PlayerControlPanel_v2 - html player controls to be used with mediaplayers
- new op: Ops.Math.TriggerMathExpression - calculates a user defined mathematical expression
- new op: Ops.Ui.VizArrayChart - Displays information of the distribution of numerical values in an array
- new op: Ops.Ui.VizStringLong - Displays long input string on the patchfield
- new op: Ops.WebXr.Vr.Vr - rendering on webxr virtual reality immersive devices
- new op: Ops.WebXr.Vr.VrController - tracking of vr hand controller
Op Enhancements:
- op enhancement: Ops.Array.ArrayFromNumbers - greyout numbers that are out of the limit
- op enhancement: Ops.Array.ArrayFromNumbers - toggle slider input for numbers
- op enhancement: Ops.Array.SubdivideArray3_v2 - added loop toggle, for smoothing closed shapes
- op enhancement: Ops.Array.SubdivideArray3_v2 - subdiv of 0 should return original array
- op enhancement: Ops.Debug.Console - fix bugs after removal, console output looks like intended etc
- op enhancement: Ops.Gl.CanvasFocus - add trigger to focus canvas
- op enhancement: Ops.Gl.CubeMap.RenderToCubemap_v2 - add option for 32bit cubemap textures
- op enhancement: Ops.Gl.CubeMap.CubemapToEquirectangularTexture_v2 - many fixes, also can now output RGBE encoded equirectangular projection
- op enhancement: Ops.Gl.CubeMap.Skybox - add type texture to input port for suggestions
- op enhancement: Ops.Gl.GLTF.GltfNodeTransforms_v2 - fix gltf-space select
- op enhancement: Ops.Gl.GLTF.GltfNodeTransforms_v2 - scale array output now contains animated scale values if available
- op enhancement: Ops.Gl.GLTF.GltfScene_v3 - set default values for roughness/metalness/baseColor correctly
- op enhancement: Ops.Gl.GLTF.GltfScene_v3 - fix problems that where happening when stacking gltfscenes into each other
- op enhancement: Ops.Gl.GLTF.GltfScene_v3 - show a gizmo icon if the node has transformations, hover to see numbers
- op enhancement: Ops.Gl.GLTF.GltfVertexAnim - fix crash when changing/editing nodename to a nonexisting node
- op enhancement: Ops.Gl.GradientTexture - add "randomize colors" trigger
- op enhancement: Ops.Gl.LineFont_v2 - fixed invalid null elements in output array
- op enhancement: Ops.Gl.MainLoop - fix wrong greyout of pixel unit parameter
- op enhancement: Ops.Gl.Matrix.ArrayPathFollowParticles_v2 - add warning if not below a pointmaterial
- op enhancement: Ops.Gl.MeshMorph - fix crash on missing corelib
- op enhancement: Ops.Gl.Meshes.GeometryToTexture_v2 - can use shadereffects now to modify vertex positions
- op enhancement: Ops.Gl.Meshes.GeometryToTexture_v2 - added automatic size option
- op enhancement: Ops.Gl.Meshes.GeometryToTexture_v2 - added texture empty pixels now on bottom
- op enhancement: Ops.Gl.Meshes.GeometryToTexture_v2 - only recalculating when geometry was changed
- op enhancement: Ops.Gl.Meshes.GeometryToTexture_v2 - option to sort by axis
- op enhancement: Ops.Gl.Meshes.MeshInstancerFromTexture_v2 - added texturecoords texture input port
- op enhancement: Ops.Gl.Meshes.MeshInstancerFromTexture_v2 - got rid of gl console warnings / optimized memory consumption
- op enhancement: Ops.Gl.Meshes.PointCloudFromArray - fix performance problem when updating vertex colors often
- op enhancement: Ops.Gl.Meshes.PointCloudFromTexture - fix webgl console warning
- op enhancement: Ops.Gl.Meshes.TriangleArray_v2 - add vertexcolors, texture coordinates and ability to not render the mesh
- op enhancement: Ops.Gl.Orthogonal_v2 - added option to no fixed axis mode
- op enhancement: Ops.Gl.Pbr.PbrMaterial - fix bug in structure view where sometimes Material was shown as "none"
- op enhancement: Ops.Gl.Pbr.PbrMaterial - fix crash when using with ambientlight
- op enhancement: Ops.Gl.Pbr.PbrMaterial - if no light is configured, it will use a default simple pointlight setup and show a warning
- op enhancement: Ops.Gl.Pbr.PbrMaterial - show only warning if using default light
- op enhancement: Ops.Gl.Shader.CustomShader_v2 - fix issue with customshader not using textures on gltf meshes
- op enhancement: Ops.Gl.ShaderEffects.AreaRotate_v2 - fix crash on missing corelib
- op enhancement: Ops.Gl.ShaderEffects.AreaScaler_v3 - add missing shadermodifier corelib
- op enhancement: Ops.Gl.ShaderEffects.ClampVertexPosition_v2 - internal compatibility update
- op enhancement: Ops.Gl.ShaderEffects.DiscardMaterialAlpha - added alpha to coverage, sharpened alpha to coverage and dither alpha modes
- op enhancement: Ops.Gl.ShaderEffects.FresnelGlow - fix crash when using Fresnel twice in the same render branch
- op enhancement: Ops.Gl.ShaderEffects.InstancedDisplacementMap_v2 - apply strength parameter in rotation mode
- op enhancement: Ops.Gl.ShaderEffects.TextureProjection_v2 - added more blendmodes
- op enhancement: Ops.Gl.ShaderEffects.TextureProjection_v2 - added texture coordinate channels as mappings
- op enhancement: Ops.Gl.ShaderEffects.VertexDisplacementMap_v4 - added option to displace geometry with vertex colors
- op enhancement: Ops.Gl.TextureEffects.ColorMapRange - fixed editor crash when entering unknown mesh name
- op enhancement: Ops.Gl.TextureEffects.ColorMapRange - set channel defines on op load, read default values
- op enhancement: Ops.Gl.TextureEffects.Noise.Voronoise_v2 - change default "num" value to 20 to reflect shader default value
- op enhancement: Ops.Gl.TextureEffects.Noise.WorleyNoise_v2 - rename "Amount Map" to "Strength Map" in editor
- op enhancement: Ops.Gl.TextureEffects.WaveformGradient_v4 - new version does not create transparent pixels, just black and white
- op enhancement: Ops.Gl.Textures.CombineTextures - add 32bit format
- op enhancement: Ops.Gl.Textures.TextTexture_v4 - texture wrap mode switch
- op enhancement: Ops.Json.AjaxRequest_v2 - set output ports to "null" on request error
- op enhancement: Ops.Libs.Mediapipe.MpPoseTracking - outputs segmentation mask texture
- op enhancement: Ops.Math.TriggerRandomNumber_v2 - add option to not have consecutive duplicate integer numbers
- op enhancement: Ops.Net.WebSocket.WebSocket_v2 - output raw message, add uierrors on invalid json and connection error
- op enhancement: Ops.Patch.LoadingStatus_v2 - pause timeline on load if "play timeline" is unchecked
- op enhancement: Ops.Physics.Ammo.AmmoBody - array input for creating multiple bodies at once
- op enhancement: Ops.Physics.Ammo.AmmoBody - change default radius to 0.5 to reflect default of sphere
- op enhancement: Ops.Physics.Ammo.AmmoBody - new shape: "Triangle Mesh" - triangle exact collisions for low poly meshes
- op enhancement: Ops.Physics.Ammo.AmmoBodyCollision - get ammo collisions with exact/start/contains matching
- op enhancement: Ops.Physics.Ammo.AmmoCharacter - set default position where character is positioned after triggering reset
- op enhancement: Ops.Physics.Ammo.AmmoEmitter - add option to control index appended to body name
- op enhancement: Ops.Physics.Ammo.AmmoRaycast - add output of hit xyz positions
- op enhancement: Ops.Physics.Ammo.AmmoWorld - active toggle removes/adds bodies into the world
- op enhancement: Ops.Physics.Ammo.AmmoWorld - add output of all current collisions in the scene
- op enhancement: Ops.String.StringEditor - add inline css option to dropdown of styles
- op enhancement: Ops.String.StringEditor - add sql mode to editor-syntax-dropdown
- op enhancement: Ops.TimeLine.TimeLinePlay - add trigger to pause timeline
- op enhancement: Ops.Trigger.TriggerOnChangeTexture - toggle to ignore default/empty texture
- op enhancement: Ops.Ui.SubPatch - save manually entered values for in-ports
- op enhancement: Ops.Ui.VizLogger - add "clear" trigger to empty log
- op enhancement: Ops.Ui.VizTexture - draw dark border around it, so you can see the boundings of transparent texture
- op enhancement: Ops.Ui.VizTexture - toggle to show texture infos in preview
- op enhancement: Ops.WebAudio.AudioRecorder - add data-url output
- op enhancement: Ops.WebAudio.TextToSpeech.Say_v2 - fix voices selection dropdowns
- renamed: move browser api stuff into Ops.Browser namespace, e.g. browserinfo/webshare etc
- renamed: CubeMapCamera op to Ops.Gl.CubeMap.RenderToCubemap
- renamed: deprecated old webvr ops
- renamed: cleaned up duplicate Ops.Json.ObjectStringify_v2 ops
- renamed: SetUniformValue to SetUniformFloat
- renamed: TimeLineUI to Ops.Html.PlayerControlPanel_v2
- renamed: deprecated CustomTextureEffectShader
Website:
- web: accept/decline requests for collaboration rights, decide between "full access" and "read only"
- web: allow to leave projects from accepted invitations on invites page
- web: better layout for invite page
- web: do not show past accepted invitations for patches that i no longer am a collaborator in
- web: fix nav overlapping on quest 2 browser
- web: fix qr-code size on mobile patchpage
- web: fix userop deletion button on op-page
- web: fix wrong owner username display in project overviews
- web: made with cables updates (cables.gl)
- web: make /view/ ("open in new window") work with secret url
- web: pagination for "made with cables" page
- web: pagination for changelog page
- web: red bubble with invites/requests is now clickable
- web: request collaboration rights for patch on patch page
- web: revoke pending invitations in patchsettings
- web: revoke pending team invitations on teamsettings page
- web: show "open in editor" button on patchpage for teammembers
- web: show last change date on /mypatches when sorting by it
- web: show pending access requests in patchsettings
- web: teaser for discord/meetup/github
Core:
- core: cgl shader: in/out attribute automatic management, shader mods can define optional attributes
Editor/UI:
- editor: add "trigger variable" to suggestions when dragging out-port
- editor: add autosuggest to inline-css/css mode
- editor: add fuse.js library for fuzzy search, can be used in userops now
- editor: add sql mode to code editor
- editor: added U keyboard shortcut to go up a level in the subpatch hierarchy
- editor: allow for export without subdirectory
- editor: build electron on cables servers, remove github requirement
- editor: configure permissions on patch for collaborators ("full access" and "read only")
- editor: default skip backup json in export, add option
- editor: do not draw helper if framebuffer resolution is not of the native aspect ratio, to prevent stretched helper renderings
- editor: dragging ops snap visually to x positions of existing groups of vertical stacked ops
- editor: export patch does not contain "made with cables" anymore, please still credit and link us somewhere
- editor: faster param panel html rendering
- editor: fix bug when using "existing variable" on out-port would create getter
- editor: fix bug where ctrl+s saves the op when pressing immediately after minimizing editor
- editor: fix bug where ctrl+s would not save the patch if specific html elements where focussed
- editor: fix bug where error/warning dots disappeared from ops after saving the patch
- editor: fix bug where on some focussed html elements play/pause of timeline did not work
- editor: fix crash when opname somehow became "null", default to empty string
- editor: fix ops that force themselves to be set as active op and rerender parampanel
- editor: fix port dragging line length was to short sometimes
- editor: fix timeline selection rectangle not showing
- editor: fix/change license information for cannon.js library
- editor: handle errors (no permission, project not found, ...) properly in all exports
- editor: hide leftovers of transform gizmo on patchload that appeared sometimes
- editor: op search dialog sup- editor: fix bug in subpatch-list where order of children was not always correct
- editor: port.isLinked() also returns true if assigned to variable or is animated
- editor: remove delay of space to play/pause timeline on elements other than the patchfield
- editor: remove namespace-name warning for userops
- editor: remove urls from export json if exported
- editor: remove wrongly displayed errors in editor-tabs when using inline css
- editor: revoke pending invitations in patchsettings
- editor: searching for ops: when dragging cables or inserting into existing ones: ops in same namespace are ranked higherports basic math functions shortcuts: +-/*
- editor: send invitations with "read only" permissions form collaboration tab
- editor: shift+A: improved automatic ordering of ops, improved handling trees and branches of ops, better solving overlapping ops
- editor: show if op needs to be linked on certain ports, or needs parent to be able to work correctly
- editor: show pending access requests in patchsettings
- editor: skip empty descriptions in keyboard shortcuts list
- editor: support for .jxl file format
- editor: texturepreview will show animated stripes if a color channel is >1.0 or <0.0"
- editor: vertical compress ops working better
- editor: z-index of canvas is not 0 in editor, so it is the same as in exported patches
Docs:
- docs: add section on patch permissions (cables.gl)
- docs: create new section on embedding patches (cables.gl)
- docs: updated docs for exe-export and add explanation for exporting without subdirectories
Misc:
- cables-cli: fix deprecated dependencies, show better error messages (github.com)
- cables-daplaya: updated electron, fixed osx build, added osx-notes to readme (github.com)