User Tools

Site Tools


4.15.0.30 Change Log

Below is a “sanitized” version of the Daz Studio change log leading to the General Release of version 4.15.0.30. This log is posted as part of a conscious effort to be more transparent in the development process. That being said, not all information relating to a particular build is present on this page - some information is still considered private and is therefore not included.

Public Build Channel

Public Beta (4.14.1.22)

  • Source maintenance
  • Merged changes to Trunk (4.14.0.x)
  • Incremented application, plugin and SDK version to 4.14.1.x

DAZ Studio : Incremented build number to 4.14.1.1


  • Source maintenance
  • Merged changes to Trunk (4.14.0.x)

DAZ Studio : Incremented build number to 4.14.1.2


  • Source maintenance
  • Merged changes to Trunk (4.14.0.x)

DAZ Studio : Incremented build number to 4.14.1.3


  • Source maintenance
  • Merged changes to Trunk (4.14.0.x)

DAZ Studio : Incremented build number to 4.14.1.4


  • Source maintenance
  • Merged changes to Trunk (4.14.0.x)

DAZ Studio : Incremented build number to 4.14.1.5


  • Source maintenance
  • Merged changes to Trunk (4.14.0.x)

DAZ Studio : Incremented build number to 4.14.1.6


  • Source maintenance
  • Merged changes to Trunk (4.14.0.x)

DAZ Studio : Incremented build number to 4.14.1.7


  • Source maintenance
  • Added a “Image Polarity (MDL)” setting to the “Texture Instance” (DzTextureInstanceBrick) brick
  • Added a “Is Polarity Flipped (MDL)” output parameter to the “Texture Instance” (DzTextureInstanceBrick) brick
  • Added a “Has Mapped Value” output parameter to the “Texture Instance” (DzTextureInstanceBrick) brick
  • Extended DzTextureModifier SDK API; added isInverted(), calcScale() and calcOffset() overrides
  • Extended DzTextureModifier public API; added isInverted(), calcScale() and calcOffset() overrides
  • Updated SDK version to 4.14.1.8; SDK min is 4.5.0.100
  • Fixed RSL version of comparison operator bricks (<, ⇐, >, >=, ==, etc)

DAZ Studio : Incremented build number to 4.14.1.8


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.9


  • Source maintenance
  • Merged changes to Trunk (4.14.0.x)
  • Added the Utility > “Dynamically Hidden Parameters” (DzDynamicallyHiddenUserParametersBrick) brick
  • Drag and drop events between Shader Mixer brick inputs/outputs in order to establish connections are now validated by both sides of the connection

DAZ Studio : Incremented build number to 4.14.1.10


  • Source maintenance
  • Merged changes to Trunk (4.14.0.x)
  • Added the Utility > “Is User Parameter Mapped” (DzIsUserParameterMappedBrick) brick

DAZ Studio : Incremented build number to 4.14.1.11


  • Source maintenance
  • Update to NVIDIA Iray 2020.1.2 (334300.5582)
  • Added pbr_skin.mdl shader

DAZ Studio : Incremented build number to 4.14.1.12


  • Source maintenance
  • Added a “Polarity Max (MDL)” input parameter to the “Texture Instance” (DzTextureInstanceBrick) brick
  • Fixed an issue with calculating the value of the “Image Polarity (MDL)” setting on the “Texture Instance” (DzTextureInstanceBrick) brick
  • Fixed an issue with the return value of DzTextureModifier::getOffset()
  • Added tooltips to Shader Mixer brick input connectors
    • Provides the brick title and output parameter label for a connected input parameter
  • Added support for tinting Iray environment light
    • Control color via Environment > Dome > Environment Tint on the Environment Options singleton node and/or the Render Settings pane when NVIDIA Iray is the active engine
    • Not (currently?) supported by the Filament (PBR) DrawStyle
  • Added support for controlling Iray ground reflectivity/glossiness
    • Control color via Environment > Ground > Ground Reflectivity and control glossiness via Environment > Ground > Ground Glossiness on the Environment Options singleton node and/or the Render Settings pane when NVIDIA Iray is the active engine
    • Not supported by the Filament (PBR) DrawStyle
  • Added support for controlling whether or not the Iray environment ground can be seen through
    • Control via Environment > Ground > Ground Visible from Below on the Environment Options singleton node and/or the Render Settings pane when NVIDIA Iray is the active engine
    • Not supported by the Filament (PBR) DrawStyle

DAZ Studio : Incremented build number to 4.14.1.13


  • Source maintenance
  • Added support for visualizing an Iray Section Plane node in the viewport
    • Control color via Display > Scene View > Plane > Plane Color
    • Control opacity via Display > Scene View > Plane > Plane Opacity
    • These properties do not influence Render Settings (NVIDIA Iray) > Section Objects > Section Caps Color, only what is drawn in the viewport
  • Extended DzIraySectionPlaneNode scripting API; added getPlaneColorControl(), getPlaneOpacityControl()
  • Updated public API documentation; DzIraySectionPlaneNode

DAZ Studio : Incremented build number to 4.14.1.14


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.15


  • Source maintenance
  • Fixed an issue with missing FPS settings in DzFbxExporter output
  • Extended DzVec3 SDK API; added getX(), setX(), getY(), setY(), getZ(), setZ(), add(), subtract(), multiply(), divide(), deepCopy()
  • Updated SDK version to 4.14.1.16; SDK min is 4.5.0.100

DAZ Studio : Incremented build number to 4.14.1.16


  • Source maintenance
  • Build system tweaks

DAZ Studio : Incremented build number to 4.14.1.17


  • Source maintenance
  • Build system tweaks
  • Extended DzClassFactory SDK API; added alsoInherits()
  • Registered SDK classes with multiple inheritance using Q_CLASSINFO “also_inherits”
  • Updated SDK version to 4.14.1.18; SDK min is 4.5.0.100

DAZ Studio : Incremented build number to 4.14.1.18


  • Source maintenance
  • Added a script accessible option to DzFbxExporter for enabling inclusion of FPS settings in output
  • Fixed an issue in the DzCheckBox scripting API where the stateChanged signal was not being emitted when the state changed
  • Extended logging to include when the Viewport, Action, and Pane managers are being deleted (i.e., during shutdown)

DAZ Studio : Incremented build number to 4.14.1.19


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.20


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.21


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.22

Public Beta (4.14.1.28)

  • Source maintenance
  • Extended DzBoolButton scripting API; added ButtonState enum.
  • Extended DzNodeWeightHandler scripting API; added BindingMapType enum

DAZ Studio : Incremented build number to 4.14.1.23


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.24


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.25


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.26


  • Source maintenance
  • Extended Dz3DViewport scripting API; added getDrawStyle()
  • Extended DzQuat scripting API; added identity()
  • Extended DzVec3 scripting API; added identity(), zero()
  • Extended DzVec2 scripting API; added identity(), zero()
  • Extended DzQuat SDK API; added getX(), setX(), getY(), setY(), getZ(), setZ(), getW(), setW(), setValue(), getValue(), getXAxis(), getYAxis(), getZAxis(), getAxisOfRotation(), getAngleOfRotation(), multiply(), deepCopy()
  • Extended DzVec2 SDK API; added getX(), setX(), getY(), setY(), add(), subtract(), multiply(), divide(), deepCopy()
  • Updated public API documentation; Dz3DViewport, DzQuat, DzVec3, DzVec2
  • Updated SDK version to 4.14.1.27; SDK min is 4.5.0.100

DAZ Studio : Incremented build number to 4.14.1.27


  • Source maintenance
  • Added support (minimal) for PBRSkin shader in Filament (PBR) DrawStyle
    • Translated property names: Metallicity Enable, diffuse_enable, Diffuse Enable, Dual Lobe Specular Enable, Dual Lobe Specular Roughness Mult, Specular Lobe 2 Roughness Mult, bump_enable, Bump Enable, Makeup Enable, Makeup Weight, Makeup Base Color, Makeup Roughness Mult, Detail Enable, Detail Weight, Top Coat Enable, Top Coat Bump Weight

DAZ Studio : Incremented build number to 4.14.1.28

Public Beta (4.14.1.38)

  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.29


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.30


  • Source maintenance
  • Extended Global script API; added scriptConnect(), scriptDisconnect() - alternatives to connect() and disconnect() that are cleaned up when the script falls out of scope
  • Extended DzQuat SDK API; added toString()
  • Extended DzVec3 SDK API; added toString()
  • Extended DzVec2 SDK API; added toString()
  • Extended DzInt2 SDK API; added getX(), setX(), getY(), setY(), add(), subtract(), multiply(), divide(), deepCopy(), toString()
  • Extended DzInt2 scripting API; added identity(), zero()
  • Updated SDK version to 4.14.1.31; SDK min is 4.5.0.100
  • Updated SDK API documentation; DzQuat, DzVec3, DzVec2. DzInt2

DAZ Studio : Incremented build number to 4.14.1.31


  • Source maintenance
  • Extended DzRotationOrder scripting API; added setOrder()
  • Extended DzRotationOrder SDK API; added setFirstAxis(), setSecondAxis(), setThirdAxis(), getFirstAxis(), getSecondAxis(), getThirdAxis(), deepCopy()
  • Extended DzTimeRange SDK API; added add(), subtract(), deepCopy(), toString()
  • Updated SDK version to 4.14.1.32; SDK min is 4.5.0.100
  • Updated public API documentation; DzRotationOrder, DzTimeRange

DAZ Studio : Incremented build number to 4.14.1.32


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.33


  • Source maintenance
  • Extended DzBox3 SDK API; added setMinX(), setMinY(), setMinZ(), setMaxX(), setMaxY(), setMaxZ(), translate(), getMinX(), getMinY(), getMinZ(), getMaxX(), getMaxY(), getMaxZ(), getTransformedBox(), toString(), deepCopy()
  • Extended DzOrientedBox3 SDK API; added toString(), deepCopy()
  • Extended DzCircle3 SDK API; added toString(), deepCopy()
  • Extended DzLine3 SDK API; added minDistanceFromLine(), minDistanceFromLineSquared(), minDistanceFromRay(), minDistanceFromRaySquared(), minDistanceFromPoint(), minDistanceFromPointSquared(), segmentsIntersect(), linesIntersect(), planeIntersect(), toString(), deepCopy()
  • Updated SDK version to 4.14.1.34; SDK min is 4.5.0.100
  • Updated public API documentation; DzRotationOrder, DzBox3, DzOrientedBox3, DzCircle3, DzLine3
  • Updated scripting API documentation; QObject, DzTimeRange
  • Fixed a type casting issue on the OpacityStrength control in Filament

DAZ Studio : Incremented build number to 4.14.1.34


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.35


  • Source maintenance
  • Modified DzBox3 script API; fixed getIntersection()
  • Extended DzMatrix3 SDK API; added inherits(), className(), deepCopy(), toString(), setM11(), setM12(), setM13(), setM14(), setM21(), setM22(), setM23(), setM24(), setM31(), setM32(), setM33(), setM34(), multMatrixVec(), multiply(), getM11(), getM12(), getM13(), getM14(), getM21(), getM22(), getM23(), getM24(), getM31(), getM32(), getM33(), getM34()
  • Extended DzMatrix4 SDK API; added inherits(), className(), deepCopy(), toString(), setM11(), setM12(), setM13(), setM14(), setM21(), setM22(), setM23(), setM24(), setM31(), setM32(), setM33(), setM34(), setM41(), setM42(), setM43(), setM44(), multiply(), getM11(), getM12(), getM13(), getM14(), getM21(), getM22(), getM23(), getM24(), getM31(), getM32(), getM33(), getM34(), getM41(), getM42(), getM43(), getM44()
  • Extended DzQuat SDK API; added inherits(), className()
  • Extended DzVec3 SDK API; added inherits(), className()
  • Extended DzVec2 SDK API; added inherits(), className()
  • Extended DzInt2 SDK API; added inherits(), className()
  • Extended DzBox3 SDK API; added inherits(), className()
  • Extended DzOrientedBox3 SDK API; added inherits(), className()
  • Extended DzCircle3 SDK API; added inherits(), className()
  • Extended DzLine3 SDK API; added inherits(), className()
  • Extended DzRotationOrder SDK API; added inherits(), className()
  • Extended DzTimeRange SDK API; added inherits(), className()
  • Updated SDK version to 4.14.1.36; SDK min is 4.5.0.100
  • Updated public API documentation; DzMatrix3, DzMatrix4, DzQuat, DzVec3, DzVec2, DzInt2, DzBox3, DzOrientedBox3, DzCircle3, DzLine3, DzRotationOrder, DzTimeRange
  • Update to NVIDIA Iray 2020.1.3 (334300.6349)

DAZ Studio : Incremented build number to 4.14.1.36


  • Source maintenance
  • Modified DzEdge SDK API; deprecated setCageOffseA()
  • Extended DzEdge SDK API; added inherits(), className(), deepCopy(), toString(), setCageOffsetA()
  • Extended DzFacet SDK API; added getVert1(), setVert1(), getVert2(), setVert2(), getVert3(), setVert3(), getVert4(), setVert4(), getUV1(), setUV1(), getUV2(), setUV2(), getUV3(), setUV3(), getUV4(), setUV4(), getNorm1(), setNorm1(), getNorm2(), setNorm2(), getNorm3(), setNorm3(), getNorm4(), setNorm4(), getEdge1(), setEdge1(), getEdge2(), setEdge2(), getEdge3(), setEdge3(), getEdge4(), setEdge4(), inherits(), className(), deepCopy(), toString()
  • Extended DzAuthor SDK API; added inherits(), className(), deepCopy(), toString()
  • Extended DzUri SDK API; added inherits(), className(), deepCopy()
  • Extended DzVersion SDK API; added lessThan(), greaterThan(), lessThanOrEqual(), greaterThanOrEqual(), equal(), notEqual(), inherits(), className(), deepCopy(), toString()
  • Updated SDK version to 4.14.1.37; SDK min is 4.5.0.100
  • Updated public API documentation; DzEdge, DzFacet, DzAuthor, DzUri, DzVersion

DAZ Studio : Incremented build number to 4.14.1.37


  • Source maintenance

DAZ Studio : Incremented build number to 4.14.1.38

Public Beta (4.15.0.2)

  • Source maintenance
  • Extended DzFloatColor SDK API; added inherits(), className(), deepCopy(), toString()
  • Updated SDK version to 4.14.1.39; SDK min is 4.5.0.100
  • Updated public API documentation; DzFloatColor
  • Updated script API documentation; DzMatrix3, DzMatrix4, DzQuat, DzVec3, DzVec2, DzInt2, DzBox3, DzOrientedBox3, DzCircle3, DzLine3, DzRotationOrder, DzTimeRange, DzEdge, DzFacet, DzAuthor, DzVersion, DzFloatColor
  • Updated SDK API documentation; DzFloatColor
  • Updated copyright statements; 2021
  • Updated version related images
  • Increment application, plugin and SDK version for 4.15.0.x

DAZ Studio : Incremented build number to 4.15.0.1


  • Source maintenance
  • Update to dForce 1.4.0.1
    • Updates plugin revision to reflect SDK version
    • Allows Publishing Partners access to privileged functionality

DAZ Studio : Incremented build number to 4.15.0.2

Public Beta (4.15.0.9)

  • Source maintenance
  • Fixed product name validation to allow “.” and “:” characters

DAZ Studio : Incremented build number to 4.15.0.3


  • Source maintenance
  • Update to NVIDIA Iray 2020.1.4 (334300.6885)
  • Face Transfer Genesis 8.1 figure support
    • Legacy UVs
    • “Genesis 8 Legacy” surface selection sets
  • Fixed an issue where the configuration of a figure that resulted in no possible IK solution (due to disabled transform properties) would crash if IK was enabled and the user dragged a node in the viewport
  • The Pose Tool now considers the hidden and locked state of properties when determining whether or not a transform property is inactive
  • The Pose Tool no longer attempts to set the value of inactive rotation properties
  • Updated drawing of the Pose Tool manipulators to reflect rotation property active state
  • Improved IK compute performance
  • Extended DzWeightMap public API; added setFloatWeight()
  • Extended DzMorphLoaderBatch scripting API; saveProjectSettingsToConfigFile() now has a return value
  • Extended DzMorphLoader scripting API; readObjectSettingsFromConfigFile() and saveObjectSettingsToConfigFile() now have a return value
  • Updated public API documentation; DzWeightMap
  • Updated script API documentation; DzMorphLoaderBatch, DzMorphLoader
  • Saving an Object Configuration from the Morph Loader Pro context menu now provides feedback
  • Saving a Preset from the Morph Loader Pro (GoZ, Hexagon Bridge) context menu now validates the (file) name being entered
  • The Save a Preset dialog in Morph Loader Pro (GoZ, Hexagon Bridge) now provides options for existing preset names - e.g., for updating purposes, or derivative names
  • The Morph Loader Pro (GoZ, Hexagon Bridge) context menu now omits non-applicable actions
  • Added feedback for failed apply/save actions in Morph Loader Pro (GoZ, Hexagon Bridge)
  • Improved Morph Loader Pro (GoZ, Hexagon Bridge) config file error reporting
  • Fixed a GoZ export issue with unsupported characters (e.g., space, hyphen, period) in node labels
  • Fixed a GoZ export issue that caused a subtool other than the base figure to be selected initially
  • The GoZ update dialog now validates required fields
    • Disallow empty Morph Name when creating a morph
    • Disallow empty UV Set name when creating a new UV Set
  • Fixed syncing issues between the Basic/Advanced views of the GoZ update dialog
  • The GoZ update dialog now provides a Preset selector for creating a morph while in Advanced view
  • Fixed sizing issues with GoZ simple dialogs
  • Added a GoZ preference (Edit > Preferences… > Bridges : GoZ : Update Path) for controlling whether or not the application path is updated when sending to ZBrush
    • Default “No” (off) - preserves previous behavior
    • When “Yes” (on), each execution of the “Send to ZBrush” action causes the application path known to ZBrush to be updated to that which initiated the operation - so that when the object is sent back, it is sent to the (running) application that initiated the operation instead of potentially launching another application at a different path

DAZ Studio : Incremented build number to 4.15.0.4


  • Source maintenance
  • Build system tweaks

DAZ Studio : Incremented build number to 4.15.0.5


  • Source maintenance
  • Fixed an issue in DzSearchContainer with removing the 0'th (first) asset
  • Fixed an issue in DzSearchContainer that allowed a null (invalid) asset to be inserted
  • Extended scripting API; added DzScriptHandle
  • Extended DzMorphLoader scripting API; disambiguated createMorph(), added createMorphFromMesh()
  • Updated SDK version to 4.15.0.6; SDK min is 4.5.0.100
  • Updated scripting API documentation; DzScriptHandle, DzMorphLoader
  • Morph Loader Pro now provides feedback when accepting the dialog and no morphs to load have been added
  • Saving of Morph Loader Pro project settings now accounts for the success/failure of saving object settings
  • Morph Loader Pro now provides feedback if saving project configuration fails
  • Added an “Apply Preset” submenu to the morph item context menu in Morph Loader Pro
    • Allows a preset to be applied to a listed morph after being added to the list
  • Added a “Manage Presets…” option to the Preset selector in Morph Loader Pro (Hexagon Bridge)
  • Added a “Refresh” option to the Preset selector in Morph Loader Pro (Hexagon Bridge)
  • Fixed sizing issues with Morph Loader Pro simple dialogs
  • The Hexagon Bridge Advanced import dialog now provides a Preset selector
    • Enabled when the chosen operation includes morph creation, disabled otherwise
  • The surfaces of new objects created by Hexagon Bridge now use the default material type for the active renderer
    • e.g., Iray Uber material is applied if the active renderer is NVIDIA Iray
  • The GoZ update dialog Preset selector now accounts for when no preset is available
    • “None” when no preset is available
    • “Choose…” when one or more preset is available
  • Added a “Manage Presets…” option to the Preset selector in the GoZ update dialog
  • Added a “Refresh” option to the Preset selector in the GoZ update dialog
  • Send to ZBrush file/subtool naming now encodes characters that are not supported by the GoZ SDK
  • Fixed object/shape/geometry/material naming when importing from GoZ as a new object
  • The surfaces of new objects created by GoZ now use the default material type for the active renderer
    • e.g., Iray Uber material is applied if the active renderer is NVIDIA Iray
  • Refactored the Morph Loader Pro dialog layout - improved utilization of space when used in mesh mode (e.g., Hexagon Bridge)

DAZ Studio : Incremented build number to 4.15.0.6


  • Source maintenance
  • Extended DzMorphLoader scripting API; added setDisplayName(), getDisplayName(); added displayNameChanged() signal
  • Updated scripting API documentation; DzMorphLoader
  • The Advanced view for Hexagon Bridge now labels the root item in the morph list “Hexagon Morph”
    • The value of the root item is now empty - the morph is being created from a mesh, not a file
      • Fixes a regression that prevented a morph from being created
  • The default name for a morph coming from Hexagon Bridge is now consistent between Basic and Advanced views; “Hexagon Morph”
  • The default property group path for a morph coming from Hexagon Bridge is now consistent between Basic and Advanced views; “Morphs/HexagonBridge”
  • Fixed an inconsistency in Hexagon Bridge when creating a morph without a main window
  • The Advanced view for GoZ update dialog labels the root item in the morph list “ZBrush Morph”
    • The value of the root item is now empty - the morph is being created from a mesh, not a file
  • The default property group path for a morph in the GoZ update dialog is now consistent between Basic and Advanced views; “Morphs/ZBrush”

DAZ Studio : Incremented build number to 4.15.0.7


  • Source maintenance
  • The Basic view for Hexagon Bridge now uses a path popup for property group selection instead of a flat menu

DAZ Studio : Incremented build number to 4.15.0.8


  • Source maintenance
  • Fixed a regression in GoZ that prevented the source object from being found in the scene

DAZ Studio : Incremented build number to 4.15.0.9

Public Beta (4.15.0.12)

  • Source maintenance
  • Fixed a memory leak in DzMorphLoader when loading geometry
  • Fixed a memory leak in DzMorphLoader when setting a control property from a configuration file

DAZ Studio : Incremented build number to 4.15.0.10


  • Source maintenance
  • Extended script API; register reference counted types for DzVertexMesh and DzFacetMesh
  • Updated SDK API documentation; DzMorphLoader

DAZ Studio : Incremented build number to 4.15.0.11


  • Source maintenance
  • Setting the maximum number of recent open files (via API) now persists between sessions
  • Updated public API documentation; DzContentMgr
  • Explicitly enable Iray instancing shift (Render Settings > Optimization > Instancing Optimization) for “auto” (Auto) and “on” (Memory) states instead of relying on default/initialized value
    • No material impact on precision issues with close surfaces on objects positioned far from world origin
  • Force update of scene shift for each frame of an NVIDIA Iray render
    • No material impact on precision issues with close surfaces on objects positioned far from world origin
  • Force update of scene shift if the camera moves for the NVIDIA Iray DrawStyle
    • No material impact on precision issues with close surfaces on objects positioned far from world origin
  • Fixed FBX exporter support for text actions in morph rule settings; Bake == 0; Export == 1, Ignore == 2

DAZ Studio : Incremented build number to 4.15.0.12

Public Beta (4.15.0.13)

  • Source maintenance
  • Fixed an Iray DrawStyle crash when attempting to manipulate the camera
    • Forcing an update of scene shift in the Iray DrawStyle causes a fatal error in Iray proper
  • Improved resetting/releasing Iray scene references when preparing render transactions
  • Updated default content types
  • Restored update check using earlier mechanism as a fallback if auto-update script is not present
  • Updated scripting API documentation; DzMorphLoader

DAZ Studio : Incremented build number to 4.15.0.13

Public Beta (4.15.0.14)

  • Source maintenance
  • Update to NVIDIA Iray 2020.1.5 (334300.8936)

DAZ Studio : Incremented build number to 4.15.0.14

Public Beta (4.15.0.25)

  • Source maintenance
  • Update to NVIDIA Iray 2020.1.6 (334300.9558)
  • Extended DzComboEdit SDK API; added setHoldModifierAppend(), getHoldModifierAppend(), setAppendDelimiter(), getAppendDelimiter()
  • Extended DzComboEdit scripting API; added holdModifierAppend, appendDelimiter properties
  • Fixed an issue with DzComboEdit where, when path popup mode is active, clicking the menu/popup button while the popup was showing would not cause the popup to hide
  • Extended DzAssetMgr public API; added getDefaultCategoryPaths()
  • Extended DzCompatibilityBaseAssetContainer SDK API; added ctor overload to resolve runtime ambiguity when building hierarchical relationships; added DzCompatibilityBaseAssetContainerPtrList typedef
  • Updated public API documentation; DzComboEdit, DzAssetMgr, DzCompatibilityBaseAssetContainer
  • Added a “Selected nodes only” option to the “Set Default Compatibility Base(s)” dialog
    • Invoked from the Scene pane Option Menu > Edit > Set Compatibility Base(s)… action
    • The option is enabled only if nodes are selected in the scene
    • When enabled/active, serves to limit the scope of the operation to selected nodes in the scene instead of all nodes in the scene
  • Added a validator to the “Set Default Compatibility Base(s)” dialog
    • Provides user feedback when attempting to accept the dialog without first choosing a root compatibility base
  • Fixed a sizing issue with the “Set Default Compatibility Base(s)” dialog
  • The “Scene Identification” dialog now uses a DzComboEdit, in path popup mode, for Content Type instead of a DzPathComboBox
    • This changes popup navigation from a column view with accept/cancel buttons to a treeview with no accept/cancel button
    • This causes the assigned value to be selectable/copyable as text
  • Extracted “Auto-Fit Base” from the “Compatibility Base” option in the “Scene Identification” dialog
    • “Compatibility Base” is used to view/establish the relationship between an object in the scene and assets in context aware views - managed via metadata
    • “Auto-Fit Base” is used to control the behavior of Auto-Fit - embedded in the asset
    • Selecting a “Compatibility Base” when “Auto-Fit Base” is not set (i.e., “<None>”) will cause “Auto-Fit Base” to be set in kind
  • The “Figure/Prop Assets Save Options” dialog now uses a DzComboEdit, in path popup mode, for “Content Type” instead of a DzPathComboBox
    • This changes navigation from a column view with accept/cancel buttons to a treeview with no accept/cancel button
    • This causes the assigned value to be selectable/copyable as text
  • The “Set Category” option in the “Figure/Prop Assets Save Options” dialog now displays a treeview popup instead of a (large) menu
  • The “Type” option on the “Assets” page of the “Content DB Editor” dialog now uses a DzComboEdit, in path popup mode, instead of a DzPathComboBox
    • This changes navigation from a column view with accept/cancel buttons to a treeview with no accept/cancel button
    • This causes the assigned value to be selectable/copyable as text
  • Fixed an issue in the “Content DB Editor” dialog where selecting an asset that does not have a content type assigned after selecting an asset that does have a content type assigned would would not accurately reflect the “Type” of the selected asset
  • Refactored various “Content DB Editor” sub-dialogs to use DzComboEditDlg instead of DzPathComboDlg/QInputDialog
    • Fixes popup sizing issues, and allows for providing a list of presets where applicable
  • The “Add Default/Custom Categories” sub-dialogs of “Content DB Editor” now support holding the control modifier key (Ctrl/Cmd) to append popup selected values to the existing value - i.e., comma separated multiples
  • The “Add Custom Categories” sub-dialog of “Content DB Editor” now provides a predefined set of preset options
  • “Compatibility Base” declaration and “Compatibility” management has been split into discrete sub-pages of the “Content DB Editor” dialog “Assets” page
  • The “Select Compatibility Bases/Filters” sub-dialog of “Content DB Editor” now supports multi-selection
    • Invoked from the “Add Compatibilities to Selected File(s)” action in the context menu for asset items on the “Compatibilities” page
    • Compatibility Filters are integrated with Compatibility Bases in multi-selection mode
    • Compatibility Base/Filter management (creation/deletion) options are not available in multi-selection mode
  • Refactored asset drag-n-drop between the Content Library pane and the Smart Content pane (and Presets pages of specialized property based panes - e.g., Posing, Shaping, Render Settings, Simulation Settings, etc)
    • Allows Content Type, Category, and Compatibilities to be established per asset
    • Provides context menu options for copying checked state and value of Content Type, Category, and Compatibilities
    • Considers asset type for suggesting (base) Content Type
    • Considers scene node selection for populating Compatibility options

DAZ Studio : Incremented build number to 4.15.0.15


  • Source maintenance
  • Extended DzAssetMgr public API; added MetadataType, CompatibilityBaseType enums; added findCategoryID(), getUniqueChildCategoryName(), createCategoryPaths(), selectCategoryPaths(), getCategoryData(), getContainerName(), createSubContainer(), selectCompatibilityBasePaths(), getCompatibilityBaseData()
  • Extended DzProductAssetContainer public API; added url property
  • Extended DzAssetIOMgr public API; added isWriting(), getCurrentFilename(), getCurrentFileInfo(), getCurrentAssetId(), getCurrentAssetType(), getCurrentAssetContributor(), getCurrentAssetRevision(), getCurrentFileVersion(), getFileInfo(), getFileAssetType(), getFileAssetContributor(), getFileVersion(); added assetLoadStarted(), assetLoadError(), assetLoadFinished(), assetSaveStarting(), assetSaveStarted(), assetSaveError(), assetSaveFinished() signals
  • Modified DzCompatibilityBaseAssetContainer public API; removed FilterOptions enum - use DzAssetMgr::CompatibilityBaseType
  • Extended DzAssetIOMgr SDK API; added getAssetInfo()
  • Extended DzSubPathValidator SDK API; added setDisallowSpacesAndSlashes(), getDisallowSpacesAndSlashes(), setDisallowDotsAndSlashes(), getDisallowDotsAndSlashes(), setConsecutiveSlashIsIntermediate(), getConsecutiveSlashIsIntermediate()
  • Extended DzAssetMgr scripting API; added SearchOption enum
  • Extended DzAssetIOMgr scripting API; added currentSaveFilter(), isReadingOrWriting(), isReading()
  • Extended DzPopupMenu scripting API; added numItems(), insertItem() pixmap/text overload, insertTextItem(), insertPixmapItem(), insertSubmenuItem(), insertTextSubmenuItem(), insertPixmapSubmenuItem(), setText(), setPixmap()
  • Extended DzLineEdit scripting API; added support for “noSpaceSlash”, “noDotSlash”, “multiSlashIsIntermediate” to setValidator(), getValidatorSettings()
  • Extended DzComboEdit scripting API; added support for “noSpaceSlash”, “noDotSlash”, “multiSlashIsIntermediate” to setValidator(), getValidatorSettings()
  • Made improvements to scripting API support for validators; DzLineEdit, DzComboEdit
  • Modified DzPopupMenu scripting API; deprecated ambiguous insertItem(), changeItem() overloads; disambiguated insertItem(), changeItem() overloads to maintain backward compatibility
  • Updated public API documentation; DzDeviceMgr, DzInteractiveLessonMgr, DzViewportMgr, DzScene, DzAssetMgr, DzProductAssetContainer, DzCategoryAssetContainer, DzCompatibilityBaseAssetContainer, DzAssetIOMgr, DzAssetIOFilter, DzTransformConstraintControllerMgr, DzWeightedNodeConstraintMgr
  • Updated SDK API documentation; DzSubPathValidator
  • Updated scripting API documentation; DzButton, DzPushButton, DzCheckBox, DzButtonGroup, DzHButtonGroup, DzVButtonGroup, DzPopupMenu, DzDebugViewUtil
  • Updated SDK version to 4.15.0.16; SDK min is 4.5.0.100
  • Fixed an issues where the fileMsg parameter of DzAssetMgr::installMissingAssets() was not being used if non-empty
  • Added support for a -autoInstallMissing command-line option
    • Causes the “Missing Files” dialog to be automatically accepted (and thus the selected products to begin installation), after ~10 seconds (manual override)
  • Added support for a -logMissingProduct command-line option
    • Causes product information displayed in the “Missing Files” dialog to be recorded to the application log
  • Improved logging/signaling of asset load
  • Improved signaling of asset save
  • Fixed a regression in the “Scene Identification” dialog where “Content Type” was being initialized to “<Multiple>” when a single node was selected and a content type was assigned
  • Refactored the “Create Category Path” dialog (found in context menus of “Content Library” pane, “Categorize” dialog, and “Select a Category” dialog) to use DzComboEditDlg
    • Fixes popup sizing issues, and allows for providing a list of presets where applicable
  • The “Rename Category” sub-dialog of the “Content Library” pane and the “Categorize” dialog now check for (sibling) naming conflicts and suggests a unique name instead of silently failing
  • Refactored various sub-dialogs of the “Categorize” dialog to use DzComboEditDlg
    • Fixes popup sizing issues, and allows for providing a list of presets where applicable
  • Added a validator to various sub-dialogs of the “Categorize” dialog
    • Provides user feedback when attempting to accept the dialog without meeting criteria
  • Fixed focus issues for various sub-dialogs of the “Content DB Editor” dialog
  • Refactored “Select a Category” sub-dialogs to use DzComboEditDlg
    • Fixes popup sizing issues, and allows for providing a list of presets where applicable
  • Refactored “Create Sub-Category” and “Create Sub-Folder” dialogs to use DzComboEditDlg
    • Fixes popup sizing issues, and allows for providing a list of presets where applicable
  • The “Create Sub-Category” and “Create Sub-Folder” dialogs now support slash (“/”) delimited paths for faster/easier creation of hierarchical structures
  • Refactored the “Create Category Path” dialog to use DzComboEditDlg
    • Fixes popup sizing issues, and allows for providing a list of presets where applicable
  • The “Create Category Path(s)” dialogs now support holding the control modifier key (Ctrl/Cmd) to append popup selected values to the existing value - i.e., comma separated multiples
  • Fixed an issue where the “Select a Compatibility Base” dialog would not restore selection of a Compatibility Filter
  • Added a “Text” field to the “Create Custom Action” dialog
    • Allows viewing/editing of the text assigned to the custom action, pre-creation
  • Fixed an issue in the “Create Custom Action” dialog with warnings in the confirmation message
  • Added a “Create Custom Action…” context menu option on Content Library pane containers
    • Virtual Folders - Native/Poser
    • Folders - Native/Poser/Other
    • Products
    • Categories
    • Search - Files/Database
    • Action is not provided unless support script is present - internal

DAZ Studio : Incremented build number to 4.15.0.16


  • Source maintenance
  • Fixed a crash (regression) with Edit > Duplicate Node(s) and Edit > Duplicate Node Hierarchies for nodes that did not originate from a file (e.g., Create > Camera, * Light, Primitive, etc)
  • Fixed a connection warning when duplicating a figure
  • Added the support script for “Create Custom Action…” on Content Library pane containers to the standard distribution footprint
  • The “Symmetrize” script (./scripts/symmetrize.dse) now supports “silent” remote execution
  • The “Bake To Transforms” script (./scripts/bakeToTransforms.dse) now supports “silent” remote execution
  • Added a guard against encountering a DzController that does not inherit DzERCLink to “Bake to Transforms”
  • Fixed DzBlackHoleNode SDK sample
    • The return value for DzBlackHoleNodeIO::startDefinitionRead() and DzBlackHoleNodeIO::startInstanceRead() is now new DzAssetJsonNullObject( parentItem→getFile() ) instead of 0/NULL
  • Fixed SDK custom element saving/loading sample
    • The return value for MyCustomMaterialIO::startDefinitionRead(), MyCustomMeshModifierIO::startDefinitionRead(), MyCustomNodeIO::startDefinitionRead() is now new DzAssetJsonNullObject( parentItem→getFile() ) instead of 0/NULL
    • The return value for MyNurbGeometry::makeCopy(), MyNurbGeometry::getUVs(), MyNurbGeometry::getNumUVSets(), MyNurbGeometry::getUVSet() is now NULL
  • Updated public API documentation; DzApp
  • Updated script API documentation; DzPopupMenu

DAZ Studio : Incremented build number to 4.15.0.17


  • Source maintenance
  • Extended DzNode public API; added isNodeDescendantOf(), isNodeAncestorOf()
  • Extended DzMenu public API; added addSubMenu() overload, copyToMenu()
  • Extended DzNodeDlg SDK API; added setLabelName(), setViewName(), setFilter(), setNode()
  • Extended the Global scripting API; added connect() overload
  • Updated public API documentation; DzNode, DzMenu, DzImportMgr, DzExportMgr, DzHttpHelper, DzStyle
  • Updated SDK API documentation; DzNodeDlg
  • Updated scripting API documentation; Global, Object, Function, DzSystem, DzPaneMgr, DzSceneHelper
  • Refactored the “Change Parent” dialog
  • The “Change Parent” dialog no longer displays a skeleton's bones when that skeleton is a node that is to have its parent changed
  • The “Change Parent…” action now supports simultaneously affecting multiple nodes
    • The action's label has been changed to “Change Parent(s)…”
  • Fixed an initialization regression in DzHttpHelper
    • Removed initialization of host, path, query, content type, method and mode values
    • Configuration is now entirely up to the user of the class/object
  • The ./scripts/support/DAZ/dzExportProductMetadata.dse (“Export Metadata…”) script now supports “silent” remote execution
  • The ./scripts/limits.dse (“Limits On/Off”) script now supports “silent” remote execution
  • Fixed an issue with option enabled/disabled states in the “Limits On/Off” dialog (hold CTRL)
  • Added support for loading 'preferred' options to “silent” remote execution of scripts
    • Symmetry…, Bake To Transforms…, Export Metadata…, Limits On/Off
  • Updated various scripts for forward compatibility
    • Content Directory Manager, Render Directory Manager, MDL Directory Manager, dForce Surface Adjuster, Limits On/Off, Rename Node, Create Poser Companion Files, etc
    • Array-style property access (normalized signature) overload syntax is not supported by the Qt 5/6 script engine for signal/slot connections
      • Limited support of application specific API is considered, in order to ease transition - potential solutions are not practical at scale due to impact on performance
    • Use Global::connect() or Function::scriptConnect() instead of Function::connect() to (automatically) control the lifetime of connections (and connected objects)
      • Function::connect() cannot be intercepted under the Qt 5/6 script engine, and its use may result in memory leaks due to non-symmetric handling of connections/disconnections by script developers
  • Refactored the “Select Morph Vertices” script to meet current standards
  • Fixed an issue with message text in DzSceneHelper
  • Improved import logging
  • Improved export logging

DAZ Studio : Incremented build number to 4.15.0.18


  • Updated public API documentation; DzPaneMgr. Improved import logging
  • Fixed an issue with the “Rename Node” action (script) where changing the name of a node would not be applied unless the label also changed
  • Fixed an issue with the “Rename Node” action (script) where using a label (for root nodes) that is not unique in the scene would sometimes allow the conflicting label to be applied
  • Updated public API documentation; DzActionMgr, DzApp, DzAssetMgr, DzAssetIOFilter, DzAssetIOMgr, DzAuthenticationMgr, DzCallBackMgr, DzContentMgr, DzContentReplaceMgr, DzDeviceMgr, DzElement, DzExportMgr, DzHelpMgr, DzImageMgr, DzImportMgr, DzMainWindow, DzMultiMediaMgr, DzNode, DzPaneMgr, DzPluginMgr, DzRenderMgr, DzSaveFilter, DzSaveFilterMgr, DzVertexMap, DzViewportMgr
  • Extended error checking for scripting API; DzListView, DzListViewItem, DzCheckListItem
  • Modified Global scripting API; deprecated getDesktop()
  • Extended DzDesktopWidget scripting API; added screen()
  • Updated scripting API documentation; DzAbstractAssetContainer, DzAddBlend, DzAlphaBlend, DzAsset, DzAuthor, DzBasicCamera, DzButton, DzButtonGroup, DzCamera, DzCategoryAssetContainer, DzCheckListItem, DzComboBox, DzComboEdit, DzDateEdit, DzDateTimeEdit, DzDesktopWidget, DzDial, DzFileDialog, DzFlipManip, DzFloatColor, DzHButtonGroup, DzHeader, DzHierarchyPane, DzImageBlend, DzImageColorLayer, DzImageComponent, DzImageFileLayer, DzImageLayer, DzImageManip, DzImageMask, DzImageTexture, DzInteractiveLessonMgr, DzInvertManip, DzLCDNumber, DzLineEdit, DzListView, DzListViewItem, DzMaterial, DzMeshSmoothModifier, DzMultiplyBlend, DzOffsetManip, DzOpacityManip, DzPaneAction, DzPopupMenu, DzProcess, DzPropertySelectionComboBox, DzRotateManip, DzScaleManip, DzScript, DzScriptContext, DzSubtractBlend, DzTabWidget, DzTextEdit, DzTextureModifier, DzTimeEdit, DzTimePane, DzUVSet, DzVButtonGroup, Function, Global, QDesktopWidget, QObject

DAZ Studio : Incremented build number to 4.15.0.19


  • Fixed an issue where setting the “Point At” target for a node to “None” would cause a crash
  • Nodes no longer list themselves as a possible “Point At” target
  • Geometry Shell nodes no longer list themselves as a possible “Shell Node” target
  • Measure Metric nodes no longer list themselves as a possible “Measure Target”
  • Fixed an issue where exclusion of an instance node from its own list of “Instance Target” did not account for duplication
  • Fixed an issue where exclusion of a rigid follow node from its own list of “Follow Target” did not account for duplication
  • Fixed an issue where exclusion of an IK node from its own list of “Chain Root” and “Chain End” targets did not account for duplication
  • Fixed an issue in DzNodeProperty that allowed a node added to the exclude list to be set as the value (and/or default value) of the property
  • Fixed an issue in DzNodeProperty where adding a node to the exclude list did not remove any previously set values/keys of that node
  • Fixed an issue in DzNodeProperty where attempting to delete selected keys would cause a crash
  • Fixed an issue in DzNumericNodeProperty that allowed a node added to the exclude list to be set as the node for the property
  • Extended DzGeometryShellNode public API; added getTarget()
  • Updated public API documentation; DzGeometryShellNode, DzInstanceNode, DzInstanceGroupNode, DzInstanceGroupItem
  • Updated scripting API documentation; DzButton
  • Updated SDK version to 4.15.0.20; SDK min is 4.5.0.100

DAZ Studio : Incremented build number to 4.15.0.20


  • Source maintenance
  • Registered DzButton for discrete script access
  • Extended DzLCDNumber scripting API; added displayString(), displayFloat(), displayInt()
  • Modified DzLCDNumber scripting API; deprecated overloaded display()
  • Updated scripting API documentation; DzButtonGroup, DzLCDNumber

DAZ Studio : Incremented build number to 4.15.0.21


  • Source maintenance
  • Extended DzApp public API; added getPlatformVersion(); added Windows_11, Mac_11_0, Mac_12_0 enumerated values
  • Updated public API documentation; DzApp
  • Updated scripting API documentation; QWidget
  • Extended support for detecting newer operating systems
  • Stack size is no longer discretely set on Mac (GCC)
    • Allows the application to run on macOS 11 (Big Sur), on Intel/Apple silicon
  • Fixed inverted splash/about images on macOS 11 (Big Sur) and newer
  • Fixed inverted pane-drag images on macOS 11 (Big Sur) and newer
  • Update to OpenSSL 1.0.2u
  • Updated SDK version to 4.15.0.22; SDK min is 4.5.0.100

DAZ Studio : Incremented build number to 4.15.0.22


  • Source maintenance
  • Fixed #DS-1789/#CS-293041 - An issue with attempting to reload a script in the Script IDE pane, initially loaded from file; a symptom of which resulted in Global::getScriptFileName() returning an empty string for reloaded scripts

DAZ Studio : Incremented build number to 4.15.0.23


  • Source maintenance
  • Extended DzPopupMenu public API; extended connectItem() and disconnectItem()
  • Updated scripting API documentation; DzPopupMenu

DAZ Studio : Incremented build number to 4.15.0.24


  • Source maintenance
  • Fixed #DS-2303/#CS-381045 - An issue where setting DzCallBack::setDeleteAfterExecution() true would delete the callback after execution, but would not remove the reference from the list of callbacks in DzCallBackMgr and so would result in a crash when DzCallBackMgr methods pertaining to the list of callbacks was called
  • Updated public API documentation; DzCallBack
  • Updated scripting API documentation

DAZ Studio : Incremented build number to 4.15.0.25

Public Beta (4.15.0.26)

  • Source maintenance
  • Fixed issues relating to the lifetime of DzRSLShader instances new'ed from script
  • Fixed an inheritance issue in a factory macro used for some DzRefCountedItem subclasses; e.g., DzRSLShader
  • RSL scripting API classes (i.e., DzRSLShader, DzShaderMaterial, DzShaderLight, DzShaderCamera) have been moved from the (deprecated) “Default Save Filters” plugin to the core.

DAZ Studio : Incremented build number to 4.15.0.26

Public Beta (4.15.0.28)

  • Source maintenance
  • Fixed a potential crash in BVTree

DAZ Studio : Incremented build number to 4.15.0.27


  • Source maintenance
  • Reverted a change to the qualification of a path (absolute vs relative) that is passed to a file load filter when a node is added during asset load
  • Refactored morph projection mapping; changes timing, setup, threading
  • Added logging to various points in the asset loading process
  • Fixed a potential crash with node replacement management related to node selection
  • Fixed an issue with the auto installing of missing assets respecting whether or not showing prompts is enabled/disabled

DAZ Studio : Incremented build number to 4.15.0.28

Public Beta (4.15.0.29)

  • Fixed a crash when attempting to access the color picker dialog on macOS 11 (Big Sur), or newer
    • The Qt standard color picker (which does not result in a crash) is used instead of the native macOS color picker
  • Extended asset load logging; DSON cache update required/started/finished, per unique object
  • Made various updates to asset load logging; accuracy, consistency

DAZ Studio : Incremented build number to 4.15.0.29

Public Beta (4.15.0.30)

  • Extended DzAppSettings public API; added removeKey()
  • Extended DzApp public API; added logPathInfo()
  • Added startup logging of the DSON cache path/total disk space/available disk space
  • Added logging when the temp data path is changed
  • Added logging when the DSON cache path is changed
  • Added logging of the number of mapped content directories when loading an asset
  • Fixed an issue where the state of the “Show Hidden Vendor Categorizations” preference was not being restored between sessions
  • Fixed an issue with the storage/restoration/migration of AssetManager related preferences

DAZ Studio : Incremented build number to 4.15.0.30



Release to Production

  • 4.15.0.2 - 2021-01-07
  • 4.15.0.30 - 2021-09-02