Orca's O and X operators read and write cells at an (x,y) offset from themselves
Projector operators let an Orca patch touch cells other than its immediate neighbours by an (x,y) offset. O (read) retrieves the character sitting at an offset from its own position: 22O reads the operator two cells east and two south. X (write) does the inverse, placing a character at an offset: 22XE writes an E two cells east and two south. Because these operators can address arbitrary grid locations, they are the basis of self-modifying and generative patches — a patch can write new operators into empty space at runtime. They contrast with the direct-neighbour dataflow of arithmetic operators.
Examples
22O… ..E..H …E → O reads the E at offset (2,2)
22XE. … … …E → X writes an E at offset (2,2)
Assessment
Given 22O at the top-left, which cell does it read? Rewrite it as an X that writes a G to that same cell. What makes O/X different from operators like A (add)?