Thor software rendering using 16 bit (TVG_COLORSPACE_RGB565)

Some success in trying to get lottie to function on my Riverdi STM32U5
Which relates to my other post:

I got a flying paperplane lottie example to function using

#define LV_COLOR_DEPTH = 16
#define LV_USE_NEMA_GFX 1
#define LV_USE_LOTTIE     1  /**< Requires: lv_canvas, thorvg */

and the thor software renderer:

#if LV_USE_VECTOR_GRAPHIC && LV_USE_THORVG
    tvg_engine_init(TVG_ENGINE_SW, 0);
#endif

However the lottie is rendered using TVG_COLORSPACE_ABGR8888, so 32bit, so twice the memory.
I looked, search and hacked a 16bit renderer into the code locally. For now replacing (partially, and so wrecking) the 32bit implementation: first want to have some result before allowing both. And also dropping the alpha channel while rendering.
Notice the 8/32 bit implementation is using templating and function (argument) overloading.

Now able to render a lottie twice the screen size.
Or should I have chosen a different direction?