Overlay
The Video Overlay subsystem renders on-screen objects over video playback (e.g. timestamps, KLV metadata, FOV cones). Overlay can be enabled and configured in the player UI.
Enabling overlays
- Use the overlay button in the player controls to toggle overlays on/off.
⚙️ Modes
The overlay supports two working modes:
- Presentation mode is the viewing mode. Enabled layers keep updating from the incoming packet, but overlay objects are not selectable or transformable.
- Editor mode is the layout-authoring mode. Editable objects such as the compass and data text items can be selected, moved, rotated, and resized. Layer visibility, layer opacity, HUD display mode, and ruler enable state can also be changed and then saved as part of the layout.
- The ruler and marker are special cases: when they are enabled and have valid geometry, they stay visible and remain draggable in both modes.
🗐 Layers
The overlay is organized into independent layers so the operator can show, hide, or fade each one without affecting the others:
- HUD shows the compass and any regular HUD text items. When HUD display mode is set to
compass, only the compass remains visible and HUD text items are hidden. - Data shows user-defined label/value readouts. These may be static values or live values linked to incoming KLV tags.
- VMTI shows runtime moving-target graphics driven by incoming metadata. This layer is packet-driven and is not used for manual text authoring.
- Grid shows a projected ground-plane grid and north arrow when georeferencing is available.
- Marker shows a shared interactive point that can be moved from the overlay or from the detached map window.
Metadata required for presentation:
- HUD compass:
headingis the primary live input.terrainOrientationcan also be supplied, and georeferenced KLV can further improve projected orientation. - Data layer, static item: no incoming metadata is required after the item is created.
- Data layer, KLV-backed item: the selected KLV tag, or selected nested tag path, must be present in the incoming packet.
- VMTI layer: KLV tag
74must be present, with74.8frame width,74.9frame height, and at least one renderable target in74.101. - Grid layer: MISB ST 0601 frame georeferencing is required. Use either full-frame corners
82-89, or frame center23and24plus offset corners26-33. - Marker layer: MISB ST 0601 frame georeferencing is required if you expect a geographic marker position to be projected into the current frame.
✏️ Editor
The Editor is used to create and maintain the saved overlay layout.

To add an item:
- Switch to Editor mode.
- Choose the item source: Static or KLV.
- Enter the label and appearance settings.
- For a Static item, also enter the fixed value to display.
- For a KLV item, select the tag to read from the live packet, then add the item. New items are placed at the next default position in the layout.
To update an item:
- Select the existing data item on the canvas or from the editor state.
- Change its label, source, tag selection, colors, font, or timestamp format as needed.
- Drag the selected item to move it. Use the transform handles to resize text and rotate it.
To remove an item:
- Select the existing data item.
- Use the delete action in the editor panel.
- Removal applies only to authored data items. Runtime-generated layers such as VMTI are not deleted from the incoming metadata stream by the editor.
The Editor supports two kinds of data text items:
- Static item: both the label and the value are saved in the layout and remain fully user-controlled.
- KLV-backed item: the label is part of the saved layout, but the value is always read from the current packet. As the packet changes, the displayed value changes automatically.
KLV tags and nested standards are handled as follows:
- A top-level MISB ST 0601 field is selected by its tag number, for example
13or23. - If that tag contains a nested local set or subordinate standard, select the nested field as a
parent.childpath such as74.8or74.101. - If the nested selector is left at Whole local set, the item points to the parent tag itself rather than to one child field.
- Nested standards are therefore treated as subordinate KLV paths, not as separate overlay objects. The parent tag identifies the local set, and the nested tag identifies the field inside that local set.
- Timestamp-format controls appear only for timestamp tags. Those values can be displayed as local time or ISO 8601.
Metadata required for presentation:
- Static item: no live metadata is required after the item is saved.
- KLV-backed item: the selected top-level tag or nested
parent.childtag path must exist in the incoming packet. - Timestamp item: the selected KLV field must contain a valid timestamp value if you expect formatted time output.
- Saved layout state: item position, rotation, font size, colors, label, source, and selected tag or fixed value are part of the presentation layout.
The Editor also persists marker state. When the marker is enabled, its saved state includes whether the marker is shown, whether it is currently acting in master or slave mode, and the last tracked geographic position when one is available.
🎯 VMTI
VMTI is a runtime overlay. It is intended for live moving-target presentation, not manual authoring. When valid VMTI metadata is present, the overlay can draw target boxes, centroids, contours, masks, labels, and target colors directly over the image frame.

If the VMTI layer is enabled but the required packet fields are missing, no target graphics are presented.
Metadata required for presentation:
- Top-level KLV tag
74for the VMTI local set. 74.8frame width and74.9frame height.74.101target series.- For each target, at least one renderable geometry source such as a bounding box, centroid, contour, or mask.
⊞ Grid
The Grid is a read-only ground-reference aid. It is rendered above the ruler and projects a ground-plane grid with a north arrow into image space. It updates automatically as packet georeferencing changes.

If the Grid layer is enabled without valid frame georeferencing, the layer remains empty.
Metadata required for presentation:
- Full-frame corner georeferencing using tags
82-89, or - Frame center
23and24plus offset-corner tags26-33.
📏 Ruler
The Ruler is a measurement overlay. When enabled, it displays the saved line between its start and end points and continuously recalculates the ground distance from the current georeferencing. Its endpoints remain draggable whenever the ruler is enabled.

The ruler uses image-space endpoints but ground-referenced distance. This means the line stays anchored to the same image positions, while the measured distance can change when the packet georeferencing changes.
Metadata required for presentation:
- Full-frame corner georeferencing using tags
82-89, or - Frame center
23and24plus offset-corner tags26-33. - A saved ruler start point and end point if you expect an immediate visible measurement.
📍 Marker
The Marker is a shared interactive overlay point. It can be controlled from the Player overlay or from the detached map window.

When the marker is enabled:
- dragging it in the overlay makes the overlay the current master
- dragging it in the map window makes the map the current master
- the last surface you move becomes the active source for the shared marker position
This means the marker is synchronized between the video overlay and the map instead of being managed separately in each view.
The marker uses geographic coordinates for synchronization. The map keeps the marker anchored to latitude and longitude, and the overlay reprojects that geographic position into the current frame whenever the current packet has usable georeferencing.
If you drag the marker directly in the overlay, the overlay updates the shared geographic position and the map marker follows it. If you drag the marker in the map window, the overlay follows that map position and reprojects it into the frame.
If the current packet cannot project the shared geographic position into the frame, the overlay may not be able to draw the marker even though the map still retains the marker position.
Metadata required for presentation:
- Full-frame corner georeferencing using tags
82-89, or - Frame center
23and24plus offset-corner tags26-33, or - an externally supplied geographic marker position from the map if you want the overlay to follow map-driven marker updates once projection is possible.
For Player workflow details, see Player. For KLV inspection details, see KLV.