It would take too much time to explain in details there how you can achieve it.
What really matters is that if you store something in the properties (for example, doing this.properties().my.property = "test" in the render function) within the stack that is called when Lumira renders the viz (after adding a dimension in a feed for example), there is a high chance the property will be saved with the visualization. Then you have to implement something like a "cache system" to transfer your property values from the Visualize Room to the Compose Room.
For example, at Galigeo we have developed such system.
This video shows what you want to achieve I think.
Br,
Vincent