export function createWorkflowDiagnostics(workflow, options = {}) {
    return {
        workflow,
        warnings: options.warnings ?? [],
        featureChecklist: options.featureChecklist ?? [],
        ...(options.asset ? { asset: summarizeAsset(options.asset) } : {}),
        ...(options.renderDiagnostics ? { renderDiagnostics: options.renderDiagnostics } : {})
    };
}
function summarizeAsset(asset) {
    if ("gltf" in asset && asset.gltf) {
        return {
            kind: "gltf",
            meshCount: asset.gltf.loaderDiagnostics.meshCount,
            materialCount: asset.gltf.loaderDiagnostics.materialCount,
            textureCount: asset.gltf.loaderDiagnostics.textureCount
        };
    }
    if ("resources" in asset) {
        return {
            kind: asset.category,
            meshCount: asset.gltf.loaderDiagnostics.meshCount,
            materialCount: asset.gltf.loaderDiagnostics.materialCount,
            textureCount: asset.gltf.loaderDiagnostics.textureCount
        };
    }
    return {
        kind: asset.kind,
        meshCount: 0,
        materialCount: 0,
        textureCount: 0
    };
}
//# sourceMappingURL=WorkflowDiagnostics.js.map