========================================================== Kanzi 3.5.x cumulative release notes ========================================================== ---------------------------------------------------------- Kanzi 3.5.1 release notes - June 22, 2011 ---------------------------------------------------------- Feature improvements -------------------- * Improved the animation system: * You can now set the Playback Mode, Duration Scale, and Repeat Count properties in the Start Animation Playback action to better control the playback of keyframe animations. * Added the Resume Animation Playback action to enable resuming a paused animation. * Added an option to select the shortest path when interpolating animations. Documentation ------------- * Added a tutorial that helps new users start learning Kanzi Studio. * Added a tutorial that shows how to dynamically set the target value for a property and interpolate the current value to the target value over time. * Added instructions which explain how to localize themes. * Added instructions that explain how to interpolate the rotation of 3D nodes. ---------------------------------------------------------- Kanzi 3.5.1 release notes - April 18, 2017 ---------------------------------------------------------- New features ------------ * Themes. Themes enable you to use a single Kanzi Studio project for multiple variants of your product. * Prefab View nodes enable you to change a prefab at application runtime. * Rulers and guides help you position the elements in your application. * The Preview now shows the scale, rotation, and transformation values for either the Render Transformation or Layout Transformation property of the selected node. * You can now purchase Kanzi Studio dongle licenses. Feature improvements -------------------- * Improved the animation system: * You can now use the Animation Player to control the playback of keyframe animations. * Update your Kanzi applications to use the new features in the animation system. The Play Animation action is deprecated and will be removed in the next version of Kanzi. * Improved the workflow for creating property driven animations. * Added the functionality to interpolate property values. * Removed the Background Animation property. When you open a project created in an earlier version of Kanzi Studio, Kanzi Studio replaces the Background Animation property with the Animation Player. The legacy animation and its C API are removed. To learn how legacy features map to new features, in documentation see Release notes and migration guides > Kanzi 3.5 migration guide. * New property system. Property system is now fully converted to C++ and the old C API is removed. * Reworked asynchronous loading. * Replaced the Preload Resources action and the On Preloading of Resources Completed by the Prefab View node functionality. Use the Prefab View node to load resources asynchronously during runtime. * To load resources asynchronously during application runtime using the Kanzi Engine API, use ResourceManager::acquireResourcesAsync and Node::acquireResourceAsync. * Improved the stability of asynchronous loading. * Added focus and keyboard support for Grid List Box, Scroll View, Slider, and Trajectory List Box 3D nodes. * Made possible to change Item Template property in a list box with a state manager. * Updated the Performance HUD to include the information about the animations and to enable you to set the level of information the Performance HUD shows. * Refactored the rendering of Node2D. As a result the CPU consumption by Node2D has decreased. * Introduced API to reset caches in Node2D. See Node2D::resetCacheChildren. * ResourceManager::addDirectoryFromFile now throws an exception if the directory is already added. * Removed the message queue support in the message dispatcher. Now all messages are delivered immediately. * SRTValue3D no longer contains Euler angles. Use quaternions to describe orientations of 3D objects. * Merged the BrushResource class to the Brush class. * Font loading now uses memory mapping which is enabled when you enable memory mapping for your application. This enables you to improve the performance and memory consumption of your application. * Added Application::progressDeploymentQueueOverride. You can use it to control on per frame basis how many resources are deployed. * Added ApplicationProperties::graphicsLoggingEnabled variable to application configuration. * Improved the usability of the Pages window, including the highlight colors: * White border marks the currently active Page or Page Host node. * Purple line on top of the node marks a Page Host node. * Orange border marks the last active node in a Page Host node. * Improved the usability of the State Tools: * Exposed the Selected property for the List Box Item Container in State Tools. * Cleaner layout, including the improved layout of states. * You can now edit complex property types, such as matrix properties like Render Transformation and resources like Default Texture, without leaving the State Tools window. * When you enable State Tools edit mode the Preview window border turns orange, when you use the auto-record button, the border turns red. * Overhauled the interface and approach to working with resource dictionaries in Kanzi Studio. The new Dictionaries window enables you to: * Manage the content of resource dictionaries in nodes. * Create different resource types and add existing resources to the resource dictionary you select. * Set and edit resources in locales and themes. * Added functions to scripting which enable you to: * Navigate between Page and Page Host nodes using scripts. * Get the node which currently has the focus. * Remove the focus. * Added the functionality to bindings which returns the control that instantiates the prefab. * Improvements to the Text Block node: * Text Block nodes now take into account more information about positioning of glyphs and spaces defined in the font they use. Among other things, these changes allow you to use zero-width joiners and zero-width space. * Control the text padding with the Horizontal Padding and Vertical Padding properties. * Added the Fixed Character Width property. Use the Fixed Character Width property to turn any font into a monospaced font. If you created you Kanzi application in an earlier version of Kanzi, these improvements change the way text looks in Kanzi 3.5. * In addition to the line and circle trajectories, you can now create and configure directly in Kanzi Studio angle, arc, ellipse, rectangle, spiral, and trapezoid trajectories. You can use these trajectories in the Trajectory Layout, Trajectory List Box 3D, and Slider nodes. * Improved usability of the Localization Editor. * Introduced a faster algorithm to generate mesh normals. * In Kanzi Studio you can now redeploy and launch the latest build of your application .apk without building it. * Added the functionality to discard mouse and touch events per application. * Added kzuFontGetDescender. * Added the ability to create texture from an existing GL handle. * Exposed implementations for UI controls concept classes. * Improved the stability of OpenGL emulation on Windows and Parallels. Changes ------- * Kanzi Studio is now 64-bit, which enables you to work on larger projects. * Kanzi Studio now uses .NET Framework 4.6.2. * The API to created domain has changed. Domain now creates all subsystems itself. * Removed the Object Depth and Scissor properties. * KzcColor structure replaced with ColorRGBA everywhere. * Changed how resources are restored on application resume. The resources you want to automatically restore on resume must be available and you must register them with the resource manager. * Texture API. * Reusing message argument structs that are marked as handled now generates an exception. * Removed socket support from Kanzi Engine. * ResourceManager::purge clears all caches in the Kanzi Engine. * Data sources now generate consistent names for list box items. Instead of data, the item name is based on the prefab name. * Updated the Kanzi license terms. Documentation ------------- * Added content which shows how to set up your application to receive input from a computer keyboard: * Learn how to receive input from the keyboard in your Kanzi application. * Complete a tutorial where you learn how to add keyboard input to your Kanzi application. * Added a tutorial to show how to use a JavaScript script to set the state of your Kanzi application. * Improved the instructions for working with Page and Page Host nodes transitions. * Added content explaining how to use List Box Item Container nodes. * Added available Kanzi Studio editors you can declare for a property type in a Kanzi Engine plugin.