Tracker: all four open bugs fixed; note the light limit and the new invariants
B1-B4 are done, so the tracker's bug table is now a record of what each one
actually did rather than a list of what is wrong, and the status line reads 0
open bugs. Every entry names the test that holds it.
3D Walkthrough said 'only the first 16 get one', which was true and was the bug:
the pool was dealt out in plan order, so a particular lamp was dead for the life
of the room. It now describes what happens instead — the nearest sixteen, and
they follow you — and the 2D Editor Guide's note about lights points at it.
Architecture and Development gains the invariants the fixes created: no shadow
caster may hold a negative depth bias, the two wall-length floors are different
rules, the light budget goes to what the viewer can see, and a plan too large to
decompose reports it. Module line counts refreshed, including the two new test
files.
Document handles, dimensions, labels, snapping and clouds
The 2D Editor page gains the things you can now grab and read: red end
handles on walls and openings, wall ends that snap onto what they meet
(and free ends that deliberately do not), live side lengths while
dragging out a public area, public areas as selectable objects, the new
Label tool, and the permanent dimension lines. The 3D page notes the
drifting cloud decks and why they change shape without anything
morphing.
Document the city, and the invariants that keep it cheap
The 3D Walkthrough page now covers what you actually see out of a window
— streets, traffic, night lighting — and why it is stylised rather than
photoreal. Architecture records the two rules that keep it from becoming
a cost: it is a separate module handed only a building envelope, and it
is instanced scenery that never casts into the room's shadow maps, has
no colliders and is cached across edits. The height datum is written
down too, since paving above it appears inside a ground-floor room.
Rework every page: simpler, example-led, and matching the code
The wiki had drifted from the app. The worst of it:
- Live Collaboration described an auto-save model that no longer exists
("editing auto-saves, debounced ~600 ms"). The real flow is deliberate:
Join Live, Live Active, Leave Live Mode, with unsaved drafts on a
separate in-memory channel that never creates versions.
- Server API listed six endpoints and no authentication. There are
eleven, all but login behind a session cookie, plus a browser_sessions
table that decides which design a browser reopens.
- File Format documented four furniture kinds; there are ten plus two
ceiling fixtures, and canvas / origin / publicAreas were missing.
- 2D Editor omitted Measure, Public areas and the automatic floor layout.
- 3D Walkthrough claimed the sun advances in real time. It does not — the
hour is a user setting, and the L key switches to placed-lights-only.
Every page is now example-led: a worked bedroom in Getting Started, curl
recipes against the API, a complete valid .rcad document, a two-browser
walkthrough for Live, and copy-pasteable deploy and backup commands.
Architecture gains an Invariants section recording why the shadow bias
must stay zero and why a wall end must cross its neighbour's half
thickness, so the light-leak bug cannot quietly return. Troubleshooting
gains entries for that leak, the fail-closed password file and WebGPU.
All 11 pages checked: no broken internal links.
Document standalone 3D environment
Document exterior street ring
Rework wiki for the web edition
Complete RoomCAD project documentation