[{"data":1,"prerenderedAt":224},["ShallowReactive",2],{"finding:implementation-metrics":3,"finding-runs:implementation-metrics":182,"finding-related:implementation-metrics":183},{"meta":4,"impact":26,"sections":30},{"id":5,"title":6,"subtitle":7,"eyebrow":8,"date":9,"status":10,"category":11,"polarity":12,"axes":13,"tags":17,"related_findings":24},"implementation-metrics","実装規模メトリクス (卒論 §4.1 用)","splat workspace の Rust LOC (8,467) + Metal shader (2,230) で約 10.7k LOC、67 unit test、findings ノート 10 ファイル、Cloudflare Pages + R2 で公開済みという卒研リポジトリの規模スナップショット。","Metrics · 卒論 §4.1","2026-05-23","stable","tables","neutral",[14,15,16],1,2,3,[18,19,20,21,22,23],"metrics","loc","tests","thesis-section-4.1","shaders","tooling",[25],"final-ablation-table",{"summary":27,"rank":28,"verdict":29},"splat workspace は Rust 8,467 + Metal 2,230 LOC (合計 ~10.7k)、67 unit test 完備、findings ノート 10 件と Cloudflare Pages + R2 配信が稼働。卒論 §4.1 (実装規模) と §4.1.3 (shader 内訳) への直接転記に使える。","mid","accepted",[31,34,42,45,47,87,89,121,123,137,140,142,148,150,158,160,166,168,173,175,177],{"type":32,"text":33},"lead","卒研リポジトリの全 workspace を 2026-05-23 時点で測定したスナップショット。splat workspace は Rust \u003Cstrong>8,467 LOC\u003C\u002Fstrong> + Metal shader \u003Cstrong>2,230 LOC\u003C\u002Fstrong> (合計 ~10.7k)、unit test \u003Cstrong>67 件\u003C\u002Fstrong>、findings ノート 10 件、Cloudflare Pages + R2 配信が稼働。卒論 §4.1 (実装規模) と §4.1.3 (shader 内訳) への直接転記用。",{"type":35,"items":36},"kv",[37,39],{"key":38,"value":9},"測定日",{"key":40,"value":41},"測定対象","卒研のリポジトリ全 workspace",{"type":43,"text":44},"heading","LOC (Lines of Code)",{"type":43,"level":16,"text":46},"splat workspace (本研究の本筋、Apple Silicon native 3DGS)",{"type":48,"columns":49,"align":54,"rows":57},"table",[50,51,52,53],"crate","Rust LOC","Metal shader LOC","用途",[55,56,56,55],"left","right",[58,63,66,69,73,76,79,83],[59,60,61,62],"splat-core","(含む)","—","共通 types (Camera, Splat 構造体)",[64,60,61,65],"splat-metal","Metal kernel dispatcher (forward \u002F backward \u002F Adam)",[67,60,61,68],"splat-io","NeRF synthetic dataset loader, PLY I\u002FO",[70,71,61,72],"splat-train-v1","2,947","Trainer, training loop, refine, MCMC",[74,60,61,75],"splat-cli","splat train\u002Fcheck\u002Frender\u002Fhello\u002Fconvert CLI",[77,60,61,78],"splat-summary","RunSummary HTML 生成 + minijinja templates",[80,61,81,82],"shaders\u002F","2,230","MSL: project, tile_bin, rasterize, ssim, loss, adam",[84,85,81,86],"合計 (splat ws)","8,467","10,697 LOC",{"type":43,"level":16,"text":88},"shader 内訳 (splat\u002Fshaders\u002F)",{"type":48,"columns":90,"align":93,"rows":94},[91,92],"file","LOC",[55,56],[95,98,101,104,107,110,113,116,119],[96,97],"forward\u002Fproject.metal","409",[99,100],"forward\u002Ftile_bin.metal","328",[102,103],"forward\u002Frasterize.metal","218",[105,106],"backward\u002Fproject_backwards.metal","464",[108,109],"backward\u002Frasterize_backwards.metal","517",[111,112],"loss\u002Fssim.metal","164",[114,115],"loss\u002Floss.metal","88",[117,118],"opt\u002Fadam.metal","42",[120,81],"合計",{"type":43,"level":16,"text":122},"3dgs-rs (Phase 1C\u002F3\u002F4 のプロトタイプ workspace)",{"type":48,"columns":124,"align":126,"rows":127},[125,92],"項目",[55,56],[128,131,134],[129,130],"3dgs-rs\u002Fsrc\u002F Rust 総合計","9,174",[132,133],"うち bin\u002Ftrain_splat.rs","506",[135,136],"うち bin\u002Frender_splat.rs","202",{"type":138,"text":139},"paragraph","3dgs-rs は splat workspace 移行後 (Phase C migration-gate gate 通過、2026-04-30 commit \u003Ccode>22e7053\u003C\u002Fcode>) も baseline 比較用に残置している。",{"type":43,"text":141},"テスト規模",{"type":143,"items":144},"list",[145,146,147],"splat workspace の \u003Ccode>#[test]\u003C\u002Fcode> \u002F \u003Ccode>fn .*test\u003C\u002Fcode> 件数: \u003Cstrong>67\u003C\u002Fstrong> (splat-train-v1: 31、他 crate 36)","カバレッジ: kernel pair \u002F config validate \u002F refine \u002F MCMC (relocation + L1) \u002F ssim \u002F loss host fallback \u002F autograd round-trip","既知の calibration 問題 ([[mcmc_noise_calibration_lesson]]) は test では検出不可、production hyperparameter は別途検証必要",{"type":43,"text":149},"ドキュメント \u002F 配信規模",{"type":143,"items":151},[152,153,154,155,156,157],"\u003Ccode>docs\u002Ffindings\u002F\u003C\u002Fcode> 配下の finding ノート: \u003Cstrong>10 ファイル\u003C\u002Fstrong> (D.5 で index 化、\u003Ccode>docs\u002Ffindings\u002FREADME.md\u003C\u002Fcode>)","\u003Ccode>docs\u002Fsurveys\u002F\u003C\u002Fcode> 配下のサーベイ: \u003Cstrong>4 ファイル\u003C\u002Fstrong> (3DGS.zip, Ali 2025, synthesis, phase-1d-q1-2026)","\u003Ccode>docs\u002Fthesis\u002Foutline.md\u003C\u002Fcode>: 卒論章立て 67 ページ想定","\u003Ccode>public\u002F\u003C\u002Fcode> (Cloudflare Pages): index \u002F plan \u002F roadmap \u002F slides \u002F talk-script + 個別 run summary 自動生成","\u003Ccode>public\u002Fruns\u002F\u003C\u002Fcode>: build-all 自動生成、現状 4 run の HTML (migration-gate \u002F lego-sh0-30k \u002F lego-sh1-30k \u002F smoke-1000iter) + index.html (B.6 フィルタ機能付き)","公開 URL: \u003Ccode>otkrickey-splat.omanchos.com\u003C\u002Fcode> + R2 \u003Ccode>pub-0a3396a87e6c436480ed70b696031b65.r2.dev\u003C\u002Fcode>",{"type":43,"text":159},"CI \u002F dev tooling",{"type":143,"items":161},[162,163,164,165],"\u003Ccode>cargo doc --workspace --no-deps\u003C\u002Fcode> で API docs 自動生成 (\u003Ccode>splat\u002Ftarget\u002Fdoc\u002F\u003C\u002Fcode>、~5 sec for dev profile)","\u003Ccode>scripts\u002Frun-watcher.sh\u003C\u002Fcode> で \u003Ccode>splat train\u003C\u002Fcode> を監視つき実行 (Monitor 向け EVENT イベント stream)","\u003Ccode>scripts\u002Fdeploy.sh\u003C\u002Fcode> で build-all + Pages deploy + R2 sync を 1 発化","\u003Ccode>scripts\u002Fserve.sh\u003C\u002Fcode> で \u003Ccode>public\u002F\u003C\u002Fcode> ローカルプレビュー (\u003Ccode>python3 -m http.server\u003C\u002Fcode>)",{"type":43,"text":167},"卒論 §4.1 への転記指針",{"type":169,"label":170,"variant":171,"text":172},"callout","§4.1.2 (Crate 構成)","info","「splat-cli \u002F splat-train-v1 \u002F splat-metal \u002F splat-io \u002F splat-summary + Metal shader 群で \u003Cstrong>約 10.7k LOC\u003C\u002Fstrong>、\u003Cstrong>67 unit test\u003C\u002Fstrong> によりカバレッジを担保した」レベルの記述を組み込み可。",{"type":138,"text":174},"shader 内訳 (2,230 LOC) は Apple Silicon native の核なので Chapter 4.1.3 (主要 kernel 群) に詳述する。",{"type":43,"text":176},"関連",{"type":143,"items":178},[179,180,181],"\u003Ccode>docs\u002Fthesis\u002Foutline.md\u003C\u002Fcode>","\u003Ccode>docs\u002Ffindings\u002FREADME.md\u003C\u002Fcode>","\u003Ccode>docs\u002Ffindings\u002Ffinal-ablation-table.md\u003C\u002Fcode>",[],[184],{"id":25,"title":185,"date":186,"status":187,"polarity":188,"category":11,"axes":189,"tags":190,"task_code":199,"related_runs":200,"delta_psnr":218,"delta_wallclock":219,"rank":220,"verdict":221,"impact_summary":222,"detail_path":223},"A.5 Final Ablation Table — brush vs 自作 + パラメータ ablation","2026-05-22","draft","mixed",[14,15,16],[191,192,48,193,194,195,196,197,198],"phase-5","ablation","sh-degree","mcmc","multi-scene","brush","cuda","resolution-scaling","A.5",[201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217],"lego-sh0-30k","lego-sh1-30k","lego-sh2-30k","lego-sh3-30k","lego-mcmc-30k","lego-res200-30k","lego-res400-30k","lego-res800-30k","chair-sh3-30k","ficus-sh3-30k","drums-sh3-30k","hotdog-sh3-30k","m4-brush-bench","c32-brush-bench","c32-orig3dgs-bench","c32-gsplat-smoke","phase5-step31-x-30k","-12.6 dB (自作 24.84 vs brush 37.46)","brush は自作の 0.39× (= 2.59x 速い、同 M4 Max)","high","partial","三層対比 (自作 M4 \u002F brush V100 \u002F CUDA V100) で wgpu→Vulkan が 37.46 dB \u002F 8m24s と CUDA orig (28.4) \u002F gsplat (32.9) より高 PSNR + 高速、自作 24.84 \u002F 23m40s に対し brush wgpu→Metal が 37.40 \u002F 9m08s。「wgpu 抽象は重い」の素朴予想が 2 機種で逆転し、第 2 軸の主張を『抽象コスト \u003C 実装最適化レベル』に再 framing 必須。","\u002Ffindings\u002Ffinal-ablation-table\u002F",1782449788628]