|
- {
- "01-fox-actual-scene.png": {
- "title": "原场景副本中实际加载的狐狸",
- "description": "狐狸来源固定模型版本,聚焦后核对真实几何。原场景已有模板标识与地形对象不一致,未擅自推断并改写原件。"
- },
- "02-fox-reopened-skin-protection.png": {
- "title": "狐狸属性保存重开与蒙皮部件保护",
- "description": "位置、旋转、小数缩放和空绑定保存重开;狐狸蒙皮部件显示只可查看与高亮,独立变换/隐藏禁止。姿态为属性测试值。"
- },
- "03-truck-part-history-reopened.png": {
- "title": "卡车部件编辑和历史恢复后的场景",
- "description": "刚性部件做过独立位移、软删除与撤销恢复;保留的测试姿态不应误判为模型加载损坏,具体值以文档和刷新断言为准。"
- },
- "04-new-failure-original-preserved.png": {
- "title": "新建失败时原场景和恢复保护仍保留",
- "description": "定向注入创建 POST 503,失败提示为预期分支。用例分别检查保存与选择放弃两种路径;选择放弃也不会在创建失败时清除原 dirty/恢复稿。最终成功创建后,重新打开旧缓存页应显示服务端内容。具体分支以最终断言为准。"
- },
- "05-new-separate-scene.png": {
- "title": "真正创建独立场景并保存重开",
- "description": "新项目具有独立 ID,初始空白模板正常;原项目内容另通过 API 核对保留。"
- },
- "06-readonly-scene-permissions.png": {
- "title": "只读管理员浏览场景",
- "description": "更新、导入、新建、发布等写入口禁用;查看、预览和导出仍可用,直接内容 PUT 返回 403。"
- },
- "07-garage-full.png": {
- "title": "车库围护完整显示",
- "description": "实际点击完整模式并核对导出字段;建筑墙体、屋顶与支柱可能遮住内部模型,属于本模式显示范围。"
- },
- "07-garage-xray.png": {
- "title": "车库围护透明查看",
- "description": "实际点击透明模式,导出 enclosureMode 同步;透明围护与保留的结构柱区别于模型未加载。"
- },
- "07-garage-hidden.png": {
- "title": "车库围护隐藏",
- "description": "实际点击隐藏外壳,导出后保存并刷新验证模式保留;内部对象不会因为围护隐藏而删除。"
- },
- "10-invalid-reference-rolled-back.png": {
- "title": "错误资源编码被拒绝并保留场景",
- "description": "JSON 明确引用不存在的 assetCode,预期报错;原场景对象仍保留,未回退为其他模型文件。"
- },
- "11-small-glb-real-upload.png": {
- "title": "小 GLB 真实上传进入当前场景",
- "description": "通过文件输入上传测试 Box.glb,受控资产登记后加入场景;与之前故意损坏文件/上传503分支分开验收。"
- },
- "12-json-glb-reopened.png": {
- "title": "JSON 与受控 GLB 保存刷新往返",
- "description": "有效工程导入后的对象、受控 URI 和渲染参数重开保持。画面相机为测试导入值,不强行套用默认视角。"
- },
- "13-save-failure-keeps-draft.png": {
- "title": "保存 PUT 503 时保留未存稿",
- "description": "注入保存失败,版本未前进且 dirty 保留;红色/警告提示为故障恢复验收的预期画面。"
- },
- "14-cover-failure-keeps-old-image.png": {
- "title": "封面上传失败时保留旧图",
- "description": "封面上传被注入503,正文仍可成功保存,真实提示封面降级;不把此步骤记为新封面生成成功。"
- },
- "15-save-retry-success.png": {
- "title": "恢复服务后重新保存成功",
- "description": "恢复请求后再次修改并保存、刷新核对内容;先前故障提示若仍处正常消退周期,不改变当前响应和刷新断言。"
- },
- "16-real-unsaved-recovery.png": {
- "title": "真实未保存输入恢复到编辑器",
- "description": "由实际输入产生本地恢复稿,刷新后明确恢复;恢复仅回到当前编辑视口,未自动写入服务器。"
- },
- "17-conflict-does-not-overwrite.png": {
- "title": "409 版本冲突不覆盖最新内容",
- "description": "另一请求先保存新版本,当前旧会话再保存被拒绝;未存修改保留,不能显示保存成功。"
- },
- "18-stale-recovery-explicit-decision.png": {
- "title": "旧版本恢复稿隔离与下载决策",
- "description": "旧稿不能直接覆盖最新服务端版本,需明确下载/保留或丢弃;此图用于验证保护提示。"
- },
- "19-publish-failure-stays-draft.png": {
- "title": "发布接口故障仍保持草稿",
- "description": "定向注入发布 POST 503;保存和发布为独立结果,项目状态保持 DRAFT,后续恢复才真正发布。"
- },
- "20-scene-published-fixed-version.png": {
- "title": "场景发布完成并固定模型依赖",
- "description": "发布 POST 成功、当前版本与 publishedVersionId 一致;模型来源固定到既有发布版本。"
- },
- "21-published-scene-cover-in-list.png": {
- "title": "返回列表查看实际场景封面",
- "description": "返回列表保留编辑器缓存标签;搜索当前项目并验证图片 naturalWidth 大于零,封面来自服务端受控资产。"
- },
- "20-template-depot-1.png": {
- "title": "真实装备车库模板保存重开",
- "description": "独立副本通过模板按钮加载真实车库,保存后刷新;左侧模板选中状态和画面环境同时核对。"
- },
- "21-template-terrain-1.png": {
- "title": "真实野外训练场模板保存重开",
- "description": "真实起伏地形和默认装备、区域、照明种子对象;不把默认装备占位模型误称为狐狸。"
- },
- "22-template-workshop-1.png": {
- "title": "综合检验车间的空白场地",
- "description": "此模板设计为锁定地板和零业务对象,空白是正常模板结果;保存刷新后仍为零对象。"
- },
- "23-template-workshop-real.png": {
- "title": "演示维修车间的 74 个独立部件",
- "description": "通过可拆分模板加载,74 个场景对象保存重开;与整体装备车库为不同资源。"
- },
- "24-template-workshop-2.png": {
- "title": "总成拆卸车间模板",
- "description": "装备主体、工作台和存放架三种种子资源,模板选择、类型和保存刷新一致。"
- },
- "25-template-workshop-3.png": {
- "title": "部件分解车间模板",
- "description": "工作台、存放架和视觉采集设备三种种子资源保存重开。"
- },
- "26-template-workshop-4.png": {
- "title": "清洗检测车间模板",
- "description": "诊断工位、工作台、采集设备和安全区域四种种子资源保存重开。"
- },
- "27-template-workshop-5.png": {
- "title": "复装调试车间模板",
- "description": "诊断工位、工作台、照明和人员占位四种种子资源保存重开;占位不代表真实设备接入。"
- },
- "28-template-outdoor-1.png": {
- "title": "室外综合训练场模板",
- "description": "程序化室外场地及三种种子资源,区别于正式起伏地形模板。"
- },
- "29-template-confirm-empty.png": {
- "title": "模板切换确认与空白模板保存",
- "description": "先取消切换确认保留未存对象,再明确放弃并切换;图中空场地是确认后的正常结果。"
- },
- "30-eight-basic-assets-reopened.png": {
- "title": "八种基础资源逐项放置并刷新",
- "description": "8 种资源分别双击并分开摆放,第 9 个工作台通过真实鼠标拖入;保存后核对各对象位置和唯一编号。"
- },
- "31-venue-depot-reopened.png": {
- "title": "资源库车库作为整体场地",
- "description": "从空白模板的资源库加载车库并保存重开;已有整体场地时阻止重复叠加。"
- },
- "32-venue-terrain-reopened.png": {
- "title": "显式删除旧场地后加载真实地形",
- "description": "先删除车库,再加入地形;保存刷新确认新场地资产引用与起伏高度,未静默覆盖原场地。"
- },
- "33-fox-placed-visible.png": {
- "title": "API 已发布狐狸模型双击放置",
- "description": "真实资源卡片双击导入当前实例,移动到 X=-3 并聚焦;保留来源项目和已发布固定版本。"
- },
- "34-truck-placed-part-restored.png": {
- "title": "真实拖入卡车并完成部件隐藏往返",
- "description": "卡车通过鼠标拖入;刚体部件隐藏保存刷新后再恢复可见,取消高亮后展示完整材质。聚焦卡车导致左侧狐狸部分出画,不是狐狸加载丢失。"
- },
- "40-viewport-dark-1920.png": {
- "title": "1920 暗色主题的真实视口操作",
- "description": "实际轨道旋转、右键平移、滚轮和点击拾取后检查侧栏、属性和视口;定位钩子只读几何,不修改场景。"
- },
- "41-viewport-light-1440.png": {
- "title": "1440 军工绿主题的完整编辑布局",
- "description": "真实切换主题和浏览器尺寸,检查长工具栏、画布与右侧属性栏不会互相遮挡。"
- },
- "42-fox-preview-original-material.png": {
- "title": "狐狸运行预览与原材质",
- "description": "进入静态场景预览,隐藏选中高亮和手柄并禁止写入;黄色狐狸可见不代表原生动画或蓝图已执行。"
- },
- "43-real-transform-gizmo.png": {
- "title": "真实鼠标拖动三种变换手柄",
- "description": "移动、旋转和单轴缩放后的故意测试姿态;通过真实鼠标命中手柄,只读投影仅用于定位,保存重开再核对数值。"
- },
- "44-cache-close-save-failure.png": {
- "title": "后台缓存和关闭保存失败保留编辑器",
- "description": "切标签保留未存内容、后台快捷键不修改对象;关闭时保存503为预期故障注入,当前场景和未存稿保留。"
- },
- "51-scene-update-only-saved.png": {
- "title": "只有场景更新权限仍可保存固定模型",
- "description": "已有固定依赖通过场景授权读取并保存刷新;无模型页面权限,直接来源项目访问和发布接口仍拒绝。"
- },
- "52-scene-publish-only-no-save.png": {
- "title": "只有发布权限发布已保存版本",
- "description": "真实浏览器仅发送一个发布 POST,没有内容 PUT 或封面上传;发布权限不扩大为编辑权限。"
- },
- "53-scene-route-access-denied.png": {
- "title": "没有场景页面权限时拒绝入口",
- "description": "编辑路由被拦截且直接内容接口返回403;画面不是场景加载成功的证据。"
- },
- "54-scene-role-switch-cancel-keeps-draft.png": {
- "title": "取消切角色保留后台场景草稿",
- "description": "关闭未存确认后没有角色 PUT、没有保存请求;返回场景标签仍保留编辑名称和 dirty。"
- },
- "55-scene-role-switch-saved-readonly.png": {
- "title": "保存后切换角色并重建只读权限",
- "description": "明确保存后才切换角色,重新启动拉取新权限;场景名称保存成功,更新和发布入口按新角色禁用。"
- },
- "56-scene-other-tab-recovery-preserved.png": {
- "title": "另一浏览器页的真实恢复稿仍保留",
- "description": "A 页保存并明确删除自己的恢复稿,B 页实际输入的未存稿及版本仍保留;未通过伪造 localStorage 构造该分支。"
- },
- "60-scene-load-failure-retry.png": {
- "title": "加载失败保留中性状态和重试入口",
- "description": "项目 GET 503 注入后不展示可写半场景;错误详情由短消息提供,页面仍能重新加载。"
- },
- "61-model-loading-blocks-partial-save.png": {
- "title": "模型下载未完成时禁止半提交",
- "description": "真实延迟受控资源下载,视口显示加载状态,保存/导出/发布等操作禁用,关闭被阻止;释放请求后再验证完整加载。"
- },
- "62-new-edits-preserved-during-save.png": {
- "title": "保存快照 A 期间编辑 B 仍保留",
- "description": "延迟PUT后继续修改名称,先完成的请求只保存A;新修改B保持dirty,重复快捷键不重复提交,随后保存刷新核对B。"
- },
- "70-fox-training-scene-reopened.png": {
- "title": "新发布狐狸场景在训练编排中重开",
- "description": "独立训练副本真实选择新发布场景,保存 TRAINING_SCENE 固定版本并刷新,橙黄色狐狸实际可见;仅验证静态还原。"
- },
- "70-truck-training-scene-reopened.png": {
- "title": "新发布卡车场景在训练编排中重开",
- "description": "独立训练副本绑定新场景固定版本后保存刷新,卡车实际可见;默认车库支柱局部遮挡车身,未将遮挡误认为模型丢失。"
- }
- }
|