import Foundation import SwiftData // Represents a snapshot of the counts at the time of saving struct CountSnapshot: Codable { var id: UUID var value: Double var count: Int var isRoll: Bool } @Model class SavedCount { var id: UUID var date: Date var total: Double var startingFloat: Double var notes: String // SwiftData automatically handles Codable arrays var snapshotData: [CountSnapshot] var discrepancy: Double { return total - startingFloat } init(id: UUID = UUID(), date: Date = .now, total: Double, startingFloat: Double, notes: String, snapshotData: [CountSnapshot]) { self.id = id self.date = date self.total = total self.startingFloat = startingFloat self.notes = notes self.snapshotData = snapshotData } }