dsh-film 0.3.4 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -37,7 +37,7 @@ A film workbench for DeepSeek Harness and VibeDev: three right-sidebar tabs —
37
37
  **从 GitHub Release 安装**:插件页的“包名或地址”和上面的命令也接受 Release 里的 `.tgz` 直链,例如
38
38
 
39
39
  ```
40
- https://github.com/VibeDev-Si/dsh-film/releases/download/v0.3.4/dsh-film-0.3.4.tgz
40
+ https://github.com/VibeDev-Si/dsh-film/releases/download/v0.3.5/dsh-film-0.3.5.tgz
41
41
  ```
42
42
 
43
43
  直链不经过安装源,需要本机能直接访问 GitHub(或配好代理)。包约 3 MB。网速很慢时仍可能超过 pnpm 默认的 60 秒下载时限而失败:这时改为按包名从中国大陆镜像源安装;也可以把时限调长:pnpm 11(DeepSeek Harness 和 VibeDev 桌面版自带的就是它)不再从 `~/.npmrc` 读取这个设置,要在 pnpm 的全局配置 `config.yaml` 里加一行 `fetchTimeout: 600000`(Windows:`%LOCALAPPDATA%\pnpm\config\config.yaml`;macOS:`~/Library/Preferences/pnpm/config.yaml`;Linux:`~/.config/pnpm/config.yaml`),或设环境变量 `pnpm_config_fetch_timeout=600000`;pnpm 10 及更早的版本则在 `~/.npmrc` 里加 `fetch-timeout=600000`。
@@ -56,13 +56,22 @@ Requires DeepSeek Harness 0.2.x or VibeDev (VibeDev Next), which is built on it.
56
56
 
57
57
  - **Plugin page** (recommended): Plugins → Add plugin → install a third-party plugin by package name, enter `dsh-film`, pick the npm registry or the China mirror under the install source, and install.
58
58
  - **Command line**: for the DeepSeek Harness desktop app, quit it fully, then run `dsh plugin --profile desktop add dsh-film` (the `dsh` command is installed from the app menu). VibeDev Next's command is `vibedev-app` (app menu → Manage vibedev-app Command…): quit the app fully, then run `vibedev-app plugin --profile desktop add dsh-film`; it keeps its data in `~/.vibedev-app`, which `dsh` does not reach. With the npm `dsh` CLI, run `dsh plugin add dsh-film`.
59
- - **GitHub Release**: the plugin page and the commands also take the release asset URL, e.g. `https://github.com/VibeDev-Si/dsh-film/releases/download/v0.3.4/dsh-film-0.3.4.tgz`. It is fetched straight from GitHub, not through a registry. The file is about 3 MB; if a very slow connection still hits pnpm's default 60-second fetch timeout, install by name from the mirror instead, or raise the timeout — pnpm 11 (the one the desktop apps ship) no longer reads it from `~/.npmrc`, so add `fetchTimeout: 600000` to pnpm's global `config.yaml` (Windows `%LOCALAPPDATA%\pnpm\config\config.yaml`, macOS `~/Library/Preferences/pnpm/config.yaml`, Linux `~/.config/pnpm/config.yaml`) or set `pnpm_config_fetch_timeout=600000`; pnpm 10 and earlier take `fetch-timeout=600000` in `~/.npmrc`.
59
+ - **GitHub Release**: the plugin page and the commands also take the release asset URL, e.g. `https://github.com/VibeDev-Si/dsh-film/releases/download/v0.3.5/dsh-film-0.3.5.tgz`. It is fetched straight from GitHub, not through a registry. The file is about 3 MB; if a very slow connection still hits pnpm's default 60-second fetch timeout, install by name from the mirror instead, or raise the timeout — pnpm 11 (the one the desktop apps ship) no longer reads it from `~/.npmrc`, so add `fetchTimeout: 600000` to pnpm's global `config.yaml` (Windows `%LOCALAPPDATA%\pnpm\config\config.yaml`, macOS `~/Library/Preferences/pnpm/config.yaml`, Linux `~/.config/pnpm/config.yaml`) or set `pnpm_config_fetch_timeout=600000`; pnpm 10 and earlier take `fetch-timeout=600000` in `~/.npmrc`.
60
60
  - **A fresh release**: pnpm 11 installs only versions published at least a day ago (`minimumReleaseAge`). The very first version is not held back: installing by name a package with no earlier version installs it and adds it to `minimumReleaseAgeExclude`. After each later release, an install by name gets the previous version for a day; to get the new one at once, install the exact version (`dsh-film@<version>`) or use the release URL.
61
61
  - **Not from the git repository**: `lib/`, `client/` and `apps/` (the storyboard and director desk front ends) are build outputs that are not in git, so installing from the repository URL fails (it does not leave a plugin that cannot work).
62
62
  - **The VibeDev account & models plugin is optional**: only image and video generation on the storyboard needs [@vibedev-si/dsh-vibedev](https://github.com/VibeDev-Si/dsh-vibedev) (formerly dsh-media; sign in to VibeDev at the bottom of the sidebar or in Settings → VibeDev account). Everything else works without it; installing the workbench from the VibeDev Plugin Center installs it too. The storyboard lists for each video model the modes that plugin accepts: lanes that declare no first frame (Seedance 2.5 (VibeDev), 2.5 30s (VibeDev), 2.5 480p 30s (山海) and the three lec lanes; Seedance 2.5 特价按次 takes a first frame and keeps image-to-video) offer no image-to-video, and a single image goes as a 全能参考 (multi-reference) reference image instead, also for nodes saved as image-to-video earlier.
63
63
 
64
64
  Then open the right sidebar of a session that has a workspace and pick a part on its start page. The first time a film tab opens, the plugin creates the film — named after the workspace folder, 16:9, with an empty storyboard — with no form to fill in. Rename it and pick its frame in the header the three tabs share: click the title to edit it (up to 80 characters; Enter or clicking away saves, Esc cancels); the frame is the film's aspect ratio, which the storyboard canvas and the director desk use (16:9, 9:16, 1:1, 4:5, 21:9, 2.39:1). A 4:3 film made by 0.1.0 keeps and shows its frame. To upgrade, install the new version over the old one (no need to uninstall first), then restart DeepSeek Harness / VibeDev: until you do, the workbench shows a banner asking for the restart and does not open the storyboard or the director desk. Your film stays in the workspace's `film/` folder either way.
65
65
 
66
+ ### 0.3.5 版本说明 · 0.3.5 release note
67
+
68
+ - **官方旧桌面(旧转发)下的「兼容播放」**:官方 DSH 旧转发让播放器学不到可定位区间(进度条点不动、无法拖动)时,视频节点和放大预览会多一个「兼容播放」按钮;用户点一次才**完整读取当前视频**,读完按播放键即可播放并拖动进度。**读取会临时占用与视频大小相当的内存**(构造时还会额外占用,具体以浏览器实际占用为准),**读取中可以取消,取消、失选、换源或离开节点都会中止并释放**;画布保存的原始视频地址一字不改。正常 Web(VibeDev 与普通 http 转发)不出现这个入口,播放与拖动照旧走流式范围请求。本版覆盖**视频节点、放大预览、字幕编辑器预览与裁剪条胶片条**(读取后胶片条不再是全第一帧)。
69
+ - **仍未适配**:离屏截帧(截帧/出片)与拼接、截取、音频等编辑对话框各自持有播放器元素,在官方旧转发下仍可能无法定位进度,留待后续。
70
+ - 0.3.4 的范围响应修复继续生效:一次范围请求按客户端要求完整返回(开放式、有限段、后缀尾段),流式且可取消。
71
+
72
+ - **A "Prepare playback" entry for the official shell's old forwarding**: when the official DSH's old forwarding leaves the player with no seekable range (the progress bar cannot be dragged), a video node and its enlarged preview gain a "Prepare playback" button. One click **reads the whole video once**; after that, the play button plays it and the progress bar can be scrubbed. **The read temporarily holds memory comparable to the video's size** (assembling it takes more; the browser's actual usage decides), **it can be cancelled, and cancelling, deselecting, switching the source or leaving the node aborts and releases it**; the board's saved video address is never rewritten. Normal web (VibeDev and plain http forwarding) shows no such entry — play and seek keep using streaming range requests. This version covers the **video node, the enlarged preview, the subtitle editor's preview and the trim bar's filmstrip** (frames are no longer all the first frame once the file is read).
73
+ - **Not adapted yet**: offscreen frame capture (frames/export) and the join, cut and audio dialogs each hold their own media element; on the old forwarding they may still be unable to seek. Follow-up.
74
+
66
75
  ### 0.3.4 版本说明 · 0.3.4 release note
67
76
 
68
77
  - **视频读取范围修复**:媒体服务完整返回播放器所请求的单个字节区间,取消把请求主动截短到 8 MiB 的行为。原片的尾部索引因此能正常读取;响应继续从文件流式发送,客户端断开即停止,不重编码、不替换素材。桌面视频跳转还需要 VibeDev Next 的未压缩响应长度保留修复,两者配合验收。
@@ -1 +1 @@
1
- import{r,R as x,L as d,j as f,A as p}from"./index-C_MTtFXn.js";var N=({code:i,language:e,raw:a,className:u,startLine:n,lineNumbers:g,...m})=>{let{shikiTheme:l}=r.useContext(x),s=d(),[h,t]=r.useState(a);return r.useEffect(()=>{if(!s){t(a);return}let o=s.highlight({code:i,language:e,themes:l},c=>{t(c)});o&&t(o)},[i,e,l,s,a]),f.jsx(p,{className:u,language:e,lineNumbers:g,result:h,startLine:n,...m})};export{N as HighlightedCodeBlockBody};
1
+ import{r,R as x,L as d,j as f,A as p}from"./index-B1ocSiaC.js";var N=({code:i,language:e,raw:a,className:u,startLine:n,lineNumbers:g,...m})=>{let{shikiTheme:l}=r.useContext(x),s=d(),[h,t]=r.useState(a);return r.useEffect(()=>{if(!s){t(a);return}let o=s.highlight({code:i,language:e,themes:l},c=>{t(c)});o&&t(o)},[i,e,l,s,a]),f.jsx(p,{className:u,language:e,lineNumbers:g,result:h,startLine:n,...m})};export{N as HighlightedCodeBlockBody};