Branch: refs/heads/master
  Home:   https://github.com/synfig/synfig
  Commit: d914b93357415dec23c0b8f2ea40bc6708870568
      
https://github.com/synfig/synfig/commit/d914b93357415dec23c0b8f2ea40bc6708870568
  Author: Rodolfo Ribeiro Gomes <[email protected]>
  Date:   2026-07-18 (Sat, 18 Jul 2026)

  Changed paths:
    M synfig-core/src/synfig/gradient.h

  Log Message:
  -----------
  docs: add/format for Gradient and GradientCPoint


  Commit: a04871a1034c8eb37e1c102ca5691628eb089add
      
https://github.com/synfig/synfig/commit/a04871a1034c8eb37e1c102ca5691628eb089add
  Author: Rodolfo Ribeiro Gomes <[email protected]>
  Date:   2026-07-18 (Sat, 18 Jul 2026)

  Changed paths:
    M synfig-core/src/synfig/gradient.h

  Log Message:
  -----------
  style: reference symbol should be next to type; more

* `const` for method should be preceded by single space

* #define'd symbols shouldn'1t start with __ (reserved)

* comma must be followed by a single space


  Commit: 35bf8267593bcceece95bc2d118583e386b47f48
      
https://github.com/synfig/synfig/commit/35bf8267593bcceece95bc2d118583e386b47f48
  Author: Rodolfo Ribeiro Gomes <[email protected]>
  Date:   2026-07-18 (Sat, 18 Jul 2026)

  Changed paths:
    M synfig-core/src/synfig/gradient.cpp
    M synfig-core/src/synfig/gradient.h

  Log Message:
  -----------
  refactor: use Real directly instead of const Real&

It's a regular double type.


  Commit: 2d32accb884f451adc51b652bf2db4abcf1e9478
      
https://github.com/synfig/synfig/commit/2d32accb884f451adc51b652bf2db4abcf1e9478
  Author: Rodolfo Ribeiro Gomes <[email protected]>
  Date:   2026-07-18 (Sat, 18 Jul 2026)

  Changed paths:
    M synfig-core/src/synfig/gradient.h

  Log Message:
  -----------
  refactor: add `noexcept` to some Gradient methods


  Commit: 79274003280d7b26ba62578b7b5fa00d4e26d6a7
      
https://github.com/synfig/synfig/commit/79274003280d7b26ba62578b7b5fa00d4e26d6a7
  Author: Rodolfo Ribeiro Gomes <[email protected]>
  Date:   2026-07-18 (Sat, 18 Jul 2026)

  Changed paths:
    M synfig-core/src/synfig/gradient.cpp
    M synfig-core/src/synfig/gradient.h
    M synfig-core/src/synfig/loadcanvas.cpp
    M synfig-core/src/synfig/savecanvas.cpp
    M synfig-studio/src/gui/widgets/widget_gradient.cpp

  Log Message:
  -----------
  refactor: remove Gradient::sort(), move some definitions

to .cpp


  Commit: 1e3a92b021d4b1797b2054f6febb8a35a391a80e
      
https://github.com/synfig/synfig/commit/1e3a92b021d4b1797b2054f6febb8a35a391a80e
  Author: Rodolfo Ribeiro Gomes <[email protected]>
  Date:   2026-07-18 (Sat, 18 Jul 2026)

  Changed paths:
    M synfig-core/src/synfig/gradient.cpp

  Log Message:
  -----------
  refactor: remove unused #include


  Commit: c48de33a978d5294cc2d0673779d8d53195c19d1
      
https://github.com/synfig/synfig/commit/c48de33a978d5294cc2d0673779d8d53195c19d1
  Author: Rodolfo Ribeiro Gomes <[email protected]>
  Date:   2026-07-18 (Sat, 18 Jul 2026)

  Changed paths:
    M synfig-core/test/CMakeLists.txt
    M synfig-core/test/Makefile.am
    A synfig-core/test/gradient.cpp

  Log Message:
  -----------
  test: add tests for Gradient - and they fail


  Commit: 8249bd6051af95f80ac3808b11bc0cea7e9d0927
      
https://github.com/synfig/synfig/commit/8249bd6051af95f80ac3808b11bc0cea7e9d0927
  Author: Rodolfo Ribeiro Gomes <[email protected]>
  Date:   2026-07-18 (Sat, 18 Jul 2026)

  Changed paths:
    M synfig-core/src/modules/lyr_std/mandelbrot.cpp
    M synfig-core/src/modules/lyr_std/mandelbrot.h
    M synfig-core/src/modules/mod_example/metaballs.cpp
    M synfig-core/src/modules/mod_example/metaballs.h
    M synfig-core/src/modules/mod_particle/plant.cpp
    M synfig-core/src/modules/mod_particle/plant.h
    M synfig-core/src/synfig/gradient.cpp
    M synfig-core/src/synfig/gradient.h
    M synfig-core/src/synfig/loadcanvas.cpp
    M synfig-core/test/gradient.cpp

  Log Message:
  -----------
  fix: inverted interpolation of gradient since 1.3.11

AFAIK it only affects Plant, Mandelbrot and Metaballs layers.
All the others use CompiledGradient, that doesn't suffer the issue.

Gradient::operator() was getting the values in wrong direction
(except for the gradient start and end positions)
@ 0.0 - first color (OK)
@ 1.0 - last color (OK)
@ 0.3 - closer to last color instead of first one
          (it looks like how it should be if position was 0.7)
@ 0.7 - closer to last color instead of first one
          (it looks like how it should be if position was 0.3)

For 3-or-more-color gradients, each interval is reversed,
but the start and end color are correct...

So the solution was to create an intermediate gradients that
keep the start and end color points, but create swapped color
points for each pair of them.

Consider a 3-color gradient like this:

Color A @0.0 -> Color B @0.3 -> Color C @1.0

, where @ means the color point position.

It is transformed to:

Color A @0.0 -> Color B @0.0 -> Color A @0.3 -> Color C @0.3 -> Color B @1.0 -> 
Color C @1.0

And it works fine.

Tests were created to check this inversion.

Layer versions were bumped, so it won't depend anymore about the Canvas version 
on load.


  Commit: 37a9760aae7e38097d27c1ae9534926b7253beaa
      
https://github.com/synfig/synfig/commit/37a9760aae7e38097d27c1ae9534926b7253beaa
  Author: Dmitry Razumovsky <[email protected]>
  Date:   2026-07-19 (Sun, 19 Jul 2026)

  Changed paths:
    M synfig-core/src/modules/lyr_std/mandelbrot.cpp
    M synfig-core/src/modules/lyr_std/mandelbrot.h
    M synfig-core/src/modules/mod_example/metaballs.cpp
    M synfig-core/src/modules/mod_example/metaballs.h
    M synfig-core/src/modules/mod_particle/plant.cpp
    M synfig-core/src/modules/mod_particle/plant.h
    M synfig-core/src/synfig/gradient.cpp
    M synfig-core/src/synfig/gradient.h
    M synfig-core/src/synfig/loadcanvas.cpp
    M synfig-core/src/synfig/savecanvas.cpp
    M synfig-core/test/CMakeLists.txt
    M synfig-core/test/Makefile.am
    A synfig-core/test/gradient.cpp
    M synfig-studio/src/gui/widgets/widget_gradient.cpp

  Log Message:
  -----------
  fix: inverted interpolation of gradient since 1.3.11 (#3477)


Compare: https://github.com/synfig/synfig/compare/3a0130ae3e06...37a9760aae7e

To unsubscribe from these emails, change your notification settings at 
https://github.com/synfig/synfig/settings/notifications


_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to