TODO:
------------------------------------------

	[v] Guess more aspect ratios:
			nope: Guessing is impossible..
	[v] Use gauss blur for composite color bleeding?
			Tried, does not produce great visible improvements
	[v] Vignette and spot could be done earlier at lower res?
		Made a bit lighter version right in final_pass instead.
	[v] reference new repo from the main one
	[v] Noise is not visible on black or white, much more on gray, why?
		Probably a matter of post processing
	[v] Try to get rid of mark_unneeded() in reflection_blur_y
		didit and it is useless, no measurable perf increase.
	[v] Why tv presets have +5% brightness?
		Because the contrast is pushed too.
	[v] First bloom pass: why don't we use an higher lod?
		Using an higher lod makes the bloom less prone to detect thinner lines
		So, no.
	[v] Does bloom quality improve if we sample from original?
		yeah!
	[v] pragmas to vertex shader to fragment shader
		Why and when performances start to degrade?
		...It seems it happen when too many UBOs or Push constants are readed
			by the Vertex shader and passed to the fragment one.
			(not tested if the pass from fragment to vertex is needed to reproduce the issue)
	[v] What if i do vmask and darklines (scanlines too in alpha??)
		in a little pass that scales to absolute size?
		or even a lut with the mask...
		No gain, texture lookups are heavier than expected.
	[v] textureSize() appears to be quite heavy, consider to make bezel coords fixed.
		Done, expected to gain more, if something.
		You just use it to calc lods, is it worth?
	[v] Reflection blur size, make id not dependand on input resolution.
	[v] When colorizing bezel with ambilight, apply noise over it as well
	[v] Blur less near the start of the bezel
	[v] Make the reflection blur shade point configurable
	[v] Rotate image: auto (-1)... Does it work?
		yes.
	[v] Put blank lines after pragma parameter groups
	[v] Bloom: would it make sense to gather the average luminosity in a wide
		zone around the current pixel instead of the whole scene?
		Yes, it works good.
	[v] should min_w in avglum_pass depend on content resolution?
		lod = log2(params.SourceSize.y / min_w); in avglum_pass is wrong (w/y?)
		Both fixed by specifying the lod instead of doing stupid calculations.mip_lod
		So fixed, and achieved what was needed.
	[v] When using dynamic zoom, bezel reflection should be dynamically adapted
		...this is tough, zomoing reflection wouldn't work.
	[v] Further tune reflection shade
	[v] Do a debug image with a white object on black backgroud to tune bloom exposure over time
	[v] Unbranch phase shift in ntsc pass, trivial
	[v] Negative gap brightness produces glitches on bezel (nvidia specific?)
		yes, due to negative pow base.         
	[v] Unrolled blur in relfections is not gaussiany(gaussianx), was that a mistake?
		No mistake, they look best that way since we need big blurs.
	[v] When colorizing the bezel via ambilight, a small area between the tube and the
		bezel border is colored and should not.
	[.] Darkline, vmask: whiteness can be pre-calculated outside.
		Half done, gained something.
	[v] reflection blur: can we make better use of mipmaps instead of blindly use lod = 2.0?
	[v] avglum_pass needs to react to content aspect override
	[v] Bezel colorization via ambilight acts strangely when the content aspect is shrinked
			[v] It also bleeds over alpha channel in the internal frame.
			[v] disabled by now till we find a better way to handle it.
				This: https://github.com/kokoko3k/koko-aio-slang/commit/1fbbee4f73948cd85e0d53db3a2d4eaab8951a8f is a reference commit
				where i switched from a try to a second one.
			[v] maybe it can be modulated from the outside via min(coord.x,coord.y)
	[v] Ambient light skip coords should be aware of the h/v shift override or black box whould appear
		Not a big deal, since it happens when moving the image far, far away.
	[v] Does using gap with green-magenta trick f* the underlying rgb match?
		Nope, yay.
	[v] scanline minimum height does not work with intscale preset ?
		it seems coords needs +vec2(0.0001), don't know why.
	[v] Provide a static parameter to skip sampling bezel lut in the inner tube
	[v] Is it convenient to add a check for blue channel and skip sampling reflection?
		yes.
	[.] ambilight leds falloff should use a gamma function/pow
		...technically correct, but it would be required to do this before applying the color
		to the circle mask, or color gamma would suffer.
		Unfortunately this is not possible, because ambi_temporal_pass
		runs at loooow resolution and lowering gamma there leads to visual artifacts.
	[v] When the mask is scaled, is it right to scale the gap too?
		Yes and no, probably it has to scale by half, done.
	[v] Better debanding?
	[.] specular reflections does not 100% follow the image when overriding aspect
		This is because in compose_bezel_over we sample avglum_pass which is not 100% aware of them.
		the correct and final solution to this would be to sample the first reflection pass which
		already exports mipmaps and is 100% aware of aspect override, but this would mean sacrificing
		another Sampler2D binding in final pass which is already short.
	[v] Remove scanline and vmask code
	[v] apply fuzzy main pass: take pixelgrid in consideration
	[v] apply_fuzzy_main_pass can be splitted between vertex and fragment shader
	[.] Update bezel presets so that inner zoom matches the bezel, then adjust geometry zoom that is aware of reflections
			Cant, since the reflected black border looks weird.
	[v] Make handheld presets (look at pgrid*.slangp)
	[v] deconvergence after glow/halo (done verically in final pass via phosphors)
	[v] How does phosphor decon interact with dedotting?
			Good looking, move on.
	[v] Has dedotting issues with clouds in outrun?
			Yes, fixed that, dedot replacement lines were too bright.
	[v] mask passed for selective halo plays bad on white text over black background when using scanline deconvergence.
		seems that halo needs to light up just scanlines gaps.
		It is a win win because it also allow halo to better coloring phosphors too.
	[v] Adapt presets to new halo modes and parameter scale
	[v] luminosity dependant zoom: hardcode slowness.
	[x] does auto glow blur radius work?
	ditched.
	[v] allow negative glow y
	[v] fake pass seems not aware of the halo "ungain"
	[v] allow for lower than -1 glox values to trigger more unsharp 
	[v] provide a dedicated gamma out setting for halo
	[v] fake main pass is not aware of halo gamma out.
	[v] check branching conditions in first_pass.slang
	[v] Auto fake integer scanlines?
	[v] Allow to configure new bezel parameters
	[v] Adaptive black/dynamic contrast, the more the brigher the content, the less the bezel and back/foreground image?
	[v] Add debanding again
	
	[ ] Glow spread in final pass?
	[ ] Find a way to smooth borders without cropping the image

	[ ] bloom should bleed over when forcing geometry aspect
	[ ] reflection blurriness should not depend on input resolution
	[ ] Sync full screen decon with phosphor decon.
	
	[ ] dedicated subtractive sharpness in glow section
	[ ] erode/dilate setting in glow section
	[ ] why altering glow power alters scanline shape?

	[ ] Can we add a slight random error to slotmask height to mitigate moire?
	
	[ ] Better reflections in presets by scaling reflections by 3/4 and raising diffusion to 0.25
	[ ] Antimoire to 0.17 works not so good in (eg) super cars 2, can we find a correlation between scanline numbers and the sweet spot?
	    on super cars 2 it is better set to 0.19.
	[ ] Why bezel does not scale correctly when using integer scale?
	[ ] why blink debug option does not trig scene change when going from 0.2 to 1.0?
	[ ] joind dynamic zoom and override zoom into one zoom?
	