The data model is only a class so it can adopt @Observable - otherwise it could be a Struct.
Even if it were a Struct, I don't know how to connect it to an @Observable class instance without losing the use of the Undo manager.
I don't know if @State shares the ability of @Observable to only update views that need to be redrawn following a data model change.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: