News
Scenome 22.13 — 4/3/2022
Release details are described below.
Table 1.1. Description of Changes.
Change Log |
---|
We are in the process of removing the <NodeSelector> class from the API. All data interfaces will remain in place until June 1st 2023, but you should stop using this class and instead use <NodeSink> objects that refer to <NodeLink> objects in other documents. Replacements are being made in the Scenome Scripting Language codebase starting with this release 22.13. This is going to affect documents containing any nodes that have a <NodeSelector> data member. Only a small number of node classes are affected by this, and we will issue further guidance as needed. Generally, this change will require an <IncludePaletteNode> to be stored in the graph at the top of affected documents, and a series of <FileNode> objects and <NodeLink> objects will replace the functionality of the <NodeSelector> class. Most of this conversion will be automated. |
The <StructInstanceNode> and <StructInstanceArrayNode> upgrade is ongoing. Support has been added so that <StructInstanceArrayNode> now supports variably-sized arrays when declared inside shader buffers.
You can set array count by right clicking on the <ShaderBufferBindNode> that contains the <StructInstanceArrayNode> and selecting Set Top Level Array Size.... You should now be able to review the experimental support for this feature in <StructInstanceArrayNode>. Start a copy of the Shader application and select File » Open from the main menu. Open \StructUpgrade\StructUpgrade.box. The GLSL code is in the \460 folder if you wish to run experiments. In order to run experiments, you'll also need to open APP_SERVICE_FEATURE_FLAGS_UTIL.SSL from the main application scripts folder and set function bool StructInstanceAllocator(){ return false; } to return true>. Please send email to support@scenomics.com with comments. This feature should not be used in production. Here are the changes you'll need to make to the GLSL source code to use this feature:
|
Added an experimental data member ::SetView( ... ) to array data interfaces. You can now declare an array variable and set it as a view of data. This can be nice for algorithms where working with an array is preferred over working with iterators. This isn't a const view because you can mutate the values through the array object view, but you cannot change the amount of data, so it is a const view with respect to the amount of data in the source data. For example, calls to change the array count will fail. You also cannot reuse the array view once it has been bound.
Note that this feature is experimental and it may be removed at any time. |
The <StructInstanceNode> and <StructInstanceArrayNode> upgrade is ongoing. The <DataCapture> diffing algorithm has bug fixes and performance improvements. Changes to struct data members in GLSL should result in minimal changes to the Scenome document. |
Numerous other changes in support. |
Updated documentation. |