2026-05-20-12-09-47 完善软著逐章配图与系统视频
This commit is contained in:
70
工程分析/实现方案-2026-05-20-12-09-47.md
Normal file
70
工程分析/实现方案-2026-05-20-12-09-47.md
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
# 实现方案:说明书逐章配图与系统视频生成
|
||||||
|
|
||||||
|
实现方案文档路径:`工程分析/实现方案-2026-05-20-12-09-47.md`
|
||||||
|
|
||||||
|
## 修改目标
|
||||||
|
|
||||||
|
为软著说明书每个二级章节配置真实系统截图,并录制一段包含位姿导入流程的系统使用视频。
|
||||||
|
|
||||||
|
## 涉及路径
|
||||||
|
|
||||||
|
- `新撰写软著文档/1. 软著说明书.md`
|
||||||
|
- `新撰写软著文档/1. 软著说明书.docx`
|
||||||
|
- `新撰写软著文档/images/`
|
||||||
|
- `新撰写软著文档/系统使用视频/`
|
||||||
|
- `新撰写软著文档/功能验证与素材清单.md`
|
||||||
|
- `head-ct-demo-pose-data.json`
|
||||||
|
- `工程分析/需求分析-2026-05-20-12-09-47.md`
|
||||||
|
- `工程分析/实现方案-2026-05-20-12-09-47.md`
|
||||||
|
- `工程分析/测试方案-2026-05-20-12-09-47.md`
|
||||||
|
- `工程分析/经验记录.md`
|
||||||
|
|
||||||
|
## 技术路线
|
||||||
|
|
||||||
|
1. 统计说明书 `## X.` 章节数量,建立章节与截图文件映射。
|
||||||
|
2. 使用 Chrome DevTools Protocol 自动打开系统、登录、切换页面、点击控件、打开弹窗和导入位姿。
|
||||||
|
3. 使用软件 WebGL 参数录制或截取逆向工作区,避免三维视图空白。
|
||||||
|
4. 生成 23 张章节截图到 `新撰写软著文档/images/`。
|
||||||
|
5. 将每个 `## X.` 章节下插入对应图片引用。
|
||||||
|
6. 使用截图序列和 `ffmpeg` 生成系统使用视频 MP4,视频中包含 `head-ct-demo-pose-data.json` 位姿导入状态。
|
||||||
|
7. 重新生成说明书 Word,确保所有图片嵌入。
|
||||||
|
8. 更新素材清单,记录截图与视频。
|
||||||
|
9. 运行检查、构建和部署验证。
|
||||||
|
|
||||||
|
## 执行步骤
|
||||||
|
|
||||||
|
- 检查 `ffmpeg`、Chrome 和系统服务状态。
|
||||||
|
- 生成或刷新章节截图。
|
||||||
|
- 自动化导入 `head-ct-demo-pose-data.json` 并截取/录制导入后的位姿状态。
|
||||||
|
- 更新说明书 Markdown 和 Word。
|
||||||
|
- 验证图片引用、Word 媒体数量、视频文件信息。
|
||||||
|
- 工程分析文档与经验记录提交并推送。
|
||||||
|
- 重新部署并验证服务。
|
||||||
|
|
||||||
|
## 兼容性与回滚方案
|
||||||
|
|
||||||
|
- 所有软著输出在本地目录,可通过历史 Markdown 或重新运行截图脚本恢复。
|
||||||
|
- 若视频编码失败,保留截图序列并记录失败原因。
|
||||||
|
- 若某个截图页面加载不完整,重新等待或切换到软件 WebGL 模式。
|
||||||
|
|
||||||
|
## 预计文件变更
|
||||||
|
|
||||||
|
软著本地材料:
|
||||||
|
|
||||||
|
- `新撰写软著文档/1. 软著说明书.md`
|
||||||
|
- `新撰写软著文档/1. 软著说明书.docx`
|
||||||
|
- `新撰写软著文档/images/*.png`
|
||||||
|
- `新撰写软著文档/系统使用视频/系统使用视频.mp4`
|
||||||
|
- `新撰写软著文档/功能验证与素材清单.md`
|
||||||
|
|
||||||
|
Gitea 备份:
|
||||||
|
|
||||||
|
- 本轮工程分析三份文档。
|
||||||
|
- `工程分析/经验记录.md`。
|
||||||
|
|
||||||
|
## 提交与部署策略
|
||||||
|
|
||||||
|
- 不暂存 `新撰写软著文档/` 和 `head-ct-demo-pose-data.json`。
|
||||||
|
- 仅暂存本轮工程分析文档与经验记录。
|
||||||
|
- commit message 包含 `2026-05-20-12-09-47`。
|
||||||
|
- 推送后重启 `tmux` 会话 `revoxelseg-dicom` 并验证服务。
|
||||||
67
工程分析/测试方案-2026-05-20-12-09-47.md
Normal file
67
工程分析/测试方案-2026-05-20-12-09-47.md
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# 测试方案:章节配图与系统使用视频验证
|
||||||
|
|
||||||
|
测试方案文档路径:`工程分析/测试方案-2026-05-20-12-09-47.md`
|
||||||
|
|
||||||
|
## 静态检查
|
||||||
|
|
||||||
|
- 统计 `新撰写软著文档/1. 软著说明书.md` 中 `## X.` 章节数量。
|
||||||
|
- 检查每个 `## X.` 章节内均有至少一个 Markdown 图片引用。
|
||||||
|
- 检查所有图片引用文件存在。
|
||||||
|
- 检查无 `[插入图片]` 占位符残留。
|
||||||
|
- 检查 `新撰写软著文档/系统使用视频/系统使用视频.mp4` 存在且大小不为 0。
|
||||||
|
- 使用 `ffprobe` 或 `ffmpeg` 检查视频时长与编码信息。
|
||||||
|
|
||||||
|
## 构建检查
|
||||||
|
|
||||||
|
- 在 `WebSite/` 执行 `npm run build`。
|
||||||
|
|
||||||
|
## 关键业务场景验证
|
||||||
|
|
||||||
|
- 截图覆盖登录、总体概况、项目库、DICOM 浏览、DICOM 信息、STL 模型、构件层级、分割结果、逆向工作区、融合视角、可视化工具栏、位姿导入、映射视图、保存结果、导出选项、系统管理和退出。
|
||||||
|
- 视频覆盖从登录到项目浏览、进入逆向工作区、导入 `head-ct-demo-pose-data.json`、查看映射视图和打开导出选项。
|
||||||
|
|
||||||
|
## 医学影像数据相关边界验证
|
||||||
|
|
||||||
|
- 视频和截图使用默认演示项目,不执行破坏性数据操作。
|
||||||
|
- 位姿导入使用指定 JSON 文件并确认界面出现导入成功状态。
|
||||||
|
- 逆向工作区截图与视频使用软件 WebGL 兜底,避免三维视图空白。
|
||||||
|
|
||||||
|
## Word 与素材验证
|
||||||
|
|
||||||
|
- 重新生成 `1. 软著说明书.docx`。
|
||||||
|
- 使用 `unzip -t` 验证 Word 完整性。
|
||||||
|
- 使用 `unzip -l` 检查 Word 内嵌图片数量不少于章节数。
|
||||||
|
- 更新 `功能验证与素材清单.md`。
|
||||||
|
|
||||||
|
## 部署验证
|
||||||
|
|
||||||
|
- 验证 `http://127.0.0.1:4000/api/health`。
|
||||||
|
- 验证 `http://127.0.0.1:4000/` 返回 200。
|
||||||
|
- 重新部署后复验服务。
|
||||||
|
|
||||||
|
## Git/Gitea 备份验证
|
||||||
|
|
||||||
|
- commit message 包含 `2026-05-20-12-09-47`。
|
||||||
|
- 推送 Gitea 成功后记录 commit。
|
||||||
|
- 确认 `新撰写软著文档/` 未被暂存或提交。
|
||||||
|
|
||||||
|
## 风险与回归关注点
|
||||||
|
|
||||||
|
- 不把视频、截图和软著 Word 纳入 Gitea。
|
||||||
|
- 不提交 `head-ct-demo-pose-data.json`。
|
||||||
|
- 不处理已有历史工程分析文档删除状态。
|
||||||
|
|
||||||
|
## 实际验证记录
|
||||||
|
|
||||||
|
- 说明书章节检查:`新撰写软著文档/1. 软著说明书.md` 中共有 23 个 `## X.` 章节。
|
||||||
|
- 图片覆盖检查:23 个章节均已配置图片引用,引用文件全部存在;`新撰写软著文档/images/` 中共有 23 张 `chapter-*.png` 章节图。
|
||||||
|
- 占位与技术痕迹检查:未发现 `[插入图片]`、接口、路由、payload、state、useState、useEffect、组件、函数等不适合软著说明书正文的残留表达。
|
||||||
|
- DICOM 信息截图处理:`chapter-09-dicom-info.png` 中患者姓名与患者编号显示区域已遮盖脱敏。
|
||||||
|
- 视频文件检查:`新撰写软著文档/系统使用视频/系统使用视频.mp4` 为 H.264,1280x800,276 帧,时长 46.000000 秒,大小 826695 字节。
|
||||||
|
- 位姿导入检查:第 16 章截图与视频素材使用 `head-ct-demo-pose-data.json`,界面显示“位姿数据已导入并保存”。
|
||||||
|
- Word 完整性检查:`unzip -t 新撰写软著文档/1. 软著说明书.docx` 通过。
|
||||||
|
- Word 图片嵌入检查:`unzip -l 新撰写软著文档/1. 软著说明书.docx | rg word/media | wc -l` 返回 23。
|
||||||
|
- 素材清单检查:`新撰写软著文档/功能验证与素材清单.md` 已更新 23 张章节截图、视频文件、位姿来源和脱敏说明。
|
||||||
|
- 构建检查:`WebSite/ npm run build` 通过,Vite 仅提示 chunk size warning。
|
||||||
|
- 重新部署检查:已重启 `tmux` 会话 `revoxelseg-dicom`,服务日志显示 `ReVoxelSeg DICOM server ready at http://0.0.0.0:4000/`。
|
||||||
|
- 服务检查:`http://127.0.0.1:4000/api/health` 返回 200,`http://127.0.0.1:4000/` 返回 200。
|
||||||
18
工程分析/经验记录.md
18
工程分析/经验记录.md
@@ -1207,3 +1207,21 @@ C. 解决问题方案
|
|||||||
D. 后续如何避免问题
|
D. 后续如何避免问题
|
||||||
|
|
||||||
默认演示数据和运行态输出要分开管理:默认项目资产可以入库,但导出文件、状态文件和用户临时数据仍应保持忽略。新增大体积医学数据前必须记录体积、文件数、脱敏/授权假设和远端推送结果;若体积继续增长,应评估 Git LFS 或独立数据包发布。
|
默认演示数据和运行态输出要分开管理:默认项目资产可以入库,但导出文件、状态文件和用户临时数据仍应保持忽略。新增大体积医学数据前必须记录体积、文件数、脱敏/授权假设和远端推送结果;若体积继续增长,应评估 Git LFS 或独立数据包发布。
|
||||||
|
|
||||||
|
## 2026-05-20-12-09-47 软著说明书逐章配图与视频需要同时校验交付格式
|
||||||
|
|
||||||
|
A. 具体问题
|
||||||
|
|
||||||
|
用户要求软著说明书中每一个 `## X.` 章节都配图,并录制系统使用视频,位姿导入必须使用 `head-ct-demo-pose-data.json`。如果只更新 Markdown 或只生成截图,不重新生成 Word 与视频,就会出现交付材料与源文档不一致的问题。
|
||||||
|
|
||||||
|
B. 产生问题原因
|
||||||
|
|
||||||
|
软著材料同时存在 Markdown、Word、截图目录和视频目录,多种格式之间没有自动同步机制;逆向工作区还依赖 WebGL 和隐藏文件输入,普通截图流程容易漏掉位姿导入成功状态或生成空白三维画面。
|
||||||
|
|
||||||
|
C. 解决问题方案
|
||||||
|
|
||||||
|
使用 Chrome 自动化打开系统核心页面并导入 `head-ct-demo-pose-data.json`,生成 23 张章节截图并插入到说明书 23 个 `## X.` 章节下;对 DICOM 信息截图中的患者姓名与编号区域进行遮盖脱敏;使用 `ffmpeg` 生成 H.264 MP4 系统使用视频;重新生成 `1. 软著说明书.docx` 并通过 `unzip -t` 和 `word/media` 数量检查确认 23 张图片已嵌入。
|
||||||
|
|
||||||
|
D. 后续如何避免问题
|
||||||
|
|
||||||
|
软著说明书增加、删除或改名章节后,应重新跑“章节数、图片数、图片文件存在、Word 媒体数量、视频信息”五类检查。涉及医学影像信息截图时必须先确认是否存在患者姓名、编号等敏感字段;涉及位姿展示时必须记录所用 JSON 文件,并在截图或视频中保留导入成功状态。
|
||||||
|
|||||||
59
工程分析/需求分析-2026-05-20-12-09-47.md
Normal file
59
工程分析/需求分析-2026-05-20-12-09-47.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# 需求分析:软著说明书逐章配图与系统使用视频录制
|
||||||
|
|
||||||
|
开始时间:`2026-05-20-12-09-47`
|
||||||
|
|
||||||
|
## 原始需求摘要
|
||||||
|
|
||||||
|
用户要求:
|
||||||
|
|
||||||
|
1. 软著说明书中每一项 `## X.` 都配一个图。
|
||||||
|
2. 录制一个系统使用视频。
|
||||||
|
3. 视频中上传/导入位姿时使用 `head-ct-demo-pose-data.json`。
|
||||||
|
|
||||||
|
## 业务目标
|
||||||
|
|
||||||
|
- 让软著说明书每个二级章节均具备对应截图,形成完整图文说明。
|
||||||
|
- 生成可用于软著材料附件或演示留档的系统使用视频。
|
||||||
|
- 视频覆盖登录、项目浏览、逆向工作区、位姿导入、映射视图、导出选项等核心流程。
|
||||||
|
|
||||||
|
## 输入与输出
|
||||||
|
|
||||||
|
输入:
|
||||||
|
|
||||||
|
- `新撰写软著文档/1. 软著说明书.md`
|
||||||
|
- `新撰写软著文档/images/`
|
||||||
|
- `head-ct-demo-pose-data.json`
|
||||||
|
- 当前运行系统 `http://127.0.0.1:4000/`
|
||||||
|
|
||||||
|
输出:
|
||||||
|
|
||||||
|
- 更新 `新撰写软著文档/1. 软著说明书.md`
|
||||||
|
- 更新 `新撰写软著文档/1. 软著说明书.docx`
|
||||||
|
- 新增或更新 `新撰写软著文档/images/` 中 23 张章节截图
|
||||||
|
- 新增 `新撰写软著文档/系统使用视频/系统使用视频.mp4`
|
||||||
|
- 更新 `新撰写软著文档/功能验证与素材清单.md`
|
||||||
|
|
||||||
|
## 影响范围
|
||||||
|
|
||||||
|
- 仅影响软著材料本地输出目录和本轮工程分析记录。
|
||||||
|
- 不修改产品源码。
|
||||||
|
- 软著材料继续不纳入 Gitea;仅工程分析文档和经验记录进行备份提交。
|
||||||
|
|
||||||
|
## 关键约束
|
||||||
|
|
||||||
|
- 每个 `## X.` 章节至少有一张图片,且图片文件实际存在。
|
||||||
|
- 视频录制过程中必须使用 `head-ct-demo-pose-data.json` 完成位姿导入。
|
||||||
|
- 三维页面截图和视频需使用软件 WebGL 兜底,避免空白画面。
|
||||||
|
- 说明书 Word 需嵌入所有章节图片。
|
||||||
|
|
||||||
|
## 风险点
|
||||||
|
|
||||||
|
- Headless 环境可能无法创建 WebGL 上下文,需要使用软件渲染参数。
|
||||||
|
- 浏览器文件上传需通过自动化协议设置隐藏文件输入。
|
||||||
|
- 视频生成依赖 `ffmpeg`,若编码失败需保留截图序列并记录原因。
|
||||||
|
- 当前工作区存在历史文档删除状态和软著未跟踪目录,提交时需精确暂存。
|
||||||
|
|
||||||
|
## 默认假设
|
||||||
|
|
||||||
|
- 系统使用视频存放在 `新撰写软著文档/系统使用视频/`,作为软著本地材料,不提交到 Gitea。
|
||||||
|
- 说明书每章配图可使用不同操作状态截图、局部截图或同一功能区不同状态截图,但不使用空白、错误或严重遮挡画面。
|
||||||
Reference in New Issue
Block a user