{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://micarrsim.local/schemas/result.schema.json", "title": "micarrsim result summary", "type": "object", "additionalProperties": false, "required": ["schemaVersion", "kind", "experimentId", "createdAt", "backend", "inputHash", "timingMs", "bands"], "properties": { "schemaVersion": { "const": "1.0.0" }, "kind": { "const": "micarrsim.result" }, "experimentId": { "type": "string", "minLength": 1 }, "createdAt": { "type": "string", "format": "date-time" }, "backend": { "enum": ["cpu", "webgpu"] }, "inputHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "timingMs": { "type": "object", "additionalProperties": false, "required": ["total", "beamforming"], "properties": { "total": { "type": "number", "minimum": 0 }, "signalGeneration": { "type": "number", "minimum": 0 }, "beamforming": { "type": "number", "minimum": 0 } } }, "environment": { "type": "object", "additionalProperties": { "type": ["string", "number", "boolean"] } }, "bands": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": false, "required": ["id", "peakPosition", "peakValue", "metrics"], "properties": { "id": { "type": "string", "minLength": 1 }, "peakPosition": { "type": "array", "prefixItems": [{ "type": "number" }, { "type": "number" }, { "type": "number" }], "items": false, "minItems": 3, "maxItems": 3 }, "peakValue": { "type": "number", "minimum": 0 }, "metrics": { "type": "object", "additionalProperties": false, "required": ["localizationErrorM", "peakToSidelobeDb"], "properties": { "localizationErrorM": { "type": "number", "minimum": 0 }, "peakToSidelobeDb": { "type": "number" }, "energyInsideTruthRatio": { "type": "number", "minimum": 0, "maximum": 1 } } } } } } } }