ソースとビルド・差替え方法（共有OneDrive試用版 0.4.1）

このアプリの自作部分はAGPL-3.0-onlyです。LICENSE.txt・COPYRIGHT.txtを参照してください。
app/に実行に使うPythonソースとアイコン、source/build_tools/に今回の梱包・検証コード、source/tools/に匿名PDFの互換性検証コードを同梱しています。
自作ソースの改変・再配布はAGPLv3に従って行えます。

主な依存：
CPython 3.14.3、PyMuPDF 1.27.2.2（MuPDF 1.27.2）、PySide6/shiboken6/Qt 6.11.0。
QtはCore/Gui/Widgets、Windows表示/オフスクリーン表示・ICO・Windows外観プラグインのみ。QtVirtualKeyboard/QML等は同梱しません。
Microsoft Visual C++ v14 x64 RuntimeはホストPCの既存導入分を使います。
CPythonの公式配布に含まれる元のランタイムDLLは元のLICENSE.txtとともに保持しています。

source/third_party/には今回配るPyMuPDF・MuPDF・Qtbase・PySide6/shiboken6の版固定ソースを、
公式アーカイブのまま追加料金なしで同梱しています。source-origins.jsonに公式URL・サイズ・SHA256があります。
これらは上流で公開されたソースで、一部に上流の試験資料が含まれます。
このアプリで利用した顧客PDF、ローカルの匿名検証PDF、抽出結果、ログ等は配布しません。
改変は行っていません。CPythonの元ソースは同じ公式版です：
https://www.python.org/ftp/python/3.14.3/Python-3.14.3.tar.xz
SHA256 a97d5549e9ad81fe17159ed02c68774ad5d266c72f8d9a0b5a9c371fe85d902b
Windowsの公式embeddable版が配布runtimeの起点です。

ソースからの実行：
1. Windows 64bit、CPython 3.14.3と必要なVisual C++ Runtimeを用意します。
2. python -m venv .venv
3. .venv\Scripts\python.exe -m pip install -r app/requirements.txt
4. .venv\Scripts\pythonw.exe app/ちょこっとマスキング.pyw
この明示的な依存導入には通常ネット接続が必要です。利用版の起動自体はネット不要です。

同梱Qt/PySide6を変更して実行するには：
1. 元の展開フォルダをバックアップします。
2. runtime/Lib/site-packages/PySide6 と shiboken6 を、対応する互換性のあるビルドで差し替えます。
3. runtime/pythonw.exe -I -B -X utf8 start.py で実行します。
Qt DLLは動的に読み込まれ、アプリに静的結合されていません。差替えを禁止する仕組みは設けていません。
ライブラリ改変とそのデバッグのためのリバースエンジニアリングをこのアプリの条件では禁止しません。
不整合なPython ABI/Qt/Shibokenの組合せは動作しないため、同じ構成で合わせてください。
上流のビルド手順・設定は同梱ソース内README、CMakeLists、setup.py等にあります。
Qt: https://doc.qt.io/qt-6.11/build-sources.html
Qt for Python: https://doc.qt.io/qtforpython-6.11/building_from_source/index.html
PyMuPDF: 同梱sdistのsetup.py、pyproject.toml、README.md
MuPDF: 同梱ソースのMakefile、Makelists、docs/、thirdparty/

今回版の再梱包：
まず、展開先の構造から開発用の配置を新しいフォルダに復元します。
展開フォルダをカレントにし、次を実行してください（C:\work\ChokottoRebuildは未作成の場所を指定）。
  runtime\python.exe -I -B source\build_tools\rebuild_layout.py C:\work\ChokottoRebuild
これはapp/のソース、source/build_tools、許諾資料、依存ソース4点、入力manifestを復元します。
元の配布物の変更・ネット接続はしません。次に、復元先の「次の手順.txt」に従い、
公式CPython embeddableアーカイブを記載URL・SHA256で取得して指定場所に置きます。
CPython 3.14.3の開発環境とrequirements.txtの依存を用意した後、復元先をカレントにします。
source/build_tools/build_shared_release.py が必要なファイルだけを列挙してコピーします。
公式CPython embeddable ZIPと依存ソースアーカイブは、レビューした版・SHA256で入力します。
ビルド環境のbuild_work/shared_release_inputs、対応notice材料、上記の固定版依存を用意し、
python -m build_tools.build_shared_release --prepare で個別ハッシュを固定した計画を生成します。
計画と対応ソース・noticeを確認後 --package でZIPを作り、zip_whitelist.pyで全項目を照合します。
新しい場所に展開し、同梱runtimeでshared_package_checks.pyを実行します。
0.4.1では、別途生成した匿名PDFのmanifestを使いsource/tools/interop_acceptance.pyのverifyと、
source/build_tools/shared_repair_checks.py PACKAGE NEW_WORK --manifest MANIFESTも実行してから配布します。
後者はWindows画面で複数行削除・実処理失敗後の復帰・次の編集・保存を検証します。
匿名fixtureの生成には開発用PlaywrightとChrome/Edgeを別途用意します。利用アプリの起動には不要です。
単に同じファイル名や自己申告のmanifestがあるだけでは、信頼できるビルドの証明にはなりません。

保証について：
上流および自作部分は各ライセンスの無保証条件に従います。
この試用版は任意のPDFの完全な匿名化、全Windows構成の動作、会社PCでの受入れを保証しません。
