The current derivativ file structure contains a number of unnecessary redundancies in folders names.
Replace the current structure :
contextual/styles/[style_name]/[Crop_id]/[scheme]/[file_path]/[file_name]
With this structure the whole file_path are duplicated for each contextual derivative.
We can simplify the architecture of folder by using "crop_id" as the last key.
contextual/styles/[style_name]/[scheme]/[file_path]/[file_name_without_extention]/[crop_id].[extension]
With that, we limit all "unnecessary" folder (each style/image couple) become an unique folder_path, and all contextuals in it.
Fixed
2.1
Code