﻿ソースの取得とビルド・ライブラリ差替え方法
ちょこっとマスキング 0.4.2 / 20261018T212200Z

通常利用の配布ファイルは「ちょこっとマスキング.zip」1つです。
すべて展開し、「ちょこっとマスキング.cmd」を起動します。
自作部分のPythonソースは実行ZIPのapp/にも収録しています。
第三者の対応ソースと構築資料は別の取得先で提供します。
この版に対応する完全なソースと構築資料（追加料金なし）：
https://chokotto-masking.pages.dev/downloads/0.4.2/20261018T212200Z/chokotto-masking-sources-0.4.2-20261018T212200Z.zip
対応資料のファイル名：chokotto-masking-sources-0.4.2-20261018T212200Z.zip

配布ページでは、実行ZIPのダウンロード案内の隣にも上記の取得先を明示します。
実行ZIPを提供する間は、対応ソースも追加料金なしで取得可能にしてください。
問い合わせによる提供だけに置き換えないでください。
この文書自体は公開・取得確認の証跡ではありません。
配布前に取得先の公開と実際のダウンロードを確認してください。

アプリ本体：AGPL-3.0-only。LICENSE.txt・COPYRIGHT.txtを参照。
CPython 3.14.3 / PyMuPDF 1.27.2.2 / MuPDF 1.27.2 /
PySide6・shiboken6・Qt 6.11.0 / Microsoft VC Runtime 14.50.35719.0。
Qt Core/Gui/Widgets、Windows表示・オフスクリーン表示、ICO、Windows外観の必要部分を収録しています。
PDF処理・検証機能は省略していません。第三者部品には個別のライセンスが適用されます。

上記の取得先で提供するソース資料の内容
app/：この版に実際に使用したPythonソース、固定依存、アイコン。
source/build_tools/：梱包・検証・開発配置復元のコード。
source/tests/・source/tools/：匿名データの検証コード。顧客PDF・実行ログは収録しません。
source/release/：配布文書の元データ。
source/third_party/：固定版PyMuPDF・MuPDF・Qtbase・PySide6/shiboken6の公式ソースアーカイブ。
source-origins.jsonにそれぞれの公式URL・サイズ・SHA256を記録しています。
上流のソースアーカイブ内には上流のテスト資料が含まれる場合があります。
元ソースや第三者の権利表示は改変していません。

Python公式ソース：
https://www.python.org/ftp/python/3.14.3/Python-3.14.3.tar.xz
SHA256 a97d5549e9ad81fe17159ed02c68774ad5d266c72f8d9a0b5a9c371fe85d902b

Qt/PySide6の差替え
1. 展開したアプリフォルダーをバックアップします。
2. runtime/Lib/site-packages/PySide6 と shiboken6 を、互換性のあるビルドで差し替えます。
3. ちょこっとマスキング.cmd から再実行します。
アプリはQtへ動的にリンクしています。ライブラリの改変・差替えと、そのデバッグのための
リバースエンジニアリングをアプリ側の条件で禁止しません。
Python ABI・Qt・Shiboken・CRTの組合せは揃える必要があります。
runtime/app-local-runtime.jsonは必要DLL名と版の記録で、Qtの改変を禁止するハッシュ制約ではありません。

上流のビルド方法
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/。

開発配置の復元と再梱包（開発者向け）
利用者の通常起動にこの作業は不要です。
1. 対応ソースZIPをすべて展開し、CPython 3.14.3の開発環境を用意します。
2. ソースZIPの最上位フォルダーをカレントにし、次を実行します。
   python -B source/build_tools/rebuild_booth_layout.py C:/work/ChokottoRebuild
   新しい空のパスを指定してください。元の展開先は変更しません。
3. 復元先のrequirements.txtの固定依存を用意します。
4. 公式Python embeddable ZIPを次から取得し、復元先のbuild_work/shared_release_inputs/へ置きます。
   https://www.python.org/ftp/python/3.14.3/python-3.14.3-embed-amd64.zip
   SHA256 ad4961a479dedbeb7c7d113253f8db1b1935586b73c27488712beec4f2c894e6
5. 再配布に適用されるVisual Studio製品の有効な利用資格を自身で確認し、
   Visual Studio 2026の通常版x64 VC/Redist 14.50.35719.0を用意します。
   5本の固定SHA256・AMD64・版・Microsoft署名と、インストール済み製品の識別を検査します。
   原文と通知はlicenses/microsoft/に収録しています。復元後の同じ資料は
   build_work/shared_release_license_audit/bundle_licenses/microsoft/にあります。
   以下のコピー元パスはこの候補の実入力例です。自身の同版Redistの場所を指定してください。
6. 復元先で次を実行し、対応する版・許諾資料・個別ハッシュ計画を確認します。
   python -B -m build_tools.build_booth_release --prepare --crt-redist-dir "C:/Program Files (x86)/Microsoft Visual Studio/18/BuildTools/VC/Redist/MSVC/14.50.35710/x64/Microsoft.VC145.CRT" --crt-materials-dir build_work/shared_release_license_audit/bundle_licenses/microsoft
7. 表示された新しい作業フォルダーを指定して梱包します。
   python -B -m build_tools.build_booth_release --package WORK_DIRECTORY
8. 作成された2つの中間ZIPから、リンク案内付きの最終形式を新しい場所へ作ります。
   python -B -m build_tools.build_linked_release --pair-work WORK_DIRECTORY --source-url "https://chokotto-masking.pages.dev/downloads/0.4.2/20261018T212200Z/chokotto-masking-sources-0.4.2-20261018T212200Z.zip" --build-id 20261018T212200Z --output NEW_OUTPUT_DIRECTORY
   新しい配布版を作る際は、新しいbuild-idとその版の公開URLを指定してください。
   NEW_OUTPUT_DIRECTORYは未作成のフォルダーです。delivery/が通常利用のZIP、
   upload/が別の取得先へ掲載する対応ソースです。自動アップロードは行いません。
   source/release/linked/には最終配布文書の控えがあります。
9. 新規展開・同梱DLL読込先・匿名PDFの操作と原本保護・同梱物の検査を行います。
再ビルド時の明示的な依存取得にはネット接続が必要です。利用版の通常起動には不要です。

Microsoft部品の由来・許諾確認状態はlicenses/Microsoft-Runtime-Review.txtを参照してください。
この候補は公開承認や全Windows環境での動作確認を意味しません。
