Rust 重构的STS摄影表编辑器
- 快速轻量:优化后的可执行文件约 3MB,内存占用极小
- 多格式支持:支持 STS、CSV、XDTS、TDTS、SXF 格式读写,以及 AE 关键帧导出
- 主题设置:支持浅色/深色/跟随系统主题切换
- AE 关键帧导出:可复制关键帧数据到剪贴板或导出文件,方便粘贴到 After Effects
- 灵活的输入方式:Enter 键可配置跳步(
/减少,*增加),自动填充跳过的单元格 - 多文档编辑:可同时打开最多 100 个文档
- 批量编辑:支持重复选区、反转选区、序列填充等批量操作
- 偏好设置:CSV 编码、AE 关键帧版本、自动保存等可配置
- 点击 文件 -> 新建 或按 Ctrl+N(macOS: Cmd+N)
- 配置参数:
- 名称:时间表名称
- 图层数:图层数量(1-1000)
- 帧率:帧速率(24 或 30)
- 每页帧数:每页显示的帧数(12-288)
- 时长:总时长,格式为秒+帧(例如:6s + 0k)
- 点击 确定 创建
- 点击 单元格开始编辑
- 输入 数字并按 Enter 向下移动(按跳步数)
- 方向键 在编辑时导航
- 空输入 + Enter 复制上方单元格的值
- Esc 取消编辑
- 拖动 选择多个单元格
- 右键 打开上下文菜单(复制、剪切、粘贴、删除、重复、反转、序列填充、复制 AE 关键帧)
- 支持系统剪贴板(与 Excel 兼容的 TSV 格式)
- 重复选区:将选中区域重复 N 次或填充到末尾
- 反转选区:反转选中的动画序列
- 序列填充:用递增数字填充帧(例如:1, 2, 3, 4...)
| 快捷键 | macOS | 功能 |
|---|---|---|
| Ctrl+N | Cmd+N | 新建文档 |
| Ctrl+O | Cmd+O | 打开文件 |
| Ctrl+S | Cmd+S | 保存文件 |
| Ctrl+Z | Cmd+Z | 撤销 |
| Ctrl+C | Cmd+C | 复制 |
| Ctrl+X | Cmd+X | 剪切 |
| Ctrl+V | Cmd+V | 粘贴 |
| Delete | Delete | 删除选中内容 |
| Enter | Enter | 确认编辑并向下移动(按跳步数) |
| Tab | Tab | 切换到下一图层 |
| 方向键 | 方向键 | 导航单元格 |
/ |
/ |
减少跳步数 |
* |
* |
增加跳步数 |
| Esc | Esc | 取消编辑 |
| 格式 | 导入 | 导出 | 说明 |
|---|---|---|---|
| STS | Y | Y | ShiraheiTimeSheet 二进制格式(Shift-JIS 编码,最多 255 图层 / 65535 帧) |
| CSV | Y | Y | 多编码支持(UTF-8、GBK、Shift-JIS) |
| XDTS | Y | - | XML 格式 |
| TDTS | Y | - | XML 格式 |
| SXF | Y (beta) | - | 二进制格式(可读取,但解析结果存在错误) |
| AE Keyframe | - | Y | After Effects 关键帧数据(剪贴板或文件导出) |
应用本身支持最多 1000 个图层 和 100,000 帧,但 STS 格式受限于 255 图层 / 65535 帧。
使用 encoding_rs 库处理 Shift-JIS 编码:
- 读取时自动解码为 UTF-8
- 保存时转换回 Shift-JIS
- 兼容日文图层名称
# 调试
cargo build
# 发布
cargo build --release发布版本的可执行文件:
- Windows:
target/release/sts.exe - macOS / Linux:
target/release/sts
- egui 0.29 - GUI 框架
- eframe 0.29 - 原生窗口包装器
- serde / serde_json - 序列化
- encoding_rs - Shift-JIS 编码/解码
- rfd - 原生文件对话框
- anyhow / thiserror - 错误处理
- csv - CSV 读写
- regex - 正则表达式
- image - 图标处理
- dirs - 跨平台配置目录
- winreg - Windows 注册表(仅 Windows)
- Windows: Windows 7 或更高版本
- macOS: macOS 10.13 或更高版本
- Linux: 现代 Linux 发行版(需要 X11 或 Wayland)
Apache-2.0
欢迎提交问题和拉取请求!
# 克隆仓库
git clone https://github.com/ChenxingM/sts-rust.git
cd sts-rust
# 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 运行测试
cargo test
# 启动开发版本
cargo run- 使用
rustfmt格式化代码 - 使用
clippy检查代码质量 - 编写测试覆盖关键功能
cargo fmt
cargo clippy
cargo test- 原始 ShiratakeTimeSheet 作者
- egui GUI 框架
如有问题或建议,请提交 Issue 或 Pull Request。