Kanzi 3.6.3 release notes

New features

  • Focus manager

    Introduced the focus manager to maintain the focus nodes in Kanzi. The focus manager includes features, such as focus scopes and fencing, separation of active and logical focus, and directional focus definitions. See Focus.

  • Application performance profiling

    Improved the application performance profiling system to include performance measurements for each frame, startup, and tools to help you visualize the performance of your Kanzi application. Kanzi now includes performance profiling builds for reference platforms. The application performance profiling system is now available to all users. See Measuring application performance.

    ../../_images/main-loop-rendering-and-layout-in-hud.png
  • New render passes

    Introduced Draw Objects With Material Render Pass and Material Setup Render Pass render passes to provide additional functionality and flexibility to rendering. See Setting materials for rendering, DrawObjectsWithMaterialRenderPass, and MaterialSetupRenderPass.

    ../../_images/preview-infinity-mirror-completed.png
  • Kanzi Connect tools in Kanzi Studio

    These Kanzi Connect introspection tools allow you to connect to a Kanzi Connect server and get Kanzi Connect message triggers and actions, and data sources directly in Kanzi Studio. To use the Kanzi Connect functionality, you must have Kanzi Connect installed.

    ../../_images/properties-kanzi-connect-enabled.png ../../_images/library-import-connect-service.png

Feature improvements

  • Combined the functionality of the Node Tree and Nodes windows into a single Node Tree window.

    • The improved Node Tree window presents your project in a node tree view and allows you to customize how you see the structure of your project.

    • The Prefabs window is now included in the default Kanzi Studio layout, which enables you to readily access and use prefabs independently from the Node Tree window.

    ../../_images/footer-done.png
  • Improvements to Preview visualizations. You can now:

    • View the cells in Grid Layout 2D nodes.

      ../../_images/preview-analyze-grid-cells.png ../../_images/preview-analyze-grid-layout.png
    • Customize the color and line thickness of the items you want to view when the Preview is in the Analyze mode.

      ../../_images/preferences-preview.png ../../_images/preview-analyze-visualizzations.png
    • Select the items you want to view when the Preview is in the Analyze mode from the dedicated Preview main menu. The Preview main menu includes also the Preview controls which were in previous versions available in the Project main menu.

      ../../_images/preview-menu.png

    See Analyzing your application in the Preview.

  • You can now add descriptions to items in Kanzi Studio projects, which you can export to a plain text file which contains the item path and description. See Documenting a project.

    ../../_images/description-property.png
  • Reimplemented KzcImage as the BitmapImage class. See Kanzi 3.6.3 migration guide.

  • New Node3D rendering API. To render 3D nodes using the new API use Node3D::renderOverride. The old Node3D rendering API is still available.

  • Improvements to render passes:

  • When you automate the exporting of kzb files, you can now set Kanzi Studio to export the xml version of the kzb file. See Exporting kzb files using a script.

  • You can now set in your Kanzi Engine plugins for the nodes you create, which properties you want to list as frequently added properties in Kanzi Studio. See Extending the functionality of Kanzi Engine.

    ../../_images/metaclass-metadata-properties.png
  • To improve Kanzi Studio performance in projects with large amount of images, in the Edit > User Preferences > Advanced tab you can now configure with the Number of images to show in wide dropdowns preference the dropdown for image properties to use a simplified, but much faster mode to show the images.

    ../../_images/max-images.png
  • Several improvements that help you get things done in less time:

    • In the Project Merge tool you can now inspect contents of bindings, triggers, tags, and aliases of the projects you want to merge. See Merging projects.

    • Copy a set of bindings and append them to an existing list of bindings instead of replacing the whole set of bindings.

    • Copy and paste individual triggers, which is useful when you have more than one definition for a message and use conditions.

    • Set the name of the JavaScript script when you create it with the Execute Script action.

    • Paste colors in hexadecimal format also without the # prefix. See Using brushes.

    • Renamed the property which you can use to adjust the scale of imported 3D assets and enabled the setting of the property to values lower than 0,1. See Adjusting the scale of imported 3D assets.

    • When you export kzb files from a project that refers to other projects, Kanzi Studio now stores locale and theme packs from referenced projects to own directories in the project.

    • When you export kzb files from a localized project, Kanzi Studio names the kzb files <kzbname>_<locale>.kzb.

    • When you import more than one item to your project Kanzi Studio shows in the information bar the number of items and errors that occurred when Kanzi Studio completes the importing.

    • When you create a Blit Render Pass using the Kanzi API, Kanzi now sets it to use the default material.

    • You can now use the Node::notifyResourceDictionaryModified function to refresh resources after modifying a resource dictionary.

    • You can now use these application configuration options also in the application.cfg:

Changes

  • Updated these third-party libraries used by Kanzi Engine to fix several issues which were caused by outdated libraries:

    • FreeType to 2.9.1

    • Harfbuzz to 1.7.6

    • LibPNG to 1.6.34

    • zlib to 1.2.11

  • Kanzi Studio now uses .NET Framework 4.7.1. See Installing Kanzi.

  • Updated the Kanzi license terms. See KANZI ONE SOFTWARE LICENSE TERMS.

Documentation

  • Improved the API reference documentation for:

    • Render passes. See BlitRenderPass, ClearRenderPass, CompositionTargetRenderPass, DrawObjectsRenderPass, and PipelineStateRenderPass.

    • Scroll View. See ScrollViewConcept, ScrollView2D, ScrollView3D.

    • ResourceManager class.

    • InputManipulator class.

  • Added instructions on how to debug Kanzi Engine plugins in the Kanzi Studio Preview. See Debugging native Kanzi Engine plugins.

  • Added example scripts for automating workflows in Kanzi Studio using scripts. See Automating Kanzi Studio tasks.

  • Expanded the Kanzi Studio plugin interface documentation to include examples on how to:

    • Create textures from imported images.

    • Create material types that use the shaders you specify.

  • Added instructions on how to apply colors to color properties in Kanzi Studio using hexadecimal color codes. See Using brushes.

    ../../_images/paste-hex.png
  • Added information on how to use the Kanzi kzb Player to open kzb files. See Opening a kzb file.

  • Added requirements for running Kanzi applications on Windows. See Installing Kanzi.

  • Added instructions on how to use the Kanzi Studio Preview to turn any node into a button. See Enabling the click gesture for a node using the Kanzi Studio Preview tools.

    ../../_images/create-click-trigger-with-action.png
  • Improved content that explains:

Fixes

ID

Description

Area

8381, 8372, 8302, 8293, 8272, 8271, 8234, 7922, 7879, 7854, 7851, 7833, 7800, 7604, 7423, 7355, 6360

Improved performance and stability of Kanzi Studio and the Preview.

Kanzi Engine, Kanzi Studio

8323

When you use Image2D::setImage to set texture of an image and then change locale, Kanzi now keeps the images you set with the setImage function.

Kanzi Engine

8177

Kerning now again works with bitmap fonts.

Kanzi Engine

8091

collectResourceUrls now collects URLs from the new kzb format.

Kanzi Engine

8009

Trajectory List Box 3D nodes no longer change the position of items when a custom data source updates the items in that List Box.

Kanzi Engine

7862

Image flipping in the improved kzb format is now consistent with that of the old kzb format.

Kanzi Engine

7813

Kanzi now correctly creates a line break after special characters.

Kanzi Engine

7702

When you set preprocessor defines to disable all lights, the shaders for the VertexPhong material types now compile without errors.

Kanzi Engine

5774

Render Pass Prefab can now use the Camera property to access a Camera node which is in a prefab to render the content of that prefab.

Kanzi Engine

8297

Fixed the issue which prevented use of some properties as values of the Controller Property.

Kanzi Studio

8284

Bitmap fonts no longer cause the Preview to terminate.

Kanzi Studio

7815

Kanzi Studio now correctly exports kzb files when you use the Export Resource KZB command.

Kanzi Studio

6995, 6323

Bounding volumes visualization in the Preview Analyze mode now again work correctly.

Kanzi Studio

5953, 5879

You no longer have to restart the Preview after adding the Index in Group to a Toggle Button node.

Kanzi Studio

7965

The linux_x11_cpp98 shared libraries are now again included in the Kanzi installer.

Kanzi Framework SDK