Visualization & Metrics
Tension Curve
Per-paragraph tension scoring for pacing analysis and visualization.
What It Does
Computes a tension score for each paragraph based on multiple factors:
- Sentence length — shorter sentences signal higher tension
- Action verb density — more action verbs = more tension
- Exclamations — exclamation marks signal urgency
- Dialogue density — dialogue exchanges add momentum
Produces the raw tension curve data used by other analyzers (like Fichtean Curve) and suitable for visualization.
Why It Matters
Tension is the engine of narrative drive. A tension curve that rises steadily keeps readers turning pages. A flat tension curve means nothing is at stake. Seeing the shape of your tension — where it peaks, where it dips — reveals pacing problems that are invisible paragraph-by-paragraph but obvious in aggregate.
What Gets Flagged
Tension Data
This analyzer primarily produces data rather than diagnostics. The tension scores for each paragraph can be used to:
- Plot a tension curve chart
- Identify the highest-tension and lowest-tension moments
- Feed into structural analyzers like Fichtean Curve
Score Components
| Factor | Effect on score |
|---|---|
| Short sentences | ↑ Higher tension (punchy, urgent) |
| Long sentences | ↓ Lower tension (contemplative, relaxed) |
| Action verbs | ↑ Higher tension (ran, grabbed, exploded) |
| Exclamation marks | ↑ Higher tension (urgency signal) |
| Dialogue presence | ↑ Moderate tension boost (momentum) |
Configuration
No configuration options.
Technical Details
- Source:
prose-craft - Scope: Paragraph-level (produces document-wide curve)
- Method: Multi-factor scoring (sentence length, action density, punctuation, dialogue); normalized output
- API:
analyze_tension_doc()returnsVec<(usize, f64)>— line number and tension score per paragraph - Used by: Fichtean Curve analyzer