new
@Observable tracks property access instead of object change
With ObservableObject, any @Published change redrew every view observing the object. @Observable tracks which properties a view's body actually read, so a view only redraws when something it genuinely uses changes. This usually removes a whole class of over-rendering without any work beyond adopting the macro.
What to do
Replace ObservableObject + @Published with @Observable, and @StateObject/@ObservedObject with @State or a plain property.
Affects