Kernel rig: the two 3871 cone cases were byte-for-byte the 258 cases; the 258 cases carry their sources

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
jyviko
2026-10-31 08:29:20 -04:00
committed by jyviko
parent 5e348ae2a8
commit 033d1a122c
9 changed files with 7 additions and 191 deletions
-2
View File
@@ -110,8 +110,6 @@ Editable drawing code, native projects and shipped exports are collected under `
| tests/kernel-cases/import/3208-extruded-ellipse-face-over-parameter-seam/input.step | SolidCraft contributors | synthetic STEP file written by hand from ISO 10303-21 for the kernel regression case of tangency-labs/solidcraft#3208 | MIT OR Apache-2.0 |
| tests/kernel-cases/import/3352-vertex-off-its-edge-curve/input.step | SolidCraft contributors | synthetic STEP file written by hand from ISO 10303-21 for the kernel regression case of tangency-labs/solidcraft#3352 | MIT OR Apache-2.0 |
| tests/kernel-cases/import/3730-void-oriented-shell-false/input.step | SolidCraft contributors | synthetic STEP file written by hand from ISO 10303-21 for the kernel regression case of tangency-labs/solidcraft#3730 | MIT OR Apache-2.0 |
| tests/kernel-cases/import/3871-cone-base-circle-with-vertex-loop/input.step | step-conformance contributors | copy of tests/step-conformance/cone_point_vertex.step (generated from formulas by https://github.com/dan335/step-conformance, corpus/generated, 96f30bb); kernel regression case for tangency-labs/solidcraft#3871 | CC0-1.0 |
| tests/kernel-cases/import/3871-cone-bounded-only-by-its-base-circle/input.step | step-conformance contributors | copy of tests/step-conformance/cone_point.step (generated from formulas by https://github.com/dan335/step-conformance, corpus/generated, 96f30bb); kernel regression case for tangency-labs/solidcraft#3871 | CC0-1.0 |
| tests/kernel-cases/import/3880-cylinder-seam-edge/input.step | step-conformance contributors | copy of tests/step-conformance/cylinder_seam.step (generated from formulas by https://github.com/dan335/step-conformance, corpus/generated, 96f30bb); kernel regression case for tangency-labs/solidcraft#3880 | CC0-1.0 |
| tests/kernel-cases/import/3880-nurbs-hemisphere-dome/input.step | step-conformance contributors | copy of tests/step-conformance/dome_nurbs.step (generated from formulas by https://github.com/dan335/step-conformance, corpus/generated, 96f30bb); kernel regression case for tangency-labs/solidcraft#3880 | CC0-1.0 |
| tests/kernel-cases/import/3963-closed-spline-edge-vertex-past-start/input.step | SolidCraft contributors | synthetic STEP file written by hand from ISO 10303-21 for the kernel regression case of tangency-labs/solidcraft#3963 | MIT OR Apache-2.0 |
@@ -1,6 +1,8 @@
{
"sources": [
"tangency-labs/solidcraft#258"
"tangency-labs/solidcraft#258",
"tangency-labs/solidcraft#3871",
"tangency-labs/solidcraft#3901"
],
"what": "the same STEP cone with a VERTEX_LOOP at the apex: the mesh stopped 30 mm short of the apex",
"source": "analytic",
@@ -1,6 +1,9 @@
{
"sources": [
"tangency-labs/solidcraft#258"
"tangency-labs/solidcraft#258",
"tangency-labs/solidcraft#3871",
"tangency-labs/solidcraft#3901",
"tangency-labs/solidcraft#3880"
],
"what": "a STEP cone 20 mm across coming to a point 30 mm up (no vertex at the apex): the cone face was meshed flat at its base, so the measured shape was far off",
"source": "analytic",
@@ -1,25 +0,0 @@
{
"sources": [
"tangency-labs/solidcraft#3871",
"tangency-labs/solidcraft#3901"
],
"what": "the same cone with a VERTEX_LOOP at its point on the cone face: the point must still be reached, not read as a flat disc",
"source": "analytic",
"method": "cone r=10 h=30: V = 1000 pi = 3141.5927; A = pi r^2 + pi r s = 1307.6181; 2 faces",
"body_count": 1,
"volume_mm3": 3141.5927,
"area_mm2": 1307.6181,
"faces": 2,
"bbox": {
"min": [
-10,
-10,
0
],
"max": [
10,
10,
30
]
}
}
@@ -1,60 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('step-conformance generated part'),'2;1');
FILE_NAME('cone_point_vertex.step','2026-10-12T00:00:00',(''),(''),'step-conformance generate','step-conformance generate','');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#2=( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#3=( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#4=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-7),#1,'distance_accuracy_value','confusion accuracy');
#5=( GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#4)) GLOBAL_UNIT_ASSIGNED_CONTEXT((#1,#2,#3)) REPRESENTATION_CONTEXT('','3D') );
#6=APPLICATION_CONTEXT('automotive design');
#7=APPLICATION_PROTOCOL_DEFINITION('international standard','automotive_design',2000,#6);
#8=PRODUCT_CONTEXT('',#6,'mechanical');
#9=PRODUCT_DEFINITION_CONTEXT('part definition',#6,'design');
#10=PRODUCT('cone_point_vertex','cone_point_vertex','',(#8));
#11=PRODUCT_DEFINITION_FORMATION('','',#10);
#12=PRODUCT_DEFINITION('design','',#11,#9);
#13=PRODUCT_DEFINITION_SHAPE('','',#12);
#14=CARTESIAN_POINT('',(0.0,0.0,0.0));
#15=DIRECTION('',(0.0,0.0,1.0));
#16=DIRECTION('',(1.0,0.0,0.0));
#17=AXIS2_PLACEMENT_3D('',#14,#15,#16);
#18=CARTESIAN_POINT('',(0.0,0.0,0.0));
#19=DIRECTION('',(0.0,0.0,1.0));
#20=DIRECTION('',(1.0,0.0,0.0));
#21=AXIS2_PLACEMENT_3D('',#18,#19,#20);
#22=CIRCLE('',#21,10.0);
#23=CARTESIAN_POINT('',(10.0,0.0,0.0));
#24=VERTEX_POINT('',#23);
#25=EDGE_CURVE('',#24,#24,#22,.T.);
#26=CARTESIAN_POINT('',(0.0,0.0,0.0));
#27=DIRECTION('',(0.0,0.0,1.0));
#28=DIRECTION('',(1.0,0.0,0.0));
#29=AXIS2_PLACEMENT_3D('',#26,#27,#28);
#30=PLANE('',#29);
#31=ORIENTED_EDGE('',*,*,#25,.F.);
#32=EDGE_LOOP('',(#31));
#33=FACE_OUTER_BOUND('',#32,.T.);
#34=ADVANCED_FACE('',(#33),#30,.F.);
#35=CARTESIAN_POINT('',(0.0,0.0,0.0));
#36=DIRECTION('',(0.0,0.0,-1.0));
#37=DIRECTION('',(1.0,0.0,0.0));
#38=AXIS2_PLACEMENT_3D('',#35,#36,#37);
#39=CONICAL_SURFACE('',#38,10.0,0.3217505543966422);
#40=ORIENTED_EDGE('',*,*,#25,.T.);
#41=EDGE_LOOP('',(#40));
#42=CARTESIAN_POINT('',(0.0,0.0,30.0));
#43=VERTEX_POINT('',#42);
#44=VERTEX_LOOP('',#43);
#45=FACE_OUTER_BOUND('',#41,.T.);
#46=FACE_BOUND('',#44,.T.);
#47=ADVANCED_FACE('',(#45,#46),#39,.T.);
#48=CLOSED_SHELL('',(#34,#47));
#49=MANIFOLD_SOLID_BREP('',#48);
#50=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#17,#49),#5);
#51=SHAPE_DEFINITION_REPRESENTATION(#13,#50);
ENDSEC;
END-ISO-10303-21;
@@ -1,10 +0,0 @@
{
"commands": [
{
"command": "file.insert_step",
"params": {
"path": "$CASE/input.step"
}
}
]
}
@@ -1,26 +0,0 @@
{
"sources": [
"tangency-labs/solidcraft#3871",
"tangency-labs/solidcraft#3901",
"tangency-labs/solidcraft#3880"
],
"what": "a cone whose face is bounded only by its base circle (no vertex at the point) must reach its point, not come in as a flat disc",
"source": "analytic",
"method": "cone r=10 h=30: V = pi r^2 h / 3 = 1000 pi = 3141.5927; A = pi r^2 + pi r s with s = sqrt(100+900) = 1307.6181; 2 faces",
"body_count": 1,
"volume_mm3": 3141.5927,
"area_mm2": 1307.6181,
"faces": 2,
"bbox": {
"min": [
-10,
-10,
0
],
"max": [
10,
10,
30
]
}
}
@@ -1,56 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('step-conformance generated part'),'2;1');
FILE_NAME('cone_point.step','2026-10-12T00:00:00',(''),(''),'step-conformance generate','step-conformance generate','');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#2=( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#3=( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#4=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-7),#1,'distance_accuracy_value','confusion accuracy');
#5=( GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#4)) GLOBAL_UNIT_ASSIGNED_CONTEXT((#1,#2,#3)) REPRESENTATION_CONTEXT('','3D') );
#6=APPLICATION_CONTEXT('automotive design');
#7=APPLICATION_PROTOCOL_DEFINITION('international standard','automotive_design',2000,#6);
#8=PRODUCT_CONTEXT('',#6,'mechanical');
#9=PRODUCT_DEFINITION_CONTEXT('part definition',#6,'design');
#10=PRODUCT('cone_point','cone_point','',(#8));
#11=PRODUCT_DEFINITION_FORMATION('','',#10);
#12=PRODUCT_DEFINITION('design','',#11,#9);
#13=PRODUCT_DEFINITION_SHAPE('','',#12);
#14=CARTESIAN_POINT('',(0.0,0.0,0.0));
#15=DIRECTION('',(0.0,0.0,1.0));
#16=DIRECTION('',(1.0,0.0,0.0));
#17=AXIS2_PLACEMENT_3D('',#14,#15,#16);
#18=CARTESIAN_POINT('',(0.0,0.0,0.0));
#19=DIRECTION('',(0.0,0.0,1.0));
#20=DIRECTION('',(1.0,0.0,0.0));
#21=AXIS2_PLACEMENT_3D('',#18,#19,#20);
#22=CIRCLE('',#21,10.0);
#23=CARTESIAN_POINT('',(10.0,0.0,0.0));
#24=VERTEX_POINT('',#23);
#25=EDGE_CURVE('',#24,#24,#22,.T.);
#26=CARTESIAN_POINT('',(0.0,0.0,0.0));
#27=DIRECTION('',(0.0,0.0,1.0));
#28=DIRECTION('',(1.0,0.0,0.0));
#29=AXIS2_PLACEMENT_3D('',#26,#27,#28);
#30=PLANE('',#29);
#31=ORIENTED_EDGE('',*,*,#25,.F.);
#32=EDGE_LOOP('',(#31));
#33=FACE_OUTER_BOUND('',#32,.T.);
#34=ADVANCED_FACE('',(#33),#30,.F.);
#35=CARTESIAN_POINT('',(0.0,0.0,0.0));
#36=DIRECTION('',(0.0,0.0,-1.0));
#37=DIRECTION('',(1.0,0.0,0.0));
#38=AXIS2_PLACEMENT_3D('',#35,#36,#37);
#39=CONICAL_SURFACE('',#38,10.0,0.3217505543966422);
#40=ORIENTED_EDGE('',*,*,#25,.T.);
#41=EDGE_LOOP('',(#40));
#42=FACE_OUTER_BOUND('',#41,.T.);
#43=ADVANCED_FACE('',(#42),#39,.T.);
#44=CLOSED_SHELL('',(#34,#43));
#45=MANIFOLD_SOLID_BREP('',#44);
#46=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#17,#45),#5);
#47=SHAPE_DEFINITION_REPRESENTATION(#13,#46);
ENDSEC;
END-ISO-10303-21;
@@ -1,10 +0,0 @@
{
"commands": [
{
"command": "file.insert_step",
"params": {
"path": "$CASE/input.step"
}
}
]
}