Skip to content

zhouyi207/YssGDD

Repository files navigation

YssGDD

基于 Tauri 2 + React 19 的桌面端游戏设计文档(Game Design Document)管理与项目进度追踪工具。面向独立游戏开发者,将文档、资产、任务集中管理,覆盖从概念到发布的完整开发周期。

功能模块

项目选择 (Project Picker)

  • 类 Godot 风格的项目列表,支持收藏、标签筛选、排序
  • 新建项目:自动初始化 Documents/Tasks/Assets/ 文件夹与 metadata.gdd
  • 导入项目(通过 metadata.gdd)、批量扫描文件夹、打扫失效项目
  • 项目移动、复制、标签管理

alt text

主页 (Home)

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

alt text

管理 (Management)

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

alt text

审阅 (Assets)

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

alt text

任务 (Tasks)

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

alt text

技术栈

前端

类别 技术
框架 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

后端 (Rust / Tauri)

类别 技术
桌面框架 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 2npm 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 窗口中打开
  • 深色/浅色主题:全局切换,所有组件与窗口同步响应

About

游戏设计文档管理与项目进度追踪工具。面向独立游戏开发者,将文档、资产、任务集中管理,覆盖从概念到发布的完整开发周期。

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors