Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The core package is provider-neutral. A multimodal host such as Codex or Claude

## Processing model

<img src="docs/assets/architecture.svg" alt="Processing pipeline with deterministic repair-grid checks, visual review of every primary asset, manifest export gates, optional transparency review, and PNG plus layered PSD delivery" width="100%">
<img src="docs/assets/architecture.svg" alt="Processing pipeline and validation catalog grouped by method, dimension, and keywords: repair-grid integrity, primary visual consistency, manifest gates, transparency checks, and PSD delivery constraints" width="100%">

### Scan

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ ultrasplit evaluate output/task/manifest.json --visual-verdict pass

## Architecture

<img src="docs/assets/architecture.svg" alt="Processing pipeline with deterministic repair-grid checks, visual review of every primary asset, manifest export gates, optional transparency review, and PNG plus layered PSD delivery" width="100%">
<img src="docs/assets/architecture.svg" alt="Processing pipeline and validation catalog grouped by method, dimension, and keywords: repair-grid integrity, primary visual consistency, manifest gates, transparency checks, and PSD delivery constraints" width="100%">

Every run writes a schema-v3 manifest with exact source coordinates, route evidence, provenance, approval state, bounded repair attempts, evaluation status, and absolute delivery paths. See [ARCHITECTURE.md](ARCHITECTURE.md).

Expand Down
2 changes: 1 addition & 1 deletion README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ ultrasplit evaluate output/task/manifest.json --visual-verdict pass

## 架构

<img src="docs/assets/architecture.zh-CN.svg" alt="不规则素材图经过修复宫格确定性检查、主资产视觉审核和 manifest 导出门控后,交付图片与分层 PSD;另含可选透明版本审核和审批后修复路径" width="100%">
<img src="docs/assets/architecture.zh-CN.svg" alt="按方法、维度和关键词归类的评估管线:修复宫格完整性、主资产视觉一致性、manifest 门控、透明版本检查与 PSD 交付约束" width="100%">

每次运行都会写入 schema v3 的 `manifest.json`,记录准确的源图坐标、路由依据、来源追踪、批准状态、有界修复次数、评估结果和绝对访问路径。完整设计见 [ARCHITECTURE.md](ARCHITECTURE.md)。

Expand Down
62 changes: 38 additions & 24 deletions docs/assets/architecture.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
62 changes: 38 additions & 24 deletions docs/assets/architecture.zh-CN.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions docs/evaluator-pipeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,18 @@ flowchart TD
A4 --> A1
```

## Evaluation criteria and evaluator index

Use the same three-part description for each category: **method → dimension → keywords**. The evaluator index links to the implementation; host visual review is not performed by Python and `evaluate_manifest()` only consumes its verdict.

| Method | Dimension | Keywords / criteria | Evaluator method (source index) |
|---|---|---|---|
| Deterministic grid check | Repair-grid integrity | Resolution (at least 512 px per cell); expected vs. occupied count; background consistency; edge contact; safe margin (at least 8%); possible duplicate shapes are reported for review. | [`evaluate_grid()`](../src/ultrasplitter/evaluator.py#L27) |
| Host multimodal visual review | Inventory and visual consistency | Reconcile the confirmed inventory with delivered assets (no missing or extra subjects); compare each asset with the source for identity, pose, silhouette, color, material, ornament, and no redesign. | Host review; [`evaluate_manifest()`](../src/ultrasplitter/evaluator.py#L115) consumes `visual_verdict` but does not inspect images. |
| Manifest gate | Workflow eligibility | Schema version 3; completed semantic triage; approved conflict groups; repair-attempt limit; required visual verdict is `pass`. | [`require_v3()`](../src/ultrasplitter/contracts.py#L48), [`evaluate_manifest()`](../src/ultrasplitter/evaluator.py#L115) |
| Transparent-variant check and review | Alpha integrity and compositing quality | Real alpha channel; transparent background; non-empty foreground; no edge contact; at least 8% safe margin; interior transparency is flagged for visual review; preview on white, black, and checkerboard. | [`inspect_transparent_candidate()`](../src/ultrasplitter/transparency.py#L60), [`apply_transparent_verdict()`](../src/ultrasplitter/transparency.py#L199); primary success is enforced by [`evaluate_manifest()`](../src/ultrasplitter/evaluator.py#L115). |
| PSD export | Delivery integrity | Native-pixel layers; pages stay within 30,000 px per side; oversized assets are tiled; paths and export details are recorded in the manifest. | [`export_layered_psd()`](../src/ultrasplitter/layered_psd.py#L119) |

Deterministic checks apply to generated repair grids; they do not certify semantic identity. Possible duplicate shapes are reported as evidence and still require review. The visual verdict comes from the host review, while the manifest gate controls whether that verdict and other workflow state permit delivery.

`ultrasplit run` creates and routes the manifest; it does not itself pass the evaluation gate. The CLI `evaluate` command, or repair ingestion after a successful grid check, calls `evaluate_manifest` and can reach PSD export.
14 changes: 14 additions & 0 deletions docs/evaluator-pipeline.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,18 @@ flowchart TD
A4 --> A1
```

## 评估标准与 evaluator 方法索引

各类标准统一按 **方法 → 维度 → 关键词** 表述。方法索引链接到对应实现;主资产的视觉审查由宿主模型完成,不在 Python evaluator 中执行;`evaluate_manifest()` 只接收并处理视觉结论。

| 方法 | 维度 | 关键词 / 标准 | 对应 evaluator 方法(源码索引) |
|---|---|---|---|
| 确定性宫格检查 | 修复宫格完整性 | 分辨率(每格至少 512 px);预期格数与有效格数一致;背景一致性;触边;安全留白(至少 8%);可能重复的图形会被标记供复核。 | [`evaluate_grid()`](../src/ultrasplitter/evaluator.py#L27) |
| 宿主多模态视觉审查 | 清单完整性与视觉一致性 | 将已确认清单与交付素材核对(不漏项、不多项);逐件对照源图检查身份、姿态、轮廓、颜色、材质、装饰,以及是否发生重设计。 | 宿主完成审查;[`evaluate_manifest()`](../src/ultrasplitter/evaluator.py#L115) 接收 `visual_verdict`,不负责看图。 |
| Manifest 门控 | 流程交付资格 | schema 版本为 3;语义分诊完成;冲突组已批准;修复次数未耗尽;要求视觉结论为 `pass`。 | [`require_v3()`](../src/ultrasplitter/contracts.py#L48)、[`evaluate_manifest()`](../src/ultrasplitter/evaluator.py#L115) |
| 透明版本校验与审查 | Alpha 完整性与合成质量 | 存在真实 Alpha 通道;背景透明;前景非空;主体不触边;安全留白至少 8%;内部透明区域会标记并要求视觉复核;在白底、黑底、棋盘格上预览。 | [`inspect_transparent_candidate()`](../src/ultrasplitter/transparency.py#L60)、[`apply_transparent_verdict()`](../src/ultrasplitter/transparency.py#L199);[`evaluate_manifest()`](../src/ultrasplitter/evaluator.py#L115) 负责主资产通过后的状态门控。 |
| PSD 导出 | 交付完整性 | 图层保留原像素;每份画布单边不超过 30,000 px;超大素材切块;路径和导出信息写入 manifest。 | [`export_layered_psd()`](../src/ultrasplitter/layered_psd.py#L119) |

确定性检查针对生成式修复宫格,不代表语义身份正确。可能重复的图形只作为检查证据返回,仍需复核。视觉结论由宿主审查给出;manifest 门控结合该结论和流程状态决定能否交付。

`ultrasplit run` 负责生成并路由 manifest,本身不会通过审核门控。CLI 的 `evaluate` 命令,或修复宫格检查通过后的导入流程,会调用 `evaluate_manifest` 并可能进入 PSD 导出。
Loading