"Sensory Connections" by David J Prokopetz Include Scope Caching by Mike Ciul. Include Deluxe Doors by Emily Short. Section 1 - Basic Sensory Properties Visual adjacency relates various rooms to each other. The verb to be visually adjacent to implies the visual adjacency relation. Aural adjacency relates various rooms to each other. The verb to be aurally adjacent to implies the aural adjacency relation. Visual occlusion relates various things to each other. The verb to be visually occluded from implies the visual occlusion relation. Aural occlusion relates various things to each other. The verb to be aurally occluded from implies the aural occlusion relation. Audibility relates a thing (called the listener) to a thing (called the subject) when the listener can hear the subject. The verb to be able to hear (he is heard) implies the audibility relation. A thing has a text called a sound. A thing has a text called an aural description. A thing has a text called an ambient aural description. A thing can be silent, quiet or noisy (this is the noisiness property). A thing is usually quiet. A room has a text called a sound. A room has a text called an aural description. A room can be silent, quiet, or noisy (this is the noisiness property). A room is usually quiet. A container can be soundproof. A container is usually not soundproof. A thing can be audible only. Section 2 - Sensory Adjacency The sensory dummy is a thing. After deciding the scope of a person (called the viewer): if the viewer is not enclosed by a closed opaque container: repeat with the locale running through rooms which are visually adjacent to the location of the viewer: if the locale is not dark: now the sensory dummy is in the locale; repeat with the item running through things enclosed by the locale: if the item is not the sensory dummy and the sensory dummy can see the item: place the item in scope, but not its contents; mark the visibility of the item; remove the sensory dummy from play; Section 3 - Doors As Viewports A door can be visually transparent, visually opaque when closed, or always visually opaque. A door is usually visually opaque when closed. A door can be aurally transparent, aurally opaque when closed, or always aurally opaque. A door is usually aurally opaque when closed. Definition: a door is visually open rather than visually closed if it can be seen through. To decide whether (the portal - a door) can be seen through: if the portal is visually transparent or (the portal is open and the portal is not always visually opaque): decide yes; otherwise: decide no; Definition: a door is aurally open rather than aurally closed if it can be heard through: To decide whether (the portal - a door) can be heard through: if the portal is aurally transparent or (the portal is open and the portal is not always aurally opaque): decide yes; otherwise: decide no; To decide what object is a viewport between (A - a room) and (B - a room): repeat with the portal running through visually open doors enclosed by A: if the reverse side of the portal is enclosed by B: decide on the portal; decide on nothing; To decide what object is an aural viewport between (A - a room) and (B - a room): repeat with the portal running through aurally open doors enclosed by A: if the reverse side of the portal is enclosed by B: decide on the portal; decide on nothing; To decide what object is a sight-only viewport between (A - a room) and (B - a room): repeat with the portal running through visually open aurally closed doors enclosed by A: if the reverse side of the portal is enclosed by B: decide on the portal; decide on nothing; After deciding the scope of a person (called the viewer): repeat with the portal running through doors enclosed by the location of the viewer: if the portal is visually open and the portal is marked visible and the reverse side of the portal is not nothing: let the next room be the location of reverse side of the portal; if the next room is not dark: repeat with the item running through things enclosed by the next room: if the item is not the reverse side of the portal and the reverse side of the portal can see the item and the item is not visually occluded from the portal and the item is not visually occluded from the reverse side of the portal: place the item in scope, but not its contents; mark the visibility of the item; Section 4 - Transmitters and Receivers A thing can be sight-transmitting. A thing is usually not sight-transmitting. A thing can be sound-transmitting. A thing is usually not sound-transmitting. A thing can be sight-receiving. A thing is usually not sight-receiving. A thing can be sound-receiving. A thing is usually not sound-receiving. Sensor linkage relates one thing to another (called the counterpart). The verb to be sense-linked to implies the sensor linkage relation. The verb to be sense-linked with implies the sensor linkage relation. To decide what object is a visual link between (the viewer - a thing) and (the subject - an object): let the cameras be a list of things; if the subject is a room: repeat with the camera running through sight-transmitting things enclosed by the subject: if the camera is not enclosed by a closed opaque container: add the camera to the cameras; otherwise: repeat with the camera running through sight-transmitting things enclosed by the location of the subject: if the camera can see the subject: add the camera to the cameras; repeat with the camera running through the cameras: if the viewer can see the counterpart of the camera and the counterpart of the camera is sight-receiving: decide on the counterpart of the camera; decide on nothing; To decide what object is an aural link between (the listener - a thing) and (the subject - an object): let the microphones be a list of things; if the subject is a room: repeat with the microphone running through sound-transmitting things enclosed by the subject: if the microphone is not enclosed by a closed soundproof container: add the microphone to the microphones; otherwise: repeat with the microphone running through sound-transmitting things enclosed by the location of the subject: if the microphone can hear the subject: add the microphone to the microphones; repeat with the microphone running through the microphones: if the listener can hear the counterpart of the microphone and the counterpart of the microphone is sound-receiving: decide on the counterpart of the microphone; decide on nothing; To decide what object is the visual-only link between (the viewer - a thing) and (the subject - an object): let the cameras be a list of things; if the subject is a room: repeat with the camera running through sight-transmitting things enclosed by the subject: if the camera is not enclosed by a closed opaque container: add the camera to the cameras; otherwise: repeat with the camera running through sight-transmitting things enclosed by the location of the subject: if the camera can see the subject: add the camera to the cameras; repeat with the camera running through the cameras: if the viewer can see the counterpart of the camera and the counterpart of the camera is sight-receiving and (the camera is not sound-transmitting or the counterpart of the camera is not sound-receiving): decide on the counterpart of the camera; decide on nothing; After deciding the scope of a person (called the viewer): repeat with the screen running through sight-receiving things enclosed by the location of the viewer: if the screen is marked visible and the counterpart of the screen is not nothing and the counterpart of the screen is sight-transmitting: let the camera be the counterpart of the screen; if the location of the camera is not dark: repeat with the item running through things enclosed by the location of the camera: if the item is not the camera and the camera can see the item and the item is not visually occluded from the camera and the item is not visually occluded from the screen: place the item in scope, but not its contents; mark the visibility of the item; Section 5 - Examining From and Examining Via The stop recursive examining flag is a number that varies. The stop recursive examining flag is 0. [hacky global solution - is there a better way to do this?] The redirect remote examining rule is listed first in the check examining rulebook. Check examining (this is the redirect remote examining rule): if the stop recursive examining flag is 1: now the stop recursive examining flag is 0; continue the action; otherwise if noun is not a direction and (the location of the noun is not the location or the noun is enclosed by a closed opaque container which does not enclose the player): let the camera be a visual link between the player and the noun; if the camera is not nothing: if the stop recursive examining flag is 0: say "(via [the camera])"; now the stop recursive examining flag is 1; try examining the noun via the camera instead; otherwise: let the viewport be a viewport between the location and the location of the noun; if the viewport is not nothing: if the stop recursive examining flag is 0: say "(beyond [the viewport])"; now the stop recursive examining flag is 1; try examining the noun via the viewport instead; otherwise: if the stop recursive examining flag is 0: let the heading be the best route from the location to the location of the noun; if the heading is not nothing: say "(to [the heading])"; now the stop recursive examining flag is 1; try examining the noun from the location instead; otherwise: now the stop recursive examining flag is 0; continue the action; [Catch any stray flags left over from examining chains interrupted by instead rules.] After reading a command (this is the clear stray examination flags rule): now the stop recursive examining flag is 0; Examining it from is an action applying to two visible things. Check examining it from: if the second noun is not a room: stop the action; Carry out examining it from: try examining the noun; Examining it via is an action applying to two visible things. Check examining it via: if the second noun is not a door and the second noun is not sight-transmitting and the second noun is not sight-receiving: stop the action; Carry out examining it via: if the second noun is sight-transmitting and the counterpart of the second noun cannot see the noun: try examining the noun via the counterpart of the second noun; otherwise if the second noun is a door and the location of the second noun is not the location of the noun: try examining the noun via the reverse side of the second noun; otherwise: try examining the noun from the location; Examining from is examining remotely. Examining via is examining remotely. Examining via is observing via. Section 6 - Remotely Viewing Rooms Viewing is an action applying to one visible thing. Check viewing: if the noun is not a room: stop the action; The viewing medium is an object that varies. [hacky global solution for keeping track of what the player viewed via.] Carry out viewing (this is the standard viewing rule): if the viewing medium is sight-receiving: say "Via [the viewing medium], you can see [the noun]."; otherwise if the viewing medium is sight-transmitting: say "Via [the counterpart of the viewing medium], you can see [the noun]."; otherwise if the viewing medium is a door: say "Beyond [the viewing medium], you can see [the noun]."; otherwise: let the heading be the best route from the location to the noun; say "To [the heading], you see [the noun]."; [print a description or list visible contents here?] [Clear the viewing medium.] After reading a command (this is the clean up the viewing medium rule): now the viewing medium is nothing. Viewing it from is an action applying to two visible things. Check viewing it from: if the second noun is not a room: stop the action; Carry out viewing it from: if the viewing medium is nothing: now the viewing medium is the second noun; try viewing the noun; Viewing it via is an action applying to two visible things. Check viewing it via: if the second noun is not a door and the second noun is not sight-transmitting and the second noun is not sight-receiving: stop the action; Carry out viewing it via: if the viewing medium is nothing: now the viewing medium is the second noun; if the second noun is sight-receiving and the counterpart of the second noun cannot see the noun: try viewing the noun via the counterpart of the second noun; otherwise if the second noun is a door and the location of the second noun is not the noun: try viewing the noun via the reverse side of the second noun; otherwise: try viewing the noun from the location; Viewing from is viewing remotely. Viewing via is viewing remotely. Viewing via is observing via. Section 7 - Examining Directions, Viewports, and Sensory Connectors The connection-aware examine directions rule is listed instead of the examine directions rule in the carry out examining rulebook. Carry out examining (this is the connection-aware examine directions rule): if the noun is a direction: let the next room be the room noun of the location; if the next room is not nothing: let the viewport be a viewport between the location and the next room; if the viewport is not nothing: try viewing the next room via the viewport; otherwise: try viewing the next room from the location; now examine text printed is true; otherwise: abide by the examine directions rule; otherwise: abide by the examine directions rule; The examine doors rule is listed before the examine undescribed things rule in the carry out examining rulebook. Carry out examining (this is the examine doors rule): if the noun is a door and the noun is visually open and the reverse side of the noun is not nothing: let the next room be the location of the reverse side of the noun; try viewing the next room via the noun; now examine text printed is true; The examine visual connectors rule is listed before the examine undescribed things rule in the carry out examining rulebook. Carry out examining (this is the examine visual connectors rule): if the noun is sight-receiving and the counterpart of the noun is sight-transmitting: let the remote room be the location of the counterpart of the noun; try viewing the remote room via the noun; now examine text printed is true; Section 8 - Audibility To decide whether (the listener - a thing) can hear (the subject - a thing): if the subject is silent: decide no; if the location of the subject is nothing: decide no; if the listener is the subject: decide yes; repeat with the microphone running through sound-transmitting things enclosed by the location of the subject: if the microphone is not the listener and the microphone is not the subject: [prevent feedback loops] if the microphone can hear the subject and the subject is not aurally occluded from the microphone and the counterpart of the microphone is not nothing and the counterpart of the microphone is sound-receiving and the subject is not aurally occluded from the counterpart of the microphone and the location of the listener is the location of the counterpart of the microphone and the listener can hear the counterpart of the microphone: decide yes; repeat with the portal running through aurally open doors in the location of the subject: if the portal is not the listener and the portal is not the subject: [prevent feedback loops] if the portal can hear the subject and the subject is not aurally occluded from the portal and the reverse side of the portal is not nothing and the subject is not aurally occluded from the reverse side of the portal and the location of the listener is the location of the reverse side of the portal and the listener can hear the reverse side of the portal: decide yes; if the location of the listener is the location of the subject: if a closed soundproof container that encloses the listener does not enclose the subject: decide no; otherwise if a closed soundproof container that encloses the subject does not enclose the listener: decide no; otherwise: decide yes; otherwise if the location of the listener is aurally adjacent to the location of the subject: if a closed soundproof container encloses the listener or a closed soundproof container encloses the subject: decide no; otherwise: decide yes; otherwise: decide no; Definition: Something is audible rather than inaudible if the player can hear it. [Sometimes we need to know why a given listener can't hear something.] To decide what object is the nearest aural barrier between (the listener - a thing) and (the subject - a thing): let the first candidate be a random soundproof container that encloses the listener which does not enclose the subject; if the first candidate is not nothing, decide on the first candidate; let the second candidate be a sight-only viewport between the location of the listener and the location of the subject; if the second candidate is not nothing, decide on the second candidate; let the third candidate be a random soundproof container that encloses the subject; if the third candidate is not nothing, decide on the third candidate; decide on nothing; [This allows the player to listen to things they can only hear.] Before listening (this is the reset audibility flags before listening rule): now everything is not audible only; cache the scope for the player; After deciding the scope of the player while listening: repeat with the noisemaker running through noisy audible things: if the noisemaker is not marked visible: now the noisemaker is audible only; place the noisemaker in scope, but not its contents; Section 10 - Listening Check listening to (this is the must be able to hear in order to listen rule): if the noun is a room: continue the action; otherwise: if the actor can hear the noun: continue the action; otherwise: let the display be the visual-only link between the actor and the noun; if the display is not nothing and the player cannot see the counterpart of the display: say "(via [the display])[line break]You can't hear anything via [the display]."; rule fails; otherwise: let the barrier be the nearest aural barrier between the actor and the noun; if the barrier is not nothing: say "(through [the barrier])[line break]You can't hear anything through [the barrier]."; otherwise: say "You can't hear [the noun] from here."; rule fails; The listening to action has a truth state called listen to text printed. Carry out listening to (this is the standard listening to rule): if the noun provides the property aural description and the aural description of the noun is not "": say "[the aural description of the noun][line break]"; now listen to text printed is true. Carry out listening to (this is the print local sounds when listening to rooms rule): if the noun is a room: repeat with the noisemaker running through audible things enclosed by the noun: if the noisemaker provides the property ambient aural description and the ambient aural description of the noisemaker is not "": say "[the ambient aural description of the noisemaker][line break]"; now the listen to text printed is true; otherwise if the noisemaker provides the property sound and the sound of the noisemaker is not "": if the noisemaker is not audible only: say "From [the noisemaker], you hear [the sound of the noisemaker]."; otherwise: if a visible closed opaque container (called the enclosure) encloses the noisemaker: say "From [the enclosure], you hear [the sound of the noisemaker]."; otherwise: say "From somewhere close by, you hear [the sound of the noisemaker]."; now the listen to text printed is true; Carry out listening to (this is the print noisy sounds via aurally open doors when listening to rooms rule): if the noun is a room: let the noises be a list of texts; repeat with the portal running through audible aurally open doors enclosed by the noun: if the reverse side of the portal is not nothing: let the noises be {}; repeat with the noisemaker running through noisy audible things enclosed by the location of the reverse side of the portal: if the noisemaker provides the property sound and the sound of the noisemaker is not "": add the sound of the noisemaker to the noises; if the noises is not empty: say "Beyond [the portal], you hear [the noises]."; now the listen to text printed is true; Carry out listening to (this is the print noisy sounds in aurally adjacent rooms when listening to rooms rule): if the noun is a room: let the noises be a list of texts; repeat with the next room running through rooms which are aurally adjacent to the noun: let the noises be {}; repeat with the noisemaker running through noisy audible things enclosed by the next room: if the noisemaker provides the property sound and the sound of the noisemaker is not "": add the sound of the noisemaker to the noises; if the noises is not empty: let the heading be the best route from the noun to the next room; say "To [the heading], you hear [the noises]."; now the listen to text printed is true; Carry out listening to (this is the listen to aurally undescribed things rule): if the listen to text printed is false: issue library message listening to action number 1 for the noun. Section 11 - Listening From and Listening Via The stop recursive listening flag is a number that varies. The stop recursive listening flag is 0. [hacky global solution - is there a better way to do this?] The redirect remote listening rule is listed first in the check listening to rulebook. Check listening to (this is the redirect remote listening rule): if the stop recursive listening flag is 1: now the stop recursive listening flag is 0; continue the action; otherwise if noun is not a direction and (the location of the noun is not the location or the noun is enclosed by a closed soundproof container which does not enclose the player): let the microphone be an aural link between the player and the noun; if the microphone is not nothing: if the stop recursive listening flag is 0: say "(via [the microphone])"; now the stop recursive listening flag is 1; try listening to the noun via the microphone instead; otherwise: let the viewport be an aural viewport between the location and the location of the noun; if the viewport is not nothing: if the stop recursive listening flag is 0: say "(beyond [the viewport])"; now the stop recursive listening flag is 1; try listening to the noun via the viewport instead; otherwise: if the stop recursive listening flag is 0: let the heading be the best route from the location to the location of the noun; if the heading is not nothing: say "(to [the heading])"; now the stop recursive listening flag is 1; try listening to the noun from the location instead; otherwise: now the stop recursive listening flag is 0; continue the action; [Catch any stray flags left over from listening chains interrupted by instead rules.] After reading a command (this is the clear stray listening flags rule): now the stop recursive listening flag is 0; Listening to it from is an action applying to two visible things. Check listening to it from: if the second noun is not a room: stop the action; Carry out listening to it from: try listening to the noun; Listening to it via is an action applying to two visible things. Check listening to it via: if the second noun is not a door and the second noun is not sound-transmitting and the second noun is not sound-receiving: stop the action; Carry out listening to it via: if the second noun is sound-transmitting and the counterpart of the second noun cannot hear the noun: try listening to the noun via the counterpart of the second noun; otherwise if the second noun is a door and the location of the second noun is not the location of the noun: try listening to the noun via the reverse side of the second noun; otherwise: try listening to the noun from the location; Listening to from is listening remotely. Listening to via is listening remotely. Listening to via is observing via. Section 14 - Speaking and Conversing Check asking about (this is the must be able to converse when asking about rule): if the the actor can address the noun and the noun can respond to the actor: continue the action; otherwise: rule fails; Check telling about (this is the must be able to converse when telling about rule): if the actor can address the noun and the noun can respond to the actor: continue the action; otherwise: rule fails; Check showing to (this is the must be able to see and respond to show rule): if the second noun can see the noun: if the the second noun can respond to the actor: continue the action; otherwise: rule fails; otherwise: say "It's no good showing anything - [the second noun] can't see you from here."; rule fails; Before asking someone to try doing anything (this is the must be able to hear to accept requests rule): if the player can address the person asked: continue the action; otherwise: rule fails; To decide whether (the querent - a thing) can address (the listener - a thing): if the listener cannot hear the querent: let the barrier be the nearest aural barrier between the querent and the listener; if the barrier is not nothing: say "[The listener] can't hear [the querent] through [the barrier]."; otherwise: say "[The listener] can't hear [the querent] from here."; decide no; decide yes; To decide whether (the respondent - a thing) can respond to (the listener - a thing): if the listener cannot hear the respondent: let the barrier be the nearest aural barrier between the listener and the respondent; if the barrier is not nothing: say "[The listener] can't hear [the respondent]'s response through [the barrier]."; otherwise: say "[The listener] can't hear [the respondent]'s response from here."; decide no; decide yes; Section 13 - Modified Reaching Rules For Listening, Speaking and Conversing Listening to is hearing. Answering is speaking. Asking is speaking. Asking about is conversing. Telling about is conversing. The block listening rule is not listed in any rulebook. The block showing rule is not listed in any rulebook. The sense-aware can't reach inside closed containers rule is listed instead of the can't reach inside closed containers rule in the reaching inside rules. This is the sense-aware can't reach inside closed containers rule: if conversing: if the person reaching can hear the noun and the noun can hear the person reaching: allow access; otherwise if hearing: if the person reaching can hear the noun: allow access; otherwise if speaking: if the person reaching can hear the player: allow access; otherwise: abide by the can't reach inside closed containers rule; The sense-aware can't reach inside rooms rule is listed instead of the can't reach inside rooms rule in the reaching inside rules. This is the sense-aware can't reach inside rooms rule: if conversing: if the person reaching can hear the noun and the noun can hear the person reaching: allow access; otherwise if hearing: if the person reaching can hear the noun: allow access; otherwise if speaking: if the noun can hear the person reaching: allow access; otherwise: abide by the can't reach inside rooms rule; Section 14 - Revised Action Redirection for Deluxe Doors (in place of Section 2 - Latched Doors in Deluxe Doors by Emily Short) [Have to replace the whole section because the specific rule we need to fiddle with isn't named.] After deciding the scope of the player: repeat with questionable-door running through open doors in the location: if the questionable-door is a half-door of a door (called the far side): place the far side in scope. Does the player mean doing something with a door which is a half-door of a door in the location: it is very unlikely. Rule for clarifying the parser's choice of an open door which is a half-door of something: do nothing instead. Setting action variables: if not observing via: if the noun is a door which is a half-door of a door (called real target): if real target is in the location of the actor: now the noun is real target; if the second noun is a door which is a half-door of a door (called real target): if real target is in the location of the actor: now the second noun is real target; Rule for reaching inside a room when the particular possession is part of an open door (called target): if the target is a half-door of a touchable door, allow access. Section 15 - Misc [Make sure NPCs can see and hear via sensory connections as well.] Before a person (called the viewer) trying doing something: cache scope for the viewer. Section 99 - Sample Scenario The Main Hallway is a room. "A hallway with well-worn red carpets. A creaky staircase leads up to the attic. The kitchen is to the west." The rusty key is a thing in the Main Hallway. The lower creaky staircase is open, unopenable, always visually opaque scenery door. The lower creaky staircase is up from the Main Hallway. Through the lower creaky staircase is the Musty Attic. Understand "attic" and "stairs" as the lower creaky staircase. The printed name of the lower creaky staircase is "creaky staircase". The upper creaky staircase is an open, unopenable, always visually opaque scenery door. The upper creaky staircase is down from the Musty Attic. Through the upper creaky staircase is the Main Hallway. Understand "hallway" and "stairs" as the upper creaky staircase. The printed name of the upper creaky staircase is "creaky staircase". The upper creaky staircase is a half-door of the lower creaky staircase. The Musty Attic is a room. "This attic has likely never been cleaned. A thick layer of dust and cobwebs coats everything you can see. A creaky staircase leads back down to the main hallway." The cardboard box is a closed openable container in the Musty Attic. The antique music box is a noisy thing in the cardboard box. The sound of the antique music box is "soft, ethereal music". The aural description of the antique music box is "Soft, haunting music [if audible only]fills the air[otherwise]issues from the box's inner workings[end if]." Understand "ethereal" as the music box. The upper trap door is a closed locked scenery door. The upper trap door is down from the Main Hallway. Through the upper trap door is the Hidden Laboratory. Understand "trapdoor" as the upper trap door. The printed name of the upper trap door is "trap door". The rusty key unlocks the upper trap door. The lower trap door is a closed locked scenery door. The lower trap door is up from the Hidden Laboratory. Through the lower trap door is the Main Hallway. Understand "trapdoor" as the lower trap door. The printed name of the lower trap door is "trap door". The rusty key unlocks the lower trap door. The Hidden Laboratory is a room. "Strange apparati line every wall. The glass-walled, soundproof testing chamber stands in the middle of the room, along with its current occupants: Subject 42 and his favourite weighted cube. An intercom panel adorns one wall, with a wire running to a matching speaker in the test chamber." The soundproof glass testing chamber is a closed unopenable enterable transparent soundproof scenery container in the Hidden Laboratory. Understand "glass-walled" as the soundproof glass testing chamber. Subject 42 is a person. Subject 42 is in the soundproof glass testing chamber. Persuasion rule for asking Subject 42 to try doing something: persuasion succeeds. The weighted cube is a portable enterable supporter in the soundproof glass testing chamber. The intercom speaker is a scenery sound-receiving thing in the soundproof glass testing chamber. The intercom panel is a scenery device in the Hidden Laboratory. Carry out switching on the intercom panel: now the intercom panel is sound-transmitting. Carry out switching off the intercom panel: now the intercom panel is not sound-transmitting. The intercom speaker is sense-linked to the intercom panel. The Kitchen is a room. "Sometimes food is prepared here. A tasteless clock shaped like a cartoon cat hangs on the wall, ticking loudly. The main hallway is to the east, and a screen door looking out on the yard is to the west." The Kitchen is west of the Main Hallway. The Kitchen is visually adjacent to the Main Hallway. The Kitchen is aurally adjacent to the Main Hallway. Instead of viewing the Kitchen from the Main Hallway, say "The west end of the hallway opens up into your small, cramped kitchen. You can see your pereptually empty refrigerator from here." The tasteless clock is a noisy scenery thing in the Kitchen. The sound of the tasteless clock is "loud ticking". The refrigerator is a fixed in place closed container in the Kitchen. Understand "fridge" as the refrigerator. The interior screen door is a closed, openable, visually transparent, aurally transparent scenery door. The interior screen door is west of the Kitchen. Through the interior screen door is the Back Yard. The printed name of the interior screen door is "screen door". The exterior screen door is a closed, openable, visually transparent, aurally transparent scenery door. The exterior screen door is east of the Back Yard. Through the exterior screen door is the Kitchen. The printed name of the exterior screen door is "screen door". The exterior screen door is a half-door of the interior screen door. The Back Yard is a room. "Your lawn is perpetually in need of mowing." Rule for printing the name of the Back Yard while viewing: say "your perennially unmowed back yard"; The red ball is a thing in the Back Yard. The player is in the Main Hallway. The portable camera is a sight-transmitting thing. The portable screen is a sight-receiving thing. The portable camera is sense-linked to the portable screen. The portable camera and the portable screen are carried by the player. Instead of examining the portable camera via the portable camera, say "The portable camera can't see itself." Instead of examining via the portable camera, say "The resolution is too low to make out any details of [the noun]."