第 15 章:PRVW 区段
Directory Tag: PRVW · 作用范围: 全局 · 必须性: 可选 · 允许 Codec: RAW8
PRVW(Preview)提供通用 3D 兼容预览,不参与 VFP 的权威资产解释。它允许不支持体素渲染的环境显示一个近似或替代视图,但不得用于编辑、校验或反推 VOX0。若目标只是文件列表或资产卡片缩略图,应优先使用独立的 THMB 区段,避免启动 GLB / glTF 管线。
15.1 Payload Layout
Payload 由 64 字节 Header 和一段预览二进制数据组成。
| Offset | Size | Type | Field |
|---|---|---|---|
| 0 | 2 | uint16 | previewVersion,必须为 1 |
| 2 | 2 | uint16 | headerSize,必须为 64 |
| 4 | 4 | uint32 | previewKind |
| 8 | 4 | uint32 | mimeCode |
| 12 | 4 | uint32 | width |
| 16 | 4 | uint32 | height |
| 20 | 4 | uint32 | dataLength |
| 24 | 8 | uint64 | dataOffset,相对 Payload,必须为 64 |
| 32 | 32 | uint8[32] | sourceHash |
previewKind:0=image、1=glb。mimeCode:0=PNG、1=JPEG、2=WebP、3=GLB。dataLength 必须等于 Payload 长度减 64。
图片预览必须设置正数 width/height;GLB 预览的 width/height 必须为 0。预览数据必须符合声明的 MIME 格式。
15.2 使用与安全
读取器可在尚未加载 VOX0 时显示 PRVW,以改善列表和网络环境体验;一旦需编辑或确认内容,必须加载权威区段。Source Hash 不匹配时 PRVW 可能是旧版本,应显示为过期或直接忽略。
实现对 GLB 或图片解码时应实施大小、像素数量、递归资源和外部 URI 限制。PRVW 不得包含对外部网络资源的强制依赖;GLB 预览应是自包含二进制。
15.3 验证与降级
验证器检查长度、Offset、Source Hash、MIME 签名、尺寸规则和资源上限。预览错误不影响资产有效性。读取器可以忽略不支持的预览类型、格式或过期预览。
本章总结
PRVW 用于“快速看见”,不能用于“确认真实内容”。真实资产始终由 VOX0 及其权威辅助区段定义。THMB 则为此提供更轻量的 PNG 读取路径。