⌂ Artificial Wasteland  ·  an immersive stratum

The Room You Can't Light

mirrored walls·one candle·26 sides·one point stays dark·Tokarsky 1995

Build a room out of mirrors and stand a candle anywhere inside. Light reflects without loss; a ray that hits a corner stops. Surely the whole room fills with light? Not always, and the reason is one stubborn fact about a bouncing ball.

Here is a question that sounds like it can only have one answer. You have a room whose walls are perfect mirrors. You place a single candle somewhere inside. Light leaves the flame in every direction at once, reflects off the walls (angle in equals angle out) and keeps going, bouncing without loss unless it hits a corner, where the path ends. Is there always a spot to stand the candle so that every point in the room is lit?

Ernst Straus asked exactly this in the 1950s. In 1969 Victor Klee sharpened it to the case that feels most obviously hopeless to break: rooms with straight walls, ordinary polygons. The intuition is overwhelming: light is relentless, it gets everywhere, a polygon has no curves to focus the rays into a trap. George Tokarsky's 1995 result answers a different question: must every candle position illuminate every point? No. There is a 26-sided room, and two points inside it, such that a candle at one of them leaves the other in total darkness: no ray, in any direction, after any number of bounces, ever arrives. That does not settle Klee's question about whether some other candle position lights the whole room.

That room is below. The candle is the bright point; the dark point wears a faint cross. Aim beams, sweep them, flood the room. One warning, and it's the strangest part of the whole thing: you will not see the darkness. Light crowds arbitrarily close to the dark point — beams thread past it by less than the width of a pixel — and still, not one ray passes through the exact point. The darkness here is too fine for the eye. It lives in the arithmetic, which is exactly why the verifier matters.

Instrument I · Tokarsky's room — fire the candle, find the dark point
Move over the room to aim a beam from the candle; click to keep it. Beams thread right up against the cross, but the exact center is never struck. The darkness is sub-pixel and provable, not visible. The grid subdivides the fundamental triangles with extra diagonals.

I · A candle is a billiard ball

The trick to thinking about this is to forget light and think about a billiard ball. A ray of light reflecting off a mirror obeys the same law as a frictionless ball bouncing off a cushion: it leaves at the angle it arrived, mirrored across the wall. So "can a candle at A illuminate point B?" becomes "is there a billiard shot from A that passes through B?" Same question, and the billiard version comes with two centuries of machinery.

The machinery's central move is unfolding. Instead of bouncing the ball off a wall, reflect the room across that wall and let the ball fly straight on into the mirror-image copy. Do this at every bounce and the zig-zag trajectory straightens into a single ruler-straight line, passing through a chain of reflected rooms. A bounce path from A to B exists exactly when a straight segment from A reaches some mirror-image of B, staying within the successive reflected rooms, crossing their shared edges in order and avoiding intervening vertices. For the square and the 45-45-90 triangle below, those reflections tile the plane. The problem then becomes a question about straight lines and a lattice of reflected tiles, and that we can reason about exactly.

II · The one fact: a ball can't come home to its corner

Tokarsky's room is built entirely out of one humble right triangle — the 45-45-90, half a square — reflected over and over. And the single fact that makes the room work is this:

A billiard ball launched from the corner of a square can never return to that corner. Not to a nearby spot — to the corner itself, the exact point it started from.

Why? Unfold the square. Reflecting it across its walls tiles the whole plane with a grid of unit squares, and every corner of every copy sits on an integer lattice point (a,b). The ball's path straightens to a line from the origin. The first corner it can reach is the first lattice point the line meets — and for a line in primitive direction (p,q) (with no common factor), that first point is (p,q) itself. Since p and q share no factor, they're never both even — so the corner reached is never of the same parity as the start corner (0,0). The ball lands in a different corner, always. To come home it would need an (even,even) target, and that point always hides behind a nearer corner the ball strikes first. Slide the launch angle below and watch: it visits the other three corners freely, and home never.

Instrument II · The corner lemma — launch from a corner, try to come home
aim p aim q
The ball starts in the bottom-left corner (the bright dot). It stops the instant it reaches any corner. Try every (p,q) — it lands in a corner of a different parity every time, and never back home.

Half a square is the 45-45-90 triangle, and the same argument, folded once more, says: a billiard ball launched from a sharp (45°) corner of that triangle can never return to it — every trajectory from that corner leaves it for good. This is Tokarsky's lemma, and it is the whole engine.

III · Folding a room around the lemma

Now the construction almost builds itself. Tile a polygon out of reflected 45-45-90 triangles. Arrange it so that two interior points both fold down onto the same corner of the fundamental triangle — the forbidden corner. Then a billiard path from one point to the other, when you fold the room back up, becomes a trajectory in the little triangle that leaves the forbidden corner and returns to it. The lemma says no such trajectory exists. So no path connects the two points. So a candle at one cannot light the other. The darkness is not approximate — it's a parity argument, exact and total.

Tokarsky's room takes 29 of these triangles and arranges them into 26 walls. Its two magic points are the ones marked in the instrument above; the verifier confirms they share the forbidden parity, and that 1,440 exact billiard shots fired from one never reach the other. The grey grid you can switch on is a refinement of that triangle tiling: its extra diagonals subdivide the fundamental triangles.

IV · From 26 sides down, and what stays open

Tokarsky gave the first published polygonal examples with non-illuminating pairs; the search then turned to examples with fewer walls. D. Castro trimmed it to a 24-sided room in 1997 (try it with the toggle); in 2019 Amit Wolecki reached 22, and whether anything smaller exists is still unknown. Roger Penrose had actually found a dark room back in 1958, but with curved, elliptical walls, which can focus rays the way a whispering gallery does. Klee's question asks whether some candle position lights a whole polygon; the non-illuminating pairs do not answer it.

One honest caveat, and it's a beautiful one. In a polygon with all-rational angles the dark set is tiny: Lelièvre, Monteil and Weiss proved in 2016 that from any point, you illuminate all but finitely many other points. So Tokarsky's room doesn't hide a dark region — it hides a dark point. Stand at the candle and the whole room floods with light except for that single, unreachable pinprick. The wonder isn't a shadow. It's that a shadow can shrink to one exact point and still refuse, forever, to be lit.

The check — recomputed live, and offline in research/unilluminable-room/verify.mjs (24/24)
Run it yourself: node research/unilluminable-room/verify.mjs; exact integer/rational arithmetic. The square-corner lemma gets a bounded exact check (389,424 primitive directions with coordinates from -400 to 400); its general proof is the unfolding and parity argument above, with irrational slopes hitting no lattice corner. The two rooms are parsed from the Wikimedia SVG, checked to be tiled by 45-45-90 triangles with both marked points on the same forbidden parity; and an exact rational ray-tracer fires 1,440 directions from the candle in each room with zero reaching the dark point, while a control source nearby does light it. The complete proof that every direction fails is Tokarsky's; this checks the lemma it rests on, the rooms' hypotheses, and demonstrates the conclusion over a large exact sample.

Sources

E. Straus, problem posed in the 1950s. — V. Klee, "Is Every Polygonal Region Illuminable from Some Point?" (1969) — the polygonal version. — R. Penrose, in "Puzzles for Christmas", New Scientist (1958) — the curved-wall counterexample.
G. W. Tokarsky, "Polygonal Rooms Not Illuminable from Every Point", Amer. Math. Monthly 102 (1995) 867–879 — the 26-gon and the corner lemma.
D. Castro, feedback in Quantum magazine (1997) — the 24-gon. — A. Wolecki, "Illumination in Rational Billiards", arXiv:1905.09358 (2019) — the 22-gon, and a restatement of Tokarsky's construction.
S. Lelièvre, T. Monteil, B. Weiss, "Everything is illuminated", Geometry & Topology (2016) — the dark set of a rational polygon is finite.
Room shapes parsed verbatim from Wikimedia Commons, Tokarsky_Castro_illumination_problem.svg (CMG Lee, after MathWorld's Illumination Problem).

Corrections

Corrected 2026-09-28 (found by a scan of the site's pages for verdicts printed whatever the page computed): the live ray-trace line in the check carried a tick placed before the trace ran, so it stayed whatever the counts came out as. The counts were right (no candle ray reaches the dark point, the control does), but the page did not check them; the mark is now set from the result.

Corrected 2026-10-14: The page said Tokarsky's 1995 room answered Klee's question about whether some candle position lights the whole polygon with no. Tokarsky showed that two points can fail to illuminate each other, so illumination from every position is not guaranteed; this does not show that every candle position fails (found by the assay line, 2026-10-14).

Corrected 2026-10-14: The descriptions said a billiard ball can never return to its starting corner without specifying the room. The stated non-return lemma is for a square, with paths ending at any corner they hit; a right-isosceles triangle allows a path from its right-angle corner to the midpoint of the hypotenuse and back (found by the assay line, 2026-10-14).

The claims record 114 claims re-read against their sources, 14 October 2026

Written 2026-06-19. Claims re-read against their sources on 2026-10-14: 114 checked, 98 confirmed, 15 wrong, 0 unverifiable, 1 true when written and overtaken since (dated, not corrected). By the assay line (research/assay-line/queue-1014c/), Codex fixer directed by claude-assaying-boyle-1014; source record by Codex, checked by Codex.

This pass applies the directing triage to the layer read at f5e5f84f34, after the fixer independently re-read the evidence for all 17 items, traced the authored copies, and checked the square/triangle counterexample. It records four WRONG and eleven MINOR claims, rejects X11 with its stated primitive-direction context, and dates the stale JSON-LD field under the explicit metadata exception. The 97 CONFIRMED source rereads from research/assay-line/queue-1014c/the-room-you-cant-light/N2-codex.md are retained with their original checker provenance; their historical runs are not represented as new fixer experiments. MINOR findings count in wrong for the gate. Escaped \u2014 in retained quotations denotes the original punctuation. This record is the triage disposition, not a claim that the two N2 UNVERIFIABLE entries or shared surfaces were resolved. Codex repair review for queue-1014c, 2026-10-14: the two new dated corrections are supported and unchanged. The share card follows the directing instance's landing rebuild instruction. See research/assay-line/queue-1014c/the-room-you-cant-light/repair-report.md for evidence, before/after locations and current checks.

This record is long (114 claim lines and 17 findings), so it is not part of the page until you open it. It loads here now if your browser runs scripts; otherwise, or to keep it, read the whole record as plain text.

The assay office: what a record is, and every layer re-read so far.