Kanzi 3.6 release notes

New features

Feature improvements

  • Renewed the render passes. The changes introduce improved rendering performance and render passes that are easier to use. Each of the new render passes provides specific functionality. Combine render passes to get the rendering result you want to achieve.

    You can now find the render passes in the Library > Rendering. See Rendering.

    These features are not supported by the new render passes in Kanzi 3.6 and will be included in the future releases of Kanzi:

    • Multisampling. See Using multisampling.

    • Cubemap render target textures

    • Material override

    • Multiple render targets

    • Frustum culling

    To achieve these rendering results in Kanzi 3.6, except the cubemap render target textures, use the Legacy Render Pass (deprecated). In the minor releases of Kanzi 3.6 this functionality is going to be included in the render passes.

    ../../_images/render-passes-context-menu.png
  • You can now define namespace for a project to avoid custom property type conflicts when you use more than one Kanzi Studio project or kzb file in a single Kanzi application. See Setting and using namespaces for custom property types.

  • Use the new Mesh Attributes Editor to optimize the meshes in your application. See Optimizing meshes.

    ../../_images/mesh-attributes-editor.png
  • Use the new Shader Attributes Editor to view and edit the semantics of the shader attributes of a material type. See Shader attributes.

    ../../_images/shader-attributes-editor.png
  • Updated all material types to include preprocessor defines. See Using material types.

    ../../_images/phong-preprocessor-defines-basecolor-texture.png
  • Simplified how you set the metadata for Kanzi Engine plugins. Extending the functionality of Kanzi Engine and Reference for showing Kanzi Engine plugin custom types in Kanzi Studio.

  • You can now set the PNG compression level for the PNG images in your Kanzi Studio projects. See Using the PNG compression.

    ../../_images/png-compression-level.png
  • You can now set Kanzi Studio to remove the ICC profile from PNG files when you export a kzb file from your project. See Images and textures best practices.

  • You can now set the maximum number of resources processed by the loading threads. See MaxPendingResources.

  • All resources are now always in a deployed state. To undeploy a GPU resource, remove all shared_ptrs to the resource and use ResourceManager::purge.

  • Added TaskDispatcher API which enables you to send tasks to the Kanzi UI thread from other threads.

  • Added these base classes to the Object class, the functionality of which was in the Object class in the earlier versions of Kanzi:

    • PropertyObject is a base class for objects that support setting and retrieving objects.

    • MetaObject is a base class for objects that provide reflection.

  • Added Mesh::CreateInfo and ShaderProgram::CreateInfo functions.

  • Added enums for the new ES 3 formats for vertex attributes.

  • Added support for std/boost thread/mutex to allow use of standard thread class instead of KzsThread.

  • In Kanzi 3.6 the library build dependency chain is:

    • core does not have dependencies

    • core.ui depends on core

    • ui depends on core and core.ui

    • js depends on core and core.ui

    • appfw depends on core and core.ui

    • Kanzi application depends on ui and js is optional

    The reference SCons build scripts that come with Kanzi are adapted to the Kanzi Engine library changes.

  • You can how use 64-bit Linux computer as a floating license server for Kanzi Studio licenses. See Using a floating license.

  • User preference change when importing 3D assets. The workflow in Kanzi Studio changed so that you now need most of the time only the animation clips when you import 3D assets with animations. To reflect this change, in User Preferences the default setting for the Create animation clips for target objects when importing 3D assets is disabled.

  • Numerous usability improvements including:

    • Triggers and Animations are now in the Node Components window.

      ../../_images/node-components.png
    • Added colored icons for nodes and resources, which help you identify content faster.

      ../../_images/project.png ../../_images/resources-in-library.png
    • Added colors to the Preview visualizations, which help you inspect your project in the Analyze mode. See Analyzing your application in the Preview.

      ../../_images/preview.png
    • You can now access the Preview tools without separately entering the Edit mode. Just select the tool you want to use and you are good to go. See Editing your application in the Preview.

      ../../_images/edit-mode.png
    • You can now add nodes and properties to JavaScript scripts without typing. Drag and drop nodes from the Node Tree and properties from the Properties to a script in the Script Editor.

      ../../_images/drag-and-drop-to-script-editor.gif
    • Reorganized the content of context menus to first show the most common commands.

      ../../_images/context-menu.png
    • You can now add a resource dictionary to a node in the Dictionaries window.

      ../../_images/create-resource-dictionary.png
    • Improved the default Kanzi Studio workspace layout. See Customizing the Kanzi Studio interface.

    • You can now set the icon for the nodes you define in a Kanzi Engine plugin. See Setting the icon for your node type.

Changes

  • Updated libunibreak library to version 4.0.

Documentation

  • Added instructions on how to use map pixels on a texture to vertices on a 3D model. For example, you can use UVs to set the appearance of gauges. See Using 3D models with UVs.

  • Added instructions on how to set and clear focus for a UI element. See Focus.

  • Improved the documentation for the List Box nodes. See List Box nodes.

  • Added instructions how to create a Kanzi Studio window plugin. See Creating Kanzi Studio window plugins.

    ../../_images/project-item-kzb-url.png

Fixes

ID

Description

Area

7229

Fixed a memory leak which occurred when there is not enough space in a Text Block to show the characters set in the Overflow property.

Kanzi Engine

6839

The List Box Item Container items which use a state manager to indicate a selected item in a Grid List Box node now work correctly.

Kanzi Engine

6823

The List Box Bring Center now works after panning.

Kanzi Engine

6699

Grid List Box nodes now correctly place the centered item in the center of the Grid List Box node.

Kanzi Engine

6676

Trajectory List Box 3D nodes now correctly show the centered item in the center of the trajectory.

Kanzi Engine

6524

Updating items in List Box nodes using data sources now works.

Kanzi Engine

6363

V8 library now works on QNX 7.0 aarch64.

Kanzi Engine

5232

Transitions from * to any specific Page or Page Host node now work.

Kanzi Engine

4487

Kanzi now applies alpha when you import an image using the Kanzi Engine API.

Kanzi Engine

4094

Kanzi applications running in the background on Android no longer terminate after you change the device screen orientation.

Kanzi Engine

2490

Kanzi now applies the Looping property only to Trajectory List Box 3D nodes.

Kanzi Engine

7017

The Camera tool now takes into account the Render Transformation property of the Camera node it sets.

Kanzi Studio

6875

Kanzi Studio no longer terminates when the content of a Text Block node is longer than 16 bits.

Kanzi Studio

6669

Page node transitions no longer change the resolution of the content on Page nodes to which you apply the transitions.

Kanzi Studio

6536

When you rotate a Grid List Box 2D node, it now uses the correct scroll axis.

Kanzi Studio

6279

Kanzi Studio now correctly imports the Focal Distance value for Camera nodes from .fbx files.

Kanzi Studio

6152, 6048, 5869

Improved the stability of Kanzi Studio and the Preview.

Kanzi Studio

6076

In Kanzi Studio you can now set fixed value condition for List Box messages.

Kanzi Studio

5891

The Preview no longer terminates when you save a change to a style.

Kanzi Studio

4111

When importing .po files, Kanzi Studio now correctly uses the locale name specified in the .po file.

Kanzi Studio

3806

When you drag Factory Content from the Assets to the Preview Kanzi Studio now correctly adds the content to the RootPage node or the nearest selected Page or Page Host node.

Kanzi Studio

2650

When importing .fbx files Kanzi Studio no longer produces duplicate textures.

Kanzi Studio

2521

Fixed the issue which prevented Kanzi applications to start when you create a project outside of Kanzi workspace.

Kanzi Studio

1227

The Preview now correctly shows animations when you switch between compositions.

Kanzi Studio