Releases: BUGJI/beat_data_generator
Release list
v0.3.7 交互快捷键与无障碍优化
交互与界面
- 时间线滚动条:修复横向滚动条被底部状态栏遮挡、竖向滑块滚动到底部时溢出轨道的问题;点击滚动条轨道空白可直接跳转,拖动滑块时保持抓取点不跳变
- 音频分析面板可拖动:标题栏可拖动并记住位置(会话内),窗口缩放时自动收回可视区域
- 文件菜单在无最近工程时显示「暂无最近工程」占位,不再留白
- 侧栏「新建轨道」菜单改为按内容自适应高度(此前固定 260px,选项少时留大片空白)
快捷键
- 新增:
Ctrl+0适配视图、Ctrl+=/Ctrl++放大、Ctrl+-缩小 - 新增:
,/Alt+←与./Alt+→选中并跳到上一个 / 下一个标记;M在播放头处放置标记 - 设置 → 快捷键面板同步以上条目,重做项补充
Ctrl+Shift+Z
无障碍
- 时间线编辑器可聚焦(
tabindex+role="application"+ 可访问名),新增隐藏的aria-live区域朗读当前选中的标记 / BPM 点与时间;画布标记为装饰性
性能
- 悬停命中的标记检索由逐点线性扫描改为按拍位二分定位
界面统一
- 便签、属性卡、插件窗口、分析面板的关闭 / 锁定 / 拖拽手柄图标统一为 lucide 图标(移除 emoji 与字符图标,跨系统渲染一致)
内部
-
移除
SideBar中未使用的renameBusy死代码,清理仓库根目录残留的设备名文件 -
安装包:
Beat-Data-Generator-0.3.7-setup.exe
v0.3.6 修复静默校验期间切换工程的误报
修复
- 修复在打开工程的静默音频 MD5 校验期间切换 / 新建工程后,校验完成时把上一个工程的音频 MD5 与新工程的记录比较、误报「音频与工程记录的 MD5 不一致」的问题:音频加载引入世代号,切换工程即作废进行中的加载,过期的解码 / 校验结果不再写入当前工程
- 打开工程在读取音频、分析、收尾各阶段都会检测工程是否已被切换,避免旧工程状态覆盖新工程
- 便签编辑提示改用图标:此前编辑角标是 CSS
content: "dbl-click:edit"硬编码的英文提示,现改为 lucide 铅笔图标(.note-edit-hint),未锁定的便签悬停时在正文右下角显示,锁定便签不显示
文档
-
补充
docs/plugin-system.md中循环组setMarkerLoop的说明:间隔 / 个数 / exclude / 上限 / 退化行为 -
安装包:
Beat-Data-Generator-0.3.6-setup.exe
v0.3.5 韩语界面与 Linux 打包
国际化
- 新增韩语界面:完整的
i18n/ko.ts词条表(约 570 条),欢迎窗口与主进程原生对话框同步支持韩语 - 语言检测与设置新增
ko:系统语言为韩语时自动切换,设置 → 常规 → 语言下拉新增「한국어」并可持久化;修复语言 setter 将非英文值误存为中文的问题 - 新增韩语 README(
README_KO.md),中英文 README 的语言切换与国际化说明同步更新 - i18n 测试扩展为 zh / en / ko 三向 key 对齐校验
Linux 打包与发布
- 新增 Linux 打包目标(AppImage + deb)与
dist:linux脚本;deb 补全维护者信息与desktopName,修正窗口与.desktop关联 - 自动更新在 Linux 上仅 AppImage 启用自更新,deb / rpm 返回「不支持」
- 新增
release.yml:打 tag 触发多平台打包发布,dev分支仅做打包演练 - 三语 README 补充 Linux 打包与发布说明
内部
-
.gitignore忽略 Windows 保留设备名nul -
安装包:
Beat-Data-Generator-0.3.5-setup.exe
v0.3.4 · 结构收敛、IPC 类型化与交互优化
0.3.4 · 结构收敛、IPC 类型化与交互优化
内部结构(无界面行为变化)
- 统一导入别名:
@shared/@renderer已配置但此前闲置,现将跨模块的深层相对路径((../)+shared/...及 renderer 内 3 层以上导入)统一改用别名 - 新增
shared/ipc.ts的IPC常量表,作为 preload 与主进程共同的唯一通道来源;新增主进程handle()注册器,把每个 handler 的通道名与入参 / 返回值绑定到IpcApi,通道或签名不一致会直接编译报错 - 抽取共享路径工具
shared/path.ts(normalizeSlashes/dirName/baseName/isAbsolutePath/joinPath/relativeToDir),替换 renderer 与主进程中 5 处重复实现 - 主题色解析抽出
hexToRgb复用;新增通用UiIconButton,ProjectBar快捷按钮改用该组件 + lucide 图标,移除约 130 行内联 SVG 与重复样式 - 新增退出前未保存守卫所用的 IPC 通道(
app:set-dirty/app:confirm-quit/app:quit-request),并纳入通道表回归测试
交互与界面
- 时间轴悬停光标反馈:空白区 / 标记 / BPM 点显示可放置或可拖拽形态,拖动、滚动、框选、快速画笔分别显示对应光标
- 数值输入框支持 ↑/↓ 步进(步进前先提交半输入的值)
- 轨道重命名按 Esc 取消修改(此前只能回车 / 失焦提交)
- Esc 逐层关闭:先关音频分析面板,再关属性卡
- 快捷键可发现性:文件 / 编辑菜单显示 Ctrl+S / Z / Y / X / C / V,撤销 / 重做在无可操作时置灰
- 窄窗口自适应:窗口变窄时依次隐藏缩放 / 采样率 / 网格等次要读数,收紧项目栏与底部走带栏布局,窄窗下隐藏「音量」文字
- 提高次要文字与禁用态在暗色主题下的对比度
- 无障碍:音高跟随开关、速度输入、音量滑杆补充可访问名;播放 / 停止 / 回到起点补充
aria-label;数字微调按钮移出 Tab 与读屏序列 - 工具提示去掉每个实例重复的 Provider,减少组件开销
性能
- 标记绘制按可见拍位区间二分裁剪,屏幕外标记不再逐帧参与遍历
修复
- 插件
callMain:修正invokePlugin参数被多包一层数组的问题,插件主进程处理器现在收到正确展开的参数 - 修复 BPM 密度条颜色不生效:Canvas 不支持以 CSS 变量作为填充色,改用调色板常量着色
- 修复首屏空白工程与打开工程(音频 MD5 静默校验)时误显示「未保存」:系统生成的默认轨道不再标记为已修改;加载工程自带音频不再计入用户编辑(此前整个静默校验与分析期间都会显示未保存)
- 新增退出未保存守卫:关闭窗口时若工程有未保存修改,弹出「保存并退出 / 放弃并退出 / 取消」,经正常保存流程写盘后再退出(此前仅询问是否退出,新建工程未选择保存路径时可能丢失修改)
- 界面细节:首屏 CSS 变量与主题定义对齐,消除启动瞬间的文字色跳变;修复自定义滚动条被标准
scrollbar-color覆盖而不生效;移除 Element Plus 残留样式;设置弹窗关闭按钮统一改用图标 - 样式系统:新增等宽字体、控件尺寸、派生圆角与禁用态透明度 token,统一主编辑器与设置面板的字体 / 尺寸 / 圆角 / 置灰表现;输入框恢复文本可选中;时间线状态栏吸附提示纳入 i18n;轨道行高亮、设置搜索结果闪烁与面板过渡遵循系统「减少动态效果」
- 样式系统(续):字号抽为
--bdg-fs-*命名 token,替换 100 余处重复的calc(Npx * var(--bdg-font-scale));层叠顺序集中为--bdg-z-*;插件菜单状态与轨道便签改用 lucide 图标,移除字符占位与内联 SVG
测试
- 新增
path/ipc(通道表回归)/limits/text单测,并补充theme颜色工具用例 - 新增工程打开回归测试:默认轨道不标脏、打开工程匹配 / 不匹配 / 无音频均保持干净、用户加载音频仍标脏
安装包:Beat-Data-Generator-0.3.4-setup.exe
English summary
- Chore: ignore the Windows reserved device name
nul. - Fix: the unsaved indicator no longer shows on a blank first screen or while opening a project during the silent audio MD5 check. The synthetic default track is not counted as an edit, and loading a project's own audio is not marked dirty (previously the whole silent check + analysis appeared as unsaved).
- Internal: unified
@shared/@rendererimport aliases; added a typedIPCchannel table with a main-processhandle()registrar bound toIpcApi; extracted shared path helpers; added a reusableUiIconButton; added the quit-guard IPC channels. - UI: timeline hover cursors, arrow-key stepping in number inputs, layered Esc closing, shortcut discoverability, narrow-window adaptation, better dim/disabled contrast, and accessibility labels for icon-only controls.
- Perf: culled off-screen markers when drawing the beat grid; removed per-instance tooltip providers.
- Also included: the unsaved-changes quit guard, theme/style token system, and additional unit tests.
v0.3.3 · 结构优化与国际化
0.3.3 · 结构优化与国际化
国际化
- 语言的唯一数据源改为响应式的 i18n locale:切换语言后,插件菜单、插件名等派生文案即时刷新(修复此前不刷新的问题)
- 语言偏好持久化为设置项
locale(auto跟随系统 /zh/en);主进程原生对话框、退出确认与更新通知都跟随所选语言 - 欢迎窗口完成本地化,并改用轻量的 locale 助手,不再打包 vue-i18n
- 自动节拍轨道名、便签默认文本等硬编码文案纳入词条表
性能与内部重构
- 撤销 / 重做快照改为存 JSON 文本:捕获与「无操作」检测各只序列化一次,并按总字节数限制历史体积,大工程不再固定囤 100 份完整文档
- 时间线的 tempo map、按轨道分组的标记索引、内容长度从模块级缓存改为 Pinia getter,缓存随 store 实例生命周期释放
- 拆分超大文件(无界面行为变化):主进程入口
index.ts1081 → 54 行;插件市场 822 行拆为 registry / inventory / installer;工程 store 924 行按 store / queries / tracks / markers / notes / bpm / timeAlign 拆分 - 设置迁移逻辑集中到
shared/settings.ts,消除主进程与渲染进程的重复
修复
- 主进程原生对话框统一优先绑定主窗口,窗口不存在时安全返回,不再因
win()!在窗口关闭期间收到 IPC 而抛错
安装包:Beat-Data-Generator-0.3.3-setup.exe
English summary
- i18n: a single reactive locale source (switching language now refreshes plugin menus/names); the preference is persisted as the
localesetting (auto/zh/en) and applied to native dialogs, the quit prompt and the update notification; the welcome window is localized and no longer bundles vue-i18n. - Refactor: split oversized files — main entry 1081 → 54 lines, marketplace 822 lines into registry/inventory/installer, project store 924 lines by domain; settings migration consolidated into
shared/settings.ts. - Perf: undo/redo snapshots stored as JSON text and size-bounded; timeline-derived data moved to Pinia getters.
- Fix: main-process dialogs prefer the main window and return safely when none exists (no more
win()!crash).
v0.3.2 · 稳定性与无障碍
稳定性与无障碍版本:修复撤销栈与保存竞态,补齐设置弹窗与控件的无障碍语义,并把 SettingsModal / Timeline 拆分为独立模块与子组件;同时优化音频加载校验,打开工程更快、更安静。
撤销 / 工程读写
- 撤销快照补上「BPM 锁定」状态,锁定 / 解锁现在能正确撤销与重做
- 删除被锁定轨道、粘贴全部冲突等空操作不再留下「幽灵」撤销项;重命名 / 换色 / 锁定 / 隐藏同值、拖动到原拍位也不再记录
- 保存改为先序列化再写盘,写盘期间的新编辑不再被误判为「已保存」
- 打开工程时等待音频分析完成且不自动改写 BPM / 打点,避免污染撤销栈并误标为已修改
- 音频分析加入请求序号:旧音频的慢结果不会覆盖新音频;分析线程报错会失败挂起的请求并重建,不再永久等待
- 非自由输入下禁止在拍位 0 创建 / 拖动 BPM 点(此前存盘后会静默丢失)
音频加载与校验
- 打开工程时在同一次文件读取里顺带计算音频 MD5,去掉第二次整文件读取与一次 IPC 往返,大文件打开更快
- 打开工程不再弹出「✔ 工程名」顶部提示;音频 MD5 一致时完全静默,仅不一致时由侧栏横幅提示重新链接
- 手动选择 / 重新链接音频时静默采用新文件与记录的 MD5,不弹出冲突提示
设置与无障碍
- 设置弹窗补齐对话框语义(
role="dialog"/aria-modal)、打开聚焦、关闭归位、Tab 焦点陷阱与 Esc 关闭 - 设置弹窗打开时挂起全局快捷键;纯图标按钮补充
aria-label,开关补充aria-pressed;Toast 增加实时区域 - 修复分析面板「点击外部关闭」因
pointer-events:none永不触发的问题,改为 Esc 关闭;补齐英文界面缺失文案
内部重构(无界面行为变化)
SettingsModal.vue4011 → 843 行;Timeline.vue2617 → 726 行,抽出渲染 / 几何 / 画布生命周期与子组件- 测试文件 8 → 11、用例 69 → 84
English summary
Stability and accessibility release. Fixes undo-stack and save race conditions, adds proper dialog/focus/ARIA semantics across the settings modal and controls, and splits the two largest components (SettingsModal, Timeline) into focused modules with unit tests. Audio loading is also faster and quieter: the MD5 is computed during the same file read (no second full read), opening a project no longer shows a toast, and a matching hash stays completely silent while only a real mismatch surfaces a relink banner.
v0.3.1 · 设置体验
0.3.1 · 设置体验
对新手更友好的设置界面:
- 新增「简化模式」,默认开启,隐藏进阶选项与「高级」分类;可在 设置 → 常规 关闭,或点击导航底部「显示全部设置」
- 搜索增强:支持口语化同义词(如“音量”“加速”“颜色”),结果中显示设置描述片段并高亮命中关键词
- 分类图标改用语义化图标;「记住窗口大小」「启动检测更新」从「高级」移到「常规」
- 精简「自动隐藏网格线」「时间拉伸引擎」等说明文案
- 无障碍:为搜索框、清除 / 展开 / 关闭等纯图标按钮补充
aria-label
外观与主题
- 主题 → 预设改为真实界面缩略图卡片,附明暗徽章与选中标记;切换主题时全局平滑过渡
- 新增「快速选择强调色」色板,强调色独立于预设,切换明暗主题时保持不变
- 主题 → 自定义改为分组卡片(色带 + 「恢复本组」),并新增右侧实时预览面板
- 原「显示 → 外观」并入 主题 → 外观:界面缩放(75%–150%)、字号缩放(85%–150%)、模糊强度、界面圆角、阴影强度
- 界面缩放走原生页面缩放,时间线与所有面板整体生效;字号缩放仅调整文字大小,不改动布局
- 新增「背景图片」:可选本地图片作为应用背景,支持铺满 / 完整显示 / 平铺、背景模糊(0–40px)与主题色变暗(0–100%),设置页内附当前图片预览
- 新增「面板不透明度」(默认 90%):面板半透明以透出背景图,可自行调低获得更明显的通透效果
启动与新建工程
- 新增「启动时打开欢迎窗口」设置(设置 → 常规,默认开启),可关闭启动时弹出的独立欢迎窗口
- 统一新建工程流程:文件菜单与欢迎窗口的「新建工程」都会先选择保存位置,再立即写盘并记入最近工程;取消则保持当前工程不变
设置性能与稳定性
- 拖动「界面缩放 / 字号 / 模糊强度 / 圆角 / 阴影」等滑杆时不再逐帧重算全部设置,改为停止后统一校验并持久化,交互更顺滑
- 修复:拖动「界面缩放」滑杆时页面缩放会带动设置面板一同缩放,导致滑杆数值乱跳;现改为仅在拖动结束后应用缩放
- 设置改动在退出前会立即落盘,避免在防抖窗口内关闭应用导致最后一次改动丢失
- 启动时不再重复写出
settings.json,仅在配置迁移或首次生成时写盘 - 修复:每次设置写入都会触发一次后台「检查更新」网络请求,现仅在开启该选项时检查
- 修复:清空自定义应用名后回退到内置默认名;主题自定义仅保留合法颜色值,避免配置中堆积无效项
设置分类与插件市场
-
信息架构:颜色与缩放 / 圆角 / 模糊等外观项统一到「主题」分类,减少在「显示」「主题」之间来回切换
-
导航顺序调整:「插件」前移到「快捷键」之前;简化模式不再隐藏整个「网络」分类,仅隐藏进阶的「代理来源」,保留便于配置市场加速的 GitHub 加速项
-
插件市场分类按固定品类顺序(导出 / 导入 / 联动 / 界面 / 工具 / 分析)展示,并显示各品类数量;未知品类自动美化展示
-
注册表
categories归一化(转小写、去空格、去重),避免重复芯片与英文 slug 泄漏;分类在刷新后失效时筛选自动重置,无匹配结果时给出空态提示 -
docs/plugin-system.md补充市场品类约定与新增品类的维护方式 -
安装包:
Beat-Data-Generator-0.3.1-setup.exe
v0.3.0 插件市场
插件市场
- 设置 → 插件 新增「插件市场」:浏览、搜索、分类筛选,一键安装 / 更新 / 卸载官方插件
- 索引来自 beat-data-generator/registry;安装前强制校验 SHA-256,解压时拦截路径穿越与超大文件
- 安装前显示信任提示;卸载仅作用于市场安装(带回执)的插件,不影响手动 / 开发插件
- 「已安装」页新增「从 ZIP 安装」,可离线安装本地插件包
- 索引本地缓存,可选有效期(1 天 / 3 天 / 1 周 / 1 个月);手动「刷新市场」始终重新拉取,网络失败回退到缓存
网络
- 新增「网络」设置:代理来源可选 系统代理 / 环境变量(
HTTP_PROXY、HTTPS_PROXY、ALL_PROXY)/ 不使用 - GitHub 加速:预设 gh-proxy 镜像(edgeone / hk / gh-proxy / dpik)+ 自定义,支持一键测试延迟
- 修复设置面板下拉框白底白字、看不清的问题(改为主题化控件)
内部
- 新增插件索引仓库与组织级插件发布工作流(reusable workflow)
- 依赖新增
fflate(纯 Node 解压)
安装包:Beat-Data-Generator-0.3.0-setup.exe
v0.2.15
变更
- 修复:插件类型轨道的属性卡里,数字 / 文本字段在点击卡片外时未提交,导致更改不记录、不保存(现在关闭卡片前会先提交聚焦的输入)
- 修复:复制踩点未复制插件属性值(
attrs),粘贴后变为默认值 - 内部:
updateMarkerAttrs改为 Pinia action,撤销 / 操作记录与其它编辑保持一致
安装
下载 Beat-Data-Generator-0.2.15-setup.exe 运行安装。
English
Bug-fix patch: plugin-typed track attribute fields (number/text) now commit before the property card closes instead of being silently dropped; copying markers keeps their plugin attrs instead of resetting to defaults. Installer: Beat-Data-Generator-0.2.15-setup.exe.
v0.2.14 公测版
很荣幸进入公测了,虽然什么都没做
变更
- docs: 更新 README 头部与截图位置
- 修复了已知BUG
安装
下载 Beat-Data-Generator-0.2.14-setup.exe 运行安装。
English
First public beta release. Docs: README header and screenshot placement refreshed, known bugs fixed. Installer: Beat-Data-Generator-0.2.14-setup.exe.