diff --git a/docs/architecture/studio-3d-stages.md b/docs/architecture/studio-3d-stages.md index c8249d6..1839373 100644 --- a/docs/architecture/studio-3d-stages.md +++ b/docs/architecture/studio-3d-stages.md @@ -324,6 +324,12 @@ shared 全部 **262 项**。`ui_check.py` **566 项检查 0 失败**(新增 "3 **兼容说明**: +- **最小交付(规格 §5.2 第 1 条)是结构性的,不是靠流程**:容器的条目白名单只有 + `sensing/{positions,normals,triangles,sample_indices,sample_weights}`(可选 `source_vertex`)与 + `housing/{positions,normals,triangles}`——`_entry_name()` 拒绝任何别的条目,所以内部机械结构、原始命名、 + 设计历史、高精度源资产**没有**进入包的路径;外壳只按 `--housing-glb` 显式给出并被 `HousingLimits` 限三角形数。 +- **客户包里没有签名私钥**:私钥只作为 `compile_scene.py --sign-key` 的输入存在于构建机;包里出现的只有封套的 + `signature.key_id` 这类公开元数据(单测断言 `envelope_summary` 里没有任何密钥/nonce/salt 材料)。 - **v1 包照样能读**(未加密、未签名),`envelope_version` 只在"这次写了签名或加密"时才升到 2; 因此旧发布包不需要重编。给明文包传 `KeyProvider` 不报错(用不到),给它传验签公钥也不报错。 - 签名覆盖 manifest(含 asset_hash、每个条目的 sha256、平台锁定、兼容信息)与封套元数据;