Message reference
This page is the data dictionary: every message HEAT ProtoLib defines, every field, its type and
its unit or meaning where the schema states one. It is generated from the same .proto comments
and the same intermediate representation (json-ir/heat_ir.json) that HEAT ProtoLib’s own code
generator reads to build the per-language builders, so it stays in step with the schema by
construction.
Type names in the tables below are proto message and enum names, not any one language’s generated class name. See Consume the packages for how each language surfaces them.
The simulation frame
SimulationFrame is the root message: a complete snapshot of every entity and every event at one
capture moment.
SimulationFrame
| Field | Type | Description |
|---|---|---|
capture_time | Timestamp | wall-clock UTC capture time |
simulation_tick | uint64 | simulation frame number |
simulation_time_seconds | double | elapsed simulation time (sim clock), seconds |
entities | repeated EntityState | all entity states this frame |
events | repeated EntityEvent | events that occurred this frame. Order within the frame is not guaranteed; consumers sort by timestamp |
EntityState — state of a single entity at a point in time.
| Field | Type | Description |
|---|---|---|
entity | Entity | |
timestamp | Timestamp |
Entity — a simulation entity: a stable id, a name, and the components composing it.
| Field | Type | Description |
|---|---|---|
id | uint64 | unique identifier for this entity (truth id; the join key used across events and components) |
name | string | human-readable name for the entity |
components | repeated Component | components attached to this entity |
Component — ECS-style container. oneof data: exactly one of the 53 component types
below is set. Field numbers 6 to 12 are reserved (retired LightsComponent, ControlComponent
and EngineComponent, superseded by the ground-vehicle and aircraft component families) and must
never be reused.
| Tag | Field | Component |
|---|---|---|
| 1 | transform | TransformComponent |
| 2 | biometric_sensor | BiometricSensorComponent |
| 3 | gaze | GazeComponent |
| 4 | spatial | SpatialComponent |
| 5 | linked_entity | LinkedEntityComponent |
| 13 | wheel | WheelComponent |
| 14 | world_position | WorldPositionComponent |
| 15 | dynamics | DynamicsComponent |
| 16 | sonobuoy_data | SonobuoyDataComponent |
| 17 | passive_sonar_detection | PassiveSonarDetectionComponent |
| 18 | capacity_data | CapacityDataComponent |
| 19 | wearable_bio_sensor | WearableBioSensorComponent |
| 20 | pupilometry | PupillometryDataComponent |
| 21 | air_data | AirDataComponent |
| 22 | cloud_data | CloudDataComponent |
| 23 | health_data | HealthComponent |
| 24 | target_data | TargetDataComponent |
| 25 | gv_control_data | GroundVehicleControlComponent |
| 26 | gv_lighting_data | GroundVehicleLightingComponent |
| 27 | gv_powertrain_data | GroundVehiclePowertrainComponent |
| 28 | gv_suspension_data | GroundVehicleSuspensionComponent |
| 29 | atc_data | ATCDataComponent |
| 30 | aircraft_engine_data | AircraftEngineComponent |
| 31 | aircraft_landing_gear_data | AircraftLandingGearComponent |
| 32 | aircraft_lighting_data | AircraftLightingComponent |
| 33 | aircraft_data | GenericAircraftComponent |
| 34 | fwa_data | FWADataComponent |
| 35 | fwa_control_surface_data | FWAControlSurfacesComponent |
| 36 | fwa_input_data | FWAInputComponent |
| 37 | rotary_input_data | RotaryInputComponent |
| 38 | rotary_wing_data | RotaryWingDataComponent |
| 39 | uas_controls_data | UASControlsComponent |
| 40 | uas_datalink_data | UASDataLinkComponent |
| 41 | uas_motor_data | UASMotorComponent |
| 42 | heat_user_data | HeatUserComponent |
| 43 | unit_type_data | UnitTypeComponent |
| 44 | radar_data | RadarComponent |
| 45 | radio_data | RadioComponent |
| 46 | aircraft_avionics_data | AircraftAvionicsComponent |
| 47 | aircraft_display_state_data | AircraftDisplayStateComponent |
| 48 | resource_stores_data | ResourceStoresComponent |
| 50 | fuel_system_data | FuelSystemComponent |
| 51 | emission_data | EmissionComponent |
| 52 | sensor_contacts_data | SensorContactsComponent |
| 53 | iff_data | IffComponent |
| 54 | signature_data | SignatureComponent |
| 55 | weapon_loadout_data | WeaponLoadoutComponent |
| 56 | datalink_data | DataLinkComponent |
| 57 | combat_state_data | CombatStateComponent |
| 58 | rf_environment_data | RfEnvironmentComponent |
| 59 | receiver_environment_data | ReceiverEnvironmentComponent |
| 60 | receiver_characteristics_data | ReceiverCharacteristicsComponent |
| 61 | stream_data | StreamComponent |
EntityEvent — one event that occurred this frame: either a data-bearing event or a
payload-free tracking event. oneof event: exactly one of the following.
| Field | Type | Description |
|---|---|---|
data_event | EntityDataEvent | data-bearing event |
tracking_event | TrackingEvent | one-shot, payload-free event |
TrackingEvent — a one-shot record that something happened to an entity, and when. This
is the authoritative countable timeline: every occurrence emits a TrackingEvent, whether or not
the source also emits a matching EntityDataEvent carrying the payload. Count occurrences from
this path; it stays uniform across mixed-source captures.
| Field | Type | Description |
|---|---|---|
entity_id | uint64 | |
type | TrackingEventType | see Enums |
timestamp | Timestamp | wall-clock UTC (capture host) |
simulation_time_s | double | simulation clock, seconds; correlates the event to sim time. Absent = not known |
EntityDataEvent — a data-bearing event about one entity, carrying a typed payload.
oneof event_data: exactly one of the 22 event types in Events.
Emission contract: TrackingEvent is the authoritative countable record for every occurrence and
is emitted by every source, whether or not it can produce payload detail. EntityDataEvent is
optional enrichment: when a source has payload for an occurrence, it emits this alongside the
matching TrackingEvent, with event_type set to the same verb. Count occurrences from the
TrackingEvent path (SimulationFrame → events → tracking_event); do not count
EntityDataEvent as a separate occurrence.
| Field | Type | Description |
|---|---|---|
entity_id | uint64 | |
timestamp | Timestamp | wall-clock UTC (capture host) |
event_type | TrackingEventType | verb this payload belongs to, in the TrackingEventType taxonomy. Fill for new sources; may be absent during migration |
simulation_time_s | double | correlates the event to sim time when it is buffered or re-bundled outside its originating frame. Absent = not known |
Common types
Shared value types used across many components and events.
Float2 — Generic 2D vector or point.
| Field | Type | Description |
|---|---|---|
x | float | |
y | float |
Float3 — Generic 3D vector or point.
| Field | Type | Description |
|---|---|---|
x | float | |
y | float | |
z | float |
Quaternion — Rotation. Convention: x, y, z are the vector part, w is the scalar part.
| Field | Type | Description |
|---|---|---|
x | float | |
y | float | |
z | float | |
w | float |
LLAPosition — Geodetic position (WGS84), double precision, for sub-meter accuracy that float32 lat/lon cannot carry. Preferred for any new position field.
| Field | Type | Description |
|---|---|---|
latitude | double | decimal degrees, positive N / negative S |
longitude | double | decimal degrees, positive E / negative W |
altitude | double | meters above the ellipsoid |
ECEFPosition — Earth-Centered, Earth-Fixed cartesian position, meters from Earth’s center.
| Field | Type | Description |
|---|---|---|
x | double | meters |
y | double | meters |
z | double | meters |
Timestamp — A point in time with millisecond precision. Every timestamp on the capture path is wall-clock UTC (capture-host time); simulation time is carried separately as double seconds where needed.
| Field | Type | Description |
|---|---|---|
timestamp_ms | int64 | Unix timestamp in milliseconds since epoch (1970-01-01 00:00:00 UTC) |
timezone_offset_minutes | int32 | Offset in minutes from UTC (e.g. -300 for EST, +60 for CET). Absent/0 means UTC. |
Date — A calendar date without time.
| Field | Type | Description |
|---|---|---|
year | int32 | e.g. 2025 |
month | uint32 | 1-12, where 1 = January |
day | uint32 | 1-31 |
Time — Time of day with millisecond precision.
| Field | Type | Description |
|---|---|---|
hour | uint32 | 0-23 |
minute | uint32 | 0-59 |
second | uint32 | 0-59 |
millisecond | uint32 | 0-999 |
DateTimeDetailed — Date and time as separate human-readable components, for when a raw timestamp is not what’s wanted.
| Field | Type | Description |
|---|---|---|
date | Date | |
time | Time | |
timezone_offset_minutes | int32 | optional |
KeyValuePair — Generic key/value pair, used for extra data a component’s fixed schema does not carry.
| Field | Type | Description |
|---|---|---|
key | string | |
value | float |
Components
An entity’s state is composed from these 53 component types, one Component oneof per attached
component. A given component type occurs at most once per entity (the oneof is entity-scoped, not
repeated), except WheelComponent, which a vehicle entity attaches once per physical wheel.
Core
TransformComponent — Position, rotation, and scale in 3D space
| Field | Type | Description |
|---|---|---|
position | Float3 | Position in world space |
rotation | Quaternion | Rotation as quaternion |
scale | Float3 | Scale factors (default 1,1,1 for uniform scale) |
DynamicsComponent — Physics-related dynamics for simulation entities
| Field | Type | Description |
|---|---|---|
velocity | Float3 | Simulated linear velocity of the entity (meters per second) |
angular_velocity | Float3 | Simulated angular velocity (radians per second) |
magnitude | float | Magnitude of the simulated velocity (speed) |
acceleration | Float3 | Acceleration of the simulated object (meters per second squared) |
world_forward_direction | Float3 | World forward direction vector the entity is facing (unit vector) |
ground_speed | float | Speed of an object over the ground |
is_grounded | bool | If aircraft is it in the air or not |
HealthComponent — Entity Health Data
| Field | Type | Description |
|---|---|---|
max_health | float | Simulated/Abstracted Health of this entity |
current_health | float | Current health based on damage to this entity |
is_disabled | bool | If Entity is damaged enough to be disabled but not destroyed |
is_destroyed | bool | Entity destroyed (mission-killed). |
LinkedEntityComponent — Defines parent/child relationships between entities
| Field | Type | Description |
|---|---|---|
parent_entity_id | uint64 | Parent entity ID for hierarchical relationships |
child_entity_ids | repeated uint64 | List of child entity IDs (optional, for bidirectional tracking) |
link_type | LinkType | how this entity relates to parent_entity_id |
Identity
HeatUserComponent — The human trainee occupying/operating this entity.
| Field | Type | Description |
|---|---|---|
user_name | string | trainee identifier |
role | string | crew role, e.g. “pilot”, “gunner” |
vehicle_callsign | string | callsign of the crewed vehicle |
UnitTypeComponent
| Field | Type | Description |
|---|---|---|
type_name | string | |
kind | UnitKind | |
domain | UnitDomain | |
country | int32 | |
category | int32 | |
subcategory | int32 | |
specific | int32 | |
extra | int32 |
Spatial and navigation
WorldPositionComponent
| Field | Type | Description |
|---|---|---|
latitude | float | Decimal degrees, positive N / negative S. float32 quantizes at ~0.3-1 m depending on magnitude: fine for display and geometry, not for sub-meter track-error analytics (use LLAPosition where that precision is needed). |
longitude | float | Decimal degrees, positive E / negative W. Same precision note as latitude. |
altitude | float | meters |
heading | float | degrees |
utm_position | UtmPosition | |
ecef_position | EcefPosition | |
pitch_deg | float | degrees; absent = not reported |
roll_deg | float | degrees; absent = not reported |
SpatialComponent — XR/VR spatial tracking for a headset user: head and controller poses, per-eye camera images, and hand tracking.
| Field | Type | Description |
|---|---|---|
pose | XrPosef | head pose |
left_controller_pose | XrPosef | |
right_controller_pose | XrPosef | |
left_image | RawImage | left-eye passthrough/camera image |
right_image | RawImage | right-eye passthrough/camera image |
left_hand | HandState | |
right_hand | HandState |
Biometrics
GazeComponent — Eye tracking and gaze data
| Field | Type | Description |
|---|---|---|
IPD | float | interpupillary distance, meters |
gaze_origin | Float3 | |
left_gaze_origin | Float3 | |
right_gaze_origin | Float3 | |
combined_eye_position | Float3 | |
left_eye_position | Float3 | |
right_eye_position | Float3 | |
gaze_direction | Float3 | |
gaze_direction_quality | float | |
left_gaze_direction | Float3 | |
left_gaze_direction_quality | float | |
right_gaze_direction | Float3 | |
right_gaze_direction_quality | float | |
left_eye_occluded | bool | |
right_eye_occluded | bool | |
has_glasses | bool | |
blink | bool | |
gaze_point | Float2 | Gaze Point based on coordinates from tracker or focus distance |
gaze_screen_point | Float2 | Normalized screen coordinates: (0,0) = bottom-left, (1,1) = top-right. |
PupillometryDataComponent — Pupillometry Component - Tracks pupilometry data from Eye Tracking.
| Field | Type | Description |
|---|---|---|
eyelid_openness | float | |
eyelid_openness_quality | float | Quality of the measurement [0..1]. |
left_eyelid_openness | float | The distance between the eyelids of the left eye. |
left_eyelid_openness_quality | float | Quality of the measurement [0..1]. |
right_eyelid_openness | float | The distance between the eyelids of the right eye. |
right_eyelid_openness_quality | float | Quality of the measurement [0..1]. |
pupil_diameter | float | |
pupil_diameter_quality | float | Quality of the measurement [0..1]. |
left_eye_pupil_diameter | float | |
left_eye_pupil_diameter_quality | float | Quality of the measurement [0..1]. |
right_eye_pupil_diameter | float | |
right_eye_pupil_diameter_quality | float | Quality of the measurement [0..1]. |
other_pupil_data | repeated BiometricReading | Generic biometric readings |
BiometricSensorComponent — Tracks biometric data from sensors
| Field | Type | Description |
|---|---|---|
readings | repeated BiometricReading |
WearableBioSensorComponent — Tracks biometric data from a sports watch and smart watch
| Field | Type | Description |
|---|---|---|
heart_rate | int32 | Heart Rate in beats per minute |
hr_confidence | float | Heart Rate Confidence level |
rr_interval | float | Respiratory Rate Interval |
rri_confidence | float | Respiratory Rate Interval Confidence level |
spo2_value | float | Blood Oxygen Saturation (SpO2) Value |
spo2_confidence | float | Blood Oxygen Saturation Confidence level |
spo2_state | int32 | Blood Oxygen Saturation State |
skin_contact_state | bool | Skin Contact State |
sample_count | int32 | Number of biometric samples taken |
readings | repeated BiometricReading | Generic biometric readings |
Ground vehicles
WheelComponent — Individual wheel state and physics Note: A vehicle entity will typically have multiple wheel components (one per wheel)
| Field | Type | Description |
|---|---|---|
radius | float | |
weight | float | |
tire_pressure | float | |
is_flat | bool | |
wheel_rpm | float | |
brake_percentage | float | |
slip_ratio | float | longitudinal slip percentage |
slip_angle | float | lateral slip in degrees |
angular_velocity | float | angular velocity of wheel in rad/s |
is_grounded | bool | |
ground_type | string | The type of ground the wheel is touching (Asphalt, Dirt, Grass, Gravel, Mud, Sand) |
GroundVehicleControlComponent — Driver control inputs for a ground vehicle. Pedal/clutch/brake values are normalized 0..1; steering is normalized -1 (full left) .. 1 (full right).
| Field | Type | Description |
|---|---|---|
throttle_value | float | 0..1 |
brake_value | float | 0..1 |
clutch_value | float | 0..1 |
parking_brake_value | float | 0..1 (hardware or simulated) |
steering_value | float | -1..1 |
steering_value_range | Float2 | Physical steering range of this vehicle in degrees: x = min (left), y = max (right), e.g. (-180, 180). Maps steering_value to a wheel angle. Absent = not reported. |
GroundVehiclePowertrainComponent — Powertrain state for a ground vehicle: engine, transmission, and fluids.
| Field | Type | Description |
|---|---|---|
ignition_on | bool | |
engine_on | bool | |
gear_name | string | gear label (e.g. “R”, “N”, “3”) |
gear_index | int32 | numeric gear index |
rpm | float | engine revolutions per minute |
battery_voltage | float | volts |
oil_temp | float | degrees Celsius |
oil_pressure | float | source-defined pressure unit |
coolant_temp | float | degrees Celsius |
boost_pressure | float | turbo/supercharger boost, source-defined unit |
GroundVehicleLightingComponent — On/off and mode state of a ground vehicle’s lights.
| Field | Type | Description |
|---|---|---|
headlights | HeadlightMode | |
fog_lights_front_on | bool | |
fog_lights_rear_on | bool | |
turn_signal_left_on | bool | |
turn_signal_right_on | bool | |
hazard_lights_on | bool | |
interior_lights_on | bool | |
interior_lights_mode | string | String descriptor of which level of interior lights used. |
brake_lights_on | bool | |
reverse_lights_on | bool |
GroundVehicleSuspensionComponent — Suspension Data for Ground Vehicles
| Field | Type | Description |
|---|---|---|
suspension_travel_range | Float2 | Total min,max values for suspension travel |
suspension_compression | float | compression in meters |
suspension_extension | float | extension in meters |
suspension_velocity | float | velocity of suspension in m/s |
spring_force | float | |
damper_force | float | |
camber_angle | float | |
toe_angle | float | |
caster_angle | float |
Aircraft
GenericAircraftComponent — Common aircraft flight parameters: altitudes and g-loading.
| Field | Type | Description |
|---|---|---|
agl | float | Altitude above ground level, meters. |
barometric_altitude | float | Barometric (pressure-derived) altitude. Original annotation read “hPa”, which is a pressure unit, not an altitude; confirm the unit with the producer before relying on it. |
true_altitude | float | True altitude above Mean Sea Level (MSL), meters. |
vtol_engaged | bool | VTOL mode active |
g_force | float | Current g-force on the aircraft, in g. |
g_force_max | float | Max/min g-force attained, in g. |
g_force_min | float |
AircraftEngineComponent — State of one aircraft engine: ignition, throttle, and thrust (forward and reverse). A multi-engine aircraft carries one component per engine.
| Field | Type | Description |
|---|---|---|
ignition | bool | ignition on |
engine_state | bool | true = running |
throttle | float | commanded throttle setting |
thrust | float | produced thrust, newtons |
thrust_percentage | float | thrust as percent of maximum |
position | Float3 | engine mount location on the airframe |
reverse_thrust_active | bool | |
reverse_thrust | float | reverse thrust, newtons |
reverse_thrust_percentage | float | reverse thrust as percent of maximum |
extra_data | repeated KeyValuePair | If any Extra data fields are required you can add them as a Key Value Pair. Requires custom data handling on HEAT Side. |
AircraftLandingGearComponent — Landing gear state: wheels, brakes, and extension/lock status.
| Field | Type | Description |
|---|---|---|
wheels | repeated WheelComponent | |
allow_steering | bool | nosewheel steering available |
parking_brake_available | bool | |
parking_brake_enabled | bool | |
gear_max_airspeed | float | max airspeed with gear extended (m/s) |
hydraulic_pressure | float | gear hydraulic system pressure |
extended_percentage | float | deployment, 0 = up, 100 = fully down |
lock_on | float | down-and-locked indication |
is_damaged | bool | |
is_gear_retractable | bool | false = fixed gear |
gear_handle_value | bool | gear lever position (true = down) |
gear_emergency_handle_position | bool | emergency extension handle engaged |
AircraftLightingComponent — On/off state of the aircraft’s exterior and interior lights.
| Field | Type | Description |
|---|---|---|
navigation_lights | bool | |
spotlight | bool | |
taxi_lights | bool | |
anti_collision_lights | bool | beacon/strobe |
formation_lights | bool | |
interior_lights | bool | |
covert_lights | bool | IR/covert lighting for NVG operations |
AircraftAvionicsComponent — Autopilot / flight-director / autothrottle engagement and selected targets. active_* modes are currently flying; armed_* modes are captured but not yet active. The *_label strings carry source-specific mode text alongside the normalized enums.
| Field | Type | Description |
|---|---|---|
autopilot_master | bool | autopilot engaged |
flight_director_master | bool | flight director on |
autothrottle_master | bool | autothrottle engaged |
selected_heading_degrees | float | |
selected_altitude_meters | float | |
selected_indicated_airspeed_meters_per_second | float | |
selected_mach | float | |
selected_vertical_speed_meters_per_second | float | |
active_lateral_mode | AircraftAutopilotLateralMode | |
active_vertical_mode | AircraftAutopilotVerticalMode | |
armed_lateral_mode | AircraftAutopilotLateralMode | |
armed_vertical_mode | AircraftAutopilotVerticalMode | |
active_lateral_mode_label | string | source-specific text for active_lateral_mode |
active_vertical_mode_label | string | |
armed_lateral_mode_label | string | |
armed_vertical_mode_label | string | |
extra_data | repeated KeyValuePair |
AircraftDisplayStateComponent — State of the aircraft’s cockpit displays.
| Field | Type | Description |
|---|---|---|
display_states | repeated AircraftDisplayStateEntry | |
soi_display_id | string | display holding the sensor-of-interest focus |
extra_data | repeated KeyValuePair |
ATCDataComponent — Air-traffic-control identity of the aircraft as filed/displayed. String formats follow common flight-sim ATC variables (e.g. squawk as 4-digit octal).
| Field | Type | Description |
|---|---|---|
atc_type | string | ATC aircraft type designator |
atc_model | string | ATC aircraft model |
atc_id | string | tail number / registration |
atc_airline | string | airline name; source SDKs cap it at 50 chars (not enforced here). |
atc_flight_number | string | flight number; source SDKs cap it at 6 chars (not enforced here). |
hsi_station_ident | string | ident of the tuned nav station; source SDKs cap it at 6 chars (not enforced here). |
transponder_code | string | transponder code (squawk). BCO16 in the SDK; carried as the 4-digit octal code (e.g. “1200”, “7700”) to preserve leading zeros. |
RadarComponent — Deprecated: superseded by EmissionComponent + SensorContactsComponent. Models a single radar and one implicit target; its target_* fields carry no target entity id, so they cannot be joined for analytics. Frozen for backward compatibility; new sources fill the EW components instead and no source fills both.
| Field | Type | Description |
|---|---|---|
device_name | string | Device name |
id | int32 | Device id |
type | string | Device type |
radar_emitting | bool | Is the radar emitting |
emitter_name | string | Emitter name |
antenna_range_limit | Float2 | Antenna range limits (azimuth, elevation) |
antenna_boresight_offset | Float3 | Antena Boresight Offset |
beam_range_limit | Float2 | Beam range limits (azimuth, elevation) |
radar_range | float | Max radar range in meters |
radar_effective_range | float | radar effective range |
target_aspect | float | Calculates the target aspect of a target entity. |
target_closure | float | Calculates the target closure of a entity |
target_antenna_train_angle | float | Calculates the antenna train angle to a target entity |
target_rangeangle_range | float | taget range angles (3D distance in meters along the vector specified by Azimuth/Elevation.) |
target_rangeangle_vector | Float2 | Azimuth/Elevation vector |
target_rangeangle_delta | Float2 | Delta vector (horizontal/vertical) |
radar_cursor | Float2 | Radar cursor is the position of the curse in the view panel (X/Y) |
target_trackable | bool | Determines if the target can be tracked by this device. Factors in the modes EffectiveRange, antenna limits, and beam limits. |
FuelSystemComponent — Fuel system state: dumping, transfer, crossfeed, and refuel. Fuel quantities live in ResourceStoresComponent; this carries the flow/plumbing state.
| Field | Type | Description |
|---|---|---|
fuel_dump_active | bool | |
fuel_dump_rate | float | per second, source-defined unit |
fuel_total_flow_rate | float | total engine fuel flow, per second |
fuel_transfer_active | bool | |
transfer_paths | repeated FuelTransferPath | |
crossfeed_enabled | bool | |
selected_feed_source_store_id | string | references ResourceStoreEntry.store_id |
refuel_active | bool | |
active_dump_source_store_id | string | references ResourceStoreEntry.store_id |
extra_data | repeated KeyValuePair |
Fixed-wing aircraft
FWADataComponent — FWADataComponent
| Field | Type | Description |
|---|---|---|
gear_warning_value | int32 | |
anti_skid_brakes_active | bool | |
steer_input_control | float | |
stall_warning | bool | |
overspeed_warning | bool | |
indicated_altitude | float | |
kohlsman_setting | Float2 | Altimeter Pressure Reference Setting (MB/HG) |
altitude_indicator_pitch_degrees | float | |
altitude_indicator_bank_degrees | float | |
altitude_bars_position | float | |
compass_indication_degrees | float | |
plane_gyro_heading_degrees | float | |
gyro_drift_error | float | |
heading_delta_rate | float | |
turn_coordinator_ball | float | Slip/Skid Indicator for coordinated Turn |
aoa_indicator | float | |
radio_height | float | |
airspeed_calibrated | float | |
airspeed_barber_pole | float | |
airspeed_mach | float | |
max_operational_mach | float | |
barber_pole_mach | float | |
attitude_cage | float | |
extra_data | repeated KeyValuePair |
FWAControlSurfacesComponent — Fixed-wing control surface positions and trim. Conventions across fields: *_position = commanded surface position (normalized, sign gives direction); *_deflection = physical deflection in degrees; *_deflection_percentage and *_trim_percentage = percent of available travel; *_trim_value = trim setting.
| Field | Type | Description |
|---|---|---|
aileron_position | float | commanded, normalized |
elevator_position | float | commanded, normalized |
rudder_position | float | commanded, normalized |
aileron_left_deflection | float | degrees |
aileron_left_deflection_percentage | float | percent of travel |
aileron_right_deflection | float | degrees |
aileron_right_deflection_percentage | float | percent of travel |
aileron_trim_value | float | |
aileron_trim_percentage | float | |
rudder_trim_value | float | |
rudder_trim_percentage | float | |
rudder_deflection | float | degrees |
rudder_deflection_percentage | float | percent of travel |
elevator_trim_value | float | |
elevator_trim_percentage | float | |
elevator_deflection | float | degrees |
elevator_deflection_percentage | float | percent of travel |
current_experienced_g_force | float | g |
spoilers_position | int32 | commanded detent, 0-based; 0 = retracted, max is aircraft-specific |
spoiler_speed_damage | bool | spoilers deployed above safe speed |
flaps_position | int32 | commanded detent, 0-based; 0 = retracted, max is aircraft-specific |
flap_speed_damage | bool | flaps deployed above safe speed |
flaps_position_percentage | float | physical extension, percent of travel (complements the flaps_position detent) |
FWAInputComponent — Pilot control inputs for a fixed-wing aircraft (as commanded by the operator, before control-law processing).
| Field | Type | Description |
|---|---|---|
yoke_value | Float2 | Yoke/stick input: x = roll (aileron), y = pitch (elevator). |
rudder_value | float | Rudder pedal input, percent of travel. |
toe_brakes_left | float | Toe brake input, per pedal (0 = off, 1 = full). |
toe_brakes_right | float | |
throttle_lever_position | float | physical lever position |
commanded_throttle | float | resulting throttle command |
autothrottle_active | bool | |
afterburner_active | bool | |
reverse_thrust_active | bool |
Rotary-wing aircraft
RotaryInputComponent — Pilot control inputs for a rotary-wing (helicopter) aircraft.
| Field | Type | Description |
|---|---|---|
cyclic_stick_limit | Float2 | max cyclic travel: x = lateral, y = longitudinal |
cyclic_stick_position | Float2 | current cyclic: x = lateral, y = longitudinal |
collective_input | float | collective lever, normalized |
pedal_input | float | anti-torque pedal input |
minimum_pedal_input | float | |
maximum_pedal_input | float | |
pitch_actuator_position | float | resulting swashplate/actuator positions |
yaw_actuator_position | float | |
roll_actuator_position | float | |
rotor_brake_enabled | bool |
RotaryWingDataComponent — Rotary-wing drivetrain state: rotor torques and trim.
| Field | Type | Description |
|---|---|---|
main_rotors_torque | repeated float | torque per main rotor |
tail_rotor_torque | float | |
engine_torque_limit | float | max allowable torque |
rotor_longitudinal_trim | float | |
rotor_lateral_trim | float |
UAS
UASControlsComponent — Operator controls and autonomy state for an unmanned aircraft (UAS).
| Field | Type | Description |
|---|---|---|
left_control_stick | Float2 | operator stick inputs |
right_control_stick | Float2 | |
throttle | float | 0..1 |
throttle_trim | float | |
landing_gear | bool | true = down |
wheel_brakes_enabled | bool | |
gimbal | Float3 | payload gimbal: x = pitch, y = yaw, z = roll (degrees) |
camera_capture | bool | capture/record active |
camera_trigger | bool | single-shot trigger |
distance_from_takeoff_location | float | meters |
altitude_control_enabled | bool | |
attitude_control_enabled | bool | |
position_hold_enabled | bool | |
auto_hover_enabled | bool | |
auto_takeoff | bool | |
auto_takeoff_abort | bool | |
auto_landing | bool | |
auto_landing_abort | bool | |
rtb_activated | bool | return-to-base engaged |
force_land_enabled | bool | |
geofence_indication | bool | geofence boundary reached |
geofence_action | int32 | action taken on geofence breach (source-defined code) |
manual_flight_mode | bool | |
following_waypoint | bool |
UASMotorComponent — State of one UAS propulsion motor. A multi-rotor carries one per motor.
| Field | Type | Description |
|---|---|---|
state | bool | true = running |
motor_rpm | float | revolutions per minute |
thrust_angle | float | tilt/vector angle of the motor, degrees |
damaged | bool |
UASDataLinkComponent — Health of a UAS’s command-and-control links (control, video, telemetry). This is link health, distinct from DataLinkComponent (tactical datalink networks).
| Field | Type | Description |
|---|---|---|
control_data_link | bool | control link up |
control_signal_strength | float | |
video_transmission_link | bool | video downlink up |
video_signal_strength | float | |
telemetry_data_link | bool | telemetry link up |
telemetry_signal_strength | float | |
adsb_emergency | int32 | ADS-B emergency/squawk code (source-defined) |
signal_strength_warning | bool | any link below safe strength |
Electronic warfare and sensors
SignatureComponent — Detectability signatures of the entity: how it presents to radar and IR sensors. Truth values (the entity’s actual signature), distinct from what any observer perceives.
| Field | Type | Description |
|---|---|---|
radar_cross_section_m2 | float | effective RCS; absent = not modeled |
ir_signature_engine | float | IR signatures are source-normalized relative intensities (unitless): comparable within a single capture, not across sources. Absent = not modeled. |
ir_signature_barrel_or_launcher | float | |
ir_signature_wheels_or_tracks | float |
EmissionComponent — Current emission picture of the entity: every emitter and its active mode. Sampled per frame. Mode transitions (search -> acquisition -> track, a threat-escalation signal) are also emitted as EmissionEvent on change.
| Field | Type | Description |
|---|---|---|
emitters | repeated Emitter |
ReceiverCharacteristicsComponent — Design parameters for every receiver on the entity. For detailed detection-model analytics.
| Field | Type | Description |
|---|---|---|
receivers | repeated ReceiverCharacteristics |
ReceiverEnvironmentComponent — Per-receiver local conditions for every receiver on the entity.
| Field | Type | Description |
|---|---|---|
receivers | repeated ReceiverEnvironment |
RfEnvironmentComponent — Background RF conditions of the battlefield. Attaches to a dedicated environment entity (following the CloudDataComponent convention), not to a combatant. Region polygons change rarely: emit on change only, never per frame.
| Field | Type | Description |
|---|---|---|
ambient_noise_regions | repeated AmbientNoiseRegion |
SensorContactsComponent — All contacts currently held by the owning entity’s sensors, sampled per frame. Complements TargetDataComponent (the target’s own view of being tracked); the two are different perspectives and never share fields.
| Field | Type | Description |
|---|---|---|
contacts | repeated SensorContact |
IffComponent — Identification Friend or Foe transponder/interrogator state of the entity. Mirrors the DIS IFF PDU. Per IFF mode, an enabled flag plus (for non-crypto modes) the code currently set.
| Field | Type | Description |
|---|---|---|
system_mode | IffSystemMode | |
aircraft_address | uint32 | platform address / track number |
aircraft_identification | string | callsign or flight id |
mode1_enabled | bool | |
mode1_code | string | mission code |
mode2_enabled | bool | |
mode2_code | string | unit code |
mode3a_enabled | bool | |
mode3a_code | string | Mode 3/A squawk |
mode4_enabled | bool | Modes 4 and 5 are crypto modes: carry enabled + valid flags only, never codes or PINs, even simulated ones. The analytic question is whether the interrogation succeeded, not what the code was; this also removes the sensitivity concern entirely. |
mode4_valid | bool | true = valid crypto reply |
mode5_enabled | bool | |
mode5_valid | bool | true = valid crypto reply |
modec_enabled | bool | Mode C altitude reporting |
modes_enabled | bool | Mode S |
Sonar
PassiveSonarDetectionComponent — Passive sonar picture: per-beam signal levels against a detection threshold. Single-sonar platforms use the top-level threshold/sonar_beams fields. Multi-sonar platforms fill sonars instead; when sonars is non-empty it carries the whole picture and the top-level fields are left empty.
| Field | Type | Description |
|---|---|---|
threshold | float | detection threshold, dB |
sonar_beams | repeated PassiveSonarBeamData | |
sonars | repeated PassiveSonar |
SonobuoyDataComponent — State of a deployed sonobuoy (itself an entity). Lifetimes and depth plus a deployment lifecycle status.
| Field | Type | Description |
|---|---|---|
total_lifetime | float | designed operating life, seconds |
lifetime_remaining | float | remaining operating life, seconds |
operational_depth | float | hydrophone depth, meters |
status | SonobuoyStatus |
Environment
AirDataComponent — Atmospheric conditions at the entity: temperatures, pressures, wind, and weather.
| Field | Type | Description |
|---|---|---|
ambient_air_temperature | float | Ambient air temperature (°C) |
total_air_temperature | float | Temperature including Kinetic Heating in high speed conditions (°C) |
air_pressure | float | Air pressure (mbar) |
sea_level_pressure | float | Standardised Sea Level Pressure (mbar) |
density | float | Air density (slugs/ft³) |
wind_velocity | float | Windspeed - Knots(kn/kt) |
wind_direction | Float3 | Direction Vector of Wind in World space |
relative_wind_direction | Float3 | Direction of wind relative to Entities Forward direction. |
surface_wind_direction | float | direction from which the wind is blowing, measured clockwise in degrees from true north (degrees) |
surface_wind_speed | float | Wind speed near the earth surface (normally 10 meters above ground level) (m/s) |
speed_of_sound | float | Speed of sound (in meters per sec) |
absolute_humidity | float | The mass of water vapor present in a given volume of air (g/m^3) |
turbulence_severity | TurbulenceSeverityState | Turbulence severity type - 0: smooth, 1: light, 2: Moderate, 3: Severe, 4: extreme |
precipitation_altitude | float | the altitude above Mean Sea Level at which precipitation occurs (meters) |
CloudDataComponent — Local visibility and cloud/fog conditions at the entity.
| Field | Type | Description |
|---|---|---|
fog_density | float | Density level of Simulated fog |
visibility | float | Visibility Range in Meters |
in_cloud | bool | flag for if object is In Cloud; |
cloud_density | float | Percentage of sky covered by clouds |
Combat and tactical
CombatStateComponent — Command-and-control combat posture of the entity: its affiliation, weapons and engagement stance, EMCON policy, and engagement envelope.
| Field | Type | Description |
|---|---|---|
affiliation | ForceAffiliation | truth affiliation of this entity |
weapons_posture | WeaponsPosture | |
engagement_posture | EngagementPosture | |
emission_control | EmissionControl | |
cleared_hot | bool | true = authorized to fire |
max_engagement_range_m | float | weapon envelope; absent = not reported |
TargetDataComponent — This entity’s own view of being targeted: whether it is locked, spotted, or visible. Perspective is the target’s; complements SensorContactsComponent (the sensor’s view of what it tracks).
| Field | Type | Description |
|---|---|---|
target_id | uint64 | identifier of the tracking source, if known |
target_type | string | String identifier for the type of target. |
target_lock | bool | Is there a current active target lock on this entity |
can_be_spotted | bool | Does this entity have Direct Line of Sight to Sim Users? |
is_spotted | bool | Has this entity been visually spotted |
WeaponLoadoutComponent — Full weapon loadout of the entity, one entry per station.
| Field | Type | Description |
|---|---|---|
stations | repeated WeaponStation |
DataLinkComponent — Every tactical datalink network the entity participates in. Distinct from UASDataLinkComponent, which carries link health (signal strength, warnings); no overlap.
| Field | Type | Description |
|---|---|---|
networks | repeated TdlNetwork |
RadioComponent — State of one radio/intercom asset as presented to the operator.
| Field | Type | Description |
|---|---|---|
asset_name | string | ”Radio1”, “Intercom2” etc. |
asset_type | string | radio / intercom / relay |
frequency_tx | string | ”243.000 MHz” |
frequency_rx | string | only when dual = true |
frequency_dual | bool | |
radio_band | string | HF / VHF / UHF / UHF SATCOM |
secure_enabled | bool | |
selected | bool | operator has this asset selected |
volume | int32 | 0–100 |
squelch_level | int32 | 0 = off, 1–100 |
Logistics
CapacityDataComponent — CapacityDataComponent Tracks capacity-like data for an entity (ammo, fuel, storage, etc.)
| Field | Type | Description |
|---|---|---|
object_type | string | Friendly name of the object type being tracked (e.g., “Ammunition”) |
max_value | int32 | Maximum capacity value |
current_value | int32 | Current value within the capacity |
ResourceStoresComponent
| Field | Type | Description |
|---|---|---|
stores | repeated ResourceStoreEntry |
Media streaming
StreamComponent — All streams captured from the entity this frame.
| Field | Type | Description |
|---|---|---|
sources | repeated StreamSource |
Supporting types
Nested message types referenced by the tables above. These are never attached to an entity directly; they only exist inside a component or event field.
BiometricReading — A single named biometric reading, used by BiometricSensorComponent and WearableBioSensorComponent. name scopes the value’s meaning and unit.
| Field | Type | Description |
|---|---|---|
name | string | |
value | float |
TdlNetwork — Participation of the entity in one tactical datalink network, used by DataLinkComponent. Networks are named by string (canonical vocabulary) rather than per-network booleans, so new networks need no schema change.
| Field | Type | Description |
|---|---|---|
network | string | canonical vocabulary: “LINK16”, “LINK11”, “SADL”, … |
ppli_enabled | bool | position/participant location reporting |
track_reporting_enabled | bool | surveillance track transmission |
command_messages_enabled | bool |
FuelTransferPath — An active or configured fuel transfer between two stores, used by FuelSystemComponent. source_store_id/destination_store_id reference ResourceStoreEntry.store_id on the same entity.
| Field | Type | Description |
|---|---|---|
source_store_id | string | |
destination_store_id | string | |
transfer_rate | float | mass or volume per second, source-defined unit |
active | bool |
AircraftDisplayStateEntry — State of one cockpit display, used by AircraftDisplayStateComponent.
| Field | Type | Description |
|---|---|---|
display_id | string | display identifier, entity-scoped |
role | AircraftDisplayRole | |
active_page | string | currently shown page/format |
WeaponStation — One weapon station (hardpoint) on the entity and what it carries, used by WeaponLoadoutComponent.
| Field | Type | Description |
|---|---|---|
hardpoint_index | uint32 | station position, entity-scoped |
weapon_name | string | |
weapon_function | string | canonical vocabulary (e.g. “AAM”, “AGM”, “GUN”) |
quantity | int32 | rounds remaining; absent = not tracked; 0 = empty station |
selected | bool | true = currently selected weapon |
store_id | string | references ResourceStoreEntry.store_id on the same entity; optional. When both are present, the resource store is authoritative for quantity |
Emitter — A single active emitter mode on the owning entity (radar, jammer, datalink, beacon, etc.), sampled as steady state, used by EmissionComponent. One entity may carry several. Mirrors the DIS Electromagnetic Emission PDU emitter system + beam record.
| Field | Type | Description |
|---|---|---|
emitter_id | uint64 | stable identity of this emitter within the owning entity; scoped to the entity, not global (the global key is the pair entity_id, emitter_id) |
name | string | human-readable emitter label |
device_type | string | equipment/type designation of the emitter |
device_id | uint32 | device ordinal within the entity |
mode_id | uint32 | active mode ordinal within the device |
mode_name | string | source-specific mode label, e.g. “SEARCH-A” |
function | EmitterFunction | |
is_transmitting | bool | true = actively radiating this frame |
effective_radiated_power_dbw | float | absent = not reported |
peak_power_w | float | absent = not reported |
average_power_w | float | absent = not reported |
pulse_repetition_interval_s | float | absent = unknown; 0 = continuous wave |
frequency_min_hz | float | low edge of tuned range; absent = not reported |
frequency_max_hz | float | high edge of tuned range; absent = not reported |
scan_pattern | ScanPattern | |
antenna_boresight_deg | Float2 | x = azimuth, y = elevation (instantaneous) |
beamwidth_deg | Float2 | x = azimuth, y = elevation |
antenna_az_limit_deg | Float2 | min/max azimuth slew |
antenna_el_limit_deg | Float2 | min/max elevation slew |
ReceiverCharacteristics — Static design parameters of one receiver on the owning entity, used by ReceiverCharacteristicsComponent. These are properties of the hardware/mode definition and change only on mode switch; emit on change. Dynamic local conditions live in ReceiverEnvironment; the two share no fields.
| Field | Type | Description |
|---|---|---|
receiver_id | uint64 | stable id, same scoping scheme as emitter_id (entity-scoped) |
emitter_id | uint64 | paired emitter/sensor id when receiver is part of a transceiver; 0 if none |
frequency_min_hz | float | low edge of tuned range |
frequency_max_hz | float | high edge of tuned range |
bandwidth_hz | float | |
sensitivity_dbm | float | minimum detectable signal |
mti_min_velocity_mps | float | moving-target-indicator velocity gate |
clutter_rejection_db | float | |
noise_figure_db | float | |
receiver_loss_db | float | |
required_snr_db | float | SNR needed for detection |
receiver_antenna_gain_db | float | |
pulse_compression_gain_db | float |
ReceiverEnvironment — Dynamic local RF/terrain conditions at one receiver, sampled per frame, used by ReceiverEnvironmentComponent. Static design parameters live in ReceiverCharacteristics; pairwise link properties (masking to a specific target) live on SensorContact.
| Field | Type | Description |
|---|---|---|
receiver_id | uint64 | joins ReceiverCharacteristics.receiver_id (entity-scoped) |
emitter_id | uint64 | paired emitter/sensor id when applicable; 0 if none |
ambient_noise_dbw | float | in-band ambient noise at the receiver location |
look_down_factor | float | clutter degradation looking down vs up |
terrain_elevation_msl_m | float | terrain height under the receiver (0 = sea level, real) |
terrain_relative_slope_deg | float | local terrain slope (0 = flat, real) |
AmbientNoiseRegion — A region of background RF noise: a spectral profile applied over a geographic polygon, optionally filtered to a side/domain, used by RfEnvironmentComponent. Global environment state, not tied to any single platform.
| Field | Type | Description |
|---|---|---|
region_id | uint64 | |
frequency_min_hz | float | low edge of the region’s spectrum |
frequency_max_hz | float | high edge of the region’s spectrum |
spectral_density_dbw_per_hz | repeated Float2 | x = frequency_hz, y = noise density |
polygon_points_deg_m | repeated Float3 | boundary vertices: x = lat_deg, y = lon_deg, z = altitude_m |
affiliation_filter | ForceAffiliation | side the region applies to; UNSPECIFIED = all |
domain_filter | uint32 | domain bitmask if the source distinguishes air/land/maritime; 0 = all |
SensorContact — One tracked contact held by a sensor on the owning entity, used by SensorContactsComponent. Sensor-side view of the tactical picture (who this entity detects/tracks/locks).
| Field | Type | Description |
|---|---|---|
target_entity_id | uint64 | truth id of the tracked entity; 0 if unresolved/unknown track |
sensor_emitter_id | uint64 | emitter/sensor holding the contact; scoped to the owning (envelope) entity |
state | ContactState | |
range_m | float | slant range to target; absent = not measured |
bearing_deg | float | azimuth to target; absent = not measured |
elevation_deg | float | elevation to target; absent = not measured |
aspect_deg | float | target aspect angle; absent = not computed |
closure_mps | float | range rate, positive = closing; absent = not computed |
quality | float | track confidence 0..1 (SNR-derived); absent = not reported |
time_last_seen | Timestamp | |
classified_affiliation | ForceAffiliation | perceived affiliation of the contact, not truth |
sensed_position | LLAPosition | perceived position: where the sensor believes the target is |
terrain_masked | bool | terrain masking of the sensor-to-target line of sight; absent = not evaluated |
recognition_level | RecognitionLevel | how far this contact has been discriminated; absent = source does not report it |
asw_classification | AswClassification | perceived ASW classification of a subsurface contact; absent = not a subsurface contact or not classified |
XrPosef — A pose: orientation plus position, in tracking space. Used by SpatialComponent.
| Field | Type | Description |
|---|---|---|
orientation | Quaternion | |
position | Float3 |
RawImage — A raw image buffer with its dimensions. Used by SpatialComponent.
| Field | Type | Description |
|---|---|---|
width | uint32 | pixels |
height | uint32 | pixels |
buffer | bytes | raw pixel data |
HandState — Hand-tracking state: the tracked joints and which hand. Used by SpatialComponent.
| Field | Type | Description |
|---|---|---|
joints | repeated HandJoint | typically 26 joints |
is_tracked | bool | true = hand currently tracked |
is_left | bool | true = left hand, false = right |
HandJoint — One tracked hand joint.
| Field | Type | Description |
|---|---|---|
position | Float3 | |
orientation | Quaternion | |
radius | float | joint size, meters |
AudioSource — A single audio stream, one variant of StreamSource.
| Field | Type | Description |
|---|---|---|
name | string | canonical stream name; e.g. “audio.cockpit” |
volume | float | playback level, 0..1; absent = not reported (0 = muted, a real value) |
sample_rate_hz | uint32 | samples per second, e.g. 48000; absent = not reported |
channels | uint32 | channel count (1 = mono, 2 = stereo); absent = not reported |
sample_format | string | sample format of raw PCM audio_data, e.g. S16LE, S24LE, S32LE, F32LE, U8 (append BE for big-endian); absent = not raw PCM / not reported |
codec | string | encoding of audio_data; empty = raw PCM, otherwise the codec, e.g. “OPUS”, “AAC”, “MP3”, “FLAC”, “VORBIS” |
audio_data | bytes | raw PCM when codec is empty, else encoded with codec |
VideoSource — A single video stream, one variant of StreamSource.
| Field | Type | Description |
|---|---|---|
name | string | canonical stream name; e.g. “eye.left” |
frame_rate | float | frames per second; absent = not reported |
width | uint32 | pixels |
height | uint32 | pixels |
pixel_format | string | native pixel layout of a raw frame, e.g. RGBA, BGRA, ARGB, ABGR, RGB, BGR, RG, R, or with a depth/type suffix (RGBA16, R16F, RGBA32F), or packed video (NV12, YUV420P, YUYV); absent = not a raw buffer / not reported |
codec | string | encoding of video_data; empty = raw pixels, otherwise the codec, e.g. “H264”, “HEVC”, “VP9”, “AV1”, “MJPEG”, “PNG” |
video_data | bytes | raw pixels when codec is empty, else encoded with codec |
RawSource — A single opaque data stream, for anything not audio or video. One variant of StreamSource.
| Field | Type | Description |
|---|---|---|
name | string | canonical stream name; e.g. “raw.telemetry” |
raw_data | bytes | opaque payload; interpretation is keyed by name |
StreamSource — One stream of exactly one kind, held in StreamComponent.sources. oneof source: exactly one of the following.
| Field | Type | Description |
|---|---|---|
audio_source | AudioSource | |
video_source | VideoSource | |
raw_source | RawSource |
ResourceStoreEntry — One resource store (fuel tank, ammo bin, battery, etc.) on the entity, used by ResourceStoresComponent.
| Field | Type | Description |
|---|---|---|
resource_type | ResourceType | |
resource_type_label | string | |
store_id | string | stable id of the store, entity-scoped |
store_label | string | |
current_quantity | float | amount remaining; absent = quantity not tracked; 0 = genuinely empty (a real, analytically distinct value) |
max_quantity | float | |
unit | ResourceUnit | |
unit_label | string | |
jettisonable | bool | |
extra_data | repeated KeyValuePair | |
location | StoreLocation |
UTMPosition — UTM (Universal Transverse Mercator) alternative to the geographic position on WorldPositionComponent.
| Field | Type | Description |
|---|---|---|
utm_zone | string | e.g. “33T” |
utm_eastings | int32 | meters |
utm_northings | int32 | meters |
PassiveSonarBeamData — One passive sonar beam and its current signal level, used by PassiveSonarDetectionComponent and PassiveSonar.
| Field | Type | Description |
|---|---|---|
angle | float | beam bearing, degrees |
operture | float | beam aperture (width), degrees. Field name misspells “aperture”; frozen for wire compatibility |
level | float | received signal level, dB |
has_detection | bool | level exceeds threshold |
PassiveSonar — One passive sonar on a multi-sonar platform (hull array, towed array, dipping sonar), with its own threshold and beam picture, used by PassiveSonarDetectionComponent.
| Field | Type | Description |
|---|---|---|
sonar_id | uint64 | stable id of this sonar within the owning entity, same entity-scoped scheme as emitter_id/receiver_id |
threshold | float | detection threshold, dB |
beams | repeated PassiveSonarBeamData |
CommandsPositions — A single position referenced by a command (waypoint, target point, etc.), used by CommandsEvent. oneof position: exactly one of the following.
| Field | Type | Description |
|---|---|---|
sim_position | SimulationPosition | |
lla_position | LLAPosition | |
ecef_position | ECEFPosition |
SimulationPosition — A local-frame position, used by CommandsEvent and ReportsEvent. Predates the LLAPosition/ECEFPosition convention.
| Field | Type | Description |
|---|---|---|
position | Float3 |
Question — A single questionnaire item with the trainee’s answer and the key, used by QuestionGroup.
| Field | Type | Description |
|---|---|---|
id | int32 | |
timestamp | Timestamp | when answered (wall-clock UTC) |
question_text | string | |
user_answer | string | trainee’s answer |
correct_answer | string | answer key |
is_correct | bool | absent = not graded |
QuestionGroup — A named group of questions within a questionnaire, used by QuestionnaireEvent.
| Field | Type | Description |
|---|---|---|
id | int32 | |
name | string | |
timestamp | Timestamp | when the group was presented/completed |
questions | repeated Question |
JsonData — A JSON document carried as a string, used by JsonEventData.
| Field | Type | Description |
|---|---|---|
json | string |
Events
Two message families carry events. Every occurrence emits a TrackingEvent (the countable
timeline; see The simulation frame). A source that has structured detail
for the occurrence also emits an EntityDataEvent alongside it, carrying one of the 22 typed
payloads below through its event_data oneof.
Each event’s envelope entity_id (on the enclosing EntityDataEvent) is documented per event
below, since the perspective changes: for FiredEvent it is the firing entity, for HitEvent the
victim, and so on.
BookmarkEvent — A user-authored marker tagging a moment in the capture, e.g. for later review or clipping. Envelope entity_id per EntityDataEvent conventions.
| Field | Type | Description |
|---|---|---|
id | int32 | |
name | string | |
message | string | |
mode | BookmarkMode | |
recording_file | string | absent = not known |
ButtonPressEvent — A button/control interaction. Envelope entity_id = the acting entity.
| Field | Type | Description |
|---|---|---|
button_name | string | control identifier |
state | ButtonState | absent = not reported (see enum note) |
CollisionEvent — A physical collision. Envelope entity_id = the subject entity. Field 4 is declared first here; declaration order is cosmetic, only field numbers are wire-significant.
| Field | Type | Description |
|---|---|---|
other_entity_id | uint64 | collision partner; 0 for terrain/static |
collision_point | Float3 | world position of contact |
collision_normal | Float3 | surface normal at contact (unit vector) |
impact_force | float | newtons, source-normalized; absent = not reported |
CommandsEvent — A command/order issued to or by an entity, with any associated positions. Envelope entity_id = the commanded/issuing entity.
| Field | Type | Description |
|---|---|---|
positions | repeated CommandsPositions | positions the command refers to |
type | string | Command type. Use a documented canonical vocabulary rather than free-form values, so commands aggregate across sources. |
CommsEvent — A communication transmission. Envelope entity_id = the transmitting entity.
| Field | Type | Description |
|---|---|---|
comms_type | CommsType | absent = not reported (see enum note) |
frequency | string | display string (e.g. “243.000 MHz”); numeric work uses _hz fields elsewhere |
target | string | addressed recipient, if any |
content | string | message content |
secure | bool | true = encrypted channel |
radio_band | string | band label (e.g. “UHF”, “VHF”) |
CountermeasureEvent — Deployment of a defensive expendable (chaff, flare, decoy). Envelope entity_id = the deploying entity. Active jamming is covered by EmissionEvent/JammingEvent, not here.
| Field | Type | Description |
|---|---|---|
countermeasure_name | string | |
countermeasure_type | string | canonical vocabulary: “CHAFF”, “FLARE”, “DECOY”, “SMOKE”, “DRFM” |
quantity | int32 | number dispensed; absent = not reported |
threat_entity_id | uint64 | threat being defeated; 0 if unknown |
DetonationEvent — A munition detonation. Pairs with the DETONATION / MISSED / HIT tracking verbs and mirrors the DIS Detonation PDU. Envelope entity_id is the munition or firing entity per source convention; munition_entity_id is the authoritative join key. Closes the shot-to-outcome loop: FiredEvent.bullet_entity_id == munition_entity_id == HitEvent.bullet_entity_id.
| Field | Type | Description |
|---|---|---|
munition_entity_id | uint64 | joins FiredEvent.bullet_entity_id |
target_entity_id | uint64 | intended target; 0 if none |
result | DetonationResult | |
miss_distance_m | float | standard training metric; absent = not computed |
position | LlaPosition | detonation point (double lat/lon/alt) |
EmissionEvent — Emission start/stop or mode transition of an emitter. Pairs with the RADAR_EMISSION_STARTED/STOPPED and MODE_CHANGED tracking verbs. A mode transition is emitted as active = true carrying the new function/mode. Envelope entity_id = the emitting entity.
| Field | Type | Description |
|---|---|---|
emitter_id | uint64 | emitter on the envelope entity; (entity_id, emitter_id) is the global key |
function | EmitterFunction | |
active | bool | true = emission on / mode entered, false = emission off |
frequency_hz | float | absent = not reported |
effective_radiated_power_dbw | float | absent = not reported |
mode_id | uint32 | |
mode_name | string | source-specific mode label |
EsmContactEvent — A passive RF detection by an ESM/RWR receiver. Pairs with the ESM_CONTACT_DETECTED/LOST tracking verbs. Envelope entity_id = the detecting entity (the ESM/RWR owner).
| Field | Type | Description |
|---|---|---|
emitter_entity_id | uint64 | truth id of the emitting entity; 0 if unresolved |
bearing_deg | float | bearing to the emitter; absent = not measured |
frequency_hz | float | detected frequency; absent = not measured |
function | EmitterFunction | |
emitter_type | string | recognized emitter designation, if any (perceived) |
signal_strength_dbm | float | received power; absent = not reported (0 dBm is a real value) |
FaultEvent — A fault/failure lifecycle event on a system. Envelope entity_id = the affected (subject) entity.
| Field | Type | Description |
|---|---|---|
state | FaultState | |
fault_type | string | fault category, e.g. “engine_failure”, “hydraulic_leak” |
fault_name | string | human-readable name if different from type |
FiredEvent — A weapon launch/fire. Envelope entity_id = the firing entity.
| Field | Type | Description |
|---|---|---|
bullet_entity_id | uint64 | Munition entity id. Join key across the engagement chain: == DetonationEvent.munition_entity_id == HitEvent.bullet_entity_id. |
weapon_name | string | |
munition_name | string | |
target_entity_id | uint64 | assigned target at launch; 0 if none |
weapon_function | string | canonical vocabulary (e.g. “AAM”, “AGM”, “GUN”) |
time_of_flight_s | float | absent = not reported |
laser_code | int32 | designator code the weapon rides; joins LasedEvent.laser_code; absent = none |
gps_jammed | bool | GPS jammed at launch |
gps_meaconed | bool | GPS meaconed (spoofed) at launch |
HitEvent — A weapon impact on an entity. Envelope entity_id = the hit (victim) entity; the shooter is recovered by joining bullet_entity_id to FiredEvent.
| Field | Type | Description |
|---|---|---|
bullet_entity_id | uint64 | Munition entity id. Join key: == FiredEvent.bullet_entity_id == DetonationEvent.munition_entity_id. |
hit_location | string | impacted region/part label |
damage_amount | float | Damage dealt, source-normalized scale. Absent = damage not modeled; 0 = a real no-damage hit. |
IdentificationEvent — Pairs with TRACKING_EVENT_TYPE_IDENTIFIED. Perceived classification at the moment of declaration, not truth. Envelope entity_id = identifying entity. Comparing declared_affiliation against the target’s actual affiliation is the fratricide / ROE-compliance analysis.
| Field | Type | Description |
|---|---|---|
target_entity_id | uint64 | |
declared_affiliation | ForceAffiliation | |
method | string | canonical vocabulary: “VISUAL”, “IFF”, “NCTR”, “DATALINK”, “ESM” |
declared_type | string | recognized platform type, if any (perceived) |
JammingEvent — A jamming effect experienced by a victim receiver. Pairs with the JAMMED tracking verb. Victim-perspective: envelope entity_id = the jammed (victim) entity, which is where the analytic value is (“my radar was degraded by X at time T”). The jammer’s own on/off is covered by EmissionEvent with EMITTER_FUNCTION_JAMMING; there is no jammer-side variant of this event.
| Field | Type | Description |
|---|---|---|
source_entity_id | uint64 | jammer entity truth id; 0 if unresolved |
source_emitter_id | uint64 | jammer’s emitter; global key is (source_entity_id, source_emitter_id) |
victim_receiver_id | uint64 | which of the victim’s receivers is affected |
technique | string | canonical vocabulary (e.g. “NOISE”, “DECEPTION”, “DRFM”) |
bandwidth_hz | float | jammed bandwidth; absent = not reported |
jam_to_signal_ratio_db | float | absent = not reported |
effectiveness | float | 0..1; absent = not reported |
denied | bool | target track denied |
degraded | bool | track degraded but held |
decoyed | bool | track pulled onto a false target |
noise_limited | bool | outcome dominated by noise |
clutter_limited | bool | outcome dominated by clutter |
terrain_masked | bool | line of sight terrain-masked |
JsonEventData — An escape-hatch event carrying a named JSON payload, for source-specific data that has no typed event. Not aggregation-friendly; prefer a typed event where one exists.
| Field | Type | Description |
|---|---|---|
event_name | string | event identifier |
data | JsonData | JSON payload |
LasedEvent — A laser designation. Envelope entity_id = the lasing entity.
| Field | Type | Description |
|---|---|---|
target_entity_id | uint64 | lased target; absent if none |
distance | float | Range to target, meters (name predates the unit-suffix rule). Absent = not measured; 0 = a real zero-range reading. |
laser_code | int32 | Designator code emitted. Joins FiredEvent.laser_code for designator-to- weapon handoff analysis. Absent = no code / not reported. |
MultiStateChangedEvent — A state transition for a multi-state control, carrying the current state and the full set of states it can take. Envelope entity_id = the subject entity.
| Field | Type | Description |
|---|---|---|
state | string | current state label |
available_states | repeated string | all possible states |
QuestionnaireEvent — A completed training questionnaire. Envelope entity_id = the trainee entity.
| Field | Type | Description |
|---|---|---|
id | int32 | |
name | string | |
question_groups | repeated QuestionGroup |
ReportsEvent — A situation report: a perceived contact’s position, affiliation, and type. Perceived (what the reporter believes), not truth.
| Field | Type | Description |
|---|---|---|
sim_position | SimulationPosition | |
lla_position | LlaPosition | |
ecef_position | EcefPosition | |
type | ReportsMarkerType | perceived affiliation; absent = not reported (see enum note) |
unit_type | ReportsUnitType | perceived unit type; absent = not reported (see enum note) |
StateChangedEvent — A generic state transition. Envelope entity_id = the entity whose state changed. state is the new state label.
| Field | Type | Description |
|---|---|---|
state | string |
TargetTrackingEvent — A detection/lock/release transition against a target. Envelope entity_id = the sensing entity. Payload enrichment for the DETECTED / TARGETLOCKED / TARGETRELEASED tracking verbs: the TrackingEvent is the countable record, this carries the extra state/strength/reason (see the emission contract on EntityDataEvent).
| Field | Type | Description |
|---|---|---|
state | TargetTrackingState | |
target_entity_id | uint64 | truth id of the tracked entity |
sensor_or_lock_type | string | e.g. “radar”, “visual”, “missile_lock” |
strength | float | detection confidence / lock strength, 0..1 |
reason | string | for release: e.g. “manual”, “lost_lock” |
ThresholdEvent — A monitored value crossing a threshold. Envelope entity_id = the subject entity. value and threshold_value are unitless by design: the threshold_name scopes their meaning.
| Field | Type | Description |
|---|---|---|
threshold_name | string | what is being monitored (scopes the values) |
value | float | Observed value at the crossing. Absent = value unavailable; 0 = a real crossing at exactly zero. |
threshold_value | float | the threshold that was crossed |
Transport wrappers
Messages that carry an arbitrary payload rather than defining simulation data themselves. Other HEAT products, not ProtoLib, define the transport these travel over; see each product’s own Interface Control Document.
DataPacket — a single captured payload with its origin and capture time.
| Field | Type | Description |
|---|---|---|
timestamp_unix_ms | int64 | wall-clock UTC capture time, ms since epoch. Kept as a raw int64 for backward compatibility with existing captures |
origin_uuid | string | origin identifier (user/seat/pod); stable per capture session |
payload | google.protobuf.Any | arbitrary protobuf payload, typically a SimulationFrame |
DataPacketBundle — a batch of packets sharing a bundle-level capture time.
| Field | Type | Description |
|---|---|---|
timestamp_unix_ms | int64 | wall-clock UTC, ms since epoch |
packets | repeated DataPacket |
PDU — a raw binary payload, for transports (such as DIS) that HEAT ProtoLib does not model as typed messages.
| Field | Type | Description |
|---|---|---|
payload | bytes |
FolderUploadData — a file upload wrapper.
| Field | Type | Description |
|---|---|---|
content | bytes |
Enums
Every enum referenced by a component, event or supporting type above. _UNSPECIFIED = 0 is the
proto3 default; a small number of older enums predate that convention and are flagged in their own
description.
AircraftAutopilotLateralMode — Autopilot lateral (roll axis) guidance mode.
| Value | Number |
|---|---|
AIRCRAFT_AUTOPILOT_LATERAL_MODE_UNSPECIFIED | 0 |
AIRCRAFT_AUTOPILOT_LATERAL_MODE_HEADING_HOLD | 1 |
AIRCRAFT_AUTOPILOT_LATERAL_MODE_NAV | 2 |
AIRCRAFT_AUTOPILOT_LATERAL_MODE_APPROACH | 3 |
AircraftAutopilotVerticalMode — Autopilot vertical (pitch axis) guidance mode. VS = vertical speed.
| Value | Number |
|---|---|
AIRCRAFT_AUTOPILOT_VERTICAL_MODE_UNSPECIFIED | 0 |
AIRCRAFT_AUTOPILOT_VERTICAL_MODE_ALT_HOLD | 1 |
AIRCRAFT_AUTOPILOT_VERTICAL_MODE_VS | 2 |
AIRCRAFT_AUTOPILOT_VERTICAL_MODE_GLIDESLOPE | 3 |
AircraftDisplayRole — Cockpit display role. MFD = multi-function display, PFD = primary flight display, HUD_REPEATER = head-up display repeated on a panel.
| Value | Number |
|---|---|
AIRCRAFT_DISPLAY_ROLE_UNSPECIFIED | 0 |
AIRCRAFT_DISPLAY_ROLE_MFD | 1 |
AIRCRAFT_DISPLAY_ROLE_PFD | 2 |
AIRCRAFT_DISPLAY_ROLE_HUD_REPEATER | 3 |
AswClassification — ASW classification of a subsurface contact: the confidence ladder a sonar operator walks from first detection to confirmed submarine. Perceived, not truth. POSSUB grades 1 (lowest) to 4 (highest confidence); PROBSUB covers sources that report a single probable-submarine step instead of grades. DATUM and LOST_CONTACT describe a contact no longer held: DATUM = last known position of a lost submarine contact, kept as an analytic reference point.
| Value | Number |
|---|---|
ASW_CLASSIFICATION_UNSPECIFIED | 0 |
ASW_CLASSIFICATION_UNCLASSIFIED | 1 |
ASW_CLASSIFICATION_NONSUB | 2 |
ASW_CLASSIFICATION_POSSUB_1 | 3 |
ASW_CLASSIFICATION_POSSUB_2 | 4 |
ASW_CLASSIFICATION_POSSUB_3 | 5 |
ASW_CLASSIFICATION_POSSUB_4 | 6 |
ASW_CLASSIFICATION_PROBSUB | 7 |
ASW_CLASSIFICATION_CERTSUB | 8 |
ASW_CLASSIFICATION_LOST_CONTACT | 9 |
ASW_CLASSIFICATION_DATUM | 10 |
BookmarkMode
| Value | Number |
|---|---|
BOOKMARK_MODE_UNSPECIFIED | 0 |
BOOKMARK_MODE_RECORD | 1 |
BOOKMARK_MODE_REPLAY | 2 |
ButtonState — Button interaction state. Note: PRESSED = 0 predates the _UNSPECIFIED convention, so an absent enum value decodes as PRESSED; the state field is optional to distinguish absent from an explicit PRESSED.
| Value | Number |
|---|---|
BUTTON_STATE_PRESSED | 0 |
BUTTON_STATE_HOLD | 1 |
BUTTON_STATE_RELEASED | 2 |
BUTTON_STATE_CANCELED | 3 |
CommsType — Communication modality. Note: VOICE = 0 predates the _UNSPECIFIED convention, so an absent value decodes as VOICE; the comms_type field is optional to distinguish absent from an explicit VOICE.
| Value | Number |
|---|---|
COMMS_TYPE_VOICE | 0 |
COMMS_TYPE_TEXT | 1 |
COMMS_TYPE_TTS | 2 |
ContactState — Steady-state sensor hold on a target. Distinct from the transitional TargetTrackingState used by TargetTrackingEvent: that enum carries transitions such as RELEASED, this one carries steady states such as TRACKING.
| Value | Number |
|---|---|
CONTACT_STATE_UNSPECIFIED | 0 |
CONTACT_STATE_DETECTED | 1 |
CONTACT_STATE_TRACKING | 2 |
CONTACT_STATE_LOCKED | 3 |
DetonationResult — Outcome of a munition detonation.
| Value | Number |
|---|---|
DETONATION_RESULT_UNSPECIFIED | 0 |
DETONATION_RESULT_HIT | 1 |
DETONATION_RESULT_NEAR_MISS | 2 |
DETONATION_RESULT_MISS | 3 |
DETONATION_RESULT_SELF_DESTRUCT | 4 |
DETONATION_RESULT_GROUND_IMPACT | 5 |
EmissionControl — Emission control (EMCON) policy limiting active RF emissions.
| Value | Number |
|---|---|
EMISSION_CONTROL_UNSPECIFIED | 0 |
EMISSION_CONTROL_NO_RESTRICTIONS | 1 |
EMISSION_CONTROL_SILENT | 2 |
EMISSION_CONTROL_MINIMAL | 3 |
EMISSION_CONTROL_DISRUPTIVE | 4 |
EMISSION_CONTROL_AUTO | 5 |
EMISSION_CONTROL_MANUAL | 6 |
EmitterFunction — Purpose of an emitter mode. Aligned with the DIS Electromagnetic Emission PDU emitter function codes.
| Value | Number |
|---|---|
EMITTER_FUNCTION_UNSPECIFIED | 0 |
EMITTER_FUNCTION_SEARCH | 1 |
EMITTER_FUNCTION_HEIGHT_FINDING | 2 |
EMITTER_FUNCTION_ACQUISITION | 3 |
EMITTER_FUNCTION_TRACKING | 4 |
EMITTER_FUNCTION_ACQUISITION_TRACKING | 5 |
EMITTER_FUNCTION_COMMAND_GUIDANCE | 6 |
EMITTER_FUNCTION_ILLUMINATION | 7 |
EMITTER_FUNCTION_RANGE_ONLY | 8 |
EMITTER_FUNCTION_MISSILE_BEACON | 9 |
EMITTER_FUNCTION_MISSILE_FUZE | 10 |
EMITTER_FUNCTION_ACTIVE_SEEKER | 11 |
EMITTER_FUNCTION_JAMMING | 12 |
EMITTER_FUNCTION_IFF | 13 |
EMITTER_FUNCTION_NAV_WEATHER | 14 |
EMITTER_FUNCTION_DATALINK | 15 |
EMITTER_FUNCTION_OTHER | 99 |
EngagementPosture — Overall engagement stance of the entity toward threats.
| Value | Number |
|---|---|
ENGAGEMENT_POSTURE_UNSPECIFIED | 0 |
ENGAGEMENT_POSTURE_NORMAL | 1 |
ENGAGEMENT_POSTURE_PASSIVE | 2 |
ENGAGEMENT_POSTURE_AGGRESSIVE | 3 |
FaultState
| Value | Number |
|---|---|
FAULTS_STATE_UNSPECIFIED | 0 |
FAULTS_STATE_ASSIGNED | 1 |
FAULTS_STATE_ACTIVATED | 2 |
FAULTS_STATE_RESOLVED | 3 |
ForceAffiliation — Allegiance of an entity or contact. Used both for truth affiliation (on an entity) and for perceived/declared affiliation (on a contact or an identification event); the field comment states which in each case. ASSUMED_FRIEND and SUSPECT are provisional identities from the STANAG 1241 ladder: they occur only as perceived affiliation, never as truth.
| Value | Number |
|---|---|
FORCE_AFFILIATION_UNSPECIFIED | 0 |
FORCE_AFFILIATION_FRIENDLY | 1 |
FORCE_AFFILIATION_HOSTILE | 2 |
FORCE_AFFILIATION_NEUTRAL | 3 |
FORCE_AFFILIATION_UNKNOWN | 4 |
FORCE_AFFILIATION_ASSUMED_FRIEND | 5 |
FORCE_AFFILIATION_SUSPECT | 6 |
HeadlightMode — Headlight setting.
| Value | Number |
|---|---|
OFF | 0 |
PARKING | 1 |
LOW_BEAM | 2 |
HIGH_BEAM | 3 |
AUTO | 4 |
IffSystemMode — Overall operating state of the IFF transponder/interrogator.
| Value | Number |
|---|---|
IFF_SYSTEM_MODE_UNSPECIFIED | 0 |
IFF_SYSTEM_MODE_OFF | 1 |
IFF_SYSTEM_MODE_STANDBY | 2 |
IFF_SYSTEM_MODE_NORMAL | 3 |
IFF_SYSTEM_MODE_EMERGENCY | 4 |
LinkType
| Value | Number |
|---|---|
LINK_TYPE_UNSPECIFIED | 0 |
LINK_TYPE_FIXED_MOUNT | 1 |
LINK_TYPE_ARTICULATED_MOUNT | 2 |
LINK_TYPE_TOWED | 3 |
LINK_TYPE_CARRIED | 4 |
LINK_TYPE_DEPLOYED_BY | 5 |
RecognitionLevel — How far a sensor/operator has discriminated a contact, on the NATO target-acquisition ladder (STANAG 3769 / Johnson criteria). Domain-agnostic: applies to air, surface, land, and subsurface contacts alike. Perceived, not truth.
| Value | Number |
|---|---|
RECOGNITION_LEVEL_UNSPECIFIED | 0 |
RECOGNITION_LEVEL_DETECTED | 1 |
RECOGNITION_LEVEL_CLASSIFIED | 2 |
RECOGNITION_LEVEL_RECOGNIZED | 3 |
RECOGNITION_LEVEL_IDENTIFIED | 4 |
ReportsMarkerType — Perceived affiliation of a reported contact. Note: Hostile = 0 predates the _UNSPECIFIED convention, so an absent value decodes as Hostile; the enclosing field is optional to distinguish absent from an explicit Hostile. Value names are unprefixed (grandfathered; renaming would break JSON/source). New messages use ForceAffiliation instead; this enum is frozen for this message.
| Value | Number |
|---|---|
Hostile | 0 |
Unknown | 1 |
Neutral | 2 |
Friendly | 3 |
ReportsUnitType — Perceived unit type of a reported contact. Note: Infantry = 0 has the same absent-decodes-as-value hazard as ReportsMarkerType; the field is optional. Value names grandfathered (unprefixed); frozen for this message.
| Value | Number |
|---|---|
Infantry | 0 |
AntiTank | 1 |
Armour | 2 |
Artillery | 3 |
Cavalry | 4 |
Supply | 5 |
RWAircraft | 6 |
FWAircraft | 7 |
UAV | 8 |
ResourceType
| Value | Number |
|---|---|
RESOURCE_TYPE_UNSPECIFIED | 0 |
RESOURCE_TYPE_FUEL | 1 |
RESOURCE_TYPE_AMMUNITION | 2 |
RESOURCE_TYPE_BATTERY | 3 |
RESOURCE_TYPE_HYDRAULIC_FLUID | 4 |
RESOURCE_TYPE_COOLANT | 5 |
RESOURCE_TYPE_OXIDIZER | 6 |
RESOURCE_TYPE_GAS | 7 |
RESOURCE_TYPE_CONSUMABLE | 8 |
RESOURCE_TYPE_FLARES | 9 |
RESOURCE_TYPE_CHAFF | 10 |
RESOURCE_TYPE_CUSTOM_LABEL | 11 |
ResourceUnit
| Value | Number |
|---|---|
RESOURCE_UNIT_UNSPECIFIED | 0 |
RESOURCE_UNIT_LITERS | 1 |
RESOURCE_UNIT_GALLONS | 2 |
RESOURCE_UNIT_KILOGRAMS | 3 |
RESOURCE_UNIT_POUNDS | 4 |
RESOURCE_UNIT_KILOWATT_HOURS | 5 |
RESOURCE_UNIT_AMP_HOURS | 6 |
RESOURCE_UNIT_ROUNDS | 7 |
RESOURCE_UNIT_COUNT | 8 |
RESOURCE_UNIT_PERCENT | 9 |
RESOURCE_UNIT_CUSTOM_LABEL | 10 |
ScanPattern — How an emitter’s antenna sweeps its beam through space.
| Value | Number |
|---|---|
SCAN_PATTERN_UNSPECIFIED | 0 |
SCAN_PATTERN_CONICAL | 1 |
SCAN_PATTERN_CIRCULAR | 2 |
SCAN_PATTERN_SECTOR | 3 |
SCAN_PATTERN_RASTER | 4 |
SCAN_PATTERN_ELECTRONIC | 5 |
SCAN_PATTERN_LOCK | 6 |
SCAN_PATTERN_OTHER | 99 |
SonobuoyStatus — Lifecycle state of a sonobuoy from deployment to end of life.
| Value | Number |
|---|---|
SONOBUOY_STATUS_UNSPECIFIED | 0 |
SONOBUOY_STATUS_SCUTTLED | 1 |
SONOBUOY_STATUS_ON_GROUND | 2 |
SONOBUOY_STATUS_FALLING | 3 |
SONOBUOY_STATUS_ACTIVATION_DELAY | 4 |
SONOBUOY_STATUS_DEPLOYING | 5 |
SONOBUOY_STATUS_OPERATING | 6 |
SONOBUOY_STATUS_HYDROPHONE_ON_OCEAN_BOTTOM | 7 |
StoreLocation — Where a store is physically carried on the platform.
| Value | Number |
|---|---|
STORE_LOCATION_UNSPECIFIED | 0 |
STORE_LOCATION_INTERNAL | 1 |
STORE_LOCATION_EXTERNAL | 2 |
STORE_LOCATION_CONFORMAL | 3 |
TargetTrackingState
| Value | Number |
|---|---|
TARGET_TRACKING_STATE_UNSPECIFIED | 0 |
TARGET_TRACKING_STATE_DETECTED | 1 |
TARGET_TRACKING_STATE_LOCKED | 2 |
TARGET_TRACKING_STATE_RELEASED | 3 |
TrackingEventType — Event types that can occur during simulation
| Value | Number |
|---|---|
TRACKING_EVENT_TYPE_UNSPECIFIED | 0 |
TRACKING_EVENT_TYPE_CREATED | 1 |
TRACKING_EVENT_TYPE_DESTROYED | 2 |
TRACKING_EVENT_TYPE_STATE_CHANGED | 3 |
TRACKING_EVENT_TYPE_MOUNTED | 5 |
TRACKING_EVENT_TYPE_DISMOUNTED | 6 |
TRACKING_EVENT_TYPE_ENTERED_VEHICLE | 7 |
TRACKING_EVENT_TYPE_EXITED_VEHICLE | 8 |
TRACKING_EVENT_TYPE_CREW_POSITION_CHANGED | 9 |
TRACKING_EVENT_TYPE_COLLISION | 10 |
TRACKING_EVENT_TYPE_DETECTED | 11 |
TRACKING_EVENT_TYPE_TARGETLOCKED | 12 |
TRACKING_EVENT_TYPE_TARGETRELEASED | 13 |
TRACKING_EVENT_TYPE_ENTERED | 14 |
TRACKING_EVENT_TYPE_EXITED | 15 |
TRACKING_EVENT_TYPE_INTERCEPTED | 16 |
TRACKING_EVENT_TYPE_LASED | 17 |
TRACKING_EVENT_TYPE_FIRED | 20 |
TRACKING_EVENT_TYPE_HIT | 21 |
TRACKING_EVENT_TYPE_MISSED | 22 |
TRACKING_EVENT_TYPE_JAMMED | 23 |
TRACKING_EVENT_TYPE_COUNTERMEASURE | 24 |
TRACKING_EVENT_TYPE_DAMAGED | 25 |
TRACKING_EVENT_TYPE_REPAIRED | 26 |
TRACKING_EVENT_TYPE_AMMO_HIT | 27 |
TRACKING_EVENT_TYPE_MUNITION_LAUNCHED | 28 |
TRACKING_EVENT_TYPE_DETONATION | 29 |
TRACKING_EVENT_TYPE_TRANSMITTED | 30 |
TRACKING_EVENT_TYPE_RECEIVED | 31 |
TRACKING_EVENT_TYPE_ORDER_ISSUED | 32 |
TRACKING_EVENT_TYPE_ORDER_ACKNOWLEDGED | 33 |
TRACKING_EVENT_TYPE_IDENTIFIED | 34 |
TRACKING_EVENT_TYPE_VOICE_TRANSMISSION_STARTED | 35 |
TRACKING_EVENT_TYPE_VOICE_TRANSMISSION_ENDED | 36 |
TRACKING_EVENT_TYPE_INTERCOM_STATE_CHANGED | 37 |
TRACKING_EVENT_TYPE_THRESHOLD_EXCEEDED | 40 |
TRACKING_EVENT_TYPE_THRESHOLD_RESTORED | 41 |
TRACKING_EVENT_TYPE_ACTION_PERFORMED | 42 |
TRACKING_EVENT_TYPE_MODE_CHANGED | 43 |
TRACKING_EVENT_TYPE_FAILED | 44 |
TRACKING_EVENT_TYPE_RECOVERED | 45 |
TRACKING_EVENT_TYPE_ARMED_STATE_CHANGED | 46 |
TRACKING_EVENT_TYPE_RADAR_EMISSION_STARTED | 50 |
TRACKING_EVENT_TYPE_RADAR_EMISSION_STOPPED | 51 |
TRACKING_EVENT_TYPE_ESM_CONTACT_DETECTED | 52 |
TRACKING_EVENT_TYPE_ESM_CONTACT_LOST | 53 |
TRACKING_EVENT_TYPE_IR_SIGNATURE_CHANGED | 54 |
TRACKING_EVENT_TYPE_RADAR_SIGNATURE_CHANGED | 55 |
TRACKING_EVENT_TYPE_TRANSMITTER_STATE_CHANGED | 56 |
TRACKING_EVENT_TYPE_RECEIVER_STATE_CHANGED | 57 |
TRACKING_EVENT_TYPE_REFUEL_STARTED | 61 |
TRACKING_EVENT_TYPE_REFUEL_COMPLETED | 62 |
TRACKING_EVENT_TYPE_REPAIR_STARTED | 63 |
TRACKING_EVENT_TYPE_REPAIR_COMPLETED | 64 |
TRACKING_EVENT_TYPE_RESUPPLY_STARTED | 65 |
TRACKING_EVENT_TYPE_RESUPPLY_COMPLETED | 66 |
TRACKING_EVENT_TYPE_TOWING_STARTED | 67 |
TRACKING_EVENT_TYPE_TOWING_STOPPED | 68 |
TurbulenceSeverityState — Turbulence intensity band.
| Value | Number |
|---|---|
TURBULENCE_SEVERITY_STATE_SMOOTH | 0 |
TURBULENCE_SEVERITY_STATE_LIGHT | 1 |
TURBULENCE_SEVERITY_STATE_MODERATE | 2 |
TURBULENCE_SEVERITY_STATE_SEVERE | 3 |
TURBULENCE_SEVERITY_STATE_EXTREME | 4 |
UnitDomain
| Value | Number |
|---|---|
UNIT_DOMAIN_UNSPECIFIED | 0 |
UNIT_DOMAIN_LAND | 1 |
UNIT_DOMAIN_AIR | 2 |
UNIT_DOMAIN_SURFACE | 3 |
UNIT_DOMAIN_SUBSURFACE | 4 |
UNIT_DOMAIN_SPACE | 5 |
UnitKind
| Value | Number |
|---|---|
UNIT_KIND_UNSPECIFIED | 0 |
UNIT_KIND_PLATFORM | 1 |
UNIT_KIND_MUNITION | 2 |
UNIT_KIND_LIFEFORM | 3 |
UNIT_KIND_SENSOR | 4 |
UNIT_KIND_SUPPLY | 5 |
UNIT_KIND_STRUCTURE | 6 |
UNIT_KIND_ENVIRONMENTAL | 7 |
UNIT_KIND_SUBSYSTEM | 8 |
WeaponsPosture — Rules-of-engagement stance governing whether weapons may be employed.
| Value | Number |
|---|---|
WEAPONS_POSTURE_UNSPECIFIED | 0 |
WEAPONS_POSTURE_HOLD | 1 |
WEAPONS_POSTURE_TIGHT | 2 |
WEAPONS_POSTURE_FREE | 3 |