changelog
Editor / UI
- load userops of collaborators later/only when use, speed up loading of editor
- add "save anyway" to "patch has been updated" warning
Website
- add "unlisted - view only" mode to patch visibilities to mimic old secret url behaviour
- remove ribbons for private patches in lists, add icon for state of visibility next to name
- fix sorting of logentries for patches/teams/patchlists
- show "last update" date on patch page for non-public patches
Docs
- update docs for new patch visibility
Release Blog post: blog.cables.gl
New Ops:
- new op: Ops.Array.ArrayPack2Simple - Packs 2 individual arrays into an array2 - without needing a trigger
- new op: Ops.Array.CopyArraySimple - create a copy of an array
- new op: Ops.Data.Compose.CompString - Compose a string
- new op: Ops.Data.Compose.CompStringAppend - Append a string to a string
- new op: Ops.Data.Compose.CompStringShorten - Remove characters from the beginning or end of a string
- new op: Ops.Gl.ExternalCanvas - Open a new window that shows a copy of the patch canvas
- new op: Ops.Gl.GLTF.GltfMorphTargets - manually render weighted morph targets/shape keys from a gltf file
- new op: Ops.Gl.TextureEffects.OnePassBlur - github.com
- new op: Ops.Graphics.GetMaterialId - get the id/index of the current set material
- new op: Ops.Html.InputElement - HTML input/textarea element to allow the user to enter text
- new op: Ops.Json.Object - An empty Object
- new op: Ops.Json.ObjectDeleteKey - Remove a Property from an Object by Key
- new op: Ops.Json.ObjectMerge - merge key+values of two objects
- new op: Ops.Math.Cross - Computes the cross product of two vec3's
- new op: Ops.Vars.TriggerVarGetString - Get a string variable value at time of trigger
- new op: Ops.Gl.Textures.SSAO - screen space ambient occlusion from depth texture
Op Enhancements
op enhancements: Ops.Array.ArraySubtract - now has switch between x-array or array-y
op enhancements: Ops.Array.RandomWordsArray - added cities,countries,names,demogroup words
op enhancements: Ops.Audio.MidiJsonNote_v2 - fix crash by removing old code
op enhancements: Ops.Data.Compose.CompArrayPushNumbers - add select input how many numbers will be added
op enhancements: Ops.Devices.Keyboard.KeyPressLearn - fixed bug where modifier keys ignored on key release
op enhancements: Ops.Devices.Midi.MidiCC - more control when the trigger output is triggered
op enhancements: Ops.Devices.Mouse.Mouse_v3 - fix "pixel display" retina bug
op enhancements: Ops.Gl.ForceCanvasSize - now resets to correct original size after deleting or disconnecting op
op enhancements: Ops.Gl.GLTF.GltfScene_v4 - cinema exporter compatibility: fix animations not showing if animation name is undefined
op enhancements: Ops.Gl.GLTF.GltfScene_v4 - fix strange time multiplier for mesh animations
op enhancements: Ops.Gl.GLTF.GltfScene_v4 - implemented support for morph targets, shape keys, PLA etc..
op enhancements: Ops.Gl.GLTF.GltfScene_v4 - meshes without normals now have flat shading, as defined in gltf specs
op enhancements: Ops.Gl.GLTF.GltfScene_v4 - show cube if there was an file loading error
op enhancements: Ops.Gl.GLTF.GltfScene_v4 - show number of morphtargets in mesh list. add morphtargets to file size allocation info
op enhancements: Ops.Gl.GLTF.GltfScene_v4 - use material properties is activated by default
op enhancements: Ops.Gl.Matrix.Transform - removed unused ammoworld corelib
op enhancements: Ops.Gl.Meshes.Cube_v2 - fix bugs of bias parameter
op enhancements: Ops.Gl.Meshes.Cube_v2 - new "SideWrap" wrap mode
op enhancements: Ops.Gl.Meshes.FullscreenRectangle_v2 - fixed bug did not render anything in specific resolutions
op enhancements: Ops.Gl.Meshes.SplineMeshMaterial_v2 - fix aspect ratio problems
op enhancements: Ops.Gl.Meshes.Torus_v3 (new version) - fixed wrong uv mapping
op enhancements: Ops.Gl.Render2Texture_v3 - updated size toggle
op enhancements: Ops.Gl.Shader.PointMaterial_v4 - added random atlas functionality: choose a random texture from an atlas
op enhancements: Ops.Gl.ShaderEffects.TransformTextureCoordinates - texture coordinates can now rotated
op enhancements: Ops.Gl.ShaderEffects.VertexDisplacementMap_v4 - more control over normal calculation
op enhancements: Ops.Gl.Texture_v2 - 404 textures are red stripes now
op enhancements: Ops.Gl.TextureEffects.Noise.PerlinNoise_v2 - added option for normalized value range
op enhancements: Ops.Gl.TextureEffects.ZoomBlur_v2 - parameter to set the number of samnples
op enhancements: Ops.Gl.Textures.TextTexture_v5 - added padding parameters
op enhancements: Ops.Gl.Textures.TextureInfo - output pixelformat as string
op enhancements: Ops.Gl.Textures.TextureToCoordinateGrid - added repeat/layering functionality
op enhancements: Ops.Graphics.Geometry.TesselateGeometry - fix bug with incorrect interpolation of attributes in some cases
op enhancements: Ops.Json.ObjectRecorder - output the recorded objects as an array
op enhancements: Ops.Json.ObjectSetString_v2, Ops.Json.ObjectSetNumber_v2, Ops.Json.ObjectSetArray_v2, Ops.Json.ObjectSetObject_v2 - now work on a copy of the object, no longer on reference
op enhancements: Ops.Sidebar.DropDown_v2 - better colors for list display
op enhancements: Ops.Ui.VizStringLong - syntax highlighting
op enhancements: Ops.Website.FilenameInfo - fixed: suffix contained query params / added basename and query params outputs
op enhancements: imagecompose/render2texture ops: added 16bit and 11bit pixel formats
op enhancements: render2texture/fullscreenrectangle/imagecompose/pixelprojection - new internal viewport system
op enhancements: All mesh ops - fix bug with meshes not being displayed when switching between 32 and 16 bit index buffers.
op enhancements: new blendmodes for simple math operations without clamping etc...
op enhancements: ios workaround for pixelformats using linear filtering with floating point formats / ios compatibility improved
Renamed ops
deprecated customop - please create Patch ops now!
moved Ammo ops to extension Ops.Extension.AmmoPhysics
renamed render2texure to renderToTexture
renamed Shader2Texture to Ops.Gl.Shader.ShaderToTexture
renamed Render2Textures to Ops.Gl.RenderToTextures
renamed TriggerNumber to Ops.Trigger.NumberByTrigger
renamed setNumberOnTrigger to Ops.Trigger.TriggerNumber
renamed TriggerBoolean to Ops.Boolean.BoolByTrigger
renamed GeometryMergeSimple to Ops.Graphics.GeometryMergeSimple
deprecated TextureEffects SSAO_v2
deprecated Render2TexturesSlots_v2
deprecated deprecated Viewport2
Editor / UI
- editor: fixed bugs with edit buttons opening the editor in readOnly state
- editor: cleaned patch settings formular
- editor: op search: now searches all op names in available collections like teams and extensions
- editor: object/json inspect: open in tab and no longer in modal dialog
- editor: better saved state management
- editor: set orange icon if something is not saved
- editor: shows now patch summary - added shortcut to change the title of the patch without going into settings panel
- editor: opsearch: "/200" will create divide op and set the second number to 200, works with all math ops
- editor: opsearch math symbol shortcuts now also work with arrays (and + works with strings)
- editor: profiler can now be paused
- editor: updated webdemoexe to current version
- editor: exporter dialog is now opened in a tab, not as modal dialog anymore
- editor: shift x works with multiple in/multiple out ports connected
- editor: general optimization of ui performance
- editor: ui performance: switching focus between renderer and patchfield does not drop a frame anymore
- editor: texture preview pinning
- editor: texture preview remembers state
- editor: GPU profiler
- editor: flowmode is fast in big patches with subpatches, hidden ops are ignored
- editor: fix bug with canvas being resized after creating screenshot on hdpi devices
- editor: fixed bugs with sanitzed html not showing in port value param panel
- editor: double click bg to move up one level in subpatch hierarchy
- editor: search for opids / op instance ids
- editor: copy pasting subpatches that contains subpatches works
- editor: added user preference: format source code after saving
- editor: added user preference: right click drag on cables: unlink and grab cable
- editor: added user preference: choose mouse button for panning the patchfield
- editor: easier hitting ports with your mouse doubled height of hitbox
- editor: cut cables by pressing y and draw a line
- editor: onAnimFrame callbacks are no longer executed when op is deleted or reexecuted
- editor: do not show "op editing on live environment" for non-core ops
- editor: fix wrong text/type in file deletion check for libraries
- editor: show proper warning text on uploading assets into read-only patch
- editor: remove default inclusion for backups for exe-export, needs to be checked explicitly
- editor: fix abbreviation search in opselect after creating new op
- editor: fix editing of patchops on live if created on dev and vice versa
- editor: better errormessage for "failed to load op", link to oppage, and to dev (if on live)
- editor: make exe-export work with "multiple files" option
- editor: fix bug when dragging port to param-panel to link it
- editor: add webexe export to export options on cables.gl, update to newest version
- editor: rework patch-summary in parampanel, allow to edit title by click
- editor: link teams and patchlists in patch-summary
- editor: fix links in patchsettings, always open new window when clicked in editor session
- editor: fix remote viewer loading after qrcode or direkt link
- editor: allow access to editor for "unlisted" patches
Website
- website: add "public patchlists" to main menu
- website: add "patchlists" to "my patches" menu
- website: show patchlists on patchpage and userprofile
- website: display seach results for users only if searchword exists
- website: make password-recovery case insensitive
- website: fix file deletion check for libraries
- website: add loading indicator to team and namespace edit forms
- website: show better errormessages on signup page
- website: fix broken link to documentation on teams-collab page
- website: fix artifacts for default/empty teamlogo on settings page
- website: rework structure of "basic examples" page
- website: introduce patch visibility, patches can now be public/unlisted/private
- website: remove secret url in favour of "unlisted" patch-visibility
- website: fix bug with "illegal namespace" of team that sometimes happend when generated id started with "-"
Docs
- docs: update docs for cables-gl to include short-id for better understanding
- docs: update "how to support cables development" with tezoz wallet
- docs: update section on patch permissions for new patch visibility
- docs: add section on patchlist permissions
Editor / UI
- handle opened editors for ops and attachments after code was deleted
- speed up code and documentation requests
Website:
- add conflicting ops to "patch uses dev ops" error page and show patch
- add keyboard shortcuts to op-page (e for edit, for rename, save on enter), project settings (save on enter), comments (save on enter)
- add patreon supporters to credits page
- add statusinformation and error messages to op deletion page
- allow access to patch ops in public patches for non-logged in users
- allow for patreon account to be linked to cables.gl
- better guide to renaming all/older versions of an op
- create "delete" functionality for team-owners, only teams with no ops in namespaces can be deleted
- integration of badges for supporters of [https://](patreon.com)
- link to namespace overview from "op not found" errorpage if op actually is namespace
- optimize loading of "my teams" menu
- remove flickering of some pages when using tabs
- show public patches, top of the month, featured patches, examples and ops on /patches for non-logged in users
- show visibility change, owner change and namespace removal in team log
- start cleaning up date formats (logdate, displaydate, relativedate), show displaydate after seven days for "relativedate"