cbrowser 18.64.0 → 18.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  2. package/dist/analysis/accessibility-empathy.js +48 -24
  3. package/dist/analysis/accessibility-empathy.js.map +1 -1
  4. package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
  5. package/dist/analysis/agent-ready-audit.js +38 -34
  6. package/dist/analysis/agent-ready-audit.js.map +1 -1
  7. package/dist/cif-score.d.ts +141 -0
  8. package/dist/cif-score.d.ts.map +1 -0
  9. package/dist/cif-score.js +634 -0
  10. package/dist/cif-score.js.map +1 -0
  11. package/dist/ideal-profiles-gap.d.ts +92 -0
  12. package/dist/ideal-profiles-gap.d.ts.map +1 -0
  13. package/dist/ideal-profiles-gap.js +325 -0
  14. package/dist/ideal-profiles-gap.js.map +1 -0
  15. package/dist/ideal-profiles.d.ts +70 -0
  16. package/dist/ideal-profiles.d.ts.map +1 -0
  17. package/dist/ideal-profiles.js +404 -0
  18. package/dist/ideal-profiles.js.map +1 -0
  19. package/dist/mcp-server-remote.d.ts.map +1 -1
  20. package/dist/mcp-server-remote.js +24 -10
  21. package/dist/mcp-server-remote.js.map +1 -1
  22. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  23. package/dist/mcp-tools/base/visual-testing-tools.js +3 -2
  24. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  25. package/dist/mcp-tools/persona-creation-tools.d.ts.map +1 -1
  26. package/dist/mcp-tools/persona-creation-tools.js +119 -15
  27. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  28. package/dist/types.d.ts +4 -0
  29. package/dist/types.d.ts.map +1 -1
  30. package/dist/types.js.map +1 -1
  31. package/dist/visual/attention-transport.d.ts +2 -2
  32. package/dist/visual/attention-transport.d.ts.map +1 -1
  33. package/dist/visual/attention-transport.js +125 -18
  34. package/dist/visual/attention-transport.js.map +1 -1
  35. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  36. package/dist/visual/cognitive-transport-chain.js +6 -1
  37. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  38. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  39. package/dist/visual/cognitive-transport.js +18 -4
  40. package/dist/visual/cognitive-transport.js.map +1 -1
  41. package/dist/visual/perceptual-transport.d.ts +15 -3
  42. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  43. package/dist/visual/perceptual-transport.js +92 -6
  44. package/dist/visual/perceptual-transport.js.map +1 -1
  45. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cif-score.js","sourceRoot":"","sources":["../src/cif-score.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Gap Score Calculator — Measures how well a page serves a specific persona
3
+ *
4
+ * Compares actual attention distribution, structural metrics, and cognitive
5
+ * metrics against the ideal profile for a persona. Produces a 0-100 fitness
6
+ * score with actionable fix recommendations.
7
+ *
8
+ * Scoring weights: attention 40%, structure 35%, cognitive 25%
9
+ *
10
+ * @version 1.0.0
11
+ * @since v18.60.0
12
+ */
13
+ import type { IdealProfile, IntentPreset } from './ideal-profiles.js';
14
+ export interface AttentionGap {
15
+ /** Element type: "cta", "heading", "navigation", etc. */
16
+ element: string;
17
+ /** Actual % of attention this element received */
18
+ actual: number;
19
+ /** Ideal % for this persona */
20
+ ideal: number;
21
+ /** Absolute difference between actual and ideal */
22
+ gap: number;
23
+ /** Status: "good" if within min-max range, "low" if below, "high" if above */
24
+ status: 'good' | 'low' | 'high';
25
+ /** Actionable recommendation to fix the gap */
26
+ fix: string;
27
+ }
28
+ export interface StructuralViolation {
29
+ /** The structural rule that was violated */
30
+ rule: string;
31
+ /** The actual value found */
32
+ actual: number | boolean;
33
+ /** The limit defined in the profile */
34
+ limit: number | boolean;
35
+ /** Severity of the violation */
36
+ severity: 'critical' | 'major' | 'minor';
37
+ /** Actionable recommendation to fix the violation */
38
+ fix: string;
39
+ }
40
+ export interface CognitiveOverThreshold {
41
+ metric: string;
42
+ actual: number;
43
+ max: number;
44
+ fix: string;
45
+ }
46
+ export interface FitnessScore {
47
+ persona: string;
48
+ intent: string;
49
+ overall: number;
50
+ attentionFit: {
51
+ score: number;
52
+ gaps: AttentionGap[];
53
+ };
54
+ structureFit: {
55
+ score: number;
56
+ violations: StructuralViolation[];
57
+ };
58
+ cognitiveFit: {
59
+ score: number;
60
+ overThreshold: CognitiveOverThreshold[];
61
+ };
62
+ topFixes: string[];
63
+ }
64
+ export interface StructuralMetrics {
65
+ navItemCount: number;
66
+ ctaCount: number;
67
+ maxContentBlockWords: number;
68
+ hasVisibleLabels: boolean;
69
+ animationCount: number;
70
+ hasColorRedundancy: boolean;
71
+ minTouchTargetSize: number;
72
+ informationDensity: number;
73
+ }
74
+ export interface CognitiveMetrics {
75
+ totalCTC: number;
76
+ abandonmentRisk: number;
77
+ decisionComplexity: number;
78
+ readabilityCost: number;
79
+ }
80
+ /**
81
+ * Compute how well a page serves a specific persona, given its attention
82
+ * distribution, structural metrics, and cognitive metrics.
83
+ *
84
+ * @param profile - The ideal profile for the persona
85
+ * @param intentPreset - Optional intent preset (modifies attention targets)
86
+ * @param attentionDistribution - element_type -> % of top attention
87
+ * @param structuralMetrics - Page structural measurements
88
+ * @param cognitiveMetrics - Cognitive load measurements
89
+ * @returns FitnessScore with 0-100 overall score and fix recommendations
90
+ */
91
+ export declare function computeFitnessScore(profile: IdealProfile, intentPreset: IntentPreset | null, attentionDistribution: Record<string, number>, structuralMetrics: StructuralMetrics, cognitiveMetrics: CognitiveMetrics): FitnessScore;
92
+ //# sourceMappingURL=ideal-profiles-gap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ideal-profiles-gap.d.ts","sourceRoot":"","sources":["../src/ideal-profiles-gap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAIvF,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,uCAAuC;IACvC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,gCAAgC;IAChC,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IACtD,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IACnE,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,sBAAsB,EAAE,CAAA;KAAE,CAAC;IACzE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AAuHD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7C,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,GACjC,YAAY,CAsNd"}
@@ -0,0 +1,325 @@
1
+ /**
2
+ * Gap Score Calculator — Measures how well a page serves a specific persona
3
+ *
4
+ * Compares actual attention distribution, structural metrics, and cognitive
5
+ * metrics against the ideal profile for a persona. Produces a 0-100 fitness
6
+ * score with actionable fix recommendations.
7
+ *
8
+ * Scoring weights: attention 40%, structure 35%, cognitive 25%
9
+ *
10
+ * @version 1.0.0
11
+ * @since v18.60.0
12
+ */
13
+ // ── Fix Message Generators ──
14
+ const ELEMENT_LABELS = {
15
+ cta: 'CTA (call-to-action)',
16
+ heading: 'heading',
17
+ navigation: 'navigation',
18
+ content: 'content block',
19
+ decorative: 'decorative element',
20
+ search: 'search',
21
+ form: 'form',
22
+ price: 'price display',
23
+ trust: 'trust signal',
24
+ };
25
+ function makeAttentionFix(element, actual, ideal, status) {
26
+ const label = ELEMENT_LABELS[element] || element;
27
+ const rounded = (n) => Math.round(n);
28
+ if (status === 'low') {
29
+ switch (element) {
30
+ case 'cta':
31
+ return `Increase ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: make primary CTA larger (min 200\u00d760px), use high-contrast color, reduce competing elements`;
32
+ case 'heading':
33
+ return `Increase ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: use larger font size (min 24px), add whitespace above, use clear hierarchy`;
34
+ case 'navigation':
35
+ return `Increase ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: use consistent placement, add visual weight with background or border`;
36
+ case 'search':
37
+ return `Increase ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: expand search bar width, add placeholder text with example queries`;
38
+ case 'content':
39
+ return `Increase ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: break into scannable chunks, use bullet points and short paragraphs`;
40
+ default:
41
+ return `Increase ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: increase visual prominence and size`;
42
+ }
43
+ }
44
+ else {
45
+ switch (element) {
46
+ case 'decorative':
47
+ return `Reduce ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: remove or fade decorative images, use subtle backgrounds instead`;
48
+ case 'navigation':
49
+ return `Reduce ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: collapse secondary navigation into hamburger menu, reduce visual weight`;
50
+ case 'content':
51
+ return `Reduce ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: shorten text blocks, use progressive disclosure, move details to sub-pages`;
52
+ default:
53
+ return `Reduce ${label} attention from ${rounded(actual)}% to ${rounded(ideal)}%: decrease visual prominence, reduce size or contrast`;
54
+ }
55
+ }
56
+ }
57
+ function makeStructuralFix(rule, actual, limit) {
58
+ switch (rule) {
59
+ case 'maxNavItems':
60
+ return `Reduce visible nav items from ${actual} to ${limit}: collapse secondary navigation into hamburger menu or "More" dropdown`;
61
+ case 'maxCTAsAboveFold':
62
+ return `Reduce CTAs above fold from ${actual} to ${limit}: keep only the primary action visible, move secondary CTAs below fold`;
63
+ case 'maxContentBlockWords':
64
+ return `Break content blocks from ${actual} words to max ${limit}: use bullet points and short paragraphs`;
65
+ case 'requireVisibleLabels':
66
+ return 'Add visible labels to all form inputs: do not rely on placeholder text alone as labels';
67
+ case 'requirePredictableLayout':
68
+ return 'Use a predictable, conventional layout: navigation at top, main content centered, footer at bottom';
69
+ case 'maxAnimations':
70
+ return `Remove ${Number(actual) - Number(limit)} animations: users lose focus with motion. Use prefers-reduced-motion CSS`;
71
+ case 'requireColorRedundancy':
72
+ return 'Add icons or patterns alongside color coding: color alone is not sufficient for conveying information';
73
+ case 'minTouchTarget':
74
+ return `Increase smallest touch target from ${actual}px to ${limit}px minimum: resize buttons and interactive elements`;
75
+ case 'maxInformationDensity':
76
+ return `Reduce information density from ${(Number(actual) * 100).toFixed(0)}% to max ${(Number(limit) * 100).toFixed(0)}%: add whitespace, reduce content per viewport`;
77
+ default:
78
+ return `Fix structural constraint: ${rule} (actual: ${actual}, limit: ${limit})`;
79
+ }
80
+ }
81
+ function makeCognitiveFix(metric, actual, max) {
82
+ switch (metric) {
83
+ case 'totalCTC':
84
+ return `Reduce cognitive transaction cost from ${actual.toFixed(2)} to max ${max.toFixed(2)}: simplify forms, reduce steps, add autofill`;
85
+ case 'abandonmentRisk':
86
+ return `Reduce abandonment risk from ${actual.toFixed(0)}% to max ${max.toFixed(0)}%: add progress indicators, reduce friction, provide clear value proposition`;
87
+ case 'decisionComplexity':
88
+ return `Reduce decision complexity from ${actual.toFixed(2)} to max ${max.toFixed(2)}: limit choices, use clear defaults, add recommendation badges`;
89
+ case 'readabilityCost':
90
+ return `Reduce readability cost from ${actual.toFixed(2)} to max ${max.toFixed(2)}: use simpler language, shorter sentences, larger line spacing`;
91
+ default:
92
+ return `Reduce ${metric} from ${actual.toFixed(2)} to max ${max.toFixed(2)}`;
93
+ }
94
+ }
95
+ // ── Severity Classification ──
96
+ function classifyStructuralSeverity(rule, actual, limit) {
97
+ if (typeof actual === 'boolean' || typeof limit === 'boolean') {
98
+ // Boolean violations (labels, predictable layout, color redundancy) are major
99
+ return 'major';
100
+ }
101
+ const ratio = actual / limit;
102
+ switch (rule) {
103
+ case 'maxAnimations':
104
+ // Any animation for personas that need zero is critical
105
+ return limit === 0 && actual > 0 ? 'critical' : 'major';
106
+ case 'minTouchTarget':
107
+ return actual < 30 ? 'critical' : ratio < 0.7 ? 'major' : 'minor';
108
+ case 'maxNavItems':
109
+ case 'maxCTAsAboveFold':
110
+ return ratio > 2 ? 'critical' : ratio > 1.5 ? 'major' : 'minor';
111
+ case 'maxContentBlockWords':
112
+ return ratio > 3 ? 'critical' : ratio > 2 ? 'major' : 'minor';
113
+ case 'maxInformationDensity':
114
+ return ratio > 2 ? 'critical' : ratio > 1.5 ? 'major' : 'minor';
115
+ default:
116
+ return ratio > 2 ? 'major' : 'minor';
117
+ }
118
+ }
119
+ // ── Core: Fitness Score Computation ──
120
+ /**
121
+ * Compute how well a page serves a specific persona, given its attention
122
+ * distribution, structural metrics, and cognitive metrics.
123
+ *
124
+ * @param profile - The ideal profile for the persona
125
+ * @param intentPreset - Optional intent preset (modifies attention targets)
126
+ * @param attentionDistribution - element_type -> % of top attention
127
+ * @param structuralMetrics - Page structural measurements
128
+ * @param cognitiveMetrics - Cognitive load measurements
129
+ * @returns FitnessScore with 0-100 overall score and fix recommendations
130
+ */
131
+ export function computeFitnessScore(profile, intentPreset, attentionDistribution, structuralMetrics, cognitiveMetrics) {
132
+ // ── 1. Attention Fit (40% of overall) ──
133
+ const gaps = [];
134
+ let attentionScoreSum = 0;
135
+ let attentionCount = 0;
136
+ for (const [element, target] of Object.entries(profile.attentionTargets)) {
137
+ const actual = attentionDistribution[element] ?? 0;
138
+ // Apply intent modifier if present
139
+ let adjustedTarget = target;
140
+ if (intentPreset && intentPreset.elementModifiers[element] !== undefined) {
141
+ const modifier = intentPreset.elementModifiers[element];
142
+ adjustedTarget = {
143
+ min: target.min * modifier,
144
+ max: target.max * modifier,
145
+ ideal: target.ideal * modifier,
146
+ };
147
+ // Clamp to 0-100 after modification
148
+ adjustedTarget.min = Math.max(0, Math.min(100, adjustedTarget.min));
149
+ adjustedTarget.max = Math.max(0, Math.min(100, adjustedTarget.max));
150
+ adjustedTarget.ideal = Math.max(0, Math.min(100, adjustedTarget.ideal));
151
+ }
152
+ const gap = Math.abs(actual - adjustedTarget.ideal);
153
+ let status;
154
+ if (actual >= adjustedTarget.min && actual <= adjustedTarget.max) {
155
+ status = 'good';
156
+ }
157
+ else if (actual < adjustedTarget.min) {
158
+ status = 'low';
159
+ }
160
+ else {
161
+ status = 'high';
162
+ }
163
+ // Score: 100 if within range, degrade as gap increases
164
+ let elementScore;
165
+ if (status === 'good') {
166
+ // Perfect is at ideal, still good within range
167
+ const rangeSpan = adjustedTarget.max - adjustedTarget.min || 1;
168
+ const distFromIdeal = Math.abs(actual - adjustedTarget.ideal) / rangeSpan;
169
+ elementScore = 100 - distFromIdeal * 20; // Slight penalty for being off-ideal within range
170
+ }
171
+ else {
172
+ // Outside range: score degrades with distance from nearest boundary
173
+ const boundary = status === 'low' ? adjustedTarget.min : adjustedTarget.max;
174
+ const distance = Math.abs(actual - boundary);
175
+ const rangeSpan = adjustedTarget.max - adjustedTarget.min || 1;
176
+ elementScore = Math.max(0, 80 - (distance / rangeSpan) * 80);
177
+ }
178
+ attentionScoreSum += elementScore;
179
+ attentionCount++;
180
+ const fix = status !== 'good'
181
+ ? makeAttentionFix(element, actual, adjustedTarget.ideal, status)
182
+ : '';
183
+ gaps.push({ element, actual, ideal: adjustedTarget.ideal, gap, status, fix });
184
+ }
185
+ const attentionScore = attentionCount > 0 ? attentionScoreSum / attentionCount : 100;
186
+ // ── 2. Structure Fit (35% of overall) ──
187
+ const violations = [];
188
+ const structureChecks = [];
189
+ // Numeric checks (actual must be <= limit)
190
+ const numericChecks = [
191
+ { rule: 'maxNavItems', actual: structuralMetrics.navItemCount, limit: profile.structure.maxNavItems },
192
+ { rule: 'maxCTAsAboveFold', actual: structuralMetrics.ctaCount, limit: profile.structure.maxCTAsAboveFold },
193
+ { rule: 'maxContentBlockWords', actual: structuralMetrics.maxContentBlockWords, limit: profile.structure.maxContentBlockWords },
194
+ { rule: 'maxAnimations', actual: structuralMetrics.animationCount, limit: profile.structure.maxAnimations },
195
+ { rule: 'maxInformationDensity', actual: structuralMetrics.informationDensity, limit: profile.structure.maxInformationDensity },
196
+ ];
197
+ for (const check of numericChecks) {
198
+ const passed = check.actual <= check.limit;
199
+ structureChecks.push({ rule: check.rule, passed });
200
+ if (!passed) {
201
+ violations.push({
202
+ rule: check.rule,
203
+ actual: check.actual,
204
+ limit: check.limit,
205
+ severity: classifyStructuralSeverity(check.rule, check.actual, check.limit),
206
+ fix: makeStructuralFix(check.rule, check.actual, check.limit),
207
+ });
208
+ }
209
+ }
210
+ // Min touch target (actual must be >= limit)
211
+ const touchPassed = structuralMetrics.minTouchTargetSize >= profile.structure.minTouchTarget;
212
+ structureChecks.push({ rule: 'minTouchTarget', passed: touchPassed });
213
+ if (!touchPassed) {
214
+ violations.push({
215
+ rule: 'minTouchTarget',
216
+ actual: structuralMetrics.minTouchTargetSize,
217
+ limit: profile.structure.minTouchTarget,
218
+ severity: classifyStructuralSeverity('minTouchTarget', structuralMetrics.minTouchTargetSize, profile.structure.minTouchTarget),
219
+ fix: makeStructuralFix('minTouchTarget', structuralMetrics.minTouchTargetSize, profile.structure.minTouchTarget),
220
+ });
221
+ }
222
+ // Boolean checks
223
+ if (profile.structure.requireVisibleLabels && !structuralMetrics.hasVisibleLabels) {
224
+ structureChecks.push({ rule: 'requireVisibleLabels', passed: false });
225
+ violations.push({
226
+ rule: 'requireVisibleLabels',
227
+ actual: false,
228
+ limit: true,
229
+ severity: 'major',
230
+ fix: makeStructuralFix('requireVisibleLabels', false, true),
231
+ });
232
+ }
233
+ else {
234
+ structureChecks.push({ rule: 'requireVisibleLabels', passed: true });
235
+ }
236
+ if (profile.structure.requireColorRedundancy && !structuralMetrics.hasColorRedundancy) {
237
+ structureChecks.push({ rule: 'requireColorRedundancy', passed: false });
238
+ violations.push({
239
+ rule: 'requireColorRedundancy',
240
+ actual: false,
241
+ limit: true,
242
+ severity: 'major',
243
+ fix: makeStructuralFix('requireColorRedundancy', false, true),
244
+ });
245
+ }
246
+ else {
247
+ structureChecks.push({ rule: 'requireColorRedundancy', passed: true });
248
+ }
249
+ // Structure score: 100 minus penalties
250
+ const severityPenalties = { critical: 25, major: 15, minor: 5 };
251
+ let totalPenalty = 0;
252
+ for (const v of violations) {
253
+ totalPenalty += severityPenalties[v.severity] || 5;
254
+ }
255
+ const structureScore = Math.max(0, 100 - totalPenalty);
256
+ // ── 3. Cognitive Fit (25% of overall) ──
257
+ const overThreshold = [];
258
+ const cognitiveChecks = [
259
+ { metric: 'totalCTC', actual: cognitiveMetrics.totalCTC, max: profile.thresholds.maxCTC, passed: cognitiveMetrics.totalCTC <= profile.thresholds.maxCTC },
260
+ { metric: 'abandonmentRisk', actual: cognitiveMetrics.abandonmentRisk, max: profile.thresholds.maxAbandonmentRisk, passed: cognitiveMetrics.abandonmentRisk <= profile.thresholds.maxAbandonmentRisk },
261
+ { metric: 'decisionComplexity', actual: cognitiveMetrics.decisionComplexity, max: profile.thresholds.maxDecisionComplexity, passed: cognitiveMetrics.decisionComplexity <= profile.thresholds.maxDecisionComplexity },
262
+ { metric: 'readabilityCost', actual: cognitiveMetrics.readabilityCost, max: profile.thresholds.maxReadabilityCost, passed: cognitiveMetrics.readabilityCost <= profile.thresholds.maxReadabilityCost },
263
+ ];
264
+ for (const check of cognitiveChecks) {
265
+ if (!check.passed) {
266
+ overThreshold.push({
267
+ metric: check.metric,
268
+ actual: check.actual,
269
+ max: check.max,
270
+ fix: makeCognitiveFix(check.metric, check.actual, check.max),
271
+ });
272
+ }
273
+ }
274
+ // Cognitive score: 100 minus proportional overshoot
275
+ let cognitiveScoreSum = 0;
276
+ for (const check of cognitiveChecks) {
277
+ if (check.passed) {
278
+ cognitiveScoreSum += 100;
279
+ }
280
+ else {
281
+ // Score degrades proportionally to overshoot
282
+ const overshoot = (check.actual - check.max) / (check.max || 1);
283
+ cognitiveScoreSum += Math.max(0, 100 - overshoot * 100);
284
+ }
285
+ }
286
+ const cognitiveScore = cognitiveScoreSum / cognitiveChecks.length;
287
+ // ── 4. Overall Score ──
288
+ const overall = Math.round(attentionScore * 0.4 +
289
+ structureScore * 0.35 +
290
+ cognitiveScore * 0.25);
291
+ // ── 5. Top Fixes (prioritized by impact) ──
292
+ // Collect all fixes with their estimated impact score
293
+ const allFixes = [];
294
+ // Attention gaps outside range
295
+ for (const g of gaps) {
296
+ if (g.status !== 'good' && g.fix) {
297
+ // Impact: proportional to gap size and element importance
298
+ const importance = g.element === 'cta' ? 3 : g.element === 'heading' ? 2 : 1;
299
+ allFixes.push({ fix: g.fix, impact: g.gap * importance });
300
+ }
301
+ }
302
+ // Structural violations
303
+ for (const v of violations) {
304
+ const severityImpact = v.severity === 'critical' ? 30 : v.severity === 'major' ? 20 : 10;
305
+ allFixes.push({ fix: v.fix, impact: severityImpact });
306
+ }
307
+ // Cognitive overshoots
308
+ for (const o of overThreshold) {
309
+ const overshoot = (o.actual - o.max) / (o.max || 1);
310
+ allFixes.push({ fix: o.fix, impact: overshoot * 25 });
311
+ }
312
+ // Sort by impact descending, take top 5
313
+ allFixes.sort((a, b) => b.impact - a.impact);
314
+ const topFixes = allFixes.slice(0, 5).map(f => f.fix);
315
+ return {
316
+ persona: profile.persona,
317
+ intent: intentPreset?.id || 'default',
318
+ overall,
319
+ attentionFit: { score: Math.round(attentionScore), gaps },
320
+ structureFit: { score: Math.round(structureScore), violations },
321
+ cognitiveFit: { score: Math.round(cognitiveScore), overThreshold },
322
+ topFixes,
323
+ };
324
+ }
325
+ //# sourceMappingURL=ideal-profiles-gap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ideal-profiles-gap.js","sourceRoot":"","sources":["../src/ideal-profiles-gap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Ideal Interface Profiles — Research-backed attention targets per persona
3
+ *
4
+ * Defines the ideal attention distribution, structural constraints, and
5
+ * cognitive thresholds for each persona. Used by the gap score calculator
6
+ * to measure how well a page serves a specific user type.
7
+ *
8
+ * Also defines intent presets that modify attention weights based on
9
+ * user goals (learn, buy, support, compare, explore, signup).
10
+ *
11
+ * @version 1.0.0
12
+ * @since v18.60.0
13
+ */
14
+ export interface AttentionTarget {
15
+ /** Minimum acceptable % of top-20 attention */
16
+ min: number;
17
+ /** Maximum acceptable % of top-20 attention */
18
+ max: number;
19
+ /** Target ideal % of top-20 attention */
20
+ ideal: number;
21
+ }
22
+ export interface StructuralConstraint {
23
+ maxNavItems: number;
24
+ maxCTAsAboveFold: number;
25
+ maxContentBlockWords: number;
26
+ requireVisibleLabels: boolean;
27
+ requirePredictableLayout: boolean;
28
+ maxAnimations: number;
29
+ requireColorRedundancy: boolean;
30
+ minTouchTarget: number;
31
+ maxInformationDensity: number;
32
+ }
33
+ export interface CognitiveThreshold {
34
+ maxCTC: number;
35
+ maxAbandonmentRisk: number;
36
+ maxDecisionComplexity: number;
37
+ maxReadabilityCost: number;
38
+ }
39
+ export interface IdealProfile {
40
+ persona: string;
41
+ attentionTargets: Record<string, AttentionTarget>;
42
+ structure: StructuralConstraint;
43
+ thresholds: CognitiveThreshold;
44
+ research: string[];
45
+ }
46
+ export interface IntentPreset {
47
+ id: string;
48
+ name: string;
49
+ description: string;
50
+ elementModifiers: Record<string, number>;
51
+ keywordPatterns: string[];
52
+ }
53
+ export declare const IDEAL_PROFILES: IdealProfile[];
54
+ export declare const INTENT_PRESETS: IntentPreset[];
55
+ /**
56
+ * Get the ideal profile for a persona.
57
+ * Returns undefined if no profile exists for this persona.
58
+ */
59
+ export declare function getIdealProfile(persona: string): IdealProfile | undefined;
60
+ /**
61
+ * Detect user intent from goal text by matching keyword patterns.
62
+ * Returns the best-matching intent preset ID, or null if no match.
63
+ */
64
+ export declare function detectIntent(goalText: string): string | null;
65
+ /**
66
+ * Get an intent preset by ID.
67
+ * Returns undefined if no preset exists for this ID.
68
+ */
69
+ export declare function getIntentPreset(intentId: string): IntentPreset | undefined;
70
+ //# sourceMappingURL=ideal-profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ideal-profiles.d.ts","sourceRoot":"","sources":["../src/ideal-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,wBAAwB,EAAE,OAAO,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAClD,SAAS,EAAE,oBAAoB,CAAC;IAChC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAID,eAAO,MAAM,cAAc,EAAE,YAAY,EAiPxC,CAAC;AAIF,eAAO,MAAM,cAAc,EAAE,YAAY,EAiGxC,CAAC;AAcF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEzE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsB5D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE1E"}