# SceneComposer Usability Improvements

#### Easy Mode Generator

A configuration file will allow the user to set values that will overwrite the default value from the ApplicationConfig file when SceneComposer starts. This file can be generated by using the "SceneComposerConfigurator.exe".

In this way, it can be set which object properties are to be presented in SceneComposer's property grid, "Preferences", and all existing dynamic properties (Polarion CGI1-15841, CGI-15842 &amp; CGI-16101).

The configuration applies to all static object properties. The user can rule for dynamic properties like widgets, behaviours, controls. The configuration of widgets, behaviours and controls cannot be extracted/generated automatically.

The configuration values which can be set are:

<div class="contents" id="bkmrk-initial-value%3B-restr"><div class="contents"><div class="textblock">- Initial value;
- Restrict visibility (True/False);
- ForeceReadOnly (True/False).

<dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Easy Mode Generator](https://doc316en.candera.eu/link/182#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Language Dependent Fonts

Until now, the fonts could be configured based exclusively on unicode ranges. Since this version on, it will be possible to configure the fonts on the basis of language. So, the configuration is extended in such a way that the font selection can be also conditioned by language ISO codes (the standardized nomenclature used to classify languages).

The text style entries are grouped by culture (multiple). Every text style has - similar to "Entries" - a "Culture" list and every culture from this list has its own "Entries" list. In this way all the text style entries are grouped - as mentioned above - by culture (Polarion CGI1-15719).

<div class="contents" id="bkmrk-see-also%3A-text-style"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Text Style](https://doc316en.candera.eu/link/54#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### SceneComposer Icon in Windows Taskbar

Like any other application, SceneComposer has the ability to be pinned/unpinned to Windows taskbar (Mantis 5950).

<div class="contents" id="bkmrk-see-also%3A-starting-s"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Starting SceneComposer](https://doc316en.candera.eu/link/8#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Autosave Improvements

New buttons were added to allow backups to be deleted and renamed from the options dialog. At the same time, before creating a backup the current solution gets saved (Mantis 8111).

<div class="contents" id="bkmrk-see-also%3A-enable-sav"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Enable Save Snapshot](https://doc316en.candera.eu/link/93#bkmrk-enable-save-snapshot)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Transitions

The previously added feature of scene transition editor was completely re-done (Polarion CGI1-15898, CGI1-15858, CGI1-15885, CGI1-16195 etc.). Since now on two different panels are available to set and use transitions:

<div class="contents" id="bkmrk-%22rules-editor%22%3A-it-a"><div class="contents"><div class="textblock">- "Rules Editor": it allows the definition of transitions on a per scene basis and test these transitions directly in SceneComposer's display preview. The designer can use the editor to set the transitions to ("Destination") or from a scene ("Source") just by selecting or by dragging and dropping effects onto the scene list.
- "Transition Execution": supposing that the scenes are prepared to be used in a transition, the user has to choose which kind of transition will be assigned to the "Activate" and "Deactivate" state of the scene. The former concept indicates what will happen when the transition will be working from a scene **to** that scene or when will be working on a scene alone, and the latter indicates what will happen when the transition will be working **from** that scene to another one or when will be working on a scene alone. This operation can be done in a secondary panel named "Transition Execution".

</div></div></div>In addition to cut, fade, slide and scale transitions - or combinations of these - a new build-in transition type was added: Animation. By using it is possible to trigger animations or group animations within transitions.

<div class="contents" id="bkmrk-see-also%3A-transition"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Transitions](https://doc316en.candera.eu/books/scene-design/chapter/transitions)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Control Node Animations

SceneComposer 3.3.1 displays local animations (Control node animations) and plays them, but does not offer any possibility of including them in Animation Groups (Polarion CGI1-15885). Since this version on, the "Local animations" are renamed "Control animations". The command by add animations into an animation group has been split in two distinct and self-explanatory commands (available in the context menu):

<div class="contents" id="bkmrk-%22add-this-animation-"><div class="contents"><div class="textblock">- "Add this Animation to Animation Group(s)" and
- "Add Animations to this Animation Group".

</div></div></div>Another related features:

<div class="contents" id="bkmrk-after-a-control-anim"><div class="contents"><div class="textblock">- After a control animation is added, it behaves as any animation node. It inherits Delay and Startup properties (startup is available only in certain circumstances).
- AnimationGroup panel has been changed. Instead of displaying the name of nodes (Which is very irrelevant to the user) it now displays the full name of the animations and short version of the control animations.
- Categories for a normal animation (inside an animation group) are reorganized: a) Delay and Startup are moved to a separate category called "Animation", which is displayed after "General"; b) A new readonly property is available, "Animation" which displays the name of the node animation

<dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Animation Groups](https://doc316en.candera.eu/link/25#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Animation Property Setter

A new animation property was implemented for:

<div class="contents" id="bkmrk-camera2d-viewport-%28v"><div class="contents"><div class="textblock">- Camera2D ViewPort (values: Left, Top, Width, Height)
- Camera2D ScissorRectangle (values: Left, Top, Width, Height)
- Camera3D ViewPort (values: Left, Top, Width, Height)
- Camera3D ScissorRectangle (values: Left, Top, Width, Height)
- CanvasRenderable Rectangle (values: Left, Top, Width, Height)
- Node2D Layout Margin (values: Left, Top, Right, Bottom)
- Node2D Bounding Rectangle (values: Left, Top, Width, Height)

</div></div></div>When selecting from the context menu "Add Animated Property" on any of the mentioned items, the new property - ViewPort, ScissorRectangle, and SetVertexRactangle - will appear on the drop down box. After selecting it and pressing "OK", an entry will be added in the Animation Values (Animation Design mode) and two key frames will be automatically created (Polarion: CGI1-15990, CGI1-15991 &amp; CGI1-15992).

<div class="contents" id="bkmrk-see-also%3A-create-an-"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Create an Animation on a Specific Node](https://doc316en.candera.eu/link/14#bkmrk-create-an-animation-)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Renaming Clones and Nodes

When cloning (or pasting a node) the name of the new node will automatically check if there is already a number at the end of the name. If there is a number this should be increased automatically.

For instance, if an existing "Node\_1" (or "Node1") is cloned the name of the clone will be "Node\_2" (or "Node2") and not "Node\_1\_1" (or "Node1\_1").

The duplication of the item names is incremented based on the numeric suffix with our without an "\_" separator (Mantis 7603).

<div class="contents" id="bkmrk-see-also%3A-clone%2C-del"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Clone, Delete, Rename Scene Nodes](https://doc316en.candera.eu/link/118#bkmrk-clone%2C-delete%2C-renam)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Behavior Indicator

An overlay icon was added for nodes containing one or more behavior elements. In this way it is easier to find those nodes which use behaviours (Mantis 8007).

<div class="contents" id="bkmrk-"><div class="contents"><div class="textblock">---

</div></div></div>#### Shifting Animations Keyframes

A checkbox - "Snap when shifting animation keyframes" - was added to allow the setting of the snap shifting animation keyframes to increment of 5. The checkbox is available in "Preferences" panel, section "Animations" (Mantis 7410).

<div class="contents" id="bkmrk-see-also%3A-animation-"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Animation Options](https://doc316en.candera.eu/link/94#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Export Dependency List

A new button was added - in the "Graph Dependencies" panel - to allow the user to export the "Dependency Graph" as an .xml file with nodes based on items types and names. To use this option, the user has to choose the references graph to be shown (Mantis 8487).

<div class="contents" id="bkmrk-see-also%3A-usage-and-"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Usage and Dependencies](https://doc316en.candera.eu/link/129#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Live Data Preview - Courier Extension

SceneComposer was extended to allow an advanced usage of [Courier](http://dev.doc.cgistudio.at/APILINK/namespace_courier.html) plugin (Polarion CGI1-15850, CGI1-15849). More detailed, it offers different functions and improvements:

<div class="contents" id="bkmrk-sdk-functions-to-dyn"><div class="contents"><div class="textblock">- SDK functions to dynamically change widget and control properties;
- SDK helper function to provide databinding properties based on the custom metainfo specification;
- SDK functions to enable/disable live data integration.

</div></div></div>The user, when working with [Courier](http://dev.doc.cgistudio.at/APILINK/namespace_courier.html), can define the data items and link them to widget/control properties via data binding.

<div class="contents" id="bkmrk-note%3A-in-scencecompo"><div class="contents"><div class="textblock"><dl class="note"><dt>**Note:**</dt><dd>In ScenceComposer the data binding properties are parametrized as default values.</dd></dl>---

</div></div></div>#### Uniform Buffer Object Support

OpenGL ES3.0 introduces Uniform Buffer Objects (UBOs). To adress this issue in SceneComposer two changes have been done (Polarion CGI1-15481):

<div class="contents" id="bkmrk-parse-the-shader-to-"><div class="contents"><div class="textblock">- Parse the shader to recognize uniform block layouts to correctly determine array size used for instancing;
- Determine if built-in Material, Light, and Camera uniforms are used in blocks and set the bitfield flag in the Shader object accordingly.

---

</div></div></div>#### Minor Improvements

<div class="contents" id="bkmrk-saved-settings%3A-sinc"><div class="contents"><div class="textblock">- **Saved Settings:** Since now on, some specific settings are saved on a restart of SceneComposer - scale, translate, rotate, preview camera, editor camera scope, enable active rendering, enable updating for all widgets in all scenes (Mantis 8355).
- **Widget Update Stored:** The settings for live rendering and Widget Update are also stored accross SceneComposer lifetieme (Mantis 8313).
- **Change to Editable:** The option "Change to Editable" from the context menu is available even though the user selects more scripts (Mantis 8392).
- **Item Definition:** When a new render target is created, a preselected "Render Target Template" is already set for each platform (Mantis 7245).
- **Colored Problems:** Three distinct colors have been defined for problems: red for "Error", yellow for "Warning" and white for "Information". Red color will take precedence over the yellow and white (Mantis 7614).
- **Asset ID:** To improve the usability of SC, the Asset Id can be switched between Hex and Decimal representation based on a configuration flag in the Properties' panel (File &gt; Preferences &gt; Properties Panel) (Mantis 8599).
- **Error Friendly Displayed:** When the restore operation failed, the error is user friendly displayed (Mantis 8543).
- **Render Statistics:** New render statistics have been added under the "2D" section: "Blits", "Blits Culled", and "Clears" (Mantis 8333).

---

</div></div></div>