{ "schema": "freecad-web-p6-python-api-module-batch-gate/v1", "taskId": "FW-P6-FPA-F2-OPENSCAD", "module": "OpenSCAD", "tier": "tier-2-pure", "result": "pass_with_pending", "coverage": { "records": 140, "counts": { "exposed": 10, "planned": 130 } }, "records": [ { "id": "py:OpenSCAD:function:CGALFeatureObj", "name": "CGALFeatureObj", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:addString", "name": "addString", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:angneg", "name": "angneg", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:applyPlacement", "name": "applyPlacement", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:call_openscad_with_pipes", "name": "call_openscad_with_pipes", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:callopenscad", "name": "callopenscad", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:callopenscadmeshstring", "name": "callopenscadmeshstring", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:callopenscadstring", "name": "callopenscadstring", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:center", "name": "center", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:checkObjShape", "name": "checkObjShape", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:check_multmatrix", "name": "check_multmatrix", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:colorcodeshapes", "name": "colorcodeshapes", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:comparerotations", "name": "comparerotations", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:convert_points_list_to_vector", "name": "convert_points_list_to_vector", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:decomposerotoinversion", "name": "decomposerotoinversion", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:detsubmatrix", "name": "detsubmatrix", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:edgestofaces", "name": "edgestofaces", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:edgestowires", "name": "edgestowires", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:endpointdistance", "name": "endpointdistance", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:endpointdistancedebuglist", "name": "endpointdistancedebuglist", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:expandplacements", "name": "expandplacements", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:expandplacementsmatrix", "name": "expandplacementsmatrix", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:export", "name": "export", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:fcsubmatrix", "name": "fcsubmatrix", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:findConnectedEdges", "name": "findConnectedEdges", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:findbestmatchingrotation", "name": "findbestmatchingrotation", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:fixVisibility", "name": "fixVisibility", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:fuse", "name": "fuse", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:fusefaces", "name": "fusefaces", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:getopenscadexe", "name": "getopenscadexe", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:getopenscadversion", "name": "getopenscadversion", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:importDXFface", "name": "importDXFface", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:insert", "name": "insert", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:isorthogonal", "name": "isorthogonal", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:isrotoinversionpython", "name": "isrotoinversionpython", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:isspecialorthogonal", "name": "isspecialorthogonal", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:isspecialorthogonalpython", "name": "isspecialorthogonalpython", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:likeprimitive", "name": "likeprimitive", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:makeSurfaceVolume", "name": "makeSurfaceVolume", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:make_face", "name": "make_face", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:mesh2polyhedron", "name": "mesh2polyhedron", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:meshopinline", "name": "meshopinline", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:meshoponobjs", "name": "meshoponobjs", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:meshoptempfile", "name": "meshoptempfile", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:mirror2mat", "name": "mirror2mat", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:mirrormesh", "name": "mirrormesh", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:mostbasiccompound", "name": "mostbasiccompound", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:multiplymat", "name": "multiplymat", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:myPolygon", "name": "myPolygon", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:open", "name": "open", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:openscadmesh", "name": "openscadmesh", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_2d_point", "name": "p_2d_point", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_3d_point", "name": "p_3d_point", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_anymodifier", "name": "p_anymodifier", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_block_list_", "name": "p_block_list_", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_boolean", "name": "p_boolean", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_error", "name": "p_error", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_import_file1", "name": "p_import_file1", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_keywordargument", "name": "p_keywordargument", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_keywordargument_list", "name": "p_keywordargument_list", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_linear_extrude_with_transform", "name": "p_linear_extrude_with_transform", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_matrix", "name": "p_matrix", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_not_supported", "name": "p_not_supported", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_operation", "name": "p_operation", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_part", "name": "p_part", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_path_list", "name": "p_path_list", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_path_points", "name": "p_path_points", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_path_set", "name": "p_path_set", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_points_list_2d", "name": "p_points_list_2d", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_points_list_3d", "name": "p_points_list_3d", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_rotate_extrude_file", "name": "p_rotate_extrude_file", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_size_vector", "name": "p_size_vector", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_statement", "name": "p_statement", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_statementwithmod", "name": "p_statementwithmod", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_stripped_string", "name": "p_stripped_string", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:p_vector", "name": "p_vector", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:parseargs", "name": "parseargs", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:parseexpression", "name": "parseexpression", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:parsenode", "name": "parsenode", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:placeholder", "name": "placeholder", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:processDXF", "name": "processDXF", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:processSTL", "name": "processSTL", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:processSVG", "name": "processSVG", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:processTextCmd", "name": "processTextCmd", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:process_import_file", "name": "process_import_file", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:process_linear_extrude", "name": "process_linear_extrude", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:process_linear_extrude_with_transform", "name": "process_linear_extrude_with_transform", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:process_mesh_file", "name": "process_mesh_file", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:process_rotate_extrude", "name": "process_rotate_extrude", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:process_rotate_extrude_prism", "name": "process_rotate_extrude_prism", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:processcsg", "name": "processcsg", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:removesubtree", "name": "removesubtree", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:replaceobj", "name": "replaceobj", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:resizemesh", "name": "resizemesh", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:roundrotation", "name": "roundrotation", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:scalemesh", "name": "scalemesh", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:searchforopenscadexe", "name": "searchforopenscadexe", "disposition": "exposed", "evidence": [ "docs/p6/openscad-python-chrome.json" ], "reason": "passing native python-api runtime evidence matched by fully-qualified or leaf API name" }, { "id": "py:OpenSCAD:function:setColorRecursively", "name": "setColorRecursively", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:shallHide", "name": "shallHide", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:shape2polyhedron", "name": "shape2polyhedron", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:shapedict", "name": "shapedict", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:shapeset", "name": "shapeset", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:shorthexfloat", "name": "shorthexfloat", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:subtractfaces", "name": "subtractfaces", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:subtractfaces2", "name": "subtractfaces2", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:superWireReverse", "name": "superWireReverse", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:t_ID", "name": "t_ID", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:t_comment1", "name": "t_comment1", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:t_comment2", "name": "t_comment2", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:t_error", "name": "t_error", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:t_newline", "name": "t_newline", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:vec2householder", "name": "vec2householder", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:vector2d", "name": "vector2d", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:function:vertexs2polygon", "name": "vertexs2polygon", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:AddSCADTask.addelement", "name": "AddSCADTask.addelement", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:AddSCADTask.refreshelement", "name": "AddSCADTask.refreshelement", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:AddSCADWidget.retranslateUi", "name": "AddSCADWidget.retranslateUi", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:GetWire.onChanged", "name": "GetWire.onChanged", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:ImportObject.onChanged", "name": "ImportObject.onChanged", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:MatrixTransform.onChanged", "name": "MatrixTransform.onChanged", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Node.addtofreecad", "name": "Node.addtofreecad", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Node.pprint", "name": "Node.pprint", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Node.pprint2", "name": "Node.pprint2", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Node.rlen", "name": "Node.rlen", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:OpenSCADMeshBooleanTask.doboolean", "name": "OpenSCADMeshBooleanTask.doboolean", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:OpenSCADMeshBooleanWidget.retranslateUi", "name": "OpenSCADMeshBooleanWidget.retranslateUi", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.builddepdict", "name": "Overlappingfaces.builddepdict", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.dofacesoverlapallverts", "name": "Overlappingfaces.dofacesoverlapallverts", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.dofacesoverlapboolean", "name": "Overlappingfaces.dofacesoverlapboolean", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.dofacesoverlapboundbox", "name": "Overlappingfaces.dofacesoverlapboundbox", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.dofacesoverlapproximity", "name": "Overlappingfaces.dofacesoverlapproximity", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.finddepth", "name": "Overlappingfaces.finddepth", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.findrootdepth", "name": "Overlappingfaces.findrootdepth", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.makefeatures", "name": "Overlappingfaces.makefeatures", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.makeshape", "name": "Overlappingfaces.makeshape", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:Overlappingfaces.printtree", "name": "Overlappingfaces.printtree", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:RefineShape.onChanged", "name": "RefineShape.onChanged", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:ViewProviderTree.attach", "name": "ViewProviderTree.attach", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:ViewProviderTree.onChanged", "name": "ViewProviderTree.onChanged", "disposition": "planned", "evidence": [], "reason": null }, { "id": "py:OpenSCAD:method:ViewProviderTree.updateData", "name": "ViewProviderTree.updateData", "disposition": "planned", "evidence": [], "reason": null } ], "manifestSha256": "e11a08fd8ebac8fa62b2badf0d2146362e6890e11a2df9b59fa2c9fb75172bc3", "boundaries": [ "This module batch does not close the remaining planned records.", "Only exact module-scoped native evidence can promote a symbol." ] }