Workspace 5.0.0 Released
The Workspace team is pleased to announce the next major release of Workspace – version 5.0.0. This release contains over 125 bug fixes and 45 new features, including:
- Major usability improvements to the Workspace canvas UI (featured in an earlier blog post)
- Port racks can now be pinned to keep them visible
- Port labels will automatically flip around their ports to avoid text overlapping with other port labels
- Operations with custom properties are now marked with a small indicator button that can be pressed to conveniently display the relevant properties dialog
- Tooltips on the canvas now stick to the mouse cursor
- A new Distributed Plugin which contains:
- A suite of ZeroMQ operations for integrating high-performance message queues into workflows and applications
- A new RunOperationsInParallel operation to allow specific parts of a workflow to run in parallel
- A new ScheduleWorkflow operation to allow nested workflows to be directly scheduled on another machine
- A suite of MongoDB operations for accessing NoSQL databases within workflows
- Improvements to WSGL visualisation to support large 3D point cloud datasets
- New SplitAndLod (level-of-detail) operation to allow large point clouds to be split into multiple sub-components, each with multiple levels-of-detail
- Support in the WSGLWidget for dynamic level-of-detail rendering, where the appropriate (discrete) level of detail is determined at runtime based on the position and orientation of the view camera
- The addition of a new HDF5 based mesh / point-cloud storage data format to help with dynamic streaming of LOD for point clouds that do not fit into memory
- Workspace 5.0.0 is the first Visual Studio 2017 release using Microsoft’s Universal C Runtime which you read about on the Visual C++ blog.
- Workspace 5.0.0 is built against Qt 5.9.1 LTS, ensuring a stable and long-term base for future releases
- The ability to modify MeshModelInterface objects directly in PythonScript operations. This allows workflow developers to write powerful scripts to process and augment their 3D mesh and point-cloud datasets
- Workspace logging is now formalised into 5 different logging levels which can be individually toggled from Workspace editor.
Workspace 5.0.0 can be downloaded here.
The full Workspace 5.0.0 change log is below.
Features
- [WORKSPACE-571] – StringSelection multi-string selection support
- [WORKSPACE-1220] – WorkspaceServer – Add support for auto-mapping of a user’s home directory
- [WORKSPACE-3634] – Remove master port buttons from operations
- [WORKSPACE-4768] – Make it easier to get mouse cursor to a port in a very large rack
- [WORKSPACE-4993] – Ability to set color of camera frustum outlines
- [WORKSPACE-5247] – Support for strings in Python MeshModel interface
- [WORKSPACE-512] – Volume shader: Add support for standard light types present in the scene
- [WORKSPACE-1493] – Add support to the IOTreeWidget to indicate which inputs / outputs are ‘connected’ or not. This could be done by adding an icon to each row, by disabling the row, or by changing the background-color of the row.
- [WORKSPACE-3720] – “Glyphing” tutorial update needed to explain why changing file name does not update image
- [WORKSPACE-4277] – Create a more general CreateObjectDictionary operation
- [WORKSPACE-4519] – Determine appropriate distance for LOD functionality for point clouds
- [WORKSPACE-4559] – Create new HDF based hierarchical mesh / point cloud storage data format to facilitate LOD streaming
- [WORKSPACE-4618] – Flip operation port labels to other side during port hover event
- [WORKSPACE-4628] – Operation to save an ImageTileSet to disk
- [WORKSPACE-4698] – Create ObjectDictionary properties UI
- [WORKSPACE-4730] – ‘Enabled’ state of the log catagories needs to be saved in settings
- [WORKSPACE-4739] – Stop hide timer on port racks on mouse hover event
- [WORKSPACE-4744] – Refactor port rack visibility code
- [WORKSPACE-4745] – Unpinned ports racks should be hidden as soon as mouse cursor enters another operation graphics area
- [WORKSPACE-4746] – Update tutorial screenshots with new UI info
- [WORKSPACE-4764] – Allow Camera symbols to change color, have annotations and / or change appearance in other ways
- [WORKSPACE-4798] – Operation labels should not be hidden when small port racks are flipped
- [WORKSPACE-4799] – Port rack label flipping should trigger by port graphic overlap
- [WORKSPACE-4804] – Left clicking on empty canvas should not unpin port racks
- [WORKSPACE-4809] – Shader that applies textures projected from the perspectives of a set of arbitrary cameras
- [WORKSPACE-4831] – Ability to set the size of the WSGL HUD text
- [WORKSPACE-4868] – Add settings option to show port racks on click
- [WORKSPACE-4954] – Update tutorials to replace references to DataCollection with Object Dictionary
- [WORKSPACE-4960] – Test Qt 5.9 LTS vs2017 release to see if vs2015 builds are supported.
- [WORKSPACE-5002] – Add libcurl option to PackageThirdParty operation
- [WORKSPACE-5077] – Ability to toggle camera frustums on and off
- [WORKSPACE-5095] – Support dropping workspaces in the catalog onto the canvas as external references
- [WORKSPACE-5149] – Update splash screen for Workspace 5.0 release
- [WORKSPACE-5153] – Change or modify current model used in “Changing a model’s appearance” tutorial
- [WORKSPACE-5159] – Revisit footer navigation in all tutorials
- [WORKSPACE-5166] – Add definitions for “upstream” and “downstream” somewhere early on in the tutorials
- [WORKSPACE-5190] – Add Development menu launcher support for Visual Studio 2017
- [WORKSPACE-5243] – Ability to build Rendering plugin against an installed version of Workspace
- [WORKSPACE-5258] – Remove < Qt5.6 conditionals (QWebPage) from MapWidget
- [WORKSPACE-5273] – Simple Application load/save should be compatible with wsg files
Bugs
- [WORKSPACE-95] – Undo deleting a WorkspaceInput or WorkspaceOutput does not preserve ordering
- [WORKSPACE-618] – Scene editor: Node properties shader doesn’t remember its selected node-state when it is loaded from file
- [WORKSPACE-664] – Scene interaction widget: crash when adding a meshmodelsequence with a library already attached to the scene
- [WORKSPACE-729] – Adding streak-glypher to a model w/o streak data to scene-editor causes the scene editor to lock up (tree is greyed out)
- [WORKSPACE-1994] – “Picked Node” indicator too large on some models
- [WORKSPACE-2008] – PickFBO should be initialised in ScreenSpaceLayers rather than WSGLRenderer
- [WORKSPACE-2201] – Render cache broken when changing offscreen width / height
- [WORKSPACE-2408] – PartitionedVector template causes compiler warnings under MSVC
- [WORKSPACE-2715] – When adding a PBS scheduler the port should default to 22
- [WORKSPACE-2897] – Output on Element State Mapper is called “Node mapper”
- [WORKSPACE-2979] – Composite image from array (nested Workspace) Operation broken
- [WORKSPACE-2999] – While loop with ‘enable loop’ unchecked is still updating its inputs
- [WORKSPACE-3010] – Nested workspace from external source via relative path is broken
- [WORKSPACE-3048] – SQL database example doesn’t work on OSX
- [WORKSPACE-3067] – Phantom input created on RunQtScript (causes crash)
- [WORKSPACE-3070] – Batch execution tutorial out of date – still refers to the “blank image” operation
- [WORKSPACE-3072] – Workspace batch mystery crash on exit
- [WORKSPACE-3294] – assert(!ssaoSupported_) on workspace load
- [WORKSPACE-3308] – Create WorkspaceInput->WorkspaceOutput and nest them all together will crash the Workspace
- [WORKSPACE-3341] – Arrow spacing in workspace GUI does not apply to a newly opened file unless changed
- [WORKSPACE-3368] – ImageWriter operation file dialog contains invalid file extensions
- [WORKSPACE-3391] – After starting Workspace two Qt warnings appear in the log window – QIODevice::write: device not open
- [WORKSPACE-3395] – Workspace is crashing in Counted Loop
- [WORKSPACE-3506] – Crash when using two offscreen rendering ops on the one workflow
- [WORKSPACE-3599] – enable SSAO got assert(wsglGoodFramebufferState()); with error GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
- [WORKSPACE-3701] – Resolution of “The 400×300 output image” image in “Batch Execution” tutorial is not the stated 400 by 300
- [WORKSPACE-3719] – “Fit view to scene” occasionally loses model
- [WORKSPACE-3722] – “Linear tranforms” tutorial – instructions out of date / wrong
- [WORKSPACE-3723] – “Linear transforms” tutorial – no “Respond to interaction” input exists on camera builder
- [WORKSPACE-3758] – Can’t search within help page
- [WORKSPACE-3785] – Open NetCDF file gsAPSIM.nc – nothing is displayed and the GUI fails to cleanly redraw
- [WORKSPACE-3805] – When two operations are placed too close
- [WORKSPACE-3826] – Asserts in SimpleApplication template don’t help user who use RelWithDebInfoBuilds
- [WORKSPACE-3846] – WSGLWidget does not produce image in executable
- [WORKSPACE-3882] – Call to bindVertices() creates a new WSGLBufferObjectCacheItemPtr then attempts to access empty vertexArrayProperties_
- [WORKSPACE-3896] – Dragging dependency output to MeshModelInstance builder, the candidate input arrays not show up.
- [WORKSPACE-4036] – GridViewWidget not working on Windows
- [WORKSPACE-4141] – ERROR: Cannot connect type CSIRO::Mesh::ElementStateMapper to CSIRO::Mesh::ElementMapper
- [WORKSPACE-4196] – Python-script with can become unresponsive
- [WORKSPACE-4220] – Can’t logText from WSGLWidgetImpl ctor without crashing
- [WORKSPACE-4251] – Resolve File Path does not work with a path to a server location
- [WORKSPACE-4253] – Backup files with external workflows do not work on recovery
- [WORKSPACE-4320] – QtDesigner hangs on launch
- [WORKSPACE-4362] – WSGLWidget not initialised correctly (and crash) when auto loaded by workspace-gui
- [WORKSPACE-4378] – Unable to see sample workflow files in open file dialog after running sample_parallel.wsx
- [WORKSPACE-4384] – “QtWarning: /deep/ combinator is deprecated” displayed on Workspace start up
- [WORKSPACE-4436] – RunMatLabScript cannot run MatLab script as opposed to MatLib script file.
- [WORKSPACE-4482] – Incorrect visibility and sort order of canvas elements
- [WORKSPACE-4486] – Broken DAP link in provenance tutorial
- [WORKSPACE-4491] – Crash after open/close help in workspace-gui.
- [WORKSPACE-4504] – WSGL interactive manipulation does not work on retina screens
- [WORKSPACE-4592] – VS2015 build of workspace-batch output cannot be piped.
- [WORKSPACE-4598] – Program shutdown when RMB on decompose group to create variable
- [WORKSPACE-4610] – Fit view to scene fails when model filename is corrected
- [WORKSPACE-4654] – SplitAndLod crashes when passed an empty point cloud
- [WORKSPACE-4659] – ObjectGroup::clear() method behaviour is unexpected
- [WORKSPACE-4682] – Crash in IOModelImpl when closing workspace.
- [WORKSPACE-4699] – wsglbufferobjectcache.cpp(119): warning C4312: ‘reinterpret_cast’: conversion from ‘unsigned int’ to ‘GLvoid *’ of greater size
- [WORKSPACE-4701] – Add log categories to the settings UI for configuration
- [WORKSPACE-4705] – Make WS_ASSERT methods debug-only, and add WS_VERIFY for release verification checks
- [WORKSPACE-4707] – CMake configuration error – HDF5
- [WORKSPACE-4709] – Bounding box of a volume mesh appears to be opaque to other meshes in the scene
- [WORKSPACE-4750] – LOG_VERBOSE category not showing up in the UI
- [WORKSPACE-4751] – Operations move when drag selecting
- [WORKSPACE-4771] – Workflow causes segmentation fault on load in workspace 4.1.5 and 4.2.0 but not earlier versions
- [WORKSPACE-4772] – RunMatLabScipt executing a MatLab::Function functions uses an implied working directory – so one should not be supplied
- [WORKSPACE-4786] – workspace-server crashes on multithreaded execution
- [WORKSPACE-4790] – Hover port event triggers visibility of recently disconnected port racks
- [WORKSPACE-4791] – Fit view to scene on WSGLWidget broken in trunk
- [WORKSPACE-4792] – Connected ports are not displayed after a connection has been removed
- [WORKSPACE-4793] – Operation labels can disappear after setting connection
- [WORKSPACE-4794] – Operation fade out effect no longer works
- [WORKSPACE-4796] – Unpinned port racks are visible while operations are moved
- [WORKSPACE-4803] – WSGLWidgetImpl keyboard event handling causing infinite keyboard move events to be created.
- [WORKSPACE-4806] – Port racks can get stuck open after set connection action
- [WORKSPACE-4807] – Workspace-gui editing of a large workflows almost unusably slow
- [WORKSPACE-4826] – ObjectArrayWidget column can’t be resized and doesn’t autostretch
- [WORKSPACE-4830] – New connections don’t respect the arrow percentage value
- [WORKSPACE-4840] – GridScales should not be ‘pickable’
- [WORKSPACE-4865] – Open recent workspace list may not include workflows on networked drives
- [WORKSPACE-4874] – Graphics are sometimes not correctly updated when port rack closes
- [WORKSPACE-4875] – Rearrange the tab names in the left hand pane of the configure application page to be in alphabetical order
- [WORKSPACE-4882] – Bug in view frustum culling causing some objects to disappear when they are visible
- [WORKSPACE-4923] – Workspace Widgets are changed by setWidgetReadOnly in Workspace applications
- [WORKSPACE-4943] – Manipulator symbols do not show in the WSGLWidget if “show non models” is un-ticked
- [WORKSPACE-4967] – Debug build crashes when attaching a WSGLWidget
- [WORKSPACE-4970] – graphic elements drawing outbound canvas( in vs2015/vs2017 builds with Qt 5.9.1 for vs2017 tools package)
- [WORKSPACE-5015] – Bug in Mesh::BoundingBoxMinimal
- [WORKSPACE-5023] – “Connection copies source” lost on nesting workflow
- [WORKSPACE-5032] – Object array builder -> Reset accumulation does not reset the ObjectArray when widegts are attached
- [WORKSPACE-5035] – Object Array Widget resets range seatings when Reset accumulation is triggered
- [WORKSPACE-5036] – WSGLWidget all black when using Workspace with Qt5.9
- [WORKSPACE-5080] – Text and Image overlays for 3D rendering broken on Windows (vs2013/15/17 Qt5.6/5.9)
- [WORKSPACE-5088] – Crash when loading Workspace if unknown scheduler type exists in settings
- [WORKSPACE-5094] – Assert and crash on undo
- [WORKSPACE-5103] – Crash in IOModelImpl::removeInput
- [WORKSPACE-5109] – QtDesigner not launching from the developer menu in installed copy of Workspace
- [WORKSPACE-5122] – Crash on loading workflow from command line
- [WORKSPACE-5126] – Assert in call to WSGLTexture::setFiltering when un-docking gl widget
- [WORKSPACE-5131] – Update docs for using an external install of Python or PIP
- [WORKSPACE-5133] – DynamicOperationProperties class does not allow inputs / outputs with “.” in the name
- [WORKSPACE-5136] – Qt Designer crashes on launch from workspace-gui (workspace-vs2015-5.0.0-11380.AMD64) Development menu entry
- [WORKSPACE-5145] – “Working with display widgets” tutorial – CountedLoop custom ui not available as stated
- [WORKSPACE-5156] – Plugin wizard refers to “CMake that came with the Workspace package”
- [WORKSPACE-5158] – “Writing a Workspace Operation” tutorial is missing a screenshot
- [WORKSPACE-5160] – “Writing a Workspace Datatype” tutorial is missing a screenshot
- [WORKSPACE-5161] – Wizard-created code for Datatype falls foul of coding standards
- [WORKSPACE-5162] – Workspace-agent should not ship in the default Workspace installation
- [WORKSPACE-5163] – Wizard-created code for Custom Widget falls foul of coding standards
- [WORKSPACE-5164] – Incomplete sentence in tutorial
- [WORKSPACE-5165] – Create custom enum wizard, final page is editable
- [WORKSPACE-5167] – Assert firing on exit when SSAO or DepthPeeling used
- [WORKSPACE-5176] – CMake-gui and Qt Designer fail to launch from workspace-gui
- [WORKSPACE-5180] – Crash when removing a connection between QVariant and ObjectGroup
- [WORKSPACE-5195] – ElementColoringShader fails to load due to #extension being after #line preprocessing directives
- [WORKSPACE-5206] – Unable to save workflow containing FilterMeshModel with non-empty input array
- [WORKSPACE-5207] – Exception thrown (and caught) when attempting to delete a FilterMeshModel operation. Delete fails.
- [WORKSPACE-5211] – Warning when serializing in a FilterMeshModel operation with default filter entries in “Filter” array input
- [WORKSPACE-5213] – Clicking on grid in NetCDFViewer causes an WS_ASSERT fail
- [WORKSPACE-5214] – NetCDFViewer landscape renderer no longer fits to view properly
- [WORKSPACE-5222] – Charting: Memory usage is extremely high and results in a crash in QtWebEngineProcess
- [WORKSPACE-5237] – Crash after corrupting input state in CreateChart operation
- [WORKSPACE-5241] – Charting tutorial – able to get chart script into an incomplete state
- [WORKSPACE-5246] – Error dialog on workspace-gui startup – “Entry point not found” for sceneGraphBackend
- [WORKSPACE-5254] – Undoing a ‘remove connection action’ does not restore ‘connection copies source’ state
- [WORKSPACE-5255] – workspace-gui crashes in 5.0.0 when trying to load external workflow with delayed load from another workspace-gui process
- [WORKSPACE-5257] – glGetIntegerv(GL_DEPTH_BITS, &numDepthBits) returns numDepthBits=0
- [WORKSPACE-5259] – Unable to “add server” to the table in “remote / parallel execution” settings
- [WORKSPACE-5277] – Simple Application doesn’t load Python plugin
- [WORKSPACE-5282] – Crash when click on a scene item that its operation has been removed.
- [WORKSPACE-5289] – Create simple application wizard – importing existing UI file is not working
- [WORKSPACE-5305] – FileIterator does not support Workspace-relative paths
- [WORKSPACE-5306] – workspace-gui crashes on exit when help dialog open
- [WORKSPACE-439] – Add parallel support for atomic operations
- [WORKSPACE-4623] – Create Hdf5MeshModelInterface that is read-only
- [WORKSPACE-4633] – Create Hdf5MeshModelWriter operation
- [WORKSPACE-4638] – Allow render to obtain bounding box from HDf5 dataset w/o having to load all particles
- [WORKSPACE-4643] – Ability to read a whole set of Meshes / LODS from a HDF5 file
- [WORKSPACE-4644] – Ability to write entire Split and LOD’d point cloud set to a HDF5 file
- [WORKSPACE-4653] – Modify Workspace packaging workflow to include HDF5 shared libraries
Previous post:
Coming up next: