simplecadapi 2.1.1__tar.gz → 2.1.3b1__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.1.1 → simplecadapi-2.1.3b1}/PKG-INFO +15 -12
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/README.md +14 -11
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/SKILL.md +10 -3
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/README.md +4 -1
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/discipline/feature-tree-convention.md +40 -1
- simplecadapi-2.1.3b1/docs/skill/references/domains/addon-development.md +175 -0
- simplecadapi-2.1.3b1/docs/skill/references/scadpkg-format.md +152 -0
- simplecadapi-2.1.3b1/docs/updates/2.1.2.md +54 -0
- simplecadapi-2.1.3b1/docs/updates/2.1.2.zh-CN.md +47 -0
- simplecadapi-2.1.3b1/docs/updates/2.1.3b1.md +84 -0
- simplecadapi-2.1.3b1/docs/updates/2.1.3b1.zh-CN.md +66 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/pyproject.toml +2 -1
- simplecadapi-2.1.3b1/src/simplecadapi/addon/__init__.py +27 -0
- simplecadapi-2.1.3b1/src/simplecadapi/addon/_toml.py +34 -0
- simplecadapi-2.1.3b1/src/simplecadapi/addon/cli.py +187 -0
- simplecadapi-2.1.3b1/src/simplecadapi/addon/descriptor.py +235 -0
- simplecadapi-2.1.3b1/src/simplecadapi/addon/home.py +166 -0
- simplecadapi-2.1.3b1/src/simplecadapi/addon/install.py +581 -0
- simplecadapi-2.1.3b1/src/simplecadapi/addon/platforms.py +54 -0
- simplecadapi-2.1.3b1/src/simplecadapi/addon/registry.py +99 -0
- simplecadapi-2.1.3b1/src/simplecadapi/addon/versions.py +177 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/build/keys.py +8 -9
- simplecadapi-2.1.1/src/simplecadapi/contracts/product-package-2.schema.json +0 -54
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/.gitignore +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/LICENSE +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/MANIFEST.in +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/LICENSE.txt +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/SDK_OVERVIEW.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/discipline/assembly-positioning.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/discipline/datums-and-coordinate-systems.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/discipline/failure-and-repair.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/discipline/feature-ordering.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/discipline/geometric-validation.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/discipline/manufacturing-boundaries.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/discipline/mechanical-modeling.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/discipline/requirement-and-cad-brief.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Assembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/AssemblyBuildResult.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/AssemblySolveReport.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/BRepComparison.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/BRepEntityError.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/BRepInspection.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/BRepModel.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/BSplineFitResult.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/CacheEntry.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/CacheLockTimeout.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/CacheMode.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/CachePolicy.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/CacheRecord.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/CacheReport.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/CacheStats.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/CaptureResult.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/CenterDecl.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Component.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ComponentSolveResult.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Connector.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ConnectorAnchor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ConnectorRef.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Const.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Constraint.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ConstraintReport.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ConstraintResidual.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ContentAddressedStore.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/DatumDecl.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/DimDecl.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Dimension.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/DimensionTolerance.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/EntityInspectionParity.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/EvaluationConfig.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Expr.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ExpressionGraph.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/FileInput.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/FreeCADTranslator.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Fusion360Translator.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/GeometryRef.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/GraphSession.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/InspectionSummaryComparison.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/LeaderDecl.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Material.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Part.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/PartBuildResult.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Placement.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ProductMJCFExportReport.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ProductOBJExportReport.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ProductPackage.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ProductPackageError.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ProductSTEPExportReport.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ProductSTLExportReport.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/PublicConnectorRef.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/README.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Resolved.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ScalarLimit.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SectionEvaluationConfig.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SemanticDelta.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SemanticRef.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SheetDecl.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SheetPlan.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SimpleCADError.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Sketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SketchConstraint.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SketchConstraintDiagnostic.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SketchRef.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SketchSolveResult.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SliceSpec.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SolidWorksTranslator.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SurfaceBoundary.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/SurfaceFillingSettings.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ToleranceAnalysis.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ToleranceAnalysisError.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ToleranceCheck.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ToleranceContribution.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ToleranceGraph.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ToleranceReport.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ToleranceRequirement.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ToleranceValidationError.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Unit.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/UnitValidationError.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/Var.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ViewDecl.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_arc_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_belt_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_bspline_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_circle_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_component_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_connector_rpart.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_ellipse_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_fixed_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_gear_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_line_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_point_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_prismatic_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_rack_pinion_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/add_revolute_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/analyze_tolerance.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/and_.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/apply_tag.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/apply_tag_rselection.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/assemble.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/assign_material_rpart.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/canonical_unit_for_dimension.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/capture.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/chamfer_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/check_tolerance.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/classify_benchmark_result.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/clear_step_model_cache_rnone.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_boundary_distance_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_entities_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_global_properties_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_inspections_rinspectionsummarycomparison.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_material_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_material_region_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_model_to_inspection_rentityinspectionparity.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_sections_batch_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_sections_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_shape_slices_rslicecomparison.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_shapes_rbrepcomparison.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_step_slices_rslicecomparison.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_step_to_inspection_rentityinspectionparity.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/compare_steps_rbrepcomparison.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/const_function.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_angle_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_coincident_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_collinear_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_concentric_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_connect_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_diameter_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_distance_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_distance_x_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_distance_y_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_equal_length_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_equal_radius_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_fix_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_horizontal_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_length_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_line_distance_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_major_radius_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_midpoint_points_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_midpoint_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_minor_radius_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_mirror_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_normal_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_parallel_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_perpendicular_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_point_on_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_points_horizontal_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_points_vertical_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_radius_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_symmetric_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_tangent_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/constrain_vertical_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/convert_value.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/copy_step_region_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/cut_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/evaluate_reconstruction_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/explain_tag.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/export_graph_json.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/export_model_json.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/export_product_package_to_mjcf.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/export_product_package_to_obj.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/export_product_package_to_step.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/export_product_package_to_stl.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/export_session_json.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/expression_uses_units.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/extrude_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/file_input.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/fill_holes_rshell.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/fillet_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/fit_cubic_bspline_control_points.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/fit_face_analytic_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/fit_point_grid_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/free_boundaries_rwirelist.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/geo.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/get_active_session.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/get_sketch_entity_rsketchref.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/get_sketch_point_rsketchref.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/get_unit.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/ground_component_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/helical_sweep_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/identity_placement_rplacement.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/import_graph_json.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/import_model_json.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/import_session_json.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/index_shape_rbrepmodel.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/infer_dimension.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_assembly_constraints_rconstraintreport.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_benchmark_step.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_difference_regions_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_face_boundaries_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_manufacturing_hints_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_nearby_entities_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_point_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_section_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_shape_rbrepinspection.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_sketch_rsketchresult.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_step_components_rdescriptorlist.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_step_entity_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_step_rbrepinspection.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_step_rsummary.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_topology_neighborhood_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/inspect_topology_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/intersect_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/linear_pattern_rsolidlist.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/list_tags.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/load_brep_region_rshell.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/load_brep_region_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/load_step_rbrepmodel.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/load_step_rshape.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/loft_rshell.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/loft_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_2d_cut_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_2d_intersect_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_2d_union_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_angle_arc_redge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_angle_arc_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_assembly_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_bezier_surface_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_box_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_center_slice_specs_rslicespeclist.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_circle_redge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_circle_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_circle_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_compound_from_assembly_rcompound.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_cone_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_connector_ref_rconnectorref.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_cylinder_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_cylindrical_surface_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_edge_connector_rconnector.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_ellipse_redge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_ellipse_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_ellipse_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_face_connector_rconnector.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_face_from_sketch_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_face_from_wire_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_face_from_wires_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_gordon_surface_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_helix_redge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_helix_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_interpolated_spline_redge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_interpolated_spline_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_line_redge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_material_rmaterial.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_part_rpart.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_periodic_spline_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_placement_connector_rconnector.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_placement_rplacement.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_point_rvertex.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_polyline_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_rectangle_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_rectangle_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_ruled_surface_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_scalar_limit_rscalarlimit.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_segment_redge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_segment_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_sketch_rsketch.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_solid_from_shell_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_sphere_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_spline_redge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_spline_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_surface_patch_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_three_point_arc_redge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_three_point_arc_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_vertex_connector_rconnector.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_wire_from_edges_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/make_wire_from_sketch_rwire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/measure_constraint_residual_rconstraintresidual.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/measure_entity_relation_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/measure_shape_mass_rtuple.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/meta.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/mirror_shape.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/not_.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/operation_event.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/or_.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/origin_role.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/output_role.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/part_function.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/place_component_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/radial_pattern_rsolidlist.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_entity_kind_maps_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_entity_map_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_manufacturing_hints_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_plan.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_region_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_screenshot_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_shape_views_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_step_comparison_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_step_components_colored_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_step_components_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/render_step_views_rpath.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/replay_graph.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/replay_model_json.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/resolve_cache_policy.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/revolve_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/rotate_shape.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/run_comparison_bundle.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/select.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/select_edges_by_tag.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/select_faces_by_tag.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/select_region_entities_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/set_public_connector_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/sew_faces_rshell.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/shell_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/shells.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/solve_assembly_constraints_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/source_binding.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/source_topology.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/suspend_graph_recording.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/sweep_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/tag.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/track_section_contours_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/translate_product_package_to_fcstd.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/translate_product_package_to_freecad_script.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/translate_product_package_to_fusion360_script.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/translate_product_package_to_solidworks_script.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/translate_shape.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/trim_surface_rface.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/twisted_sweep_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/unground_component_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/union_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/validate_step_roundtrip_rdescriptor.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/value.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/api/var_function.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/README.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/compound.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/coordinate_system.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/declarative_constraints.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/dimension-tolerance-chains.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/edge.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/face.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/operation_graph_json_spec.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/part_assembly_development_plan.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/physical-units.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/rearchitecture_2_0.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/rearchitecture_2_0_requirements.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/serialization/README.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/serialization/expressions-and-replay.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/serialization/features-booleans-transforms.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/serialization/primitives-and-profiles.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/serialization/scalar-fields.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/shell.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/simple_workplane.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/solid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/tagged_mixin.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/vertex.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/core/wire.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/guides/README.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/guides/cache-build-workflow.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/guides/reconstruction-agent-strategy.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/guides/reconstruction-agent-test-prompt.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/README.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/build_ball_bearing.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_ball_bearing_rassembly.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_cycloidal_disc_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_helical_gear_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_helical_rack_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_helical_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_herringbone_gear_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_herringbone_rack_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_herringbone_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_spur_gear_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_spur_rack_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_spur_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/docs/stdlib/make_straight_bevel_gear_rsolid.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/domains/assembly-and-product.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/domains/engineering-drawing.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/domains/export-and-translation.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/domains/part-modeling.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/domains/requirement-refinement.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/domains/sketch-and-features.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/domains/standard-parts.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/domains/step-inspection.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/inspect/brep-reverse-engineering.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/ql-playbook.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/workflows/assembly-product-build.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/workflows/engineering-drawing.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/workflows/export-and-translation.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/workflows/reverse-engineering-studio.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/workflows/single-part-modeling.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/skill/references/workflows/step-reconstruction.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.0.2.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.0.2.zh-CN.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.0.4b1.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.0.4b1.zh-CN.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.0.4b2.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.0.4b2.zh-CN.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.0.4b3.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.0.4b3.zh-CN.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.1.0.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.1.0.zh-CN.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.1.1.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/2.1.1.zh-CN.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/docs/updates/step-reverse-migration.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/_internal/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/_internal/brep_region.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/_internal/canonical_json.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/_internal/mesh.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/_internal/semantic.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/_internal/vendor_warning_filters.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/assembly_definition.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/assembly_io.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/brep.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/canonical.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/feature_graph.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/geometry_interface.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/interface.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/part_definition.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/part_io.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/references.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/topology_snapshot.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/artifacts/validation.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/build/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/build/assembly_builder.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/build/assembly_state.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/build/dependencies.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/build/dependency_graph.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/build/incremental_solver.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/build/part_builder.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/build/results.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/cache/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/cache/cli.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/cache/policy.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/cache/records.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/cache/store.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/contracts/assembly-definition-2.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/contracts/feature-graph-1.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/contracts/part-definition-2.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/contracts/product-package-3.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/core.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/dxf_engine/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/dxf_engine/agent.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/dxf_engine/hlr.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/dxf_engine/model.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/dxf_engine/planner.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/dxf_engine/render.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/errors.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/exporter/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/exporter/_surface_mesh.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/exporter/cli.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/exporter/mjcf.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/exporter/obj.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/exporter/step.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/exporter/stl.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/compare.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/diagnostic_state.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/diagnostics.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/fitting.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/inspect.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/io.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/manufacturing.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/model.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/parity.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/persistence.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/queries.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/render.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/render_worker.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/section_tracking.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/slices.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/snapshots.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inspect/brep/topology_inspection.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inverse_engineer/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inverse_engineer/brep/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inverse_engineer/brep/evaluation.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/inverse_engineer/brep/worker.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_booleans.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_brep_snapshot.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_builders.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_cast.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_curves.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_export.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_features.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_mesh.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_properties.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_surfaces.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_topology.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/kernel/ocp_transforms.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/math.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/operators/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/operators/_support.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/operators/boolean.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/operators/features.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/operators/geometry.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/operators/product.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/operators/selection.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/operators/sketch.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/operators/transform.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/params/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/params/expr.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/params/frame.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/params/tolerance.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/params/units.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/assembly.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/capture.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/connector.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/constraint.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/material.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/occurrence.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/packages.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/part.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/placement.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/product/solver.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/py.typed +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/ql.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/recording/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/recording/graph.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/recording/serializer.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/recording/source_mapping.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/archive.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/canonical.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/compiler.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/profiles/ocp-evaluated-properties-1.profile.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/profiles/scene-1.0-ocp-glb-2.profile.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/pseudocode/ocp-evaluated-properties-1.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/pseudocode/scene-1.0-ocp-glb-2.md +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/rules/scene-1.0-rules.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/connector-binding-1.0.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/entities-1.0.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/evaluated-properties-profile-1.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/normalized-product-1.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/presentation-1.0.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/profile-1.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/render-profile-2.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/rules-1.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/scene-1.0.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/contracts/schemas/scene-2.0.schema.json +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/documents.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/generated/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/generated/connector_binding.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/generated/entities.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/generated/normalized_product.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/generated/presentation.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/generated/scene.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/glb.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/glb_writer.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/product_scene.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/render_mesh.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/resources.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/transforms.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/scene/validation.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/sketch.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/sketch_solver/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/sketch_solver/backend.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/sketch_solver/py_slvs_backend.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/std/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/std/bearing.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/std/chain.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/std/fastener.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/std/gear.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/surface.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/topology/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/topology/autotag.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/topology/model.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/topology/tagging.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/topology/tracking.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/base.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/errors.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/analysis.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/api.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/capabilities.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/codegen.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/context.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/booleans.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/features.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/geometry.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/primitives.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/products.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/registry.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/selections.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/sketches.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/surfaces.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/emitters/transforms.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/exporter.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/assemblies.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/curves.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/expressions.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/geometry.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/metadata.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/occurrences.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/persistence.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/products.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/selections.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/sketches.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/runtime/surfaces.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/semantic.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/freecad_translator/translator.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/fusion360_translator/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/fusion360_translator/api.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/fusion360_translator/capabilities.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/fusion360_translator/compiler.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/fusion360_translator/translator.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/package_units.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/product_graph.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/solidworks_translator/__init__.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/solidworks_translator/api.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/solidworks_translator/capabilities.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/solidworks_translator/compiler.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/solidworks_translator/translator.py +0 -0
- {simplecadapi-2.1.1 → simplecadapi-2.1.3b1}/src/simplecadapi/translator/types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplecadapi
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.3b1
|
|
4
4
|
Summary: A simplified OCP-native CAD modeling Python API
|
|
5
5
|
Project-URL: Homepage, https://github.com/NiJingzhe/SimpleCADAPI
|
|
6
6
|
Project-URL: Repository, https://github.com/NiJingzhe/SimpleCADAPI
|
|
@@ -388,18 +388,19 @@ the full crank cycle sweeps clean in the same sim ·
|
|
|
388
388
|
|
|
389
389
|
---
|
|
390
390
|
|
|
391
|
-
## Update Notes (2.1.
|
|
391
|
+
## Update Notes (2.1.3b1)
|
|
392
392
|
|
|
393
|
-
> **Release notice:** Validate generated definitions,
|
|
394
|
-
> manufacturing geometry before production use.
|
|
393
|
+
> **Release notice:** Pre-release (beta). Validate generated definitions,
|
|
394
|
+
> assembly constraints, and manufacturing geometry before production use.
|
|
395
395
|
|
|
396
|
-
SimpleCADAPI 2.1.
|
|
397
|
-
|
|
398
|
-
`
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
396
|
+
SimpleCADAPI 2.1.3b1 ships the addon ecosystem: a `sca` CLI that installs
|
|
397
|
+
third-party skill+tooling repositories (`sca addon init/add/update/remove/list`),
|
|
398
|
+
a strict `sca-addon.toml` descriptor with platform and `[compat] sca` gates, and
|
|
399
|
+
a consumer-facing `.scadpkg` format spec written so an agent given the document
|
|
400
|
+
alone can produce a correct parser or exporter. See the
|
|
401
|
+
[full English update notes](docs/updates/2.1.3b1.md) for the CLI contract, the
|
|
402
|
+
two legal integration modes, and the tag channel; 2.1.2's script-anchored part
|
|
403
|
+
cache is described in [docs/updates/2.1.2.md](docs/updates/2.1.2.md).
|
|
403
404
|
|
|
404
405
|
All formal single-script examples emit a synchronized `.scadpkg`, AP242
|
|
405
406
|
`.step`, and editable `.FCStd` from the same product package. The
|
|
@@ -424,7 +425,7 @@ in a compact public API for creating solids, applying features, tagging semantic
|
|
|
424
425
|
intent, querying topology, exporting manufacturing files, and translating recorded
|
|
425
426
|
models into FreeCAD workflows.
|
|
426
427
|
|
|
427
|
-
Current release: `simplecadapi==2.1.
|
|
428
|
+
Current release: `simplecadapi==2.1.3b1`.
|
|
428
429
|
|
|
429
430
|
## What It Provides
|
|
430
431
|
|
|
@@ -785,6 +786,8 @@ against a target STEP (see `examples/bowl_connector/`).
|
|
|
785
786
|
|
|
786
787
|
## Documentation
|
|
787
788
|
|
|
789
|
+
- 2.1.3b1 update notes: [`docs/updates/2.1.3b1.md`](docs/updates/2.1.3b1.md)
|
|
790
|
+
- 2.1.2 update notes: [`docs/updates/2.1.2.md`](docs/updates/2.1.2.md)
|
|
788
791
|
- 2.1.1 update notes: [`docs/updates/2.1.1.md`](docs/updates/2.1.1.md)
|
|
789
792
|
- 2.1.0 update notes: [`docs/updates/2.1.0.md`](docs/updates/2.1.0.md)
|
|
790
793
|
- Reconstruction Agent test specification:
|
|
@@ -134,18 +134,19 @@ the full crank cycle sweeps clean in the same sim ·
|
|
|
134
134
|
|
|
135
135
|
---
|
|
136
136
|
|
|
137
|
-
## Update Notes (2.1.
|
|
137
|
+
## Update Notes (2.1.3b1)
|
|
138
138
|
|
|
139
|
-
> **Release notice:** Validate generated definitions,
|
|
140
|
-
> manufacturing geometry before production use.
|
|
139
|
+
> **Release notice:** Pre-release (beta). Validate generated definitions,
|
|
140
|
+
> assembly constraints, and manufacturing geometry before production use.
|
|
141
141
|
|
|
142
|
-
SimpleCADAPI 2.1.
|
|
143
|
-
|
|
144
|
-
`
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
142
|
+
SimpleCADAPI 2.1.3b1 ships the addon ecosystem: a `sca` CLI that installs
|
|
143
|
+
third-party skill+tooling repositories (`sca addon init/add/update/remove/list`),
|
|
144
|
+
a strict `sca-addon.toml` descriptor with platform and `[compat] sca` gates, and
|
|
145
|
+
a consumer-facing `.scadpkg` format spec written so an agent given the document
|
|
146
|
+
alone can produce a correct parser or exporter. See the
|
|
147
|
+
[full English update notes](docs/updates/2.1.3b1.md) for the CLI contract, the
|
|
148
|
+
two legal integration modes, and the tag channel; 2.1.2's script-anchored part
|
|
149
|
+
cache is described in [docs/updates/2.1.2.md](docs/updates/2.1.2.md).
|
|
149
150
|
|
|
150
151
|
All formal single-script examples emit a synchronized `.scadpkg`, AP242
|
|
151
152
|
`.step`, and editable `.FCStd` from the same product package. The
|
|
@@ -170,7 +171,7 @@ in a compact public API for creating solids, applying features, tagging semantic
|
|
|
170
171
|
intent, querying topology, exporting manufacturing files, and translating recorded
|
|
171
172
|
models into FreeCAD workflows.
|
|
172
173
|
|
|
173
|
-
Current release: `simplecadapi==2.1.
|
|
174
|
+
Current release: `simplecadapi==2.1.3b1`.
|
|
174
175
|
|
|
175
176
|
## What It Provides
|
|
176
177
|
|
|
@@ -531,6 +532,8 @@ against a target STEP (see `examples/bowl_connector/`).
|
|
|
531
532
|
|
|
532
533
|
## Documentation
|
|
533
534
|
|
|
535
|
+
- 2.1.3b1 update notes: [`docs/updates/2.1.3b1.md`](docs/updates/2.1.3b1.md)
|
|
536
|
+
- 2.1.2 update notes: [`docs/updates/2.1.2.md`](docs/updates/2.1.2.md)
|
|
534
537
|
- 2.1.1 update notes: [`docs/updates/2.1.1.md`](docs/updates/2.1.1.md)
|
|
535
538
|
- 2.1.0 update notes: [`docs/updates/2.1.0.md`](docs/updates/2.1.0.md)
|
|
536
539
|
- Reconstruction Agent test specification:
|
|
@@ -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.1.
|
|
7
|
+
version: 2.1.3b1
|
|
8
8
|
package-name: simplecadapi
|
|
9
|
-
package-version: 2.1.
|
|
9
|
+
package-version: 2.1.3b1
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# SimpleCAD SDK Skill
|
|
@@ -44,6 +44,10 @@ Paths are relative to this file's directory.
|
|
|
44
44
|
- Questions about an existing STEP file that change nothing enter no
|
|
45
45
|
workflow; you MUST use `references/domains/step-inspection.md` for them
|
|
46
46
|
directly.
|
|
47
|
+
- Creating, installing, updating, or removing a SimpleCADAPI addon (a
|
|
48
|
+
third-party skill+tooling package around `.scadpkg`) enters no
|
|
49
|
+
workflow; you MUST use `references/domains/addon-development.md`
|
|
50
|
+
directly.
|
|
47
51
|
|
|
48
52
|
## Task routing
|
|
49
53
|
|
|
@@ -175,12 +179,15 @@ print(len(rebuilt))
|
|
|
175
179
|
|
|
176
180
|
- `references/README.md` — skill layer structure
|
|
177
181
|
- `references/workflows/` — six goal-oriented workflows
|
|
178
|
-
- `references/domains/` —
|
|
182
|
+
- `references/domains/` — nine capability domains
|
|
179
183
|
- `references/discipline/` — modeling knowledge and invariants
|
|
180
184
|
- `references/SDK_OVERVIEW.md` — package-level map
|
|
181
185
|
- `references/inspect/brep-reverse-engineering.md`
|
|
186
|
+
- `references/domains/addon-development.md` — `sca` addon CLI and authoring guide
|
|
182
187
|
- `references/docs/guides/reconstruction-agent-test-prompt.md`
|
|
183
188
|
- `references/docs/guides/reconstruction-agent-strategy.md`
|
|
184
189
|
- `references/docs/guides/cache-build-workflow.md`
|
|
185
190
|
- `references/ql-playbook.md`
|
|
191
|
+
- `references/scadpkg-format.md` — `.scadpkg` consumer spec: member
|
|
192
|
+
layout, tag channel, minimal readers (addon exporters read this)
|
|
186
193
|
- `references/docs/api/`, `references/docs/stdlib/`, `references/docs/core/`
|
|
@@ -34,12 +34,15 @@ whole API index up front.
|
|
|
34
34
|
| `standard-parts` | stdlib gears, ring gears, racks, cycloidal discs, bearings |
|
|
35
35
|
| `step-inspection` | STEP/BREP evidence, comparison, reconstruction evaluation |
|
|
36
36
|
| `export-and-translation` | STEP/STL/OBJ/MJCF export, FreeCAD/Fusion/SolidWorks translation |
|
|
37
|
+
| `addon-development` | third-party addon authoring and management: `sca` CLI, `sca-addon.toml` descriptor, runtime probes, addon SKILL.md requirements |
|
|
37
38
|
|
|
38
39
|
Cross-cutting capabilities — QL grounding, semantic tags, GraphSession replay,
|
|
39
40
|
units/tolerances, incremental validation — are not routing targets; each
|
|
40
41
|
workflow pulls them in as conditions require. Verified QL selection patterns
|
|
41
42
|
for operation outputs (extrude-family slots, boolean seam curves, seam
|
|
42
|
-
fillets) live in `ql-playbook.md`.
|
|
43
|
+
fillets) live in `ql-playbook.md`. The `.scadpkg` consumer-facing format
|
|
44
|
+
spec (member layout, `interface.*` tag channel, minimal readers for addon
|
|
45
|
+
exporters) lives in `scadpkg-format.md`.
|
|
43
46
|
|
|
44
47
|
## Workflows
|
|
45
48
|
|
|
@@ -101,6 +101,44 @@ design parameters) stay in the source; geometric verification never does
|
|
|
101
101
|
— it lives in the external verification scripts per
|
|
102
102
|
`geometric-validation.md`.
|
|
103
103
|
|
|
104
|
+
## The `@scad.part` decorator and its cache
|
|
105
|
+
|
|
106
|
+
`@scad.part` accepts keyword parameters only; emitted corpus sources state
|
|
107
|
+
them explicitly so the meaning is legible from the source itself:
|
|
108
|
+
|
|
109
|
+
- `id` — logical part identity (defaults to the function name); part of the
|
|
110
|
+
cache key.
|
|
111
|
+
- `revision` — `'1.0.0'` by default; bump it to force rebuilds; part of the
|
|
112
|
+
cache key.
|
|
113
|
+
- `inputs` — sequence of `file_input()` declarations; the referenced files'
|
|
114
|
+
content snapshots enter the cache key.
|
|
115
|
+
- `cache` — cache policy: `"auto"` (read/write), `"off"`, `"read_only"`,
|
|
116
|
+
`"read_write"`, `"refresh"`, or a policy dict / `CachePolicy`.
|
|
117
|
+
- `project_root` — anchor for the part cache, file inputs, and project
|
|
118
|
+
config. Default: the directory containing the builder's source file —
|
|
119
|
+
a script is its own project, runs from anywhere, and its cache lands
|
|
120
|
+
beside it. Pass it explicitly only to anchor at a larger project
|
|
121
|
+
(project-level cache or `[tool.simplecadapi.cache]` config).
|
|
122
|
+
- `tolerance_profile` — kernel tolerance fingerprint (default
|
|
123
|
+
`'simplecad-default'`); part of the cache key.
|
|
124
|
+
|
|
125
|
+
**Where the cache lands.** The cache root is `<anchor>/.simplecad/cache`
|
|
126
|
+
(`records/`, `objects/`, `locks/`, `quarantine/`); part interface state
|
|
127
|
+
lives beside it at `<anchor>/.simplecad/state/latest-parts.json` and
|
|
128
|
+
follows the cache root. Overrides resolve as decorator `cache=` >
|
|
129
|
+
environment (`SIMPLECAD_CACHE_DIR`, `SIMPLECAD_CACHE_MODE`, …) >
|
|
130
|
+
`[tool.simplecadapi.cache]` in the `pyproject.toml` at the anchor >
|
|
131
|
+
defaults. The cache key covers `id`, `revision`, `tolerance_profile`,
|
|
132
|
+
normalized call arguments, the whole-file source fingerprint, file-input
|
|
133
|
+
snapshots, and the generator profile (SDK/OCC versions) — any source edit
|
|
134
|
+
invalidates.
|
|
135
|
+
|
|
136
|
+
**Delivered sources state the anchor explicitly.** A translator-emitted
|
|
137
|
+
or standalone `.ftc.py` passes `project_root=Path(__file__).parent`
|
|
138
|
+
explicitly so the cache location is legible from the source itself —
|
|
139
|
+
even though it matches the default, the corpus states it rather than
|
|
140
|
+
relying on implicit resolution.
|
|
141
|
+
|
|
104
142
|
## Reference shape of a compliant source
|
|
105
143
|
|
|
106
144
|
```python
|
|
@@ -111,7 +149,8 @@ PLATE_T = scad.var("plate_t", 6.0, unit="mm")
|
|
|
111
149
|
def _pocket_tools(p):
|
|
112
150
|
... # block-local, geometry tier when tools are pure primitives
|
|
113
151
|
|
|
114
|
-
@scad.part(id="motor-mount", revision="1.0.0",
|
|
152
|
+
@scad.part(id="motor-mount", revision="1.0.0",
|
|
153
|
+
project_root=Path(__file__).parent)
|
|
115
154
|
def build_motor_mount() -> scad.Part:
|
|
116
155
|
# ---- feature: base-plate (build, profile=sketch) ----
|
|
117
156
|
s = scad.make_sketch_rsketch(name="base", plane="XY")
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# Task Domain: Addon Development
|
|
2
|
+
|
|
3
|
+
Author, install, and manage SimpleCADAPI addons: third-party packages that
|
|
4
|
+
add non-modeling capabilities — simulation, analysis, downstream tooling —
|
|
5
|
+
by consuming `.scadpkg` product packages.
|
|
6
|
+
|
|
7
|
+
## Use when
|
|
8
|
+
|
|
9
|
+
- Creating or publishing an addon (a repository with `sca-addon.toml` and
|
|
10
|
+
a skill directory).
|
|
11
|
+
- Installing, updating, or removing an addon with the `sca` CLI.
|
|
12
|
+
- Deciding whether a capability belongs in an addon or in the SDK.
|
|
13
|
+
|
|
14
|
+
## Boundary: addon vs SDK contribution
|
|
15
|
+
|
|
16
|
+
| Capability | Belongs in |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| Geometry modeling, domain modeling operations, anything that must build BRep inside a session | SimpleCADAPI core (optionally as an extra, e.g. `simplecadapi[fem]`) |
|
|
19
|
+
| Verification, analysis, simulation, rendering, export to foreign ecosystems, anything that *consumes* finished geometry | An addon |
|
|
20
|
+
|
|
21
|
+
An addon has two legal integration modes with the SDK.
|
|
22
|
+
|
|
23
|
+
**Recommended default — process boundary.** The addon consumes
|
|
24
|
+
`.scadpkg` files (members, tags channel, occurrence graph, scene
|
|
25
|
+
projection; units are millimeters) and whatever host tooling it needs,
|
|
26
|
+
in any language. Dependency conflicts are structurally impossible and
|
|
27
|
+
non-Python addons are first-class.
|
|
28
|
+
|
|
29
|
+
**Allowed — in-process SDK use.** A Python addon may install
|
|
30
|
+
`simplecadapi` inside its own environment and import it: the builtin
|
|
31
|
+
exporters (STEP/STL/OBJ/MJCF, gmsh meshing) and the package readers
|
|
32
|
+
(`read_product_package`, `load_product_package`) exist for exactly this
|
|
33
|
+
kind of downstream consumer. The descriptor's `[compat] sca` range
|
|
34
|
+
governs which SDK releases that dependency may resolve to — declare
|
|
35
|
+
the SDK as a dependency of the addon environment and keep the range
|
|
36
|
+
honest.
|
|
37
|
+
|
|
38
|
+
What holds in both modes: the addon runs in its own environment and is
|
|
39
|
+
not installed into the environment that models the geometry — mixing
|
|
40
|
+
plugin dependencies into the modeling SDK environment is what the
|
|
41
|
+
separation exists to prevent.
|
|
42
|
+
|
|
43
|
+
## Repository layout
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
<repo root>/
|
|
47
|
+
sca-addon.toml descriptor: machine-checked facts only, no prose
|
|
48
|
+
skill/
|
|
49
|
+
SKILL.md everything an agent reads; installed as sca-<name>
|
|
50
|
+
<supporting assets: scripts, references, templates...>
|
|
51
|
+
<runtime code, binaries, docs — addon-owned>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
One document per audience: the descriptor is read by the `sca` CLI, the
|
|
55
|
+
SKILL.md is read by agents. Never duplicate prose into the descriptor.
|
|
56
|
+
|
|
57
|
+
## Descriptor reference (`sca-addon.toml`)
|
|
58
|
+
|
|
59
|
+
Validation is strict: unknown tables and keys are rejected, every
|
|
60
|
+
failure names the field and file.
|
|
61
|
+
|
|
62
|
+
| Field | Rule |
|
|
63
|
+
| --- | --- |
|
|
64
|
+
| `[addon] name` | lowercase slug `[a-z0-9][a-z0-9-]{0,63}`; becomes the install directory and skill prefix |
|
|
65
|
+
| `[addon] version` | dotted numeric with optional pre-release suffix (e.g. `0.3.1`, `2.0.4b2`) |
|
|
66
|
+
| `[addon] license` | non-empty; must be accurate — addons are redistributed |
|
|
67
|
+
| `[addon] skill_path` | relative POSIX-style directory containing `SKILL.md` |
|
|
68
|
+
| `[compat] sca` | version range, comma-separated clauses with `== != >= <= > <`; a bare version means exact match. Ranges, never pins: SDK releases within a range must not break addons. Pre-release suffixes sort before their release (`2.0.4b2 < 2.0.4`); missing trailing components pad with zero (`2.1` == `2.1.0`) |
|
|
69
|
+
| `[runtime] kind` | `binary` \| `python-env` \| `docker` \| `none` |
|
|
70
|
+
| `[runtime] platforms` | non-empty list, required for `binary`/`python-env`, forbidden for `none`/`docker` |
|
|
71
|
+
| `[runtime] check_cmd` | required for `binary`/`python-env`, optional for `docker`, forbidden for `none` |
|
|
72
|
+
| `[runtime.check_overrides]` | optional per-platform command overrides; keys must be declared platforms |
|
|
73
|
+
|
|
74
|
+
Closed platform enum (additive across spec versions):
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
macos-arm64 | macos-x86_64 | linux-x86_64 | linux-aarch64
|
|
78
|
+
| windows-x86_64 | windows-arm64
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## `check_cmd` contract
|
|
82
|
+
|
|
83
|
+
A runtime probe must be fast but meaningful:
|
|
84
|
+
|
|
85
|
+
1. Exit code `0` means usable; any other exit or a missing command means
|
|
86
|
+
not usable.
|
|
87
|
+
2. Execution shell is pinned by the spec: `sh -c` on Unix, `cmd /c` on
|
|
88
|
+
Windows — write the command accordingly.
|
|
89
|
+
3. Completes in about two seconds; no network access, no license
|
|
90
|
+
checkout, no GUI launch.
|
|
91
|
+
4. A failing probe warns loudly at install time but never blocks the
|
|
92
|
+
install — the runtime can be installed afterwards. Re-run it before
|
|
93
|
+
first use.
|
|
94
|
+
|
|
95
|
+
## Addon SKILL.md requirements
|
|
96
|
+
|
|
97
|
+
The skill is the addon's single agent-facing document:
|
|
98
|
+
|
|
99
|
+
- **Frontmatter `description` is the routing card.** Hosts surface it to
|
|
100
|
+
agents verbatim; state the trigger condition, what the addon consumes
|
|
101
|
+
from `.scadpkg` (which members, which tag patterns such as
|
|
102
|
+
`interface.*`), and what it produces.
|
|
103
|
+
- **Pre-check the runtime.** Run the probe (the descriptor's
|
|
104
|
+
`check_cmd`) before first use; on failure, name the missing runtime
|
|
105
|
+
and stop — never silently skip the analysis.
|
|
106
|
+
- **Declare the consumption contract.** Units are millimeters; state
|
|
107
|
+
coordinate-system assumptions and required tags explicitly.
|
|
108
|
+
- **Never modify geometry.** An addon analyzes, verifies, or transforms
|
|
109
|
+
finished packages; when a task needs geometry changes, return to the
|
|
110
|
+
SimpleCADAPI modeling workflows and re-capture.
|
|
111
|
+
- **Reference the main skill.** Describe the pipeline end to end:
|
|
112
|
+
model with SimpleCADAPI → `capture` a `.scadpkg` → this addon
|
|
113
|
+
consumes it.
|
|
114
|
+
|
|
115
|
+
## Reading a `.scadpkg`
|
|
116
|
+
|
|
117
|
+
The complete consumer-facing format spec — member layout, manifest
|
|
118
|
+
fields, the `interface.*` tag channel, and two verified minimal
|
|
119
|
+
readers (in-process SDK and pure ZIP+JSON for any language) — lives in
|
|
120
|
+
`references/scadpkg-format.md`. Point your addon's agent at that page:
|
|
121
|
+
it is written so that an agent given the document alone can produce a
|
|
122
|
+
correct parser or exporter for the inputs your addon declares. Mirror
|
|
123
|
+
this pointer in your addon's SKILL.md (the page ships inside the
|
|
124
|
+
SimpleCADAPI skill; the normative JSON Schemas also ship inside the
|
|
125
|
+
`simplecadapi` wheel at `simplecadapi/contracts/` for environments
|
|
126
|
+
without the skill).
|
|
127
|
+
|
|
128
|
+
Consumer rules that hold regardless of path:
|
|
129
|
+
|
|
130
|
+
- resolve members through the manifest by `sha256`, never by guessing
|
|
131
|
+
names or extensions;
|
|
132
|
+
- treat missing `interface.*` names as loud failures naming the exact
|
|
133
|
+
name — never approximate by geometry;
|
|
134
|
+
- verify `schema_version` major before parsing anything else.
|
|
135
|
+
|
|
136
|
+
## Installing and managing addons
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
sca addon init # once per machine: home + registry + config
|
|
140
|
+
sca addon add owner/repo # install from GitHub (default branch)
|
|
141
|
+
sca addon add owner/repo@v1.2.0 # pin a tag or commit for reproducibility
|
|
142
|
+
sca addon add ./my-addon # install a local checkout (test before publishing)
|
|
143
|
+
sca addon update [name] # re-fetch one addon or all
|
|
144
|
+
sca addon remove name
|
|
145
|
+
sca addon list # registry contents + on-disk drift
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
- Locations resolve as flag > environment variable (`SCA_ADDON_HOME`,
|
|
149
|
+
`SCA_SKILLS_DIR`) > `~/.sca/config.toml` > defaults
|
|
150
|
+
(`~/.sca/addons`, `~/.agents/skills`). The CLI never writes shell
|
|
151
|
+
profiles; env vars are user-side overrides.
|
|
152
|
+
- Skills install as `sca-<name>` inside the skills directory — copied,
|
|
153
|
+
never symlinked. A non-registry directory of that name is never
|
|
154
|
+
overwritten.
|
|
155
|
+
- GitHub sources fetch as tarballs (no git binary needed, byte-exact
|
|
156
|
+
files); `--method clone` is the escape hatch for private
|
|
157
|
+
repositories.
|
|
158
|
+
|
|
159
|
+
### Hard failures vs warnings
|
|
160
|
+
|
|
161
|
+
| Outcome | Behavior |
|
|
162
|
+
| --- | --- |
|
|
163
|
+
| Descriptor invalid, `[compat] sca` mismatch, platform unsupported, name collision, foreign skill directory | install aborts, naming the exact cause |
|
|
164
|
+
| `check_cmd` fails, update downgrades | loud warning; install/update proceeds |
|
|
165
|
+
| Registry vs disk drift (missing directories) | surfaced by `sca addon list` as `DRIFT` lines |
|
|
166
|
+
|
|
167
|
+
## Publishing checklist
|
|
168
|
+
|
|
169
|
+
1. `sca addon add ./repo` from a local checkout; confirm the summary
|
|
170
|
+
and that the skill lands under `sca-<name>`.
|
|
171
|
+
2. `sca addon list` shows no drift; the runtime probe passes on every
|
|
172
|
+
declared platform you can test.
|
|
173
|
+
3. Tag the release; users pin with `owner/repo@<tag>`.
|
|
174
|
+
4. Bump `[addon] version` for every published change; widen
|
|
175
|
+
`[compat] sca` only after testing against the new SDK release.
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# `.scadpkg` Package Format
|
|
2
|
+
|
|
3
|
+
The durable product archive written by `capture`. This page is a
|
|
4
|
+
consumer's spec: read it once, and you can parse any package and locate
|
|
5
|
+
what an addon needs — geometry, tags, assemblies, scene assets — in any
|
|
6
|
+
language. The normative sources are the JSON Schemas shipped inside the
|
|
7
|
+
`simplecadapi` wheel (`simplecadapi/contracts/`); when prose and schema
|
|
8
|
+
disagree, the schema wins.
|
|
9
|
+
|
|
10
|
+
Authoring and installing addons that consume packages:
|
|
11
|
+
`references/domains/addon-development.md`.
|
|
12
|
+
|
|
13
|
+
## What a package is
|
|
14
|
+
|
|
15
|
+
A ZIP archive. Everything inside is content-addressed and
|
|
16
|
+
integrity-checked; the manifest (`package.json`) is the only map —
|
|
17
|
+
never guess members by name or extension, always resolve through it.
|
|
18
|
+
Packages are validated against Draft 2020-12 JSON Schemas both when
|
|
19
|
+
written and when read; a tampered member produces a named rejection,
|
|
20
|
+
not a silent fallback. Units are millimeters throughout.
|
|
21
|
+
|
|
22
|
+
## Member layout
|
|
23
|
+
|
|
24
|
+
| Member | Content | Schema |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| `package.json` | manifest — the map to every other member | `product-package-3.schema.json` |
|
|
27
|
+
| `definitions/part/<hash>.json` | one part definition (units, generator, caches, topology ref, connectors, material) | `part-definition-2.schema.json` |
|
|
28
|
+
| `definitions/assembly/<hash>.json` | one assembly definition (instances, relations, solved snapshot, public connectors) | `assembly-definition-2.schema.json` |
|
|
29
|
+
| `occurrences/root.json` | occurrence graph (which definitions occur where) | manifest member record |
|
|
30
|
+
| `projections/scene/scene.json` | scene projection for rendering (present when captured with scene) | scene contracts |
|
|
31
|
+
| `blobs/<sha256>` | content-addressed payloads (BREP cache, topology snapshots, glTF assets, feature graphs) | — |
|
|
32
|
+
|
|
33
|
+
## Manifest (`package.json`) fields
|
|
34
|
+
|
|
35
|
+
All top-level fields are required: `schema_version` (`"3.0"`),
|
|
36
|
+
`artifact_kind` (`"product_package"`), `root` (path/definition_kind/
|
|
37
|
+
definition_id/revision/content_hash), `definitions[]` (one record per
|
|
38
|
+
definition: path, definition_kind, definition_id, revision,
|
|
39
|
+
content_hash, sha256, byte_length), `blobs[]` (sha256, byte_length,
|
|
40
|
+
`media_type`, `storage: {kind: "member", path}`), `occurrence_graph`
|
|
41
|
+
(member record), `projections` (scene member record), and `content_hash`
|
|
42
|
+
covering the manifest body.
|
|
43
|
+
|
|
44
|
+
## Resolving references: sha256 is the key, not the path
|
|
45
|
+
|
|
46
|
+
Every reference into a payload carries
|
|
47
|
+
`{path, sha256, byte_length, media_type}`. The `path` is a **logical
|
|
48
|
+
name** (`topology/<hash>.json`) — it is not necessarily a ZIP member
|
|
49
|
+
path. The payload is stored under `blobs/<sha256-without-prefix>`, and
|
|
50
|
+
the manifest's `blobs[]` entry gives the real `storage.path`. Resolve
|
|
51
|
+
by `sha256`, always:
|
|
52
|
+
|
|
53
|
+
```python
|
|
54
|
+
def member_bytes(package, ref):
|
|
55
|
+
"""ref: a BlobRef (attribute access) or its dict form (subscript)."""
|
|
56
|
+
sha = getattr(ref, "sha256", None) or ref["sha256"]
|
|
57
|
+
digest = str(sha).removeprefix("sha256:")
|
|
58
|
+
for blob in package.manifest["blobs"]:
|
|
59
|
+
if str(blob["sha256"]).removeprefix("sha256:") == digest:
|
|
60
|
+
return package.objects[str(blob["storage"]["path"])]
|
|
61
|
+
raise KeyError(f"member for {digest} not in manifest blobs")
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`storage.kind` is `"member"` for single payloads; `"archive"` entries
|
|
65
|
+
are composites (feature-graph manifests with source snapshots) whose
|
|
66
|
+
inner files are themselves `member` blobs — resolving any single file
|
|
67
|
+
by its own sha256 through the map above works uniformly.
|
|
68
|
+
`media_type` on the record tells you what the payload is
|
|
69
|
+
(`application/vnd.simplecad.entities+json` topology snapshots,
|
|
70
|
+
`application/vnd.simplecad.feature-graph+zip` feature graphs,
|
|
71
|
+
`model/gltf-binary` scene assets) — do not infer from extensions.
|
|
72
|
+
|
|
73
|
+
## Definitions
|
|
74
|
+
|
|
75
|
+
Part definitions carry: `units` (`"mm"`), `generator`
|
|
76
|
+
(`{ocp_version}`), `solid_cache` (body reference — the BREP payload for
|
|
77
|
+
in-process rebuild), `topology_snapshot_ref` (the tag channel, below),
|
|
78
|
+
`connectors`, `material_ref`, `metadata`, `profile`, `revision`.
|
|
79
|
+
Assembly definitions carry `definition_refs`, `instances`,
|
|
80
|
+
`relations`, `public_connectors`, `solved_snapshot`,
|
|
81
|
+
`grounded_instance_ids`, `feature_graph_ref`. Identity is
|
|
82
|
+
(`definition_id`, `revision`, `content_hash`).
|
|
83
|
+
|
|
84
|
+
## The tag channel: `interface.*` only
|
|
85
|
+
|
|
86
|
+
Only tags in the `interface.*` namespace cross the package boundary;
|
|
87
|
+
every other tag stays in the session. The chain:
|
|
88
|
+
|
|
89
|
+
1. Take a **part** definition's `topology_snapshot_ref` (assemblies
|
|
90
|
+
carry `feature_graph_ref` instead).
|
|
91
|
+
2. Resolve it by sha256 (above) into the snapshot JSON
|
|
92
|
+
(`{schema_version, entities[], entity_count, name_index,
|
|
93
|
+
topology_hash, geometry_hash}`).
|
|
94
|
+
3. Read `name_index`: `{"interface.<name>": [{"kind", "topo_id",
|
|
95
|
+
"geometry_hash"}, ...]}` — one public name may reference several
|
|
96
|
+
entities of a single kind (a pattern of holes is one name over many
|
|
97
|
+
faces), in deterministic order.
|
|
98
|
+
4. `entities[]` entries carry `kind` (`FACE` / `EDGE` / ...),
|
|
99
|
+
`topo_id`, `geometry_hash`, the full `tags` list, and
|
|
100
|
+
`feature_output` provenance (which graph node produced them).
|
|
101
|
+
|
|
102
|
+
Consumer contract: if an `interface.*` name your tool requires is
|
|
103
|
+
absent from `name_index`, fail loudly and name it — never guess by
|
|
104
|
+
geometry. Model authors create these names with
|
|
105
|
+
`apply_tag(shape=..., tag="interface.xxx")` during modeling; consuming
|
|
106
|
+
them requires nothing from the modeling side afterwards.
|
|
107
|
+
|
|
108
|
+
## Minimal readers
|
|
109
|
+
|
|
110
|
+
### Path A — in-process SDK (Python addon with its own environment)
|
|
111
|
+
|
|
112
|
+
```python
|
|
113
|
+
import json
|
|
114
|
+
|
|
115
|
+
from simplecadapi import read_product_package
|
|
116
|
+
|
|
117
|
+
package = read_product_package(data="bracket.scadpkg")
|
|
118
|
+
root = package.root_definition
|
|
119
|
+
snapshot = json.loads(member_bytes(package, root.topology_snapshot_ref))
|
|
120
|
+
faces_by_name = snapshot["name_index"] # {"interface.load_surface": [...], ...}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
`read_product_package` validates the full package (integrity + schema)
|
|
124
|
+
before returning; `load_product_package(data=...)` returns the root
|
|
125
|
+
definition directly. Builtin exporters
|
|
126
|
+
(`export_product_package_to_step/stl/obj/mjcf`) start from the same
|
|
127
|
+
validated package.
|
|
128
|
+
|
|
129
|
+
### Path B — language-agnostic (pure ZIP + JSON)
|
|
130
|
+
|
|
131
|
+
The same five steps in any language:
|
|
132
|
+
|
|
133
|
+
1. Open the ZIP; read `package.json`.
|
|
134
|
+
2. Check `schema_version` major is `3`; abort loudly otherwise.
|
|
135
|
+
3. Walk `manifest["definitions"]`, reading each record's `path`
|
|
136
|
+
(these paths ARE real member paths).
|
|
137
|
+
4. Build a sha→path map over `manifest["blobs"]` entries with
|
|
138
|
+
`storage.kind == "member"`; resolve every payload reference's
|
|
139
|
+
`sha256` through it, then read that member.
|
|
140
|
+
5. Parse the topology snapshot and read `name_index`.
|
|
141
|
+
|
|
142
|
+
In Python this is `zipfile` + `json` only — no SDK import, no OCP;
|
|
143
|
+
this is the path for non-Python addons and for plugins that must not
|
|
144
|
+
share an environment with the SDK.
|
|
145
|
+
|
|
146
|
+
## Integrity rules
|
|
147
|
+
|
|
148
|
+
Every member is covered by a sha256 recorded in the manifest; the
|
|
149
|
+
manifest body is covered by `content_hash` over canonical JSON
|
|
150
|
+
(RFC 8785). Consumers should verify the digest of anything they load;
|
|
151
|
+
the SDK read path already does. Hand-editing members is unsupported —
|
|
152
|
+
rebuild the package from source instead.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# 2.1.2 Update Notes
|
|
2
|
+
|
|
3
|
+
> **Release notice:** Validate generated definitions, assembly constraints, and
|
|
4
|
+
> manufacturing geometry before production use.
|
|
5
|
+
|
|
6
|
+
## Script-anchored part cache (SDK behavior change)
|
|
7
|
+
|
|
8
|
+
The `@scad.part` / `@scad.assemble` anchor is now the directory containing the
|
|
9
|
+
builder's source file. The content-addressed part cache and the part interface
|
|
10
|
+
state land at `<script dir>/.simplecad/` by default:
|
|
11
|
+
|
|
12
|
+
- A standalone script runs from anywhere — no `pyproject.toml` is required up
|
|
13
|
+
the tree, and a missing project root no longer fails at decoration time.
|
|
14
|
+
- Copying or deleting a script directory carries or clears its cache with it.
|
|
15
|
+
- `file_input()` paths resolve relative to the anchor; scripts typically
|
|
16
|
+
declare their inputs next to themselves (`scad.file_input("model.py")`).
|
|
17
|
+
- Pass `project_root=...` explicitly to anchor at a larger project — the
|
|
18
|
+
project-level cache and the `[tool.simplecadapi.cache]` table follow the
|
|
19
|
+
explicit anchor. Environment overrides (`SIMPLECAD_CACHE_DIR`,
|
|
20
|
+
`SIMPLECAD_CACHE_MODE`, …) are unchanged.
|
|
21
|
+
|
|
22
|
+
## Keyword-form translator corpus
|
|
23
|
+
|
|
24
|
+
All sketch-family calls emitted by the HistCAD→FTC translator are now
|
|
25
|
+
keyword-form (`scad.add_circle_rsketch(sketch=s, entity_id=..., center=...,
|
|
26
|
+
radius=...)`, `scad.constrain_distance_x_rsketch(sketch=s, a=..., b=...,
|
|
27
|
+
value=...)`). Translated sources are training corpus: the parameter names
|
|
28
|
+
carry the meaning in the source itself. The same pin already guarded the
|
|
29
|
+
CadQuery translator; both suites now reject positional sketch-family calls
|
|
30
|
+
(boolean `*solids` varargs stay positional by signature).
|
|
31
|
+
|
|
32
|
+
## Explicit cache anchor in emitted sources
|
|
33
|
+
|
|
34
|
+
Both translators (histjson, cadqueryftc) emit
|
|
35
|
+
`project_root=Path(__file__).parent` on `@scad.part` explicitly, so a
|
|
36
|
+
delivered `.ftc.py` states where its cache lands instead of relying on
|
|
37
|
+
implicit resolution. The three `examples/histcad_demo` sources were
|
|
38
|
+
regenerated; STEP volume reconciliation is unchanged (1.63e-16 / 8.18e-05).
|
|
39
|
+
|
|
40
|
+
## FTC convention: `@scad.part` parameters and the cache
|
|
41
|
+
|
|
42
|
+
`docs/skill/references/discipline/feature-tree-convention.md` gains a section
|
|
43
|
+
documenting the decorator's keyword parameters (`id`, `revision`, `inputs`,
|
|
44
|
+
`cache`, `project_root`, `tolerance_profile`), where the cache and interface
|
|
45
|
+
state land, the override chain (decorator > environment > project config >
|
|
46
|
+
defaults), and the cache key composition.
|
|
47
|
+
|
|
48
|
+
## Compatibility notes
|
|
49
|
+
|
|
50
|
+
- Builders relying on the old implicit project-root walk-up (shared
|
|
51
|
+
`<repo>/.simplecad`) now get a script-local cache instead; pass
|
|
52
|
+
`project_root=...` explicitly to keep the old anchoring.
|
|
53
|
+
- In-repo examples that declared repo-root-relative `file_input` paths were
|
|
54
|
+
rewritten to script-relative paths in this release.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# 2.1.2 更新说明
|
|
2
|
+
|
|
3
|
+
> **发布说明:** 用于生产前,请验证生成的定义、装配约束和制造几何。
|
|
4
|
+
|
|
5
|
+
## @part 缓存锚定到脚本目录(SDK 行为变更)
|
|
6
|
+
|
|
7
|
+
`@scad.part` / `@scad.assemble` 的锚点改为 builder 源文件所在目录,内容寻址
|
|
8
|
+
part 缓存与 interface 状态默认落在 `<脚本目录>/.simplecad/`:
|
|
9
|
+
|
|
10
|
+
- 独立脚本在任何位置都能运行——不再要求向上存在 `pyproject.toml`,
|
|
11
|
+
缺少工程根不会再在装饰阶段报错。
|
|
12
|
+
- 拷贝或删除脚本目录,缓存随之带走或清空。
|
|
13
|
+
- `file_input()` 路径相对锚点解析;脚本通常声明自己旁边的文件
|
|
14
|
+
(`scad.file_input("model.py")`)。
|
|
15
|
+
- 需要工程级缓存时显式传 `project_root=...`——工程级缓存与
|
|
16
|
+
`[tool.simplecadapi.cache]` 配置表跟随显式锚点。环境变量覆盖
|
|
17
|
+
(`SIMPLECAD_CACHE_DIR`、`SIMPLECAD_CACHE_MODE` 等)不变。
|
|
18
|
+
|
|
19
|
+
## 翻译语料 keyword 参数化
|
|
20
|
+
|
|
21
|
+
HistCAD→FTC 翻译器发射的全部草图族调用改为 keyword 形式
|
|
22
|
+
(`scad.add_circle_rsketch(sketch=s, entity_id=..., center=..., radius=...)`、
|
|
23
|
+
`scad.constrain_distance_x_rsketch(sketch=s, a=..., b=..., value=...)`)。
|
|
24
|
+
翻译产物是训练语料:参数名让语义直接从源码可读。CadQuery 翻译器此前已有
|
|
25
|
+
同一钉子;现在两套测试套件都拒绝位置形式的草图族调用(布尔 `*solids`
|
|
26
|
+
变参按签名豁免)。
|
|
27
|
+
|
|
28
|
+
## 发射源显式声明缓存锚点
|
|
29
|
+
|
|
30
|
+
两个翻译器(histjson、cadqueryftc)都在 `@scad.part` 上显式发射
|
|
31
|
+
`project_root=Path(__file__).parent`——交付的 `.ftc.py` 自己声明缓存落点,
|
|
32
|
+
不依赖隐式解析。`examples/histcad_demo` 三个产物已重生成;STEP 体积对账
|
|
33
|
+
不变(1.63e-16 / 8.18e-05)。
|
|
34
|
+
|
|
35
|
+
## FTC 规范:@part 参数与缓存契约
|
|
36
|
+
|
|
37
|
+
`docs/skill/references/discipline/feature-tree-convention.md` 新增一节,
|
|
38
|
+
写明装饰器的 keyword 参数(`id`、`revision`、`inputs`、`cache`、
|
|
39
|
+
`project_root`、`tolerance_profile`)、缓存与 interface 状态的落点、
|
|
40
|
+
覆盖链(装饰器 > 环境变量 > 工程配置 > 默认值)与缓存键构成。
|
|
41
|
+
|
|
42
|
+
## 兼容性说明
|
|
43
|
+
|
|
44
|
+
- 依赖旧的隐式工程根向上查找(共享 `<repo>/.simplecad`)的 builder,
|
|
45
|
+
现在默认得到脚本局部缓存;显式传 `project_root=...` 可保留旧锚定。
|
|
46
|
+
- 仓库内以工程根相对路径声明 `file_input` 的示例,本版本已改写为
|
|
47
|
+
脚本相对路径。
|