feat(module-studio): add configurable map page
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://nodedc.ru/schemas/map-lod-policy-v0.1.schema.json",
|
||||
"title": "NODE.DC Map LOD Policy v0.1",
|
||||
"description": "Provider-neutral visibility and representation policy based on camera range in meters.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["schemaVersion", "template", "metric", "intervalRule", "policies"],
|
||||
"properties": {
|
||||
"schemaVersion": { "const": "0.1.0" },
|
||||
"template": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["id", "version"],
|
||||
"properties": {
|
||||
"id": { "const": "map" },
|
||||
"version": { "const": "0.1.0" }
|
||||
}
|
||||
},
|
||||
"metric": { "const": "camera-range-meters" },
|
||||
"intervalRule": { "const": "min-inclusive-max-exclusive" },
|
||||
"policies": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["id", "target", "outsideRange", "hysteresisRatio", "bands"],
|
||||
"properties": {
|
||||
"id": { "$ref": "#/$defs/id" },
|
||||
"target": { "enum": ["grid", "place", "moving-object", "station", "route", "track", "zone", "label", "pin"] },
|
||||
"outsideRange": { "enum": ["hidden", "nearest-band"] },
|
||||
"hysteresisRatio": { "type": "number", "minimum": 0, "maximum": 0.5 },
|
||||
"bands": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["id", "minRange", "maxRange", "representation"],
|
||||
"properties": {
|
||||
"id": { "$ref": "#/$defs/id" },
|
||||
"minRange": { "type": "number", "minimum": 0 },
|
||||
"maxRange": { "type": "number", "exclusiveMinimum": 0 },
|
||||
"representation": { "enum": ["hidden", "cluster", "summary", "compact", "standard", "detailed", "geometry"] },
|
||||
"styleVariant": { "type": "string", "minLength": 1 },
|
||||
"density": { "type": "number", "exclusiveMinimum": 0 },
|
||||
"maxItems": { "type": "integer", "minimum": 1 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"$defs": {
|
||||
"id": { "type": "string", "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$" }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user