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 the Rooms tool and SVG export
Adds an evening-out section covering the gesture, what moves and what
does not, and every reason the tool refuses. File Format gains the SVG
export: what it contains, why it is sized in millimetres at a real
architectural scale, and that it does not open back into RoomCAD.
Document measuring, where walls may start, and the yellow overlap mark
Adds a Measuring section covering why the line disappears, and records
the two new wall rules: a wall must start on the building (hold to pan,
click to fall back to Select), and a stretch where two same-axis walls
double up is painted yellow rather than being prevented. Notes that
corners and right-angle crossings are junctions, not overlaps.
Furniture drags are not blocked any more
Records the rule: a piece can be carried anywhere, including through a
wall or onto another piece, and reads red until it fits. The red is a
property of where the item is rather than a flash during the drag, so it
persists and clears itself. Placing and nudging follow the same rule;
the drawing canvas is the one hard limit.
Document room area captions and public-area tiling
Records where the m² caption comes from (the walls, not stored data),
why a doorway does not merge two rooms, and that circulation is skipped.
Adds the tiling rules for public areas: grid, flush snapping, trimming
rather than stacking, and that they stay separate selectable objects.
Rewrite the auto-layout section for a generator that honours the target
The page described a partitioner. It is now a scored search: the target
size decides how much floor becomes room and how much becomes walk path,
corridors are carved so every room has a door onto circulation, and
redesign hands back a different near-optimal plan rather than a
reshuffle. Records the guarantees a generated plan holds to.
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.
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
Rework wiki for the web edition
Complete RoomCAD project documentation