feat: 无限画布 UI 重构 + 预览键盘控制 + 拖拽体验优化 (0.0.27)
- CanvasPage: AntD Layout 双栏布局 (Sider+Content),预览状态提升解耦 DOM - CanvasSidebar (新): 项目/集数选择器 + 镜头搜索 + 列表 + 固定刷新按钮 - CategoryTabs (新): 双模式分类标签 (Assets/审核) + 数量徽标 + 媒体细分 - CanvasViewport: Ctrl/Cmd 拖拽平移 (pointerEvents:none 防误抓缩略图) - CanvasViewport: previewActiveRef 双守卫阻止预览穿透缩放/拖拽 - MediaPreview: 键盘控制 Space 暂停/播放、<- -> 快退快进 ±0.5s - electron/main.ts: local-media:// 协议 handler 转发 Range 头修复 seek - StageTabs: 无限画布入口按钮 + 全局字号上调 Range seek 调试: 之前 net.fetch 未转发 Range 头 → 浏览器 seek 时 返回 200 全文件而非 206 Partial Content → currentTime 赋值无法定位 → 播放位置回退到 0。修复: 提取 Range 头单向转发到 file:// handler。 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
31
CHANGELOG.md
31
CHANGELOG.md
@@ -1,6 +1,37 @@
|
||||
# 更新日志
|
||||
|
||||
> 每次发版前修改此文件,`npm run build:win` 打包后会自动读取生成 update-info.json。
|
||||
---
|
||||
## 0.0.27(2026-06-24)
|
||||
|
||||
**无限画布 UI 重构 + 预览键盘控制 + 拖拽体验优化**
|
||||
|
||||
### 无限画布
|
||||
|
||||
- **双栏布局重构**:AntD Layout(Sider + Content),左侧导航 + 右侧画布,页面级别渲染预览组件解耦 DOM
|
||||
- **CanvasSidebar**:项目/集数选择器 + 镜头搜索 + 镜头列表(滚动条 + 底部固定刷新按钮)+ 工作区切换
|
||||
- **CategoryTabs 双模式**:Assets 阶段 → 全部/角色/道具/场景/收藏;其他阶段 → 所有[阶段名]/收藏/待审核/通过/返修/已弃用
|
||||
- **分类数量徽标**:每个标签显示数据计数,"收藏"标签额外显示媒体类型细分(视频/图片/音频)
|
||||
- **Ctrl/Cmd + 拖拽平移**:替代 Space 键修饰,释放 Space 给媒体控制;`pointerEvents: none` 防止拖拽时误抓缩略图
|
||||
- **画布锁**:预览打开时 `previewActiveRef` 双守卫阻止穿透缩放/拖拽
|
||||
- **无限画布入口按钮**:StageTabs 右侧按钮,调用 `OPEN_CANVAS_WINDOW` IPC
|
||||
|
||||
### 预览键盘控制
|
||||
|
||||
- **Space 暂停/播放**:capture 阶段拦截 + `stopPropagation`,避免与原生 `<video controls>` 双重触发
|
||||
- **← → 快退/快进**:capture 阶段直接设置 `currentTime`,步长 ±0.5 秒
|
||||
- **↑ ↓ 音量**:透传给原生 controls 处理
|
||||
|
||||
### 主进程
|
||||
|
||||
- **local-media:// Range 头转发**:协议 handler 只提取并转发 `Range` 请求头到 `net.fetch`,确保音视频 seek 返回正确的 206 Partial Content
|
||||
|
||||
### UI 调整
|
||||
|
||||
- 全局字号上调(侧栏、工具栏、标签、状态栏等)
|
||||
- CanvasSidebar 滚动条定制 + 主题色适配
|
||||
- ProjectSelector / EpisodeSelector 宽度自适应
|
||||
|
||||
---
|
||||
## 0.0.26(2026-06-23)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user