Kanzi 3.6.1 migration guide

Use this migration guide to update Kanzi applications from Kanzi 3.6 to Kanzi 3.6.1.

Scheduler changes

Scheduler m_scheduler in kanzi::Application is now a direct field in an application and no longer a shared pointer

setLayoutSize() is now setSize()

Node2D::setLayoutSize renamed to setSize(). setLayoutSize() still exists as a forward to setSize() to keep existing applications working. Use of setLayoutSize() is discouraged.

ContextTexture replaces GlyphTexture

To be consistent with the 2D font rendering and brushes, font materials now use ContentTexture as the glyph texture . Kanzi still supports the GlyphTexture property, but prints a warning.

Loading kzb files

If in your application you override

void DataSource::loadFromKZB(const KzuResourceLoaderThreadContext* threadContext, KzcInputStream* inputStream, const KzuBinaryFileInfo* file);

To make your application work with the loading of the improved kzb file format, you must also override

void DataSource::loadFromKZB(Domain* domain, KzbFile& kzbFile, ReadOnlyMemoryFile& file, KzbMemoryParser& parser);

Using improved kzb format

If you use the improved kzb format:

  • The addKzbFile function replaces the functionality of the mergeDirectoryFromFile function used in the legacy kzb format.

  • To make a Kanzi Engine plugin which uses loadFromKZB() to work in Kanzi Studio Preview, you must also implement the loading from the legacy kzb format.

Property types with spaces

Kanzi Studio no longer imports from Kanzi Engine plugins property types which include spaces in names. Kanzi Studio removes such property types from existing projects.

If you create in a Kanzi Engine plugin property types which contain spaces, remove the spaces, update the plugin in your Kanzi Studio project, and update the project to use the new name for that property type.