openmct/platform/features/timeline
Pete Richards ed09214f59 [Build] Save stylesheets to proper location
Updates the stylesheet task to output CSS in the correct locations. Remove
config.rb for running compass manually, and remove compiled css files from
project.  Add a .gitignore to ensure they don't get included accidentally.

Add a gulp task for running the development server and watching for scss
changes at the same time.

resolves https://github.com/nasa/openmctweb/issues/238
2016-02-19 13:26:20 -08:00
..
res [Build] Save stylesheets to proper location 2016-02-19 13:26:20 -08:00
src [New Edit Mode] #659 Fix to prevent multi-composition with same object, fix to prevent composition of object with self 2016-02-10 16:43:08 -08:00
test [New Edit Mode] #659 Fix to prevent multi-composition with same object, fix to prevent composition of object with self 2016-02-10 16:43:08 -08:00
bundle.js Regenerated bundles 2016-01-14 17:08:19 -08:00
README.md [Timeline] Remove namespacing from README 2015-10-23 13:45:54 -07:00

This bundle provides the Timeline domain object type, as well as other associated domain object types and relevant views.

Implementation notes

Model Properties

The properties below record properties relevant to using and understanding timelines based on their JSON representation. Additional common properties, such as modified or persisted timestamps, may also be present.

Timeline Model

A timeline's model looks like:

{
    "type": "timeline",
    "start": {
        "timestamp": <number> (milliseconds since epoch),
        "epoch": <string> (currently, always "SET")
    },
    "capacity": <number> (optional; battery capacity in watt-hours)
    "composition": <string[]> (array of identifiers for contained objects)
}

The identifiers in a timeline's composition field should refer to other Timeline objects, or to Activity objects.

Activity Model

An activity's model looks like:

{
    "type": "activity",
    "start": {
        "timestamp": <number> (milliseconds since epoch),
        "epoch": <string> (currently, always "SET")
    },
    "duration": {
        "timestamp": <number> (duration of this activity, in milliseconds)
        "epoch": "SET" (this is ignored)
    },
    "relationships": {
        "modes": <string[]> (array of applicable Activity Mode ids)
    },
    "link": <string> (optional; URL linking to associated external resource)
    "composition": <string[]> (array of identifiers for contained objects)
}

The identifiers in a timeline's composition field should only refer to other Activity objects.

Activity Mode Model

An activity mode's model looks like:

{
    "type": "mode",
    "resources": {
        "comms": <number> (communications utilization, in Kbps)
        "power": <number> (power utilization, in watts)
    }
}