﻿{
  "references": ["OmiLAXR"],
  "ignoredContexts": ["360tours", "assistanceSystem", "exerciseGenerator", "gitanalysis",
    "ide", "lms", "media", "multitouch", "observation", "projectJupyter",
    "rightsEngine", "studybuddy", "tagformance", "uhfReader", "vrRfidChamber"],
  "variables": {
    "iso8601": "/^P(?:(\\\\d+)Y)?(?:(\\\\d+)M)?(?:(\\\\d+)W)?(?:(\\\\d+)D)?(?:T(?:(\\\\d+)H)?(?:(\\\\d+)M)?(?:(\\\\d+)S)?)?$/\"",
    "position": "vec2 | vec3 | (int,int) | (int,int,int) | (float, float) | (float, float, float)",
    "startEndValue": "vec2 | vec3 | float | double | bool | str | color | char | System.DateTime | System.TimeSpan",
    "uiMaxMinValue": "int | float | double | bool | System.DateTime | System.TimeSpan"
  },
  "types": {
    "attention/extensions/activity/aoiName": "str",
    "attention/extensions/activity/totalFixations": "int[0, _]",
    "attention/extensions/result/endGazeCoordinates": "vec3",
    "attention/extensions/result/fixationStart": "System.DateTime",
    "attention/extensions/result/fixationEnd": "System.DateTime",
    "attention/extensions/result/gazeIncidenceAngle": "float[0.0, 180.0]",
    "attention/extensions/result/startGazeCoordinates": "vec3",
    "attention/extensions/result/viewingAngle": "float[0.0, 180.0]",

    "eyeTracking/extensions/result/averageEyeVelocity": "float",
    "eyeTracking/extensions/result/blinkDuration": "OmiLAXR.Types.Duration | ${iso8601}",
    "eyeTracking/extensions/result/dropoutCount": "int[0, _]",
    "eyeTracking/extensions/result/eye": "OmiLAXR.Types.Eye",
    "eyeTracking/extensions/result/eyeDepth": "float",
    "eyeTracking/extensions/result/eyeHeight": "float",
    "eyeTracking/extensions/result/eyeOpenness": "float[0.0, 1.0]",
    "eyeTracking/extensions/result/pupilConfidence": "float[0.0, 1.0]",
    "eyeTracking/extensions/result/pupilDiameter": "float",
    "eyeTracking/extensions/result/pursuitEnd": "System.DateTime",
    "eyeTracking/extensions/result/pursuitGain": "float",
    "eyeTracking/extensions/result/pursuitMeanConfidence": "float[0.0, 1.0]",
    "eyeTracking/extensions/result/pursuitOnsetLatency": "float",
    "eyeTracking/extensions/result/pursuitStart": "System.DateTime",
    "eyeTracking/extensions/result/saccadeAmplitude": "float",
    "eyeTracking/extensions/result/saccadeDirection": "float | vec3",
    "eyeTracking/extensions/result/saccadeDuration": "OmiLAXR.Types.Duration | ${iso8601}",
    
    "facialTracking/extensions/activity/emotionType": "str | OmiLAXR.Types.Emotion",
    "facialTracking/extensions/activity/weights": "float[] | double[]",
    "facialTracking/extensions/result/confidences": "float[] | double[]",
    "facialTracking/extensions/result/emotionIntensity": "float[0.0, 1.0]",

    "generic/extensions/activity/color": "color",
    "generic/extensions/activity/filepath": "str",
    "generic/extensions/activity/keyboardButton": "str",
    "generic/extensions/activity/mouseButton": "str",
    "generic/extensions/activity/mousePosition": "${position}",
    "generic/extensions/activity/name": "str",
    "generic/extensions/activity/position": "str | ${position}",
    "generic/extensions/activity/scrollValue": "float | double | (float, float) | (double, double)",
    "generic/extensions/context/assignment": "str | int",
    "generic/extensions/context/deviceId": "str | int | System.Guid",
    "generic/extensions/context/deviceName": "str",
    "generic/extensions/context/learningScenario": "str | int",
    "generic/extensions/context/learningUnit": "str | int",
    "generic/extensions/context/task": "str | int",
    "generic/extensions/context/version": "str | int",
    "generic/extensions/result/endValue": "${startEndValue}",
    "generic/extensions/result/hoverDuration": "OmiLAXR.Types.Duration | ${iso8601}",
    "generic/extensions/result/index": "int",
    "generic/extensions/result/pressDuration": "OmiLAXR.Types.Duration | ${iso8601}",
    "generic/extensions/result/pressesInHover": "uint[0, _]",
    "generic/extensions/result/startValue": "${startEndValue}",
    "generic/extensions/result/timeSpan": "System.TimeSpan",
    "generic/extensions/result/totalPresses": "uint[0, _]",

    "gestures/extensions/activity/hand": "OmiLAXR.Types.Hand",
    "gestures/extensions/result/numberOfGestures": "int",
    "gestures/extensions/result/primaryHand": "OmiLAXR.Types.Hand",
    
    "ppm/extensions/context/heartRate": "int",
    "ppm/extensions/context/method": "str",
    "ppm/extensions/context/windowSeconds": "float",
    "ppm/extensions/result/delta": "float",
    "ppm/extensions/result/heartRate": "int",
    "ppm/extensions/result/hrBpmMax": "int",
    "ppm/extensions/result/hrBpmMean": "int",
    "ppm/extensions/result/hrBpmMin": "int",
    "ppm/extensions/result/hrBpmStd": "float",
    "ppm/extensions/result/hrBpmVariance": "float",
    "ppm/extensions/result/hrvPnn50": "float[0.0, 1.0]",
    "ppm/extensions/result/hrvRmssdMs": "float",
    "ppm/extensions/result/hrvSdnnMs": "float",
    "ppm/extensions/result/stressScore": "float[0.0, 1.0]",
    
    "systemControl/extensions/activity/instructionContent": "str",
    "systemControl/extensions/activity/instructionType": "OmiLAXR.Types.InstructionTypes",
    "systemControl/extensions/activity/name": "str",
    "systemControl/extensions/context/fps": "int | float",
    "systemControl/extensions/context/language": "OmiLAXR.Types.Languages | str",

    "virtualReality/extensions/activity/actionName": "str",
    "virtualReality/extensions/activity/triangle": "(vec3, vec3, vec3)",
    "virtualReality/extensions/activity/uiElementMaxValue": "${uiMaxMinValue}",
    "virtualReality/extensions/activity/uiElementMinValue": "${uiMaxMinValue}",
    "virtualReality/extensions/activity/uiElementOptions": "int[] | float[] | double[] | bool[] | str[] | color[] | char[] | System.DateTime[] | System.TimeSpan[]",
    "virtualReality/extensions/activity/uiElementType": "OmiLAXR.Types.UiElementTypes",
    "virtualReality/extensions/activity/uiElementValue": "int | float | double | bool | str | color | char | System.DateTime | System.TimeSpan",
    "virtualReality/extensions/activity/vrObjectName": "str",
    "virtualReality/extensions/result/cameraYOffset": "float",
    "virtualReality/extensions/result/frustum": "OmiLAXR.Types.Frustum",
    "virtualReality/extensions/result/position": "vec3 | (float, float, float)",
    "virtualReality/extensions/result/rotation": "vec3 | (float, float, float) | quat",
    "virtualReality/extensions/result/scale": "vec3 | (float, float, float)"
  }
}