这是什么:把"用真几何 latent 喂 LLM 推关节"所需的全量预处理管线跑通并验证。下面 5 件都是之前没有 latent 的例子——3 件 PNM 零覆盖多样类(Globe 自旋 / Eyeglasses 铰链 / Scissors 枢轴)+ 2 件 ArtiCraft 多样合成件(吊扇 / 天文望远镜),全部在 e区 现场从 mesh 跑完整管线产出 part SLAT latent。每件展示:左=EEVEE 渲染实物,右=逐 part 的 SLAT latent(8维→PCA→RGB 染色的体素)。
5 件 / 18 part本批新预处理(PNM×3 + ArtiCraft×2)
格式逐字段一致coords N×3 uint8 + feats N×8 与官方 data_stage4 相同
~2 min/件@40视图官方150视图≈6min/件;PNM全量1772件≈8卡22h
零 fallback真 BLENDER_EEVEE 渲染(非primitive)
管线(官方两阶段,e区已全验证)
Stage0 raw→source: CAGE preprocess → object_merge_fixed.json + 逐part objs。
Stage1-5 source→latent: render_lqm(150视图 BLENDER_EEVEE)→ voxelize(1/64)→ DINOv2 特征 → SLAT 编码(slat_enc_swin8_B_64l8_fp16, 85.8M)。
★修了个坑: 官方脚本第一步 singpo(blenderproc)在 e区卡死且吞错误;singpo 只产图像条件、与 part latent 无关 → 跳过它直接走 P2-P5 latent 路径(本演示用 latent_only.sh)。
5 件预处理结果
PNMGlobe 100720 自旋 spin
2 parts: sphere(球体) + base(底座/书立)。球体绕倾斜轴旋转——正是 bbox 表示丢失朝向、最该用真几何的类型。

EEVEE 渲染(真实 PNM mesh)

左=按part分色;右=逐part SLAT latent→RGB(体素)
PNMEyeglasses 101284 铰链 revolute
3 parts: 两条镜腿 leg + 镜框 base。两侧镜腿各自绕铰链折叠。

EEVEE 渲染

逐part latent
PNMScissors 10449 枢轴 pivot
2 parts: blade_handle_set(刀刃+手柄) + base。绕中心枢轴开合。

EEVEE 渲染

逐part latent
ArtiCraft天文望远镜(三脚架) tilt/swivel
3 parts: tripod(三脚架) + arm(臂) + tube(镜筒)。合成数据(名泄漏/轴对齐陷阱→仅沙盒)。源从 g区 取、e区现跑预处理。

EEVEE 渲染(ArtiCraft 合成 mesh)

逐part latent
ArtiCraft吊扇 ceiling fan continuous 旋转
8 parts: mount(吊座) + rotor(转子) + globe + 5×blade(扇叶)。多部件、连续旋转关节。

EEVEE 渲染

逐part latent(8 part)
意义
这些 part latent 就是取代 bbox 文本喂给 LLM 的"真几何"。逐 part 的 latent→RGB 染色显示每个部件内部有空间分区(非均匀),即 latent 携带了 bbox 丢失的朝向/形状信息。本批验证了全量预处理可在 e区 落地;下一步把 PNM 全量缺口(1772 件)按此管线(150视图)产出,供 latent-token 微调。