docs(deploy): 记录模型转换镜像与本地验收结果
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
# 模型转换服务部署候选
|
||||
|
||||
版本 `3.23.0.20261003` 的固定版本镜像已发布;尚未提升浮动标签或执行线上更新。目标主机待确认,本记录不能作为线上验收通过的证据。
|
||||
|
||||
部署代码通过 `update.sh` / `update.ps1` 完成环境迁移、共享令牌初始化、指定服务镜像拉取、容器启动和健康等待。生产只使用更新脚本应用配置;确认主机后还需检查其现有 Compose、端口、数据卷、ICE 与代理设置,再执行上线和真实转换验收。
|
||||
|
||||
`conversion-local.json` 是正式 API / Worker amd64 镜像、真实 DEV 存储和任务链路的合成 GLB 转换记录;`protocol-local.json` 记录 8 个实际协议场景。原文件约 19.2 MB、798,848 个三角面,转换产物 714,896 字节、100,000 个三角面,宽深均 20 米,高度误差约 0.022 毫米。当前 M4 Max 使用 amd64 模拟执行,耗时不能当作线上硬件性能。
|
||||
|
||||
镜像源码为后端 `83cefbfd` 与前端 `965c4172`;后端后续 `8a67a2f1` 只增加验收工具与说明,没有改镜像运行代码。主工作区的收益钱包、鉴权、上传和 PM2 改动未被此次发布提交带入。
|
||||
|
||||
正式前端镜像还通过真实浏览器选择 OBJ、确认米制单位、默认性能优先轻量副本和 WebGL 显示验收:素体站立身高 1.72 米,导入实体 20 × 0.2 × 20 米。此轮复用了同项目的已上传来源资源,记录在 `browser-local.json`,截图为 `browser-import.png`。
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 227 KiB |
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"passed": true,
|
||||
"standingHeight": "1.72",
|
||||
"lightweight": true,
|
||||
"quality": "performance",
|
||||
"dimensions": {
|
||||
"width": "20.00",
|
||||
"height": "0.20",
|
||||
"depth": "20.00"
|
||||
},
|
||||
"errors": [],
|
||||
"requests": [
|
||||
{
|
||||
"status": 201,
|
||||
"path": "http://127.0.0.1:3101/model-conversion/resources/source-upload"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"passed": true,
|
||||
"apiOrigin": "http://127.0.0.1:3101",
|
||||
"projectId": "6abff8d24f5fe54612cf8f3b",
|
||||
"nodeId": "model-conversion-deployment-acceptance",
|
||||
"taskId": "6abff8dd4f5fe54612cf8f8f",
|
||||
"sourceHash": "f686ed16f4f90cc9b8ad9b5fc7d133d3768b1851620b107dd811fbd85a19f834",
|
||||
"sourceBytes": 19203544,
|
||||
"artifactHash": "889709b74d725388f3b225f7b158a0717d0c07fa0a8532fad8358cecf616f581",
|
||||
"artifactBytes": 714896,
|
||||
"originalDimensions": {
|
||||
"width": 20,
|
||||
"height": 0.20000000298023224,
|
||||
"depth": 20
|
||||
},
|
||||
"actualDimensions": {
|
||||
"width": 20,
|
||||
"height": 0.19997775554656982,
|
||||
"depth": 20
|
||||
},
|
||||
"loadingUnit": "meters",
|
||||
"converterVersion": "assimp6.0.5-gltf4.3.0-meshopt0.25.0-ktx4.4.2-recipe2",
|
||||
"statistics": {
|
||||
"before": {
|
||||
"triangles": 798848,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 19202712,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
},
|
||||
"after": {
|
||||
"triangles": 100000,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 1830360,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
},
|
||||
"primary": {
|
||||
"triangles": 100000,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 1830360,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
}
|
||||
},
|
||||
"uploadMs": 11026,
|
||||
"conversionAndDownloadMs": 17482,
|
||||
"elapsedMs": 28776
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"sourceSha": "83cefbfdf2bc909d11ace9f020b108145844051a",
|
||||
"projectId": "6abff81f4f5fe54612cf7f11",
|
||||
"sourceHash": "263a8cd920cf8e06abaa996cf4aeec27ab7a609d77499028020d003c6e576b4f",
|
||||
"cases": [
|
||||
{
|
||||
"name": "actual upload/worker/persistent artifact/idempotency/no port writes",
|
||||
"passed": true,
|
||||
"taskId": "6abff8204f5fe54612cf7f34"
|
||||
},
|
||||
{
|
||||
"name": "verified upload and conversion cache reuse",
|
||||
"passed": true
|
||||
},
|
||||
{
|
||||
"name": "generic task refresh recovery",
|
||||
"passed": true
|
||||
},
|
||||
{
|
||||
"name": "cross-project resource rejected",
|
||||
"passed": true
|
||||
},
|
||||
{
|
||||
"name": "paid channel default disabled",
|
||||
"passed": true
|
||||
},
|
||||
{
|
||||
"name": "changed source hash rejected",
|
||||
"passed": true
|
||||
},
|
||||
{
|
||||
"name": "queued cancellation survives worker restart; late completion not applied",
|
||||
"passed": true
|
||||
},
|
||||
{
|
||||
"name": "persisted locked node blocks import",
|
||||
"passed": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user