# Author or repair a room Request: `$ARGUMENTS` A room is a text file: `projects//rooms/.room`. Edit it directly — there is no binary step. Format and reasoning: `docs/15-engine-and-editor.md`. ## Before writing 1. `tile2d_editor --tool rooms` — what the set already has, and at which depths. 2. `tile2d_editor --tool ascii ` — read a working room of the same kind. 3. `tile2d_editor --tool catalog monster ` — what may be placed at that depth, with its cost in the danger budget. A new room must answer "what does this one do that the others don't": a wide arena, a corridor where the formation cannot turn, a pocket that forces the squad to split. Another rectangle with spawn points is not a room, it is filler. ## Hard constraints - size between 5×5 and 14×14 (`ROOM_SLOT` is 16, the room must leave rock around it); - doors only on the border, and at least one — a room without doors is never connected; - **every floor tile must be reachable from the doors.** A sealed inner chamber looks perfectly normal in the grid and silently makes the floor easier: whatever spawns inside can neither reach the squad nor be killed. This has already happened twice in this repo (`storage`, then `maw`); - spawn points stand on floor, never in a wall, and their table is never empty; - ids in the table must exist in that project's catalog. Spawn tables hold **weights and a chance**, not a creature: `spawn 6 4 0.65 rusher:3 shambler:2` means "this point fires 65% of the time, and then it is a rusher three times out of five". Depth decides who is allowed and what the floor can afford; the room only says where. ## Verify ```bash tile2d_editor --tool room # doors, spawn tables, problems tile2d_editor --tool ascii # the grid, with spawn points numbered tile2d_editor --tool validate # the whole set, including depth coverage tile2d_editor --tool map 42 # the room inside an assembled floor ``` `validate` returning 1 means the set is broken — fix it before reporting. `map` is how you see whether the room actually connects: look for its shape and check that the corridors reach it. ## Report The room's name, size, what it is for, and the numbers from `validate` and one `map` run.