基于 Tauri 2 + React 19 的桌面端游戏设计文档(Game Design Document)管理与项目进度追踪工具。面向独立游戏开发者,将文档、资产、任务集中管理,覆盖从概念到发布的完整开发周期。
- 类 Godot 风格的项目列表,支持收藏、标签筛选、排序
- 新建项目:自动初始化
Documents/、Tasks/、Assets/ 文件夹与 metadata.gdd
- 导入项目(通过
metadata.gdd)、批量扫描文件夹、打扫失效项目
- 项目移动、复制、标签管理

- 项目进度阶段卡片 —— 解析项目根目录下的
GameDesign.md,按二级标题自动映射为阶段(概念、设计、原型、制作、测试、发布等),三级标题作为各阶段的核心任务
- 工作区统计图表(d3):Documents 按时间维度统计,Assets 按类型统计,Tasks 按 TDDB 状态统计
- 相关资源链接瀑布图,汇集常用美术素材站、音频资源、开发工具与学习资料

- 文件管理器式的 Documents 浏览,支持卡片模式与列表模式
- 面包屑导航、右键菜单(新建文件夹/文档、重命名、删除、移动)
- 框选与拖拽移动,与 Windows 文件管理器行为一致
- 双击 Markdown 文档在独立子窗口中打开编辑器

- 图片、3D 模型(GLTF/GLB)、音频、字体等资产浏览,支持卡片/列表/瀑布图三种模式
- 内置
model-viewer 实现 3D 模型交互预览(含动画剪辑切换)
- 音频播放、字体元数据查看均在独立子窗口中完成
- 支持多选导入外部资产文件

- TDDB 四列看板:TODO / DOING / DONE / BLOCKED,使用颜色区分状态
- 任务时间追踪:
transform_time 记录状态迁移历史,target_time 设定截止时间,自动计算「还剩 / 超过 / 共计」
- 标签与全文搜索(标题、标签、描述、引用)
- 任务数据以 JSON 文件存储于项目
Tasks/ 目录

| 类别 |
技术 |
| 框架 |
React 19、TypeScript 5.8 |
| 构建 |
Vite 7 |
| 样式 |
Tailwind CSS 4、shadcn/ui(Radix UI) |
| 状态管理 |
Zustand |
| 路由 |
react-router-dom 7 |
| 可视化 |
d3 |
| Markdown |
react-markdown、remark-gfm、rehype-raw |
| 3D |
@google/model-viewer |
| 图标 |
lucide-react、@hugeicons |
| 字体解析 |
opentype.js |
| 类别 |
技术 |
| 桌面框架 |
Tauri 2 |
| 数据库 |
SQLx + SQLite |
| 序列化 |
serde、serde_json |
| 文件监听 |
notify |
| 音频元数据 |
lofty |
| 其他 |
chrono、uuid、tokio |
YssGDD/
├── index.html # 入口 HTML
├── vite.config.ts # Vite 配置(含 manualChunks 拆包)
├── package.json
├── src/
│ ├── app/
│ │ ├── main.tsx # React 入口
│ │ ├── App.tsx # 根布局(标题栏 + Dock + Suspense)
│ │ ├── App.css # 全局样式与主题变量
│ │ ├── routes.tsx # 路由定义(React.lazy 懒加载)
│ │ ├── screens/ # 各页面组件
│ │ ├── layout/ # DockNav、ShellTitleBar
│ │ ├── ui/ # 可复用 UI 组件
│ │ ├── tauri/ # 前端 Tauri IPC 封装
│ │ ├── project/ # 项目上下文与 Workspace Store
│ │ ├── domain/ # 领域类型定义
│ │ ├── hooks/ # 自定义 Hooks
│ │ └── theme/ # 主题切换(深色/浅色)
│ └── components/ui/ # shadcn 生成的基础组件
├── public/ # 静态资源(favicon、标题栏图标)
├── scripts/
│ └── sync-app-icons.mjs # 同步 tauri icon 产物到 public/
├── doc/
│ └── design.md # 产品设计文档
└── src-tauri/
├── tauri.conf.json # Tauri 窗口与打包配置
├── capabilities/ # Tauri 2 ACL 权限声明
├── icons/ # 应用图标(tauri icon 生成)
├── Cargo.toml
└── src/
├── main.rs # Rust 入口
├── lib.rs # Tauri Builder 与 command 注册
├── command/ # #[tauri::command] 薄包装层
├── project/ # 工作区扫描、任务 TDDB、GameDesign 解析
├── db/ # SQLite 数据库(项目列表与用户设置)
└── init/ # 应用初始化与日志
- Node.js >= 18
- Rust >= 1.77
- Tauri CLI 2:
npm install -g @tauri-apps/cli 或作为 devDependency 使用
- 推荐在 Windows 上开发(主要目标平台)
# 安装前端依赖
npm install
# 开发模式(前端 + Rust 热重载)
npm run tauri dev
# 生产构建(MSI + NSIS 安装包)
npm run tauri build
# 仅构建 MSI(避免 NSIS 下载超时)
npm run tauri:build:msi
| 层级 |
位置 |
内容 |
| 系统级 |
AppData 下的 SQLite 数据库 |
项目列表、用户设置、系统标签 |
| 项目级 |
用户指定的项目目录 |
Documents/(Markdown)、Tasks/(JSON)、Assets/(媒体文件)、metadata.gdd |
| 前端运行时 |
Zustand Store |
文档树、资产列表、任务列表(进入项目时扫描填充) |
| 持久偏好 |
localStorage |
仅主题设置(深色/浅色) |
创建新项目后,在用户指定的路径下自动生成:
<ProjectPath>/
├── Documents/ # Markdown 文档
├── Tasks/ # 任务 JSON(todo/doing/done/blocked.json)
├── Assets/ # 媒体资产(图片、模型、音频、字体等)
├── GameDesign.md # 游戏设计阶段文档(主页进度卡片数据源)
└── metadata.gdd # 项目元信息(用于导入/扫描识别)
- 自定义标题栏:隐藏系统默认装饰栏,使用 VS Code 风格的自定义标题栏(图标 + 标题 + 最小化/最大化/关闭),所有窗口保持一致
- 底部 Dock 导航:uimix 风格浮动 Dock,包含主页、管理、审阅、任务四个核心入口与主题切换
- 独立子窗口:文档编辑、图片查看、3D 模型预览、字体信息均在独立 Tauri 窗口中打开
- 深色/浅色主题:全局切换,所有组件与窗口同步响应