INNER CODE UNIT · JavaScript
summarize
Manavarya09/design-extract · src/fidelity/index.js:59
function summarize(overall, visual, motion, counts) {
if (overall == null) return 'No fidelity could be measured.';
const parts = [`${overall}% overall fidelity (${gradeFor(overall)})`];
if (visual != null) parts.push(`visual ${visual}%`);
if (motion != null) parts.push(`motion ${motion}%`);
const open = counts.high + counts.medium + counts.low;
parts.push(open ? `${open} correction(s): ${counts.high} high, ${counts.medium} med, ${counts.low} low` : 'no corrections outstanding');
return parts.join(' · ');
}
/**
* Drive the closed correction loop.
* @param {object} args
* @param {() => Promise<{verify,motion}>|{verify,motion}} args.measure re-measure fidelity
* @param {(plan:object, round:number) => Promise<void>|void} [args.rebuild] apply corrections
* @param {number} [args.threshold] stop once overall >= this (default 90)
* @param {number} [args.maxRounds] hard cap on iterations (default 4)
* @returns {Promise<{rounds:Array, final:object, converged:boolean}>}