123 lines
5.3 KiB
YAML
123 lines
5.3 KiB
YAML
|
|
# Proposed `usage:` assignments for every corpus room code (homemaker-py-sel).
|
||
|
|
#
|
||
|
|
# FOR REVIEW — nothing reads this yet. Once agreed it becomes the input to the
|
||
|
|
# migration that writes `usage:` into each `patterns.config`.
|
||
|
|
#
|
||
|
|
# Usage is an ACCESS-REQUIREMENT class, not a room-name category (Bruno's
|
||
|
|
# framing: "library corner and staff room are living rooms as they have the same
|
||
|
|
# access requirements"). What each class actually does, in `graph.has_circulation`:
|
||
|
|
#
|
||
|
|
# living keeps its MOST popular circulation neighbour; not stripped from
|
||
|
|
# other rooms, so living spaces may chain to one another.
|
||
|
|
# kitchen as living, plus `fitness.access` accepts living/circulation.
|
||
|
|
# bedroom edges to living/kitchen/bedroom/toilet are REMOVED, so it is
|
||
|
|
# reachable only from circulation or outside — a terminal private
|
||
|
|
# room, never a route.
|
||
|
|
# toilet edges to outside/living/kitchen/toilet removed.
|
||
|
|
# utility NEW. Terminal, not a route — the same requirement as `bedroom`.
|
||
|
|
# See OPEN QUESTION 1 below.
|
||
|
|
# none nothing is stripped: the room is fully permeable and the
|
||
|
|
# connectivity graph MAY ROUTE THROUGH IT. Correct only for spaces
|
||
|
|
# that genuinely are part of the circulation system.
|
||
|
|
#
|
||
|
|
# The `none` semantics are the reason this is a bigger change than it looks:
|
||
|
|
# 34 of 52 corpus codes currently get no class, so a Dental Surgery, a Records
|
||
|
|
# Room and a Utilities Closet can all serve as corridors today.
|
||
|
|
|
||
|
|
living:
|
||
|
|
cr1: Common Room with Fireplace
|
||
|
|
da1: Dining Area
|
||
|
|
en1: TV / Media Room
|
||
|
|
gy1: Exercise Room
|
||
|
|
l1: Living/Dining/Kitchen
|
||
|
|
li1: Library Corner # confirmed: same access requirements as a living room
|
||
|
|
lo1: Lounge
|
||
|
|
lr1: Common Living Room
|
||
|
|
br1: Staff Room # confirmed: same access requirements as a living room
|
||
|
|
m: Meeting Room
|
||
|
|
|
||
|
|
kitchen:
|
||
|
|
k1: Kitchen
|
||
|
|
kt1: Staff Kitchenette
|
||
|
|
|
||
|
|
bedroom: # terminal private room, entered from circulation only
|
||
|
|
b1: Master Bedroom
|
||
|
|
b2: Second Bedroom
|
||
|
|
r: Individual Room
|
||
|
|
tr1: Treatment Room # confirmed: access requirements of a bedroom
|
||
|
|
de1: Dental Surgery
|
||
|
|
gp1: GP Consulting Room
|
||
|
|
ms1: Minor Surgery Room
|
||
|
|
pt1: Physiotherapy Room
|
||
|
|
qr1: Counselling Room
|
||
|
|
py: Therapy Room
|
||
|
|
q1: Quiet Room
|
||
|
|
mo1: Manager's Office
|
||
|
|
ao1: Admin Office
|
||
|
|
em: Staff Office
|
||
|
|
of: Staff Office
|
||
|
|
|
||
|
|
toilet:
|
||
|
|
t: Bathroom
|
||
|
|
t1: Ensuite Bathroom
|
||
|
|
t2: Guest Bathroom
|
||
|
|
t3: Ground Floor WC
|
||
|
|
t9: Public WC
|
||
|
|
t10: Staff WC
|
||
|
|
tt: Upper Bathroom
|
||
|
|
|
||
|
|
utility: # terminal, never a circulation route
|
||
|
|
la1: Laundry Room # confirmed: utility, not a circulation route
|
||
|
|
ut1: Utilities Closet
|
||
|
|
me1: Mechanical/Electrical Room # "Plant / Mechanical Room" in health-centre
|
||
|
|
dp1: General Storage
|
||
|
|
st1: Ground Floor Storage
|
||
|
|
st2: First Floor Storage
|
||
|
|
ur1: Ground Floor Storage
|
||
|
|
ur2: First Floor Storage
|
||
|
|
ur3: Second Floor Storage
|
||
|
|
re1: Records Room
|
||
|
|
|
||
|
|
none: # genuinely part of the circulation system
|
||
|
|
ef1: Entrance Foyer
|
||
|
|
rc1: Reception # "Reception Office" in maple-court — see Q3
|
||
|
|
wa1: Waiting Room
|
||
|
|
|
||
|
|
# --------------------------------------------------------------------------- #
|
||
|
|
# UNRESOLVED — please rule on these
|
||
|
|
# --------------------------------------------------------------------------- #
|
||
|
|
unresolved:
|
||
|
|
ws1: Workshop Space # living (shared activity) or utility (terminal)?
|
||
|
|
zt1: Sterilisation Room # utility, or bedroom-class off a surgery?
|
||
|
|
ph1: Pharmacy / Dispensary # health-centre; bedroom-class? and see Q3
|
||
|
|
n: Neighborhood # unclear what this models at all
|
||
|
|
gh1: Greenhouse # utility, or outside-ish?
|
||
|
|
|
||
|
|
# --------------------------------------------------------------------------- #
|
||
|
|
# OPEN QUESTIONS
|
||
|
|
# --------------------------------------------------------------------------- #
|
||
|
|
#
|
||
|
|
# Q1 Does `utility` need behaviour distinct from `bedroom`? Both are "terminal,
|
||
|
|
# not a route", and the engine has no term today that would tell them apart.
|
||
|
|
# Declaring it as a distinct name that maps onto bedroom's edge-stripping
|
||
|
|
# costs nothing and makes the config read truthfully, leaving somewhere to
|
||
|
|
# hang a real difference later. The alternative is to drop it and write
|
||
|
|
# `bedroom`, which reads badly for a bin store.
|
||
|
|
#
|
||
|
|
# The "ground floor external access" cases (fuel stores, bins) do NOT need a
|
||
|
|
# class: `level: 0` plus `adjacency: [o]` already expresses that, and it is
|
||
|
|
# per-room programme data rather than an access class.
|
||
|
|
#
|
||
|
|
# Q2 A dedicated toilet off a bedroom-class room does NOT survive scoring.
|
||
|
|
# Verified: `has_circulation` runs its bedroom loop before its toilet loop,
|
||
|
|
# and the bedroom loop removes bedroom->toilet edges, so the ensuite is
|
||
|
|
# severed — for real bedrooms too, not just for treatment rooms. This is
|
||
|
|
# existing Urb behaviour that the usage key neither causes nor fixes; filed
|
||
|
|
# separately if it should change.
|
||
|
|
#
|
||
|
|
# Q3 Three codes mean different rooms in different programmes: `ph1`
|
||
|
|
# (Pharmacy/Dispensary in health-centre, Clinic Room in maple-court), `me1`
|
||
|
|
# (Mechanical/Electrical vs Plant/Mechanical), `rc1` (Reception vs Reception
|
||
|
|
# Office). Usage is declared per `patterns.config`, so they can differ — but
|
||
|
|
# it is worth confirming that is intended rather than a copy-paste drift.
|