Share document export readiness reporting

This commit is contained in:
2026-06-05 20:19:46 +02:00
parent 2d33f9d928
commit ebc84373e6
9 changed files with 181 additions and 87 deletions

View File

@@ -104,18 +104,20 @@ pp::foundation::Result<LegacyDocumentExportSnapshotReports> prepare_legacy_docum
return pp::foundation::Result<LegacyDocumentExportSnapshotReports>::success(std::move(reports));
}
const auto recorded_upload = pp::paint_renderer::record_document_frame_upload(
pp::paint_renderer::DocumentFrameUploadRequest {
auto readiness = pp::paint_renderer::prepare_document_frame_export_readiness(
pp::paint_renderer::DocumentFrameCompositeRequest {
.document = &reports.snapshot.document,
.frame_index = reports.snapshot.document.active_frame_index(),
.clear_color = {},
});
if (!recorded_upload) {
LOG("%s document export renderer upload failed: %s", context, recorded_upload.status().message);
return pp::foundation::Result<LegacyDocumentExportSnapshotReports>::failure(recorded_upload.status());
if (!readiness) {
LOG("%s document export renderer readiness failed: %s", context, readiness.status().message);
return pp::foundation::Result<LegacyDocumentExportSnapshotReports>::failure(readiness.status());
}
const auto& uploaded = recorded_upload.value().upload;
auto readiness_value = std::move(readiness.value());
const auto& recorded_upload = readiness_value.recorded_upload;
const auto& uploaded = recorded_upload.upload;
LOG(
"%s document export renderer upload: textures=%zu bytes=%llu transitions=%zu facePayloads=%zu commands=%zu uploadCommands=%zu transitionCommands=%zu",
context,
@@ -123,28 +125,18 @@ pp::foundation::Result<LegacyDocumentExportSnapshotReports> prepare_legacy_docum
static_cast<unsigned long long>(uploaded.uploaded_bytes),
uploaded.transition_count,
uploaded.composite.face_payload_count,
recorded_upload.value().command_count,
recorded_upload.value().upload_command_count,
recorded_upload.value().transition_command_count);
const auto face_pngs = pp::paint_renderer::export_document_frame_face_pngs(
pp::paint_renderer::DocumentFrameCompositeRequest {
.document = &reports.snapshot.document,
.frame_index = reports.snapshot.document.active_frame_index(),
.clear_color = {},
});
if (!face_pngs) {
LOG("%s document export face PNG export failed: %s", context, face_pngs.status().message);
return pp::foundation::Result<LegacyDocumentExportSnapshotReports>::failure(face_pngs.status());
}
recorded_upload.command_count,
recorded_upload.upload_command_count,
recorded_upload.transition_command_count);
LOG(
"%s document export face PNG export: faces=%zu bytes=%llu facePayloads=%zu compositedLayerFaces=%zu",
context,
face_pngs.value().face_count,
static_cast<unsigned long long>(face_pngs.value().encoded_bytes),
face_pngs.value().composite.face_payload_count,
face_pngs.value().composite.composited_layer_face_count);
reports.face_pngs = std::move(face_pngs.value());
readiness_value.face_pngs.face_count,
static_cast<unsigned long long>(readiness_value.face_pngs.encoded_bytes),
readiness_value.face_pngs.composite.face_payload_count,
readiness_value.face_pngs.composite.composited_layer_face_count);
reports.face_pngs = std::move(readiness_value.face_pngs);
return pp::foundation::Result<LegacyDocumentExportSnapshotReports>::success(std::move(reports));
}