cdsl新增一些笼统的指标集

This commit is contained in:
2026-09-16 14:06:44 +08:00
parent 09a25cdc6b
commit 273b4b5c7b
5 changed files with 232 additions and 3 deletions
+62 -1
View File
@@ -9,7 +9,13 @@
"schema_version": {"type": "string"},
"kind": {"type": "string", "minLength": 1},
"part_id": {"type": "string", "pattern": "^[A-Za-z0-9_-]{3,80}$"},
"meta": {"type": "object"},
"meta": {
"type": "object",
"properties": {
"derived_metrics": {"$ref": "#/$defs/derivedMetrics"}
},
"additionalProperties": true
},
"bodies": {"type": "array", "items": {"$ref": "#/$defs/runtimeBody"}},
"geometry": {
"type": "object",
@@ -24,6 +30,61 @@
"required": ["schema", "geometry", "features"],
"additionalProperties": false,
"$defs": {
"metricSnapshot": {
"type": "object",
"properties": {
"volume_mm3": {"type": "number"},
"surface_area_mm2": {"type": "number"},
"bbox_mm": {"type": "array", "items": {"type": "number"}, "minItems": 6, "maxItems": 6},
"solid_count": {"type": "integer", "minimum": 0},
"face_count": {"type": "integer", "minimum": 0},
"edge_count": {"type": "integer", "minimum": 0},
"vertex_count": {"type": "integer", "minimum": 0},
"hole_count": {"type": "integer", "minimum": 0},
"fillet_count": {"type": "integer", "minimum": 0},
"face_type_distribution": {"type": "object", "additionalProperties": {"type": "integer", "minimum": 0}}
},
"required": ["volume_mm3", "surface_area_mm2", "bbox_mm", "solid_count", "face_count", "edge_count", "vertex_count", "hole_count", "fillet_count", "face_type_distribution"],
"additionalProperties": false
},
"metricDelta": {
"type": "object",
"properties": {
"volume_mm3": {"type": "number"},
"surface_area_mm2": {"type": "number"},
"face_count": {"type": "integer"},
"hole_count": {"type": "integer"}
},
"required": ["volume_mm3", "surface_area_mm2", "face_count", "hole_count"],
"additionalProperties": false
},
"derivedMetrics": {
"type": "object",
"properties": {
"engine": {"type": "string", "minLength": 1},
"engine_build": {"type": "string", "minLength": 1},
"generated_at": {"type": "string", "minLength": 1},
"final": {"$ref": "#/$defs/metricSnapshot"},
"per_feature": {
"type": "array",
"items": {
"type": "object",
"properties": {
"feature_id": {"type": "string", "minLength": 1},
"atomic_id": {"$ref": "#/$defs/feature_atomic_ids"},
"status": {"type": "string", "minLength": 1},
"after": {"$ref": "#/$defs/metricSnapshot"},
"delta": {"$ref": "#/$defs/metricDelta"}
},
"required": ["feature_id", "atomic_id", "status", "after", "delta"],
"additionalProperties": false
}
},
"atomic_histogram": {"type": "object", "additionalProperties": {"type": "integer", "minimum": 0}}
},
"required": ["engine", "final", "per_feature", "atomic_histogram"],
"additionalProperties": false
},
"featureIntent": {
"type": "object",
"properties": {