Software for designing interior and/or exterior spaces efficiently ensures
that user intent is captured in a timely, practical manner. When a user
creates an input, such as selecting a shape of a table to put into a
design space, the design software creates an initial object that is
managed as part of a data structure. Generally, the initial object
includes a type element having one or more options. Program code in the
created initial object determines an appropriate option based on any
number of factors including, but not limited to, elements of the user's
original input. A subsequent child object with a set of independent
program code is also created, which has as its type the option determined
from the previous initial object. The subsequent object also determines
its options based on attributes of the user's input, and creates any
additional child objects where appropriate.