diff --git a/CHANGELOG.md b/CHANGELOG.md index e754474..62d0994 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,23 @@ user-facing notes live in [`docs/updates/`](docs/updates/) (English and ## Unreleased +## 2.2.4 — 2026-10-15 + +### Fixed + +- Editor: a failed publish is reported again on every run someone asked for — a page rerun, an + agent `sca cell` command, a change to the notebook file, a module reload, a parameter commit — + so the page's "building the model" veil lifts with the reason instead of waiting out its + fallback. The once-per-identical-message dedup stays for the parameter burst. A page that + connects after the failure is told the last error at the end of the connection handshake. + +### Changed + +- Editor: the header's button that opened the raw marimo editor is gone. +- Skill: the editor docs state which notebooks the workspace scan lists — subfolders of any + depth are scanned; names starting with `.` or `_` and `node_modules`, `venv`, `site-packages`, + `build`, `dist` are skipped. + ## 2.2.3 — 2026-10-14 ### Added diff --git a/README.md b/README.md index 8e2e817..a3ca357 100644 --- a/README.md +++ b/README.md @@ -149,20 +149,18 @@ the full crank cycle sweeps clean in the same sim · --- -## Update Notes (2.2.3) +## Update Notes (2.2.4) > Validate generated definitions, assembly constraints, and manufacturing > geometry before production use. -- **The editor takes in edits made to the notebook file.** An agent's saved change is applied - cell by cell (changed cells update and run again, no reload), and is no longer written over by - the editor. If a cell was edited in both places, the file's version is kept and your unsaved - text goes to the log. Notebooks added to the workspace appear in the list by themselves. -- **`sca cell` and `sca new`.** `sca cell ls|get|put|insert|rm|run` edits the open notebook's cells - through the running editor (the page updates live, each write prints the cell's status and - errors); `sca new NAME` creates a notebook the editor then lists. +- **The editor tells you why no model is coming.** A failed build is reported on every run you or + an agent asks for (rerun, `sca cell`, a file change, a module reload), and to a page that opens + or refreshes afterwards — the "building the model" veil lifts with the reason instead of + waiting out its fallback. +- **The header's jump-to-marimo button is gone.** -Full notes for this version: [`docs/updates/2.2.3.md`](docs/updates/2.2.3.md). +Full notes for this version: [`docs/updates/2.2.4.md`](docs/updates/2.2.4.md). Earlier versions: the [changelog](CHANGELOG.md) and [`docs/updates/`](docs/updates/). --- @@ -183,7 +181,7 @@ in a compact public API for creating solids, applying features, tagging semantic intent, querying topology, exporting manufacturing files, and translating recorded models into FreeCAD workflows. -Current release: `simplecadapi==2.2.3`. +Current release: `simplecadapi==2.2.4`. ## What It Provides @@ -698,6 +696,7 @@ and the [STEP reconstruction workflow](docs/skill/references/workflows/step-reco ## Documentation +- 2.2.4 update notes: [`docs/updates/2.2.4.md`](docs/updates/2.2.4.md) - 2.2.3 update notes: [`docs/updates/2.2.3.md`](docs/updates/2.2.3.md) - 2.2.2 update notes: [`docs/updates/2.2.2.md`](docs/updates/2.2.2.md) - 2.2.1 update notes: [`docs/updates/2.2.1.md`](docs/updates/2.2.1.md) diff --git a/README.zh-CN.md b/README.zh-CN.md index f643248..c882069 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -133,18 +133,16 @@ CalculiX 静力 FEM(边界面按保真的 `interface.*` 标签选取,仿真 --- -## 更新日志(2.2.3) +## 更新日志(2.2.4) > 投入生产前请验证生成的定义、装配约束和制造几何。 -- **编辑器会接收对 notebook 文件的修改。** agent 保存的修改会按 cell 逐个应用(变化的 cell 更新并重新运行, - 不刷新页面),不再被编辑器覆盖。同一个 cell 两边都改时,保留文件里的版本,你未保存的文字记入日志。 - 工作区里新增的 notebook 会自动出现在列表中。 -- **`sca cell` 和 `sca new`。** `sca cell ls|get|put|insert|rm|run` 通过运行中的编辑器修改打开的 - notebook 的 cell(页面实时更新,每次写入都打印该 cell 的状态和错误);`sca new NAME` 创建一个 - 编辑器随即列出的 notebook。 +- **编辑器会告诉你模型为什么没出来。** 你或 agent 主动发起的每次运行(重跑、`sca cell`、文件变更、 + 模块重载)失败都会重新报告,失败后打开或刷新的页面也会立刻拿到原因——"building the model" + 遮罩随原因揭开,不再等兜底超时。 +- **顶栏跳转 marimo 的按钮已移除。** -本版本的完整说明:[`docs/updates/2.2.3.zh-CN.md`](docs/updates/2.2.3.zh-CN.md)。 +本版本的完整说明:[`docs/updates/2.2.4.zh-CN.md`](docs/updates/2.2.4.zh-CN.md)。 更早的版本:见[更新日志](CHANGELOG.md)和 [`docs/updates/`](docs/updates/)。 --- @@ -162,7 +160,7 @@ CalculiX 静力 FEM(边界面按保真的 `interface.*` 标签选取,仿真 SimpleCADAPI 是一个基于 OCP 的 Python CAD SDK,提供清晰的函数式建模操作和可重放的模型图。它在 OpenCascade 几何内核之上提供精简的公共 API,可用于创建实体、应用特征、添加语义标签、查询拓扑、导出制造文件,以及将记录的模型转换为 FreeCAD 工作流。 -当前版本:`simplecadapi==2.2.3`。 +当前版本:`simplecadapi==2.2.4`。 ## 核心能力 @@ -588,6 +586,7 @@ uv run --extra fem python examples/ap242_gmsh_volume_mesh/run_calculix.py ## 文档 +- 2.2.4 更新说明:[`docs/updates/2.2.4.zh-CN.md`](docs/updates/2.2.4.zh-CN.md) - 2.2.3 更新说明:[`docs/updates/2.2.3.zh-CN.md`](docs/updates/2.2.3.zh-CN.md) - 2.2.2 更新说明:[`docs/updates/2.2.2.zh-CN.md`](docs/updates/2.2.2.zh-CN.md) - 2.2.1 更新说明:[`docs/updates/2.2.1.zh-CN.md`](docs/updates/2.2.1.zh-CN.md) diff --git a/docs/skill/SKILL.md b/docs/skill/SKILL.md index c16c90c..12ee87b 100644 --- a/docs/skill/SKILL.md +++ b/docs/skill/SKILL.md @@ -4,9 +4,9 @@ description: Build, assemble, inspect, reconstruct, and export parametric CAD mo license: Apache-2.0 metadata: project: simplecadapi - version: 2.2.3 + version: 2.2.4 package-name: simplecadapi - package-version: 2.2.3 + package-version: 2.2.4 --- # SimpleCAD SDK Skill diff --git a/docs/updates/2.2.4.md b/docs/updates/2.2.4.md new file mode 100644 index 0000000..49860cd --- /dev/null +++ b/docs/updates/2.2.4.md @@ -0,0 +1,23 @@ +# 2.2.4 Update Notes + +The editor now tells you why no model is coming, instead of showing "building the model" until +its fallback clears. + +## A failed build is reported every time you ask for one + +Before, a publish error was reported once per identical message. When the same failure repeated — +you press "run all" again, an agent edits a cell, the notebook file changes on disk — the editor +stayed silent: no model arrived, no error was shown, and the page waited out its three-minute +fallback. Now every run someone asks for reports its outcome afresh, and the veil lifts with the +reason (for example, a notebook whose top-level Part does not carry the notebook id; the message +ends with the Parts and Assemblies that were found instead). Reports during a slider drag are +still collapsed to one per identical state. + +A page that opens or refreshes after the failure learns the reason at once, from the end of the +connection handshake. + +## The marimo button + +The header's button that opened the raw marimo editor is gone. + +See the [changelog](../../CHANGELOG.md) for the complete list. diff --git a/docs/updates/2.2.4.zh-CN.md b/docs/updates/2.2.4.zh-CN.md new file mode 100644 index 0000000..89db2ba --- /dev/null +++ b/docs/updates/2.2.4.zh-CN.md @@ -0,0 +1,19 @@ +# 2.2.4 更新说明 + +编辑器现在会告诉你模型为什么没出来,而不是让"building the model"一直挂到兜底超时。 + +## 每次主动运行都会报告构建结果 + +以前同一条发布错误只报一次。当同样的失败再次出现时——再点一次"run all"、agent 改了一个 cell、 +notebook 文件在磁盘上被修改——编辑器会保持沉默:模型不来,错误也不显示,页面只能等三分钟兜底。 +现在每一次主动发起的运行都会重新报告结果,遮罩会随原因揭开(例如 notebook 顶层 Part 的 id 和 +notebook id 不匹配;报错末尾会列出实际找到的 Parts and Assemblies)。拖 slider 过程中的重复 +报告仍然按同状态折叠成一条。 + +在失败之后打开或刷新的页面,会在连接握手的末尾立刻拿到这条原因。 + +## marimo 按钮 + +顶栏里跳转到 marimo 原生编辑器的按钮已移除。 + +完整列表见[更新日志](../../CHANGELOG.md)。 diff --git a/pyproject.toml b/pyproject.toml index af1ec22..9dadbe4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "simplecadapi" -version = "2.2.3" +version = "2.2.4" description = "A simplified OCP-native CAD modeling Python API" readme = "README.md" license = { file = "LICENSE" } diff --git a/uv.lock b/uv.lock index 7bb8688..52c4bc0 100644 --- a/uv.lock +++ b/uv.lock @@ -3227,7 +3227,7 @@ wheels = [ [[package]] name = "simplecadapi" -version = "2.2.3" +version = "2.2.4" source = { editable = "." } dependencies = [ { name = "cadquery-ocp" },