|
|
3/n)
Third slice of the DomainViewModel decomposition, stacked on the monitoring
split.
- Moves the export/data-portability surface into DomainViewModel+Export.swift:
the single-report/batch/tracked-domain/timeline/workflow exporters, the
full-backup and portable-slice exporters, prepareDataImport/applyDataImport,
and persistCurrentAppSettings. The export-only WorkflowExportPayload struct
moves with them. Pure move, no logic changes.
- The four report-projection helpers the exporters call (currentBatchReports,
reports(for:), timelineReports, workflowReports) are promoted private ->
internal and stay on the main type: they build DomainReports through the
shared report layer (report(for:)/reportBuilder), so they belong with
inspection, not export. Those four visibility drops are the only non-deletion
edits to DomainViewModel.
DomainViewModel.swift: 4601 -> 4434 lines. App builds clean; unit suite 58/58.
No project.pbxproj change (DomainDig/ is a synchronized group).
|