把 SceneTransporter 的核心思想真正接到了下游部件生成上:先用 `KMeans` 或 `OT+edge` 做 patch-to-part assignment,导出 `mask.exr`,再送进官方 PAct 推理链。4 个 PartNeXt 样例上,两种前端都把 `part count` 稳住了,`mean_part_count_abs_error = 0.00`;但 `OT+edge` 目前只带来了局部语义变化,还没有系统性打赢 KMeans。这说明论文里的 assignment 思想是能桥接到部件生成前端的,但如果没有 compositional latent 和生成环内 routing,仅靠前端 mask 重写还不够把 PAct 的跨域语义漂移彻底拉回来。
GT coarse parts 是 `Blade / Handle`,两种前端都把槽位数稳在 `2`。KMeans 下游输出 `base / drawer`,OT+edge 下游输出 `base / drawer`。OT 与 KMeans 的下游语义结果相同。
GT coarse parts 是 `Tank / Toilet Lid / Toilet Base`,两种前端都把槽位数稳在 `3`。KMeans 下游输出 `door / base / base`,OT+edge 下游输出 `door / handle / base`。OT 语义从 `door / base / base` 改成了 `door / handle / base`。
GT coarse parts 是 `Display / Stand`,两种前端都把槽位数稳在 `2`。KMeans 下游输出 `drawer / base`,OT+edge 下游输出 `drawer / base`。OT 与 KMeans 的下游语义结果相同。
GT coarse parts 是 `String Components / Guitar Main Components`,两种前端都把槽位数稳在 `2`。KMeans 下游输出 `base / drawer`,OT+edge 下游输出 `base / base`。OT 语义从 `base / drawer` 改成了 `base / base`。