更新功能

This commit is contained in:
2026-08-26 14:13:11 +08:00
parent beaa5dd9fe
commit a508e6f07e
47 changed files with 5616 additions and 520 deletions
+37
View File
@@ -9,3 +9,40 @@ The backend owns the application API and CAD generation workflow:
- `tests/`: Engine, API, and end-to-end generation tests.
Expected development entrypoint: `app.main:app`, served by Uvicorn.
## Incremental Generation Configuration
Incremental generation is enabled by default. It requires a separately
configured vision-capable review model and the Python OpenCascade/Pillow
technical renderer; a run
fails instead of skipping visual review when either is unavailable.
```dotenv
# Authoring provider/model must already be configured as usual.
CDSL_INCREMENTAL_GENERATION=1
# Must name one configured provider and one model listed in that provider's
# CDSL_<PROVIDER>_VISION_MODELS setting. It is intentionally not inferred
# from the authoring model.
CDSL_REVIEW_PROVIDER=openai
CDSL_REVIEW_MODEL=gpt-4.1-mini
CDSL_OPENAI_VISION_MODELS=gpt-4.1-mini
# Install Python rendering dependencies. The renderer reads the revision STEP
# file and creates canonical images without a browser or GPU driver.
pip install -r requirements.txt
# Optional per-node retry budgets.
CDSL_NODE_AUTHORING_ATTEMPTS=2
CDSL_NODE_REPAIR_ATTEMPTS=2
CDSL_NODE_REPLAN_ATTEMPTS=1
```
Every checkpoint is rebuilt from its fully materialized CDSL through the
`cdsl_only` runtime. Checkpoint GLB files are preview-only; STEP, CDSL, and
reports are available only after the task reaches `COMPLETED`.
The generation plan contains semantic node IDs only. The backend derives the
unique CDSL feature and sketch IDs from each node, then writes them during
fragment materialization. This keeps naming and topology ownership stable
without requiring the authoring model to reproduce internal identifiers.