フォルダ内の写真から、中身が同じものと見た目が似ているものを検出して グループにまとめ、残す1枚を選んでほかをゴミ箱へ送れるようにする。 検出は安い判定から順に4段: - ファイルサイズが同じものだけ SHA-256 でバイト一致を確定 - dHash(知覚ハッシュ)のハミング距離で候補ペアを抽出 - 候補に出てくる画像だけ Vision の feature print で精査 - Union-Find で連結成分をグループ化 判定のしきい値は実写画像で距離を実測して決めた(docs/calibration.md)。 tools/release-update.sh で Gitea のリリースを更新する。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
62 lines
1.4 KiB
YAML
62 lines
1.4 KiB
YAML
name: Photochk
|
|
|
|
options:
|
|
bundleIdPrefix: com.fujisaki
|
|
deploymentTarget:
|
|
macOS: "15.0"
|
|
createIntermediateGroups: true
|
|
|
|
settings:
|
|
base:
|
|
SWIFT_VERSION: "6.0"
|
|
SWIFT_STRICT_CONCURRENCY: complete
|
|
MARKETING_VERSION: "1.0"
|
|
CURRENT_PROJECT_VERSION: "1"
|
|
CODE_SIGN_STYLE: Manual
|
|
CODE_SIGN_IDENTITY: "-"
|
|
DEVELOPMENT_TEAM: ""
|
|
ENABLE_HARDENED_RUNTIME: NO
|
|
|
|
targets:
|
|
Photochk:
|
|
type: application
|
|
platform: macOS
|
|
sources:
|
|
- path: Sources/Photochk
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.fujisaki.Photochk
|
|
PRODUCT_NAME: Photochk
|
|
INFOPLIST_FILE: Sources/Photochk/Info.plist
|
|
CODE_SIGN_ENTITLEMENTS: Sources/Photochk/Photochk.entitlements
|
|
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
|
|
COMBINE_HIDPI_IMAGES: YES
|
|
configs:
|
|
Release:
|
|
# デバッガ接続を許す get-task-allow が Release に混ざらないようにする
|
|
CODE_SIGN_INJECT_BASE_ENTITLEMENTS: NO
|
|
|
|
PhotochkTests:
|
|
type: bundle.unit-test
|
|
platform: macOS
|
|
sources:
|
|
- path: Tests/PhotochkTests
|
|
dependencies:
|
|
- target: Photochk
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.fujisaki.PhotochkTests
|
|
GENERATE_INFOPLIST_FILE: YES
|
|
|
|
schemes:
|
|
Photochk:
|
|
build:
|
|
targets:
|
|
Photochk: all
|
|
run:
|
|
config: Debug
|
|
test:
|
|
config: Debug
|
|
targets:
|
|
- PhotochkTests
|