feat: add realistic portable localization core
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
"targetPeak": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 }
|
||||
}
|
||||
},
|
||||
"acoustics": { "$ref": "#/$defs/acoustics" },
|
||||
"image": { "$ref": "#/$defs/image" },
|
||||
"assets": { "type": "array", "maxItems": 128, "items": { "$ref": "#/$defs/asset" } },
|
||||
"sources": { "type": "array", "minItems": 1, "maxItems": 32, "items": { "$ref": "#/$defs/source" } },
|
||||
@@ -38,6 +39,67 @@
|
||||
"position": { "$ref": "#/$defs/position" }
|
||||
}
|
||||
},
|
||||
"wallLevels": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"properties": {
|
||||
"xMin": { "type": "number", "minimum": -60, "maximum": 0 },
|
||||
"xMax": { "type": "number", "minimum": -60, "maximum": 0 },
|
||||
"yMin": { "type": "number", "minimum": -60, "maximum": 0 },
|
||||
"yMax": { "type": "number", "minimum": -60, "maximum": 0 },
|
||||
"zMin": { "type": "number", "minimum": -60, "maximum": 0 },
|
||||
"zMax": { "type": "number", "minimum": -60, "maximum": 0 }
|
||||
}
|
||||
},
|
||||
"room": {
|
||||
"type": "object", "additionalProperties": false, "required": ["min", "max"],
|
||||
"properties": {
|
||||
"min": { "$ref": "#/$defs/position" },
|
||||
"max": { "$ref": "#/$defs/position" }
|
||||
}
|
||||
},
|
||||
"reflections": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"required": ["order", "wallGainDb", "scattering"],
|
||||
"properties": {
|
||||
"order": { "enum": [0, 1] },
|
||||
"wallGainDb": { "type": "number", "minimum": -60, "maximum": 0 },
|
||||
"perWallDb": { "$ref": "#/$defs/wallLevels" },
|
||||
"scattering": { "type": "number", "minimum": 0, "maximum": 1 }
|
||||
}
|
||||
},
|
||||
"diffuseReverb": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"required": ["enabled", "rt60Seconds", "gainDb", "tapCount"],
|
||||
"properties": {
|
||||
"enabled": { "type": "boolean" },
|
||||
"rt60Seconds": { "type": "number", "minimum": 0.05, "maximum": 5 },
|
||||
"gainDb": { "type": "number", "minimum": -60, "maximum": 0 },
|
||||
"tapCount": { "type": "integer", "minimum": 1, "maximum": 32 }
|
||||
}
|
||||
},
|
||||
"occluder": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"required": ["id", "min", "max", "transmissionDb", "diffractionGainDb"],
|
||||
"properties": {
|
||||
"id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9._-]*$" },
|
||||
"min": { "$ref": "#/$defs/position" },
|
||||
"max": { "$ref": "#/$defs/position" },
|
||||
"transmissionDb": { "type": "number", "minimum": -120, "maximum": 0 },
|
||||
"diffractionGainDb": { "type": "number", "minimum": -120, "maximum": 0 }
|
||||
}
|
||||
},
|
||||
"acoustics": {
|
||||
"type": "object", "additionalProperties": false, "required": ["model"],
|
||||
"properties": {
|
||||
"model": { "enum": ["free-field", "shoebox"] },
|
||||
"room": { "$ref": "#/$defs/room" },
|
||||
"reflections": { "$ref": "#/$defs/reflections" },
|
||||
"diffuseReverb": { "$ref": "#/$defs/diffuseReverb" },
|
||||
"occluders": {
|
||||
"type": "array", "maxItems": 8, "items": { "$ref": "#/$defs/occluder" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"image": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"required": ["assetId", "widthPixels", "heightPixels", "plane"],
|
||||
|
||||
Reference in New Issue
Block a user