Skip to content

Debrief Maritime Analysis Schemas

LinkML schemas for Debrief v4.x maritime tactical analysis platform. Defines GeoJSON profile extensions for tracks and reference locations. This is a tracer bullet implementation covering core entity types.

URI: https://debrief.info/schemas/debrief

Name: debrief

The schemas below see the most use across the Debrief codebase. Start here for a quick tour; the full alphabetical tree is below.

Plot features (GeoJSON)

These classes define what actually gets drawn on the map and persisted in a STAC item's GeoJSON payload.

Analysis tooling

Metadata that describes the analysis tools exposed by debrief-calc and their inputs.

  • Tool — analysis operation with name, version, selection requirements
  • ToolParameter — typed parameter declaration (string / number / bool / enum)
  • SelectionRequirement — feature-kind and cardinality constraints

Provenance and replay

Every transformation records lineage so it can be replayed — these classes capture that chain.

Session state (live plot)

The shape of the in-memory state a VS Code / web-shell session exposes to the rest of the app.

Catalog and platform metadata

How Debrief identifies vessels and discovers their metadata from STAC catalogs.

  • PlatformRecord — resolved metadata for a single platform (ship, aircraft, etc.)
  • BranchRecord — reference to a branched plot in the STAC catalog

Styling


Classes

Class Description
BaseFeatureProperties Abstract base for all GeoJSON feature properties classes
        CircleAnnotationProperties Properties for a CircleAnnotation
        LineAnnotationProperties Properties for a LineAnnotation
        MultiPointFeatureProperties Properties for a MultiPointFeature (multi-point tool results)
        MultiPolygonFeatureProperties Properties for a MultiPolygonFeature (multi-polygon tool results)
        NarrativeEntryProperties Properties for a NarrativeEntry annotation
        PolyAnnotationProperties Properties for a PolyAnnotation
        RectangleAnnotationProperties Properties for a RectangleAnnotation
        ReferenceLocationProperties Properties for a ReferenceLocation
        TextAnnotationProperties Properties for a TextAnnotation
        TrackProperties Properties for a TrackFeature
        VectorAnnotationProperties Properties for a VectorAnnotation
BranchOrigin Reverse link on a branch plot's system record, pointing to the source plot
BranchRecord Reference to a branched plot
BrowserFilterSlice Multi-axis filter state for the STAC browser panel
CircleAnnotation GeoJSON Feature for circle annotations
Coordinate A geographic coordinate [longitude, latitude]
DatasetAxisMetadata Axis label and type metadata for a dataset chart
DatasetDataPoint A single structured data record within a series or flat dataset
DatasetEntry Standard envelope for all tool result datasets, matching the runtime DatasetE...
DatasetMetadata Chart metadata for a dataset entry
DatasetSeries A named data series within a multi-series dataset
DocumentSlice Editor lifecycle state including dirty tracking and undo history
FeatureSelection Set of selected feature identifiers with metadata (FR-017)
FeaturesSlice Feature selection and visibility state
FileProvEntry File-level provenance event (snapshot or branch creation)
GeoJSONEmptyPoint GeoJSON Point geometry with empty coordinates (for non-spatial features)
GeoJSONFeature GeoJSON Feature representation used for tool result layers
GeoJSONGeometry GeoJSON geometry object (type + coordinates pair)
GeoJSONLineString GeoJSON LineString geometry
GeoJSONMultiLineString GeoJSON MultiLineString geometry for compound tracks
GeoJSONMultiPoint GeoJSON MultiPoint geometry for reference point sets
GeoJSONMultiPolygon GeoJSON MultiPolygon geometry for multi-polygon tool results
GeoJSONPoint GeoJSON Point geometry
GeoJSONPolygon GeoJSON Polygon geometry
InputFeatureState Pre-operation state of a feature captured before a coordinate-mutating tool e...
LastToolExecution Record of the last tool execution, enabling single-step undo
LevelDefinition Named nesting level within a feature hierarchy (Feature 053, FR-010)
LineAnnotation GeoJSON Feature for line segment annotations
LineProperties Styling schema for LineString and MultiLineString geometries
LogEntry A PROV-aligned provenance record stored on GeoJSON features
MeasuredArrayPosition Timestamped geographic position of a towed array centre
MultiPointFeature GeoJSON Feature for multi-point tool results
MultiPolygonFeature GeoJSON Feature for multi-polygon tool results
NarrativeEntry GeoJSON Feature for timestamped narrative/log entries
ParameterValue A typed parameter value with replay metadata
PlatformRecord Fully-resolved metadata for a single platform within a STAC item
PlotSummary Projection of a STAC Item for UI consumption (e
PlotTimeExtent Temporal extent of a plot expressed as ISO 8601 strings
PointMetadataEntry Metadata for a single point within a MultiPoint reference set
PointProperties Styling schema for Point and MultiPoint geometries
PolyAnnotation GeoJSON Feature for arbitrary polygon annotations
PolygonProperties Styling schema for Polygon and MultiPolygon geometries
PositionStyle Default styling configuration for track positions
PositionStyleOverride Per-position style override
RectangleAnnotation GeoJSON Feature for rectangle annotations
ReferenceLocation GeoJSON Feature for fixed reference points or reference point sets
ResultsSlice Accumulated tool result layers and last-execution record for undo support
ResultTypePath Slash-delimited hierarchical type path
SegmentMetadata Per-segment metadata for compound tracks
SelectionRequirement A constraint specifying which feature kinds a tool accepts, with minimum and ...
SensorContact Single sensor measurement record
SensorData Named sensor with contact measurements
SessionFile Persisted session file format (FR-024)
SessionState Root entity containing all session state slices (FR-001, FR-002)
SnapshotLinks Doubly-linked references to adjacent snapshots
SnapshotRef Reference to a snapshot file
SpatialSlice Geographic view state for the map display
StacExtensionProperties Extension properties added to STAC item
StacItemSummary Minimal STAC Item projection for browser tree display and metadata filtering
SystemRecordProperties Properties for the non-spatial system record feature
SystemState GeoJSON Feature for storing non-spatial system state
SystemStateProperties Properties for SYSTEM features storing application state
TemporalSlice Time-related state including navigation, playback, and filtering
TextAnnotation GeoJSON Feature for text annotations at a position
TimeFilter Constraints on the visible time window
TimeInstant A point in time with dual representations (FR-032, FR-033)
TimeRange A temporal interval with inclusive start and end
TimestampedPosition Temporal and kinematic metadata for a single track position
TimeStep Step size for discrete time navigation (FR-008)
Tool An analysis operation with a name, description, version, and selection requir...
ToolParameter A configurable parameter for a tool
ToolResultAnnotations Annotations for MCP tool result content items
TrackFeature GeoJSON Feature representing a vessel track
TrackStyle Composite styling for TrackFeature, supporting both line path and position ma...
TUAData Named TUA solution collection
TUASolution Single Target Uncertainty Area estimate
TuneAnnotation Records a parameter modification (appended, not replacing original)
VectorAnnotation GeoJSON Feature for vector annotations
ViewportPolygon Geographic area as a 4-corner polygon supporting rotated views (FR-012, FR-01...
WasGeneratedBy Identifies the tool and its parameters for a specific invocation

Slots

Slot Description
$schema JSON Schema URI
activity_id Unique operation identifier (UUID v4)
addressingMode How addresses at this level are interpreted
after_leg Name of following TMA leg (DYNAMIC_INFILL)
ambiguous_bearing Ambiguous bearing (second solution) in degrees
array_centre_mode How bearing line origin is calculated relative to host platform
asset Relative path to snapshot GeoJSON file
base_frequency Base frequency in Hz (TMA segments)
bbox Bounding box [minLon, minLat, maxLon, maxLat]
bearing Bearing to contact in degrees (0-360)
before_leg Name of preceding TMA leg (DYNAMIC_INFILL)
branch_id Unique branch identifier
branch_origin Reverse link to source plot (set when this plot is a branch)
branched_at When the branch was created (ISO 8601 with timezone)
branched_from Activity ID of the branch point
branches Branch records
catalog_id Parent catalog identifier
center Map center [longitude, latitude] - for spatial state
centre_lat Absolute latitude (mutual exclusive with bearing/range)
centre_lon Absolute longitude (mutual exclusive with bearing/range)
color Stroke color (CSS color string)
comment Operator note
contacts Array of sensor measurements
coordinates [longitude, latitude] in degrees
course Course in degrees (0-360)
currentTime Current playback/display time (FR-005)
dash_array Dash pattern (SVG format, e
data_points Array of structured data records for this series
datetime Creation/capture timestamp (ISO 8601)
default Whether this is the default value
default_position_style Default styling applied to all positions
default_value Default value if not provided
deletedFeatures IDs of features removed (REQUIRED for deletions)
depth Depth in meters (negative = below surface)
description Additional description
direction 'source' or 'target' (for branch events)
dirty Unsaved changes exist - ephemeral (FR-020)
disabled Whether this entry is skipped during replay
display_name Human-readable platform display name override
displayMode Track visualization mode (FR-011)
document Editor state
domain Vessel domain override
end End of time extent (ISO 8601)
end_datetime Range end datetime (ISO 8601)
end_time Segment end timestamp (ISO8601)
epoch Milliseconds since Unix epoch
execution_duration Wall-clock execution time in ISO 8601 duration format (e
feature_id ID of the feature whose pre-operation state is captured
feature_tags Union of all feature-level tags from the plot's GeoJSON features
featureCollectionUri Reference to external feature collection (FR-016)
featureIds Selected feature paths
features Feature-related state
fill Whether to fill the shape
fill_color Fill color (CSS color string)
fill_opacity Fill transparency (0-1)
frequency Measured frequency in Hz
generated Feature IDs or versioned asset paths of outputs
generated_result_id Stable logical identity for artifact-producing tools
geometry Track path as LineString (simple) or MultiLineString (compound)
has_ambiguous Controls ambiguous bearing display
has_bearing Controls bearing line display (true=show, false=hide)
has_frequency Controls frequency data display
hiddenFeatureIds Features hidden from display (FR-018)
host_sensor_name Towed array sensor name (RELATIVE_TMA)
host_track_id ID of track this solution is relative to (RELATIVE_TMA)
host_track_name Name of track this TUA set relates to
href Relative path to artifact file (REQUIRED for artifacts)
id Unique identifier (UUID recommended)
index 0-based ordinal matching coordinates array position
input_state Pre-operation feature states for coordinate-mutating tools
iso ISO 8601 UTC format string
item_path Path to item
kind Feature type discriminator
label Custom label text (null = use timestamp)
label_interval ISO 8601 duration for interval-based label display
label_location Label horizontal alignment
last_tool_execution Last tool execution record for single-step undo
latitude Latitude in degrees (-90 to 90)
legacy_style Legacy symbol name from Debrief symbology (e
line Styling for the track line path
line_cap Line endpoint style
line_join Line join style
line_number Source line number for debugging
line_style Bearing line visual style
line_thickness Bearing line width in pixels
location Array centre position [longitude, latitude] (GeoJSON coordinate order)
location_count Number of reference locations in this plot
location_type Type of reference
longitude Longitude in degrees (-180 to 180)
max Maximum number of features of this kind allowed
maxima Semi-major axis in metres
measured_positions Actual towed array positions for MEASURED array centre mode
metadata Axis definitions and display hints
metadata_expression Serialised CQL2 filter expression from the filter bar, stored as an opaque JS...
metadata_filtered_ids Set of exercise IDs passing the current metadata filter
min Minimum number of features of this kind required
minima Semi-minor axis in metres
name Human-readable segment name
nationality ISO 3166-1 alpha-2 country code override (e
new_value Value after tuning
next Link to next snapshot
offset Sensor offset from host platform in metres
offset_bearing Bearing offset in degrees (RELATIVE_TMA)
offset_range Range offset in metres (RELATIVE_TMA)
opacity Stroke transparency (0-1)
orientation Ellipse orientation from north in degrees
origin Explicit sensor location override [longitude, latitude]
param_type References a schema-defined parameter-type enum by name
parameter Name of the parameter that was changed
parameters Full resolved parameter set
path Full hierarchical path
platform_id Platform/vessel identifier
platform_name Human-readable platform name
platforms Fully-resolved per-platform metadata array
playbackRate Playback speed multiplier 0
playbackState Current playback state - ephemeral (FR-010)
point Styling for position markers
point_metadata Per-point metadata array, parallel to MultiPoint coordinates
position_style_overrides Parallel array of per-position style overrides
positions Per-position metadata (parallel to coordinates)
prev Link to previous snapshot
previous_value Value before tuning
primary Primary selection path for properties display
properties Track metadata
prov_entry_count Number of provenance entries in the snapshot
provenance PROV-aligned provenance records (append-only log of tool operations)
put_label_at Label position along bearing line
radius Marker radius in pixels
range Range to contact in metres
rationale Free-text analyst annotation explaining the reasoning for this operation
required Whether parameter must be provided
requirements List of selection requirements
result_layer_ids IDs of the result layers produced by the tool
result_layers Accumulated tool result features
resultType Hierarchical result type (e
rotation Map rotation in degrees 0-360 (FR-013)
savedAt When the session was saved (ISO 8601)
savePath Last save location
schemaVersion Schema version for persistence compatibility (FR-026)
segment_type Segment type discriminator
segments Per-segment metadata for compound tracks
selected_ids Array of selected feature IDs - for selection state
selection Currently selected features (FR-017)
sensors Embedded sensor data associated with this track
series Named data series for multi-line/multi-series charts
series_key Series discriminator for multi-series datasets (e
shape Marker shape
show_label Whether to display labels at positions
show_symbol Whether to display a symbol at positions
snapshot_links Doubly-linked snapshot chain
solutions Array of TUA estimates
source_asset Relative path to the source plot file
source_feature_ids IDs of the source features the tool operated on
source_features IDs of input features used to generate this result
source_path Original source file path (for provenance)
source_tool Name of calculation tool that produced this result
sourceFeatures IDs of input features used to generate this result
spatial Geographic view state
spatial_filter_active Whether the map viewport is used as a spatial filter
speed Speed in knots
start Start of time extent (ISO 8601)
start_datetime Range start datetime (ISO 8601)
start_time Segment start timestamp (ISO8601)
state_type Discriminator for state variant (temporal, spatial, selection)
stepSize Step size for discrete navigation (FR-008)
store_id Parent store identifier (needed for URI construction)
stroke Whether to draw outline
style Per-segment line styling override
symbol Shape to use for position symbols
symbol_interval ISO 8601 duration for interval-based symbol display
tags Free-text labels assigned to this feature by the analyst
target_asset Relative path to the branched plot file
temporal Time-related state
temporal_filter_active Whether the timeline range is used as a temporal filter
text Narrative text content
time Position timestamp (ISO8601)
time_extent Temporal extent of the plot (start/end ISO 8601 strings)
timeFilter Optional visible time window constraint (FR-007)
timeRange Full temporal extent of loaded data (FR-006)
timestamp When the operation occurred (ISO 8601 with timezone)
title Plot title from STAC metadata
tool Tool identifier (kebab-case, e
tool_id Identifier of the tool that was executed
tool_version Semantic version of the tool (e
track_count Number of tracks in this plot
track_id Associated track identifier (optional)
track_type Type of track
tuas Embedded Target Uncertainty Area data associated with this track
tunable Whether this parameter can be modified during replay
tune Parameter tuning record
type Geometry type discriminator
unit Unit of the step
units Units for the axis values (e
used Feature IDs of inputs
valid_from Start of validity period
valid_until End of validity period
value The parameter value (any JSON type)
version Tool version string for provenance tracking
vertex_count Number of unique vertices (excluding ring closure point)
vessel_class Full vessel classification path override using slash-separated notation (e
vessel_role Vessel role override (parent of leaf in classification path, e
vessel_type Vessel type override (leaf of classification path, e
viewport Visible map area as 4-corner polygon (FR-012)
visible Contact visibility
was_generated_by Tool identity and parameters for this invocation
weight Stroke width in pixels
worm_in_hole Display mode flag
x_value Primary independent-axis value serialised as a string
xAxis X-axis metadata
y_value Primary dependent-axis value serialised as a string (decimal or label)
yAxis Y-axis metadata
zoom Map zoom level - for spatial state

Enumerations

Enumeration Description
AddressingMode How addresses in a selection path level are interpreted (Feature 053)
ArrayCentreModeEnum Array centre calculation mode for towed array sensors
CardinalDirectionEnum Eight-point compass directions
DisplayModeEnum Track visualization display mode
DurationPresetEnum Common ISO 8601 duration presets for interval parameters
ErrorCategory Categories of tool execution errors
FeatureKindEnum Discriminator for GeoJSON feature types
FileProvDirectionEnum Direction of a branch event
FileProvEventTypeEnum Type of file-level provenance event
LabelLocationEnum Horizontal alignment of contact labels
LineCapEnum How line endpoints are rendered (SVG/CSS standard)
LineJoinEnum How line segment joints are rendered (SVG/CSS standard)
LineLabelPositionEnum Position along the bearing line where the label is placed
LineStyleEnum Visual style for bearing lines
LocationTypeEnum Type of reference location
MarkerSymbolEnum Marker shapes for tool parameter choices (superset of PointShapeEnum)
NamedColorEnum Predefined named colours for styling tool parameters
NumericPresetEnum Common numeric presets for count and distance parameters
OutputKindEnum Canonical output kind identifiers for tool result features
ParameterTypeEnum Names of available schema-defined parameter types
PlaybackStateEnum Current state of time playback
PointShapeEnum Valid shapes for point markers
ReferencePointPatternEnum Generation patterns for reference point placement
ResultCategoryEnum Top-level result type categories per TOOL-RESULTS
ResultTopType Top-level result type categories
SegmentTypeEnum Discriminator for track segment types within compound tracks
SystemStateTypeEnum Discriminator for system state variants
TimeUnitEnum Units for time step navigation
TrackTypeEnum Type of track feature
VesselDomainEnum Top-level vessel domain classification

Types

Type Description
Boolean A binary (true or false) value
Coordinate A geographic coordinate value (longitude or latitude in degrees)
CSSColor A CSS color string (e
Curie a compact URI
Date a date (year, month and day) in an idealized calendar
DateOrDatetime Either a date or a datetime
Datetime The combination of a date and time
Decimal A real number with arbitrary precision that conforms to the xsd:decimal speci...
Double A real number that conforms to the xsd:double specification
Float A real number that conforms to the xsd:float specification
Integer An integer
Jsonpath A string encoding a JSON Path
Jsonpointer A string encoding a JSON Pointer
Ncname Prefix part of CURIE
Nodeidentifier A URI, CURIE or BNODE that represents a node in a model
Objectidentifier A URI or CURIE that represents an object in the model
Sparqlpath A string encoding a SPARQL Property Path
String A character string
Time A time object represents a (local) time of day, independent of any particular...
Uri a complete URI
Uriorcurie a URI or a CURIE

Subsets

Subset Description