Revision: 76206
          http://sourceforge.net/p/brlcad/code/76206
Author:   brlcad
Date:     2020-06-25 21:11:53 +0000 (Thu, 25 Jun 2020)
Log Message:
-----------
give libged it's own readme so some design thoughts, intention, and framing can 
be preserved

Modified Paths:
--------------
    brlcad/trunk/src/libged/CMakeLists.txt

Added Paths:
-----------
    brlcad/trunk/src/libged/README

Modified: brlcad/trunk/src/libged/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/libged/CMakeLists.txt      2020-06-25 21:03:59 UTC (rev 
76205)
+++ brlcad/trunk/src/libged/CMakeLists.txt      2020-06-25 21:11:53 UTC (rev 
76206)
@@ -420,6 +420,7 @@
 
 set(ged_ignore_files
   CMakeLists.txt
+  README
   TODO
   alphanum.h
   bot/ged_bot.h

Added: brlcad/trunk/src/libged/README
===================================================================
--- brlcad/trunk/src/libged/README                              (rev 0)
+++ brlcad/trunk/src/libged/README      2020-06-25 21:11:53 UTC (rev 76206)
@@ -0,0 +1,40 @@
+BRL-CAD's Geometry Editing Command Library (LIBGED)
+===================================================
+
+By design, LIBGED is intended to be a simple command interface upon
+which GED-style applications, utilities, and scripting may be built.
+Commands may be invoked directly via C bindings or indirectly via
+scripting languages such as Python, Tcl, Shell, etc., that are bound
+to LIBGED.  The command interface is intentionally stateless, though
+applications can specify some information (e.g., objects and views)
+via a ged context structure that is passed to all commands.
+
+The longer-term but not-yet-realized goals of the library include
+modular self-documenting encapsulation, versioning, and transactions.
+
+LIBGED has a design objective to present fewer than 100 top-level
+commands using a consistent "{action} [args]" command pattern for all
+processing commands and "{obj_type} {action} [args]" for commands
+specific to an object type.
+
+For development, the following guidelines are recommended best
+practice for consistency and uniformity.
+
+1. Usability first.  Helps to develop UI before doing implementation.
+
+2. If something doesn't work well, deprecate, replace, and/or retire.
+
+3. Maintainable means high cohesion, low coupling, & quick to modify.
+
+4. All commands must be documented.  Docs help with scope and design.
+
+5. Take features to completion, not perfection.  Iterate on feedback.
+
+6. Coding solo can be satisfying, but often results in design poison.
+
+7. Reduce, Reuse, Refactor; leverage existing; push duplication down.
+
+Per ISO 9126-1, development priorities SHOULD typically be:
+Usability > Reliability > Maintainability > Functionality > Efficiency
+
+See TODO and include/ged.h for additional notes on LIBGED's design.


Property changes on: brlcad/trunk/src/libged/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to