Ok. This explanation helps more with where your thinking's at.
First of all, after doing some testing, you are correct in saying @State and @Binding now work with reference types. This seems a little strange to me as in the earlier betas I tried this and views weren't being updated (what I thought should happen). So maybe something has changed since then, I'm not sure. It does however make @Bindable sort of in a strange place as bindings can just be extracted from State or Binding.
Hopefully, the documentation can be updated to show what property wrapper needs to be used for what, because at the moment it seems like they all do similar things now.
Secondly:
and just changed the name of @ObservedObject into @Bindable
This isn't technically true. @ObservedObject was needed regardless in order for SwiftUI to watch the model object's properties for changes. Now SwiftUI can watch for changes without a property wrapper, and more efficiently too: only when properties that are accessed change will the view be reloaded.
@Bindable is more of an attachment to the model allowing binding creation. I don't think it does anything regarding observation itself.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: