SwiftData with SplitNavigation

Hi all, Just about completed a swift data project with 3 main views of 1 > many.
Cycles > many Batches > many Pouches. Each view uses a sheet to populate the db .

Since swift data relationships handle the keys internally ( cannot easily see the data movement) I am trying to move the main views to a SplitNavigation with 3 columns. Not sure of the approach.

Following the Apple docs for a three column view ; init(sidebar:content: detail where
:@main
struct SteriLogApp: App {
var body: some Scene {
WindowGroup {
NavigationSpltView(cycle: Cycles(id: UUID(), startDate: Date(), user: “”, pressure: false, temperature: false, biological: false, sterilizer: “”, void: false, batch: ), pouch: Pouches(id: UUID(), user: “”, packdate: Date(), type: false, typeDescription: “”, chemIndicator: false, void: false))
.modelContainer(for: [Sterilizer.self, User.self,Catagory.self,Instrument.self,Kits.self,Cycles.self,Batches.self,Pouches.self])`

with the NavigationSplitView following the Apple example : ;

import SwiftUI
import SwiftData

struct NavigationSpltView 
 View {
    @Environment(\.modelContext) var modelContext
    @Query(sort: \Cycles.startDate,order: .reverse) var cycles: [Cycles]
    @Query(sort: \Batches.startdate,order: .reverse) var batches: [Batches]
    @Query(sort: \Pouches.packdate,order: .reverse) var pouches: [Pouches]
    var cycle: Cycles
    var batch: Batches?
    var pouch: Pouches
    
    @State private var selectedCycle: UUID?
    @State private var selectedBatch: Set<Batches.ID> = []
    @State private var selectedPouch: Set<Pouches.ID> = []
    
    
    var body: some View {
        NavigationSplitView {
            List(cycles, selection: $selectedCycle) { cycle in
                Text(cycle.id.uuidString).tag(cycle.id.uuidString)
            }
        } content: {
            if cycle.batch != nil  {
                List(batches,selection: $selectedBatch) { batch in
                    Text(batch.startdate.ISO8601Format())
                }
            } else {
                Text("Select a batch")
            }
        } detail: {
            if let batch = batch?.pouch {
                List(pouches, selection: $selectedPouch) { pouch in
                    Text(pouch.packdate.ISO8601Format())
                }
                
            }
        }
        
    }
    
}

This has no errors but generates a blank screen . Could the “existing” UI views be used for sidebar,content, detail by embedding the views and using NavigationLink ( which seems to be redundant )

Not sure if SwiftData get along with SplitNavigation at this point.
Thanks
Joel