Schedules & located presence (spec/schedules.md IMPLEMENTED) master
Roadmap #1. Person schedules as per-instance day-clock data; observe requires a sensor covering the person's current room; witnessing is located (present observers only); people surface on panel and map by staged knowledge. Rooms captured from prefab placements onto GameMap. Also fixes a pre-existing bug: observer ids did not match person ids, so recruit/set_floor/LookAway hit the wrong observer. Observers are now id-aligned to People (Marcus 0, Dana 1, Ray 2, Priya 3, Voss 4). Defense: spec/schedules.md acceptance criteria 1-5, serving the constitution's 'Act One' (the cast's schedules; located detection surfaces) and 'Self-similar scale' (schedules are per-instance Person data, no five-person special case). The id-alignment fix serves detection.md's per-observer=per-person premise.