29 lines
1.9 KiB
Markdown
29 lines
1.9 KiB
Markdown
## Why
|
||
|
||
`common/` 当前以功能演进过程形成分类,部分模块同时容纳数据、I/O、UI、交互与绘制职责,导致公共函数的位置不能由名称直接判断;例如通用 AI UI 函数 `draw_ai_setup()` 位于 `image_interaction.py`。重新建立稳定、可预测的模块边界,可以降低新增功能复用公共能力时的查找与依赖成本。
|
||
|
||
## What Changes
|
||
|
||
- 将 `common/` 收敛为八个稳定业务模块:`ai`、`image`、`region`、`viewport`、`depth`、`material`、`object` 和 `node`。
|
||
- 将 `draw_ai_setup()`、`draw_ai_property()` 从 Image 交互分类移至 `ai.py`,与 AI 环境、模型检查和 Job 参数准备形成统一入口。
|
||
- 保留完整的 Image 生命周期于 `image.py`,将 View3D 坐标、手势和 Overlay 绘制统一归入 `viewport.py`,避免把视口交互误称为图片编辑。
|
||
- 仅从 `object.py` 独立出体量较大、职责明确的材质构建函数;Modifier 和结果 Object 处理继续归入 Object 分类。
|
||
- 更新所有 Operator 与测试的直接导入,同时同步 `docs/internals/common.md` 和架构索引。
|
||
- **BREAKING**:删除被替代的旧模块路径,不提供重导出、转发函数或兼容层;这是仅面向项目内部源码的导入变更,不改变扩展的用户功能与公开 Blender 标识符。
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
|
||
无。本变更只重构 Blender 侧内部公共函数的模块边界,不新增用户可观察行为。
|
||
|
||
### Modified Capabilities
|
||
|
||
无。现有功能、Operator 协议、Job 参数和结果保持不变。
|
||
|
||
## Impact
|
||
|
||
- 主要影响 `src/anyimage/common/` 及所有直接导入这些模块的 `operators/`、`menu.py` 和测试。
|
||
- `src/anyimage/server/` 的进程边界、Job 协议、模型实现和依赖均不改变。
|
||
- 不新增依赖,不改变 Blender 类型注册、`bl_idname`、节点组名称或扩展打包内容。
|