simplecadapi 2.2.4__tar.gz → 2.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/PKG-INFO +13 -9
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/README.md +12 -8
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/SKILL.md +13 -5
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/editor-collaboration.md +10 -4
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/sketch-and-features.md +4 -0
- simplecadapi-2.2.5/docs/updates/2.2.5.md +51 -0
- simplecadapi-2.2.5/docs/updates/2.2.5.zh-CN.md +41 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/pyproject.toml +1 -1
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/cli.py +94 -13
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/server.py +69 -6
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/inspect.py +17 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/render.py +3 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/render_worker.py +3 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/_marimo.py +4 -1
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/cli.py +38 -5
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/runner.py +89 -15
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/.gitignore +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/LICENSE +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/MANIFEST.in +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/landing.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/LICENSE.txt +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/README.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/SDK_OVERVIEW.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/discipline/assembly-positioning.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/discipline/datums-and-coordinate-systems.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/discipline/failure-and-repair.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/discipline/feature-ordering.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/discipline/feature-tree-convention.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/discipline/geometric-validation.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/discipline/manufacturing-boundaries.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/discipline/mechanical-modeling.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/discipline/requirement-and-cad-brief.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Assembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/AssemblyBuildResult.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/BRepComparison.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/BRepEntityError.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/BRepInspection.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/BRepModel.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/BSplineFitResult.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/CaptureResult.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/CellReport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/CenterDecl.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Component.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Connector.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ConnectorAnchor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ConnectorRef.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Const.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Constraint.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ConstraintReport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ConstraintResidual.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/DatumDecl.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/DimDecl.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Dimension.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/DimensionTolerance.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/DrawingCalibration.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/DrawingMeasurements.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/DrawingSectionDimensions.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/DrawingStrokes.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/DrawingSummary.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/DrawingText.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/EntityInspectionParity.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/EvaluationConfig.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Expr.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ExpressionGraph.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/FileInput.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/FreeCADTranslator.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Fusion360Translator.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/GeometryRef.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/GraphSession.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/InspectionSummaryComparison.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/LeaderDecl.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Material.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/NotebookConfig.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/NotebookRun.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Part.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/PartBuildResult.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Placement.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ProductMJCFExportReport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ProductOBJExportReport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ProductPackage.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ProductPackageError.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ProductSTEPExportReport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ProductSTLExportReport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/PublicConnectorRef.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/README.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Resolved.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ScalarLimit.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SectionEvaluationConfig.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SemanticDelta.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SemanticRef.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SheetDecl.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SheetPlan.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SimpleCADError.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Sketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SketchConstraint.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SketchConstraintDiagnostic.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SketchRef.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SketchSolveResult.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SliceSpec.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SolidWorksTranslator.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SurfaceBoundary.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/SurfaceFillingSettings.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ToleranceAnalysis.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ToleranceAnalysisError.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ToleranceCheck.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ToleranceContribution.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ToleranceGraph.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ToleranceReport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ToleranceRequirement.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ToleranceValidationError.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Unit.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/UnitValidationError.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/Var.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ViewDecl.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_arc_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_belt_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_bspline_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_circle_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_component_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_connector_rpart.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_ellipse_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_fixed_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_gear_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_line_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_point_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_prismatic_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_rack_pinion_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/add_revolute_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/analyze_tolerance.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/and_.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/apply_tag.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/apply_tag_rselection.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/assemble.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/assess_dimension_rverdict.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/assign_material_rpart.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/build_section_annotation_rrecord.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/calibrate_drawing_scale_rcalibration.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/canonical_frame.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/canonical_unit_for_dimension.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/capture.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/chamfer_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/check_tolerance.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/classify_benchmark_result.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/clear_step_model_cache_rnone.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_boundary_distance_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_entities_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_global_properties_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_inspections_rinspectionsummarycomparison.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_material_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_material_region_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_model_to_inspection_rentityinspectionparity.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_sections_batch_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_sections_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_shape_slices_rslicecomparison.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_shapes_rbrepcomparison.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_step_slices_rslicecomparison.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_step_to_inspection_rentityinspectionparity.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/compare_steps_rbrepcomparison.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/const_function.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_angle_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_coincident_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_collinear_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_concentric_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_connect_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_diameter_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_distance_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_distance_x_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_distance_y_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_equal_length_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_equal_radius_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_fix_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_horizontal_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_length_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_line_distance_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_major_radius_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_midpoint_points_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_midpoint_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_minor_radius_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_mirror_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_normal_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_parallel_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_perpendicular_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_point_on_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_points_horizontal_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_points_vertical_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_radius_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_symmetric_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_tangent_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/constrain_vertical_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/convert_value.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/copy_step_region_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/cut_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/draft_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/evaluate_reconstruction_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/explain_tag.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/export_graph_json.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/export_model_json.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/export_model_json_to_solidworks_step.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/export_product_package_to_mjcf.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/export_product_package_to_obj.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/export_product_package_to_step.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/export_product_package_to_stl.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/export_session_json.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/expression_uses_units.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/extract_drawing_primitives_rstrokes.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/extract_drawing_text_rwords.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/extrude_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/extrude_taper_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/extrude_until_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/file_input.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/fill_holes_rshell.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/fillet_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/fit_cubic_bspline_control_points.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/fit_face_analytic_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/fit_point_grid_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/free_boundaries_rwirelist.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/geo.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/get_active_session.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/get_sketch_entity_rsketchref.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/get_sketch_point_rsketchref.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/get_unit.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/ground_component_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/helical_sweep_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/identity_placement_rplacement.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/import_graph_json.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/import_model_json.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/import_session_json.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/index_shape_rbrepmodel.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/infer_dimension.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_assembly_constraints_rconstraintreport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_benchmark_step.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_difference_regions_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_drawing_coordinates_rreport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_drawing_rsummary.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_face_boundaries_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_manufacturing_hints_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_nearby_entities_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_point_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_section_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_shape_rbrepinspection.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_sketch_rsketchresult.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_step_components_rdescriptorlist.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_step_entity_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_step_rbrepinspection.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_step_rsummary.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_topology_neighborhood_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/inspect_topology_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/intersect_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/linear_pattern_rsolidlist.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/list_tags.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/load_brep_region_rshell.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/load_brep_region_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/load_step_rbrepmodel.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/load_step_rshape.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/loft_rshell.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/loft_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_2d_cut_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_2d_intersect_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_2d_union_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_angle_arc_redge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_angle_arc_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_assembly_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_bezier_surface_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_box_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_center_slice_specs_rslicespeclist.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_circle_redge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_circle_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_circle_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_compound_from_assembly_rcompound.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_cone_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_connector_ref_rconnectorref.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_cylinder_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_cylindrical_surface_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_edge_connector_rconnector.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_ellipse_redge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_ellipse_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_ellipse_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_face_connector_rconnector.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_face_from_sketch_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_face_from_wire_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_face_from_wires_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_gordon_surface_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_helix_redge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_helix_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_interpolated_spline_redge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_interpolated_spline_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_line_redge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_material_rmaterial.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_part_rpart.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_periodic_spline_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_placement_connector_rconnector.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_placement_rplacement.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_point_rvertex.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_polyline_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_rectangle_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_rectangle_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_ruled_surface_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_scalar_limit_rscalarlimit.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_segment_redge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_segment_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_sketch_rsketch.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_solid_from_shell_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_sphere_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_spline_redge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_spline_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_surface_patch_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_three_point_arc_redge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_three_point_arc_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_vertex_connector_rconnector.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_wire_from_edges_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/make_wire_from_sketch_rwire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/measure_constraint_residual_rconstraintresidual.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/measure_drawing_rmeasurements.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/measure_entity_relation_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/measure_model_section_rdimensions.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/measure_shape_mass_rtuple.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/meta.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/mirror_shape.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/not_.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/notebook_id.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/offset_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/operation_event.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/or_.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/origin_role.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/output_role.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/part_function.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/place_component_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/placement_frame_mm.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/placement_from_canonical.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/placement_ticks.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/radial_pattern_rsolidlist.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_drawing_view_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_entity_kind_maps_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_entity_map_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_manufacturing_hints_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_model_section_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_plan.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_region_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_screenshot_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_shape_views_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_step_comparison_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_step_components_colored_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_step_components_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/render_step_views_rpath.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/replay_graph.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/replay_model_json.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/revolve_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/rotate_shape.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/run_comparison_bundle.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/run_notebook.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/scale_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/select.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/select_edges_by_tag.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/select_faces_by_tag.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/select_region_entities_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/set_public_connector_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/sew_faces_rshell.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/shell_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/shells.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/solve_assembly_constraints_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/source_binding.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/source_topology.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/summarize_dimension_coverage_rreport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/suspend_graph_recording.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/sweep_multisection_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/sweep_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/tag.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/track_section_contours_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/transform_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/translate_model_json_to_fcstd.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/translate_model_json_to_freecad_script.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/translate_model_json_to_solidworks_script.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/translate_product_package_to_fcstd.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/translate_product_package_to_freecad_script.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/translate_product_package_to_fusion360_script.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/translate_product_package_to_solidworks_script.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/translate_shape.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/trim_surface_rface.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/twisted_sweep_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/unground_component_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/union_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/use.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/validate_placement_ticks.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/validate_section_annotations_rreport.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/validate_step_roundtrip_rdescriptor.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/value.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/api/var_function.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/README.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/compound.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/coordinate_system.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/declarative_constraints.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/dimension-tolerance-chains.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/edge.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/face.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/operation_graph_json_spec.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/part_assembly_development_plan.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/physical-units.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/rearchitecture_2_0.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/rearchitecture_2_0_requirements.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/serialization/README.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/serialization/expressions-and-replay.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/serialization/features-booleans-transforms.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/serialization/primitives-and-profiles.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/serialization/scalar-fields.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/shell.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/simple_workplane.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/solid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/tagged_mixin.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/vertex.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/core/wire.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/guides/README.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/guides/notebook-runtime.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/guides/reconstruction-agent-strategy.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/guides/reconstruction-agent-test-prompt.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/README.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/build_ball_bearing.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_ball_bearing_rassembly.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_cycloidal_disc_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_helical_gear_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_helical_rack_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_helical_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_herringbone_gear_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_herringbone_rack_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_herringbone_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_spur_gear_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_spur_rack_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_spur_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/docs/stdlib/make_straight_bevel_gear_rsolid.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/addon-development.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/assembly-and-product.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/drawing-inspection.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/engineering-drawing.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/export-and-translation.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/part-modeling.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/requirement-refinement.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/standard-parts.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/step-inspection.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/inspect/brep-reverse-engineering.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/ql-playbook.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/scadpkg-format.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/workflows/assembly-product-build.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/workflows/drawing-reconstruction.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/workflows/engineering-drawing.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/workflows/export-and-translation.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/workflows/single-part-modeling.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/workflows/step-reconstruction.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.0.2.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.0.2.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.0.4b1.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.0.4b1.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.0.4b2.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.0.4b2.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.0.4b3.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.0.4b3.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.1.0.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.1.0.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.1.1.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.1.1.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.1.2.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.1.2.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.1.3b1.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.1.3b1.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.2.1.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.2.1.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.2.2.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.2.2.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.2.3.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.2.3.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.2.4.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/2.2.4.zh-CN.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/updates/step-reverse-migration.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/examples/u_link_motor_mount/common.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/examples/u_link_motor_mount/dimensions.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/examples/u_link_motor_mount/shell.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/examples/u_link_motor_mount/u_link.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/examples/u_link_motor_mount/u_link_motor_mount.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/skillproj.toml +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/brep_region.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/canonical_json.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/mapping_pickle.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/mesh.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/os_compat.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/semantic.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/shape_pickle.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/vendor_warning_filters.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/_internal/workspace.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/_toml.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/cli.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/descriptor.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/home.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/install.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/platforms.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/registry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/shell.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/use.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/addon/versions.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/assembly_definition.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/assembly_io.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/brep.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/canonical.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/feature_graph.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/geometry_interface.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/part_definition.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/part_io.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/references.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/topology_snapshot.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/artifacts/validation.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/build/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/build/assembly_builder.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/build/definition.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/build/dependencies.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/build/keys.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/build/part_builder.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/build/results.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/cli.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/contracts/assembly-definition-2.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/contracts/feature-graph-1.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/contracts/part-definition-2.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/contracts/product-package-3.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/core.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/dxf_engine/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/dxf_engine/agent.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/dxf_engine/hlr.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/dxf_engine/model.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/dxf_engine/planner.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/dxf_engine/render.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/apiindex.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/kernel.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/selection.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/templates.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/webui/assets/index-CLhrIpkh.css +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/webui/assets/index-CMwqu9RL.js +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/webui/favicon.svg +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/webui/icons.svg +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/webui/index.html +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/editor/ws.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/errors.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/example/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/example/cli.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/example/runtime.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/exporter/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/exporter/_surface_mesh.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/exporter/cli.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/exporter/mjcf.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/exporter/obj.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/exporter/step.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/exporter/stl.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/compare.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/diagnostic_state.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/diagnostics.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/fitting.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/io.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/manufacturing.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/model.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/parity.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/persistence.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/queries.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/section_tracking.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/slices.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/snapshots.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/brep/topology_inspection.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_circle_fit.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_material_geometry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_measurement_contract.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_pdf.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_provenance.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_pymupdf.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_review_evidence.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_section_geometry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_section_layout.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/_section_validation.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/calibrate.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/evidence.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/geometry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/material_section.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/preflight.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/render.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/section.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/summary.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inspect/drawing/text.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inverse_engineer/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inverse_engineer/brep/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inverse_engineer/brep/evaluation.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/inverse_engineer/brep/worker.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_booleans.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_brep_snapshot.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_builders.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_cast.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_curves.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_export.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_features.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_mesh.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_properties.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_surfaces.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_topology.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/kernel/ocp_transforms.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/math.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/_diagnostics.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/_support.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/boolean.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/deformation.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/draft.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/features.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/geometry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/limited_extrusion.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/product.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/section_features.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/selection.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/sketch.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/operators/transform.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/params/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/params/expr.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/params/frame.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/params/tolerance.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/params/units.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/assembly.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/capture.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/connector.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/constraint.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/material.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/occurrence.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/packages.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/part.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/placement.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/product/solver.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/py.typed +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/ql.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/recording/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/recording/graph.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/recording/serializer.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/recording/source_mapping.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/cache.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/cells.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/config.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/deps.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/executor.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/live.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/params.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/projection.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/runtime/workspace.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/archive.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/canonical.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/compiler.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/profiles/ocp-evaluated-properties-1.profile.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/profiles/scene-1.0-ocp-glb-2.profile.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/pseudocode/ocp-evaluated-properties-1.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/pseudocode/scene-1.0-ocp-glb-2.md +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/rules/scene-1.0-rules.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/connector-binding-1.0.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/entities-1.0.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/evaluated-properties-profile-1.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/normalized-product-1.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/presentation-1.0.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/profile-1.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/render-profile-2.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/rules-1.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/scene-1.0.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/contracts/schemas/scene-2.0.schema.json +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/documents.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/generated/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/generated/connector_binding.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/generated/entities.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/generated/normalized_product.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/generated/presentation.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/generated/scene.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/glb.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/glb_writer.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/preview.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/product_scene.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/render_mesh.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/resources.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/transforms.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/scene/validation.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/sketch.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/sketch_diagnostics.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/sketch_solver/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/sketch_solver/backend.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/sketch_solver/py_slvs_backend.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/skill/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/skill/cli.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/skill/compiler.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/skill/runtime.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/std/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/std/bearing.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/std/chain.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/std/fastener.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/std/gear.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/surface.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/topology/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/topology/autotag.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/topology/model.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/topology/tagging.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/topology/tracking.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/base.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/errors.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/analysis.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/api.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/capabilities.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/codegen.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/context.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/booleans.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/features.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/geometry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/primitives.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/products.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/registry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/selections.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/sketches.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/surfaces.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/emitters/transforms.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/exporter.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/assemblies.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/curves.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/expressions.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/geometry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/metadata.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/occurrences.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/persistence.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/products.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/selections.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/sketches.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/runtime/surfaces.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/semantic.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/freecad_translator/translator.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/fusion360_translator/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/fusion360_translator/api.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/fusion360_translator/capabilities.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/fusion360_translator/compiler.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/fusion360_translator/translator.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/geometry_signature.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/package_units.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/product_graph.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/analysis.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/api.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/capabilities.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/codegen.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/compiler_compat.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/context.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/emitters/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/emitters/booleans.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/emitters/features.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/emitters/geometry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/emitters/primitives.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/emitters/products.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/emitters/registry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/emitters/selections.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/emitters/transforms.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/exporter.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/loft_geometry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/__init__.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/assemblies.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/booleans.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/com_compat.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/features.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/geometry.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/metadata.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/model.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/persistence.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/products.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/selections.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/runtime/sketches.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/semantic.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/translator.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/solidworks_translator/versions.py +0 -0
- {simplecadapi-2.2.4 → simplecadapi-2.2.5}/src/simplecadapi/translator/types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplecadapi
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.5
|
|
4
4
|
Summary: A simplified OCP-native CAD modeling Python API
|
|
5
5
|
Project-URL: Homepage, https://github.com/PhySpace/SimpleCADAPI
|
|
6
6
|
Project-URL: Repository, https://github.com/PhySpace/SimpleCADAPI
|
|
@@ -412,18 +412,21 @@ the full crank cycle sweeps clean in the same sim ·
|
|
|
412
412
|
|
|
413
413
|
---
|
|
414
414
|
|
|
415
|
-
## Update Notes (2.2.
|
|
415
|
+
## Update Notes (2.2.5)
|
|
416
416
|
|
|
417
417
|
> Validate generated definitions, assembly constraints, and manufacturing
|
|
418
418
|
> geometry before production use.
|
|
419
419
|
|
|
420
|
-
-
|
|
421
|
-
an
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
420
|
+
- **`sca cell` works behind container proxies.** The editor's discovery record is loopback and
|
|
421
|
+
proxy-proof, an unreachable record is reported instead of silently ignored, and file
|
|
422
|
+
fallbacks say so on stderr.
|
|
423
|
+
- **Cell feedback carries the chain.** put/insert/run return console output and every cell
|
|
424
|
+
left unhealthy, stale dependents are run, and a failing cell names its upstream.
|
|
425
|
+
- **Validate a stage headlessly.** `sca run --through N / --no-product / --timeout`.
|
|
426
|
+
- **Quieter output, shorter prints.** Cache and VTK chatter is gone; a printed
|
|
427
|
+
`BRepInspection` is a one-line summary.
|
|
425
428
|
|
|
426
|
-
Full notes for this version: [`docs/updates/2.2.
|
|
429
|
+
Full notes for this version: [`docs/updates/2.2.5.md`](docs/updates/2.2.5.md).
|
|
427
430
|
Earlier versions: the [changelog](CHANGELOG.md) and [`docs/updates/`](docs/updates/).
|
|
428
431
|
|
|
429
432
|
---
|
|
@@ -444,7 +447,7 @@ in a compact public API for creating solids, applying features, tagging semantic
|
|
|
444
447
|
intent, querying topology, exporting manufacturing files, and translating recorded
|
|
445
448
|
models into FreeCAD workflows.
|
|
446
449
|
|
|
447
|
-
Current release: `simplecadapi==2.2.
|
|
450
|
+
Current release: `simplecadapi==2.2.5`.
|
|
448
451
|
|
|
449
452
|
## What It Provides
|
|
450
453
|
|
|
@@ -959,6 +962,7 @@ and the [STEP reconstruction workflow](docs/skill/references/workflows/step-reco
|
|
|
959
962
|
|
|
960
963
|
## Documentation
|
|
961
964
|
|
|
965
|
+
- 2.2.5 update notes: [`docs/updates/2.2.5.md`](docs/updates/2.2.5.md)
|
|
962
966
|
- 2.2.4 update notes: [`docs/updates/2.2.4.md`](docs/updates/2.2.4.md)
|
|
963
967
|
- 2.2.3 update notes: [`docs/updates/2.2.3.md`](docs/updates/2.2.3.md)
|
|
964
968
|
- 2.2.2 update notes: [`docs/updates/2.2.2.md`](docs/updates/2.2.2.md)
|
|
@@ -149,18 +149,21 @@ the full crank cycle sweeps clean in the same sim ·
|
|
|
149
149
|
|
|
150
150
|
---
|
|
151
151
|
|
|
152
|
-
## Update Notes (2.2.
|
|
152
|
+
## Update Notes (2.2.5)
|
|
153
153
|
|
|
154
154
|
> Validate generated definitions, assembly constraints, and manufacturing
|
|
155
155
|
> geometry before production use.
|
|
156
156
|
|
|
157
|
-
-
|
|
158
|
-
an
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
157
|
+
- **`sca cell` works behind container proxies.** The editor's discovery record is loopback and
|
|
158
|
+
proxy-proof, an unreachable record is reported instead of silently ignored, and file
|
|
159
|
+
fallbacks say so on stderr.
|
|
160
|
+
- **Cell feedback carries the chain.** put/insert/run return console output and every cell
|
|
161
|
+
left unhealthy, stale dependents are run, and a failing cell names its upstream.
|
|
162
|
+
- **Validate a stage headlessly.** `sca run --through N / --no-product / --timeout`.
|
|
163
|
+
- **Quieter output, shorter prints.** Cache and VTK chatter is gone; a printed
|
|
164
|
+
`BRepInspection` is a one-line summary.
|
|
162
165
|
|
|
163
|
-
Full notes for this version: [`docs/updates/2.2.
|
|
166
|
+
Full notes for this version: [`docs/updates/2.2.5.md`](docs/updates/2.2.5.md).
|
|
164
167
|
Earlier versions: the [changelog](CHANGELOG.md) and [`docs/updates/`](docs/updates/).
|
|
165
168
|
|
|
166
169
|
---
|
|
@@ -181,7 +184,7 @@ in a compact public API for creating solids, applying features, tagging semantic
|
|
|
181
184
|
intent, querying topology, exporting manufacturing files, and translating recorded
|
|
182
185
|
models into FreeCAD workflows.
|
|
183
186
|
|
|
184
|
-
Current release: `simplecadapi==2.2.
|
|
187
|
+
Current release: `simplecadapi==2.2.5`.
|
|
185
188
|
|
|
186
189
|
## What It Provides
|
|
187
190
|
|
|
@@ -696,6 +699,7 @@ and the [STEP reconstruction workflow](docs/skill/references/workflows/step-reco
|
|
|
696
699
|
|
|
697
700
|
## Documentation
|
|
698
701
|
|
|
702
|
+
- 2.2.5 update notes: [`docs/updates/2.2.5.md`](docs/updates/2.2.5.md)
|
|
699
703
|
- 2.2.4 update notes: [`docs/updates/2.2.4.md`](docs/updates/2.2.4.md)
|
|
700
704
|
- 2.2.3 update notes: [`docs/updates/2.2.3.md`](docs/updates/2.2.3.md)
|
|
701
705
|
- 2.2.2 update notes: [`docs/updates/2.2.2.md`](docs/updates/2.2.2.md)
|
|
@@ -4,9 +4,9 @@ description: Build, assemble, inspect, reconstruct, and export parametric CAD mo
|
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
project: simplecadapi
|
|
7
|
-
version: 2.2.
|
|
7
|
+
version: 2.2.5
|
|
8
8
|
package-name: simplecadapi
|
|
9
|
-
package-version: 2.2.
|
|
9
|
+
package-version: 2.2.5
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# SimpleCAD SDK Skill
|
|
@@ -50,9 +50,10 @@ Paths are relative to this file's directory.
|
|
|
50
50
|
selected, and you MUST read
|
|
51
51
|
`references/domains/editor-collaboration.md` first to see what they
|
|
52
52
|
see (selection cell, `sca snapshot`, cell references) and how to
|
|
53
|
-
hand the work back. While the editor runs,
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
hand the work back. While the editor runs, `sca cell` is the only way to
|
|
54
|
+
change a regular cell; edit the file only when no editor is running, or
|
|
55
|
+
for the setup / `@app.function` cells `sca cell` refuses: the editor is
|
|
56
|
+
the file's writer.
|
|
56
57
|
- Creating, installing, updating, or removing a SimpleCADAPI addon (a
|
|
57
58
|
third-party skill+tooling package around `.scadpkg`) enters no
|
|
58
59
|
workflow; you MUST use `references/domains/addon-development.md`
|
|
@@ -147,6 +148,13 @@ it and stop that route; never invent an alternative route.
|
|
|
147
148
|
them in the editor for a person); never enable
|
|
148
149
|
marimo's `[tool.marimo.runtime] cache_cells` in the editor, and
|
|
149
150
|
never commit the generated `__marimo__/` directory.
|
|
151
|
+
12. Manage the modeling project the way software is managed: put the
|
|
152
|
+
workspace under git from the first file, commit at verified
|
|
153
|
+
milestones (a passed verification, not a wall clock) with messages
|
|
154
|
+
that say what changed and why, and use a branch per design
|
|
155
|
+
direction when alternatives are on the table. Generated state —
|
|
156
|
+
`__marimo__/`, `.sca-editor/`, `out/` — belongs in `.gitignore`,
|
|
157
|
+
never in a commit.
|
|
150
158
|
|
|
151
159
|
## Boundaries
|
|
152
160
|
|
{simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/editor-collaboration.md
RENAMED
|
@@ -12,11 +12,17 @@ tuned value) is also something you can read from disk. Never rely on what the
|
|
|
12
12
|
person says they selected when the file or the snapshot can tell you.
|
|
13
13
|
|
|
14
14
|
The editor holds the open notebook in memory and is the one writer of its
|
|
15
|
-
file.
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
file. While it runs, **`sca cell` is the only way to change a regular cell**:
|
|
16
|
+
writing the file behind the editor's back races its next save, and the page's
|
|
17
|
+
version or yours is lost. Edit the file directly only when no editor is
|
|
18
|
+
running (then nothing else holds it), or for the cells `sca cell` refuses
|
|
19
|
+
(the setup cell and `@app.function` cells): the editor takes those file
|
|
20
|
+
changes in.
|
|
21
|
+
|
|
22
|
+
1. **`sca cell` (always, for regular cells).** It edits through the editor: the page shows the
|
|
18
23
|
change live (no reload, no flicker), the cell runs, and you get its state back.
|
|
19
|
-
2. **Edit the file
|
|
24
|
+
2. **Edit the file** — only with no editor running, or for a setup / `@app.function` cell. The
|
|
25
|
+
editor notices a saved change within a second, compares
|
|
20
26
|
it with its cells and applies only what differs (changed cells are edited in
|
|
21
27
|
place and run again, added or removed cells appear or go away). A change to the
|
|
22
28
|
setup cell or an `@app.function` cell restarts the kernel instead. A file that
|
{simplecadapi-2.2.4 → simplecadapi-2.2.5}/docs/skill/references/domains/sketch-and-features.md
RENAMED
|
@@ -81,6 +81,10 @@ Read the exact page under `references/docs/api/` for every API used:
|
|
|
81
81
|
## Validation gates
|
|
82
82
|
|
|
83
83
|
- Record plane mapping, closure, solve status, and remaining DOF in the brief.
|
|
84
|
+
- `dof=0` says the constraint system closed, not that the shape is the intended
|
|
85
|
+
one: angle and symmetry constraints can solve to the mirror solution. Verify
|
|
86
|
+
the promoted geometry by measurement (bounding box, area, edge counts), never
|
|
87
|
+
by the solver status alone.
|
|
84
88
|
- When sketch promotion may change measured geometry, build Wire and Sketch
|
|
85
89
|
from one parameter source and compare closure/area/bounds/segmentation before
|
|
86
90
|
promoting.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# 2.2.5 Update Notes
|
|
2
|
+
|
|
3
|
+
From a container agent's field report: the editor now works the way agents actually use it,
|
|
4
|
+
and says what happened instead of leaving silence.
|
|
5
|
+
|
|
6
|
+
## `sca cell` works behind container proxies
|
|
7
|
+
|
|
8
|
+
Before, a container's `http_proxy` swallowed the editor's health check and `sca cell`
|
|
9
|
+
answered "no editor is running" while one was. Now the editor's discovery record always
|
|
10
|
+
carries a loopback url (`--host 0.0.0.0` included), the checks bypass the proxy environment,
|
|
11
|
+
and a record whose server does not answer is reported with its path and url instead of being
|
|
12
|
+
skipped quietly. A record whose pid is gone says "stale record … delete it or restart the
|
|
13
|
+
editor". When `sca cell ls`/`get` fall back to reading the file, they say so on stderr.
|
|
14
|
+
|
|
15
|
+
## Cell feedback carries the chain
|
|
16
|
+
|
|
17
|
+
`sca cell put/insert/run` now return the console output and every cell left unhealthy by the
|
|
18
|
+
change, and the dependents a write made stale are run instead of waiting. A failing cell's
|
|
19
|
+
report names its upstream cells (the failing ones first), so the error you see can be traced
|
|
20
|
+
to its cause. A write whose rerun takes longer than the call now answers "the edit was
|
|
21
|
+
applied and the rerun is still going; check `sca cell ls`" instead of a raw socket error
|
|
22
|
+
(`SCA_EDITOR_CALL_TIMEOUT` raises the wait, default 300s).
|
|
23
|
+
|
|
24
|
+
## Validate a stage headlessly
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
sca run stage.py --through 3 --no-product # the first 3 cells, no product needed
|
|
28
|
+
sca run stage.py --timeout 600 # a wall clock for heavy fillets
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`--through N` runs the first N cells, numbered the way the editor numbers them; `--no-product`
|
|
32
|
+
runs a work-in-progress notebook that has no product yet; `--timeout` fails a run that takes
|
|
33
|
+
longer (off by default).
|
|
34
|
+
|
|
35
|
+
## Quieter output, shorter prints
|
|
36
|
+
|
|
37
|
+
The cache loaders' degraded-state warnings (unsigned entries, a value restored as a stub) no
|
|
38
|
+
longer print at WARNING, and the render paths switch VTK's warning display off process-wide —
|
|
39
|
+
this also hides VTK chatter from code you run in the same process. A real failure is still
|
|
40
|
+
raised and named. Printing a `BRepInspection` shows a one-line summary; the per-face records
|
|
41
|
+
are `to_dict()` / `.faces` / `.edges`.
|
|
42
|
+
|
|
43
|
+
## Skill
|
|
44
|
+
|
|
45
|
+
While an editor runs, `sca cell` is the only way to change a regular cell — the file only when
|
|
46
|
+
no editor runs, or for the setup / `@app.function` cells `sca cell` refuses. `dof=0` says the
|
|
47
|
+
constraint system closed, not that the shape is right (angle constraints can solve to the
|
|
48
|
+
mirror solution): verify by measurement. And a modeling project is managed like software:
|
|
49
|
+
git from the first file, commits at verified milestones.
|
|
50
|
+
|
|
51
|
+
See the [changelog](../../CHANGELOG.md) for the complete list.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# 2.2.5 更新说明
|
|
2
|
+
|
|
3
|
+
来自容器 agent 的实战复盘:编辑器现在按 agent 真实的使用方式工作,并且把发生的事说出来,而不是留下沉默。
|
|
4
|
+
|
|
5
|
+
## `sca cell` 在容器代理后面也能找到编辑器
|
|
6
|
+
|
|
7
|
+
以前容器的 `http_proxy` 会吞掉编辑器的健康检查,`sca cell` 在编辑器明明运行时回答"no editor is running"。
|
|
8
|
+
现在编辑器的发现记录始终携带回环地址(`--host 0.0.0.0` 也是),检查绕过代理环境,应答不了的服务器记录会带着
|
|
9
|
+
路径和 url 报出来,而不是被悄悄跳过。pid 已消失的记录会说"stale record … delete it or restart the editor"。
|
|
10
|
+
`sca cell ls`/`get` 降级读文件时会在 stderr 上说明。
|
|
11
|
+
|
|
12
|
+
## cell 反馈带着整条链
|
|
13
|
+
|
|
14
|
+
`sca cell put/insert/run` 现在返回 console 输出和这次修改留下的每一个不健康的 cell,写操作导致的 stale 依赖
|
|
15
|
+
会被运行而不是晾着。出错 cell 的报告会列出它的上游 cell(先列出同样在报错的),让错误能追溯到根因。重跑超出
|
|
16
|
+
调用时长的写操作现在回答"the edit was applied and the rerun is still going; check `sca cell ls`"而不是裸的
|
|
17
|
+
socket 错误(`SCA_EDITOR_CALL_TIMEOUT` 可加大等待,默认 300 秒)。
|
|
18
|
+
|
|
19
|
+
## 按阶段做无头校验
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
sca run stage.py --through 3 --no-product # 只跑前 3 个 cell,不需要产品
|
|
23
|
+
sca run stage.py --timeout 600 # 给重 fillet 一个墙上时钟
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
`--through N` 只跑前 N 个 cell(按编辑器的编号方式计);`--no-product` 运行还没有产品的半成品 notebook;
|
|
27
|
+
`--timeout` 让超时的运行失败(默认不限时)。
|
|
28
|
+
|
|
29
|
+
## 更安静的输出、更短的打印
|
|
30
|
+
|
|
31
|
+
缓存加载器的降级警告(未签名的条目、以 stub 恢复的值)不再以 WARNING 打印,渲染路径进程级关闭 VTK 的警告
|
|
32
|
+
显示——同一进程里你自己代码的 VTK 警告也会被隐藏。真正的失败仍然会大声报出并点名。打印 `BRepInspection`
|
|
33
|
+
现在是一行摘要;逐面记录在 `to_dict()` / `.faces` / `.edges`。
|
|
34
|
+
|
|
35
|
+
## Skill
|
|
36
|
+
|
|
37
|
+
编辑器运行时,`sca cell` 是修改普通 cell 的唯一方式——直接改文件只在没有编辑器运行时,或用于 `sca cell`
|
|
38
|
+
拒绝的 setup / `@app.function` cell。`dof=0` 说明约束系统闭合了,不说明形状是对的(角度约束可能解出镜像
|
|
39
|
+
解):用测量来验证。建模项目按软件工程的方式管理:从第一个文件就用 git,在验证通过的节点提交。
|
|
40
|
+
|
|
41
|
+
完整列表见[更新日志](../../CHANGELOG.md)。
|
|
@@ -154,28 +154,79 @@ def _print_json(report: dict[str, Any]) -> None:
|
|
|
154
154
|
print(json.dumps(report, indent=2, ensure_ascii=False))
|
|
155
155
|
|
|
156
156
|
|
|
157
|
+
def _opener() -> Any:
|
|
158
|
+
"""An opener that bypasses the proxy environment for the local editor.
|
|
159
|
+
|
|
160
|
+
The editor is on this machine (its url is 127.0.0.1); a container's
|
|
161
|
+
``http_proxy`` does not know that and swallows the request, which once
|
|
162
|
+
read as "no editor is running" while one was.
|
|
163
|
+
"""
|
|
164
|
+
import urllib.request
|
|
165
|
+
|
|
166
|
+
return urllib.request.build_opener(urllib.request.ProxyHandler({}))
|
|
167
|
+
|
|
168
|
+
|
|
157
169
|
def _find_editor(start: Path) -> tuple[Path, str] | None:
|
|
158
|
-
"""The running editor whose workspace holds *start*: ``(workspace, base url)``.
|
|
170
|
+
"""The running editor whose workspace holds *start*: ``(workspace, base url)``.
|
|
171
|
+
|
|
172
|
+
A record whose server does not answer is an error, not a stale record to
|
|
173
|
+
skip quietly: "an editor was running here" is exactly the belief that
|
|
174
|
+
must not be dropped in silence. The one definite stale case is a record
|
|
175
|
+
whose process is gone (a crashed editor leaves its server.json behind).
|
|
176
|
+
"""
|
|
159
177
|
import json
|
|
160
|
-
import
|
|
178
|
+
import os
|
|
179
|
+
import urllib.error
|
|
161
180
|
|
|
162
181
|
here = start.expanduser().resolve()
|
|
182
|
+
unreachable: list[str] = []
|
|
183
|
+
opener = _opener()
|
|
163
184
|
for directory in (here, *here.parents):
|
|
164
185
|
record = directory / ".sca-editor" / "server.json"
|
|
165
186
|
if not record.is_file():
|
|
166
187
|
continue
|
|
167
188
|
try:
|
|
168
|
-
|
|
169
|
-
|
|
189
|
+
body = json.loads(record.read_text(encoding="utf-8"))
|
|
190
|
+
url = body["url"]
|
|
191
|
+
except (OSError, ValueError, KeyError) as error:
|
|
192
|
+
unreachable.append(f"{record}: unreadable ({error})")
|
|
193
|
+
continue
|
|
194
|
+
pid = body.get("pid")
|
|
195
|
+
if isinstance(pid, int):
|
|
196
|
+
try:
|
|
197
|
+
os.kill(pid, 0)
|
|
198
|
+
except ProcessLookupError:
|
|
199
|
+
unreachable.append(
|
|
200
|
+
f"stale record {record} (pid {pid} is gone); delete it or restart the editor"
|
|
201
|
+
)
|
|
202
|
+
continue
|
|
203
|
+
except OSError:
|
|
204
|
+
pass # a live process we cannot signal
|
|
205
|
+
try:
|
|
206
|
+
with opener.open(f"{url}/api/health", timeout=1.5):
|
|
170
207
|
pass
|
|
171
|
-
except
|
|
172
|
-
|
|
208
|
+
except urllib.error.HTTPError:
|
|
209
|
+
pass # an editor that answers at all is running
|
|
210
|
+
except OSError as error:
|
|
211
|
+
unreachable.append(f"found {record} but {url} is unreachable: {error}")
|
|
212
|
+
continue
|
|
173
213
|
return directory, str(url)
|
|
214
|
+
if unreachable:
|
|
215
|
+
raise ValueError("; ".join(unreachable))
|
|
174
216
|
return None
|
|
175
217
|
|
|
176
218
|
|
|
177
|
-
def
|
|
219
|
+
def _call_timeout() -> float:
|
|
220
|
+
"""How long one editor call may take; a heavy downstream rerun is on the
|
|
221
|
+
clock of the write that triggered it. ``SCA_EDITOR_CALL_TIMEOUT`` seconds."""
|
|
222
|
+
import os
|
|
223
|
+
|
|
224
|
+
return float(os.environ.get("SCA_EDITOR_CALL_TIMEOUT", "300"))
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
def _call(url: str, path: str, body: dict | None = None, timeout: float | None = None) -> dict[str, Any]:
|
|
178
228
|
import json
|
|
229
|
+
import socket
|
|
179
230
|
import urllib.error
|
|
180
231
|
import urllib.request
|
|
181
232
|
|
|
@@ -183,20 +234,29 @@ def _call(url: str, path: str, body: dict | None = None) -> dict[str, Any]:
|
|
|
183
234
|
request = urllib.request.Request(
|
|
184
235
|
url + path, data=data, headers={"Content-Type": "application/json"}, method="GET" if body is None else "POST"
|
|
185
236
|
)
|
|
237
|
+
seconds = _call_timeout() if timeout is None else timeout
|
|
186
238
|
try:
|
|
187
|
-
with
|
|
239
|
+
with _opener().open(request, timeout=seconds) as response:
|
|
188
240
|
return json.loads(response.read())
|
|
189
241
|
except urllib.error.HTTPError as error:
|
|
190
242
|
try:
|
|
191
243
|
return json.loads(error.read())
|
|
192
244
|
except ValueError:
|
|
193
245
|
return {"error": f"editor answered {error.code}"}
|
|
246
|
+
except (socket.timeout, TimeoutError) as error:
|
|
247
|
+
raise TimeoutError(f"the editor did not answer {path} within {seconds:g}s") from error
|
|
194
248
|
|
|
195
249
|
|
|
196
250
|
def _session(args: argparse.Namespace, *, write: bool) -> tuple[str | None, Path | None, str]:
|
|
197
251
|
"""``(editor url or None, notebook path or None, relative notebook name)`` for a cell command."""
|
|
198
252
|
start = args.workspace or (args.notebook.parent if args.notebook else Path.cwd())
|
|
199
|
-
|
|
253
|
+
try:
|
|
254
|
+
found = _find_editor(start)
|
|
255
|
+
except ValueError as error:
|
|
256
|
+
if write:
|
|
257
|
+
raise
|
|
258
|
+
_warn(f"editor not reached: {error}")
|
|
259
|
+
found = None
|
|
200
260
|
notebook = args.notebook.expanduser().resolve() if args.notebook else None
|
|
201
261
|
if found is None:
|
|
202
262
|
if write:
|
|
@@ -206,6 +266,7 @@ def _session(args: argparse.Namespace, *, write: bool) -> tuple[str | None, Path
|
|
|
206
266
|
)
|
|
207
267
|
if notebook is None:
|
|
208
268
|
raise ValueError("no editor is running here; name the notebook with --notebook")
|
|
269
|
+
_warn(f"no editor is running on this workspace; reading the file: {notebook.name}")
|
|
209
270
|
return None, notebook, notebook.name
|
|
210
271
|
workspace, url = found
|
|
211
272
|
open_path = _call(url, "/api/cells").get("notebook")
|
|
@@ -221,9 +282,17 @@ def _session(args: argparse.Namespace, *, write: bool) -> tuple[str | None, Path
|
|
|
221
282
|
f"the editor has {open_path} open, not {relative}: edit {relative} directly "
|
|
222
283
|
"(the editor does not hold it), or open it in the editor first"
|
|
223
284
|
)
|
|
285
|
+
_warn(f"the editor has {open_path} open; reading {relative} from the file")
|
|
224
286
|
return None, notebook, relative
|
|
225
287
|
|
|
226
288
|
|
|
289
|
+
def _warn(message: str) -> None:
|
|
290
|
+
"""Say a fallback out loud: silence once read as "the editor agreed"."""
|
|
291
|
+
import sys
|
|
292
|
+
|
|
293
|
+
print(f"warning: {message}", file=sys.stderr)
|
|
294
|
+
|
|
295
|
+
|
|
227
296
|
def _cells_from_file(notebook: Path) -> list[dict[str, Any]]:
|
|
228
297
|
from ..runtime._marimo import parse_notebook
|
|
229
298
|
|
|
@@ -239,7 +308,7 @@ def _cells_from_file(notebook: Path) -> list[dict[str, Any]]:
|
|
|
239
308
|
def _slim(report: dict[str, Any], *, code: bool) -> dict[str, Any]:
|
|
240
309
|
if "cells" not in report:
|
|
241
310
|
return report
|
|
242
|
-
keep = ("index", "key", "name", "title", "status", "errors", "output", "ref", "readonly")
|
|
311
|
+
keep = ("index", "key", "name", "title", "status", "errors", "output", "console", "upstream", "ref", "readonly")
|
|
243
312
|
return {
|
|
244
313
|
**report,
|
|
245
314
|
"cells": [
|
|
@@ -285,13 +354,25 @@ def _read_code(args: argparse.Namespace) -> str:
|
|
|
285
354
|
def _write_op(args: argparse.Namespace, op: str, body: dict[str, Any]) -> tuple[dict[str, Any], int]:
|
|
286
355
|
url, _notebook, _name = _session(args, write=True)
|
|
287
356
|
assert url is not None
|
|
288
|
-
|
|
357
|
+
try:
|
|
358
|
+
report = _call(url, f"/api/cells/{op}", body)
|
|
359
|
+
except TimeoutError:
|
|
360
|
+
# The server took the write and reruns on its own; the clock that ran
|
|
361
|
+
# out is this call's, not the editor's.
|
|
362
|
+
return {
|
|
363
|
+
"error": "the edit was applied and the rerun is still going; check "
|
|
364
|
+
"`sca cell ls` (SCA_EDITOR_CALL_TIMEOUT raises the wait)"
|
|
365
|
+
}, 1
|
|
289
366
|
if "error" in report:
|
|
290
367
|
return _slim(report, code=False), 1
|
|
291
368
|
touched = set(report.get("touched", []))
|
|
292
369
|
report = _slim(report, code=False)
|
|
293
|
-
# What the change did: the touched cells with their state
|
|
294
|
-
|
|
370
|
+
# What the change did: the touched cells with their state, plus any cell
|
|
371
|
+
# that is not healthy after the run — a rerun dependent failing is the
|
|
372
|
+
# feedback the edit was after, hiding it once read as "the edit was fine".
|
|
373
|
+
report["cells"] = [
|
|
374
|
+
c for c in report["cells"] if c.get("index") in touched or c.get("errors") or c.get("blocked")
|
|
375
|
+
] or report["cells"]
|
|
295
376
|
return report, 0
|
|
296
377
|
|
|
297
378
|
|
|
@@ -37,6 +37,7 @@ from starlette.websockets import WebSocketDisconnect
|
|
|
37
37
|
|
|
38
38
|
from ..runtime.cells import cell_keys
|
|
39
39
|
from ..runtime.config import NotebookConfig, read_notebook_config
|
|
40
|
+
from ..runtime._marimo import compile_cell
|
|
40
41
|
from ..runtime.params import (
|
|
41
42
|
ParamSpec,
|
|
42
43
|
commit_field_value,
|
|
@@ -601,7 +602,7 @@ class WorkspaceState:
|
|
|
601
602
|
# -- the same cell edits, for an agent (``sca cell``) -------------------------
|
|
602
603
|
|
|
603
604
|
def _brief(self, number: int, cell: dict) -> dict:
|
|
604
|
-
|
|
605
|
+
brief = {
|
|
605
606
|
"index": number,
|
|
606
607
|
"id": cell["id"],
|
|
607
608
|
"key": cell.get("key"),
|
|
@@ -615,13 +616,34 @@ class WorkspaceState:
|
|
|
615
616
|
"ref": cell.get("ref"),
|
|
616
617
|
"code": cell["code"],
|
|
617
618
|
}
|
|
619
|
+
if cell.get("blocked"):
|
|
620
|
+
# The cell did not itself fail: an ancestor did (its report says which).
|
|
621
|
+
brief["blocked"] = True
|
|
622
|
+
return brief
|
|
618
623
|
|
|
619
624
|
def cells_report(self, *, refresh: bool = True) -> dict:
|
|
620
625
|
if refresh and self.kernel is not None:
|
|
621
626
|
self.push_cells()
|
|
627
|
+
upstream = _upstream_of(self.cells)
|
|
628
|
+
place = {cell["id"]: (number, cell) for number, cell in enumerate(self.cells, start=1)}
|
|
629
|
+
briefs = []
|
|
630
|
+
for number, cell in enumerate(self.cells, start=1):
|
|
631
|
+
brief = self._brief(number, cell)
|
|
632
|
+
if brief["errors"] or brief.get("blocked"):
|
|
633
|
+
# The cell the error names is often not the one at fault: say
|
|
634
|
+
# what it reads, the failing ancestors first.
|
|
635
|
+
brief["upstream"] = [
|
|
636
|
+
{
|
|
637
|
+
"index": place[dep][0],
|
|
638
|
+
"name": place[dep][1].get("name"),
|
|
639
|
+
"failing": bool(place[dep][1].get("errors")),
|
|
640
|
+
}
|
|
641
|
+
for dep in sorted(upstream.get(cell["id"], ()), key=lambda cid: place[cid][0])
|
|
642
|
+
]
|
|
643
|
+
briefs.append(brief)
|
|
622
644
|
return {
|
|
623
645
|
"notebook": self.notebook.relative_to(self.workspace).as_posix() if self.notebook else None,
|
|
624
|
-
"cells":
|
|
646
|
+
"cells": briefs,
|
|
625
647
|
}
|
|
626
648
|
|
|
627
649
|
def _find_cell(self, ref: Any) -> dict:
|
|
@@ -654,9 +676,16 @@ class WorkspaceState:
|
|
|
654
676
|
if body.get("base") is not None and _module_code(str(body["base"])).strip() != _module_code(cell["code"]).strip():
|
|
655
677
|
return {"error": "conflict: the cell changed since you read it", "theirs": cell["code"]}
|
|
656
678
|
if code.strip() != _module_code(cell["code"]).strip():
|
|
657
|
-
|
|
679
|
+
run = bool(body.get("run", True))
|
|
680
|
+
(kernel.edit_cell if run else kernel.save_cell)(cell["id"], code)
|
|
681
|
+
if run:
|
|
682
|
+
# The edit runs the cell itself; the sweep adds the
|
|
683
|
+
# dependents it made stale — their state is the
|
|
684
|
+
# feedback the caller asked for.
|
|
685
|
+
kernel.wait_idle()
|
|
686
|
+
kernel.run_until_settled([])
|
|
658
687
|
elif body.get("run", True):
|
|
659
|
-
kernel.
|
|
688
|
+
kernel.run_until_settled([cell["id"]])
|
|
660
689
|
touched = [cell["id"]]
|
|
661
690
|
elif op == "insert":
|
|
662
691
|
after = body.get("after")
|
|
@@ -668,9 +697,11 @@ class WorkspaceState:
|
|
|
668
697
|
anchor = self._find_cell(after)["id"]
|
|
669
698
|
code = _module_code(str(body.get("code", ""))) or "# new cell"
|
|
670
699
|
name = str(body["name"]) if body.get("name") else None
|
|
671
|
-
created = _created_id(kernel.create_cell_after(anchor, code, name, run=
|
|
700
|
+
created = _created_id(kernel.create_cell_after(anchor, code, name, run=False))
|
|
672
701
|
if created is None:
|
|
673
702
|
return {"error": "the kernel did not create the cell"}
|
|
703
|
+
if body.get("run", True):
|
|
704
|
+
kernel.run_until_settled([created])
|
|
674
705
|
touched = [created]
|
|
675
706
|
elif op == "delete":
|
|
676
707
|
cell = self._find_cell(body.get("cell"))
|
|
@@ -1430,8 +1461,10 @@ class WorkspaceState:
|
|
|
1430
1461
|
directory.mkdir(parents=True, exist_ok=True)
|
|
1431
1462
|
import os
|
|
1432
1463
|
|
|
1464
|
+
# The record is read on this machine, so the url is always the
|
|
1465
|
+
# loopback: a 0.0.0.0 url is no address (and walks into proxies).
|
|
1433
1466
|
(directory / "server.json").write_text(
|
|
1434
|
-
json.dumps({"url": f"http://
|
|
1467
|
+
json.dumps({"url": f"http://127.0.0.1:{self.port}", "pid": os.getpid(), "workspace": str(self.workspace)}),
|
|
1435
1468
|
encoding="utf-8",
|
|
1436
1469
|
)
|
|
1437
1470
|
except OSError:
|
|
@@ -1486,6 +1519,36 @@ class WorkspaceState:
|
|
|
1486
1519
|
self.hub.broadcast({"type": "status", "exported": str(target)})
|
|
1487
1520
|
|
|
1488
1521
|
|
|
1522
|
+
def _upstream_of(cells: list[dict]) -> dict[str, set[str]]:
|
|
1523
|
+
"""Per cell id: the ids of the cells it (transitively) reads.
|
|
1524
|
+
|
|
1525
|
+
Compiled with marimo's own cell compiler, so a name is a dependency
|
|
1526
|
+
exactly when marimo's dataflow says so; a cell mid-edit (its code does
|
|
1527
|
+
not compile) contributes no edges rather than wrong ones.
|
|
1528
|
+
"""
|
|
1529
|
+
owner: dict[str, str] = {}
|
|
1530
|
+
refs: dict[str, frozenset[str]] = {}
|
|
1531
|
+
for cell in cells:
|
|
1532
|
+
try:
|
|
1533
|
+
impl = compile_cell(_module_code(cell["code"]), cell["id"])
|
|
1534
|
+
except Exception:
|
|
1535
|
+
refs[cell["id"]] = frozenset()
|
|
1536
|
+
continue
|
|
1537
|
+
refs[cell["id"]] = impl.refs
|
|
1538
|
+
for name in impl.defs:
|
|
1539
|
+
owner.setdefault(name, cell["id"])
|
|
1540
|
+
direct = {cid: {owner[name] for name in names if name in owner and owner[name] != cid} for cid, names in refs.items()}
|
|
1541
|
+
closure: dict[str, set[str]] = {}
|
|
1542
|
+
|
|
1543
|
+
def walk(cid: str) -> set[str]:
|
|
1544
|
+
if cid not in closure:
|
|
1545
|
+
closure[cid] = set() # marimo forbids cycles; the placeholder guards one anyway
|
|
1546
|
+
closure[cid] = set().union(*(walk(dep) | {dep} for dep in direct.get(cid, ()))) if direct.get(cid) else set()
|
|
1547
|
+
return closure[cid]
|
|
1548
|
+
|
|
1549
|
+
return {cid: walk(cid) for cid in refs}
|
|
1550
|
+
|
|
1551
|
+
|
|
1489
1552
|
def _module_code(code: str) -> str:
|
|
1490
1553
|
"""marimo's code_mode compiles cell code as a MODULE: a ``return`` in the
|
|
1491
1554
|
cell's own scope (normal in marimo's file format) is a SyntaxError there.
|
|
@@ -46,6 +46,23 @@ class BRepInspection:
|
|
|
46
46
|
def to_dict(self) -> dict[str, Any]:
|
|
47
47
|
return asdict(self)
|
|
48
48
|
|
|
49
|
+
def summary(self) -> str:
|
|
50
|
+
"""One digest line: the facts an agent checks first, no per-face dump.
|
|
51
|
+
|
|
52
|
+
The full record (tens of thousands of characters on a real part) is
|
|
53
|
+
``.to_dict()`` / the ``faces`` / ``edges`` lists.
|
|
54
|
+
"""
|
|
55
|
+
box = self.bounding_box
|
|
56
|
+
size = [round(box[i + 3] - box[i], 3) for i in range(3)]
|
|
57
|
+
return (
|
|
58
|
+
f"<BRepInspection {self.source or '?'}: valid={self.valid} "
|
|
59
|
+
f"counts={self.counts} volume={self.volume:.6g} area={self.surface_area:.6g} "
|
|
60
|
+
f"size(xyz)={size} surfaces={self.surface_type_counts} edges={self.edge_type_counts}>"
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
def __repr__(self) -> str:
|
|
64
|
+
return self.summary()
|
|
65
|
+
|
|
49
66
|
def write_json(self, path: str | Path, *, indent: int = 2) -> Path:
|
|
50
67
|
output = Path(path)
|
|
51
68
|
output.parent.mkdir(parents=True, exist_ok=True)
|
|
@@ -67,6 +67,9 @@ def _vtk_modules():
|
|
|
67
67
|
from vtk.util.numpy_support import numpy_to_vtk, numpy_to_vtkIdTypeArray
|
|
68
68
|
except ImportError as error:
|
|
69
69
|
raise ImportError("BREP rendering requires VTK") from error
|
|
70
|
+
# VTK's own chatter (a missing X server, driver notes) reads as a render
|
|
71
|
+
# failure; a real one is raised and named here.
|
|
72
|
+
vtk.vtkObject.GlobalWarningDisplayOff()
|
|
70
73
|
return vtk, numpy_to_vtk, numpy_to_vtkIdTypeArray
|
|
71
74
|
|
|
72
75
|
_OFFSCREEN_WINDOW: Any | None = None
|
|
@@ -14,6 +14,9 @@ from typing import Any, Mapping
|
|
|
14
14
|
def _read_polydata(path: Path):
|
|
15
15
|
import vtk
|
|
16
16
|
|
|
17
|
+
# VTK's own chatter (a missing X server, driver notes) reads as a render
|
|
18
|
+
# failure; a real one fails the worker and is named by the caller.
|
|
19
|
+
vtk.vtkObject.GlobalWarningDisplayOff()
|
|
17
20
|
reader = vtk.vtkXMLPolyDataReader()
|
|
18
21
|
reader.SetFileName(str(path))
|
|
19
22
|
reader.Update()
|