Ambiguity between (vi, va), (v5, v95), (v0, v1) and (black white)
In MapModel, tex_vi tex_va are used to represent the min and max value of the dataset, while tex_v5 tex_v95 represent the 5 and 95 percentiles, also those values (and others) are cached in the texture dict for each band already shown.
In Palette, vi va represent tex_v5 tex_v95 (given by signal init_histo_vals from MapModel). Then they are called mn mx in update_levels before being used to update "black" and "white" in the Map views (by pointer methods and not signals).
In AbstractMapView, those black and white are given as v_0 and v_1 to the Shaders. While method update_vs look in MapModel to get tex_vi tex_va (by pointer access not signal), then call them v_i v_a, gives them to Shaders as v_i v_a (unused for now) before calculating the max between old and new values and give that to Palette that use them as its display range (emit a signal then Palette get the values by pointer access not as signal values), remember that in Palette vi va represent tex_v5 tex_v95.
So we get 4 names alternatively, not counting the v_i v_a variant nor mn mx, that represent sometimes the same objects, but also different objects at other times. I hope I did not miss a step, but I fear I did as I got a bug where I do not achieve a correct updating of v_0 v_1 in the Shaders.