There’s a chance I might not have thought this through properly, BUT…
With most ValueTree properties, a change in their state is automatically detectable because such a change only ever happens via the property assignment interface [i.e. setProperty(…)].
However, with ‘object’ properties, their state may change in other ways (i.e. from manipulating the object returned by node[“myProperty”]) undetectable by the shared ValueTree object.
Would it be possible to add the ability to manually trigger (for a given named property) a valueTreePropertyChanged call to any registered listeners? Something like ValueTree::sendPropertyChangeMessage (const Identifier& propertyName)
[consider this a thought/discussion, rather than an outright request I’m still currently tied to an older version of Juce on my current project for the time being anyway!]