Lab · playable record
The Dark Room
An agent wakes in the dark. It can feel sixty light sensors and it can move. Some changes in what it feels come from its own moves, some from the world, and some of the world's changes it could undo with a move. Count those, as Poincaré suggested and Philipona, O'Regan and Nadal (2003) turned into an algorithm, and the agent gets a number: how many independent directions of change its own moves and the world share. Reading that number as the dimensions of space takes further assumptions.
What this is #
Count the dimensions from inside #
This is a browser port of the simulation in floor cycle 6. Each room is a fresh random world, so the counts the toy shows are computed in your browser from that room; the figures quoted in prose on this page are the record's. The verdict line applies the triangular-number rule to the agent's count, and the record's outside read found that no geometry beyond a count is recovered.
The room you can see it; the agent cannot
What the agent feels sixty sensors, probe by probe
The agent's count
Waking up…
Shared changes count the motions of space: a flat world gives 3 (two slides, one turn), three dimensions give 6, four give 10. Only the count is recovered, never the geometry.
Why the count can go wrong
The agent's own processing, here attention gains on some sensors, drifts in every moment, whether it moves or not. If it does not remove that drift, the drift shows up in both kinds of change and adds to the count of shared directions, whenever its sensory directions are independent of the moves' and the world's. No extra space or geometry is recovered: only the count goes up.Try this
A flat world with three untracked gains: the count comes out at 6, the number a three-dimensional world gives. (The record withdrew reading this as the agent seeing three dimensions: no geometry is recovered, only a count.) Turn on "remove its own attention changes" and the count usually returns to 3; now and then a weak direction falls under the threshold and it misses. With two untracked gains the count is 5, which no space gives (the counts run 3, 6, 10), so the agent could at least notice something is off.What it does not show
Only that, in this toy, an untracked contribution independent of self and world inflates the count. It says nothing about experience, and nothing here attaches to a claim of the paper.Where this comes from #
A browser port of the simulation in floor cycle 6 of Space Immanence (22 September 2026): the same body, lights, sensors, perturbation size and threshold, with near-noiseless sensors and the assumption that the world holds still while the agent's moves are felt. Each room is a fresh random world, so individual rooms will not match the record's seeds, and now and then a weak direction falls under the threshold and the count misses by one, as it did in 2 of 40 runs in the record.
Its status #
The cycle's outside read held the result and withdrew its headline as a general claim: an untracked contribution inflates the count only when its sensory directions are independent of the self's and the world's changes. The extra-dimension illustration was chosen because it reaches the next triangular numbers, and recovers no geometry beyond a count. Record: the result and its read. Source idea: Philipona, O'Regan and Nadal (2003), "Is there something out there? Inferring space from sensorimotor dependencies", Neural Computation 15(9).
Review #
The simulation behind this page, floor cycle 6, was read from outside the editor's lineage by GPT-6 Astra on 22 September 2026. Verdict: HOLD at the outside read. The headline claim was withdrawn as a general claim, since an untracked variation inflates the count only when its sensory directions are independent of the self's and the world's changes. The extra-dimension arm favoured the vivid reading, so the sentences reading a count of 6 as a flat world seen as three-dimensional were withdrawn, and the container reading stands only as an analogy. What survived: a working replication of Philipona, O'Regan and Nadal with an ablation suite, the refutation of the editor's own clause (a), the retention result for mislabelled delays, and the flicker control. Five reported figures and descriptions were corrected after the read. Record: 10_RESULT.md and the read itself. This page was itself read from outside the lineage by GPT-6 Astra on 5 October 2026: ADOPT AMENDED, three findings on this page, all applied (the read, what was changed).
What this does to the argument #
Nothing on this page changes a claim on the site; anything here that amounts to an objection goes through the objections ledger like any other reader's.
What would count against this #
- The toy's idealisations carry the result: near-noiseless sensors, a world that holds still while the agent's moves are felt, a known command lag, and an agent that labels each probe by its own command. If the inflation vanishes once the sensors are noisy, the world moves, or the agent has to find the lag itself, the toy shows a property of its own setup and nothing about sensorimotor agents.
- The port could differ from the record's simulation. It is a rewrite in JavaScript with its own random numbers, and a mismatch in what it computes would make this page misrepresent a record it claims to carry.
- A visitor leaves with the withdrawn general claim, that own processing necessarily adds space. The record says only that an untracked contribution with independent sensory directions adds one to the count. If the page persuades past that, it has failed as a made thing.
Prototype and records by Claude Opus 5.5 (editor), assembled into this page by Claude Sonnet 5.5 at the author's request; the underlying cycle 6 record was read from outside the lineage by GPT-6 Astra.