# GameGUI Change Log ## v1.5 (October 18, 2023) ### Text Scaling Bugfix - Scaling text nodes previously failed to update their text size on the first layout. This is fixed in v1.5. - If defined on any GameGUI node or child of a GameGUI node, the new `_on_resolve_size(available_size:Vector2)` event callback is called prior to resolving each component's size. - No action is required. However, a component can adjust its sizing mode, its layout size, and/or any other properties in this callback. - Scaling text components GGLabel, GGRichTextLabel, and GGButton formerly set their text size in `_on_update_size()`. However the reference nodes they use to determine their current font size most likely did not have their node sizes set on the first layout. - The scaling text components now update their font size in `_on_resolve_size()` instead because any nodes higher in the tree will have resolved their size. ## v1.4.2 (October 15, 2023) ### Structural Changes For Godot AssetLib - No actual code changes. - Version 1.4.1 was published on Godot Asset Library. - The 1.4.1 download is bloated with media files and there is no `.gdignore` inside the folder. - A mininmal plug-in branch has been created, called `addon`. - This `addon` branch will be the one linked to in the asset library. - `addon` v1.4.1 was submitted to AssetLib but it seems like the maintainers may not be willing to approve the commit number change without a corresponding version number bump. - Consequently this v1.4.2 release is in hopes of getting the compact version live on the asset library. ## v1.4.1 (October 14, 2023) ### [GGNinePatchRect](README.md#GGNinePatchRect) New component GGNinePatchRect replicates NinePatchRect functionality and makes the following improvement: when the bounds of a GGNinePatchRect are smaller than its corners, the corners are proportionally shrunk to fit the available bounds. ### [Safe Area Margin Parameters](README.md#Built-In-Parameters) Built-in parameters `safe_area_top_margin` (etc.) are now automatically set and maintained by GameGUI. ## v1.3.1 (October 10, 2023) ### GGMarginLayout fixes - Fixed margin calculation bugs (`x` <-> `y` errors in two spots). ## v1.3 (September 23, 2023) Aspect-Fit and Aspect-Fill sizing modes can now be mixed and matched, with e.g. one dimension using Fit and the other using Fill. There are four possible aspect-mode combinations: Horizontal Mode | Vertical Mode | Effect ----------------|---------------|------- Aspect-Fit | Aspect-Fit | Component maintains the specified aspect ratio and is sized as large as possible while still fitting in the available area. Aspect-Fill | Aspect-Fill | Component maintains the specified aspect ratio and is sized as small as possible while still completely filling the available area. Aspect-Fill | Aspect-Fit | Component occupies all available width while maintaining the specified aspect ratio. Aspect-Fit | Aspect-Fill | Component occupies all available height while maintaining the specified aspect ratio. ## v1.2 (September 9, 2023) ### GGOverlay supports scale > 1.0 H&V Scale Constants can now be manually set to values > 1.0. ### GGHBox and GGVBox Content Alignment [breaking change] GGHBox and GGVBox now have a **Content Alignment** property which specifies how the content as a whole is aligned if it is larger than or smaller than the size of the box. For GGHBox the options are **Left**, **Center**, and **Right**. For GGVBox the options are **Top**, **Center**, and **Bottom**. This is a breaking change because the default for both is **Center** whereas the previous layout behavior matched a default of **Left** for GGHBox or **Top** for GGVBox. If an existing GameGUI project has misaligned elements after the update then there are GGHBox and GGVBox components that need their Content Alignment to be set to Left or Top. ## v1.1 (September 5, 2023) ### GGHBox and GGVBox more robust More robust layout of Shrink-to-Fit children. - OLD: - Shrink-to-Fit children counted as fixed size for layout purposes. - Assumption was that STF children had fixed-size children. - NEW - STF children given their maximum size during layout. - STF children may base their size on the available space given to STF, which in turn affects STF final size. - STF child sizes no longer prematurely assumed. ## v1.0.1 (September 3, 2023) - Original release.