ひとことで:iPad を「体験の舞台」、Mac を「バックステージ」、クラウドを「記録の正」とする 3 層構成
(ADR-0016)。来訪者は iPad の前でコハク(2D アバター)と声で話しながら、複数カメラによる自動撮影を受け、
最後に思い出ショート動画を QR で持ち帰る — この一連の流れがすべて実装済みで本番 Cloud Run に接続して動きます。
1. 当日デモできる体験フロー(来訪者視点)
ようこそ→
同意→
名前→
コハクと会話・撮影→
アルバム→
思い出動画→
QR 持ち帰り→
送り出し
| 場面 | できること | 状態 |
| ようこそ | コハクが待機面で出迎え。タッチで開始 | 実装済 |
| 同意 | カード式の同意画面。声はコハクとの会話に使い、話した内容は文字で記録されることを明示(ADR-0036)。同意のあいだ記録は行われない。名前入力 | 実装済 |
| 音声会話 | コハクと日本語で自然会話(Gemini Live)。エコーキャンセル・ノイズ抑制付き。割り込み可 | 実装済 |
| ライブ撮影 | 章リボン(施設が設計したストーリーの章。未設定時は既定の 6 章)、三分割ガイド、人物追尾枠、REC 表示、カウントダウン、ガイダンス帯 | 実装済 |
| おまかせ撮影 | YOLOX 人物検出 → 中央静止を検知 → カウントダウン → 自動シャッター → クールダウン | 実装済 |
| アルバム | セッション中の写真を一覧。撮影へ戻って追加できる(写真単位の撮り直し・採用 UI は未実装) | 実装済 |
| 思い出動画 | 写真と会話・感情推定からショート動画を生成(Runway、失敗時 Veo 3.1 に自動フォールバック) | 実装済 |
| QR 持ち帰り | 完了画面の QR をスマホで読むと写真 + 動画の公開ビューへ | 実装済 |
| 記録をやめる | 体験中いつでも撤回できる。撮影・会話をその場で止め、Cloud の同意記録にも撤回を刻む | 実装済 |
| 放置への対応 | 無操作 90 秒で「まだいらっしゃいますか?」、さらに 30 秒で自動終了。去った人のセッションが録画・集音を続けない | 実装済 |
| 次の来訪者 | 送り出し後にワンタップでリセット(録画・会話・自動撮影を確実に停止) | 実装済 |
2. コハク(2D アバター)
- 実装済 しずく形の 2D コハク。9 状態 + 2(待機 / 挨拶 / 接続中 / 傾聴 / 思考 / 発話 / 誘導 / 山場 / 一時停止 / お別れ + 縮退)を場面に応じて自動遷移
- 実装済 ENESS コラボ風の内発光・ネオンパステルのテイスト。SwiftUI ネイティブ描画(外部ランタイム不要)
- 後日 琥珀テクスチャのリアル 3D 版(外付け SSD → UE 5.8 → Pixel Streaming PoC の後、描画面のみ差し替え)
3. マルチカメラ撮影(Camera Fleet 1..N + ロール分離 — ADR-0040)
接続したカメラは自動でフリートに参加し、役割(主機 / 副機 / 寄り / 観察 / 追尾 / 待機)が割り当てられます。
役割は運用中でも Mac アプリから変更できます。
| カメラ | 接続 | 役割・特徴 | 状態 |
| DJI Osmo Pocket 4P | Web カメラモード(USB-C / UVC) | デュアルレンズ(広角 1 型 + 中望遠)・3 軸ジンバル。接続すると自動で主機(primaryCapture)へ昇格。本体側アクティブトラックと併用可 | 実装済 |
| Mac 内蔵カメラ | 内蔵 | Osmo 接続時は副機へ。単体でも全フロー成立 | 実装済 |
| iPhone / iPad Camera Agent | 同一 LAN(自動登録) | 専用アプリが /agent/register で自動参加。電池・熱状態も監視 | 実装済 |
| OBSBOT Tail Air | RTSP + VISCA(LAN) | 追尾ロール。首振り(PTZ)で人物を追う | 当日設営 実装済み・現地 LAN で較正 |
| Continuity Camera / シミュレータ | 近接 / 仮想 | 予備・開発検証用。実カメラゼロでもデモ成立 | 実装済 |
Osmo Pocket 4P の使い方:本体を Web カメラモードにして USB-C で Mac に挿すだけ。
名前パターン(既定 osmo|pocket|dji)に一致した外部カメラが主機になります。
別のカメラを主機にしたい場合は Mac アプリの「カメラ・エージェント」画面で名前パターンを変更できます。
4. バックステージ(Mac アプリ「Edge Hub」)
運転・常駐 実装済
- DMG インストーラ(/Applications へ設置)
- カメラゲートウェイの起動 / 停止 / 常駐をアプリ内で一元管理(launchd 廃止)
- 縮退制御:不調時は自動で段階縮退、復帰は人が判断(手動)
シナリオスタジオ 実装済
- 章(ビート)ごとの撮り方を「ことば」で編集
- カメラと追尾 / 音と声 / 配布・QR のタブ構成
- 保存先は施設プロファイル(ADR-0033)
AI 設定 実装済
- 会話エンジン・モデルの選択(Gemini Live 既定)
- コハクの人格プロンプトをその場で編集(ADR-0046)
- 思い出動画のバックエンド(Runway / Veo)切替
ユーザー管理・ペアリング 実装済
- 運用者アカウントの発行 / 無効化(トークンは発行時のみ表示、サーバはハッシュのみ保存)
- iPad は Bonjour 探索 + 6 桁コードでペアリング
5. クラウド(本番 Cloud Run — 稼働確認済み)
- 実装済 セッション / 同意 / 会話ログ / 感情・活動の推定(語彙に閉じた Assertion)/ 監査イベント
- 実装済 施設 AI プロファイル API(モデル・人格の読み書き、2026-09-08 本番スモーク済み)
- 実装済 運用者認可(管理者トークンは Secret Manager 管理)
- 実装済 メディアは GCS、QR 公開ビューは認証なしで閲覧可(該当セッションのみ)
6. プライバシー・安全(デモで話せる設計)
- 同意は来訪者ごと・目的ごと。同意のあいだ記録は行われない。いつでも撤回可(ADR-0036)
- 顔認識・顔特徴量は使わない。人物検出は匿名の枠のみ(ADR-0014)
- 同意しているのは 1 名。複数人が写ると「いま撮影できるのはお一人です」と案内する。同一人物の追尾(track ID)は未実装で、いちばん大きく写っている人を追う
- 撤回すると撮影・会話がその場で止まる。Edge には定期同期(20 秒)で伝わり、Edge 自身が録画を止める
- クラウドが落ちても Edge 単体で縮退継続(fail-static、ADR-0013)
7. 9/28 にやらないこと(後日)
| 項目 | 理由・予定 |
| 3D コハク(UE 5.8 / Pixel Streaming) | 外付け SSD 調達後に PoC。2D 版の描画面のみ差し替える設計にしてある |
| TestFlight 配布 | 当日は開発ビルドを iPad へ直接インストール |
| 同意文言の法務確認 | 音声を本番運用する前に実施 |
| 保存期間の明記 | 暫定クラスのままで具体値が未確定。9/28 前に施設と合意が必要(ADR-0028 / ADR-0036) |
| 思い出動画の音声 | 現在の書き出しは映像のみ。来訪者の声は会話にのみ使う |
| 保護者同意 UI | 未実装。当日は「未成年は体験させない」運用で対応 |
| 口パク同期(Phase 5) | 当日構成では Edge 音声が一次経路のため、通すには Edge 側の実装まで必要。費用対効果で後回し |
8. 当日の機材チェックリスト
- Mac(Mac mini M6 — 9/22 移設予定。間に合わない場合は MacBook Air で代用可)+ Edge Hub アプリ(DMG)
- iPad + AIR FINDER Terminal アプリ(ペアリングは 6 桁コード)
- DJI Osmo Pocket 4P + USB-C ケーブル(Web カメラモードにして接続)
- OBSBOT Tail Air + LAN(現地で VISCA 較正)
- iPhone(Camera Agent アプリ、同一 Wi-Fi)
- Wi-Fi / 有線 LAN、外部スピーカー(会話の聞き取りやすさ用、任意)
- ネットワーク断のリハーサル:クラウドを切っても縮退で続くことを見せられる