# Understand positions

> What a position represents in Buttons, how surfaces fit into it, and how the editor stays separate from the live workspace.

A position is one person's complete operating workspace in Buttons. Use positions to coordinate the surfaces at each physical operating position while keeping that person's controls, navigation, actions, and state separate from other positions. What a position represents A position represents where one person works, not a room, device, or user account. Examples include a sound position, graphics position, shading position, or production desk. Each position provides an independent workspace. This allows several people to use the same Buttons system without their navigation or position state interfering with one another. How surfaces fit into a position A surface is one interface to a position, such as a hardware panel, browser session, or iPad. A position can combine several surfaces and arrange them as one workspace. For example, a sound position might use: A hardware panel beside the mixer for frequently used controls. A browser on the workstation for a larger overview. An iPad for controls needed elsewhere in the room. These are three interfaces to the same sound position, not three separate positions. Arrange the surfaces on the position canvas to reflect how they are arranged in the real world. Where surface areas overlap on the canvas, they can expose the same controls. This lets two interfaces provide access to a shared control without maintaining separate copies. What belongs to a position A position brings together: Its assigned surfaces and their arrangement. Sections and controls placed on its canvas. Navigation state used across those surfaces. Position variable values. Position variable definitions are available across positions, but each position maintains its own current and initial values. A shared section can therefore use the value belonging to the position where it appears. Use a shared section when controls should be maintained centrally and reused across positions. Use separate position controls when their behavior or state belongs only to one person's workspace. The editor is separate from the live position The position editor provides a separate workspace for designing and testing a position without moving the live surfaces through the editor's navigation and local state. Layout and configuration changes remain in the editor until you select Apply . The editor also maintains its own runtime state while you test controls. Opening a popover, changing a page, advancing an action step, or changing a local value in the editor does not automatically move the live position to the same state. When the tested state should become the live state, open the editor's actions menu and select Push State to Live . This sends the editor's current runtime state to the live position and its surfaces. It does not replace Apply , which saves layout and configuration changes. Warning Editor isolation does not make actions harmless. Holding Shift and pressing a control enters Execute Mode and performs that control's actions against connected equipment or software. Treat an editor test like a press on a live surface: check the selected control and its operational consequences first. Example: separate sound and graphics workspaces A sound operator and graphics operator can work in the same production through separate positions: The sound position combines a panel, browser, and iPad with mixer controls and audio state. The graphics position contains playback and graphics controls on its own surfaces. Each person can navigate and change position state without moving the other person's workspace. Centrally maintained controls needed by both positions can come from a shared section. This separation keeps each workspace focused while allowing the positions to control the same connected production systems where appropriate. Choose the right structure Create another surface when one person needs an additional interface to the same workspace. Create another position when another person needs an independent workspace, navigation, controls, or position state. Create a shared section when several positions need the same centrally maintained controls. Where to go next Create a position and arrange its canvas. Add or adopt a surface and assign it to the position. Create sections and controls for the work that happens there.
