And the ‘a, b, c’ ValueTrees will point at the Presenter ValueTree (or the same underlying values), right?

…no, it’s not possible to do that, otherwise you could get all sorts of circular dependencies and reference counting problems. It’s like XML where you could either insert multiple copies of the source object, or do what you’d do in a database, and have some kind of index key which you look up in another list.

Not really sure how you’re imagining you’d create a weak reference. It’s a fundamental property of valuetrees that they can only have one parent - you can have multiple shared pointers to the same valuetree from your own data structures, but not from a parent valuetree.