From 2098bc7af3ec54ad30a82bee12048fcd634979ca Mon Sep 17 00:00:00 2001 From: Jules Date: Sat, 18 Jul 2026 08:11:58 +0000 Subject: [PATCH] fix(simulator): use functional APCA contrast logic instead of hardcoded logging string --- skills/utils/design-simulator.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/skills/utils/design-simulator.js b/skills/utils/design-simulator.js index 9f584ed..e03e870 100644 --- a/skills/utils/design-simulator.js +++ b/skills/utils/design-simulator.js @@ -845,7 +845,11 @@ function runTasteAudits(cssText, htmlContent, profile = 'Standard') { return { deduction: finalDeduction, bonus: bonusScore, - warnings + warnings, + colorMetrics: { + minLightness, + maxLightness + } }; } @@ -983,9 +987,13 @@ function main() { console.log(`- Visual Weight Centroid: (${centroid.cx}, ${centroid.cy}) | Total Weight Mass: ${centroid.totalWeight}`); if (centroid.isDynamicallyBalanced) console.log(`- Dynamic Balance: Achieved (Offset by counter-weights)`); if (hasIntentionalOffset) console.log(`- Intentional Offset: Documented in design registry`); + const minL = tasteAudit.colorMetrics ? tasteAudit.colorMetrics.minLightness : 0; + const maxL = tasteAudit.colorMetrics ? tasteAudit.colorMetrics.maxLightness : 1; + const contrastValue = calculatePerceptualContrast(minL * 100, maxL * 100); + console.log(`- Cognitive Load Index: ${friction.score} | Rating: ${friction.rating}`); console.log(` [Elements Count: ${friction.totalElements} | Interactive Count: ${friction.interactiveCount} | Colors: ${friction.colorCount} | Chunks: ${friction.chunkCount}]`); - console.log(`- APCA Contrast Verification: Perceptual Lightness Compliance Checked.`); + console.log(`- APCA Contrast Verification: Calculated Lc ${contrastValue} (Primary Pair)`); console.log(`- Layout Balance Advice: ${friction.advice}\n`); console.log('--- STATIC DESIGN SIGNAL AUDIT ---');