• #日記
  • #tokyo-soundscape
  • #i18n
  • #claude-code
daily-log

2026年2月17日の開発日記

朝、地図を開いたら建物ラベルが104個重なって何も読めなかった。そこから手を入れ始めたら止まらなくなり、気づけば音の字幕機能、多言語化、リブランド、ナビ再構成、機材ページ刷新まで一気に走り抜けていた。

今日やったこと

1. 音アーカイブ コンセプトサイト開発

地図上のBLDGラベルが104個も表示されて重なりまくっていた問題を、ランドマーク建物のみ10個に絞って解消。建物オーバーレイのGeoJSONも段階的に軽量化(2,129→1,404フィーチャー)した。

この日のメインは音の字幕(Audio Captions)機能の実装。Traces Playerの再生中に画面下部にMGS風HUDで字幕を表示する仕組みを作った。Playwrightでスクリーンショットを撮りながらウォーカーの位置と字幕のタイミングを調整し、trace-captureスキルも作成した。

その他、カレンダー機能のsite→concept移行、GPXデータの整理(Track2のみに切り出し)、concept.localhostサブドメイン対応なども実施。

主な成果:

  • BLDGラベル重複解消(104→10個)
  • 音の字幕機能実装 + trace-captureスキル作成
  • GeoJSON軽量化(2,129→1,404)
  • カレンダー機能のconcept移行
  • GPXデータ整理

詳細: 音アーカイブ コンセプトサイト開発


2. 音アーカイブ 本番サイト(多言語化・リブランド・機材更新)

@nuxtjs/i18n v10を導入して日英中3言語に対応。全コンポーネントの$t()置き換え、SSGビルド82ルート成功を確認した。同時に「Tokyo Soundscape Archive」から「音アーカイブ / oto archive」へのリブランドも実施。

ナビゲーションを「消えゆく音」「残り続ける音」の2カテゴリに再構成し、soundTypeフィールドを配列化して両方に属せるようにした。京都・知恩院の仮コンテンツも作成。

機材ページも実機ベースに全面刷新(TASCAM Portacapture X6、Sony a7C追加、不要機材削除)。Kestrel 5500気象計の調査もメモに記録。

主な成果:

  • i18n 3言語対応(ja/en/zh)
  • リブランド完了
  • ナビ再構成(消えゆく音 / 残り続ける音)
  • 機材情報の実機ベース更新
  • 本番・コンセプト両サイトデプロイ

詳細: 音アーカイブ本番サイトを多言語化・リブランド・ナビ再構成・機材更新した


3. その他の開発作業

プロフィール画像のC2PAメタデータ除去、Google Sheetsで略歴テーブル作成、前日分の日記生成なども片付けた。

主な成果:

  • プロフィール画像のC2PAメタデータ除去
  • 略歴スプレッドシート作成
  • 2/16分の日記生成

詳細: その他の開発作業・リサーチ


今日の学び

  • i18nのロケールキーをセクション名.要素名の2階層に揃えたら、どのコンポーネントからでも迷わず$t()を書けるようになった
  • GeoJSONは「描画するフィーチャー」と「ラベルを付けるフィーチャー」を別レイヤーに分けた瞬間、2,129→1,404に減って地図が一気に読めるようになった
  • プロフィール画像にC2PAメタデータが埋まっていた。exiftoolで除去して、公開画像には余計な情報を残さない習慣をつけた

明日やること

  • 音アーカイブ: 浅草以外のトレース1本に字幕JSONを書いて、汎用性を確認する
  • 音アーカイブ: 英語・中国語の翻訳キーを1ページ分追加して、i18nワークフローを回してみる

関連記事