Story editor

A proposal for a graphical editor for Story and Dialog elements

Goals

 * Provide a graphical tool for creating and editing Story scripts for the Story engine
 * Improve workflow over text base editing of the scripts
 * Provide a visualization of the connections and dependencies of the Story

Overview
The editor will be written in python using the wxPython gui library. Initially it will provide two main pieces of functionality.
 * A UML style dependency graph which will show the connections and inter-dependencies of the different story elements. The graph will be movable and connections between different elements will be able to be created and removed in this view.
 * An editor window in which you can create and edit individual story elements. There will be two views in this editor window.
 * The first is a simple text view in which raw scripts can be written. Once the format is concrete this should be able to provide code completion, syntax highlighting, and syntax checking.
 * The second view will be a graphically oriented editor. Dropdown menus will show the various script options and, as options are selected, new dropdowns will be added for the new variables.

Implementation
The script editing portion should be able to make use of the same library for reading and writing scripts that the game engine will use. Since this library does not yet exist it will probably become part of the development cycle. The editor should be able to read map files and enumerate the various objects so that their names and properties can be used in both code completion and can appear in the dropdown menus. Syntax checking should be provided by the script parser.

RoadMap
Since there is not a lot of code existing for the Story Engine some of that needs to be done. We need a grammar for the language and at least the beginnings of the library. Much of the framework of the editor can be written without this, however.