\newpage
\section{Design philosophy}

     The philosophy of \NEWOL\ is really very simple---design simple
geometry cells as quickly and painlessly as possible, and then connect
these cells up with a simple composition system.  Composition is done by
abutment, which means that the user better be careful about how wires
connect!!

     The \NEWOL\ system has two different types of cells that it deals with
- geometry and composition.  Geometry cells\index{geometry cells} only
contain wires, cuts and other geometrical data.  Therefore, all geometry is
represented on the screen by boxes.  The color of the box (see sec.  3b)
determines what layer the wire is.  These colors can be set by the user,
and 16 different colors are available.

     The second type of cell is a composition cell.  The contents of a
composition cell\index{composition cells} are other cells.  A composition
cell can be made up of any combination of geometry cells and composition
cells.  These cells can be rotated, mirrored, and translated any way you
see fit.  This allows for a very natural, hierarchical composition, which
is what you want for large, complicated cells.

     The \NEWOL\ system differentiates between the two types of cells at
every level.  All operations are done on only one type of cell at a time.
Furthermore, certain operations apply to only one type of cell. 

     Design in the \NEWOL\ system is done by a method of
\index{buffer}buffers.  At all times while running \NEWOL, there are two
main buffers available to the user.  One is a geometry buffer, and the
other is a composition buffer.  They are named \lower
.5ex\hbox{*}GEOM\lower .5ex\hbox{*} and \lower .5ex\hbox{*}COMP\lower
.5ex\hbox{*} respectively.  All editing functions are performed on one of
these two buffers, and they are the only graphical interface the user has
to all of \NEWOL's memory.

     While very important, these two buffers are not the entirety of
\NEWOL's world.  Far from it!!  \NEWOL\ can have loaded at any time as many
cells as the user desires (within memory limits, of course).  These cells
can be used for composition, and also may be edited themselves.  The
important thing to realize is that to edit a known cell, the cell must
first be copied to the main buffer.  After the editing, the changed cell
can be saved back under the desired name.  {\em All editing is done on one
of the main buffers!!!}

     Enough of this, however, now on to how to use the system!

\subsection{\NEWOL's graphics}

   A large measure of the popularity that \NEWOL\ has enjoyed is
attributable directly to the fast response of the system, which in turn is
largely due to fast graphics.  \NEWOL\ permits several \putindex{display
styles}, including outline graphics, filled-box graphics, and several
specialized modes.  These styles are selected by pressing the TAB key on
the keyboard, at any time.  This command mechanism is an example of
\putindex{keyboard commands}; other such commands are described later.


