Part V — Continuity Engineering: Character, Space, Action
Chapter 24. Scene Geography and the Eyeline System#
In this chapter
24.1 The audience builds a map in their heads#
Even in vertical framing dominated by close-ups, viewers infer where people are relative to each other. If the door is behind Lin Yun in one shot and suddenly behind Lin Wei in the next, or if both sides of a reverse look toward frame right, the audience senses the two are not facing each other.
An AI has no memory of the previous shot's implied space. Location geometry, character coordinates, the axis, screen direction and eyelines all have to be maintained explicitly.
24.2 Start with a floor plan#
Build simplified coordinates for each principal location. Precise 3D is unnecessary; fixing north, doors, windows, the table, the screen and the activity zones is not.
spatial_setup:
location: LOC_BOARDROOM_DAY
coordinate_system: origin_at_table_center
anchors:
door: [4, 0]
screen: [0, -3]
window: [0, 3]
characters:
CH_LINYUN: [3, 0.8]
CH_LINWEI: [1, -0.8]
CH_ZHOULAN: [-2, 0]
primary_axis: CH_LINYUN_to_CH_LINWEI
camera_side: south_of_axis
The coordinates exist for consistency; prompts need not expose the numbers. The system compiles them into "Lin Yun by the door, Lin Wei on the right of the table."
24.3 The 180-degree axis#
When two people face each other, the imaginary line joining them forms the action axis. Keep the camera on one side of it, and Lin Yun consistently looks toward frame right in the reverses while Lin Wei looks toward frame left — which is how the audience understands they are looking at each other.

Figure 24-1 The plan above defines the line joining the characters as the action axis and places camera positions A, B and C in the same legal area. Below, the forward angle looks frame right, the reverse looks frame left, and a two-shot re-confirms the relationship.
When generating with AI, do not describe those three frames merely as "profile of a character." Every shot task must reference the same floor plan, world coordinates, camera zone and eyeline target. If you must cross the axis, first generate a neutral two-shot, a character move, or a camera move through the line, so the audience sees the spatial rule change.
Crossing to the other side swaps screen direction. Crossing the axis is not forbidden, but it must be seen: a moving shot through the line, a neutral shot on the axis, a wide that re-establishes, or a visible change in where people stand.
AI shot design is most prone to generating attractive reverses independently while ignoring
direction. Every storyboard row must store screen_direction and eyeline_target.
24.4 Screen position is not a character's identity#
"The lead is always on the left" is not a rule. Screen position follows the current axis and the blocking. Characters may swap after one walks past the other or the camera crosses — with a visible transition.
Record both world position and screen position. World position says where she is; screen position says how this frame is composed. Storing only frame-left or frame-right makes the next camera position underivable.
24.5 Eyeline matching#
An eyeline needs direction, height and a sense of distance. A seated person looking at someone standing looks slightly up. Looking at a document on the table is downward. Focus on a distant screen differs from focus on a phone in the hand.
eyeline:
source: CH_LINYUN
target: CH_LINWEI
world_vector: southwest
screen_direction: right
vertical_angle: level
distance: 2.3m
If the eyeline in a reaction shot is off, the character appears to be looking at a third person outside the frame. Write the target direction into the pose when generating the keyframe, rather than writing only "looking at the antagonist."
24.6 What an establishing shot is for#
An establishing shot is not expensive decoration. It lets the audience see the space, the number of people and the axis. Afterwards you can run many close-ups without anyone getting lost.
A vertical establishing shot can be short and partial: from the door side, taking in the long table and the screen. There is no need for a sweeping horizontal wide. Re-establish after significant position changes, after someone enters, after crossing the axis, or after the location state changes.
24.7 Continuous backgrounds in shot and reverse#
Forward and reverse angles should see background anchors consistent with the map. Behind Lin Yun are the door and the stone wall; behind Lin Wei is the edge of the screen. Both cannot be generated against the same window.
Store a background template and key light direction for each camera zone. A reverse is not the first image flipped horizontally — that mirrors text, the mole, costume buttons and lighting along with it.
24.8 How movement updates space#
Standing, walking around the table, approaching the door and swapping seats are all spatial events. Each event records origin, path, destination and whether it crossed the axis.
spatial_event:
id: MOVE_E001_S12
character: CH_LINYUN
from_zone: door_zone
to_zone: screen_zone
path: table_south_side
crosses_primary_axis: false
visible_in: [E001_S11, E001_S12]
new_screen_relation: Lin Yun is closer to frame center and to the evidence screen
The next shot reads the new position; it cannot leave her at the door.
24.9 Scenes with multiple axes#
Three or more people produce several relationship axes. Choose the axis that currently carries the drama and emphasize it with camera and blocking. When Zhou Lan joins, the primary axis can move from Lin Yun–Lin Wei to Lin Yun–Zhou Lan; complete the shift with Zhou Lan walking to the head of the table and one three-person wide.
Do not let everyone look in a different direction simultaneously. Assign a center of attention per beat.
24.10 Doors, mirrors and screens#
Doors determine the direction of entry. Mirrors create virtual space and reflected identity. Screens are both a location anchor and a proof object. AI fails easily on mirrored text and reflections, so important mirror work should be composited in layers or kept free of complex motion.
When a character looks at a screen, the screen content and the facial reaction can be separate shots — but the eyeline height must match where the screen actually is.
24.11 Repairing spatial errors#
Slightly unclear direction can be fixed with an inserted location anchor, a hand shot or an evidence shot. A jump in position can use an acceptable time elision and a sound bridge, provided it does not conceal a key action. An axis error can be fixed by regenerating one side of the reverse, adding a neutral shot, or letting the character visibly move.
Horizontal flipping is the last resort and requires checking facial markers, costume, text, handedness and lighting. Most of the time regenerating is safer than correcting every mirrored error.
24.12 SOP for spatial continuity#
First, build the location plan and orientation. Second, place characters and key props. Third, choose the primary axis and camera side. Fourth, record world position, screen position and eyeline per character. Fifth, design the establishing shot. Sixth, write a spatial event for any movement. Seventh, use a visible re-establishment for axis changes. Eighth, check backgrounds and lighting across shot and reverse. Ninth, watch the rough cut silent and confirm the space is comprehensible.
24.13 Fault tree#
Symptom: shot and reverse look like two people facing the same way. Screen direction is not locked to the axis. Regenerate one side or re-establish the axis.
Symptom: the background changes at every cut. There are no camera zone background templates. Reference the empty plates and fixed anchors.
Symptom: a character jumps from the door to the screen. A spatial event is missing. Add the move, or acknowledge the time elision and re-establish the space.
Symptom: after flipping, the face looks right and text and the mole are wrong. The mirror repair was not fully audited. Regenerate, or composite each element separately.
Symptom: multi-person dialogue gets progressively more confusing. Several unmanaged axes coexist. Choose a primary axis and a center of attention per beat.
24.14 Checklist, exercises and deliverables#
Check that locations have orientation; that characters have world coordinates; that the primary axis and camera side are recorded; that shot and reverse eyelines oppose; that background anchors are plausible; that movement has events; that axis crossings are seen; that horizontal flips are audited; and that a map can be drawn from the silent rough cut.
Exercise one: draw the boardroom plan and design a six-shot shot/reverse sequence. Exercise two: cross the axis deliberately and repair it three different ways. Exercise three: mark the switch between two primary axes in a three-person scene. Exercise four: assess whether a piece of footage can safely be flipped horizontally.
Deliverables for this chapter: the spatial setup, the axis map, camera zones, the eyeline ledger, spatial events, the establishing shot pack, and the spatial continuity review report.
24.15 Establish unified world coordinates, not just left and right#
"Lin Yun on the left, Lin Wei on the right" holds only for one camera position. Define world coordinates for the location first: the origin at the center of the long table, the screen to the north, the door to the east. Character positions are stored as zones and approximate coordinates, and the camera then projects world position into screen position. Move to the reverse and frame left and right swap; the door, the table and the relationships in the world do not.
Production does not need previsualization-grade precision, but it does need stable anchors. Mark the door, screen, head seat, window and key props as immovable; ordinary chairs can carry a small tolerance. Each camera zone stores orientation, visible background, permitted focal lengths and which side of the axis it sits on. Shot prompts are compiled from that data into "Lin Yun frame right, eyeline up and to the left, the east door edge visible behind" — rather than the shot designer repeating a description from memory.
camera_zone:
id: CAM_MEETING_SOUTH_A
world_position: [0.8, -4.2, 1.55]
look_at: [0.2, 0.4, 1.35]
axis_side: south
visible_anchors: [north_screen, east_door_edge]
screen_projection:
CH_LINYUN: right
CH_LINWEI: left
forbidden: [show_west_window_as_background]
24.16 An eyeline is not "look left" — it is looking at a target#
The eyeline ledger records the observer, the target, the target's height and the camera position. Looking at a seated person, a wall screen, a phone or a doorway all produce different eye and head angles. A prompt to look toward frame left breaks the moment the camera moves; a prompt to look at a screen to the north, twenty centimeters above eye height, can be converted by the shot compiler.
Reviewing shot and reverse, first check whether the two eyelines oppose across the axis, then whether the vertical angles match the heights. Lin Yun standing and Zhou Lan seated means Lin Yun looks slightly down and Zhou Lan slightly up; if both are level, the space reads as separately shot. Over-the-shoulder foregrounds supply scale evidence too: the background person's eyeline should land at a plausible point relative to the foreground head.
When the target is off screen, create an eyeline target rather than guessing per shot. A character looking at a phone, raising her eyes to the screen, then turning to Lin Wei is a chain of action between three visible targets. Each change of target needs a head turn or a cut; eyelines may not jump without an event.
24.17 Location versions and change management#
AI assets tend to get "improved" during production: the door becomes a floor-to-ceiling window, the table grows longer, the screen migrates to whichever side composes better. Each shot looks like an upgrade and continuity breaks. Locations need version numbers and change requests too. When an immovable anchor changes, the system lists every keyframe, shot, eyeline and movement path depending on that location version.
Acceptable changes include state changes caused by story events — a chair knocked over, glass broken, the screen losing power. Those create a location state, not a new location. Structural changes are an asset version. Confusing the two lets the next shot reference an old location with intact glass while keeping the new state with debris on the floor.
Location plates should include at least a person-free master view, the principal reverse directions, key corners and special lighting versions. Plates are not finished footage; they help the model hold architectural structure, help compositing build backgrounds, and help review detect anchor drift. Any new camera position that cannot be explained from the location map means updating the map before generating.
24.18 A spatial acceptance sheet for one shot/reverse sequence#
Take Lin Yun and Lin Wei confronting each other across the table. The master confirms both people, the table edge and the screen. Lin Yun's close-up should have the door-side stone wall behind her, with her eyeline to frame left. Lin Wei's close-up should have the screen edge behind her, eyeline to frame right. In the document insert, the top of the document points toward the screen to the north. Returning to the master, the seats and the document's position are unchanged.
Review cannot only ask, shot by shot, whether each frame looks good. Compare across: are background anchors complementary rather than duplicated; do the eyelines oppose; does camera height explain the vertical angles; do the table's lines support one space; is the document's orientation consistent. Even when a close-up background is fully defocused, keep one comparable piece of information — key light direction, or shoulder orientation.
Silent playback remains one of the most effective spatial tests. With the dialogue off, can an unfamiliar reviewer say who is by the door, who is near the screen, who controls the document, and whether anyone has moved? If position has to be explained by a line, the spatial design does not yet hold.
A note on sources#
AI shot design tutorials emphasize shot/reverse, over-the-shoulder framing and changing camera positions — but without a location map and axis state those remain isolated shot vocabulary. This chapter converts traditional spatial grammar into data that can be stored.