simplecadapi 2.2.5__tar.gz → 2.2.6.post1__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.5 → simplecadapi-2.2.6.post1}/PKG-INFO +14 -12
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/README.md +12 -11
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/SKILL.md +2 -2
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/editor-collaboration.md +4 -2
- simplecadapi-2.2.6.post1/docs/updates/2.2.6.md +44 -0
- simplecadapi-2.2.6.post1/docs/updates/2.2.6.post1.md +44 -0
- simplecadapi-2.2.6.post1/docs/updates/2.2.6.post1.zh-CN.md +34 -0
- simplecadapi-2.2.6.post1/docs/updates/2.2.6.zh-CN.md +39 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/pyproject.toml +2 -1
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/shape_pickle.py +163 -15
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/versions.py +10 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/cli.py +1 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/core.py +20 -1
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/cli.py +141 -7
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/server.py +4 -0
- simplecadapi-2.2.5/src/simplecadapi/editor/webui/assets/index-CMwqu9RL.js → simplecadapi-2.2.6.post1/src/simplecadapi/editor/webui/assets/index-CxzycpTE.js +39 -39
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/webui/index.html +1 -1
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/_marimo.py +3 -0
- simplecadapi-2.2.6.post1/src/simplecadapi/runtime/_prefetch_worker.py +41 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/cache.py +76 -7
- simplecadapi-2.2.6.post1/src/simplecadapi/runtime/children.py +115 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/deps.py +173 -11
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/executor.py +12 -0
- simplecadapi-2.2.6.post1/src/simplecadapi/runtime/names.py +191 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/params.py +15 -3
- simplecadapi-2.2.6.post1/src/simplecadapi/runtime/prefetch.py +418 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/runner.py +13 -2
- simplecadapi-2.2.6.post1/src/simplecadapi/runtime/stubs.py +49 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/.gitignore +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/LICENSE +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/MANIFEST.in +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/landing.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/LICENSE.txt +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/README.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/SDK_OVERVIEW.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/discipline/assembly-positioning.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/discipline/datums-and-coordinate-systems.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/discipline/failure-and-repair.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/discipline/feature-ordering.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/discipline/feature-tree-convention.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/discipline/geometric-validation.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/discipline/manufacturing-boundaries.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/discipline/mechanical-modeling.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/discipline/requirement-and-cad-brief.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Assembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/AssemblyBuildResult.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/BRepComparison.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/BRepEntityError.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/BRepInspection.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/BRepModel.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/BSplineFitResult.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/CaptureResult.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/CellReport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/CenterDecl.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Component.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Connector.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ConnectorAnchor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ConnectorRef.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Const.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Constraint.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ConstraintReport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ConstraintResidual.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/DatumDecl.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/DimDecl.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Dimension.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/DimensionTolerance.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/DrawingCalibration.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/DrawingMeasurements.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/DrawingSectionDimensions.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/DrawingStrokes.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/DrawingSummary.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/DrawingText.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/EntityInspectionParity.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/EvaluationConfig.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Expr.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ExpressionGraph.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/FileInput.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/FreeCADTranslator.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Fusion360Translator.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/GeometryRef.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/GraphSession.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/InspectionSummaryComparison.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/LeaderDecl.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Material.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/NotebookConfig.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/NotebookRun.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Part.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/PartBuildResult.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Placement.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ProductMJCFExportReport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ProductOBJExportReport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ProductPackage.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ProductPackageError.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ProductSTEPExportReport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ProductSTLExportReport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/PublicConnectorRef.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/README.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Resolved.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ScalarLimit.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SectionEvaluationConfig.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SemanticDelta.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SemanticRef.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SheetDecl.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SheetPlan.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SimpleCADError.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Sketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SketchConstraint.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SketchConstraintDiagnostic.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SketchRef.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SketchSolveResult.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SliceSpec.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SolidWorksTranslator.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SurfaceBoundary.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/SurfaceFillingSettings.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ToleranceAnalysis.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ToleranceAnalysisError.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ToleranceCheck.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ToleranceContribution.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ToleranceGraph.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ToleranceReport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ToleranceRequirement.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ToleranceValidationError.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Unit.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/UnitValidationError.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/Var.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ViewDecl.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_arc_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_belt_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_bspline_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_circle_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_component_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_connector_rpart.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_ellipse_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_fixed_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_gear_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_line_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_point_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_prismatic_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_rack_pinion_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/add_revolute_constraint_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/analyze_tolerance.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/and_.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/apply_tag.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/apply_tag_rselection.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/assemble.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/assess_dimension_rverdict.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/assign_material_rpart.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/build_section_annotation_rrecord.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/calibrate_drawing_scale_rcalibration.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/canonical_frame.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/canonical_unit_for_dimension.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/capture.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/chamfer_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/check_tolerance.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/classify_benchmark_result.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/clear_step_model_cache_rnone.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_boundary_distance_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_entities_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_global_properties_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_inspections_rinspectionsummarycomparison.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_material_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_material_region_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_model_to_inspection_rentityinspectionparity.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_sections_batch_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_sections_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_shape_slices_rslicecomparison.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_shapes_rbrepcomparison.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_step_slices_rslicecomparison.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_step_to_inspection_rentityinspectionparity.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/compare_steps_rbrepcomparison.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/const_function.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_angle_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_coincident_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_collinear_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_concentric_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_connect_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_diameter_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_distance_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_distance_x_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_distance_y_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_equal_length_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_equal_radius_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_fix_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_horizontal_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_length_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_line_distance_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_major_radius_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_midpoint_points_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_midpoint_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_minor_radius_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_mirror_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_normal_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_parallel_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_perpendicular_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_point_on_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_points_horizontal_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_points_vertical_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_radius_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_symmetric_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_tangent_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/constrain_vertical_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/convert_value.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/copy_step_region_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/cut_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/draft_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/evaluate_reconstruction_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/explain_tag.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/export_graph_json.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/export_model_json.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/export_model_json_to_solidworks_step.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/export_product_package_to_mjcf.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/export_product_package_to_obj.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/export_product_package_to_step.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/export_product_package_to_stl.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/export_session_json.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/expression_uses_units.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/extract_drawing_primitives_rstrokes.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/extract_drawing_text_rwords.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/extrude_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/extrude_taper_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/extrude_until_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/file_input.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/fill_holes_rshell.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/fillet_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/fit_cubic_bspline_control_points.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/fit_face_analytic_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/fit_point_grid_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/free_boundaries_rwirelist.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/geo.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/get_active_session.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/get_sketch_entity_rsketchref.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/get_sketch_point_rsketchref.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/get_unit.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/ground_component_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/helical_sweep_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/identity_placement_rplacement.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/import_graph_json.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/import_model_json.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/import_session_json.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/index_shape_rbrepmodel.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/infer_dimension.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_assembly_constraints_rconstraintreport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_benchmark_step.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_difference_regions_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_drawing_coordinates_rreport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_drawing_rsummary.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_face_boundaries_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_manufacturing_hints_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_nearby_entities_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_point_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_section_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_shape_rbrepinspection.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_sketch_rsketchresult.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_step_components_rdescriptorlist.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_step_entity_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_step_rbrepinspection.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_step_rsummary.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_topology_neighborhood_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/inspect_topology_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/intersect_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/linear_pattern_rsolidlist.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/list_tags.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/load_brep_region_rshell.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/load_brep_region_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/load_step_rbrepmodel.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/load_step_rshape.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/loft_rshell.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/loft_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_2d_cut_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_2d_intersect_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_2d_union_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_angle_arc_redge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_angle_arc_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_assembly_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_bezier_surface_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_box_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_center_slice_specs_rslicespeclist.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_circle_redge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_circle_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_circle_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_compound_from_assembly_rcompound.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_cone_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_connector_ref_rconnectorref.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_cylinder_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_cylindrical_surface_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_edge_connector_rconnector.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_ellipse_redge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_ellipse_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_ellipse_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_face_connector_rconnector.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_face_from_sketch_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_face_from_wire_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_face_from_wires_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_gordon_surface_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_helix_redge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_helix_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_interpolated_spline_redge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_interpolated_spline_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_line_redge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_material_rmaterial.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_part_rpart.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_periodic_spline_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_placement_connector_rconnector.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_placement_rplacement.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_point_rvertex.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_polyline_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_rectangle_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_rectangle_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_ruled_surface_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_scalar_limit_rscalarlimit.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_segment_redge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_segment_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_sketch_rsketch.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_solid_from_shell_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_sphere_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_spline_redge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_spline_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_surface_patch_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_three_point_arc_redge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_three_point_arc_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_vertex_connector_rconnector.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_wire_from_edges_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/make_wire_from_sketch_rwire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/measure_constraint_residual_rconstraintresidual.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/measure_drawing_rmeasurements.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/measure_entity_relation_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/measure_model_section_rdimensions.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/measure_shape_mass_rtuple.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/meta.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/mirror_shape.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/not_.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/notebook_id.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/offset_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/operation_event.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/or_.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/origin_role.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/output_role.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/part_function.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/place_component_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/placement_frame_mm.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/placement_from_canonical.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/placement_ticks.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/radial_pattern_rsolidlist.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_drawing_view_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_entity_kind_maps_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_entity_map_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_manufacturing_hints_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_model_section_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_plan.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_region_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_screenshot_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_shape_views_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_step_comparison_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_step_components_colored_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_step_components_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/render_step_views_rpath.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/replay_graph.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/replay_model_json.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/revolve_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/rotate_shape.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/run_comparison_bundle.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/run_notebook.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/scale_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/select.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/select_edges_by_tag.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/select_faces_by_tag.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/select_region_entities_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/set_public_connector_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/sew_faces_rshell.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/shell_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/shells.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/solve_assembly_constraints_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/source_binding.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/source_topology.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/summarize_dimension_coverage_rreport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/suspend_graph_recording.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/sweep_multisection_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/sweep_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/tag.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/track_section_contours_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/transform_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/translate_model_json_to_fcstd.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/translate_model_json_to_freecad_script.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/translate_model_json_to_solidworks_script.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/translate_product_package_to_fcstd.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/translate_product_package_to_freecad_script.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/translate_product_package_to_fusion360_script.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/translate_product_package_to_solidworks_script.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/translate_shape.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/trim_surface_rface.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/twisted_sweep_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/unground_component_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/union_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/use.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/validate_placement_ticks.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/validate_section_annotations_rreport.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/validate_step_roundtrip_rdescriptor.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/value.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/api/var_function.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/README.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/compound.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/coordinate_system.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/declarative_constraints.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/dimension-tolerance-chains.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/edge.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/face.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/operation_graph_json_spec.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/part_assembly_development_plan.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/physical-units.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/rearchitecture_2_0.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/rearchitecture_2_0_requirements.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/serialization/README.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/serialization/expressions-and-replay.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/serialization/features-booleans-transforms.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/serialization/primitives-and-profiles.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/serialization/scalar-fields.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/shell.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/simple_workplane.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/solid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/tagged_mixin.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/vertex.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/core/wire.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/guides/README.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/guides/notebook-runtime.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/guides/reconstruction-agent-strategy.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/guides/reconstruction-agent-test-prompt.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/README.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/build_ball_bearing.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_ball_bearing_rassembly.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_cycloidal_disc_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_helical_gear_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_helical_rack_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_helical_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_herringbone_gear_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_herringbone_rack_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_herringbone_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_spur_gear_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_spur_rack_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_spur_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/docs/stdlib/make_straight_bevel_gear_rsolid.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/addon-development.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/assembly-and-product.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/drawing-inspection.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/engineering-drawing.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/export-and-translation.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/part-modeling.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/requirement-refinement.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/sketch-and-features.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/standard-parts.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/domains/step-inspection.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/inspect/brep-reverse-engineering.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/ql-playbook.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/scadpkg-format.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/workflows/assembly-product-build.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/workflows/drawing-reconstruction.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/workflows/engineering-drawing.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/workflows/export-and-translation.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/workflows/single-part-modeling.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/skill/references/workflows/step-reconstruction.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.0.2.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.0.2.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.0.4b1.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.0.4b1.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.0.4b2.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.0.4b2.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.0.4b3.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.0.4b3.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.1.0.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.1.0.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.1.1.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.1.1.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.1.2.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.1.2.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.1.3b1.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.1.3b1.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.1.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.1.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.2.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.2.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.3.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.3.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.4.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.4.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.5.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/2.2.5.zh-CN.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/docs/updates/step-reverse-migration.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/examples/u_link_motor_mount/common.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/examples/u_link_motor_mount/dimensions.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/examples/u_link_motor_mount/shell.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/examples/u_link_motor_mount/u_link.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/examples/u_link_motor_mount/u_link_motor_mount.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/skillproj.toml +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/brep_region.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/canonical_json.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/mapping_pickle.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/mesh.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/os_compat.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/semantic.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/vendor_warning_filters.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/_internal/workspace.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/_toml.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/cli.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/descriptor.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/home.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/install.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/platforms.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/registry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/shell.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/addon/use.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/assembly_definition.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/assembly_io.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/brep.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/canonical.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/feature_graph.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/geometry_interface.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/part_definition.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/part_io.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/references.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/topology_snapshot.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/artifacts/validation.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/build/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/build/assembly_builder.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/build/definition.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/build/dependencies.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/build/keys.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/build/part_builder.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/build/results.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/contracts/assembly-definition-2.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/contracts/feature-graph-1.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/contracts/part-definition-2.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/contracts/product-package-3.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/dxf_engine/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/dxf_engine/agent.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/dxf_engine/hlr.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/dxf_engine/model.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/dxf_engine/planner.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/dxf_engine/render.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/apiindex.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/kernel.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/selection.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/templates.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/webui/assets/index-CLhrIpkh.css +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/webui/favicon.svg +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/webui/icons.svg +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/editor/ws.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/errors.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/example/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/example/cli.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/example/runtime.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/exporter/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/exporter/_surface_mesh.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/exporter/cli.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/exporter/mjcf.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/exporter/obj.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/exporter/step.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/exporter/stl.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/compare.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/diagnostic_state.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/diagnostics.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/fitting.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/inspect.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/io.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/manufacturing.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/model.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/parity.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/persistence.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/queries.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/render.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/render_worker.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/section_tracking.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/slices.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/snapshots.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/brep/topology_inspection.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_circle_fit.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_material_geometry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_measurement_contract.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_pdf.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_provenance.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_pymupdf.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_review_evidence.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_section_geometry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_section_layout.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/_section_validation.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/calibrate.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/evidence.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/geometry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/material_section.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/preflight.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/render.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/section.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/summary.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inspect/drawing/text.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inverse_engineer/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inverse_engineer/brep/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inverse_engineer/brep/evaluation.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/inverse_engineer/brep/worker.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_booleans.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_brep_snapshot.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_builders.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_cast.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_curves.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_export.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_features.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_mesh.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_properties.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_surfaces.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_topology.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/kernel/ocp_transforms.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/math.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/_diagnostics.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/_support.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/boolean.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/deformation.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/draft.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/features.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/geometry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/limited_extrusion.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/product.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/section_features.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/selection.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/sketch.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/operators/transform.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/params/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/params/expr.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/params/frame.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/params/tolerance.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/params/units.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/assembly.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/capture.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/connector.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/constraint.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/material.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/occurrence.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/packages.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/part.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/placement.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/product/solver.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/py.typed +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/ql.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/recording/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/recording/graph.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/recording/serializer.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/recording/source_mapping.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/cells.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/cli.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/config.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/live.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/projection.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/runtime/workspace.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/archive.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/canonical.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/compiler.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/profiles/ocp-evaluated-properties-1.profile.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/profiles/scene-1.0-ocp-glb-2.profile.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/pseudocode/ocp-evaluated-properties-1.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/pseudocode/scene-1.0-ocp-glb-2.md +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/rules/scene-1.0-rules.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/connector-binding-1.0.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/entities-1.0.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/evaluated-properties-profile-1.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/normalized-product-1.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/presentation-1.0.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/profile-1.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/render-profile-2.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/rules-1.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/scene-1.0.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/contracts/schemas/scene-2.0.schema.json +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/documents.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/generated/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/generated/connector_binding.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/generated/entities.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/generated/normalized_product.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/generated/presentation.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/generated/scene.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/glb.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/glb_writer.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/preview.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/product_scene.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/render_mesh.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/resources.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/transforms.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/scene/validation.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/sketch.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/sketch_diagnostics.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/sketch_solver/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/sketch_solver/backend.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/sketch_solver/py_slvs_backend.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/skill/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/skill/cli.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/skill/compiler.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/skill/runtime.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/std/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/std/bearing.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/std/chain.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/std/fastener.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/std/gear.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/surface.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/topology/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/topology/autotag.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/topology/model.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/topology/tagging.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/topology/tracking.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/base.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/errors.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/analysis.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/api.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/capabilities.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/codegen.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/context.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/booleans.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/features.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/geometry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/primitives.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/products.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/registry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/selections.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/sketches.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/surfaces.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/emitters/transforms.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/exporter.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/assemblies.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/curves.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/expressions.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/geometry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/metadata.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/occurrences.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/persistence.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/products.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/selections.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/sketches.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/runtime/surfaces.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/semantic.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/freecad_translator/translator.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/fusion360_translator/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/fusion360_translator/api.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/fusion360_translator/capabilities.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/fusion360_translator/compiler.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/fusion360_translator/translator.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/geometry_signature.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/package_units.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/product_graph.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/analysis.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/api.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/capabilities.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/codegen.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/compiler_compat.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/context.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/emitters/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/emitters/booleans.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/emitters/features.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/emitters/geometry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/emitters/primitives.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/emitters/products.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/emitters/registry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/emitters/selections.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/emitters/transforms.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/exporter.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/loft_geometry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/__init__.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/assemblies.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/booleans.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/com_compat.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/features.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/geometry.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/metadata.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/model.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/persistence.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/products.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/selections.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/runtime/sketches.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/semantic.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/translator.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/src/simplecadapi/translator/solidworks_translator/versions.py +0 -0
- {simplecadapi-2.2.5 → simplecadapi-2.2.6.post1}/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.6.post1
|
|
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
|
|
@@ -226,6 +226,7 @@ Classifier: Topic :: Scientific/Engineering
|
|
|
226
226
|
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
227
227
|
Requires-Python: <3.14,>=3.10
|
|
228
228
|
Requires-Dist: cadquery-ocp>=7.9.3.1
|
|
229
|
+
Requires-Dist: cryptography>=42.0.0
|
|
229
230
|
Requires-Dist: ezdxf>=1.4.4
|
|
230
231
|
Requires-Dist: jsonschema<5.0.0,>=4.25.1
|
|
231
232
|
Requires-Dist: marimo>=0.25.0
|
|
@@ -412,21 +413,20 @@ the full crank cycle sweeps clean in the same sim ·
|
|
|
412
413
|
|
|
413
414
|
---
|
|
414
415
|
|
|
415
|
-
## Update Notes (2.2.
|
|
416
|
+
## Update Notes (2.2.6.post1)
|
|
416
417
|
|
|
417
418
|
> Validate generated definitions, assembly constraints, and manufacturing
|
|
418
419
|
> geometry before production use.
|
|
419
420
|
|
|
420
|
-
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
- **
|
|
427
|
-
`BRepInspection` is a one-line summary.
|
|
421
|
+
- **Keyword `scad.var` is a parameter again.** `scad.var(name="j1", default=0.0)` is read
|
|
422
|
+
by the editor's parameter panel like the positional form; before, it was skipped.
|
|
423
|
+
- **A cached run costs much less.** On the desktop arm: cold 80 s to 35 s, nothing changed
|
|
424
|
+
24 s to 4 s, one joint edited 18 s to 3 s, cache 1.7 GB to 96 MB. Restored shapes are built
|
|
425
|
+
on first use, parameters and imported names are keyed by value, and the `use` calls of a
|
|
426
|
+
cell run in worker processes (`SCA_JOBS`, 1 turns it off).
|
|
427
|
+
- **Slider drags are sent when they settle**, not step by step.
|
|
428
428
|
|
|
429
|
-
Full notes for this version: [`docs/updates/2.2.
|
|
429
|
+
Full notes for this version: [`docs/updates/2.2.6.post1.md`](docs/updates/2.2.6.post1.md).
|
|
430
430
|
Earlier versions: the [changelog](CHANGELOG.md) and [`docs/updates/`](docs/updates/).
|
|
431
431
|
|
|
432
432
|
---
|
|
@@ -447,7 +447,7 @@ in a compact public API for creating solids, applying features, tagging semantic
|
|
|
447
447
|
intent, querying topology, exporting manufacturing files, and translating recorded
|
|
448
448
|
models into FreeCAD workflows.
|
|
449
449
|
|
|
450
|
-
Current release: `simplecadapi==2.2.
|
|
450
|
+
Current release: `simplecadapi==2.2.6.post1`.
|
|
451
451
|
|
|
452
452
|
## What It Provides
|
|
453
453
|
|
|
@@ -962,6 +962,8 @@ and the [STEP reconstruction workflow](docs/skill/references/workflows/step-reco
|
|
|
962
962
|
|
|
963
963
|
## Documentation
|
|
964
964
|
|
|
965
|
+
- 2.2.6.post1 update notes: [`docs/updates/2.2.6.post1.md`](docs/updates/2.2.6.post1.md)
|
|
966
|
+
- 2.2.6 update notes: [`docs/updates/2.2.6.md`](docs/updates/2.2.6.md)
|
|
965
967
|
- 2.2.5 update notes: [`docs/updates/2.2.5.md`](docs/updates/2.2.5.md)
|
|
966
968
|
- 2.2.4 update notes: [`docs/updates/2.2.4.md`](docs/updates/2.2.4.md)
|
|
967
969
|
- 2.2.3 update notes: [`docs/updates/2.2.3.md`](docs/updates/2.2.3.md)
|
|
@@ -149,21 +149,20 @@ 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.6.post1)
|
|
153
153
|
|
|
154
154
|
> Validate generated definitions, assembly constraints, and manufacturing
|
|
155
155
|
> geometry before production use.
|
|
156
156
|
|
|
157
|
-
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
- **
|
|
164
|
-
`BRepInspection` is a one-line summary.
|
|
157
|
+
- **Keyword `scad.var` is a parameter again.** `scad.var(name="j1", default=0.0)` is read
|
|
158
|
+
by the editor's parameter panel like the positional form; before, it was skipped.
|
|
159
|
+
- **A cached run costs much less.** On the desktop arm: cold 80 s to 35 s, nothing changed
|
|
160
|
+
24 s to 4 s, one joint edited 18 s to 3 s, cache 1.7 GB to 96 MB. Restored shapes are built
|
|
161
|
+
on first use, parameters and imported names are keyed by value, and the `use` calls of a
|
|
162
|
+
cell run in worker processes (`SCA_JOBS`, 1 turns it off).
|
|
163
|
+
- **Slider drags are sent when they settle**, not step by step.
|
|
165
164
|
|
|
166
|
-
Full notes for this version: [`docs/updates/2.2.
|
|
165
|
+
Full notes for this version: [`docs/updates/2.2.6.post1.md`](docs/updates/2.2.6.post1.md).
|
|
167
166
|
Earlier versions: the [changelog](CHANGELOG.md) and [`docs/updates/`](docs/updates/).
|
|
168
167
|
|
|
169
168
|
---
|
|
@@ -184,7 +183,7 @@ in a compact public API for creating solids, applying features, tagging semantic
|
|
|
184
183
|
intent, querying topology, exporting manufacturing files, and translating recorded
|
|
185
184
|
models into FreeCAD workflows.
|
|
186
185
|
|
|
187
|
-
Current release: `simplecadapi==2.2.
|
|
186
|
+
Current release: `simplecadapi==2.2.6.post1`.
|
|
188
187
|
|
|
189
188
|
## What It Provides
|
|
190
189
|
|
|
@@ -699,6 +698,8 @@ and the [STEP reconstruction workflow](docs/skill/references/workflows/step-reco
|
|
|
699
698
|
|
|
700
699
|
## Documentation
|
|
701
700
|
|
|
701
|
+
- 2.2.6.post1 update notes: [`docs/updates/2.2.6.post1.md`](docs/updates/2.2.6.post1.md)
|
|
702
|
+
- 2.2.6 update notes: [`docs/updates/2.2.6.md`](docs/updates/2.2.6.md)
|
|
702
703
|
- 2.2.5 update notes: [`docs/updates/2.2.5.md`](docs/updates/2.2.5.md)
|
|
703
704
|
- 2.2.4 update notes: [`docs/updates/2.2.4.md`](docs/updates/2.2.4.md)
|
|
704
705
|
- 2.2.3 update notes: [`docs/updates/2.2.3.md`](docs/updates/2.2.3.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.6.post1
|
|
8
8
|
package-name: simplecadapi
|
|
9
|
-
package-version: 2.2.
|
|
9
|
+
package-version: 2.2.6.post1
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# SimpleCAD SDK Skill
|
|
@@ -63,6 +63,7 @@ echo 'L = 90' | sca cell put 3 # replace the code of cell 3 and run it (--
|
|
|
63
63
|
sca cell insert --after 3 -f new.py # add a cell (--after start|end|CELL, --name fn_name)
|
|
64
64
|
sca cell rm 4
|
|
65
65
|
sca cell run [CELL ...] # run cells (default all) and what they feed
|
|
66
|
+
sca cell open other.py # have the editor open another notebook (waits for its kernel)
|
|
66
67
|
sca new bracket --kind part # a new notebook; the open editor lists it, the person's view stays
|
|
67
68
|
```
|
|
68
69
|
|
|
@@ -74,7 +75,8 @@ sca new bracket --kind part # a new notebook; the open editor lists it,
|
|
|
74
75
|
replaces the cell, so `get` first when the person may have changed it.
|
|
75
76
|
- The commands find the running editor through `<workspace>/.sca-editor/server.json`. With no
|
|
76
77
|
editor running, or with another notebook open, `ls` and `get` read the file and the write
|
|
77
|
-
commands refuse:
|
|
78
|
+
commands refuse: run `sca cell open NOTEBOOK` (or pass `--open` to switch and write in one
|
|
79
|
+
step), or edit the file directly, nothing else holds it.
|
|
78
80
|
- `@app.function` cells cannot be changed this way; edit them in the file.
|
|
79
81
|
|
|
80
82
|
## Read what the person is doing
|
|
@@ -83,7 +85,7 @@ sca new bracket --kind part # a new notebook; the open editor lists it,
|
|
|
83
85
|
| --- | --- |
|
|
84
86
|
| What is selected | the cell headed `# ---- selection ----` in the notebook file |
|
|
85
87
|
| Everything at once (selection, cell states, errors, parameter values) | `sca snapshot [WORKSPACE]`, or `<workspace>/.sca-editor/snapshot.json` |
|
|
86
|
-
| What the viewport looks like | `<workspace>/.sca-editor/viewport.png`
|
|
88
|
+
| What the viewport looks like | `sca viewport [WORKSPACE] [--out PATH]` — the PNG's path, age and size, copied out with `--out` (the file is `<workspace>/.sca-editor/viewport.png`) |
|
|
87
89
|
| Which notebook is open | `notebook` in the snapshot |
|
|
88
90
|
|
|
89
91
|
`sca snapshot` only has an answer while the editor runs; it reports the last
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 2.2.6 Update Notes
|
|
2
|
+
|
|
3
|
+
From the same field report as 2.2.5, the follow-up: an agent working a
|
|
4
|
+
multi-notebook workspace no longer has to leave the CLI to keep working — and the
|
|
5
|
+
cache it relies on is verified again.
|
|
6
|
+
|
|
7
|
+
## Switch notebooks without leaving the CLI
|
|
8
|
+
|
|
9
|
+
An agent editing `l_link.py`, `l_link_shell.py`, and an assembly had exactly one way
|
|
10
|
+
to move the editor between them: a raw `curl` to `/api/workspace/open`, an endpoint
|
|
11
|
+
found by reading the installed server's source — because a write refuses while
|
|
12
|
+
another notebook is open, and no command could switch. Now:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
sca cell open other.py # the editor switches; waits for the kernel to boot
|
|
16
|
+
echo '...' | sca cell put 3 --open # switch and write in one step
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
`sca cell open` waits until the switched notebook's kernel is up
|
|
20
|
+
(`SCA_EDITOR_OPEN_WAIT` or `--wait`, default 120s), so the following write does not
|
|
21
|
+
race the boot. Re-asking for the notebook that is already open and ready does not
|
|
22
|
+
restart the kernel. A refused write names the command as the remedy, and
|
|
23
|
+
`/api/cells` reports `kernel` so a caller can tell a booted notebook from one whose
|
|
24
|
+
name has flipped while the kernel still boots.
|
|
25
|
+
|
|
26
|
+
## See the viewport as a command
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
sca viewport --out /tmp/seen.png # path, age in seconds, size; copied out
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The image of what the person sees is now `sca viewport`'s answer instead of a
|
|
33
|
+
`.sca-editor/viewport.png` file agents had to know about and read by hand. The age
|
|
34
|
+
says how fresh the view is; there is no image until the page showed a model at
|
|
35
|
+
least once.
|
|
36
|
+
|
|
37
|
+
## Cache entries are signed and verified again
|
|
38
|
+
|
|
39
|
+
The notebook cache is marimo's `LazyLoader`, whose verification is on by default:
|
|
40
|
+
without the `cryptography` package it degraded to off and every run warned that
|
|
41
|
+
cache entries were neither signed nor verified. `cryptography` ships as a
|
|
42
|
+
dependency now, so verification stays on everywhere the cache works.
|
|
43
|
+
|
|
44
|
+
See the [changelog](../../CHANGELOG.md) for the complete list.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 2.2.6.post1 Update Notes
|
|
2
|
+
|
|
3
|
+
A hotfix for the editor's parameter panel, and a round of speed work on the notebook cache
|
|
4
|
+
and on `use`, measured on the desktop six-axis arm.
|
|
5
|
+
|
|
6
|
+
## `scad.var(name=..., default=...)` is a parameter again
|
|
7
|
+
|
|
8
|
+
The editor found a parameter's default only as the second *positional* argument of
|
|
9
|
+
`scad.var`. A declaration written with keywords —
|
|
10
|
+
|
|
11
|
+
```python
|
|
12
|
+
J1 = scad.var(name="j1", default=0.0, comment="Joint 1")
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
— was skipped: no slider, no commit back to the file. Both forms are read now, and
|
|
16
|
+
committing a value rewrites the right argument in either.
|
|
17
|
+
|
|
18
|
+
## What a cached run costs
|
|
19
|
+
|
|
20
|
+
| desktop arm | before | now |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| cold run | 80.5 s | 34.6 s |
|
|
23
|
+
| nothing changed | 23.6 s | 4.0 s |
|
|
24
|
+
| one joint angle edited | 18.2 s | 3.0 s |
|
|
25
|
+
| a link length edited | 35.1 s | 19 s |
|
|
26
|
+
| cache on disk | 1.7 GB | 96 MB |
|
|
27
|
+
|
|
28
|
+
- **Restoring is cheaper.** A restored shape is built when something first uses it, so a
|
|
29
|
+
cached value no running cell reads costs nothing; the tag caches are rebuilt once, not
|
|
30
|
+
once per ancestor. The cache no longer stores a cell's private (`_name`) values and
|
|
31
|
+
compresses what it writes; entries from before are still read.
|
|
32
|
+
- **Parameters are keyed by value.** A cell that reads one `scad.var` is not redone because a
|
|
33
|
+
neighbour defined in the same cell changed.
|
|
34
|
+
- **A name, not a file.** `from lib.dims import A` depends on the definition of `A`.
|
|
35
|
+
- **`use` is followed one call at a time.** A cell that uses a notebook by a literal path
|
|
36
|
+
depends on that notebook (its text, the modules it imports, the notebooks it uses): editing
|
|
37
|
+
one child redoes the cell that uses it, not its siblings. The editor kernel caches such
|
|
38
|
+
cells too.
|
|
39
|
+
- **`use` calls run side by side.** The `use` calls a cell is about to make are started in
|
|
40
|
+
worker processes (threads would not help: OpenCASCADE keeps the interpreter lock) and the
|
|
41
|
+
cell finds them built. `SCA_JOBS` sets the number (default: the smaller of 4 and the
|
|
42
|
+
cores; `1` turns it off). Workers are started only when that saves more than they take to
|
|
43
|
+
start, and a notebook is locked between processes while it runs.
|
|
44
|
+
- **Editor sliders.** A drag is sent when it pauses (250 ms) or ends, not step by step.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# 2.2.6.post1 更新说明
|
|
2
|
+
|
|
3
|
+
编辑器参数面板的热修复,以及一轮针对 notebook 缓存和 `use` 的速度优化,数据来自桌面六轴机械臂。
|
|
4
|
+
|
|
5
|
+
## `scad.var(name=..., default=...)` 重新被识别为参数
|
|
6
|
+
|
|
7
|
+
编辑器只把 `scad.var` 的第二个**位置参数**当作默认值。用关键字写的声明——
|
|
8
|
+
|
|
9
|
+
```python
|
|
10
|
+
J1 = scad.var(name="j1", default=0.0, comment="Joint 1")
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
——会被跳过:没有滑块,也无法写回文件。现在两种写法都能读取,提交数值时也会改写对应的那个参数。
|
|
14
|
+
|
|
15
|
+
## 缓存运行的代价
|
|
16
|
+
|
|
17
|
+
| 桌面机械臂 | 之前 | 现在 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| 冷启动 | 80.5 s | 34.6 s |
|
|
20
|
+
| 什么都没改 | 23.6 s | 4.0 s |
|
|
21
|
+
| 改一个关节角 | 18.2 s | 3.0 s |
|
|
22
|
+
| 改一个连杆长度 | 35.1 s | 19 s |
|
|
23
|
+
| 磁盘缓存 | 1.7 GB | 96 MB |
|
|
24
|
+
|
|
25
|
+
- **恢复更便宜。** 恢复出来的形状在第一次被用到时才构建,没有 cell 读取的缓存值不花时间;标签缓存只重建一次,
|
|
26
|
+
不再每个祖先一次。缓存不再存 cell 私有(`_name`)变量的值,并压缩写入的内容;旧条目照样能读。
|
|
27
|
+
- **参数按值定键。** 读取某个 `scad.var` 的 cell,不会因为同一个 cell 里的邻居参数变化而重跑。
|
|
28
|
+
- **按名字而不是按文件。** `from lib.dims import A` 只依赖 `A` 的定义。
|
|
29
|
+
- **`use` 按调用逐个跟踪。** 用字面量路径 `use` 一个 notebook 的 cell 依赖那个 notebook(文本、它导入的模块、
|
|
30
|
+
它再 `use` 的 notebook):改一个子 notebook 只重跑用它的 cell,不动它的兄弟。编辑器内核也缓存这类 cell。
|
|
31
|
+
- **`use` 并行。** cell 即将发出的 `use` 调用交给 worker 进程同时构建(线程没用:OpenCASCADE 不释放解释器锁),
|
|
32
|
+
cell 随后发现已经建好。`SCA_JOBS` 设置数量(默认 4 与核数的较小值;`1` 关闭)。只有省下的时间大于 worker
|
|
33
|
+
启动成本才会启动,并且 notebook 运行期间其状态目录在进程间加锁。
|
|
34
|
+
- **编辑器滑块。** 拖动在停顿 250 ms 或松开时才发送,不再逐步发送。
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# 2.2.6 更新说明
|
|
2
|
+
|
|
3
|
+
和 2.2.5 来自同一份实地报告的续篇:agent 在多 notebook 工作区里干活,不用再绕开 CLI
|
|
4
|
+
才能继续——它依赖的缓存也重新有了签名验证。
|
|
5
|
+
|
|
6
|
+
## 不离开 CLI 就能切换 notebook
|
|
7
|
+
|
|
8
|
+
一个 agent 要同时编辑 `l_link.py`、`l_link_shell.py` 和一个装配体,把编辑器在它们之间
|
|
9
|
+
切换的办法只有一个:对着 `/api/workspace/open` 发裸 `curl`——这个端点是它读了安装包里
|
|
10
|
+
server 的源码才找到的,因为编辑器开着别的 notebook 时写入会被拒绝,而没有任何命令能切换。
|
|
11
|
+
现在:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
sca cell open other.py # 编辑器切换过去;等 kernel 启动完成
|
|
15
|
+
echo '...' | sca cell put 3 --open # 切换 + 写入一步完成
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`sca cell open` 会等到切换后的 notebook kernel 就绪(`SCA_EDITOR_OPEN_WAIT` 或
|
|
19
|
+
`--wait`,默认 120s),后续写入不会和启动赛跑。对已经打开且就绪的 notebook 再次执行
|
|
20
|
+
不会重启 kernel。写入被拒绝时报错会直接给出这条命令,`/api/cells` 也会报告 `kernel`,
|
|
21
|
+
让调用方分得清"名字已切换"和"kernel 还在启动"。
|
|
22
|
+
|
|
23
|
+
## 像命令一样拿视口图
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
sca viewport --out /tmp/seen.png # 路径、age(秒)、大小;复制出来
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
"用户现在看到什么"的图,现在是 `sca viewport` 的输出,而不是一个要 agent 自己知道、
|
|
30
|
+
自己读的 `.sca-editor/viewport.png` 文件。age 说明画面有多新鲜;页面从未显示过模型时
|
|
31
|
+
没有图。
|
|
32
|
+
|
|
33
|
+
## 缓存条目重新有了签名验证
|
|
34
|
+
|
|
35
|
+
notebook 缓存是 marimo 的 `LazyLoader`,默认开着验证:缺 `cryptography` 包时会降级关
|
|
36
|
+
闭,每次运行都警告"cache entries are neither signed nor verified"。现在 `cryptography`
|
|
37
|
+
作为依赖随包安装,缓存能工作的地方验证就开着。
|
|
38
|
+
|
|
39
|
+
完整清单见[更新日志](../../CHANGELOG.md)。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "simplecadapi"
|
|
3
|
-
version = "2.2.
|
|
3
|
+
version = "2.2.6.post1"
|
|
4
4
|
description = "A simplified OCP-native CAD modeling Python API"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -35,6 +35,7 @@ dependencies = [
|
|
|
35
35
|
"ezdxf>=1.4.4",
|
|
36
36
|
"marimo>=0.25.0",
|
|
37
37
|
"plotly>=7.1.0",
|
|
38
|
+
"cryptography>=42.0.0",
|
|
38
39
|
]
|
|
39
40
|
|
|
40
41
|
[project.optional-dependencies]
|
|
@@ -19,6 +19,8 @@ from __future__ import annotations
|
|
|
19
19
|
|
|
20
20
|
import io
|
|
21
21
|
import re
|
|
22
|
+
import threading
|
|
23
|
+
import zlib
|
|
22
24
|
from dataclasses import dataclass
|
|
23
25
|
from typing import TYPE_CHECKING, Any, Dict, List, Mapping, Set, Tuple
|
|
24
26
|
|
|
@@ -93,6 +95,20 @@ def _write_shape(shape: TopoDS_Shape) -> bytes:
|
|
|
93
95
|
return stream.getvalue()
|
|
94
96
|
|
|
95
97
|
|
|
98
|
+
_PACKED = b"SCZ1"
|
|
99
|
+
"""Starts a payload stored compressed; entries written before it was
|
|
100
|
+
introduced hold the BinTools bytes as they are, and are still read."""
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def _pack(raw: bytes) -> bytes:
|
|
104
|
+
# BinTools is bit-exact doubles: level 1 gets most of the ~10x for little time.
|
|
105
|
+
return _PACKED + zlib.compress(raw, 1)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def _unpack(payload: bytes) -> bytes:
|
|
109
|
+
return zlib.decompress(payload[len(_PACKED) :]) if payload.startswith(_PACKED) else payload
|
|
110
|
+
|
|
111
|
+
|
|
96
112
|
def _read_shape(payload: bytes) -> TopoDS_Shape:
|
|
97
113
|
shape = TopoDS_Shape()
|
|
98
114
|
BinTools.Read_s(shape, io.BytesIO(payload))
|
|
@@ -156,15 +172,55 @@ def _capture_states(wrapper: "AnyShape") -> Tuple[_EntityState, ...]:
|
|
|
156
172
|
return tuple(states)
|
|
157
173
|
|
|
158
174
|
|
|
159
|
-
def
|
|
160
|
-
cache: "_TopologyEntityCache", kind: str,
|
|
161
|
-
) -> "_TopoEntity
|
|
162
|
-
"""
|
|
175
|
+
def _entities_by_position(
|
|
176
|
+
cache: "_TopologyEntityCache", kind: str, shapes: TopTools_IndexedMapOfShape
|
|
177
|
+
) -> Dict[int, "_TopoEntity"]:
|
|
178
|
+
"""The entity of each position in *shapes* (``FindIndex`` is ``IsSame``),
|
|
179
|
+
found in one pass rather than one scan per position."""
|
|
163
180
|
|
|
181
|
+
found: Dict[int, "_TopoEntity"] = {}
|
|
164
182
|
for entity in cache.entities(kind):
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
183
|
+
position = shapes.FindIndex(entity.representative)
|
|
184
|
+
if position > 0:
|
|
185
|
+
found.setdefault(position, entity)
|
|
186
|
+
return found
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
def _refresh_restored_tags(wrapper: "AnyShape") -> None:
|
|
190
|
+
"""Rebuild the tag cache of every wrapper under *wrapper*, once each.
|
|
191
|
+
|
|
192
|
+
The restored tree has no ancestors above *wrapper*. When none of its
|
|
193
|
+
bindings is passed downward, an entity's effective tags are its own
|
|
194
|
+
(local and legacy) and need no walk up through its parents; otherwise
|
|
195
|
+
the general refresh runs.
|
|
196
|
+
"""
|
|
197
|
+
|
|
198
|
+
from ..core import TaggedMixin, TopologyPropagation
|
|
199
|
+
|
|
200
|
+
members: List[Any] = []
|
|
201
|
+
seen: Set[int] = set()
|
|
202
|
+
stack: List[Any] = [wrapper]
|
|
203
|
+
while stack:
|
|
204
|
+
item = stack.pop()
|
|
205
|
+
if id(item) in seen:
|
|
206
|
+
continue
|
|
207
|
+
seen.add(id(item))
|
|
208
|
+
members.append(item)
|
|
209
|
+
stack.extend(item.get_children())
|
|
210
|
+
tagged = [item for item in members if isinstance(item, TaggedMixin)]
|
|
211
|
+
if any(
|
|
212
|
+
binding.propagation.topology == TopologyPropagation.DOWNWARD
|
|
213
|
+
for item in tagged
|
|
214
|
+
for binding in item._local_tag_bindings()
|
|
215
|
+
):
|
|
216
|
+
wrapper._refresh_tag_cache(recursive=True)
|
|
217
|
+
return
|
|
218
|
+
for item in tagged:
|
|
219
|
+
item._tag_cache.clear()
|
|
220
|
+
item._tag_cache.update(
|
|
221
|
+
binding.tag
|
|
222
|
+
for binding in (*item._local_tag_bindings(), *item._legacy_effective_bindings())
|
|
223
|
+
)
|
|
168
224
|
|
|
169
225
|
|
|
170
226
|
_TOPO_ID_RE = re.compile(r"^(?P<kind>[a-z]+)_(?P<index>\d+)$")
|
|
@@ -195,16 +251,18 @@ def _renumber(cache: "_TopologyEntityCache", restored: Set[int]) -> None:
|
|
|
195
251
|
def _apply_states(wrapper: "AnyShape", states: Tuple[_EntityState, ...]) -> None:
|
|
196
252
|
cache = wrapper._topology_cache
|
|
197
253
|
maps: Dict[str, TopTools_IndexedMapOfShape] = {}
|
|
254
|
+
by_index: Dict[str, Dict[int, "_TopoEntity"]] = {}
|
|
198
255
|
restored: Set[int] = set()
|
|
199
256
|
for state in states:
|
|
200
257
|
shapes = maps.get(state.kind)
|
|
201
258
|
if shapes is None:
|
|
202
259
|
shapes = maps[state.kind] = _index_map(wrapper.wrapped, state.kind)
|
|
260
|
+
by_index[state.kind] = _entities_by_position(cache, state.kind, shapes)
|
|
203
261
|
if state.index > shapes.Extent():
|
|
204
262
|
raise ValueError(
|
|
205
263
|
f"pickled {state.kind} #{state.index} is outside the restored shape"
|
|
206
264
|
)
|
|
207
|
-
entity =
|
|
265
|
+
entity = by_index[state.kind].get(state.index)
|
|
208
266
|
if entity is None:
|
|
209
267
|
continue
|
|
210
268
|
entity.topo_id = state.topo_id
|
|
@@ -228,28 +286,118 @@ def _apply_states(wrapper: "AnyShape", states: Tuple[_EntityState, ...]) -> None
|
|
|
228
286
|
entity.incident_edge_ids.update(state.incident_edge_ids)
|
|
229
287
|
restored.add(id(entity))
|
|
230
288
|
_renumber(cache, restored)
|
|
231
|
-
wrapper
|
|
289
|
+
_refresh_restored_tags(wrapper)
|
|
232
290
|
|
|
233
291
|
|
|
234
292
|
def reduce_shape(wrapper: "AnyShape") -> Tuple[Any, Tuple[Any, ...]]:
|
|
235
293
|
"""``__reduce__`` implementation shared by every topology wrapper."""
|
|
236
294
|
|
|
237
|
-
payload = source_bytes(wrapper) or _write_shape(wrapper.wrapped)
|
|
295
|
+
payload = _pack(source_bytes(wrapper) or _write_shape(wrapper.wrapped))
|
|
238
296
|
return (restore_shape, (type(wrapper).__name__, payload, _capture_states(wrapper)))
|
|
239
297
|
|
|
240
298
|
|
|
299
|
+
_PENDING = "_pending_restore"
|
|
300
|
+
"""The ``__dict__`` key under which a restored shape that is not built yet
|
|
301
|
+
keeps what it needs to be: ``(payload, states)``."""
|
|
302
|
+
|
|
303
|
+
_build_lock = threading.RLock()
|
|
304
|
+
_building = threading.local()
|
|
305
|
+
_lazy_classes: Dict[type, type] = {}
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
class _PendingShape:
|
|
309
|
+
"""Behaviour of a restored shape that has not been built yet.
|
|
310
|
+
|
|
311
|
+
The instance is empty. Its first attribute read or write builds it (the
|
|
312
|
+
kernel shape from its bytes, the wrapper tree, the saved state) and puts
|
|
313
|
+
its real class back, after which none of this is in the way. Pickling it
|
|
314
|
+
again hands back what it was restored from.
|
|
315
|
+
"""
|
|
316
|
+
|
|
317
|
+
def __getattr__(self, name: str) -> Any:
|
|
318
|
+
if not name.startswith("__"):
|
|
319
|
+
_build(self)
|
|
320
|
+
try:
|
|
321
|
+
return object.__getattribute__(self, name)
|
|
322
|
+
except AttributeError:
|
|
323
|
+
pass
|
|
324
|
+
raise AttributeError(f"{type(self).__name__!r} object has no attribute {name!r}")
|
|
325
|
+
|
|
326
|
+
def __setattr__(self, name: str, value: Any) -> None:
|
|
327
|
+
_build(self)
|
|
328
|
+
object.__setattr__(self, name, value)
|
|
329
|
+
|
|
330
|
+
def __reduce__(self) -> Tuple[Any, Tuple[Any, ...]]:
|
|
331
|
+
pending = self.__dict__.get(_PENDING)
|
|
332
|
+
if pending is None:
|
|
333
|
+
_build(self)
|
|
334
|
+
return type(self).__reduce__(self)
|
|
335
|
+
return (restore_shape, (_real_class(type(self)).__name__, *pending))
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
def _real_class(cls: type) -> type:
|
|
339
|
+
return cls.__mro__[2] if _PendingShape in cls.__mro__ else cls
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
def _lazy_class(wrapper_type: type) -> type:
|
|
343
|
+
lazy = _lazy_classes.get(wrapper_type)
|
|
344
|
+
if lazy is None:
|
|
345
|
+
# Same name as the real class, so a repr or a ``type(x).__name__``
|
|
346
|
+
# does not tell the two apart.
|
|
347
|
+
lazy = _lazy_classes[wrapper_type] = type(
|
|
348
|
+
wrapper_type.__name__, (_PendingShape, wrapper_type), {"__module__": wrapper_type.__module__}
|
|
349
|
+
)
|
|
350
|
+
return lazy
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
def is_pending(wrapper: "AnyShape") -> bool:
|
|
354
|
+
"""Whether *wrapper* was restored and nothing has used it yet."""
|
|
355
|
+
|
|
356
|
+
return _PENDING in wrapper.__dict__
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
def _build(wrapper: Any) -> None:
|
|
360
|
+
"""Build a pending shape; a no-op for one already built (or being built
|
|
361
|
+
by this thread: its own constructor reads its attributes)."""
|
|
362
|
+
|
|
363
|
+
if _PENDING not in wrapper.__dict__:
|
|
364
|
+
return
|
|
365
|
+
with _build_lock:
|
|
366
|
+
pending = wrapper.__dict__.get(_PENDING)
|
|
367
|
+
building = _building.__dict__.setdefault("ids", set())
|
|
368
|
+
if pending is None or id(wrapper) in building:
|
|
369
|
+
return
|
|
370
|
+
building.add(id(wrapper))
|
|
371
|
+
try:
|
|
372
|
+
payload, states = pending
|
|
373
|
+
payload = _unpack(payload)
|
|
374
|
+
real = _real_class(type(wrapper))
|
|
375
|
+
real.__init__(wrapper, _read_shape(payload))
|
|
376
|
+
remember_source_bytes(wrapper, payload)
|
|
377
|
+
_apply_states(wrapper, states)
|
|
378
|
+
del wrapper.__dict__[_PENDING]
|
|
379
|
+
wrapper.__class__ = real
|
|
380
|
+
finally:
|
|
381
|
+
building.discard(id(wrapper))
|
|
382
|
+
|
|
383
|
+
|
|
241
384
|
def restore_shape(
|
|
242
385
|
class_name: str, payload: bytes, states: Tuple[_EntityState, ...]
|
|
243
386
|
) -> "AnyShape":
|
|
244
|
-
"""Unpickle target:
|
|
387
|
+
"""Unpickle target: a shape that is built when it is first used.
|
|
388
|
+
|
|
389
|
+
Most values a cell cache restores are never read by the cells that run
|
|
390
|
+
(they are only there so that the cell counts as done), and building one
|
|
391
|
+
(decoding the kernel shape, the wrapper tree, the saved state) is most of
|
|
392
|
+
the time restoring costs.
|
|
393
|
+
"""
|
|
245
394
|
|
|
246
395
|
from .. import core
|
|
247
396
|
|
|
248
397
|
wrapper_type = getattr(core, class_name)
|
|
249
|
-
wrapper = wrapper_type(
|
|
250
|
-
|
|
251
|
-
_apply_states(wrapper, states)
|
|
398
|
+
wrapper = wrapper_type.__new__(_lazy_class(wrapper_type))
|
|
399
|
+
object.__setattr__(wrapper, "__dict__", {_PENDING: (payload, states)})
|
|
252
400
|
return wrapper
|
|
253
401
|
|
|
254
402
|
|
|
255
|
-
__all__ = ["reduce_shape", "remember_source_bytes", "restore_shape", "source_bytes"]
|
|
403
|
+
__all__ = ["is_pending", "reduce_shape", "remember_source_bytes", "restore_shape", "source_bytes"]
|
|
@@ -5,6 +5,9 @@ Supported syntax — deliberately a small, documented subset:
|
|
|
5
5
|
* versions are dot-separated numeric components with optional
|
|
6
6
|
pre-release suffixes (``2.1.2``, ``2.0.4b2``); a suffix sorts before
|
|
7
7
|
the same numeric component without one (``2.0.4b2 < 2.0.4``);
|
|
8
|
+
* a trailing ``.postN`` component is a post-release (PEP 440): it sorts
|
|
9
|
+
after the release it follows and before the next one
|
|
10
|
+
(``2.2.6 < 2.2.6.post1 < 2.2.6.post2 < 2.2.7``);
|
|
8
11
|
* ranges are comma-separated clauses with the operators
|
|
9
12
|
``== != >= <= > <``; a bare version means exact equality;
|
|
10
13
|
* clauses must be jointly satisfiable (``>=2.1,<2.0`` is rejected).
|
|
@@ -21,6 +24,7 @@ from . import AddonError
|
|
|
21
24
|
|
|
22
25
|
_CLAUSE_RE = re.compile(r"^(==|!=|>=|<=|>|<)?\s*([0-9][0-9A-Za-z.]*)$")
|
|
23
26
|
_COMPONENT_RE = re.compile(r"^([0-9]+)([a-zA-Z][0-9A-Za-z]*)?$")
|
|
27
|
+
_POST_RE = re.compile(r"^post([0-9]+)$")
|
|
24
28
|
|
|
25
29
|
|
|
26
30
|
class VersionSpecError(AddonError):
|
|
@@ -34,6 +38,12 @@ def version_key(text: str) -> tuple[tuple[int, int, str], ...]:
|
|
|
34
38
|
raise VersionSpecError("empty version literal")
|
|
35
39
|
components: list[tuple[int, int, str]] = []
|
|
36
40
|
for part in stripped.split("."):
|
|
41
|
+
post = _POST_RE.match(part)
|
|
42
|
+
if post is not None and components:
|
|
43
|
+
# after the release it follows (a missing component pads as (0, 1, "")),
|
|
44
|
+
# and in order among post-releases
|
|
45
|
+
components.append((int(post.group(1)), 2, ""))
|
|
46
|
+
continue
|
|
37
47
|
match = _COMPONENT_RE.match(part)
|
|
38
48
|
if match is None:
|
|
39
49
|
raise VersionSpecError(
|
|
@@ -12,6 +12,7 @@ Groups, each owned by its module and registered here at parser level so
|
|
|
12
12
|
sca edit [WORKSPACE] # the web editor (needs the 'editor' extra)
|
|
13
13
|
sca example [NAME] [DIR] # copy a bundled example workspace out
|
|
14
14
|
sca snapshot [WORKSPACE] # what the editor user has selected / sees
|
|
15
|
+
sca viewport [WORKSPACE] # the image of what the editor user sees
|
|
15
16
|
|
|
16
17
|
Shared contract: group handlers return ``(report, exit_code)`` and are
|
|
17
18
|
followed by the group's own printer (human-readable for init/addon, JSON
|
|
@@ -940,9 +940,28 @@ class TopoMixein:
|
|
|
940
940
|
if child not in self.children:
|
|
941
941
|
self.children.append(child)
|
|
942
942
|
child.set_parent(self.self_shape_ref)
|
|
943
|
-
if isinstance(child, TaggedMixin):
|
|
943
|
+
if isinstance(child, TaggedMixin) and self._may_pass_tags_down():
|
|
944
944
|
child._refresh_tag_cache(recursive=True)
|
|
945
945
|
|
|
946
|
+
def _may_pass_tags_down(self) -> bool:
|
|
947
|
+
"""Whether a new child of this entity can inherit any tag from it.
|
|
948
|
+
|
|
949
|
+
A child's effective tags are its own plus what its ancestors pass
|
|
950
|
+
down; an entity that holds no downward binding, and has no ancestor
|
|
951
|
+
that does, adds nothing, and the child's tag cache stays right. A
|
|
952
|
+
shape being built (or restored) has no ancestors yet, so this spares
|
|
953
|
+
refreshing the whole subtree for every child added.
|
|
954
|
+
"""
|
|
955
|
+
|
|
956
|
+
if not isinstance(self, TaggedMixin):
|
|
957
|
+
return True
|
|
958
|
+
if any(
|
|
959
|
+
binding.propagation.topology == TopologyPropagation.DOWNWARD
|
|
960
|
+
for binding in self._local_tag_bindings()
|
|
961
|
+
):
|
|
962
|
+
return True
|
|
963
|
+
return bool(self._inherited_tag_bindings_with_paths())
|
|
964
|
+
|
|
946
965
|
def get_children(self) -> List["AnyShape"]:
|
|
947
966
|
return self.children
|
|
948
967
|
|