SceneSmith 完整 critic 运行

同学 week/25 的 VLM critic(run_vlm_critic.py)× 我们的 API 策略(avemujica gpt-5.5) · 2026-06-17 · e区

一句话:用同学最新主线的 critic 真实跑通了家具齐全场景的功能性评测(净空 / 可达性 / 功能依赖), VLM 端点接我们约定的 gpt-5.5。渲染带纹理(HSSD PBR 材质)。 诚实:该 critic 是 规则优先 + VLM 兜底 的混合设计——规则判得了就判,判不了才交 VLM。
🔧 纹理修复(2026-06-17):先前渲染全是灰模——根因是 Blender 版本:系统 /usr/bin/blender 是 3.0.1, 其 EEVEE 不渲 glTF 纹理(纹理数据其实已加载进 Blender)。换 Blender 4.2.9 LTS(EEVEE_NEXT)后 HSSD 的 PBR 纹理正确渲出 (木纹、布料、深色镜框等)。用 SCENEBENCHMARK_BLENDER env 指定二进制即可。 关键对照:clay(3.0.1) 与 纹理(4.2.9) 两版 18 个 check 裁决逐项完全一致(14 pass/4 degraded,2 VLM 裁决)—— 因为净空/可达性/依赖本质是几何+布局问题,纹理不改变结论(一个鲁棒性旁证)。

运行 1 · 家具齐全卧室 hssd_bedroom_plus_articraft(22 件)

14
pass
4
degraded
0
fail
18
checks 总计
2
VLM 真裁决
16
规则裁决

check 构成:interaction_clearance ×6 · spatial_accessibility ×5 · functional_dependency ×7。报告模式:实际 VLM 评审

bedroom overview
场景 overview(22 件:床、双床头柜、衣柜、架子、镜子、书/水杯/首饰盘等小件)。带纹理(Blender 4.2.9 渲:木纹架、深色镜框、黑色寝具、白家具)。

VLM 真裁决规则判不了"顶面是否被占" → 交 gpt-5.5 视觉判断(2/18)

nightstand0
passVLM · conf 0.88 interaction_clearance · nightstand_0(红色高亮为被判主体)
nightstand1
passVLM · conf 0.91 interaction_clearance · nightstand_1
"In the local highlighted context render, the red nightstand's top surface is clearly visible and mostly exposed, with no object spanning or directly blocking the usable supportable surface… no direct intrusion onto the nightstand top that would prevent placing or reaching an item."
— gpt-5.5 对 nightstand_0 的视觉裁决(引用实际渲染图,证明 VLM 真被调用)

规则裁决示例:衣柜净空 degraded(几何可判,未走 VLM)

wardrobe
degradedrule · conf 0.80 interaction_clearance · wardrobe_0
"Rule clearance: limiting profile default has best front interaction zone for bedroom_wardrobe_0 with 0.38 immediate free-space overlap. Nearby/intersecting obstacles: appliance_articraft_0."

运行 2 · 我们的 Articraft 洗衣机 demo(Y-up 修正后)

我们 Y-up 修复后的 Articraft 资产完整过了 critic 管线(渲染→case_pack→检查), 且 critic 正确抓出了我们有意设置的净空违规(两台洗衣机 bbox 重叠 0.02m,开门扫掠撞邻居)。
washer overview
我们的洗衣机已正确直立坐地(Y-up 修复生效),开启状态送评。
灰白是因为我们的 Articraft GLB 本身无纹理(baseColorTexture=None)——这是该资产的属性,非渲染器问题(HSSD 件已带纹理)。
washer fail
FAIL · conf 0.88 interaction_clearance · washer_open_0
"Rule clearance: … front interaction zone for washer_open_0 with 0.00 immediate free-space overlap. Nearby/intersecting obstacles: appliance_neighbor_0." → blocking: appliance_neighbor_0

诚实说明

产物:scene_eval/critic_run_20260617/(bedroom + washer_demo 各 vlm_results.json + review_report.md + RESULT.md)。