When nesting mosaics, like snappy layouts into grid layouts, there is no need to actually render the image in intermediate steps.
One solution could be instead of passing and working on returned values of the _snappy_frame_getter or _grid_frame_getter between VignetteBuilder, that VignetteBuilder implements a get_patch_scaling_parameters method that passes the necessary values to calculate a down or upscaled image. And these values would in turn be used in the parent to account for nested up/downscaling, as many times as there is parents.
Actual rendering of up/downscaled images would occur only at the upmost VignetteBuilder object.
When nesting mosaics, like snappy layouts into grid layouts, there is no need to actually render the image in intermediate steps.
One solution could be instead of passing and working on returned values of the
_snappy_frame_getteror_grid_frame_getterbetweenVignetteBuilder, thatVignetteBuilderimplements aget_patch_scaling_parametersmethod that passes the necessary values to calculate a down or upscaled image. And these values would in turn be used in the parent to account for nested up/downscaling, as many times as there is parents.Actual rendering of up/downscaled images would occur only at the upmost VignetteBuilder object.