Files
2025-11-30 08:35:59 +08:00

150 lines
4.7 KiB
Markdown

# Validation Rules & Scoring System
Automatic quality assessment for presentations.
## Scoring Formula (0-100)
### Simplicity (10 points)
- **Word count per slide**: 0-3 words = 10pts, 4-6 words = 8pts, 7-10 words = 5pts, >10 words = 0pts
- **Visual clutter**: Single element = 10pts, 2-3 elements = 8pts, 4-5 elements = 5pts, >5 elements = 0pts
### Visual Dominance (10 points)
- **Image quality**: All high-res = 10pts, some low-res = 5pts, no images = 0pts
- **Text-to-visual ratio**: 20/80 or better = 10pts, 50/50 = 5pts, 80/20 = 0pts
### Story Structure (10 points)
- **Narrative arc**: Clear beginning/middle/end = 10pts, partial = 5pts, none = 0pts
- **Emotional beats**: 3+ moments = 10pts, 1-2 moments = 5pts, none = 0pts
### One Idea Per Slide (10 points)
- **Concept clarity**: All slides single-concept = 10pts, most = 7pts, mixed = 3pts, confused = 0pts
### Typography (8 points)
- **Font size**: All 36pt+ = 8pts, all 30pt+ = 6pts, some <30pt = 2pts, any <24pt = 0pts
- **Consistency**: 1 font family = 8pts, 2 families = 6pts, 3+ families = 0pts
### Layout (7 points)
- **Visual hierarchy**: Clear focal points = 7pts, somewhat clear = 4pts, unclear = 0pts
- **Whitespace**: 40%+ = 7pts, 20-40% = 4pts, <20% = 0pts
- **Alignment**: All aligned = 7pts, mostly = 4pts, inconsistent = 0pts
### Color/Contrast (7 points)
- **Readability**: 7:1+ contrast = 7pts, 4.5:1+ = 5pts, <4.5:1 = 0pts
- **Consistency**: Single palette = 7pts, mixed = 3pts, chaotic = 0pts
### Media Quality (8 points)
- **Image resolution**: All 2K+ = 8pts, all 1K+ = 6pts, some low-res = 2pts
- **Relevance**: All relevant = 8pts, mostly = 5pts, decorative = 0pts
### Cognitive Load (20 points)
- **Mayer's 12 principles adherence**: 10-12 = 20pts, 7-9 = 15pts, 4-6 = 10pts, 1-3 = 5pts, 0 = 0pts
### Data Integrity (10 points, if applicable)
- **Lie factor**: 0.95-1.05 = 10pts, 0.90-1.10 = 7pts, 0.80-1.20 = 3pts, outside = 0pts
- **Data-ink ratio**: Maximized = 10pts, good = 7pts, poor = 3pts, terrible = 0pts
## Critical Violations (Auto-Fail)
These cause immediate score reduction or failure:
1. **Font size < 30pt** → -20 points
2. **>10 core concepts** → -15 points (Kawasaki violation)
3. **Bullet points detected** → -10 points per slide
4. **Paragraphs (>2 sentences)** → -10 points per slide
5. **Contrast ratio <4.5:1** → -15 points
6. **Default template detected** → -20 points
## Warning Flags
These reduce score but don't fail:
1. **>6 words per slide** → -2 points per violation (Godin standard)
2. **>15 slides for 20-min presentation** → -5 points
3. **No images** → -10 points
4. **Text-heavy slides (>3 lines)** → -3 points per slide
5. **Inconsistent fonts (>2 families)** → -5 points
6. **Low-res images** → -3 points per image
## Score Interpretation
- **90-100**: Exceptional - TED/Keynote quality
- **80-89**: Excellent - Professional standard
- **70-79**: Good - Solid presentation
- **60-69**: Acceptable - Needs improvement
- **<60**: Poor - Major revisions needed
## Automated Checks (JavaScript)
```javascript
function validatePresentation(slides) {
let score = 0;
const issues = [];
// Check each slide
slides.forEach((slide, i) => {
const wordCount = slide.text.split(' ').length;
const fontSize = slide.minFontSize;
const hasBullets = slide.text.includes('•') || slide.text.includes('-');
// Word count scoring
if (wordCount <= 3) score += 10 / slides.length;
else if (wordCount <= 6) score += 8 / slides.length;
else if (wordCount <= 10) score += 5 / slides.length;
else issues.push(`Slide ${i+1}: ${wordCount} words (recommend ≤6)`);
// Font size critical check
if (fontSize < 30) {
score -= 20;
issues.push(`CRITICAL: Slide ${i+1} has ${fontSize}pt font (minimum 30pt)`);
}
// Bullet point check
if (hasBullets) {
score -= 10;
issues.push(`CRITICAL: Slide ${i+1} has bullet points (use individual slides)`);
}
});
return { score: Math.max(0, Math.min(100, score)), issues };
}
```
## Quality Report Template
```markdown
# Presentation Quality Report
**Overall Score**: {score}/100
**Status**: {Exceptional|Excellent|Good|Acceptable|Poor}
## Strengths
- {List what scores well}
## Critical Issues
- {Font size violations}
- {Bullet points}
- {Contrast problems}
## Warnings
- {Word count}
- {Slide count}
- {Consistency issues}
## Recommendations
1. {Highest priority fix}
2. {Second priority}
3. {Third priority}
## Score Breakdown
- Simplicity: {score}/10
- Visual Dominance: {score}/10
- Story Structure: {score}/10
- One Idea/Slide: {score}/10
- Typography: {score}/8
- Layout: {score}/7
- Color/Contrast: {score}/7
- Media Quality: {score}/8
- Cognitive Load: {score}/20
- Data Integrity: {score}/10 (if applicable)
```