Skip to content

0.4.0

Compare
Choose a tag to compare
@github-actions github-actions released this 28 Oct 13:14
· 41 commits to develop since this release
4491bad

Standalone

  • standalone: activate introtour and tips for new users
  • standalone: add "export - patch" to create backup and import back to cables.gl
  • standalone: add "op package" button and command to load ops via npm install
  • standalone: add basic html export to run projects on webserver
  • standalone: add changelog to manage-op tab
  • standalone: add field to editorpreferences to set authorname for created ops
  • standalone: add hotkeys to native menu, add default items
  • standalone: add option to open last saved patch to editor-settings
  • standalone: add renaming of op command and button
  • standalone: add ui for adding npm packages to ops in "manage op"
  • standalone: add ui to organize hierarchy of op-directories
  • standalone: always open welcome tab when starting with empty patch
  • standalone: autoload Ops.Extension.Standalone
  • standalone: better sync between external editors and cables (saved state, reload code, ...)
  • standalone: delete node_modules dir after removing last npm dependency
  • standalone: direct downloads (e.g. DownloadTexture) to system downloads folder or the one set in editorpreferences
  • standalone: do not add npm packages that failed to install, show error
  • standalone: fix "send error report" does nothing
  • standalone: fix "set patch title" command
  • standalone: fix AssetPath op on windows
  • standalone: fix adding attachments to ops
  • standalone: fix adding core-libs to ops
  • standalone: fix adding libs to ops
  • standalone: fix attachment code not visible or editable
  • standalone: fix bug with saving initial, empty, unsaved project
  • standalone: fix bug with stay/leave always leaving the patch when opening a new one in unsaved state
  • standalone: fix bug/crash when renaming/cloning to patchop
  • standalone: fix cloning of ops on windows
  • standalone: fix creating and editing new files
  • standalone: fix creating subpatchops in new and unsaved patches
  • standalone: fix encoding problems in comments and vizops
  • standalone: fix loading of subpatchops in existing patches
  • standalone: fix oscsend dependencies
  • standalone: fix patchtitle not being shown in summary
  • standalone: fix saving of op documentation to contain less data
  • standalone: fix setting currenttime in videotexture
  • standalone: fix special character issue
  • standalone: fix subpatchop creation and port linking
  • standalone: handle assetpaths that contain get-parameters
  • standalone: handle request errors when trying to fetch versioninfo and events in welcome page
  • standalone: hide menubar on externalcanvas and popout-renderer
  • standalone: ignore "external urls" in check if asset exists
  • standalone: improve startup speed and speed of loading/reloading patches
  • standalone: load npm dependencies after ui started
  • standalone: load op documentation for ops not in core
  • standalone: load ops in application-data directory in new patches
  • standalone: load/install npm packages and op-dependencies on project load
  • standalone: log npm errors to error console
  • standalone: make "Ops.Standalone." default namespace
  • standalone: make opdirs work without base/, user/, team/ subdirectory
  • standalone: make os-paths available via CABLES.platform.paths
  • standalone: make projecttitle/filename changeable in editor and via command
  • standalone: make sure assets relative to project always have /assets in ports
  • standalone: make sure projectfile always ends with .cables
  • standalone: react properly to doubleclicking .cables-files
  • standalone: refine error-levels to not open console too often
  • standalone: refresh filemanager after saving patch
  • standalone: remember window size and position on close, restore via native-menu
  • standalone: replace "upload file" button with "add file", add icon to menubar in filemanage, add menuitem
  • standalone: reupload/replace file in file-manager tab
  • standalone: show info in logfile when electron needs restart during development
  • standalone: show loading indicator while npms are being installed
  • standalone: show op directory/path in manage op tab
  • standalone: show op path in manage-op tab
  • standalone: show op-screenshots in opselect
  • standalone: speed up loading of opdirs
  • standalone: standalone now always uses high resolution timer with nanoseconds precision
  • standalone: store saved patches in recent documents
  • standalone: support editing of op-summary from manage-op tab
  • standalone: try to resolve unknown op-names against other environments (dev.cables.gl/cables.gl), when online
  • standalone: update electron to 31.2.1
  • standalone: use internal npm and dependencies, faster and less extraction time on windows
  • standalone: warn if trying to add op directory to new project without saving

New Ops

  • new op: Ops.Array.ArrayNumberRamp - Create an array that contains X numbers between start and end values
  • new op: Ops.Color.HSLtoRGB - Convert HSL to RGB
  • new op: Ops.Color.LuminanceContrast - Calculate the luminance contrast between two colors
  • new op: Ops.Color.RGBLuminance - Calculate the luminance of a RGB color
  • new op: Ops.Color.RGBToCMYK - Output the CMYK value of a RGB color
  • new op: Ops.Color.RGBtoHSL - Convert RGB color to HSL values
  • new op: Ops.Html.ElementCss3DTransform - 3d Transform a HTML element by using CSS3D properties
  • new op: Ops.Extension.Standalone.Ffmpeg - FFmpeg video converter toolbox op
  • new op: Ops.Extension.Standalone.Files.CreateFile - Create a new empty file on your local harddrive
  • new op: Ops.Extension.Standalone.Files.Exist - Check if a file exists on the local file system
  • new op: Ops.Extension.Standalone.Files.FileUrlToPath - convert file-url to path
  • new op: Ops.Extension.Standalone.Files.Makedir - Create a directory on the local file system
  • new op: Ops.Extension.Standalone.Files.OpenFileManager - Open the native file manager application using that path
  • new op: Ops.Extension.Standalone.Files.PathToFileUrl - convert local path to file-url
  • new op: Ops.Extension.Standalone.Files.ReadDir - Read all entries in a directory
  • new op: Ops.Extension.Standalone.Files.ResolvePath - Resolves a paths into an absolute path
  • new op: Ops.Extension.Standalone.Files.SelectDir - Choose a directory on your hard drive
  • new op: Ops.Extension.Standalone.Files.SelectFile - Choose a file on your hard drive
  • new op: Ops.Extension.Standalone.Files.Stat - Get statistics about a file on the local file system
  • new op: Ops.Extension.Standalone.Files.SystemDirs - Get Default System Directories Paths
  • new op: Ops.Extension.Standalone.Files.Watch - Watch a directory, get a trigger when a file changes
  • new op: Ops.Extension.Standalone.Files.WriteBinaryFileFromBase64 - Create a binary file on the local file system from a base64 string
  • new op: Ops.Extension.Standalone.Files.WriteTextFile - Write a string to a text file on the local file system
  • new op: Ops.Extension.Standalone.Net.HttpServer - Create a Web/Http server locally
  • new op: Ops.Extension.Standalone.Net.HttpServerHttpServerResponse - Answer http requests by sending string to the browser/client
  • new op: Ops.Extension.Standalone.Net.IpAddress - Outputs your local IP Adress
  • new op: Ops.Extension.Standalone.Net.Osc - OSC Connection
  • new op: Ops.Extension.Standalone.Net.OscSend - send data to a OSC device
  • new op: Ops.Extension.Standalone.Net.ReadTextFile - Read a text file as string from the local file system
  • new op: Ops.Gl.ImageCompose.Noise.GaborNoise - Render "gabor noise" into a texture
  • new op: Ops.Gl.ImageCompose.Noise.Shardnoise - Render "shard noise" into a texture
  • new op: Ops.Html.SetCssVariableUrl - Set CSS variable URL value
  • new op: Ops.Ui.VizArrayGraph - Visualize Arraty as line graph

Op Improvements

  • feature: Ops.Cables.UIMode - Added output "Is Standalone" is true if we are in cables electron standalone
  • feature: Ops.Gl.GradientTexture - Add XX and YY option to have a one axis gradient that is sizesize pixels big and not size1 pixels (e.g. needed to add dithering)
  • feature: Ops.Gl.GradientTexture - Added option to add dithering to reduce color banding
  • feature: Ops.Gl.ImageCompose.ImageCompose_v4 - Added clear checkbox parameter, uncheck for feedbacking
  • feature: Ops.Gl.ImageCompose.PixelDisplacement_v4 - Added pixel mapping mode: e.g. in case the displacement texture is smaller than the texture to displace. useful for displacing with smaller noise textures
  • feature: Ops.Gl.Pbr.PbrMaterial - Added toggle for double sided, which will flip normals when the face is not front-facing
  • feature: Ops.Gl.Textures.MontageTextures_v2 - Added X/Y overlap mode, e.g. for comparing images visually to each other
  • feature: Ops.Html.QuerySelectorAll - Catch errors and show them to the user
  • feature: Ops.Ui.VizArrayTable - Added stride input. Force a stride for display. Default value 0 will not change stride at all. Will display an error if the stride is not compatible with the arrays length
  • feature: Ops.Ui.VizArrayTable_v2 - Added stride input. Force a stride for display. Default value 0 will not change stride at all. Will display an error if the stride is not compatible with the arrays length
  • improvement: Ops.Anim.RandomAnim_v2 - New version: remove not correctly working seed
  • improvement: Ops.Devices.Midi.MidiOutputDevice - Retry getting midi devices when midi api silently fails
  • improvement: Ops.Extension.SocketCluster.SocketCluster_v2 - print error message, remove connection on op delete, return error string
  • improvement: Ops.Extension.Standalone.Net.Osc - fixed port input / fixed status output not resetting / fixed problems with reconnecting after deleting op
  • improvement: Ops.Gl.GradientTexture - Opening the gradient editor at the bottom edge of the window will now move the gradient editor up so it is fully visible
  • improvement: Ops.Gl.MediaRecorder_v2 - Add default canvas option to use the current WebGL canvas, which also works better with popout canvas
  • improvement: Ops.Gl.Shader.MatCapMaterial_v3 - double sided toggle
  • improvement: Ops.Gl.TextureToColorArray_v3 - Add option to not always output floating point numbers
  • improvement: Ops.Html.BackgroundImage_v2 - Fixed cache problems
  • improvement: Ops.Html.Element_v2 - v2: Interactivity is now a switch between True,False or pointer-events:none
  • improvement: Ops.Html.ImageElement - Can now be ctrl-hover picked as all html elements
  • improvement: Ops.Html.ImageElement_v2 - v2: Can now be ctrl-hover picked as all html elements
  • improvement: Ops.Html.QuerySelector_v2 - catch and show errors to the user
  • improvement: Ops.Sidebar.Toggle_v4 - CSS classes are applied correctly now on init
  • improvement: Ops.Trigger.TriggerReceive - Trigger names in dropdown are sorted alphabetically
  • improvement: Ops.Trigger.TriggerSend - Trigger names in dropdown are sorted alphabetically
  • improvement: Ops.Ui.Area - Added delete button: removes area without deleting operators inside
  • improvement: Ops.Ui.VizArrayTable_v2 - New version v2: will now show scrollbars and a slider for scrolling
  • improvement: Ops.Ui.VizObject - Can now also visualize complex objects with functions etc.
  • bugfix: Ops.Gl.FontMSDF_v2 - only set library default values when in UI/Editor
  • bugfix: Ops.Gl.Meshes.GeometryToTexture_v3 - fixed rounding errors with some texture sizes resulting in transparent pixels
  • bugfix: Ops.Gl.Meshes.PointCloudFromArray_v2 - New Version v2: An array with the length of 0 will now draw nothing. (was: was still drawing the last valid pointcloud)
  • bugfix: Ops.Gl.Meshes.SimpleSpline_v2 - New Version v2: An array with the length of 0 will now draw nothing. (was: was still drawing the last valid spline)
  • bugfix: Ops.Gl.Shader.PointMaterial_v6 - New version v6: Fixed problems with HDPI, high pixel ratio displays - multiply pixel ratio with point size in vertex shader
  • bugfix: Ops.Gl.TextureToColorArray_v2 - Fix outputing wrong amount of values
  • bugfix: Ops.Html.ElementCssTransform_v2 - fixed zindex parameter was not working
  • bugfix: Ops.WebAudio.MicrophoneIn_v2 - Fix listening state output was outputing the wrong value

Editor/UI

  • editor: add VizArrayGraph to default vizualisation suggestions
  • editor: Better contrast+readability for text editor search results and selected text background color
  • editor: Bugfix: rightclick drag a cable onto another cable to replace it, works again
  • editor: Clicking the bar below the canvas will focus the canvas
  • editor: console: don't open console on socket timeout errors
  • editor: console: stacktrace lines only clickable when starting with valid protocols
  • editor: Don't let network errors open error console, show connection problem icon
  • editor: Fix bug with black tabs when activating same tab again
  • editor: Fix bug with op parameter changes where setting an unsaved state for a wrong subpatch
  • editor: Fix bug with op search dialog not showing documentation after creating a new op
  • editor: Fix crash when saving recursive subpatch ops
  • editor: Improved syntax highlighting in viz ops
  • editor: Keep patch-ops unique when cloning patches and copying ops over
  • editor: Less modals when saving ops
  • editor: Logging console better multiline logs
  • editor: Logging console divide lines by time difference
  • editor: Logging console higher contrast
  • editor: manage op: fix bug where manage op did not show the port editor for subpatch ops
  • editor: manage op: subpatch ops: hide libs and attachment files from
  • editor: New command for re-executing a selected op: "reload op"
  • editor: patch outline: remove html from comments and limit length
  • editor: Prevent saving of recursive subpatch ops
  • editor: Rework dialogs for create/patch/clone op
  • editor: string ports will show an op warning when they contain "unusual" utf8 characters,e.g. line separator, that can break js minify functionality.....
  • editor: Subpatch ops: creating subpatches is faster/smoother animation
  • editor: Subpatch ops: creation: re-link all linked ops to a single port
  • editor: Subpatch ops: fix async timing problems
  • editor: Subpatch ops: improve link creation/auto linking
  • editor: Subpatch ops: less saving of subpatches needed
  • editor: To rename an operator, you can now just click its title in the parameter panel (if you have write access)
  • editor: update patchtitle in editor also when publishing failed
  • editor: User preferences now have an option to wrap the text editor lines
  • editor: fix file not being uploaded in rare cases when dragged file in internal filemamnager before
  • editor: fix flickering progressbar when uploading files
  • editor: fix problem with editor not creating a tab when editing ops with the same basename
  • editor: file manager clear filter when selecting file
  • editor: unlinked ops are now again behind cables
  • editor: disable chrome default gestures when two finger panning and zooming
  • editor: alt+tab on mac can now cycle through open tabs
  • editor: text editor tabs, will focus on activate
  • editor: user preferences: added modes for scroll events: choose between mousewheel zoom or touchpad/tablet+pen panning mode, or auto
  • editor: fixed/improved height of text editor when opening the first time or when toggline log console
  • editor: remove old backup system from export, because it does not support subpatchops
  • editor: op rename: do not show initial errormessage
  • editor: handle non-text characters when checking for opname in create/rename dialog
  • editor: rework "op not found" error-window to link to dev/live and directly to editor
  • editor: try to resolve ops that do not exist against other environments (dev.cables.gl/cables.gl)

Op Renames

  • rename: Ops.Array.ArrayNumberRamp - Ops.Patch.Pwv67Xp.ArrayRamp renamed to Ops.Array.ArrayNumberRamp
  • rename: Ops.Color.HSLtoRGB - Ops.Patch.Pqg2AWp.Chromatest renamed to Ops.Color.HSLtoRGB
  • rename: Ops.Color.RGBtoHSL - Ops.Patch.Pqg2AWp.Chromatest renamed to Ops.Color.HSLtoRGB
  • rename: Ops.Color.RGBtoHSL - Ops.Patch.Pqg2AWp.RGBtoHSL renamed to Ops.Color.RGBtoHSL
  • rename: Ops.Dev.Html.ElementCss3D - Ops.Patch.PWLpPjs.ElementCss3D renamed to Ops.Dev.Html.ElementCss3D
  • rename: Ops.Dev.RandomGridPlacementArraysGap2 - Ops.Gl.Matrix.RandomGridPlacementArrays_v2 renamed to Ops.Dev.RandomGridPlacementArraysGap2
  • rename: Ops.Extension.Standalone.Files.OpenFileManager - Ops.ExtensionStandalone.Files.OpenFileManager renamed to Ops.Extension.Standalone.Files.OpenFileManager
  • rename: Ops.Extension.Standalone.Files.OpenFileManager - Ops.ExtensionStandalone.Files.SelectDir renamed to Ops.ExtensionStandalone.Files.OpenFileManager
  • rename: Ops.Extension.Standalone.Files.SystemDirs - Ops.Standalone.Files.SystemDirs renamed to Ops.Extension.Standalone.Files.SystemDirs
  • rename: Ops.Extension.Standalone.Net.IpAddress - Ops.Extension.Standalone.Net.IpAdress renamed to Ops.Extension.Standalone.Net.IpAddress
  • rename: Ops.Gl.ImageCompose.Noise.Shardnoise - Ops.Patch.PTMEvPm.Shardnoise renamed to Ops.Gl.ImageCompose.Noise.Shardnoise