- 新增 loft、双向切除、through-all/up-to-next 等 CADFS lowering 与 engine 支持 - 支持多种 reference plane、B-spline profile 和 circular pattern replay - 保留 transform 历史,并烘焙安全的单源平移/旋转变换 - 改进 selector 绑定、拓扑快照和 pattern 变换处理 - 建立 17 个代表样本的转换、重建与比较回归工具链 - 补充 schema、author guidance、运行时和几何回归测试
CADFS to CDSL
Converts the local CADFS FeatureScript RP corpus to self-contained CDSL 1.1, rebuilds runtime-eligible documents with the current CDSL engine, and compares the rebuilt B-rep with the source STEP.
PYTHONPATH=backend:. python -m cadfs_to_cdsl scan
PYTHONPATH=backend:. python -m cadfs_to_cdsl pipeline --sample-id 00000173
PYTHONPATH=backend:. python -m cadfs_to_cdsl pipeline --limit 100 --seed 0
PYTHONPATH=backend:. python -m cadfs_to_cdsl pipeline
All stages are resumable. Use --force after changing converter behavior.
The original CADFS directory is read-only; generated evidence is written under
cadfs_to_cdsl/output/samples/<sample_id>/.
Representative regression pool
Generate the checked-in representative manifest after a full corpus conversion:
PYTHONPATH=backend:. python -m cadfs_to_cdsl regression-select
The selector deterministically covers every observed FeatureScript modeling operation, sketch entity type, lowered CDSL atomic operation, unsupported operation, and unsupported engine-capability variant. It records which atomic operations have a successful engine baseline and which are diagnostic-only; the latter are never reported as passing builds. A normal engine change has a small, executable STEP regression command:
PYTHONPATH=backend:. python -m cadfs_to_cdsl regression --tier engine --stage rebuild
The command reruns by default; use --resume only to inspect cached results.
Use --tier conversion --stage convert to verify feature lowering and
diagnostics, or --tier all --stage pipeline for the complete representative
conversion/rebuild/compare pass. Unsupported CADFS features remain diagnostic
coverage, not expected successful engine builds.