splat workspace の Rust LOC (8,467) + Metal shader (2,230) で約 10.7k LOC、67 unit test、findings ノート 10 ファイル、Cloudflare Pages + R2 で公開済みという卒研リポジトリの規模スナップショット。
卒研リポジトリの全 workspace を 2026-05-23 時点で測定したスナップショット。splat workspace は Rust 8,467 LOC + Metal shader 2,230 LOC (合計 ~10.7k)、unit test 67 件、findings ノート 10 件、Cloudflare Pages + R2 配信が稼働。卒論 §4.1 (実装規模) と §4.1.3 (shader 内訳) への直接転記用。
| crate | Rust LOC | Metal shader LOC | 用途 |
|---|---|---|---|
| splat-core | (含む) | — | 共通 types (Camera, Splat 構造体) |
| splat-metal | (含む) | — | Metal kernel dispatcher (forward / backward / Adam) |
| splat-io | (含む) | — | NeRF synthetic dataset loader, PLY I/O |
| splat-train-v1 | 2,947 | — | Trainer, training loop, refine, MCMC |
| splat-cli | (含む) | — | splat train/check/render/hello/convert CLI |
| splat-summary | (含む) | — | RunSummary HTML 生成 + minijinja templates |
| shaders/ | — | 2,230 | MSL: project, tile_bin, rasterize, ssim, loss, adam |
| 合計 (splat ws) | 8,467 | 2,230 | 10,697 LOC |
| file | LOC |
|---|---|
| forward/project.metal | 409 |
| forward/tile_bin.metal | 328 |
| forward/rasterize.metal | 218 |
| backward/project_backwards.metal | 464 |
| backward/rasterize_backwards.metal | 517 |
| loss/ssim.metal | 164 |
| loss/loss.metal | 88 |
| opt/adam.metal | 42 |
| 合計 | 2,230 |
| 項目 | LOC |
|---|---|
| 3dgs-rs/src/ Rust 総合計 | 9,174 |
| うち bin/train_splat.rs | 506 |
| うち bin/render_splat.rs | 202 |
3dgs-rs は splat workspace 移行後 (Phase C migration-gate gate 通過、2026-04-30 commit 22e7053) も baseline 比較用に残置している。
#[test] / fn .*test 件数: 67 (splat-train-v1: 31、他 crate 36)docs/findings/ 配下の finding ノート: 10 ファイル (D.5 で index 化、docs/findings/README.md)docs/surveys/ 配下のサーベイ: 4 ファイル (3DGS.zip, Ali 2025, synthesis, phase-1d-q1-2026)docs/thesis/outline.md: 卒論章立て 67 ページ想定public/ (Cloudflare Pages): index / plan / roadmap / slides / talk-script + 個別 run summary 自動生成public/runs/: build-all 自動生成、現状 4 run の HTML (migration-gate / lego-sh0-30k / lego-sh1-30k / smoke-1000iter) + index.html (B.6 フィルタ機能付き)otkrickey-splat.omanchos.com + R2 pub-0a3396a87e6c436480ed70b696031b65.r2.devcargo doc --workspace --no-deps で API docs 自動生成 (splat/target/doc/、~5 sec for dev profile)scripts/run-watcher.sh で splat train を監視つき実行 (Monitor 向け EVENT イベント stream)scripts/deploy.sh で build-all + Pages deploy + R2 sync を 1 発化scripts/serve.sh で public/ ローカルプレビュー (python3 -m http.server)「splat-cli / splat-train-v1 / splat-metal / splat-io / splat-summary + Metal shader 群で 約 10.7k LOC、67 unit test によりカバレッジを担保した」レベルの記述を組み込み可。
shader 内訳 (2,230 LOC) は Apple Silicon native の核なので Chapter 4.1.3 (主要 kernel 群) に詳述する。
docs/thesis/outline.mddocs/findings/README.mddocs/findings/final-ablation-table.md