From 8d4e66529d1465ba6e570a665fa7656184c0c935 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Feb 2026 12:38:25 +0000 Subject: [PATCH 1/2] Initial plan From c47c1c6c068e42d18fa72e360df48ed2a6371c48 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Feb 2026 12:45:02 +0000 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=BB=A3=E7=A0=81=E7=BB=9F=E8=AE=A1=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E5=B0=86repomix=E5=AF=BC=E5=87=BA=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=8A=A0=E5=85=A5.gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: tianxingleo <237200863+tianxingleo@users.noreply.github.com> --- .gitignore | 3 ++ CODE_STATISTICS.md | 126 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 CODE_STATISTICS.md diff --git a/.gitignore b/.gitignore index 0a6bbe79..22fa30f5 100644 --- a/.gitignore +++ b/.gitignore @@ -189,6 +189,9 @@ bfg-report/ # ========================= # 9. Sensitive / Temporary Files (临时文件) # ========================= +# repomix 自动导出文件(整个项目代码的 XML 导出,不应提交至版本库) +repomix-output.xml +repomix-output.txt PR_BODY.md create_pr.sh CLAUDE.md diff --git a/CODE_STATISTICS.md b/CODE_STATISTICS.md new file mode 100644 index 00000000..49e8536a --- /dev/null +++ b/CODE_STATISTICS.md @@ -0,0 +1,126 @@ +# BrainDance 项目代码统计报告 + +> 统计时间:2026-02-25 +> 统计工具:[pygount](https://github.com/roskakori/pygount) v3.1.1 +> 统计范围:排除 `.git`、`node_modules`、`__pycache__`、`weights` 目录 + +--- + +## 一、项目整体概览 + +### 含全部文件(包含 repomix-output.xml 自动导出文件) + +| 指标 | 行数 | 占比 | +|------|-----:|-----:| +| 有效代码行数 | 441,326 | 58.3% | +| 注释行数 | 86,193 | 11.4% | +| 空行数 | 195,002 | 25.7% | +| **项目总行数** | **722,521** | **100%** | +| 文件总数 | 858 | — | + +### 排除生成文件(去掉 `repomix-output.xml` 自动导出文件后的实际源代码) + +> `repomix-output.xml` 是由 [repomix](https://github.com/yamadashy/repomix) 工具自动生成的整个项目代码导出文件(20MB,389,540 行),不属于实际业务代码,建议将其加入 `.gitignore`。 + +| 指标 | 行数 | 占比 | +|------|-----:|-----:| +| **有效代码行数** | **155,758** | **42.3%** | +| 注释行数 | 86,112 | 23.4% | +| 空行数 | 91,110 | 24.8% | +| **项目总行数** | **332,981** | **100%** | +| 文件总数 | 857 | — | + +--- + +## 二、按模块目录统计 + +| 目录 | 文件数 | 有效代码行 | 注释行 | 空行 | 总行数 | +|------|-------:|-----------:|-------:|-----:|-------:| +| `ai_engine/` | 552 | 120,849 | 75,420 | 80,580 | 304,928 | +| `app/` | 167 | 33,553 | 855 | 5,297 | 40,523 | +| `supabase/` | 35 | 919 | 1,867 | 795 | 3,949 | +| `docs/` | 85 | 0 | 7,540 | 4,051 | 16,803 | +| 根目录 | 12 | 192 | 306 | 255 | 1,023 | +| `tests/` | 2 | 204 | 135 | 119 | 547 | +| `patches/` | 1 | 23 | 0 | 1 | 24 | +| `.vscode/` | 2 | 17 | 0 | 12 | 37 | +| `tmp_test/` | 1 | 1 | 0 | 0 | 1 | + +> 注:`docs/` 目录全部为 Markdown 文档,pygount 将文档内容计入注释行而非代码行。 + +--- + +## 三、按编程语言统计(排除生成文件后) + +| 编程语言 | 文件数 | 有效代码行 | 注释行 | 总行数 | +|----------|-------:|-----------:|-------:|-------:| +| JSON(数据/配置文件)| 47 | 78,553 | 0 | 114,832 | +| Python | 351 | 48,144 | 14,427 | 79,853 | +| JavaScript(打包产物)| 5 | 21,353 | 300 | 24,591 | +| Dart(Flutter)| 25 | 2,056 | 112 | 3,076 | +| Bash | 13 | 1,621 | 290 | 2,245 | +| YAML | 17 | 1,534 | 113 | 1,742 | +| HTML | 4 | 481 | 25 | 729 | +| C++ | 7 | 431 | 79 | 732 | +| TOML | 5 | 383 | 396 | 961 | +| SQL | 4 | 354 | 0 | 548 | +| TypeScript | 5 | 305 | 710 | 1,234 | +| Markdown | 110 | 0 | 49,360 | 114,294 | +| 其他(C/CSS/Kotlin/Swift等)| 59 | 457 | 65 | 779 | + +--- + +## 四、核心业务代码重点分析 + +### `ai_engine/` —— AI 引擎模块(占有效代码 77.6%) + +| 子模块 | 说明 | +|--------|------| +| `ai_engine/3dgs/` | 3D 高斯泼溅(3D Gaussian Splatting)核心算法 | +| `ai_engine/3dgs/src/` | 管线、工厂、配置等核心源码(Python) | +| `ai_engine/3dgs/src/libs/Depth-Anything-3/` | 深度估计第三方库及扩展脚本 | +| `ai_engine/demo/` | 演示脚本与 WebGL 查看器 | + +### `app/` —— Flutter 前端应用(占有效代码 21.5%) + +| 子模块 | 说明 | +|--------|------| +| `app/lib/` | Flutter/Dart 业务逻辑层 | +| `app/assets/` | WebGL 模型资源与构建产物 | +| `app/android/` / `app/ios/` | 移动端原生配置 | + +### `supabase/` —— 后端服务(占有效代码 0.6%) + +- 主要包含数据库迁移 SQL 脚本(354 行)及 Edge Function 配置 + +--- + +## 五、文件分类统计 + +| 分类 | 文件数 | 说明 | +|------|-------:|------| +| 实际可统计源码文件 | 656 | 包含有效代码或注释的文件 | +| 重复文件(`__duplicate__`)| 94 | 内容与其他文件相同,未重复计入 | +| 二进制文件(`__binary__`)| 49 | 图片、模型等二进制资源 | +| 未知格式(`__unknown__`)| 49 | 无法识别语言的文件 | +| 生成文件(`__generated__`)| 10 | 自动生成代码 | +| 空文件(`__empty__`)| 1 | 无内容文件 | +| **合计** | **858** | | + +--- + +## 六、结论 + +| 问题 | 结论 | +|------|------| +| 项目总行数(含所有文件)| **722,521 行** | +| 项目总行数(排除自动导出文件)| **332,981 行** | +| **有效代码行数(含所有文件)** | **441,326 行**(58.3%) | +| **有效代码行数(排除自动导出文件)** | **155,758 行**(42.3%) | +| 注释行数 | 86,112 行(23.4%) | +| 空行数 | 91,110 行(24.8%) | + +**主要编程语言**:Python(核心 AI 算法)、Dart(Flutter 移动端) +**项目规模**:中型项目,实际业务代码约 **15.6 万行**有效代码 + +> ⚠️ 建议将 `repomix-output.xml` 加入 `.gitignore` 以避免将自动生成的导出文件提交至版本库。