7. The method of claim 1 , wherein the declarative model data is divided into chunks based on corresponding portions of a UI tree.
1. At a computer system that includes one or more processors and system memory, a method for providing a real-time incremental editor for enacting changes to user interface (UI) elements of an active UI, the method comprising: an act of the computer system presenting a first UI of an executing application program based on a UI model that includes declarative model data that drives the behavior of the first UI, the first UI including a plurality of UI elements, the UI model including particular declarative model data that declaratively defines a visual appearance of the plurality of UI elements of the first UI, each of the plurality of UI elements being an instance of the particular declarative model data; an-act of the computer system visually indicating a state of the first UI, including visually indicating within the first UI that a particular UI element of the plurality of UI elements has been selected by a user at the first UI; concurrent to presenting the first UI of the application program, and concurrent to visually indicating within the first UI that the particular UI element has been selected by a user: an act of the computer system presenting a second UI of a real-time incremental editor that is separate from the application program and that is configured to receive one or more editing inputs that are to be applied to the particular declarative model data of the UI model, to edit the first UI of the application program while the application program is executing; an act of the computer system receiving a first editing user input at the second UI of the real-time incremental editor, the first editing input selecting the particular declarative model data that declaratively defines the plurality of UI elements; based on selection of the particular declarative model data within the real-time incremental editor, visually distinguishing each of the plurality of UI elements, including the particular UI element, within the first UI as being selected at the second UI of the real-time incremental editor, while also visually indicating within the first UI that the particular UI element has been selected at the first UI; an act of the computer system receiving a second editing user input at the second UI of the real-time incremental editor, the second editing input indicating one or more desired edits that are to be made to the plurality of UI elements that affect the visual appearance of the plurality of UI elements within the first UI; an act of the computer system determining, based on the received editing input, one or more changes that are to be made to the particular declarative model data corresponding to the plurality of UI elements in order to enact the one or more desired edits to each of the plurality of UI elements; and an act of the computer system updating the first UI to reflect the one or more desired edits to the plurality of UI elements, including: preserving the state of the first UI to reflect the user selection of the particular UI element by continuing to visually indicate that the particular UI element has been selected by the user; and concurrent to continuing to visually indicate that the particular UI element has been selected by the user, altering the visual appearance of each of the plurality of UI elements, including the particular UI element, based on the one or more changes to the particular declarative model data corresponding to the plurality of UI elements.