重构 改为标准化输出

This commit is contained in:
2026-09-01 14:10:23 +08:00
parent 7533b298f1
commit bc87bd6d2d
10151 changed files with 1709487 additions and 11776 deletions
@@ -0,0 +1,58 @@
{
"candidate_id": "candidate_34e2dff5197b3911",
"claim_coverage": [
{
"claim_id": "claim_001",
"evidence_refs": [
"ev_solid_count"
],
"status": "pass"
},
{
"claim_id": "claim_002",
"evidence_refs": [
"ev_single_body"
],
"status": "pass"
},
{
"claim_id": "claim_003",
"evidence_refs": [
"ev_bbox_x"
],
"status": "pass"
},
{
"claim_id": "claim_004",
"evidence_refs": [
"ev_bbox_y"
],
"status": "pass"
},
{
"claim_id": "claim_005",
"evidence_refs": [
"ev_bbox_z"
],
"status": "pass"
},
{
"claim_id": "claim_006",
"evidence_refs": [
"ev_pocket_deferred"
],
"status": "pending"
}
],
"evidence": [
"ev_solid_count: Deterministic result reports solid_count 1.",
"ev_single_body: Deterministic result reports one connected solid body via solid_count 1.",
"ev_bbox_x: Bounding box x dimension is 120.0 mm, within 0.1 mm tolerance.",
"ev_bbox_y: Bounding box y dimension is 80.0 mm, within 0.1 mm tolerance.",
"ev_bbox_z: Bounding box z dimension is 20.0 mm, within 0.1 mm tolerance.",
"ev_pocket_deferred: Centered pocket claim is pending and not part of this checkpoint action; renders show only the base plate, consistent with base creation."
],
"issues": [],
"verdict": "accept",
"working_head": "cad_9ba300591326:root:v3"
}
@@ -0,0 +1,472 @@
{
"action_id": "act_004",
"actual_atomic_id": "extrude_add_blind",
"blockers": [],
"candidate_id": "candidate_34e2dff5197b3911",
"claim_results": [
{
"claim_id": "claim_001",
"claim_kind": "solid_count_equals",
"deterministic": true,
"evidence": {
"solid_count": 1
},
"status": "pass"
},
{
"claim_id": "claim_002",
"claim_kind": "single_connected_body",
"deterministic": true,
"evidence": {
"solid_count": 1
},
"status": "pass"
},
{
"claim_id": "claim_003",
"claim_kind": "bbox_dimension_mm",
"deterministic": true,
"evidence": {
"actual_mm": 120.0,
"axis": "x",
"tolerance_mm": 0.1
},
"status": "pass"
},
{
"claim_id": "claim_004",
"claim_kind": "bbox_dimension_mm",
"deterministic": true,
"evidence": {
"actual_mm": 80.0,
"axis": "y",
"tolerance_mm": 0.1
},
"status": "pass"
},
{
"claim_id": "claim_005",
"claim_kind": "bbox_dimension_mm",
"deterministic": true,
"evidence": {
"actual_mm": 20.0,
"axis": "z",
"tolerance_mm": 0.1
},
"status": "pass"
},
{
"claim_id": "claim_006",
"claim_kind": "visual",
"deterministic": false,
"evidence": {
"reason": "requires independent visual review"
},
"status": "pending"
}
],
"fragment_hash": "4605e74bd8387d77edadede74ba9856542d5684f8f0ddeff514f9bf83b750ee0",
"health": {
"bbox_mm": {
"dimensions": [
120.0,
80.0,
20.0
],
"max": [
60.0,
40.0,
20.0
],
"min": [
-60.0,
-40.0,
0.0
]
},
"feature_count": 1,
"solid_count": 1,
"volume_mm3": 192000.0
},
"operation_verifier_results": [
{
"claim_id": "operation_act_004_single_connected_body",
"claim_kind": "single_connected_body",
"deterministic": true,
"evidence": {
"solid_count": 1
},
"status": "pass"
}
],
"paths": {
"cdsl": "model.cdsl.json",
"glb": "model.glb",
"render_manifest": "renders/render-manifest.json",
"report": "rebuild-report.json",
"step": "model.step",
"topology": "model.topology.json"
},
"render_manifest": {
"contact_sheet_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/contact-sheet.jpg",
"high_resolution": {
"height": 2048,
"method": "occ_hidden_line",
"width": 2048
},
"renderer": "python-occ-hlr-pillow",
"review_resolution": {
"height": 1024,
"resample": "lanczos",
"width": 1024
},
"schema_version": "cad.render-manifest.v2",
"source": {
"bounds_mm": [
-60.0,
60.0,
-40.0,
40.0,
0.0,
20.0
],
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/model.step",
"type": "step"
},
"views": [
{
"camera": {
"focal_point": [
0.0,
0.0,
10.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
0.0,
0.0,
100010.0
],
"projection": "orthographic",
"view": "top",
"view_up": [
0.0,
1.0,
0.0
]
},
"diagnostics": {
"coverage": 0.00585174560546875,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/top/edge.png",
"hidden_edge_count": 4,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/top/line-mask.png",
"pixel_bbox": [
285,
530,
1763,
1518
],
"touches_border": false,
"valid": true,
"visible_edge_count": 4
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/top-2x.png",
"id": "top",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/top.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
10.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
0.0,
0.0,
-99990.0
],
"projection": "orthographic",
"view": "bottom",
"view_up": [
0.0,
1.0,
0.0
]
},
"diagnostics": {
"coverage": 0.00585174560546875,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/bottom/edge.png",
"hidden_edge_count": 4,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/bottom/line-mask.png",
"pixel_bbox": [
285,
530,
1763,
1518
],
"touches_border": false,
"valid": true,
"visible_edge_count": 4
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/bottom-2x.png",
"id": "bottom",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/bottom.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
10.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
0.0,
-100000.0,
10.0
],
"projection": "orthographic",
"view": "front",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.004092216491699219,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/front/edge.png",
"hidden_edge_count": 4,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/front/line-mask.png",
"pixel_bbox": [
285,
899,
1763,
1149
],
"touches_border": false,
"valid": true,
"visible_edge_count": 4
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/front-2x.png",
"id": "front",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/front.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
10.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
0.0,
100000.0,
10.0
],
"projection": "orthographic",
"view": "back",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.004092216491699219,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/back/edge.png",
"hidden_edge_count": 4,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/back/line-mask.png",
"pixel_bbox": [
285,
899,
1763,
1149
],
"touches_border": false,
"valid": true,
"visible_edge_count": 4
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/back-2x.png",
"id": "back",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/back.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
10.0
],
"frame_mm": [
-55.55555555555556,
55.55555555555556,
-55.55555555555556,
55.55555555555556
],
"position": [
-100000.0,
0.0,
10.0
],
"projection": "orthographic",
"view": "left",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.004387855529785156,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/left/edge.png",
"hidden_edge_count": 4,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/left/line-mask.png",
"pixel_bbox": [
285,
837,
1763,
1211
],
"touches_border": false,
"valid": true,
"visible_edge_count": 4
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/left-2x.png",
"id": "left",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/left.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
10.0
],
"frame_mm": [
-55.55555555555556,
55.55555555555556,
-55.55555555555556,
55.55555555555556
],
"position": [
100000.0,
0.0,
10.0
],
"projection": "orthographic",
"view": "right",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.004387855529785156,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/right/edge.png",
"hidden_edge_count": 4,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/right/line-mask.png",
"pixel_bbox": [
285,
837,
1763,
1211
],
"touches_border": false,
"valid": true,
"visible_edge_count": 4
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/right-2x.png",
"id": "right",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/right.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
10.0
],
"frame_mm": [
-98.20927516480134,
98.2092751647952,
-98.20927516480327,
98.20927516479327
],
"position": [
61545.74548966637,
-61545.74548966637,
49246.596391733096
],
"projection": "orthographic",
"view": "isometric",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.007837295532226562,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/isometric/edge.png",
"hidden_edge_count": 3,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/isometric/line-mask.png",
"pixel_bbox": [
285,
568,
1763,
1480
],
"touches_border": false,
"valid": true,
"visible_edge_count": 9
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/isometric-2x.png",
"id": "isometric",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/isometric.png",
"target": null
}
]
},
"schema_version": "cad.v3.candidate.v1",
"selector_snapshot_id": "",
"stage_id": "stage_34e2dff5197b39110016",
"working_head": "cad_9ba300591326:root:v3"
}
@@ -0,0 +1,72 @@
{
"action_id": "act_004",
"candidate_id": "candidate_34e2dff5197b3911",
"contract_hash": "fa9ffc9fd2141453fa18a389813dde2e2ef3fb4c7ef5d05e61d51d614309e95f",
"fragment": {
"feature": {
"atomic_id": "extrude_add_blind",
"params": {
"distance_mm": 20
}
},
"sketch": {
"profile": {
"type": "polygon",
"vertices": [
[
-60,
-40
],
[
60,
-40
],
[
60,
40
],
[
-60,
40
]
]
},
"workplane": {
"normal": [
0,
0,
1
],
"origin_mm": [
0,
0,
0
],
"x_dir": [
1,
0,
0
]
}
}
},
"fragment_audit": {
"assigned_feature_ids": [
"feature_001"
],
"assigned_sketch_ids": [
"sketch_001"
],
"atomic_id": "extrude_add_blind",
"contract_hash": "fa9ffc9fd2141453fa18a389813dde2e2ef3fb4c7ef5d05e61d51d614309e95f",
"fragment_hash": "4605e74bd8387d77edadede74ba9856542d5684f8f0ddeff514f9bf83b750ee0",
"reference_snapshot_id": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",
"reference_tokens": [],
"schema_version": "cad.v3.fragment-audit.v1",
"selector_snapshot_id": "",
"selector_tokens": []
},
"idempotency_key": "9dacba4cbe4de70f9806b420eb4687a5f8d065961bfc2c153e1311dff7f7dcf3",
"schema_version": "cad.v3.candidate-input.v1",
"working_head": "cad_9ba300591326:root:v3"
}
@@ -0,0 +1,43 @@
{
"files": {
"candidate-review.json": "9139fb16a303695f4c795c5de907dea3808839507754918a177b87e0545296b8",
"candidate.json": "8c09be09646c147ac5c0c18b11ae1cf89c451146fa6e7aff8ba02de242232759",
"input.json": "806672a2c633187fa24b9ee60775cfad2f233d87cfddc6badfe09b65e26aa10c",
"model.cdsl.json": "ef15ae4f55cfd112707d7686d3fcd711146d2f5194c27f51606dcba727d3b945",
"model.glb": "ea40c84fc464a0cad11a34b4c6643dfd8d0cdc13c2af298d25f8faf06a86a673",
"model.step": "db011f261cd3622458ed7f3c5531ceabe15482eb8ad06ff213bd309585d5c2ea",
"model.topology.json": "0a058e86274ec829f64f0b98da068c19bea4d7bceb3175a6126de19d0aaa91bd",
"rebuild-report.json": "562d6a5a40901c9f0d1124a7850acbf747209ab783714d827a7acff554888a2f",
"renders/back.png": "457135b03f3cc98e84d468d5a2a0dac99e28b5554a9032f231bf39d85eac4171",
"renders/bottom.png": "a3e13472186fd7d04ef769a01af1b442665d16872243b8f8cb18e1d19fb123ee",
"renders/contact-sheet.jpg": "3613c838e9de23bb9cb74278c230d5a1f1fcc0305f2b93fc5affbae7a6c0e304",
"renders/front.png": "457135b03f3cc98e84d468d5a2a0dac99e28b5554a9032f231bf39d85eac4171",
"renders/internal/back-2x.png": "100ad12b61aa0d91ae2fad35408f4daa80fac93e16caa5b01ed4e7040da1bd8b",
"renders/internal/back/edge.png": "74dc4ce5400c009b0988fbea731899b72d18d8f690515bc139b4a80363353fc7",
"renders/internal/back/line-mask.png": "74dc4ce5400c009b0988fbea731899b72d18d8f690515bc139b4a80363353fc7",
"renders/internal/bottom-2x.png": "72a62afd5cb1fc54321d49bc891e7c9bfe2844f8cda91e463bbc3536019f28d9",
"renders/internal/bottom/edge.png": "e335e8e3dd23328246c643a1afafb3c9ad516e874ae884e7ac3a33f10b095ff3",
"renders/internal/bottom/line-mask.png": "e335e8e3dd23328246c643a1afafb3c9ad516e874ae884e7ac3a33f10b095ff3",
"renders/internal/front-2x.png": "100ad12b61aa0d91ae2fad35408f4daa80fac93e16caa5b01ed4e7040da1bd8b",
"renders/internal/front/edge.png": "74dc4ce5400c009b0988fbea731899b72d18d8f690515bc139b4a80363353fc7",
"renders/internal/front/line-mask.png": "74dc4ce5400c009b0988fbea731899b72d18d8f690515bc139b4a80363353fc7",
"renders/internal/isometric-2x.png": "c4e408a2fe9b5de0f6637ceaf6ef95cc929c1eae79b76c0f44fe2aed989ff330",
"renders/internal/isometric/edge.png": "a53b97f578be76ede635c04fa37190c97828b40df40b47ed83027df1df33980f",
"renders/internal/isometric/line-mask.png": "a53b97f578be76ede635c04fa37190c97828b40df40b47ed83027df1df33980f",
"renders/internal/left-2x.png": "0ff0431fa9f37241778d3eb685b8b30cade3f7f5acf2aa6e1f2a581ed9cca015",
"renders/internal/left/edge.png": "8af0e3c82dad90ac5d6af6f7dab620f04b350d4b68a252289d6e8eb4b5c4be05",
"renders/internal/left/line-mask.png": "8af0e3c82dad90ac5d6af6f7dab620f04b350d4b68a252289d6e8eb4b5c4be05",
"renders/internal/right-2x.png": "0ff0431fa9f37241778d3eb685b8b30cade3f7f5acf2aa6e1f2a581ed9cca015",
"renders/internal/right/edge.png": "8af0e3c82dad90ac5d6af6f7dab620f04b350d4b68a252289d6e8eb4b5c4be05",
"renders/internal/right/line-mask.png": "8af0e3c82dad90ac5d6af6f7dab620f04b350d4b68a252289d6e8eb4b5c4be05",
"renders/internal/top-2x.png": "7270aabbd08e16ba3edaf601303ff3ec1203483f7b4cbd582b98a3ac48b7eb78",
"renders/internal/top/edge.png": "e335e8e3dd23328246c643a1afafb3c9ad516e874ae884e7ac3a33f10b095ff3",
"renders/internal/top/line-mask.png": "e335e8e3dd23328246c643a1afafb3c9ad516e874ae884e7ac3a33f10b095ff3",
"renders/isometric.png": "62ef5626bf4c030356b3d606b9d88f858343b86643f5132d00a797b6e5eda578",
"renders/left.png": "5aeed9f60447fee061f673b14b98c9bef4494863940a79afb031c0764441afd9",
"renders/render-manifest.json": "8be6ef09ae09c61593a3f17bc315a3fbd75c50aa84a33decfb0d5f346a0f939a",
"renders/right.png": "5aeed9f60447fee061f673b14b98c9bef4494863940a79afb031c0764441afd9",
"renders/top.png": "8ecae924f8950fb5054c8716fa72fc9bcebc453715a69ed301736ef243f3c4e7"
},
"schema_version": "cad.v3.artifact-manifest.v1"
}
@@ -0,0 +1,62 @@
{
"schema": "cad.cdsl.llm.v1",
"schema_version": "1.1.0",
"kind": "part",
"part_id": "cad_9ba300591326",
"geometry": {
"sketches": [
{
"id": "sketch_001",
"workplane": {
"origin_mm": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"normal": [
0,
0,
1
]
},
"profile": {
"type": "polygon",
"vertices": [
[
-60,
-40
],
[
60,
-40
],
[
60,
40
],
[
-60,
40
]
]
}
}
]
},
"features": [
{
"id": "feature_001",
"atomic_id": "extrude_add_blind",
"params": {
"distance_mm": 20
},
"depends_on": [],
"sketch_id": "sketch_001"
}
]
}
@@ -0,0 +1,415 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');
FILE_NAME('Open CASCADE Shape Model','2026-09-01T10:17:28',('Author'),(
'Open CASCADE'),'Open CASCADE STEP processor 7.9','build123d',
'Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('SOLID','SOLID','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#345);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#137,#213,#284,#331,#338));
#17 = ADVANCED_FACE('',(#18),#32,.F.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20,#55,#83,#111));
#20 = ORIENTED_EDGE('',*,*,#21,.T.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(-60.,-40.,0.));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(-60.,-40.,20.));
#26 = SURFACE_CURVE('',#27,(#31,#43),.PCURVE_S1.);
#27 = LINE('',#28,#29);
#28 = CARTESIAN_POINT('',(-60.,-40.,0.));
#29 = VECTOR('',#30,1.);
#30 = DIRECTION('',(0.,0.,1.));
#31 = PCURVE('',#32,#37);
#32 = PLANE('',#33);
#33 = AXIS2_PLACEMENT_3D('',#34,#35,#36);
#34 = CARTESIAN_POINT('',(-60.,-40.,0.));
#35 = DIRECTION('',(0.,1.,0.));
#36 = DIRECTION('',(1.,0.,0.));
#37 = DEFINITIONAL_REPRESENTATION('',(#38),#42);
#38 = LINE('',#39,#40);
#39 = CARTESIAN_POINT('',(0.,0.));
#40 = VECTOR('',#41,1.);
#41 = DIRECTION('',(0.,-1.));
#42 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#43 = PCURVE('',#44,#49);
#44 = PLANE('',#45);
#45 = AXIS2_PLACEMENT_3D('',#46,#47,#48);
#46 = CARTESIAN_POINT('',(-60.,40.,0.));
#47 = DIRECTION('',(1.,0.,-0.));
#48 = DIRECTION('',(0.,-1.,0.));
#49 = DEFINITIONAL_REPRESENTATION('',(#50),#54);
#50 = LINE('',#51,#52);
#51 = CARTESIAN_POINT('',(80.,0.));
#52 = VECTOR('',#53,1.);
#53 = DIRECTION('',(0.,-1.));
#54 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#55 = ORIENTED_EDGE('',*,*,#56,.T.);
#56 = EDGE_CURVE('',#24,#57,#59,.T.);
#57 = VERTEX_POINT('',#58);
#58 = CARTESIAN_POINT('',(60.,-40.,20.));
#59 = SURFACE_CURVE('',#60,(#64,#71),.PCURVE_S1.);
#60 = LINE('',#61,#62);
#61 = CARTESIAN_POINT('',(-60.,-40.,20.));
#62 = VECTOR('',#63,1.);
#63 = DIRECTION('',(1.,0.,0.));
#64 = PCURVE('',#32,#65);
#65 = DEFINITIONAL_REPRESENTATION('',(#66),#70);
#66 = LINE('',#67,#68);
#67 = CARTESIAN_POINT('',(0.,-20.));
#68 = VECTOR('',#69,1.);
#69 = DIRECTION('',(1.,0.));
#70 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#71 = PCURVE('',#72,#77);
#72 = PLANE('',#73);
#73 = AXIS2_PLACEMENT_3D('',#74,#75,#76);
#74 = CARTESIAN_POINT('',(0.,0.,20.));
#75 = DIRECTION('',(0.,0.,1.));
#76 = DIRECTION('',(1.,0.,-0.));
#77 = DEFINITIONAL_REPRESENTATION('',(#78),#82);
#78 = LINE('',#79,#80);
#79 = CARTESIAN_POINT('',(-60.,-40.));
#80 = VECTOR('',#81,1.);
#81 = DIRECTION('',(1.,0.));
#82 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#83 = ORIENTED_EDGE('',*,*,#84,.F.);
#84 = EDGE_CURVE('',#85,#57,#87,.T.);
#85 = VERTEX_POINT('',#86);
#86 = CARTESIAN_POINT('',(60.,-40.,0.));
#87 = SURFACE_CURVE('',#88,(#92,#99),.PCURVE_S1.);
#88 = LINE('',#89,#90);
#89 = CARTESIAN_POINT('',(60.,-40.,0.));
#90 = VECTOR('',#91,1.);
#91 = DIRECTION('',(0.,0.,1.));
#92 = PCURVE('',#32,#93);
#93 = DEFINITIONAL_REPRESENTATION('',(#94),#98);
#94 = LINE('',#95,#96);
#95 = CARTESIAN_POINT('',(120.,0.));
#96 = VECTOR('',#97,1.);
#97 = DIRECTION('',(0.,-1.));
#98 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#99 = PCURVE('',#100,#105);
#100 = PLANE('',#101);
#101 = AXIS2_PLACEMENT_3D('',#102,#103,#104);
#102 = CARTESIAN_POINT('',(60.,-40.,0.));
#103 = DIRECTION('',(-1.,0.,0.));
#104 = DIRECTION('',(0.,1.,0.));
#105 = DEFINITIONAL_REPRESENTATION('',(#106),#110);
#106 = LINE('',#107,#108);
#107 = CARTESIAN_POINT('',(0.,0.));
#108 = VECTOR('',#109,1.);
#109 = DIRECTION('',(0.,-1.));
#110 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#111 = ORIENTED_EDGE('',*,*,#112,.F.);
#112 = EDGE_CURVE('',#22,#85,#113,.T.);
#113 = SURFACE_CURVE('',#114,(#118,#125),.PCURVE_S1.);
#114 = LINE('',#115,#116);
#115 = CARTESIAN_POINT('',(-60.,-40.,0.));
#116 = VECTOR('',#117,1.);
#117 = DIRECTION('',(1.,0.,0.));
#118 = PCURVE('',#32,#119);
#119 = DEFINITIONAL_REPRESENTATION('',(#120),#124);
#120 = LINE('',#121,#122);
#121 = CARTESIAN_POINT('',(0.,0.));
#122 = VECTOR('',#123,1.);
#123 = DIRECTION('',(1.,0.));
#124 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#125 = PCURVE('',#126,#131);
#126 = PLANE('',#127);
#127 = AXIS2_PLACEMENT_3D('',#128,#129,#130);
#128 = CARTESIAN_POINT('',(0.,0.,0.));
#129 = DIRECTION('',(0.,0.,1.));
#130 = DIRECTION('',(1.,0.,-0.));
#131 = DEFINITIONAL_REPRESENTATION('',(#132),#136);
#132 = LINE('',#133,#134);
#133 = CARTESIAN_POINT('',(-60.,-40.));
#134 = VECTOR('',#135,1.);
#135 = DIRECTION('',(1.,0.));
#136 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#137 = ADVANCED_FACE('',(#138),#100,.F.);
#138 = FACE_BOUND('',#139,.F.);
#139 = EDGE_LOOP('',(#140,#141,#164,#192));
#140 = ORIENTED_EDGE('',*,*,#84,.T.);
#141 = ORIENTED_EDGE('',*,*,#142,.T.);
#142 = EDGE_CURVE('',#57,#143,#145,.T.);
#143 = VERTEX_POINT('',#144);
#144 = CARTESIAN_POINT('',(60.,40.,20.));
#145 = SURFACE_CURVE('',#146,(#150,#157),.PCURVE_S1.);
#146 = LINE('',#147,#148);
#147 = CARTESIAN_POINT('',(60.,-40.,20.));
#148 = VECTOR('',#149,1.);
#149 = DIRECTION('',(0.,1.,0.));
#150 = PCURVE('',#100,#151);
#151 = DEFINITIONAL_REPRESENTATION('',(#152),#156);
#152 = LINE('',#153,#154);
#153 = CARTESIAN_POINT('',(0.,-20.));
#154 = VECTOR('',#155,1.);
#155 = DIRECTION('',(1.,0.));
#156 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#157 = PCURVE('',#72,#158);
#158 = DEFINITIONAL_REPRESENTATION('',(#159),#163);
#159 = LINE('',#160,#161);
#160 = CARTESIAN_POINT('',(60.,-40.));
#161 = VECTOR('',#162,1.);
#162 = DIRECTION('',(0.,1.));
#163 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#164 = ORIENTED_EDGE('',*,*,#165,.F.);
#165 = EDGE_CURVE('',#166,#143,#168,.T.);
#166 = VERTEX_POINT('',#167);
#167 = CARTESIAN_POINT('',(60.,40.,0.));
#168 = SURFACE_CURVE('',#169,(#173,#180),.PCURVE_S1.);
#169 = LINE('',#170,#171);
#170 = CARTESIAN_POINT('',(60.,40.,0.));
#171 = VECTOR('',#172,1.);
#172 = DIRECTION('',(0.,0.,1.));
#173 = PCURVE('',#100,#174);
#174 = DEFINITIONAL_REPRESENTATION('',(#175),#179);
#175 = LINE('',#176,#177);
#176 = CARTESIAN_POINT('',(80.,0.));
#177 = VECTOR('',#178,1.);
#178 = DIRECTION('',(0.,-1.));
#179 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#180 = PCURVE('',#181,#186);
#181 = PLANE('',#182);
#182 = AXIS2_PLACEMENT_3D('',#183,#184,#185);
#183 = CARTESIAN_POINT('',(60.,40.,0.));
#184 = DIRECTION('',(0.,-1.,0.));
#185 = DIRECTION('',(-1.,0.,0.));
#186 = DEFINITIONAL_REPRESENTATION('',(#187),#191);
#187 = LINE('',#188,#189);
#188 = CARTESIAN_POINT('',(0.,-0.));
#189 = VECTOR('',#190,1.);
#190 = DIRECTION('',(0.,-1.));
#191 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#192 = ORIENTED_EDGE('',*,*,#193,.F.);
#193 = EDGE_CURVE('',#85,#166,#194,.T.);
#194 = SURFACE_CURVE('',#195,(#199,#206),.PCURVE_S1.);
#195 = LINE('',#196,#197);
#196 = CARTESIAN_POINT('',(60.,-40.,0.));
#197 = VECTOR('',#198,1.);
#198 = DIRECTION('',(0.,1.,0.));
#199 = PCURVE('',#100,#200);
#200 = DEFINITIONAL_REPRESENTATION('',(#201),#205);
#201 = LINE('',#202,#203);
#202 = CARTESIAN_POINT('',(0.,0.));
#203 = VECTOR('',#204,1.);
#204 = DIRECTION('',(1.,0.));
#205 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#206 = PCURVE('',#126,#207);
#207 = DEFINITIONAL_REPRESENTATION('',(#208),#212);
#208 = LINE('',#209,#210);
#209 = CARTESIAN_POINT('',(60.,-40.));
#210 = VECTOR('',#211,1.);
#211 = DIRECTION('',(0.,1.));
#212 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#213 = ADVANCED_FACE('',(#214),#181,.F.);
#214 = FACE_BOUND('',#215,.F.);
#215 = EDGE_LOOP('',(#216,#217,#240,#263));
#216 = ORIENTED_EDGE('',*,*,#165,.T.);
#217 = ORIENTED_EDGE('',*,*,#218,.T.);
#218 = EDGE_CURVE('',#143,#219,#221,.T.);
#219 = VERTEX_POINT('',#220);
#220 = CARTESIAN_POINT('',(-60.,40.,20.));
#221 = SURFACE_CURVE('',#222,(#226,#233),.PCURVE_S1.);
#222 = LINE('',#223,#224);
#223 = CARTESIAN_POINT('',(60.,40.,20.));
#224 = VECTOR('',#225,1.);
#225 = DIRECTION('',(-1.,0.,0.));
#226 = PCURVE('',#181,#227);
#227 = DEFINITIONAL_REPRESENTATION('',(#228),#232);
#228 = LINE('',#229,#230);
#229 = CARTESIAN_POINT('',(0.,-20.));
#230 = VECTOR('',#231,1.);
#231 = DIRECTION('',(1.,0.));
#232 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#233 = PCURVE('',#72,#234);
#234 = DEFINITIONAL_REPRESENTATION('',(#235),#239);
#235 = LINE('',#236,#237);
#236 = CARTESIAN_POINT('',(60.,40.));
#237 = VECTOR('',#238,1.);
#238 = DIRECTION('',(-1.,0.));
#239 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#240 = ORIENTED_EDGE('',*,*,#241,.F.);
#241 = EDGE_CURVE('',#242,#219,#244,.T.);
#242 = VERTEX_POINT('',#243);
#243 = CARTESIAN_POINT('',(-60.,40.,0.));
#244 = SURFACE_CURVE('',#245,(#249,#256),.PCURVE_S1.);
#245 = LINE('',#246,#247);
#246 = CARTESIAN_POINT('',(-60.,40.,0.));
#247 = VECTOR('',#248,1.);
#248 = DIRECTION('',(0.,0.,1.));
#249 = PCURVE('',#181,#250);
#250 = DEFINITIONAL_REPRESENTATION('',(#251),#255);
#251 = LINE('',#252,#253);
#252 = CARTESIAN_POINT('',(120.,0.));
#253 = VECTOR('',#254,1.);
#254 = DIRECTION('',(0.,-1.));
#255 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#256 = PCURVE('',#44,#257);
#257 = DEFINITIONAL_REPRESENTATION('',(#258),#262);
#258 = LINE('',#259,#260);
#259 = CARTESIAN_POINT('',(0.,0.));
#260 = VECTOR('',#261,1.);
#261 = DIRECTION('',(0.,-1.));
#262 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#263 = ORIENTED_EDGE('',*,*,#264,.F.);
#264 = EDGE_CURVE('',#166,#242,#265,.T.);
#265 = SURFACE_CURVE('',#266,(#270,#277),.PCURVE_S1.);
#266 = LINE('',#267,#268);
#267 = CARTESIAN_POINT('',(60.,40.,0.));
#268 = VECTOR('',#269,1.);
#269 = DIRECTION('',(-1.,0.,0.));
#270 = PCURVE('',#181,#271);
#271 = DEFINITIONAL_REPRESENTATION('',(#272),#276);
#272 = LINE('',#273,#274);
#273 = CARTESIAN_POINT('',(0.,-0.));
#274 = VECTOR('',#275,1.);
#275 = DIRECTION('',(1.,0.));
#276 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#277 = PCURVE('',#126,#278);
#278 = DEFINITIONAL_REPRESENTATION('',(#279),#283);
#279 = LINE('',#280,#281);
#280 = CARTESIAN_POINT('',(60.,40.));
#281 = VECTOR('',#282,1.);
#282 = DIRECTION('',(-1.,0.));
#283 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#284 = ADVANCED_FACE('',(#285),#44,.F.);
#285 = FACE_BOUND('',#286,.F.);
#286 = EDGE_LOOP('',(#287,#288,#309,#310));
#287 = ORIENTED_EDGE('',*,*,#241,.T.);
#288 = ORIENTED_EDGE('',*,*,#289,.T.);
#289 = EDGE_CURVE('',#219,#24,#290,.T.);
#290 = SURFACE_CURVE('',#291,(#295,#302),.PCURVE_S1.);
#291 = LINE('',#292,#293);
#292 = CARTESIAN_POINT('',(-60.,40.,20.));
#293 = VECTOR('',#294,1.);
#294 = DIRECTION('',(0.,-1.,0.));
#295 = PCURVE('',#44,#296);
#296 = DEFINITIONAL_REPRESENTATION('',(#297),#301);
#297 = LINE('',#298,#299);
#298 = CARTESIAN_POINT('',(0.,-20.));
#299 = VECTOR('',#300,1.);
#300 = DIRECTION('',(1.,0.));
#301 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#302 = PCURVE('',#72,#303);
#303 = DEFINITIONAL_REPRESENTATION('',(#304),#308);
#304 = LINE('',#305,#306);
#305 = CARTESIAN_POINT('',(-60.,40.));
#306 = VECTOR('',#307,1.);
#307 = DIRECTION('',(0.,-1.));
#308 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#309 = ORIENTED_EDGE('',*,*,#21,.F.);
#310 = ORIENTED_EDGE('',*,*,#311,.F.);
#311 = EDGE_CURVE('',#242,#22,#312,.T.);
#312 = SURFACE_CURVE('',#313,(#317,#324),.PCURVE_S1.);
#313 = LINE('',#314,#315);
#314 = CARTESIAN_POINT('',(-60.,40.,0.));
#315 = VECTOR('',#316,1.);
#316 = DIRECTION('',(0.,-1.,0.));
#317 = PCURVE('',#44,#318);
#318 = DEFINITIONAL_REPRESENTATION('',(#319),#323);
#319 = LINE('',#320,#321);
#320 = CARTESIAN_POINT('',(0.,0.));
#321 = VECTOR('',#322,1.);
#322 = DIRECTION('',(1.,0.));
#323 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#324 = PCURVE('',#126,#325);
#325 = DEFINITIONAL_REPRESENTATION('',(#326),#330);
#326 = LINE('',#327,#328);
#327 = CARTESIAN_POINT('',(-60.,40.));
#328 = VECTOR('',#329,1.);
#329 = DIRECTION('',(0.,-1.));
#330 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#331 = ADVANCED_FACE('',(#332),#126,.F.);
#332 = FACE_BOUND('',#333,.F.);
#333 = EDGE_LOOP('',(#334,#335,#336,#337));
#334 = ORIENTED_EDGE('',*,*,#112,.T.);
#335 = ORIENTED_EDGE('',*,*,#193,.T.);
#336 = ORIENTED_EDGE('',*,*,#264,.T.);
#337 = ORIENTED_EDGE('',*,*,#311,.T.);
#338 = ADVANCED_FACE('',(#339),#72,.T.);
#339 = FACE_BOUND('',#340,.T.);
#340 = EDGE_LOOP('',(#341,#342,#343,#344));
#341 = ORIENTED_EDGE('',*,*,#56,.T.);
#342 = ORIENTED_EDGE('',*,*,#142,.T.);
#343 = ORIENTED_EDGE('',*,*,#218,.T.);
#344 = ORIENTED_EDGE('',*,*,#289,.T.);
#345 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#349)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#346,#347,#348)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#346 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#347 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#348 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#349 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#346,
'distance_accuracy_value','confusion accuracy');
#350 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
ENDSEC;
END-ISO-10303-21;
@@ -0,0 +1,808 @@
{
"schema_version": "cad.topology.v1",
"task_id": "cad_9ba300591326",
"revision_id": "candidate_34e2dff5197b3911",
"snapshot_id": "cad_9ba300591326/candidate_34e2dff5197b3911",
"body_id": "body:feature_001",
"records": [
{
"record_id": "body:feature_001:face:0",
"kind": "face",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
0.0,
60.0,
-40.0,
20.0
],
"center_mm": [
-1.304512053934559e-15,
-40.0,
10.0
],
"normal": [
0.0,
-1.0,
-0.0
],
"area_mm2": 2400.0,
"surface_type": "plane",
"adjacency_signature": [
"line:120.000000:2",
"line:120.000000:2",
"line:20.000000:2",
"line:20.000000:2"
],
"plane_normal": [
-0.0,
1.0,
0.0
],
"plane_offset_mm": -40.0
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:face:1",
"kind": "face",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
60.0,
-40.0,
0.0,
60.0,
40.0,
20.0
],
"center_mm": [
60.0,
-5.551115123125784e-17,
10.0
],
"normal": [
1.0,
-0.0,
-0.0
],
"area_mm2": 1599.9999999999998,
"surface_type": "plane",
"adjacency_signature": [
"line:20.000000:2",
"line:20.000000:2",
"line:80.000000:2",
"line:80.000000:2"
],
"plane_normal": [
1.0,
-0.0,
-0.0
],
"plane_offset_mm": 60.0
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:face:2",
"kind": "face",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
40.0,
0.0,
60.0,
40.0,
20.0
],
"center_mm": [
1.304512053934559e-15,
40.0,
10.0
],
"normal": [
-0.0,
1.0,
-0.0
],
"area_mm2": 2400.0,
"surface_type": "plane",
"adjacency_signature": [
"line:120.000000:2",
"line:120.000000:2",
"line:20.000000:2",
"line:20.000000:2"
],
"plane_normal": [
-0.0,
1.0,
-0.0
],
"plane_offset_mm": 40.0
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:face:3",
"kind": "face",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
0.0,
-60.0,
40.0,
20.0
],
"center_mm": [
-60.0,
5.551115123125784e-17,
10.0
],
"normal": [
-1.0,
-0.0,
-0.0
],
"area_mm2": 1599.9999999999998,
"surface_type": "plane",
"adjacency_signature": [
"line:20.000000:2",
"line:20.000000:2",
"line:80.000000:2",
"line:80.000000:2"
],
"plane_normal": [
1.0,
0.0,
0.0
],
"plane_offset_mm": -60.0
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:face:4",
"kind": "face",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
0.0,
60.0,
40.0,
0.0
],
"center_mm": [
-7.216449660063518e-16,
-4.736951571734001e-16,
0.0
],
"normal": [
-0.0,
-0.0,
-1.0
],
"area_mm2": 9600.0,
"surface_type": "plane",
"adjacency_signature": [
"line:120.000000:2",
"line:120.000000:2",
"line:80.000000:2",
"line:80.000000:2"
],
"plane_normal": [
0.0,
0.0,
1.0
],
"plane_offset_mm": -0.0
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:face:5",
"kind": "face",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
20.0,
60.0,
40.0,
20.0
],
"center_mm": [
-7.216449660063518e-16,
-4.736951571734001e-16,
20.0
],
"normal": [
0.0,
0.0,
1.0
],
"area_mm2": 9600.0,
"surface_type": "plane",
"adjacency_signature": [
"line:120.000000:2",
"line:120.000000:2",
"line:80.000000:2",
"line:80.000000:2"
],
"plane_normal": [
0.0,
0.0,
1.0
],
"plane_offset_mm": 20.0
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:0",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
0.0,
-60.0,
-40.0,
20.0
],
"center_mm": [
-60.0,
-40.0,
10.0
],
"length_mm": 20.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
-60.0,
-40.0,
0.0
],
"end_mm": [
-60.0,
-40.0,
20.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:1",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
60.0,
-40.0,
0.0,
60.0,
-40.0,
20.0
],
"center_mm": [
60.0,
-40.0,
10.0
],
"length_mm": 20.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
60.0,
-40.0,
0.0
],
"end_mm": [
60.0,
-40.0,
20.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:2",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
0.0,
60.0,
-40.0,
0.0
],
"center_mm": [
0.0,
-40.0,
0.0
],
"length_mm": 120.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
-60.0,
-40.0,
0.0
],
"end_mm": [
60.0,
-40.0,
0.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:3",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
20.0,
60.0,
-40.0,
20.0
],
"center_mm": [
0.0,
-40.0,
20.0
],
"length_mm": 120.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
-60.0,
-40.0,
20.0
],
"end_mm": [
60.0,
-40.0,
20.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:4",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
60.0,
40.0,
0.0,
60.0,
40.0,
20.0
],
"center_mm": [
60.0,
40.0,
10.0
],
"length_mm": 20.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
60.0,
40.0,
0.0
],
"end_mm": [
60.0,
40.0,
20.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:5",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
60.0,
-40.0,
0.0,
60.0,
40.0,
0.0
],
"center_mm": [
60.0,
0.0,
0.0
],
"length_mm": 80.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
60.0,
-40.0,
0.0
],
"end_mm": [
60.0,
40.0,
0.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:6",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
60.0,
-40.0,
20.0,
60.0,
40.0,
20.0
],
"center_mm": [
60.0,
0.0,
20.0
],
"length_mm": 80.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
60.0,
-40.0,
20.0
],
"end_mm": [
60.0,
40.0,
20.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:7",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
40.0,
0.0,
-60.0,
40.0,
20.0
],
"center_mm": [
-60.0,
40.0,
10.0
],
"length_mm": 20.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
-60.0,
40.0,
0.0
],
"end_mm": [
-60.0,
40.0,
20.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:8",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
40.0,
0.0,
60.0,
40.0,
0.0
],
"center_mm": [
0.0,
40.0,
0.0
],
"length_mm": 120.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
60.0,
40.0,
0.0
],
"end_mm": [
-60.0,
40.0,
0.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:9",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
40.0,
20.0,
60.0,
40.0,
20.0
],
"center_mm": [
0.0,
40.0,
20.0
],
"length_mm": 120.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
60.0,
40.0,
20.0
],
"end_mm": [
-60.0,
40.0,
20.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:10",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
0.0,
-60.0,
40.0,
0.0
],
"center_mm": [
-60.0,
0.0,
0.0
],
"length_mm": 80.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
-60.0,
40.0,
0.0
],
"end_mm": [
-60.0,
-40.0,
0.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:edge:11",
"kind": "edge",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
20.0,
-60.0,
40.0,
20.0
],
"center_mm": [
-60.0,
0.0,
20.0
],
"length_mm": 80.0,
"curve_type": "line",
"adjacent_face_count": 2,
"start_mm": [
-60.0,
40.0,
20.0
],
"end_mm": [
-60.0,
-40.0,
20.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:vertex:0",
"kind": "vertex",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"center_mm": [
-60.0,
40.0,
20.0
],
"incident_edge_count": 3
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001:vertex:1",
"kind": "vertex",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"center_mm": [
-60.0,
-40.0,
20.0
],
"incident_edge_count": 3
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_001",
"kind": "body",
"feature_id": "feature_001",
"body_id": "body:feature_001",
"owner_feature_ids": [
"feature_001"
],
"geometry": {
"bbox_mm": [
-60.0,
-40.0,
0.0,
60.0,
40.0,
20.0
],
"volume_mm3": 192000.0,
"solid_count": 1
},
"executable": true,
"synthetic": false
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

@@ -0,0 +1,358 @@
{
"schema_version": "cad.render-manifest.v2",
"renderer": "python-occ-hlr-pillow",
"source": {
"type": "step",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/model.step",
"bounds_mm": [
-60.0,
60.0,
-40.0,
40.0,
0.0,
20.0
]
},
"high_resolution": {
"width": 2048,
"height": 2048,
"method": "occ_hidden_line"
},
"review_resolution": {
"width": 1024,
"height": 1024,
"resample": "lanczos"
},
"contact_sheet_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/contact-sheet.jpg",
"views": [
{
"id": "top",
"camera": {
"projection": "orthographic",
"position": [
0.0,
0.0,
100010.0
],
"focal_point": [
0.0,
0.0,
10.0
],
"view_up": [
0.0,
1.0,
0.0
],
"view": "top",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/top.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/top-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/top/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/top/edge.png",
"coverage": 0.00585174560546875,
"pixel_bbox": [
285,
530,
1763,
1518
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 4,
"valid": true
}
},
{
"id": "bottom",
"camera": {
"projection": "orthographic",
"position": [
0.0,
0.0,
-99990.0
],
"focal_point": [
0.0,
0.0,
10.0
],
"view_up": [
0.0,
1.0,
0.0
],
"view": "bottom",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/bottom.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/bottom-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/bottom/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/bottom/edge.png",
"coverage": 0.00585174560546875,
"pixel_bbox": [
285,
530,
1763,
1518
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 4,
"valid": true
}
},
{
"id": "front",
"camera": {
"projection": "orthographic",
"position": [
0.0,
-100000.0,
10.0
],
"focal_point": [
0.0,
0.0,
10.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "front",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/front.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/front-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/front/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/front/edge.png",
"coverage": 0.004092216491699219,
"pixel_bbox": [
285,
899,
1763,
1149
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 4,
"valid": true
}
},
{
"id": "back",
"camera": {
"projection": "orthographic",
"position": [
0.0,
100000.0,
10.0
],
"focal_point": [
0.0,
0.0,
10.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "back",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/back.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/back-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/back/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/back/edge.png",
"coverage": 0.004092216491699219,
"pixel_bbox": [
285,
899,
1763,
1149
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 4,
"valid": true
}
},
{
"id": "left",
"camera": {
"projection": "orthographic",
"position": [
-100000.0,
0.0,
10.0
],
"focal_point": [
0.0,
0.0,
10.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "left",
"frame_mm": [
-55.55555555555556,
55.55555555555556,
-55.55555555555556,
55.55555555555556
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/left.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/left-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/left/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/left/edge.png",
"coverage": 0.004387855529785156,
"pixel_bbox": [
285,
837,
1763,
1211
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 4,
"valid": true
}
},
{
"id": "right",
"camera": {
"projection": "orthographic",
"position": [
100000.0,
0.0,
10.0
],
"focal_point": [
0.0,
0.0,
10.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "right",
"frame_mm": [
-55.55555555555556,
55.55555555555556,
-55.55555555555556,
55.55555555555556
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/right.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/right-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/right/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/right/edge.png",
"coverage": 0.004387855529785156,
"pixel_bbox": [
285,
837,
1763,
1211
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 4,
"valid": true
}
},
{
"id": "isometric",
"camera": {
"projection": "orthographic",
"position": [
61545.74548966637,
-61545.74548966637,
49246.596391733096
],
"focal_point": [
0.0,
0.0,
10.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "isometric",
"frame_mm": [
-98.20927516480134,
98.2092751647952,
-98.20927516480327,
98.20927516479327
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/isometric.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/isometric-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/isometric/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_9ba300591326/revisions/rev_001/renders/internal/isometric/edge.png",
"coverage": 0.007837295532226562,
"pixel_bbox": [
285,
568,
1763,
1480
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 9,
"hidden_edge_count": 3,
"valid": true
}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB