Generative visual storytelling based on Kurt Vonnegut's insight that stories have shapes — emotional arcs that can be graphed as fortune vs. time.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ KShapes │ │ TinyStories │ │ Flatoons │
│ │ │ │ │ │
│ Emotional │ ──▶ │ Dialogue │ ──▶ │ Visual │
│ Arc │ │ Generation │ │ Rendering │
│ │ │ │ │ │
│ curve=[...] │ │ "Oh no!" │ │ SVG output │
└─────────────┘ └─────────────┘ └─────────────┘
WHAT WORDS PICTURES
(structure) (text) (visuals)
| Code | Name | Pattern |
|---|---|---|
| M | Man in Hole | Stable → fall → climb out better |
| B | Boy Meets Girl | Find good → lose it → win it back |
| C | Cinderella | Low → incremental rise → catastrophe → ultimate elevation |
| K | Kafka | Bad/neutral → worse → no redemption |
| H | Hamlet | Ambiguous, fortune unclear |
| R | Rags to Riches | Steady rise from low to high |
| T | Tragedy | Rise then fall, ends down |
| O | Old Testament | Rise to paradise → sustained fall |
295 spiffed stories across all 8 shapes, generated via LLM pipeline with panel repair and beat expression enhancement.
Shape distribution: M:11, B:25, C:13, K:70, H:54, R:19, T:52, O:51
Story Generation → Evaluation → Panel Repair → Dedup → Spiff Up
(LLM+shape) (beat/arc) (fix panels) (exact) (vivid dialogue)
kurt/
├── CLAUDE.md # Project instructions
├── DONE.md # Completed work log
├── NEXT_SESSION.md # Session handoff notes
├── README.md # This file
├── requirements.txt # Python dependencies
├── scripts/ # Pipeline scripts
├── results/ # Generated corpora and evaluations
├── models/ # Model artifacts
├── data/ # Input data
├── trainingdata/ # Training data files
└── docs/ # Documentation
├── KSHAPE_PLAN.md # 7-phase implementation plan
├── TINYSTORIES.md # Dialogue generation design
├── GOALS.md # Project goals
├── PIPELINE_DESIGN.md # Pipeline architecture
├── FINE_TUNING_DETAILS_STEP_BY_STEP.md
├── INSTRUCT_MODEL_EVALUATION.md
├── TINYSTORY_TRIALS.md # Experiment trials
├── spiff_prompt.txt # Enhancement prompt
└── archive/ # Deferred specs
├── FLATOONS_STANDALONE.md
├── KSHAPE_FLATOONS.md
├── INTEGRATION_PLAN.md
└── INTEGRATION_PLAN_LIGHT.md
pip install -r requirements.txt
export ANTHROPIC_API_KEY="your-key"
# Generate stories for a shape
python scripts/generate_story.py --shape M
# Evaluate results
python scripts/evaluate_model.py --model checkpoints/best --num-samples 100