-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".
-Change how the PositiveYUp option is actually handled to make things more compatible with Apophysis. depending on the value of that option:
--Moving an affine up or down will mean a positive or negative value.
--Locally, the display of the affine will be flipped.
--Bug fixes
-Fix waffle.
-Add new style sheet called uranium that is reminiscent of the old Winamp color scheme of the same name.
-All for keyboard presses to edit affines.
--Q: rotate counter clockwise.
--E: rotate clockwise.
--W: move up.
--S: move down.
--A: move left.
--D: move right.
--G: shrink.
--H: grow.
--Hold shift to decrease amount, control to increase amount.
-Change some menu shortcuts to accommodate these new affine editing shortcuts.
-Random xaos now just provides values of either 0 or 1. Hold control to get the old behavior.
--Bug fixes
-Waffle variation was broken in OpenCL.
-Fix OpenCL compilation bugs in a few variations.
--Code changes
-Pre/post variations are now checked for precalcs when creating the OpenCL kernel code.
-Change some enumeration t
-Fix variations: blob2 (broken on CPU), epispiral, hole.
-Fix reading variations from Apophysis: supershape.
-Bump render was broken.
--Code changes
-Flip precalc sina/cosa and apply everywhere by flipping the usage. Flam3 had these reversed and it made the code confusing to read.
-Improve performance in the following variations: cpow2, dc_cube, julia3d, julia3dz, julian2, log_db, nblur, npolar, waffle, wavesn, xtrb.
--Code changes
-Rand range now uses multiply + shift rather than modulo.
-Fix some potential OpenCL compilation bugs on circlecrop, circlecrop2, oscilloscope2, Truchet_hex_crop.
-Prevent the minus key from changing the current xform when being pressed in a textbox.
--Code changes
-Cleanup some casting in depth_blur, depth_blur2.
-Fix xform selection logic to prevent selecting hidden pre and post xforms.
-Add hex_modulus.
--Bug fixes
-starblur was wrong.
--Code changes
-Optimize Truchet_hex_crop, Truchet_hex_fill.
-Cleanup Truchet_inv.
-Add new file Variations08.h, and move Gnarly and inkdrop there.
-cosh, coth, csch, sech, sinh, tanh: Scale inputs by PI/4. This will produce different results, but is technically more correct.
--Code changes
-cos, csch: move position of sign flip, shouldn't change output.
-cot, coth, csc, csch, sec, sech, tan, tanh: add optimization.
-Undo list length increased from 128 to 512.
--Code changes
-auguer doesn't need Zeps().
-Additional check on undo list length when adding in certain circumstances.
-Add gnarly variation.
--Bug fixes
-Fix reading of post variations in .chaos files.
-Make selection of points on color curves control apply only to the current selection as specified by the radio buttons below.
--Code changes
-Use std::complex<T> type in some variations' CPU code.
-mirror_x, y and z variations were totally wrong.
-Reading color curves from older version 2 .chaos files which did not have the "knots" and "values" names was broken.
-Add new variations waves22, waves23, waves42, waves3 and waves4 from user tatasz.
-Add new stylesheet called lightdark.qss which gives a more modern look to the dark theme. Started by Michel Mastriani (triptychaos).
--Included in the qmake and Wix installers.
--Code changes
-Add a new C# project that attempts to convert Apophysis plugins to Fractorium style Variation classes. It's not entirely perfect, but gets most of the job done much more quickly than doing so manually.
-Remove unused OpenCL functions from variations: elliptic, poincare, mask, bMod, bSwirl, bTransform, bCollide, farblur, popcorn2_3D, falloff, falloff2, falloff3, crackle2, waves2b, hypercrop, depth_gaussian2, depth_sine, depth_sine2, dust, asteria, vibration, vibration2, arctanh, smartshape, squares, starblur2, Truchet,.
-Add code in EmberTester to automatically detect such unused functions.
-Clear all color curves when clicking Reset while holding down Ctrl.
-Interpolate color curves when generating a sequence.
--Bug fixes
-Undo a change made last year which gave the wrong color index for final xforms when generating a sequence.
--Code changes
-No longer assume palettes are 256 elements. Can now read longer palettes.
-Ensure OpenCL images always get written when created.
-Clear all color curves when clicking Reset while holding down Ctrl.
--Code changes
-No longer assume palettes are 256 elements. Can now read and write longer palettes.
-Ensure OpenCL images always get written when created.