I'm having a hard time reconciling DocumentGroup
with the new APIs using Transferable
.
Setting up an app with DocumentGroup
using a FileDocument
type gives you undo/redo and file-specific app opening behavior out of the box (even though the navigation view implicitly present in DocumentGroup
is a nightmare to work with).
Now with Transferable
we're given the ability to set up representations to share, drag/drop, copy/paste, etc.
The point where these collide in a confusing way is in the .navigationDocument
API., which sets up elements in the navigation bar to interact with a "document" that is Transferable
.
This would be great to include in a DocumentGroup
scene backed by a FileDocument
, but FileDocument
is not currently Transferable
and furthermore the Navigation View underlying the DocumentGroup
isn't easily exposed.
This really muddies the story around how to build document-based applications. Where does DocumentGroup
fit in now that Transferable
exists? Should I be providing my own conformance to Transferable
on my FileDocument
, reach down into the implicit NavigationView
of DocumentGroup
to get the new .navigationDocument
functionality? Is DocumentGroup
soon to be deprecated (or at least not for a more sophisticated use case) and apps should be built with Transferrable
types in a normal WindowGroup
that implements all of the other goodies that exist in DocumentGroup
?
Any clarity around the intention with DocumentGroup
and how such an app would fit into a world of Transferable
s would be greatly appreciated!