Report depth export readiness in CLI snapshots

This commit is contained in:
2026-06-05 21:09:03 +02:00
parent 3be7171010
commit 875a0127d9
5 changed files with 60 additions and 4 deletions

View File

@@ -6011,6 +6011,15 @@ int plan_canvas_document_snapshot(int argc, char** argv)
std::size_t face_png_export_faces = 0;
std::uint64_t face_png_export_bytes = 0;
std::size_t face_png_export_payloads = 0;
bool depth_export_ready = false;
std::uint32_t depth_export_width = 0;
std::uint32_t depth_export_height = 0;
std::size_t depth_export_merged_face_draws = 0;
std::size_t depth_export_layer_depth_draws = 0;
std::size_t depth_export_visited_layers = 0;
std::size_t depth_export_visible_layers = 0;
std::size_t depth_export_face_payloads = 0;
bool depth_export_requires_renderer_readback = value.requires_renderer_payload_readback;
if (save_report.can_export_ppi) {
const auto exported = pp::app::export_document_canvas_save_snapshot_to_ppi(value);
if (!exported) {
@@ -6054,6 +6063,26 @@ int plan_canvas_document_snapshot(int argc, char** argv)
face_png_export_faces = readiness.value().face_pngs.face_count;
face_png_export_bytes = readiness.value().face_pngs.encoded_bytes;
face_png_export_payloads = readiness.value().face_pngs.composite.face_payload_count;
const auto depth_plan = pp::paint_renderer::plan_document_depth_export_render(
pp::paint_renderer::DocumentDepthExportRenderPlanRequest {
.document = &document,
.frame_index = document.active_frame_index(),
});
if (!depth_plan) {
print_error("plan-canvas-document-snapshot", depth_plan.status().message);
return 2;
}
depth_export_ready = true;
depth_export_width = depth_plan.value().output_extent.width;
depth_export_height = depth_plan.value().output_extent.height;
depth_export_merged_face_draws = depth_plan.value().merged_face_draw_count;
depth_export_layer_depth_draws = depth_plan.value().layer_depth_draw_count;
depth_export_visited_layers = depth_plan.value().visited_layer_count;
depth_export_visible_layers = depth_plan.value().visible_layer_count;
depth_export_face_payloads = depth_plan.value().face_payload_count;
depth_export_requires_renderer_readback = depth_plan.value().requires_renderer_readback;
}
std::cout << "{\"ok\":true,\"command\":\"plan-canvas-document-snapshot\""
@@ -6098,6 +6127,15 @@ int plan_canvas_document_snapshot(int argc, char** argv)
<< ",\"faces\":" << face_png_export_faces
<< ",\"bytes\":" << face_png_export_bytes
<< ",\"facePayloads\":" << face_png_export_payloads
<< "},\"depthExport\":{\"ready\":" << json_bool(depth_export_ready)
<< ",\"width\":" << depth_export_width
<< ",\"height\":" << depth_export_height
<< ",\"mergedFaceDraws\":" << depth_export_merged_face_draws
<< ",\"layerDepthDraws\":" << depth_export_layer_depth_draws
<< ",\"visitedLayers\":" << depth_export_visited_layers
<< ",\"visibleLayers\":" << depth_export_visible_layers
<< ",\"facePayloads\":" << depth_export_face_payloads
<< ",\"requiresRendererReadback\":" << json_bool(depth_export_requires_renderer_readback)
<< "}"
<< "}}\n";
return 0;