Changes between Initial Version and Version 1 of 2014-12-10


Ignore:
Timestamp:
Dec 11, 2014, 10:53:16 AM (11 years ago)
Author:
Conrad Huang
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2014-12-10

    v1 v1  
     1 10 December 2014 meeting, 2:00 - 3:00
     2
     3Attendees
     4 * Conrad, TomG, Eric, Greg
     5
     6Agenda
     7 * Data event and trigger API
     8  * We agreed that the Chimera 1 trigger API will be ported over with minor changes:
     9   * No trigger name required when deregistering handler
     10   * No closure argument when registering handler
     11  * Data event API will need to be accessible from both C++ and Python.  Primary example is if we expose atomic coordinates as a '''numpy''' array; if someone manipulates the coordinates from Python, he will need to create atom notifications manually.
     12  * UI events are completely decoupled from triggers and data events.  We may add a safety net where we check for non-empty data event queue during redraw.  We may add API for indicating whether a notification should be synchronous or not, so that we can check in the safety net whether something really bad has happened.
     13  * Neither triggers nor data events (aka notifications) are absolutely needed for the Feb 2 deadline, so we will add proposed API and then move on
     14 * Build infrastructure
     15  * While trying to install toolshed, Conrad discovered some inconsistencies in source code arrangement
     16  * We will use the following rules:
     17   * Directories containing either Python or C++ code that generate Python modules/packages will not have any special suffix
     18   * Directories containing C++ code that generate C++ link libraries (.dylib on Mac, .dll on Windows) will have a "_cpp" suffix.
     19   * Python packages that need a supporting C++ module will be arranged with the Python package as the parent directory (e.g., "geometry") and the C++ module as a child directory (e.g., "_geometry").  The intent is that there should be a {{{from _geometry import *}}} statement in '''geometry/!__init!__.py''' and that callers of the '''geometry''' package does not ever know about the presences of '''geometry._geometry'''.
     20   * All C++ link libraries will be installed in the same directory in the build and install trees to facilitate installation.
     21   * All C++ Python modules will be installed in '''site-packages/chimera''' in the same way as pure Python packages and modules.
     22   * If a C++ Python module also wants a C++ link library, then the source tree should look something like:
     23    * module_name - container directory
     24    * module_name/module_name - C++ Python module
     25    * module_name/module_name_cpp - C++ link library
     26   * The '''Makefile''' in the container directory should indicate that '''module_name/module_name''' depends on '''module_name/module_name_cpp'''.
     27
     28Next Meeting
     29 * February 2 demo details
     30
     31Action Items
     32 * How are we going to handle REST (getting responses from REST)
     33 * Greg will convert all of '''chimera.core''' to the source tree naming conventions.