Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
9eb7356
docs(roadmap): M7 の DNN gate lift とネイティブ binary 単一化の決定を記録する
ayutaz Sep 8, 2026
b5c252a
build(m7c): OpenCV の Modules に dnn を足す(構成ハッシュが変わる)
ayutaz Sep 8, 2026
208c1ce
docs(roadmap): DNN gate lift の根拠を、引用と provenance の明記で補強する
ayutaz Sep 8, 2026
95aca49
fix(m7c): dnn には protobuf が要る。WITH_PROTOBUF を ON にし bundled 版を明示する
ayutaz Sep 8, 2026
bceb7fc
build(m7c): dnn が連れてくる protobuf を allowlist と notices に入れる
ayutaz Sep 8, 2026
2068cb0
docs(m7c): 実物のツリーで dlpack/flatbuffers を再検索し、flatbuffers を移す
ayutaz Sep 8, 2026
19a3bcc
fix(m7c): THIRD_PARTY_NOTICES.md が構成ハッシュを直書きしていたのを外す
ayutaz Sep 8, 2026
86f1004
feat(m7c): ocvu_net_handle の表を、2 つ目として先に固定する
ayutaz Sep 9, 2026
eddb219
docs(m7c): レビューの Minor 2 件を直す
ayutaz Sep 9, 2026
8957763
feat(m7c): dnn の C ABI 4 本
ayutaz Sep 9, 2026
a007301
fix(m7c): dnn レビュー 1 巡目の Critical 1 / Important 3 / Minor 4 を直す
ayutaz Sep 9, 2026
360b4ca
build(m7c): arm64 で libpng の ARM NEON を切り、dnn/mlas の ASM 無効化を効かせる
ayutaz Sep 9, 2026
21e00b9
feat(m7c): dnn の C# 公開 API と、Unity で切れることの実証
ayutaz Sep 9, 2026
45606d9
test(m7c): 実物の ONNX を通して境界の往復を確かめる
ayutaz Sep 9, 2026
7411bae
fix(m7c): 二重 forward のテストを修正し、負の対照が取れないことを記す
ayutaz Sep 9, 2026
feb93d0
docs(m7c): Task 4 レビューの持ち越し 2 件を直す
ayutaz Sep 9, 2026
432207f
fix(m7c): レビュー指摘 2 件 — 陳腐化した記述と refcount 説の誤りを直す
ayutaz Sep 9, 2026
caf6a59
fix(m7c): dnn 追加で越えた package 上限を直し、M7 条件 1 を判定する
ayutaz Sep 10, 2026
73a0b60
fix(m7c): CLAUDE.md の module 一覧、見えていなかった2箇所目・3箇所目に dnn を足す
ayutaz Sep 10, 2026
6268c94
fix(m7c): レビュー2周目 — Important 6件・Minor 4件を直す
ayutaz Sep 10, 2026
f05522d
fix(m7c): docstring の重複 <summary> タグと assert の説明を直す
ayutaz Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions .github/workflows/ci-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -412,12 +412,17 @@ jobs:
run: ./tools/dev.ps1 build -Platform ${{ matrix.platform }}

# **M7b Task 1: この job には tools/verify-exported-symbols.ps1 を
# 配線しない。** Android の .so は host の nm で読めるが、iOS と Web は
# 静的ライブラリで「エクスポート」という概念自体が違う(ar archive の
# 中の object は動的リンカのエクスポート表を持たない。実際に検査したいのは
# 静的リンク後 —— アプリの実行ファイルに組み込まれた時点 —— の解決なので、
# このレーンの `.a` に対しては意味を成さない)。desktop 3 job(Windows /
# macOS / Linux)だけが対象である。
# 配線しない。** iOS と Web は静的ライブラリで「エクスポート」という
# 概念自体が違う(ar archive の中の object は動的リンカのエクスポート表を
# 持たない。実際に検査したいのは静的リンク後 —— アプリの実行ファイルに
# 組み込まれた時点 —— の解決なので、このレーンの `.a` に対しては意味を
# 成さない)。Android は共有ライブラリで概念上は当てはまるが、
# **host(この job のランナー)の `nm` が arm64 の ELF を読めるかは
# ここでは確認していない**——確認するまでは skip する。desktop 3 job
# (Windows / macOS / Linux)だけが対象である(M7c のレビューで
# release.yml 側の同種のコメントと表現が食い違っていたのを揃えた ——
# この branch で Android の strip 対応を足したことで、この問いに
# 意味のある答えが要る場面が増えている)。

# **配る形になっていること。** Android は 16 KB page size、iOS は
# 静的ライブラリであること。どちらも「ビルドできた ≠ 動く」の距離を
Expand Down
27 changes: 22 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,14 @@ jobs:
./tools/verify-exported-symbols.ps1 -LibraryPath $bins[0].FullName
if ($LASTEXITCODE -ne 0) { exit 1 }
} elseif ($platform -in @('android-arm64', 'ios-arm64', 'web-wasm')) {
Write-Host "==> skipped on ${platform} (iOS / Web は静的ライブラリ、Android は host の nm で読めるかを確かめていない)"
# iOS / Web は静的ライブラリで「エクスポート」の概念自体が
# 違う。Android は共有ライブラリで概念上は当てはまるが、
# host(この job のランナー)の `nm` が arm64 の ELF を
# 読めるかはここでは確認していない——確認するまでは skip
# する(ci-native.yml の同種のコメントと表現を揃えた。
# M7c で Android を strip するようになったので、この問いは
# 以前より意味を持つ)。
Write-Host "==> skipped on ${platform} (iOS / Web は静的ライブラリ。Android は host の nm が arm64 ELF を読めるか未確認のため skip)"
} else {
Write-Error "unknown platform '${platform}': 公開面を検査するかどうかが決まっていない。tools/verify-exported-symbols.ps1 を掛けるか、ここに明示的な除外を足すこと。"
exit 1
Expand Down Expand Up @@ -431,10 +438,20 @@ jobs:
# CI ランナーの負荷に左右されない。時間と違ってここは assert してよい。
#
# 上限 100 MB は、実測(v0.3.0、全部入り 69,565,901 バイト = 66 MB)の
# 約 1.5 倍。倍増を捕まえる —— デバッグシンボルの同梱や platform の
# binary の重複といった「何かが大きく壊れた」形は倍以上になる。
# 関数を足したときの通常の増分は数百 KB〜数 MB なので、34 MB の余裕は
# 何回分ものリリースに相当する。
# 約 1.5 倍として決めた —— 「34 MB の余裕は何回分ものリリースに相当する」
# という見積もりだった。**その見積もりは M7c の dnn 追加で外れた**
# (PR #72、run 34319553823): 124,101,923 バイトで実際に落ちた
# (`package が上限を超えた: 124101923 > 104857600`)。原因はデバッグ
# シンボルの同梱でも platform binary の重複でもなく、dnn とは無関係に
# 前から Android の `.so` へ積もっていた DWARF デバッグ情報(86%)だった
# —— dnn は閾値を越えさせただけである。詳細と実測は
# `docs/roadmap.md` の「dnn の配布の形」。
#
# **上限は上げていない。** `native/CMakeLists.txt` に Android 限定の
# `llvm-strip --strip-unneeded` を足して原因を直し、全部入りは
# 77,528,652 バイトまで戻った(上限に対して約 27 MB の余裕。ローカルで
# 実際にこの run の 6 platform artifact を材料に再現した実測)。
# 「倍増を捕まえる」という上限の設計意図そのものは変えていない。
#
# `pack-upm-tarball.ps1` の既定 512 MB は 1 桁以上緩く、CLAUDE.md 自身が
# 「誰も確かめられない」と書いている。同じ誤りを繰り返さないため、
Expand Down
Loading
Loading