How to iterate over all (persistent) tiles in a Plone site?

I need to update a field values in several (custom) persistent tiles in a Plone 5.2 website. I have searched for some convenience methods to get a list of tiles both in the tiles code and online, but it seems to me this was never implemented. Others asking for this:

@pbauer wrote an informative post on content/site layouts but this dives deep into the layouts itself and programmatically setting these: How do I configure a mosaic layout programmatically?

I have done something similar in the past with collective.cover. It has a get_tiles method, but it depends on an another internal storage for the tile layout (collective.cover/src/collective/cover/content.py at df833bc0278edb991c919accbc522692b5ef0c69 · collective/collective.cover · GitHub)

So it seems I have to traverse all content types allowing the mosaic layout view, request the content layout, parse the html for tiles and their tile types and use the detected ID's to request the annotation for the tile on the context?

This is not a solution, but a hack:

If it is 'about all of the tiles of a certain type'.

It might be possible to add

 def set_the_value(self)
    do some calculations
    self.data['the_field] = 'calculated stuff'

and (really lazy) : ${view/set_the_value} in the tile template.

Then open/view all mosaic pages and remove the code when you are done.