第三阶段改进

This commit is contained in:
Ukawka
2026-09-22 22:18:34 +08:00
parent 8080d52a99
commit 00f476022d
12 changed files with 873 additions and 74 deletions
+12 -3
View File
@@ -39,8 +39,13 @@ const help = `模型接入与结构理解(新增模式,不调用旧拆件流
--prepare-only 仅准备补全画布、掩码和提示词,不请求模型
--candidates-dir DIR 离线导入 ID.png,或旧补全目录的首张候选,不请求模型
--candidate-size-policy NAME strict(默认)/ uniform(同宽高比缩放后重新检查对齐)
--completion-size INT 补全方形画布边长,默认 1024,不缩放原像素
--extension-radius INT 补全区域距可见轮廓的最大像素距离,默认 32
--completion-profile NAME adaptive(默认)重建需求与可逆缩放;legacy 复用旧候选
--completion-reference NAME auto(默认)/ board / local / full / both / none
--completion-mask NAME auto(默认)/ required / off;auto 遵循提供方能力
--completion-review FILE 复核 JSON,按 ID 指定修复/替换/移除 mask 与半径
--probe-edit-capabilities 单部件真实多图+mask 探针,不自动修改提供方能力配置
--completion-size INT 请求方形画布边长,默认 1024;adaptive 显式记录缩放逆变换
--extension-radius INT 全局原图像素半径覆盖;adaptive 默认按部件尺寸,legacy 默认 32
--sam-dir DIR 本地 SAM 根目录,包含 sam3 与 sam3.1checkpoint
--sam-code-dir DIR SAM 源码仓库目录覆盖
--sam-checkpoint FILE 本地权重路径覆盖
@@ -67,6 +72,8 @@ export function parseOptions(argv) {
['--candidate-size-policy', 'candidateSizePolicy'],
['--completion-dir', 'completionDir'], ['--fallback-policy', 'fallbackPolicy'],
['--draw-order-file', 'drawOrderFile'], ['--check-angle', 'checkAngle'], ['--genielabs-dir', 'genielabsDir'],
['--completion-profile', 'completionProfile'], ['--completion-reference', 'completionReference'],
['--completion-mask', 'completionMask'], ['--completion-review', 'completionReview'],
]);
for (let i = 0; i < argv.length; i += 1) {
const flag = argv[i];
@@ -74,6 +81,7 @@ export function parseOptions(argv) {
else if (flag === '--resume') options.resume = true;
else if (flag === '--dry-run') options.dryRun = true;
else if (flag === '--prepare-only') options.prepareOnly = true;
else if (flag === '--probe-edit-capabilities') options.probeEditCapabilities = true;
else if (flag === '--list-models') options.listModels = true;
else if (valueFlags.has(flag) || flag === '--image' || flag === '--part') {
const value = argv[++i];
@@ -111,7 +119,8 @@ export async function main(argv = process.argv.slice(2)) {
}
const loaded = loadConfig(options);
const partCompletion = options.stage === 'completion' && options.inputDir;
if (!partCompletion && (options.prepareOnly || options.candidatesDir || options.partIds.length || options.completionSize || options.extensionRadius || options.candidateSizePolicy)) {
if (!partCompletion && (options.prepareOnly || options.candidatesDir || options.partIds.length || options.completionSize || options.extensionRadius || options.candidateSizePolicy ||
options.completionProfile || options.completionReference || options.completionMask || options.completionReview || options.probeEditCapabilities)) {
throw new Error('部件补全参数需要 --stage completion --input-dir');
}
if (partCompletion) {