Sawtooth Problem Visualizer

POPULATION (N) ?Total number of individuals.
Selfish-optimal: red ✓
BEST-CASE
100%
WORST-CASE
50%
LARGEST CLIFF
Living blues
Living reds
Dead reds
Dead blues
THRESHOLD (τ) ?The location of abrupt regime change. Bars with B ≤ τ fall under the "below threshold" regime (red majority); bars with B > τ fall under the "above threshold" regime (blue majority). Each tick maps to one bar on the chart.
τ = %
↙ BELOW · RED MAJORITY BLUE MAJORITY · ABOVE ↗
THRESHOLD OSCILLATION ?Automatically sweeps τ up and down between the range bounds at the chosen speed. Export one full cycle as an animated GIF or a sprite sheet (Aseprite-friendly). Width = px-per-bar × (N+1); height keeps the chart's current on-screen aspect ratio. The gap toggle controls the thin white spacer between living and dead segments. Sweep τ automatically · export the cycle
Export settings:
Export cycle:
COMPOSITES ?Tie multiple primitives together with weighted rates. A composite has a single slider that drives all its member primitives at once. Each member can be negated to move in the opposite direction. Untick a composite's checkbox to disable it — its members return to their base values and their sliders are released. Tie primitives together with weighted rates.
No composites yet. Try wiring up "panic mode" (every tolerance ↓ at 100%, biases ↓ at 50%) — one slider scares the room.
MAGIC PRIMITIVE PARAMETERS Subscript = which faction the slider affects · arrow = side of threshold
BELOW THRESHOLD ↓ red majority · b ≤ 50
ABOVE THRESHOLD ↑ blue majority · b > 50
how much of each triangle is active
Minority weight ?Active fraction of the minority triangle. W₁: blue minority below τ. W₂: red minority above τ.
wb
wr
Majority weight ?Active fraction of the majority triangle above the bias floor. W₃: red majority below τ. W₄: blue majority above τ.
wr
wb
cross-faction piggyback & constant floor
Minority assist ?Minority "piggybacks" on a fraction of the majority's bar. The minority's value becomes max(weight-derived, assist × majority). At weight=0, the assist contribution shows in full; as weight rises, the larger of the two dominates. a₁: blue minority below τ. a₂: red minority above τ.
ab
ar
Majority assist ?Majority "piggybacks" on a fraction of the minority's bar (rare, but useful for modeling reciprocal effects). a₃: red majority below τ piggybacks on blue minority. a₄: blue majority above τ piggybacks on red minority.
ar
ab
Bias ?Active fraction of the bias floor — a constant rectangle of value across all bars on its side.
βr
βb
far-edge erosion of each triangle
Minority tolerance ?How much of the minority triangle is preserved. 1 = full. As tolerance ↓ toward 0, the minority is eaten away from the far edge inward. θ₁: zone 1 (blue minority below τ). θ₂: zone 2 (red minority above τ).
θb
θr
Majority tolerance ?How much of the majority faction is preserved. 1 = full. As tolerance ↓ toward 0, the majority is eaten from the far edge. θ₃: red majority below τ. θ₄: blue majority above τ.
θr
θb
DISPLAY OPTIONS ?Controls how the chart is framed, what's drawn on it, and how the tolerance sliders read. None of these change parameter values.
Framing
Show
Behavior
Mirror mode
true = zero out parameters that don't affect the current graph before mirroring · raw = swap values as-is (preserves latent shape)
Tolerance sliders
visual only — values unchanged
EXPORT ?Download or copy the current chart as SVG or PNG. The "Include" toggles control which annotations are baked into the exported image.
Include
Blue frame
Red frame
SHARE ?A prefixed code that captures all primitive settings, composites, display options, oscillation, and export config. Each value carries a readable prefix (e.g. wbdn = weight·blue·below), so codes survive future parameter changes. The same code is kept live in the address bar as ?config=… — copy the URL to share, or paste a code here and click "Load from string". Also used in exported filenames. Copy the string or just the URL · paste to reproduce someone else's graph
⚠ Everything below this line is experimental and incomplete.
SAVED STATES