← Back to guides
Guides · Anthology

Why Is It Like This?

The original sins of computer graphics.

DRAFT · growing anthology · scope everything, kill as I lose interest

Every industry has its haunted houses — the defaults nobody set, the numbers everyone uses, the conventions that made sense once and now just live here. Here’s the tour.

[Section intro: what the anthology is. One growing page, anchor-linked entries, stable per-sin URLs for deep-linking. Voice: dry, mildly outraged, affectionate. Each entry is a tiny historical whodunit. Per-entry format decided as each is written.]

Signal bleed

[The showpiece, and the anchor for the broadcast cluster. Real signals are leaky and real hardware is non-ideal — which is why standards have guard bands, why broadcast levels have footroom and headroom, why frame rates were tied to the grid. All the “stupid” defaults trace back here.]

The guard band is the whole story in one idea: leave room, because nothing is as clean as the spec.

Widget Broadcast spectrum / signal-bleed centerpiece

Frequency axis with allocated bands marked. A signal-strength slider; as strength rises, the signal’s skirt widens and bleeds into the neighboring band. The aha that anchors frame rates, broadcast levels, and more.

The Utah teapot

[Pixel aspect ratio. Punchline: Martin Newell’s actual teapot at the Computer History Museum is squashed too — the canonical CG reference object of all time has been wrong since 1975.]

Blame pixel aspect ratio: the pixels were never square.

Widget Teapot + PAR slider

Rotating teapot point cloud with a pixel-aspect-ratio slider (1.0, 0.9 NTSC D1 4:3, 1.067 NTSC widescreen). Watch the teapot deform.

Broadcast levels (16–235)

[Why “legal” range exists. Possibly absorbed into the spectrum widget rather than standing alone.]

Widget Waveform legal-range may merge into signal-bleed widget

Waveform-monitor view with the legal range shaded and danger zones marked. A brightness slider pushes values into the danger zone.

Overscan & title-safe

[That invisible margin in every NLE is older than HDTV.]

Overscan is gone; the margins it forced on us never left.

Widget Overscan / title-safe toggle

A 16:9 frame with content. Toggle CRT overscan on (a vignette eats the outer 5%, the title is half-cropped); toggle the title-safe guide on to see why it’s there.

Interlacing

[“30fps” video was never 30 coherent frames per second — half the picture was sent every 1/60 second.]

Interlacing is why your “30fps” footage combs the moment anything moves.

Widget Interlace / deinterlace toggle

A 60i clip showing comb artifacts on a moving subject when played progressively; a deinterlace toggle smooths it.

Drop-frame timecode

[Drop-frame isn’t losing frames, it’s renumbering them so timecode-as-time matches reality.]

Drop-frame drops numbers, never frames — the most-misunderstood word in post.

Widget Timecode vs wall clock small / optional

A real-time timecode counter with a toggle against the wall clock; drop-frame skips “:00” and “:01” at minute boundaries (except every tenth minute).

sRGB ≠ gamma 2.2

[Everyone’s been doing it slightly wrong, but the wrongness is small enough nobody notices — except in the deep shadows where it matters most.]

Widget Two-curve plot small / optional

sRGB and gamma 2.2 on the same axes; toggle the difference to reveal the tiny linear toe in the shadows.

Kelvin is backwards

[Pure counterintuitive labeling, large aha.]

Widget Kelvin swatch small / optional

A color swatch tied to a Kelvin slider. Drag down (2700K) → warm / orange; drag up (10000K) → cool / blue.

The prose queue

[Prose-only entries, no widget required. Write the ones that make me mad; abandon the rest. Stable anchors get added per entry as they’re written.]

  • 29.97 / 23.98 origin story (the NTSC color-subcarrier kludge — the best “why is this number cursed” story)
  • 24fps origin (sound-on-film economics)
  • 2-3 pulldown
  • 48k vs 44.1k (video vs music audio)
  • 0.5 pixel-center offset
  • Powers-of-two textures
  • 18% / middle gray (photographic light-meter inheritance)

[The page is whatever survives. Do not pressure-finish entries.]

Glossary

Every term used in this guide, defined once. In the prose, underlined-dotted terms show their short definition on hover or focus, and jump here on click.

Guard band
Deliberately unused frequency range left between allocated bands so that leaky, non-ideal real-world signals don’t bleed into their neighbors. The reason half these "stupid" defaults exist.
Pixel aspect ratio
The ratio of a pixel’s width to its height. SD video pixels weren’t square (0.9, 1.067…), which is why old footage and even the canonical Utah teapot look squashed if you assume 1.0.
Overscan
Old TVs cropped the outer ~5% of the picture. Title-safe and action-safe margins — still in every NLE — exist to survive that crop, long after CRTs are gone.
Interlacing
Sending every other scanline each field, 60 times a second, instead of whole frames 30 times. "30fps" interlaced video was never 30 coherent frames per second.
Drop-frame
A timecode scheme that skips certain frame numbers (not actual frames) so that 29.97fps timecode stays aligned with real wall-clock time.
← Back to guides