Looks like nobody properly understood it yet, if it's so hard to explain what it even is.
Yes, there is also Bartosz Milewski having a go at applying category theory to explain why profunctor optics work. But that's not an essential part of understanding them: they clearly do what they are designed to do. This is programming, not physics.
Your description didn't really help me either. Lenses and prisms are just glass objects to me.
Just from thinking about lenses, I guess It could be something that bundles and unbundles function calls... But no idea.
A lens is a "functional reference". Say you have a data structure of some kind. You can create a lens which points at one of the fields. It lets you get and set that field. Because this is functional programming, when you set the field, you get given a new reference to the whole structure (can't change things in place). So, naturally the way lenses are used involves combinining a reference to a structure of type A, a lens which refers to a field within type A, and, if you are setting the field (not getting it) then you supply the new value as well.
The jury is still out on whether writing programs in this style is wise, but the notion of a lens is fixed now.
A reasonably large tested and complete library is not a project for a few weekends but I think profunctor optics in Java actually is. And much more suitable for a xs freshman than a typical Java programmer.