Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

58 строки
9.9 KiB

  1. // Evidence metadata only. Tests still perform every assertion and record their
  2. // actual runtime title/time; this file does not turn planned coverage into PASS.
  3. export const sceneEvidenceBindings = {
  4. 'fox-properties-cover': { featureIds: ['project.load','project.title','project.save','selection.tree','property.name','property.visible','property.operable','property.position','property.rotation','property.scale','property.device-id','property.model-id','property.semantic','part.source','panel.binding','cover.capture','cover.atomic'], scope: '真实字段输入与清空、六个语义选项、蒙皮保护、源模型可见,正文/资产/封面保存和刷新;不把原件旧模板组合当新模板结果。' },
  5. 'truck-part-history': { featureIds: ['project.save-key','part.transform','part.soft-delete','history.undo','history.redo','property.name','view.enclosure-full','view.enclosure-xray','view.enclosure-hidden'], scope: '实际部件变换和软删除、按钮/键盘历史、保存基线与输入框自身撤销;双实例隔离及车库围护三种模式真实点击、导出和隐藏后保存刷新。' },
  6. 'new-project': { featureIds: ['project.new'], scope: '取消命名、创建503保留原工程、创建成功新ID、保存刷新与原工程内容核对。' },
  7. readonly: { featureIds: ['permission.readonly','permission.update','permission.publish','preview.enter','preview.exit','preview.lock','json.export'], scope: '只读按钮/模板/资源禁写、蒙皮浏览、运行预览与快捷键不变更对象,直接PUT拒绝;具体搜索/鼠标覆盖另见视口用例。' },
  8. 'json-glb-roundtrip': { featureIds: ['json.export','json.import','json.invalid','json.missing-resource','json.rendering','glb.import','glb.invalid','glb.references','validation.references'], scope: '真实JSON/GLB文件输入、错误schema/损坏资源/上传503拒绝、错误assetCode回滚、稳定URI及渲染参数保存重开。' },
  9. 'save-cover-failure': { featureIds: ['project.save-failure','cover.failure'], scope: '正文PUT503不清草稿;封面上传503保留旧图但正文可保存;恢复服务后保存刷新。截图异常和409另由聚焦合同验证。' },
  10. 'real-recovery-conflict': { featureIds: ['project.conflict','recovery.autobuffer','recovery.same-version','recovery.stale-version'], scope: '真实未存输入产生恢复稿,同版本恢复不自动入库;另一版本先保存后409拒绝覆盖,旧稿隔离下载。' },
  11. 'publish-fixed-version': { featureIds: ['validation.complete','validation.bindings','panel.validation','publish.saved','publish.failure','publish.fixed-model','cover.atomic','project.back'], scope: '实际校验、绑定阻断、POST503不假发布,重试发布当前固定版本;返回列表保留编辑标签,搜索当前项目并核对真实封面图片加载。下游静态渲染另有独立用例。' },
  12. 'loading-retry': { featureIds: ['project.retry','glb.pending','leave.busy'], scope: 'GET503只留中性失败和重试;延迟受控下载时禁用写入/导出/预览并阻止关闭,释放后真实狐狸加载。' },
  13. 'save-concurrency': { featureIds: ['project.concurrent-save','project.save','project.save-key','recovery.autobuffer','recovery.same-version'], scope: '延迟真实PUT快照A、重复Ctrl+S不重复请求、期间编辑B仍dirty;再次保存刷新无旧恢复稿误报。' },
  14. }
  15. export const sceneUnitPlan = [
  16. ['tools/scene-closure-engine.test.mjs','scene granular update permission enables editing without the retired shared code',['permission.update']],
  17. ['tools/scene-closure-engine.test.mjs','typing undo/redo stays inside text controls and inactive cached editors ignore global shortcuts',['history.undo','history.redo','transform.keys','lifecycle.cache']],
  18. ['tools/scene-closure-engine.test.mjs','preview locks mutation controls and Delete while Escape restores editing',['preview.lock','preview.exit']],
  19. ['tools/scene-closure-engine.test.mjs','real Three ray hits on hidden descendants are excluded before selecting a root or part',['selection.hidden']],
  20. ['tools/scene-closure-engine.test.mjs','deleting a root disposes its geometry and materials after clearing selection',['object.delete','lifecycle.destroy']],
  21. ['tools/scene-closure-engine.test.mjs','loading and history restoration preserve an authored camera rather than auto-focusing a vehicle',['json.rendering','history.undo']],
  22. ['tools/scene-closure-engine.test.mjs','save B then undo A stays dirty, and redo B returns to the actual saved baseline',['history.undo','history.redo']],
  23. ['tools/scene-closure-engine.test.mjs','new resource bindings do not reuse a saved serial after earlier objects were deleted',['validation.bindings']],
  24. ['tools/scene-closure-engine.test.mjs','a failed replacement GLB keeps the previous live scene rather than clearing an unsaved draft',['json.missing-resource']],
  25. ['tools/scene-closure-engine.test.mjs','failed undo restoration retains live objects and keeps the undo target available for retry',['history.failure']],
  26. ['tools/scene-closure-engine.test.mjs','selection highlight cleanup restores source materials and releases its own GPU helper',['selection.highlight','lifecycle.destroy']],
  27. ['tools/scene-closure-engine.test.mjs','replacement failure waits for other started loads before restoring the original scene',['history.failure','glb.pending']],
  28. ['tools/scene-closure-engine.test.mjs','activity log reflects actual session events and keeps API error details transient',['panel.logs']],
  29. ['tools/scene-closure-engine.test.mjs','verify opens live validation and whitespace binding edits immediately invalidate the active tab',['panel.validation','validation.bindings']],
  30. ['tools/scene-closure-engine.test.mjs','model source navigation locates the published owner and falls back without source permission',['assets.model-link']],
  31. ['tools/scene-closure-engine.test.mjs','gizmo scaling across its pivot follows the same strictly positive scale contract as inspector edits',['transform.scale','property.scale']],
  32. ['tools/scene-closure-engine.test.mjs','default history caps at 60 snapshots, stops at either edge and discards redo only after a new branch',['history.capacity','history.undo','history.redo']],
  33. ['tools/scene-closure-engine.test.mjs','two published instances have unique tree part IDs and editing the second persists independently after reopen',['part.transform','selection.tree']],
  34. ['tools/scene-closure-engine.test.mjs','legacy duplicate instance IDs migrate only later owners in document order despite reversed GLB completion',['part.transform','publish.fixed-model']],
  35. ['tools/scene-closure-engine.test.mjs','successful parallel restores retain document order after delayed GLBs and split-object batches finish out of order',['project.load','selection.tree']],
  36. ['tools/scene-tab-close.test.mjs','closing one selected scene checks its cached guard, leaves unrelated workspaces alone',['leave.cancel','lifecycle.cache']],
  37. ['tools/scene-tab-close.test.mjs','cancel or failed save in a later tab never commits earlier draft discard',['leave.cancel','leave.save','leave.role-switch']],
  38. ['tools/scene-tab-close.test.mjs','all successful confirmations commit together and unmounted guards are removed',['leave.save','lifecycle.destroy']],
  39. ['tools/scene-closure-assets.test.mjs','fixed model reads the exact version and downloads through its visible scene dependency',['publish.fixed-model','permission.update']],
  40. ['tools/scene-closure-assets.test.mjs','an explicit missing code cannot fall back to the first READY asset',['validation.references','json.missing-resource']],
  41. ['tools/scene-closure-assets.test.mjs','copied scene keeps its original pseudo URI but reads its own copied asset by stable code',['glb.references']],
  42. ['tools/scene-closure-assets.test.mjs','a failed fixed-version lookup is evicted and the same reference can be retried',['project.retry']],
  43. ['tools/scene-cover-api.test.mjs','scene image ticket, fixed asset replacement, dependencies and coverUri commit in one versioned PUT',['cover.atomic']],
  44. ['tools/scene-cover-api.test.mjs','capture failure saves content with the previous cover and reports a warning result',['cover.failure']],
  45. ['tools/scene-cover-api.test.mjs','upload conflict propagates without any content PUT',['project.conflict','cover.failure']],
  46. ['tools/scene-cover-api.test.mjs','role switch waits through validation, save, and the later queued publish after dirty clears',['publish.concurrent','leave.busy','leave.role-switch']],
  47. ['tools/scene-cover-api.test.mjs','role switch rechecks resource uploads started while the save was finishing',['leave.busy']],
  48. ['tools/scene-cover-capture.test.mjs','copies synchronously without bounds, gizmo, grid or selection glow, then restores before JPEG encoding',['cover.capture','selection.highlight','view.grid']],
  49. ['tools/scene-model-placement.test.mjs','fresh skinned placement reaches the requested size and floor after authored scale/pose replay',['assets.model-double-click','assets.model-drop']],
  50. ['tools/scene-model-placement.test.mjs','scale input accepts real GLTF normalization factors below 0.05',['property.scale']],
  51. ['../unreal_tran_web/src/features/scene-legacy/contentApiClient.test.mjs','fixed model dependencies are recursively collected, exact and de-duplicated',['publish.fixed-model']],
  52. ['../unreal_tran_web/src/features/scene-legacy/contentApiClient.test.mjs','recovery conflict defaults to preserve and only explicit discard may remove it',['recovery.discard']],
  53. ['../unreal_tran_web/src/features/scene-legacy/contentApiClient.test.mjs','per-page recovery keys prevent copied tabs from deleting each other checkpoints',['recovery.multi-session']],
  54. ['../unreal_tran_web/src/features/scene-legacy/contentApiClient.test.mjs','project operation queue serializes upload, save and publish including failures',['publish.concurrent']],
  55. ['../unreal_tran_web/src/features/scene-legacy/contentApiClient.test.mjs','an upload finishing after a project switch cannot register into the new session',['glb.pending','lifecycle.destroy']],
  56. ]