IIIF画像をAR空間に実寸配置するiOSアプリ「IIIF AR」の開発
IIIF Image API に対応した高解像度画像をARKitで床面に実寸配置し、カメラを近づけると細部が動的に読み込まれるiOSアプリ「IIIF AR」を開発しました。開発にはAnthropicのClaude Codeを活用しています。 アプリの概要 IIIF ARは、IIIF Image APIに対応した画像をiPhoneのカメラで検出した床面に実寸で配置するARアプリです。 主な機能は以下のとおりです。 実寸配置: 画像のピクセルサイズと実際の寸法(cm)から、AR空間に正確なスケールで配置 タイルベース深zoom: カメラを近づけるとIIIF Image APIのregionパラメータを利用して、視野内の領域のみ高解像度タイルを動的に取得 配置プレビュー: タップ前に赤いコーナーマーカーで配置予定位置を表示 コーナーポール: 四隅に黄色いポールを立てて、障害物がある環境でもサイズを把握可能 サンプル画像 琉球関連の3つの歴史史料をサンプルとして組み込みました。 名称 所蔵 サイズ 海東諸国紀 東京大学史料編纂所 32.6×21.2 cm 琉球国之図 沖縄美ら島財団 96.8×47.3 cm 琉球国図 沖縄県立博物館・美術館 87.8×175.8 cm 「琉球国図」は縦175.8cmの掛幅で、AR空間に配置すると人の身長に近いサイズになります。 技術スタック 言語: Swift 5.9 / SwiftUI AR: ARKit + RealityKit 画像配信: IIIF Image API 2.0 課金: StoreKit 2(Tip Jar) プロジェクト管理: XcodeGen 開発ツール: Claude Code (Anthropic) アーキテクチャ AR配置パイプライン 床面検出 → 配置プレビュー → タップで配置 → タイル読み込み ARWorldTrackingConfiguration で水平面を検出します 検出した ARPlaneAnchor に画像を紐づけて安定したトラッキングを実現しています 低解像度の全体画像(1024px)をベースレイヤーとして常時表示します カメラ距離に応じて高解像度タイルを上に重ねていきます IIIFタイルシステム タイルベースの深zoomは、以下の7ファイルで構成しています。 ...