-Add support for Chaotica files which specify xform weight as "Base weight" instead of "base_weight".
-Fix bug where Fractorium would crash when a new file was dragged in while previews were still rendering.
--This was done by changing the TreeItemChanged() events in the library tab use a direct connection rather than a queued connection.
--This obviated the need for QCoreApplication::processEvents() calls in the library tree code.
-Fix bug where renaming a flame within a file, then tabbing away did not commit the name change.
--Code changes
-Clean up some warnings about const variables in the latest version of Visual Studio 2019.
-Upgrade installer to latest update of Visual Studio 2019.
-Remove the unused field m_RotCenterY from Ember.
-Make a #define for fma() testing, but seems to make no difference.
-Optimize some of the OpenCL iteration kernel generation code.
-Possible fix to an OpenCL compilation bug when using blur curve on AMD on Mac.
-Entering xaos cells will always select the entire cell to make editing easier.
-Add radio buttons on the xaos tab to specify how pasting or duplicating xforms should preserve xaos.
--Bug fixes
-The left header column in the xaos visualization table had somehow disappeared.
--Code changes
-DoubleSpinBox now has a boolean which specifies whether it clears its selection on enter. Default true.
-Make AddXformsWithXaos() be a static member of FractoriumEmberController for quicker build times.
-Add new exmaple flames to package_linux.sh
-Allow dragging in folders which will be recursively traversed for flame files.
-Allow for adjusting scale via keyboard with the < and > keys.
-Show the count of opened flames on the header of the library tree.
--Bug fixes
-Attempt to preserve xaos when pasting xforms.
--Code changes
-Default flam3 compatibility mode to true.
-Add backward compatibility option for the following variations: cos, cosh, cot, coth, csc, csch, sec, sech, sin, sinh, tan, tanh.
-Add the ability to re-order variations by dragging them in the Info tab.
-Fix crash on palette editor when opening it with certain palette files in a particular order.
-An xform with only a post variation in it might have showed up wrong.
-The xforms combo box was obscuring the name of the xforms by not being wide enough.
-Make variation state preservation be a little bit more correct in OpenCL.
--Code changes
-Make all iterators on the CPU use a temporary point.
-Add new keyboard shortcuts:
--P/Shift+P toggles visibility of pre/post xforms.
--L/Shift+L toggles visibility of all/selected pre/post xforms.
--Bug fixes
-Xforms were erroneously able to edit via key pressed when not shown.
-Optimization and correction for hexaplay3D and hexnix3D.
-Major optimization on the GPU for flames which only have one xform, by skipping all random xform selection code.
-Changes to how xaos is "preserved" when adding new xforms, copying xforms and duplicating xforms.
--Duplicating xforms when no xaos is present in the flame now maintains not using xaos, and keeps all values as one.
--Duplicating xforms when xaos is present, will result in xaos rows and columns that are the same as the xforms being duplicated, with the new row and column area having values of 1.
--Duplicating xforms when xaos is present, while Control is pressed, will result in xaos rows and columns that have values of 0, with the new row and column area having values of 1.
---Copying xforms has the same behavior as duplicating with Control pressed.
--Bug fixes
-hexaplay3D, hexnix3D and post_smartcrop were wrong on the GPU because they are the rare variations which preserve state between iterations.
-Changing the sub batch size would improperly wrong the wrong number of iterations.
--Code changes
-Some functions in Affine2D made const.
-Change in the index at which points and variation state are preserved between kernel calls.
-Some arguments in some member functions of GLEmberController made const.
-Add new Blur Cuve field which controls how blurring increases when moving from the center out.
--Bug fixes
-Undo Y axis flipping from previous commit, it never worked and is not worth the effort.
--Code changes
-The new field is a member of Ember and is called m_BlurCurve, and the corresponding xml field is called "blur_curve".
-Duplicate xform will now only add the new xforms with xaos preserved if xaos is already being used in the flame. Otherwise, they'll just be added normally.
-This is a hybrid of the original behavior and the new behavior added a year or so ago.