Kanzi 3.9.5 release notes¶
New features¶
Introduced the
continueIf
binding function that enables you to conditionally stop the execution of a binding. See continueIf.Introduced the Outline Effect 2D effect that enables you to apply an outline to the content of a 2D node. See Using the Outline Effect 2D effect.
Feature improvements¶
Kanzi Java API improvements:
Now supports custom derived
ListBoxItemGenerator2D
andListBoxItemGenerator3D
classes. Use these derived classes to configure the items in List Box nodes.Added to the
KanziObject
class theaddClassPropertyDefaultValue()
function that enables you to set a default value for a property of your class.For example, in a class that extends
Node
overrideinitialize()
and calladdClassPropertyDefaultValue(VisibleProperty, false)
.Added to the
Node
class the functions to attach (addInputManipulator(InputManipulator inputManipulator)
) and detach (removeInputManipulator(InputManipulator inputManipulator)
) an input manipulator from a node.
Activities improvements:
Activity Browser now adds Activity Properties to the project namespace.
If
ActivityElement
node does not contain the history for an Activity, theActivityHistoryManager::hasHistory()
function now performs the lookup recursively in parentActivityElement
nodes by the Activity relative path.
Introduced to the Input Manipulator the Hit Test Ray Distance message argument that reports the distance along the hit test ray between the camera and the bounding box of the 3D hit test node.
Introduced the
CompositionManager::setReuseParameters()
function that enables you to control when the Composition Manager frees up unused temporary composition targets.Kanzi now generates texture coordinates for spheres using spherical mapping, instead of mirroring the UVs over the z axis.
Kanzi Studio now supports Debug and Release build types for Java plugins. See Using Kanzi Engine plugins, Extending the functionality of Kanzi Engine with Java, and Tutorial: Data Sources for Android.
To optimize OpenGL rendering performance and memory consumption, Kanzi now uses shared geometry for most of the 2D rendering. See Changes to 2D node geometry.
Introduced in the Kanzi Studio plugin interface
Project.IsSDKProject
that enables you to check whether a Kanzi Studio project follows the folder structure of a project that uses application code.You can now set the location of your Android Studio installation using the
ANDROID_STUDIO
environment variable.Kanzi Studio uses this environment variable to open Kanzi applications for Android in Android Studio. For example, when you open Code Behind source from the Activity Browser. See Setting up the Android build environment.
When you forward a property value from a message argument with a Set Property Action, you can now select the field of the property value.
In Kanzi Studio the Node Components create menus for the Message Triggers and Message Actions are now organized by message categories.
When deleting unused items in your Kanzi Studio project, you now have the option to select all or none of the unused items. See Cleaning up your project.
Changes¶
Kanzi now applies the font hinting set in a font when it lays out text in Text Block and Text Box nodes. See Changes in text layout.
Kanzi now uses the Node > Visible property to control whether a light is on. See Changes to Light nodes.
When you load a Kanzi application on a target device that does not support half-float mesh vertex attributes, Kanzi no longer automatically converts vertex data from half-float to float. See Changes to mesh vertex data handling.
Added to the
KanziViewAdapter
thehandleVisibilityChanged()
method that you can use with Kanzi Android framework (droidfw) in a view-less context. Call this method every time the visibilty of a view-less surface changes, such as when another application covers an Android wallpaper that contains Kanzi content.Updated the Android templates, tutorials, and examples to use the Kanzi Gradle plugin version 0.7.1. Change to Kanzi Gradle plugin version.
Renamed the Fast performance vertex shaders Kanzi Studio project template to High performance vertex shaders.
Renamed the linux_imx8_wayland_aarch64_gcc102 platform package to linux_wayland_aarch64_gcc102.
Added the linux_drm_gbm_aarch64_gcc74 platform package.
Changed the version of the kzb file format to 21.0.
Documentation¶
Added an example that shows how you can use Jetpack Compose with Kanzi Android framework (droidfw). See Jetpack Compose example.
Added an example that shows how you can use Kanzi Android framework (droidfw) in Android wallpaper service. See Android Wallpaper example.
Added instructions on how to migrate your Android Kanzi application to the updated template from Kanzi 3.9.2 to Kanzi 3.9.3. The updated template includes support for Java Code Behind. See Changes to Android application templates.
Added instructions on how to migrate Kanzi applications from Kanzi application framework (appfw) to Kanzi Android framework (droidfw). See Migrating from Kanzi application framework (appfw) to Kanzi Android framework (droidfw).
Notable fixes¶
ID |
Description |
Area |
---|---|---|
106464 |
Fixed the issue that caused the Preview to render the prefab template child nodes in a wrong order after you reorder the child nodes of its prefab placeholder. |
Kanzi Engine |
176477 |
Fixed the issue that caused the Brush Horizontal Tiling and Brush Vertical Tiling properties to have no effect when you set them in a 2D node. |
Kanzi Engine |
410944 |
Fixed the issue that caused the kzb Player to incorrectly display Text Block 2D nodes when you bind the Font Size property to the size of the Screen node. |
Kanzi Engine |
415452 |
Fixed the snapping behavior of a non-looping Trajectory List Box 3D node that scrolls along the y axis. When the user scrolls the list beyond the first or last item, the list box now snaps back to that item. |
Kanzi Engine |
416388 |
Fixed the issue that caused incorrect focus handling for initially active Activities in a Parallel Activity Host. |
Kanzi Engine |
418086 |
Fixed the issue that caused Kanzi to render incorrect texture data when a shader samples outside the active area of a reused render target. |
Kanzi Engine |
423605 |
Kanzi now automatically disables a 2D effect that has no visual effect on the rendering result. For example, when you in the Blur Effect 2D effect set the Blur Radius to 0, Kanzi disables the effect. |
Kanzi Engine |
423718 |
Fixed the issue that caused the calls to |
Kanzi Engine |
424220 |
Fixed the issue that caused clipping errors when composition mode changes. |
Kanzi Engine |
424939 |
Fixed the issue that caused the Preview to terminate when you set the Font Size property to 0 in Text Block and Text Box nodes. |
Kanzi Engine |
426330 |
Fixed the issue that caused the Performance HUD to display the Timeline Clock milliseconds incorrectly. |
Kanzi Engine |
427041 |
Fixed the issue that caused the Preview to terminate when you try to dispatch the Activate Activity message to the root Activity node. |
Kanzi Engine |
431751 |
Fixed the issue that caused text to flicker when the glyph cache is full. |
Kanzi Engine |
412482 |
Fixed the issue that prevented the binding parser from detecting invalid characters in property paths. |
Kanzi Studio |
416672 |
Fixed the issue that prevented Kanzi Studio from importing resources from the |
Kanzi Studio |
423599 |
When you import a glTF file that uses unsupported extensions, Kanzi Studio now logs a warning that lists those extensions. |
Kanzi Studio |
427982 |
Fixed the issue that caused Kanzi Studio to report a warning about |
Kanzi Studio |
428322 |
Fixed the issue for projects using the Kanzi Studio project template that generated spurious |
Kanzi Studio |
430536 |
Fixed the issue for projects using the Kanzi Studio project template that generated spurious |
Kanzi Studio |
417701 |
Kanzi Android framework (droidfw) applications now suspend the main loop when there is no work to be done. Timers, property changes, and tasks added to the TaskDispatcher wake the application out of suspend. |
Kanzi Android framework (droidfw) |
422703 |
Fixed the issue where value source |
Kanzi Java API |
426863 |
Kanzi Android framework (droidfw) applications that contain a |
Kanzi Android framework (droidfw) |
429059 |
Fixed the issue that caused Kanzi Gradle plugin to always add the Kanzi Engine dependency to Android library projects. |
Android |
429117 |
Fixed the issue that caused Kanzi Gradle plugin to throw an exception when you add a custom build type to an Android application project. |
Android |
422349 |
Fixed the issue that caused a Kanzi Engine application created with a Kanzi Studio project template to always register plugin components statically. See Changes to Kanzi Engine plugin static registration code. |
Kanzi framework SDK |