improwing projection pain clone tools

Hi, i was using texture cloning from other layer with uvs projected from view,and find out that is good but can be improwed for faster and more friendly workflow. My idea is to make an addon for texture paint mode.it should create texture layer named ‘clone source’ if that doesnt exist then actiwated. It should take active image from uv/image editor to 3d workspace at same size as in uv/image editor,make image in 3d workspace opaque (lets say 40percent or controlled),then you navigate and zoom in workspace as you vant,and when switching to other tex layer,it should project from view exactly as object and image is in 3d space.optional: it texture pain mode it adds a list of opened images,and you can chose for projecting,it would be more cool,but needs the function to zoom image in 3d space,(no panning needed because you can pan vorkspace with object itself).also optional for uv tex layer switching: it always projects on layer named clone source,so you dont need to switch uv layers to clone,but it requires something else to triger uv project from view,like timer or hotkey.is it hard to meke addon like that?

im trying to create panel in view_3d, texture pain mode, and i cant find any working reference for bl_context, is there any other method to add panel only in texture paint tool shelf?