Tech/LxEngine/Design Goals

Design Goals

 * Precise, testable conditions on precision (e.g. collisions are accurate to at least 1/1000 of a unit for two objects of 1000 units in scale)
 * MVC model
 * Loosely coupled components, allowing reuse of individual parts without the whole system
 * Coding by convention to avoid large configuration
 * Live testing mode (automatically reload resources, scripts, etc.)
 * Instructive defaults (aimed at the developer to help fill in missing pieces)
 * Transaction based, with revision history and rollback
 * Clear delineation between transient and persistent transactions
 * Write it once: no duplication
 * Domain Specific Languages
 * Unit test everything
 * Benchmark everything
 * Person (not machine) friendly developement (e.g. names rather than guids when appropriate)
 * Procedural generation of content rather than explicit boundaries
 * Incremental, not from-scratch development

Adding Document-specific Components needs to happen after the Document is loaded
Response: This is a problem that needs to be fixed. There should be a means to register Document Component types to specific Document types. During the loading of the XML, the Document type should be read as soon as possible - and then the registered Document Components should be added to the Document, thus receiving all Element add notifications. --Arthur 23:23, 30 June 2011 (CDT)