# CGI Studio 3.13

Release Date: December 2023

# General 3.13

This page describes general updates that were made to CGI Studio version 3.13.

#### Scene Composer

- Improved UI/UX, reduces clutter and optimized toolbars
- Support for long path names and 64 bit
- Improved import procedures
- Fusion - added bird's eye view and improved features
- State Machine - added bird's eye view, undo/redo option, shortcuts, and many more
- Integrated a rendering-based Text Length Checker
- Improved Easy Mode configuration

#### Candera

- Monotype version upgrade

#### Controls

- Improved slider control

# Candera 3.13

#### Monotype Version Upgrade

The version of Monotype iType and Monotype WT-Shaper have been upgraded to the following versions:

<table id="bkmrk-3rd-party-software-v" style="border-collapse:collapse;width:30.3704%;height:506.547px;"><tbody><tr style="height:29.7969px;"><td style="height:29.7969px;width:72.0981%;">Monotype <span lang="en-us" style="font-size:11pt;font-family:Calibri, sans-serif;">iType</span>  
</td><td style="height:29.7969px;width:28.1736%;">6.2.2  
</td></tr><tr><td style="width:72.0981%;">Monotype WT-Shaper  
</td><td style="width:28.1736%;">5.0.0  
</td></tr></tbody></table>

####   

# Controls 3.13

### <a class="anchor" id="bkmrk-"></a>Slider Control

The Slider control was modified and uses the newly introduced <span style="color:rgb(230,126,35);">[SliderBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_slider_behavior.html "SliderBehavior that lays out a slider bar and a knob on a background. It expects ProcessValueEvent wi...")</span> for layout of its elements. Now it is possible to

<div class="contents" id="bkmrk-set-a-layout-size-on"><div class="textblock">- set a layout size on the control itself
- assign a nine-patch image for the slider fill.

</div></div>

# Behaviors 3.13

#### <a class="anchor" id="bkmrk-"></a>ListBehavior::TouchMode moved.

"enum CgiStudioControl::ListBehavior::TouchMode" has been moved from Behaviors/Scroll/List/ListBehavior.h to Behaviors/Scroll/List/ListTouchMode.h and renamed to "enum CgiStudioControl::ListTouchMode::Enum". The enum values CgiStudioControl::ListBehavior::Idle, CgiStudioControl::ListBehavior::Down, CgiStudioControl::ListBehavior::Scrolling and CgiStudioControl::ListBehavior::Flicked are therefore now available as CgiStudioControl::ListTouchMode::Idle, CgiStudioControl::ListTouchMode::Down, CgiStudioControl::ListTouchMode::Scrolling and CgiStudioControl::ListTouchMode::Flicked.

#### <a class="anchor" id="bkmrk--1"></a>ScrollableEvent new flag

The <span style="color:rgb(230,126,35);">[ScrollableEvent](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_scrollable_event.html "ScrollableEvent is emitted by ScrollbarBehavior and received by other controls like ScrollView or Lis...")</span> has been extended with the additional flag TreatAnimationDurationZeroAsNotSet.

Use false to gain the same behavior as before (a duration value of 0 is considered as an animation duration of 0). When set to true the provided animation duration with the value 0 is treated as not set and the receiving scrollable control will use its own animation duration instead (when the provided animation duration is not 0 then there is no change in behavior). Also the <span style="color:rgb(230,126,35);">[ScrollableEventActionBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_scrollable_event_action_behavior.html "ScrollableEventActionBehavior Enables scrolling a scrollable behavior (e.g. a ListBehavior2D) to a sp...")</span> reflects that change with its new configuration property TreatAnimationDurationZeroAsNotSet. The default value for this property is true (because it is more likely that that already centrally configured animation duration shall be taken than a real 0 time animation duration).

#### <a class="anchor" id="bkmrk--2"></a>Scrollable new callback

The <span style="color:rgb(230,126,35);">[Scrollable](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_scrollable.html "Scrollable Base Class for Adapter (VerticalScrollAdapter, HorizontalScrollAdapter, ListBehaviorInterfaceAdapter, etc.)")</span> interface has been extended with the interface SetScrolling. The external caller will indicate with the call of SetScrolling if the object is currently scrolled (e.g. by a scrollbar with ongoing user input) and when this scrolling stops.

#### <a class="anchor" id="bkmrk--3"></a>ListBehaviorExtension interface added

The <span style="color:rgb(230,126,35);">[ListBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_list_behavior.html "ListBehavior is a list supporting scrolling itemwise and pagewise combined with either relative or ab...")</span> functionality can now be extended by implementing the <span style="color:rgb(230,126,35);">[ListBehaviorExtension](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_list_behavior_extension.html "ListBehaviorExtension is a set of callbacks for the ListBehavior to extend the default behavior...")</span> interface and apply the extension to a list. In addition an extension has been added that allows to snap the selected list item to an aligned snap position (combined snap positions of the list and the item). The new <span style="color:rgb(230,126,35);">[SnapListItemExtensionBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_snap_list_item_extension_behavior.html "SnapListItemExtensionBehavior registers a ListBehaviorExtension on the given ListBehavior for snappin...")</span> can be used to deploy this extension on a node with an attached <span style="color:rgb(230,126,35);">[ListBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_list_behavior.html "ListBehavior is a list supporting scrolling itemwise and pagewise combined with either relative or ab...")</span> and configure the general snapping functionality. The SnapListItemConfigurationBehavior can be used to configure individual setting for each item that will override the central configuration at the list node.

#### <a class="anchor" id="bkmrk--4"></a>SliderBehavior added

Added a <span style="color:rgb(230,126,35);">[SliderBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_slider_behavior.html "SliderBehavior that lays out a slider bar and a knob on a background. It expects ProcessValueEvent wi...")</span>, which does the layout of the background, fill area and knob nodes. It expects a ProcessValueEvent with a normalized value between 0.0 and 1.0.

# FeatStd 3.13

- Refactored containers
- Refactored Identifier and Name classes
- Added Visual Studio debugging visualizer for FeatStd base types

# Scene Composer 3.13

#### UI/UX Improvements

- Improved [<span style="color:rgb(230,126,35);">Zoom Display Preview</span>](https://doc316en.candera.eu/link/3#bkmrk-zoom-display-preview) in the display panel
- Toolbar improvements to reduce clutter (main screen, 2D/3D scene editor and animation timeline)
- Improved <span style="color:rgb(230,126,35);">[Text Style Editor](https://doc316en.candera.eu/link/54#bkmrk-text-style-editor)</span> feature
- Improved <span style="color:rgb(230,126,35);">[Search Panel UI](https://doc316en.candera.eu/books/solution-handling/page/searching)</span>
- Long path name support
- 64 bit support

#### Import feature improvements

- Improved import dialog UI
- Integrated file format import menu into \[ Import Resources \] and improved UI transition when import is executed.
- Support for drag-and-drop glTF import into Solution Explorer
- Other minor modifications

#### Fusion

- Additional context menu on Fusion diagrams
- <span style="color:rgb(230,126,35);">[Diagram Bird's Eye](https://doc316en.candera.eu/books/solution-handling/page/diagram-birds-eye)</span> feature support added

#### State Machine

- Added undo/redo functionality
- Additional context menu on State Machine Editor 
    - Priority setting for transitions
    - Alignment of multiple items
- Added shortcut key features for fast state machine modifications
- Added zoom operation support
- <span style="color:rgb(230,126,35);">[Diagram Bird's Eye](https://doc316en.candera.eu/books/solution-handling/page/diagram-birds-eye)</span> feature support added
- Removed Telerik serialization in the solution file. Solution conversion will handle the state machine data conversion.

#### Text Size Report

Added a rendering-based <span style="color:rgb(230,126,35);">[Text Size Report](https://doc316en.candera.eu/books/solution-handling/page/text-size-report-KPG)</span> to verify length of texts.

#### Easy Mode

Configuration of Easy Mode is possible via Scene Composer preferences.

# Platform 3.13

Platform changelog for 3.13

#### Android

- Implemented support for Clang: This update includes the integration of Clang builds.
- Updated NDK 17 to 26: This update now support NDK 26 for Android builds.
- Dropped support for GCC in Android Builds: GCC has been dropped officially since the integration of Clang.
- The NativeViewLibrary application has been updated to support both Clang and NDK 26.