I have started implementing a proper SwiftUI wrapper for the todo list app. "ViewState" is gone and being replaced with TodoListViewModel (https://gitlab.com/vikingosegundo/items/-/blob/main/ItemsUI/TodoListViewModel.swift). TodoItemViewModel (https://gitlab.com/vikingosegundo/items/-/blob/main/ItemsUI/TodoItemViewModel.swift) is a mutable wrapper for the immutable TodoItem type.
In the views you won't deal with Khipu in any way anymore
ContentView: https://gitlab.com/vikingosegundo/items/-/blob/main/ItemsUI/ContentView.swift
ItemRow: https://gitlab.com/vikingosegundo/items/-/blob/main/ItemsUI/ItemRow.swift
EditItem: https://gitlab.com/vikingosegundo/items/-/blob/main/ItemsUI/EditItem.swift
As my experience with SwiftUI is rather limited and as you complained in the past that I don't cover UI in my architecture articles, I would appreciate your feedback. Thanks