I learned something new: the grammar tokens something/thing don’t actually require thing-ness. They mean any object in scope. Directions are always in scope, but normally rooms and regions aren’t. I knew that when actions required one visible thing it meant potentially any object in the game world, in or out of scope, in or out of play. What I didn’t know is that one touchable thing (i.e., the default if you just say one thing also does not require thing-ness (i.e., it acts like the grammar token).
If an action requires a “touchable thing”, the basic accessibility rule (one of the rules between the Before rules and the Instead rules) will stop the action if the noun is a direction. And for actual things, it checks whether there’s a reason you can’t touch it, e.g., it’s in a closed container. But it doesn’t block rooms or regions. Hence
Lab is a room.
Conservatory is north of lab.
The map region of the Conservatory is the contrivance.
The Metacontrivance is a region. The contrivance is in the Metacontrivance.
After deciding the scope of the player when the location is the Conservatory, place the contrivance in scope.
After deciding the scope of the player, place the Lab in scope.
The glass case is a transparent closed unopenable container in the lab.
The priceless emerald is in the glass case.
test me with "touch lab / drop lab / get lab / n / get lab / touch contrivance / drop contrivance / get contrivance".
yields
>1] touch lab
You feel nothing unexpected.
>[2] drop lab
You haven't got that.
>[3] get lab
You would have to get out of Lab first.
>[4] n
Conservatory
>[5] get lab
You cannot carry Lab.
>[6] touch contrivance
You feel nothing unexpected.
>[7] drop contrivance
You haven't got that.
>[8] get contrivance
You cannot carry the contrivance.
What led me down the route toward noticing this was noticing that there’s a Can only take things rule. Which seemed redundant – didn’t the basic accessibility rule already take care of that? But no, it didn’t.
For reasons I haven’t chased down, the contrivance has to be within another region. If there’s no metacontrivance regionally containing the contrivance, the actions on the contrivance get “That isn’t available.”