If a VST3 plug-in changes its internal state that is not represented by a parameter exposed to the host (e.g. changing internal parameter via GUI), it can notify the host via a setDirty() call.
I wonder if this dirty parameter could be used by REAPER to know if it needs to reencode all the vst chunk data or just use the same data. This could be great for faster saving the project RPP files if plugins are not marked dirty.