// Editor Eye LP — Shared UI primitives & content data
// Exposes globals: I18N, useI18N, Logo, Nav, Footer, ArchDiagram, HeroVideoMock,
// VillainSolutionPair, PlanCards, OutcomeStory, ServiceCatalog, FAQ, Pricing, FinalCTA,
// PlaceholderArt, useTweakDefaults

const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
  "lang": "ja",
  "tone": "default",
  "fontStack": "inter",
  "heroLayout": "video-arch",
  "showArchInHero": true,
  "accentBalance": "balanced",
  "qaMode": "representative",
  "unifyStyle": "default"
}/*EDITMODE-END*/;
window.TWEAK_DEFAULTS = TWEAK_DEFAULTS;

// ============================================
// Internationalization content
// ============================================
const I18N = {
  ja: {
    nav: { features: "機能", pricing: "価格", faq: "FAQ", docs: "UnityPackageダウンロード", login: "ログイン", cta: "今すぐ無料で始める" },
    hero: {
      tag: "Unity AI Assistant",
      title: ["あなたはもう", <span key="k" className="grad-text">UNITY</span>, "で悩まない"],
      subtitle: "誰しもが自分の言葉で自分のゲームを作れる世界を目指して",
      sub: <>AVA: Action→Verify→Adjust<br/>Action（実行）→ Verify（検証）→ Adjust（修正）のプラットホームで、あなたのゲーム開発期間を大幅に短縮します。</>,
      cta: "今すぐ無料で始める",
      secondary: "↓ デモを見る",
      meta: ["Unity 2022.3以上をサポート", "macOS / Windows / Linux", "無料 1,000 リクエスト / 月"],
      videoSrc: "https://www.youtube.com/embed/9fXVOGj85G0?autoplay=1&mute=1&loop=1&playlist=9fXVOGj85G0&controls=1&modestbranding=1&playsinline=1&rel=0"
    },
    arch: { title: "中継アーキテクチャ", desc: "LLM ↔ Editor Eye ↔ Unity Editor", llm: "LLM (Claude Code)", bridge: "Editor Eye", editor: "Unity Editor" },
    villain: {
      eyebrow: "悪役",
      title: "Unityで詰まったと感じたことはありませんか？",
      cards: [
        { n: "01", role: "悪役①", title: "教本や解説サイトの通り実施したのに意図した挙動にならない。", body: "バージョン違い、設定の些細な漏れ、見落としたチェックボックス一個。原因が特定できないまま時間だけ溶ける。「俺が悪いのか、どこが悪いのか」の区別すらつかない。", art: "/screenshots/akuyaku01.png" },
        { n: "02", role: "悪役②", title: "「どれだけ覚えればいいんだ」の絶望感。", body: "半日かけて１つのことを苦労して調べて覚えても、すぐに未知のものに遭遇する。永遠と続くメソッドとプロパティ調べ。重要度なく際限なくあふれるInspectorの情報量と設定項目の多さ。", art: "/screenshots/akuyaku02.png" },
        { n: "03", role: "悪役③", title: "「エラーがどこから来てるのかわからない」の無力感。", body: "問題は一つなのに、複数に絡み合うスクリプト・コンポーネント・Prefab・Scene・Canvas Preference、様々な設定にまたがっている。ひとつの問題を解決したら今まで動いていた個所に不具合が新しく発生する。", art: "/screenshots/akuyaku03.png" },
        { n: "04", role: "悪役④", title: "なぜ動かないんだ！", body: "エラーもないのになぜか思う挙動にならない。沢山の場所にDebug.Log()を仕込むけど迷宮入り。", art: "/screenshots/akuyaku04.png" },
        { n: "05", role: "悪役⑤", title: "LLMに聞いても標準的解答しか得られない。", body: "それはそうだよね。私のプロジェクトを見れるわけじゃないんだし。でも私のプロジェクトをLLMに説明するのが大変すぎる。時間がいくらあっても足りない。", art: "/screenshots/akuyaku05.png" },
        { n: "06", role: "悪役⑥", title: "単調な作業の連続。", body: "ゲーム作成って憧れをもって楽しいんだろうなって想像していたけど、単調な作業の連続。もう飽き飽きだ。画面を見るのすら嫌になってきた。", art: "/screenshots/akuyaku06.png" }
      ]
    },
    solution: {
      eyebrow: "解決",
      title: "Editor Eyeが、その悩み、解決します。",
      cards: [
        { n: "01", role: "解決①", title: "「手順通りにやったはず」の原因、LLMが即座に見つける。", body: "Editor EyeはあなたのGameObjectの設定・コンポーネント・フィールド値をLLMに直接渡します。バージョン差異も設定ミスも、LLMが実際の状態を見て特定します。", art: "/screenshots/kaiketsu01.png" },
        { n: "02", role: "解決②", title: "1,476件のUnity知識を、あなたの代わりに覚えている。", body: "NavMeshの挙動、AnimatorのExit Time、Prefab Overrideの落とし穴。LLMは1,476件のUnity固有の暗黙知を自動参照します。あなたが覚える必要はありません。", art: "/screenshots/kaiketsu02.png" },
        { n: "03", role: "解決③", title: "複数コンポーネントをまたぐエラーの根本原因も、即座に追跡。", body: "スクリプト・コンポーネント・Prefab・Sceneをまたぐ複合エラーも、LLMがコンソールログとヒエラルキーを同時に読んで原因を特定し、修正まで実行します。", art: "/screenshots/kaiketsu03.png" },
        { n: "04", role: "解決④", title: "エラーなしの「なぜ動かない」も、実際の状態から診断。", body: "Debug.Log()を仕込む必要はありません。LLMがGameObjectの現在の状態を直接読み取り、期待する挙動との差分を観察して原因を特定します。", art: "/screenshots/kaiketsu04.png" },
        { n: "05", role: "解決⑤", title: "あなたのプロジェクトを「見ながら」答えるLLM。", body: "Editor EyeはMCP経由でLLMにプロジェクトの実状態を直接送信します。説明不要。あなたのPrefab・Component・設定値を見て、プロジェクトに即した答えを返します。", art: "/screenshots/kaiketsu05.png" },
        { n: "06", role: "解決⑥", title: "「膨大な作業の連続」は、一言で終わる。", body: "batch_executeで、LLMがシーン内の何十・何百ものオブジェクトへの操作を一括実行します。「全EnemyにNavMeshAgentを追加して速度を2に設定して」の一言で完了。膨大な手作業が、一瞬で消えます。", art: "/screenshots/kaiketsu06.png" }
      ]
    },
    plans: {
      eyebrow: "計画",
      title: "たった３分での簡単導入",
      sub: "「自分にできるか？」の不安を、最初に解消する。",
      cards: [
        { num: "01", icon: "gear", name: "アカウント登録", sub: "Editor-Eye のアカウントを作りライセンスキーを発行", time: "1 min", steps: ["Editor-Eye 公式サイトを開き、「無料で始める」ボタンを押す", "GitHub または Google アカウントでサインアップ（カード登録不要）", "ダッシュボードに表示されるライセンスキー（UUID）を控えておく"], screenshot: "/screenshots/tejun01.png" },
        { num: "02", icon: "play", name: "Unity に導入", sub: ".unitypackage をダウンロードして Unity に取り込む", time: "1 min", downloadUrl: "https://downloads.editor-eye.app/extension/v0.18.7/editor-eye-unity-v0.18.7.unitypackage", steps: ["上のボタンから最新の .unitypackage をダウンロード", "導入したい Unity プロジェクトを開き、.unitypackage をダブルクリックして Import", "メニューの「Window」→「Editor-Eye」→「Settings」を開き、Step 1 のライセンスキーを貼り付けて保存"], screenshot: "/screenshots/tejun02.png" },
        { num: "03", icon: "camera", name: "LLM 側の設定", sub: "Claude Code から Editor-Eye の MCP を呼び出せるようにする", time: "1 min", steps: ["`~/.claude/mcp.json` にアカウント発行後にログインすると見ることのできる設定値をコピー", "もしくは Claude Code に「Editor-EyeのMCPを使えるようにして」とプロンプトを送り自動で設定してもらう", "Claude Code を再起動し、プロンプトを打ってください。あなたの Unity Project と繋がります！"], screenshot: "/screenshots/tejun03.png" }
      ],
      banner: { title: "自然言語でゲーム制作の始まり", sub: "LLMに話しかけよう！" }
    },
    outcome: {
      eyebrow: "結末",
      title: "半年後、Steamのストアに「発売中」の文字",
      sub: "Unityでゲーム開発を夢見るクリエイターの物語。",
      acts: [
        { label: "起", title: "わくわく感とともに Unity 導入。", body: "Unityなら簡単にゲーム開発ができるというネット記事を読む。早速導入。意気揚々とダウンロードとセッティング。わくわく感が止まらない。実際に動かしてみると設定値が沢山あることに気が付く。自分でカスタマイズできるが故に自由にゲームを作れるということらしい。いじってみる。でも結構大変。初心者用の本を買ってきて勉強。勉強完了！よしゲームを作り始めるぞ。", mood: "spark" },
        { label: "承", title: "「Unityゲーム開発、詰んだ…」", body: "自分の作りたいゲームが作れない。初心者向けの書籍じゃ足りない。もう一歩先の情報がほしい。Unityでゲーム開発したいのに、表現したいことが沢山あるのに。調べる。でも、不明点が多い。あっ、ダメだ…Unityゲーム開発、詰んだ…。", mood: "stuck" },
        { label: "転", title: "Editor Eye と出会う。", body: "偶然、流れてきた動画を見た。EditorEyeというMCPがあるらしい。導入。私の Unity Project の中身に即した回答をくれる LLM が爆誕。これで解決。", mood: "win" },
        { label: "結", title: "「発売中」。誰かが実況してくれている。", body: "半年後、自分のゲームのストアページに「発売中」の文字。YouTubeで知らない誰かが、自分のゲームを楽しんでいる。俺はこれをしたかったんだよ！", mood: "ship" }
      ]
    },
    catalog: {
      eyebrow: "サービスカタログ",
      title: "実装済みでだけ語る、448の約束。",
      sub: "ほぼすべての Unity 操作が可能。",
      stats: [
        { num: "448", label: "Actions / 実行可能なアクション" },
        { num: "1,476", label: "Knowledge entries / 知識エントリ" },
        { num: "9", label: "カテゴリ" },
        { num: "100%", label: "実装済みのみ表示" }
      ],
      groups: [
        { roman: "Ⅰ",    title: "Core",      en: "Core utilities",    count: 19,  items: ["Editor 疎通・バージョン確認", "Scene Hierarchy の取得", "Console ログ取得・クリア", "スクリーンショット撮影", "選択中 GameObject 状態の取得"] },
        { roman: "Ⅱ",   title: "Scene",     en: "Scene operations",  count: 82,  items: ["GameObject の生成・変更・削除", "Prefab の作成・インスタンス化", "Component の追加・削除・設定", "シーンの作成・保存", "BlendShape / SkinnedMeshRenderer 操作"] },
        { roman: "Ⅲ",  title: "Assets",    en: "Asset management",  count: 60,  items: ["Asset のインポート・作成・削除", "Material 作成・シェーダー設定", "Texture インポート設定", "C# スクリプト生成・編集", "UPM パッケージ管理"] },
        { roman: "Ⅳ",   title: "Workbench", en: "Editor extensions", count: 262, items: ["AnimationClip / AnimatorController 編集", "VFX Graph / Particle System 設定", "URP / HDRP レンダーパイプライン設定", "NavMesh ベイク・エージェント設定", "ProBuilder メッシュ作成・編集"] },
        { roman: "Ⅴ",   title: "Runtime",   en: "Play Mode control", count: 11,  items: ["Play Mode の制御（再生・停止・ポーズ）", "キーボード入力のシミュレート", "マウス・UI 操作のシミュレート", "入力イベントの記録・リプレイ"] },
        { roman: "Ⅵ",   title: "Build",     en: "Build & compile",   count: 3,   items: ["プロジェクトのコンパイル・エラー検出"] },
        { roman: "Ⅶ",   title: "Testing",   en: "Unit testing",      count: 1,   items: ["Unity Test Runner（EditMode / PlayMode）"] },
        { roman: "Ⅷ",  title: "Execution", en: "Dynamic execution", count: 4,   items: ["C# コードの動的実行（script / compilation）", "実行結果のポーリング取得", "バッチコマンド実行（最大 100 コマンド並列）"] },
        { roman: "Ⅸ",   title: "Knowledge", en: "Knowledge DB",      count: 6,  items: ["Unity 知識 DB のセマンティック検索", "新規知識エントリの提案", "知識 DB の全体俯瞰", "Knowledge MD / Policy 取得"] }
      ]
    },
    faq: {
      eyebrow: "100の質問",
      title: "Frequently Asked Questions",
      sub: "導入15・機能40・料金15・トラブル20・その他10",
      cats: [
        { name: "導入", count: 15 },
        { name: "機能", count: 40 },
        { name: "料金", count: 15 },
        { name: "トラブル", count: 20 },
        { name: "その他", count: 10 }
      ],
      items: [
        { cat: "導入", q: "Editor Eye のインストール方法は？", a: "このページ上部の「UnityPackageダウンロード」から最新の .unitypackage をダウンロードし、Unity プロジェクトを開いた状態でファイルをダブルクリックして Import するだけです。1 手順で完結します。" },
        { cat: "導入", q: "対応している Unity バージョンは？", a: "Unity 2022.3 LTS 以上に対応しています。Cinemachine 2.x（Unity 2022.3）と Cinemachine 3.x（Unity 6）の両方を完全サポートしています。" },
        { cat: "導入", q: "対応しているレンダーパイプラインは？", a: "URP・HDRP・Built-In Render Pipeline の 3 つすべてに対応しています。どのパイプラインでもご利用いただけます。" },
        { cat: "導入", q: "どの AI（LLM）と組み合わせて使えますか？", a: "現時点での公式サポートは Claude Code です。MCP 規格に準拠した設計のため、他の MCP 対応クライアントも接続できる可能性がありますが、当社で動作検証済みなのは Claude Code のみです。" },
        { cat: "導入", q: "Claude への接続設定はどうすればいいですか？", a: "~/.claude/mcp.json に Editor Eye エンドポイントを追加します。ライセンスキーはログイン後のダッシュボードで確認できます。詳しい手順はドキュメントの設定方法を参照してください。" },
        { cat: "導入", q: "MCP（Model Context Protocol）とは何ですか？", a: "AI アシスタントが外部ツールを直接操作するためのオープン標準プロトコルです。Editor Eye は MCP を通じて、あなたの自然言語の指示を Unity Editor の実操作に変換します。" },
        { cat: "導入", q: "対応している OS は何ですか？", a: "Windows・macOS・Linux のすべてに対応しています。ただし editor-eye-windows-cli ツールは Windows 専用です。" },
        { cat: "導入", q: "ゼロから使えるようになるまでどれくらいかかりますか？", a: "多くの方は 5 分以内で完了します。Unity パッケージのインストール（1分）→ AI の MCP 設定（1分）→ 動作確認（1分）の流れです。" },
        { cat: "導入", q: "プログラミングの知識は必要ですか？", a: "不要です。「シーンに青い平行光を追加して」のような自然言語の指示だけで操作できます。ただしゲーム制作を本格的に行うなら、継続的なプログラミング学習もお勧めします。" },
        { cat: "導入", q: "既存の Unity プロジェクトに追加できますか？", a: "はい。MCP ブリッジコンポーネントのみが追加され、既存のスクリプト・シーン・アセットには一切変更が加わりません。いつでもパッケージを削除できます。" },
        { cat: "導入", q: "「405 アクション」とはどういう意味ですか？", a: "AI が Unity Editor 内で実行できる 405 種類の操作です。GameObject 作成からアニメーション編集・アセット管理まで、全 405 件はモックではなくテスト済みの実装です。" },
        { cat: "導入", q: "「1,476 知識エントリ」とは何ですか？", a: "AI が参照するキュレーション済みの Unity 専門知識データベースです。現在の LLM が持っていない Unity 固有の知識を補完し、数時間の調べ物を数分で解決します。" },
        { cat: "導入", q: "無料で試せますか？", a: "はい。Free プランは月 1,000 リクエスト、期限なし、クレジットカード不要です。すべてのコア機能をお試しいただけます。" },
        { cat: "導入", q: "Unity Asset Store で配布していますか？", a: "Asset Store ではなく、このページ上部のダウンロードリンクから .unitypackage で配布しています。Unity 拡張（Win/Mac/Linux）と CLI（Windows 専用）を 1 回のインストールで提供します。" },
        { cat: "導入", q: "チームで同じプロジェクトに使えますか？", a: "はい。各メンバーが自分のマシンにパッケージをインストールし、それぞれのアカウントで利用します。MCP ブリッジはマシンごとに独立して動作します。" },
        { cat: "機能", q: "自然言語で Unity に何ができますか？", a: "GameObject の作成・修正、コンポーネント設定、アニメーション編集、カメラ操作、マテリアル適用、スクリプト生成など幅広い操作が可能です。詳細はこのページのサービスカタログをご覧ください。" },
        { cat: "機能", q: "AI で GameObject を作成・変更できますか？", a: "はい。名前・位置・階層を指定して作成したり、コンポーネントの追加・削除、プロパティ値の設定、親子関係の変更などを会話形式で操作できます。" },
        { cat: "機能", q: "アニメーション編集はどのようにできますか？", a: "AnimationClip の作成、キーフレーム設定、Animator Controller のトランジション設定を AI に指示できます。「プレイヤーが近づいたらドアが 0.5 秒で開くようにして」と伝えるだけで自動設定されます。" },
        { cat: "機能", q: "カメラ操作や Cinemachine の設定も AI でできますか？", a: "はい。Virtual Camera の作成、Body/Aim/Noise の設定、カメラブレンド管理など網羅的にサポートしています。Cinemachine 2.x と 3.x の両方に専用操作があります。" },
        { cat: "機能", q: "VFX Graph のエフェクトも扱えますか？", a: "はい。「プレイヤーを追いかける炎を出して、衝突したら爆発させて」のような複雑なエフェクトも自然言語でステップごとに構築できます。" },
        { cat: "機能", q: "マテリアルやシェーダーの管理はできますか？", a: "はい。マテリアルの作成・アサイン、シェーダープロパティの変更、複数オブジェクトへの一括適用などが AI で実行できます。URP・HDRP・Built-In すべてに対応しています。" },
        { cat: "機能", q: "NavMesh の設定も AI で操作できますか？", a: "はい。NavMesh Surface のベイク、NavMesh Agent の追加、障害物回避の設定など、AI がステップごとにサポートします。" },
        { cat: "機能", q: "Timeline の編集はできますか？", a: "はい。Timeline アセットの作成、Animation/Activation/Audio/Control トラックの追加、クリップ設定を自然言語で実行できます。" },
        { cat: "機能", q: "UI Toolkit や TextMeshPro も扱えますか？", a: "はい。UI Toolkit（UXML/USS）のレイアウト作成、TextMeshPro のフォントアセット・スタイル設定に対応しています。作りたい UI を言葉で伝えるだけで AI が構造を構築します。" },
        { cat: "機能", q: "Unity Editor のスクリーンショットを AI に撮らせることはできますか？", a: "はい。現在の Unity Editor 画面を PNG としてキャプチャし、AI が内容を分析して回答できます。ビジュアルバグの診断や構成確認に便利です。" },
        { cat: "機能", q: "スクリプトの管理や C# コードの生成もできますか？", a: "はい。C# スクリプトの作成・読み取り・変更に対応しています。「この機能を持つスクリプトを新規作成して」「このコードをリファクタして」などを Unity ワークフロー内で依頼できます。" },
        { cat: "機能", q: "ScriptableObject にも対応していますか？", a: "はい。ScriptableObject の作成、フィールド設定、シーンや Prefab からの参照設定を AI で操作できます。データ構造を言葉で伝えるだけで素早く構築できます。" },
        { cat: "機能", q: "Prefab の管理も AI でできますか？", a: "はい。Prefab の作成・インスタンス化・編集モード移行・バリアント修正・オーバーライドの適用とリバートを自然言語で操作できます。" },
        { cat: "機能", q: "物理設定も AI で変更できますか？", a: "はい。Rigidbody のプロパティ、Collider の形状・サイズ、Physics Material、レイヤーベースの衝突マトリクスなどプロジェクト全体の物理設定を AI で操作できます。" },
        { cat: "機能", q: "ProBuilder を使った 3D モデリングはできますか？", a: "はい。メッシュ作成・変形、押し出し、フェイス選択、UV アンラップのガイダンスなどに対応しています。会話形式でレベルデザインやプロトタイプ構築が可能です。" },
        { cat: "機能", q: "AI の会話の中から Play Mode を操作できますか？", a: "はい。「Play して敵が正常にスポーンするか確認してから止めて」のような指示で、Play Mode の開始・停止・一時停止を AI が代行します。" },
        { cat: "機能", q: "AI が Unity のコンソールログを読み取れますか？", a: "はい。エラー・警告・メッセージをタイプ別にフィルタリングし、内容に基づいて問題を診断・修正提案します。難解なエラーメッセージを具体的な解決策に変えます。" },
        { cat: "機能", q: "Unity プロジェクトのビルドやコンパイルも AI 経由でできますか？", a: "はい。会話の中からビルドをトリガーし、コンパイルエラーを AI が直接受け取って即座に診断・修正を繰り返せます。" },
        { cat: "機能", q: "知識データベースは Unity 開発でどのように役立ちますか？", a: "1,476 件の知識エントリが内蔵の専門家リファレンスとして機能します。Unity の API、よくあるパターン、既知の問題に対し、あなたの質問に合わせた専門家レベルのガイダンスを提供します。" },
        { cat: "機能", q: "選択中の GameObject の状態を AI に取得させることはできますか？", a: "はい。Hierarchy で選択中の GameObject のコンポーネントとプロパティの全状態を取得し、AI が分析して修正提案を行います。Inspector レベルの診断が格段に速くなります。" },
        { cat: "機能", q: "Animation Rigging にも対応していますか？", a: "はい。Rig Builder、Multi-Aim Constraint、Two Bone IK などのコンストレイントを AI で設定できます。キャラクターリギングと IK セットアップがより直感的になります。" },
        { cat: "機能", q: "Render Pipeline の切り替えを AI に手伝ってもらえますか？", a: "プロジェクトのグラフィクス設定の読み取り・変更に対応し、切り替えプロセスをガイドします。完全移行には Unity 内蔵の移行ウィザードとの併用を推奨します。" },
        { cat: "機能", q: "シーンの読み込みや切り替えも AI で管理できますか？", a: "はい。シーンの作成・開閉・保存、マルチシーン構成の設定、シーン読み込みロジックのセットアップを AI で操作できます。" },
        { cat: "機能", q: "パフォーマンス分析のための Profiler にも対応していますか？", a: "はい。Play Mode 中に Profiler の開始・停止・データ読み取りができます。AI にプロファイリング結果を分析させ、ボトルネックの改善案を提案してもらえます。" },
        { cat: "機能", q: "Unity の Test Runner を AI から実行できますか？", a: "はい。EditMode/PlayMode テストを実行し、結果を AI が直接受け取ります。テスト失敗を AI が分析し、Test Runner ウィンドウを手動で操作せずに修正ガイダンスを受けられます。" },
        { cat: "機能", q: "特定のカメラアングルからシーンをキャプチャできますか？", a: "はい。指定したカメラ位置からシーンをレンダリングし、画像を AI に返します。Editor カメラを手動で動かさずに構図・ライティング・エフェクトを確認できます。" },
        { cat: "機能", q: "複数のオブジェクトに一括操作を実行できますか？", a: "はい。「シーン内の全環境プロップにこのマテリアルを適用して」のような指示が、個別選択なしに一括実行できます。" },
        { cat: "機能", q: "プレイヤー入力（キーボード / マウス）のシミュレーションはできますか？", a: "はい。Play Mode 中のキーボード・マウス入力のシミュレーションに対応しており、プレイヤー操作の自動テストに役立ちます。" },
        { cat: "機能", q: "テクスチャやインポート設定の管理もできますか？", a: "はい。テクスチャの作成、インポート設定（テクスチャタイプ・圧縮形式・ミップマップ等）の変更、マテリアルへのアサインが AI で実行できます。" },
        { cat: "機能", q: "Package Manager のパッケージ管理も AI でできますか？", a: "はい。「Input System をインストールして」「Cinemachine を追加して」と伝えるだけで、パッケージの追加・削除・更新を AI が代行します。" },
        { cat: "機能", q: "キャラクターアニメーション用の Muscle Capture にも対応していますか？", a: "はい。ヒューマノイドキャラクターのマッスルデータの記録・適用に対応しています。Unity の Humanoid リグシステムおよび Avatar 設定と連携します。" },
        { cat: "機能", q: "AI が Unity の公式ドキュメントを参照して回答してくれますか？", a: "はい。AI が公式 Unity ドキュメントを検索・取得して回答に組み込みます。Editor とブラウザを行き来する代わりに、ドキュメントに裏付けられた回答を会話の中で直接受け取れます。" },
        { cat: "機能", q: "UI 要素を AI でビジュアル管理できますか？", a: "はい。レガシー Canvas システムと UI Toolkit の両方に対応しています。望むレイアウトを言葉で伝えると、AI が対応する UI 構造を生成します。" },
        { cat: "機能", q: "シェーダーや Shader Graph の管理もできますか？", a: "はい。シェーダーアセットと Shader Graph の作成・変更に対応しています。プロパティ設定、ノード追加、出力接続を自然言語で指示できます。" },
        { cat: "機能", q: "入力シーケンスの記録と再生でテストできますか？", a: "はい。Play Mode 中のキーボード・マウス入力シーケンスの記録と再生に対応しています。フルテストフレームワークなしで軽量な自動リグレッションテストが可能です。" },
        { cat: "機能", q: "シーンの Hierarchy を効率よく管理できますか？", a: "はい。階層ツリーの取得、名前・タグ・レイヤーによる検索、AI コマンドによる階層の再構築に対応しています。" },
        { cat: "機能", q: "オーディオの管理にも対応していますか？", a: "はい。AudioSource の設定、Audio Clip の割り当て、音量・ピッチ・3D 空間設定の調整、Audio Mixer グループの管理を AI で操作できます。" },
        { cat: "機能", q: "プロジェクトを再コンパイルせずに C# コードを動的実行できますか？", a: "はい。Roslyn コンパイラを使って、プロジェクト全体の再コンパイルなしに C# コードスニペットを実行できます。単発のエディタ操作やバッチ変換に非常に便利です。" },
        { cat: "機能", q: "プリセットのカメラアングルを AI で呼び出せますか？", a: "はい。「真上からの俯瞰に切り替えて」「シネマティックアングルにして」と伝えるだけで、あらかじめ用意されたプリセットを即座に適用できます。" },
        { cat: "機能", q: "シーンビューカメラの位置・角度を AI で直接動かせますか？", a: "はい。ゲーム内カメラとは独立して、Editor の Scene ビューカメラの位置・回転・視野角を精密に制御できます。スクリーンショット用のアングルを正確に合わせる作業がマウス操作なしで完結します。" },
        { cat: "料金", q: "料金プランを教えてください。", a: "Free（$0/月・1,000リクエスト）、Pro（$10/月・3,000リクエスト）、Max（$50/月・無制限）の 3 プランです。全プランで 405 アクションと 1,476 知識エントリをフルに利用できます。" },
        { cat: "料金", q: "「1 リクエスト」とは何を指しますか？", a: "AI の代わりに Unity Editor アクションを実行するか、知識エントリを取得するたびに 1 リクエストとカウントされます。会話のみのやり取りはカウントされません。" },
        { cat: "料金", q: "プランはいつでも変更できますか？", a: "はい。アカウントダッシュボードからいつでも変更できます。アップグレードはすぐに反映され、ダウングレードは次の請求サイクル開始時に適用されます。" },
        { cat: "料金", q: "支払いはどのように処理されますか？", a: "Merchant of Record の Lemon Squeezy（Stripe 経由）が請求・税務・コンプライアンスを代行します。主要なクレジットカード・デビットカードでお支払いいただけます。" },
        { cat: "料金", q: "支払い情報は安全ですか？", a: "はい。Editor Eye はお支払い情報を一切保存しません。PCI-DSS 準拠の Lemon Squeezy と Stripe のみが処理・保管します。" },
        { cat: "料金", q: "サブスクリプションはいつでも解約できますか？", a: "はい。いつでもダッシュボードから解約できます。解約後も現在の請求期間終了まで有料プランをご利用いただけます。" },
        { cat: "料金", q: "返金はできますか？", a: "サービスの性質上、ご返金は受け付けておりません。解約後も現在の請求期間終了まで有料プランをご利用いただけます。" },
        { cat: "料金", q: "法人向けや複数人向けのプランはありますか？", a: "現在は個人サブスクリプションのみです。一括ライセンスやカスタム契約をご希望の法人様は editoreyemanager@editor-eye.app までご連絡ください。" },
        { cat: "料金", q: "学割はありますか？", a: "正式な学割プログラムは現在ありません。Free プラン（月 1,000 リクエスト・永続無料）はどなたでもご利用いただけます。" },
        { cat: "料金", q: "月間リクエスト数の上限を超えるとどうなりますか？", a: "上限に達すると通知が届き、アクション実行が一時停止されます。AI との会話は継続しますが、次の請求サイクルのリセットまたはアップグレードまで Editor 操作は保留されます。" },
        { cat: "料金", q: "年払いはできますか？", a: "年払いは 20% OFF でご利用いただけます。年間を通して継続利用される方にお得なプランです。" },
        { cat: "料金", q: "領収書や請求書を発行してもらえますか？", a: "はい。Lemon Squeezy が各支払い後に登録メールアドレスへ自動送付します。ダッシュボードからいつでも明細付き請求書をダウンロードできます。" },
        { cat: "料金", q: "インボイス制度に対応した請求書を発行できますか？", a: "当社の Merchant of Record である Lemon Squeezy が日本の消費税（JCT）を含む税務コンプライアンスを担当しています。具体的な要件は経理部門にご確認ください。" },
        { cat: "料金", q: "課金前に試用期間はありますか？", a: "Free プラン自体が永続的な試用期間です。月 1,000 リクエスト・期限なし・クレジットカード不要で、有料プランを十分に検討できます。" },
        { cat: "料金", q: "Free プランに隠れた費用や制限はありますか？", a: "隠れた費用はありません。制限はリクエスト数のみです。機能制限・ストレージ費用・導入費用は一切ありません。" },
        { cat: "トラブル", q: "Unity Editor がフリーズして応答しません。どうすればいいですか？", a: "同梱の editor-eye-windows-cli を使い、kill-unity → launch-unity を実行してください。CLI は Editor とは独立して動作するため、フリーズ中でも機能します（Windows 専用）。" },
        { cat: "トラブル", q: "Editor Eye 拡張が AI と接続できません。何を確認すればいいですか？", a: "Editor Eye ステータスパネルで MCP サーバーの起動を確認し、AI の MCP 設定のエンドポイントが正しいかチェックしてください。CLI の focus-unity-window で Unity をフォーカスしてから再接続を試みてください。" },
        { cat: "トラブル", q: "MCP サーバーが起動しません。どうすればいいですか？", a: "editor-eye-windows-cli binary がパッケージインストールディレクトリに存在するか、ファイアウォールやウイルス対策ソフトがブロックしていないかを確認してください。問題が続く場合は最新の .unitypackage を再 Import してください。" },
        { cat: "トラブル", q: "Cinemachine 2.x を使っていますが、カメラ操作が動きません。", a: "Cinemachine 2.x では set_body_2x・set_aim_2x など _2x サフィックス付きの操作を使ってください。汎用の set_body/set_aim/set_noise は Cinemachine 3.x 専用です。AI にバージョンを伝えると自動選択されます。" },
        { cat: "トラブル", q: "HDRP だと一部の操作が URP と異なる結果になります。これは正常ですか？", a: "正常です。ライティング・マテリアル・ポストプロセッシング関連の操作は、パイプラインごとにシェーダーモデルやコンポーネントが異なるため動作が変わります。AI に現在のパイプラインを伝えると適切に調整されます。" },
        { cat: "トラブル", q: "今月のリクエスト枠を使い切りました。どうすればいいですか？", a: "次の請求サイクル開始時のリセットを待つか、ダッシュボードからワンクリックでアップグレードして即座に追加容量を確保できます。" },
        { cat: "トラブル", q: ".unitypackage の Import に失敗します。何を確認すればいいですか？", a: "Unity 2022.3 LTS 以上であること、Console に Editor 拡張同士の競合エラーが出ていないかを確認してください。古いバージョンの EditorEye フォルダが Assets/ や Packages/ に残っている場合は削除してから再 Import してください。" },
        { cat: "トラブル", q: "macOS や Linux では使えますか？", a: "はい、ご利用いただけます。ただし editor-eye-windows-cli ツールは Windows 専用です。コア機能は 3 プラットフォームすべてで動作します。" },
        { cat: "トラブル", q: "他の Unity プラグインと競合しませんか？", a: "専用の名前空間を使用しており、Unity のコア Editor 動作を変更しません。特定のプラグインとの競合が発生した場合は GitHub Issues でご報告ください。" },
        { cat: "トラブル", q: "Unity 2021 以前のバージョンでは使えますか？", a: "使えません。Unity 2022.3 LTS 以降が必要です。Editor API の違いにより、2021 以前はサポート外です。" },
        { cat: "トラブル", q: "ビルドしたアプリで Editor Eye が動きません。これは正常ですか？", a: "正常です。Editor Eye は Editor 専用ツールです。コンポーネントはビルド時に自動的に除外され、最終的なゲーム実行ファイルには影響しません。" },
        { cat: "トラブル", q: "シーンを切り替えると AI が設定した内容が失われました。なぜですか？", a: "AI による設定はシーン固有のため、未保存のまま切り替えると失われます。変更を保持したい場合は必ずシーンを保存してください。未保存の変更が検出されると Editor Eye が保存を促します。" },
        { cat: "トラブル", q: "Prefab 編集モードで操作すると変更が反映されません。どうすればいいですか？", a: "Prefab 編集モードでは変更を Prefab アセットに適用する必要があります。AI に Prefab 編集モード中であることを伝えると、適切な操作が使用されます。" },
        { cat: "トラブル", q: "Asset Bundle や Addressables には対応していますか？", a: "部分的に対応しています。アセット管理アクションで含めるアセットの管理が可能です。サーバ側にプロジェクトデータは保持されません。完全な対応はロードマップに入っています。" },
        { cat: "トラブル", q: "CLI と Editor 間の WebSocket 接続が頻繁に切れます。どうすれば解決できますか？", a: "システムのスリープ設定、ファイアウォール、ウイルス対策ソフトの干渉が原因のことが多いです。gateway_core_bridge_reconnect を使用すると Editor を再起動せずに接続を再確立できます。" },
        { cat: "トラブル", q: "API キーを紛失したか、アカウントにアクセスできません。どうすればいいですか？", a: "editor-eye.app のアカウント復旧フローを利用してください。問題が解決しない場合は editoreyemanagert@gmail.com にご連絡ください。" },
        { cat: "トラブル", q: "「凍結 tool インターフェイス」とは何ですか？なぜ重要なのですか？", a: "63 件の tool インターフェイスに破壊的変更を加えないことを保証します。構築した AI ワークフローが突然の API 変更で壊れることはありません。" },
        { cat: "トラブル", q: "知識検索が的外れな結果を返します。どうすればいいですか？", a: "より具体的な Unity 用語で質問を言い換えてください（例：「ライトの設定方法」→「HDRP で Point Light の intensity を設定する方法」）。Unity バージョンとパイプラインのコンテキストを伝えると精度が上がります。" },
        { cat: "トラブル", q: "大量のバッチ操作を実行すると動作が遅くなります。速くする方法はありますか？", a: "バッチは安全チェックを行いながら順次適用されるため数秒かかります。論理的なグループに分割して段階実行し、大量バッチ前に不要な Editor ウィンドウを閉じると改善されます。" },
        { cat: "トラブル", q: "Editor Eye はオフラインでも使えますか？", a: "AI がクラウド API を必要とするため、インターネット接続が必須です。完全オフラインモードは現在のバージョンではサポートしていません。" },
        { cat: "その他", q: "Editor Eye は誰が開発・維持しているのですか？", a: "ゲームクリエイターとその表現の間の障壁をなくすことに情熱を持つインディー開発者 Aida が開発しています。ご質問は editoreyemanager@gmail.com までどうぞ。" },
        { cat: "その他", q: "Editor Eye の商用利用の範囲を教えてください。", a: "Free・Pro・Max の全プランで商用利用が許可されています。Steam 等で販売するゲームへの利用も可能です。ロイヤリティや収益分配の要件はありません。" },
        { cat: "その他", q: "Editor Eye はオープンソース化される予定はありますか？", a: "コアプロダクトのオープンソース化の計画は現在ありません。将来的に一部のユーティリティコンポーネントや SDK インテグレーションをオープンソース化する可能性はあります。" },
        { cat: "その他", q: "Editor Eye のロードマップを教えてください。", a: "アクションライブラリと知識データベースの継続拡張などが含まれます。最新情報は editor-eye.app のチェンジログをご確認ください。" },
        { cat: "その他", q: "Editor Eye ユーザーのコミュニティはありますか？", a: "現在、ユーザーコミュニティを開発中です。スタート時にはこのサイトでお知らせします。" },
        { cat: "その他", q: "機能要望はどこに送ればいいですか？", a: "editoreyemanager@gmail.com にユースケースと解決したい課題を記載して送ってください。Sprint ごとにレビューし、最もインパクトの大きい改善を優先します。" },
        { cat: "その他", q: "個人情報はどのように扱われますか？", a: "メールアドレス・サブスクリプション状況・API 使用メトリクスのみを収集します。Unity プロジェクトファイル・シーンデータ・AI との会話内容は収集・保存しません。" },
        { cat: "その他", q: "GDPR や CCPA に準拠していますか？", a: "はい。Editor Eye および Lemon Squeezy は GDPR（EU）と CCPA（カリフォルニア州）に準拠しています。データへのアクセス・修正・削除のご要望は editoreyemanager@gmail.com までご連絡ください。" },
        { cat: "その他", q: "API 安定性保証とは何ですか？Pro・Max ユーザーにとってなぜ重要ですか？", a: "63 件の tool インターフェイスが Phase 1〜4 を通じて破壊的変更なしに安定することを保証します。Pro・Max ユーザーは突然の API 破壊を恐れずに信頼性の高い AI ワークフローを構築できます。" },
        { cat: "その他", q: "Editor Eye を今すぐ始めるには、何から手をつければいいですか？", a: "まず Free プランを開始してください。クレジットカード不要です。.unitypackage をダウンロードして Unity プロジェクトに Import し、今まさに詰まっていることを AI に聞いてみてください。半日かかった疑問が 5 分以内に解消されます。" }
      ]
    },
    pricing: {
      eyebrow: "価格",
      title: "始めるのは、無料から",
      sub: "迷ったら Free。詰まり始めたら Pro。仕事で使うなら Max。AVA 1サイクル（Action→Verify→Adjust）≈ 3〜4リクエスト。Free は月 1,000 リクエスト、Pro は月 3,000 リクエスト、Max は月リクエスト回数無制限。",
      plans: [
        { name: "Free", price: "$0", per: "/forever", req: "1,000 リクエスト/月", cta: "今すぐ無料で始める", featured: false,
          features: ["全機能の利用可", "コミュニティサポート", "Claude Code 接続", "マルチAI対応（MCP対応ならば）", "1 プロジェクト同時接続"] },
        { name: "Pro", price: "$10", per: "/月", req: "3,000 リクエスト/月", cta: "Pro を選ぶ", featured: true,
          features: ["Free の全機能", "Discord サポート", "ベータ機能 早期アクセス"] },
        { name: "Max", price: "$50", per: "/月", req: "無制限", cta: "Max を選ぶ", featured: false,
          features: ["Pro の全機能", "Discord 優先サポート", "メールサポート", "無制限プロジェクト接続"] }
      ]
    },
    generativeAudio: {
      eyebrow: "LLM が音を作る",
      title: "サウンドトラック（最大45秒、MIDI品質）とサウンドエフェクト（最大1秒）を生成",
      subtitle: "DAW も録音機材も不要。プロンプトひとつで、SE も BGM も Unity プロジェクトに直接書き出す。",
      cards: [
        {
          icon: "🔊",
          tag: "generate_se",
          title: "SE エフェクトを即座に生成",
          body: "打撃音・ボタン音・足音・爆発音など、ゲームに必要な効果音を自然言語で指定して生成。パラメータ（音量・ピッチ・長さ）を組み合わせてバリエーション無限。生成したファイルは Assets フォルダに自動保存。",
          meta: "1 コマンドで AudioClip 完成"
        },
        {
          icon: "🎵",
          tag: "generate_chiptune",
          title: "45 秒の MIDI 品質 BGM を生成",
          body: "「明るいアドベンチャー風、BPM 120、Cメジャー」のような指示で、ゲームジャンルに合ったチップチューン BGM を生成。ループ対応・スタイル指定・複数バリエーション作成に対応。",
          meta: "ゲームジャンルに合ったムード"
        }
      ]
    },
    contextEfficiency: {
      eyebrow: "なぜ課金が抑えられるのか",
      title: "MCP Context を約 1/10 に圧縮する 2 つのメカニズム",
      subtitle: "Pro / Max ユーザーの LLM 課金を削減し、tool 選択精度を高める設計。",
      ratio: {
        label: "他ツール比 Context 規模",
        detail: "64 tool / 32,638 文字 ≈ 8,000 token（実測 2026-05-08）"
      },
      mech1: {
        tag: "UperSummary",
        title: "Knowledge DB を 99% 圧縮して配信",
        body: "UperSummary_list_all_unity_knowledge は Knowledge DB（〜800 KB）をカテゴリ別軽量サマリー（数 KB）に圧縮して LLM に渡す。毎リクエストの sticky context を最小化。",
        pill: "〜800 KB → 数 KB / 99% 圧縮"
      },
      mech2: {
        tag: "Passthrough Schema",
        title: "Schema Bloat をゼロにする設計",
        body: "全 64 gateway tool の inputSchema を z.object({}).passthrough() で統一。action enum・引数定義を LLM に届けず、Knowledge DB の使用例で補完。tools/list のサイズを最小化。",
        pill: "Schema Bloat ゼロ"
      },
      benefits: [
        "毎リクエストの LLM API 課金が抑えられる",
        "context が小さいほど tool 選択精度が向上",
        "ベンダー・モデル変更の影響を最小化"
      ]
    },
    generativeSprite: {
      eyebrow: "LLM がグラフィックを生成する",
      title: "32×32 / 64×64 PNG スプライトをプロシージャルに生成",
      subtitle: "アートツール不要。プロンプトで形・色・スタイルを指定するだけで、Unity Assets フォルダに PNG を直接書き出す。",
      sizes: [
        {
          size: "32×32",
          icon: "🎮",
          tag: "generate_sprite",
          title: "32×32 ドット絵スプライト",
          body: "ゲームキャラ・UI アイコン・タイルマップに最適なサイズ。シンプルで軽量。「赤いヘルメットを被った小さなロボット」のような指示で即座に生成。",
          meta: "ドット絵 / UI アイコン / タイル"
        },
        {
          size: "64×64",
          icon: "🖼",
          tag: "generate_sprite",
          title: "64×64 高解像度スプライト",
          body: "より細かい表現が必要なアイテム・モンスター・エフェクトに対応。色数・輪郭スタイル・透過処理を自然言語で指定可能。バリエーション出力にも対応。",
          meta: "アイテム / モンスター / エフェクト"
        }
      ]
    },
    coreValue: {
      eyebrow: "なぜ可能なのか",
      title: "Editor Eye が「自律操作」を実現する、6つの仕組み",
      subtitle: "LLM が Unity の画面を見て、考えて、動かす。その裏側にある設計。",
      cards: [
        { icon: "👁", tag: "SceneView",     featured: false, title: "SceneView をリアルタイムで認識",  body: "LLM がシーンの空間構造を直接把握。カメラ位置・GameObjectの配置・ライティングを目視確認しながら最適な操作を判断する。",           meta: "スクショ不要で空間把握" },
        { icon: "⚡", tag: "AVA",           featured: true,  title: "AVA: Action→Verify→Adjust",    body: "Action（実行）→ Verify（検証）→ Adjust（修正）のループをLLMが自律的に回す。操作後に必ず結果を確認し、ズレがあれば即調整。人間不在でタスクが完走する。",  meta: "指示 1 回で複数ステップ完走" },
        { icon: "🔍", tag: "Inspector",     featured: false, title: "Inspector の実状態を自動送信",    body: "選択中 GameObject の全コンポーネントとプロパティがそのままLLMに渡る。手書き説明も不要、コピペも不要。",                             meta: "リアルタイム状態同期" },
        { icon: "🧠", tag: "1,476 entries", featured: false, title: "1,476 件の Unity 専門知識",       body: "NavMesh・Animator・Prefab Override。検索しても出てこないUnity固有の暗黙知がLLMのコンテキストに自動で補充される。",                 meta: "半日の調べ物を5分に" },
        { icon: "🛠", tag: "405 actions",   featured: false, title: "405 アクションで Unity を完全操作", body: "GameObject 生成・アニメーション編集・マテリアル適用・ビルド実行・BlendShape 操作・procedural sprite/SE/chiptune 生成。Unity 開発のあらゆる作業を網羅する 405 の実装済みアクション。",         meta: "入門から上級まで対応" },
        { icon: "🔌", tag: "MCP 対応",      featured: false, title: "MCP 準拠設計、ベンダーロックインなし",  body: "MCP（Model Context Protocol）規格に準拠した設計。現時点の公式サポートは Claude Code。将来的に他の MCP 対応クライアントへの拡張も可能な構造です。",  meta: "拡張可能なアーキテクチャ" }
      ]
    },
    finalCta: {
      eyebrow: "さぁ、始めよう",
      title: ["半日かかった難所を、", <br key="b"/>, "今夜は10分で飛び越える。"],
      sub: "クレジットカード不要。1,000リクエスト/月、いつでも無料。",
      cta: "今すぐ無料で始める",
      secondary: "UnityPackageダウンロード"
    },
    footer: {
      tagline: "Unity のエキスパートが、あなたの横に。",
      download: { title: "", links: [
        { label: "UnityPackageダウンロード", cta: true },
      ]},
      product: { title: "Product", links: [
        "機能",
        "価格",
        "FAQ",
        { label: "ドキュメント", href: "/docs" },
        { label: "リリースノート", href: "/releases" },
      ]},
      legal: { title: "Legal", links: [
        { label: "プライバシー", href: "/privacy" },
        { label: "利用規約",   href: "/terms" },
        { label: "特商法表記", href: "/tokushoho" },
        { label: "ライセンス", href: "/docs/credits" },
        { label: "Support Discord Server", href: "https://discord.gg/Xy7XZCjXBY" },
      ] },
      copyright: "© 2026 Editor Eye. All rights reserved."
    }
  },
  en: {
    nav: { features: "Features", pricing: "Pricing", faq: "FAQ", docs: "Download .unitypackage", login: "Log in", cta: "Start free" },
    hero: {
      tag: "Unity AI Assistant",
      title: ["Done struggling with ", <span key="k" className="grad-text">Unity</span>, "."],
      subtitle: "A world where everyone can build their game in their own words.",
      sub: <>AVA: Action → Verify → Adjust.<br/>An autonomous loop — your AI executes, checks the result, and corrects on the spot — collapsing your build cycle from days to hours.</>,
      cta: "Start free",
      secondary: "↓ Watch the demo",
      meta: ["Unity 2022.3+", "macOS / Windows / Linux", "1,000 requests/mo, free forever"],
      videoSrc: "https://www.youtube.com/embed/9fXVOGj85G0?autoplay=1&mute=1&loop=1&playlist=9fXVOGj85G0&controls=1&modestbranding=1&playsinline=1&rel=0"
    },
    arch: { title: "How it bridges", desc: "LLM ↔ Editor Eye ↔ Unity Editor", llm: "LLM (Claude Code)", bridge: "Editor Eye", editor: "Unity Editor" },
    villain: {
      eyebrow: "The Villains",
      title: "Ever hit a wall in Unity?",
      cards: [
        { n: "01", role: "Villain ①", title: "Followed every step — and nothing works the way it should.", body: "A version mismatch, a missed setting, one overlooked checkbox. Hours bleed away with no answer in sight. You can't even tell what's broken — you, the tutorial, or something hiding in between.", art: "/screenshots/akuyaku01.png" },
        { n: "02", role: "Villain ②", title: "\"How much of this do I have to learn?\" — and the despair sets in.", body: "Spend half a day wrestling one concept into your head — and immediately hit something new. An endless stream of methods and properties. The Inspector overflows with settings that all seem equally important and equally mysterious.", art: "/screenshots/akuyaku02.png" },
        { n: "03", role: "Villain ③", title: "No idea where the error is coming from.", body: "One problem, tangled across scripts, components, Prefabs, Scenes, and Canvas settings all at once. Fix one thing and something that was working fine breaks somewhere else.", art: "/screenshots/akuyaku03.png" },
        { n: "04", role: "Villain ④", title: "Why won't it work?!", body: "No errors, but the behavior is wrong. You scatter Debug.Log() calls everywhere — and fall into an even deeper maze.", art: "/screenshots/akuyaku04.png" },
        { n: "05", role: "Villain ⑤", title: "The LLM only gives generic answers.", body: "Of course it does. It can't see your project. But explaining your project to an LLM takes forever — no matter how much time you have.", art: "/screenshots/akuyaku05.png" },
        { n: "06", role: "Villain ⑥", title: "It's just one tedious task after another.", body: "You dreamed game development would be exciting and creative. Instead it's endless repetitive busywork. You're burnt out. You can barely look at the screen anymore.", art: "/screenshots/akuyaku06.png" }
      ]
    },
    solution: {
      eyebrow: "The Solutions",
      title: "Editor Eye solves all of it.",
      cards: [
        { n: "01", role: "Solution ①", title: "\"I followed every step\" — the LLM finds what's actually wrong.", body: "Editor Eye sends the exact state of your GameObject — every component, every field value — straight to the LLM. Version mismatches and missed settings are spotted and fixed instantly.", art: "/screenshots/kaiketsu01.png" },
        { n: "02", role: "Solution ②", title: "1,476 Unity knowledge entries. Memorized so you don't have to.", body: "NavMesh quirks, Animator exit times, Prefab override gotchas — the LLM auto-references 1,476 Unity-specific knowledge entries. You don't have to remember any of it.", art: "/screenshots/kaiketsu02.png" },
        { n: "03", role: "Solution ③", title: "Trace the root cause across every script, Prefab, and Scene.", body: "When a problem spans scripts, components, Prefabs, and Scenes all at once, the LLM reads the Console log and hierarchy simultaneously to find the source — and fix it.", art: "/screenshots/kaiketsu03.png" },
        { n: "04", role: "Solution ④", title: "No error, still broken? The LLM reads your live state to find out why.", body: "No more scattering Debug.Log() calls. The LLM reads your GameObject's actual state, observes the gap from expected behavior, and pinpoints the cause.", art: "/screenshots/kaiketsu04.png" },
        { n: "05", role: "Solution ⑤", title: "The LLM answers with your actual project in front of it.", body: "Editor Eye pipes your project's live state to the LLM over MCP — no explanation needed. It sees your Prefabs, components, and settings, and gives answers specific to your situation.", art: "/screenshots/kaiketsu05.png" },
        { n: "06", role: "Solution ⑥", title: "A mountain of work — done in one sentence.", body: "With batch_execute, the LLM applies the same operation across dozens or hundreds of objects at once. \"Add NavMeshAgent to every Enemy and set speed to 2\" — one instruction, done. The mountain of manual work disappears in an instant.", art: "/screenshots/kaiketsu06.png" }
      ]
    },
    plans: {
      eyebrow: "The Plan",
      title: "Up and running in 3 minutes.",
      sub: "We answer \"can I actually do this?\" before anything else.",
      cards: [
        { num: "01", icon: "gear", name: "Create your account", sub: "Sign up for Editor-Eye and get your license key", time: "1 min", steps: ["Open the Editor-Eye site and click \"Start free\"", "Sign up with GitHub or Google (no credit card required)", "Copy the license key (UUID) shown on your dashboard"], screenshot: "/screenshots/tejun01.png" },
        { num: "02", icon: "play", name: "Install in Unity", sub: "Download the .unitypackage and import it into Unity", time: "1 min", downloadUrl: "https://downloads.editor-eye.app/extension/v0.18.7/editor-eye-unity-v0.18.7.unitypackage", steps: ["Click the download button above to get the latest .unitypackage", "Open your Unity project and double-click the .unitypackage to import it", "From the menu, go to Window → Editor-Eye → Settings, paste the license key from Step 1, and save"], screenshot: "/screenshots/tejun02.png" },
        { num: "03", icon: "camera", name: "Set up your LLM", sub: "Enable the Editor-Eye MCP in Claude Code", time: "1 min", steps: ["Sign up, log in, and copy the config snippet shown on your dashboard into `~/.claude/mcp.json`", "Or just ask Claude Code: \"Make Editor-Eye's MCP available.\" — it'll configure itself", "Restart Claude Code, send any prompt, and you're talking to your Unity project."], screenshot: "/screenshots/tejun03.png" }
      ],
      banner: { title: "Game-making in plain language begins.", sub: "Just talk to your LLM!" }
    },
    outcome: {
      eyebrow: "The Outcome",
      title: "Six months later, \"Now Available\" on Steam.",
      sub: "The story of one creator who set out to ship a game in Unity.",
      acts: [
        { label: "I", title: "Excited. Unity installed.", body: "Read a blog post: \"Unity makes game dev easy.\" Downloaded it on the spot, got everything set up, buzzing. Then you opened the Inspector — a wall of settings staring back. Apparently \"customizable\" means \"figure all of this out yourself.\" You poked at it, struggled, bought a beginner's book, worked through it cover to cover. Study done. Time to actually build the game.", mood: "spark" },
        { label: "II", title: "\"Unity game dev — I'm done. I'm stuck.\"", body: "The game you actually want to make is just out of reach. Beginner books don't go far enough — you need one rung up. There's so much you want to express in Unity. You search. The unknowns multiply faster than the answers. Wait… this is hopeless. Unity game dev: stuck.", mood: "stuck" },
        { label: "III", title: "Then Editor Eye showed up.", body: "A random video lands in your feed: \"There's this MCP called Editor Eye.\" You install it. Suddenly the AI is answering based on what's actually in your Unity project — not generic advice. Stuck → solved.", mood: "win" },
        { label: "IV", title: "\"Now Available.\" Someone is streaming it.", body: "Six months later, the store page reads \"Now Available.\" On YouTube, a stranger plays your game and grins. This is what you wanted to do all along.", mood: "ship" }
      ]
    },
    catalog: {
      eyebrow: "Service catalog",
      title: "405 promises. All already shipped.",
      sub: "Almost every Unity operation — possible today.",
      stats: [
        { num: "448", label: "Actions" },
        { num: "1,476", label: "Knowledge entries" },
        { num: "9", label: "Categories" },
        { num: "100%", label: "Already shipped" }
      ],
      groups: [
        { roman: "I",    title: "Core",      en: "Core utilities",    count: 19,  items: ["Ping / version / hierarchy reads", "Console log retrieval and clear", "Screenshot capture (Game View)", "Selected GameObject state inspection", "Sleep and debug utilities"] },
        { roman: "II",   title: "Scene",     en: "Scene operations",  count: 82,  items: ["GameObject create / modify / delete", "Prefab create and instantiate", "Component add / remove / configure", "Scene create, save, manage", "BlendShape / SkinnedMeshRenderer operations"] },
        { roman: "III",  title: "Assets",    en: "Asset management",  count: 60,  items: ["Asset import, create, delete", "Material create and shader config", "Texture import settings", "C# script generate and edit", "UPM package management"] },
        { roman: "IV",   title: "Workbench", en: "Editor extensions", count: 262, items: ["AnimationClip / AnimatorController editing", "VFX Graph / Particle System config", "URP / HDRP render pipeline settings", "NavMesh bake and agent setup", "ProBuilder mesh creation and editing"] },
        { roman: "V",    title: "Runtime",   en: "Play Mode control", count: 11,  items: ["Play Mode control (play / stop / pause)", "Keyboard input simulation", "Mouse and UI interaction simulation", "Input record and replay"] },
        { roman: "VI",   title: "Build",     en: "Build & compile",   count: 3,   items: ["Project compile with error reporting"] },
        { roman: "VII",  title: "Testing",   en: "Unit testing",      count: 1,   items: ["Unity Test Runner (EditMode / PlayMode)"] },
        { roman: "VIII", title: "Execution", en: "Dynamic execution", count: 4,   items: ["Dynamic C# code execution (script / compilation)", "Async result polling", "Batch command execution (up to 100 commands)"] },
        { roman: "IX",   title: "Knowledge", en: "Knowledge DB",      count: 6,  items: ["Unity knowledge DB semantic search", "Propose new knowledge entries", "Full knowledge DB overview", "Knowledge MD / Policy retrieval"] }
      ]
    },
    faq: {
      eyebrow: "100 questions",
      title: "100 answers means we mean it.",
      sub: "Onboarding 15 · Features 40 · Pricing 15 · Troubleshooting 20 · Other 10.",
      cats: [
        { name: "Onboarding", count: 15 },
        { name: "Features", count: 40 },
        { name: "Pricing", count: 15 },
        { name: "Troubleshooting", count: 20 },
        { name: "Other", count: 10 }
      ],
      items: [
        { cat: "Onboarding", q: "How do I install Editor Eye?", a: "Download the latest .unitypackage from the UnityPackage Download link at the top of this page and double-click the file with a Unity project open to import it. One step, done." },
        { cat: "Onboarding", q: "Which versions of Unity are supported?", a: "Unity 2022.3 LTS and all later versions. Cinemachine 2.x (Unity 2022.3) and Cinemachine 3.x (Unity 6) are both fully supported." },
        { cat: "Onboarding", q: "Which Render Pipelines are supported?", a: "URP, HDRP, and the Built-In Render Pipeline — all three are supported. You can use Editor Eye regardless of which pipeline your project uses." },
        { cat: "Onboarding", q: "Which AI assistants can I use with Editor Eye?", a: "Claude Code is the officially supported client. Editor Eye is built on the open MCP standard, so other MCP-compatible clients may connect, but Claude Code is the only one we have verified and support." },
        { cat: "Onboarding", q: "How do I connect Editor Eye to Claude?", a: "Add the Editor Eye endpoint to ~/.claude/mcp.json with your license key. Your license key is available in your dashboard after signing in. See the documentation for step-by-step setup." },
        { cat: "Onboarding", q: "What is MCP (Model Context Protocol)?", a: "An open standard that lets AI assistants interact with external tools. Editor Eye uses MCP so your AI can directly read and control the Unity Editor, turning natural-language instructions into real Editor operations." },
        { cat: "Onboarding", q: "Which operating systems are supported?", a: "Windows, macOS, and Linux. The editor-eye-windows-cli rescue tool is Windows-only; core functionality works across all three platforms." },
        { cat: "Onboarding", q: "How long does setup take from zero to working?", a: "Most users are up and running in under 5 minutes: install the package (~1 min), configure MCP (~1 min), run a quick test (~1 min). Standard PC tasks — as little as 3 minutes total." },
        { cat: "Onboarding", q: "Do I need programming knowledge to use Editor Eye?", a: "No. Instructions like Add a blue directional light are enough for real Editor operations. Even complete beginners can dive right in. That said, ongoing programming study is still recommended if game development is your goal." },
        { cat: "Onboarding", q: "Can I use Editor Eye with an existing Unity project?", a: "Yes. Only the MCP bridge components are added — your existing scripts, scenes, and assets are untouched. Remove the package at any time without affecting your project." },
        { cat: "Onboarding", q: "What does '405 actions' mean?", a: "405 distinct operations your AI can perform inside the Unity Editor — from creating GameObjects to editing animations, managing assets, and controlling BlendShapes on SkinnedMeshRenderers. Every one is a production-ready, tested implementation, not a mock feature." },
        { cat: "Onboarding", q: "What are '1,476 knowledge entries'?", a: "A curated Unity expertise database the AI draws from when answering questions. It also supplies Unity-specific knowledge current LLMs do not natively have — resolving in minutes what would otherwise take hours of searching." },
        { cat: "Onboarding", q: "Is there a free trial?", a: "Yes. The Free plan gives you 1,000 requests per month, no expiry, no credit card required. All core features are accessible before you commit." },
        { cat: "Onboarding", q: "Is Editor Eye on the Unity Asset Store?", a: "No. Download the .unitypackage from the link at the top of this page. The Unity extension (Win/Mac/Linux) and CLI binary (Windows only) are bundled in a single install." },
        { cat: "Onboarding", q: "Can multiple team members use Editor Eye on the same project?", a: "Yes. Each team member installs the package and uses their own account. The MCP bridge runs per-machine, so every developer maintains an independent AI connection." },
        { cat: "Features", q: "What can I do with natural-language instructions in Unity?", a: "Create and modify GameObjects, configure components, edit animations, control cameras, apply materials, generate scripts, and much more — all by typing naturally. See the full SubAction catalog on this page." },
        { cat: "Features", q: "Can I create and modify GameObjects using AI?", a: "Yes. Create GameObjects with specific names, positions, and hierarchies; add or remove components; set property values; and manage parent-child relationships — all through conversational commands." },
        { cat: "Features", q: "How does Editor Eye handle Animation editing?", a: "Create AnimationClips, set keyframes, configure Animator Controller transitions, and control playback. Say Make the door open in 0.5 seconds when the player approaches and the clips and transitions are set up automatically." },
        { cat: "Features", q: "Can I control cameras and set up Cinemachine rigs through the AI?", a: "Yes — create Virtual Cameras, configure Body/Aim/Noise, set targets, and manage camera blends. Cinemachine 2.x (Unity 2022.3) and 3.x (Unity 6) both have dedicated sub-actions." },
        { cat: "Features", q: "Does Editor Eye support VFX Graph effects?", a: "Yes. Complex effects like flames that chase the player and explode on impact can be built step by step in plain language — nodes, parameters, scene placement, and Inspector values all handled automatically." },
        { cat: "Features", q: "Can I manage materials and shaders with Editor Eye?", a: "Yes. Create and assign materials, modify shader properties (color, roughness, metalness), swap shaders, and batch-apply to multiple objects. URP, HDRP, and Built-In shaders are all supported." },
        { cat: "Features", q: "Can I set up NavMesh and pathfinding through the AI?", a: "Yes. Bake NavMesh surfaces, add NavMesh Agents, configure obstacle avoidance, and set destination targets. Each step is guided conversationally." },
        { cat: "Features", q: "Does Editor Eye support Timeline editing?", a: "Yes. Create Timeline assets, add tracks (Animation, Activation, Audio, Control), configure clips, and set up signal receivers — all through natural-language commands." },
        { cat: "Features", q: "Can I work with UI Toolkit and TextMeshPro through the AI?", a: "Yes. UI Toolkit (UXML/USS) layout creation, UI element configuration, and TextMeshPro text setup including font assets and styling are all supported. Describe the UI you want and the AI builds the structure." },
        { cat: "Features", q: "Can I use Editor Eye to capture screenshots of the Unity Editor?", a: "Yes. The screenshot action captures the current Editor window as a PNG the AI can analyze. Invaluable for diagnosing visual bugs or reviewing scene compositions inside your AI conversation." },
        { cat: "Features", q: "Can I manage scripts and generate C# code through the AI?", a: "Yes. Create, read, and modify C# script assets. Ask the AI to generate a new script, add methods to an existing class, or refactor code — all without leaving your Unity workflow." },
        { cat: "Features", q: "Does Editor Eye support ScriptableObjects?", a: "Yes. Create ScriptableObject assets, set their fields, and set up references from scenes and Prefabs through AI instructions. Data-driven design patterns become much faster to prototype." },
        { cat: "Features", q: "Can I manage Prefabs through the AI?", a: "Yes. Create Prefabs from GameObjects, instantiate Prefabs in scenes, enter Prefab Edit Mode, modify variants, and apply or revert overrides — all through natural-language instructions." },
        { cat: "Features", q: "Can Editor Eye help with Physics settings?", a: "Yes. Configure Rigidbody properties, set Collider shapes and sizes, configure Physics Materials, adjust collision matrices, and fine-tune project-wide physics settings." },
        { cat: "Features", q: "Does Editor Eye support ProBuilder for 3D modeling?", a: "Yes. Create and modify mesh geometry, extrude, select faces, get UV unwrapping guidance, and convert ProBuilder meshes to standard meshes using conversational commands." },
        { cat: "Features", q: "Can I control Play Mode from within the AI conversation?", a: "Yes. The AI enters/exits Play Mode, pauses, and resumes on your behalf. Say play, check if the enemy spawns, then stop without ever touching the Play button manually." },
        { cat: "Features", q: "Can the AI read and analyze Unity Console logs?", a: "Yes. Editor Eye retrieves errors, warnings, and messages. The AI filters by type, searches specific messages, and turns cryptic errors into clear, actionable solutions." },
        { cat: "Features", q: "Can I use Editor Eye to build and compile my Unity project?", a: "Yes. Trigger builds from within the AI conversation, monitor compile errors, and iterate on fixes without leaving the dialogue. Build errors are surfaced directly to the AI for immediate diagnosis." },
        { cat: "Features", q: "How does the knowledge database help during Unity development?", a: "1,476 curated entries act as a built-in expert reference. The AI retrieves the most relevant knowledge and weaves it into its answer — expert-level guidance tailored to your specific question, not a generic web search result." },
        { cat: "Features", q: "Can I use Editor Eye to get the current state of a selected GameObject?", a: "Yes. The AI retrieves the full component and property state of the selected GameObject in the Hierarchy, analyzes it, and suggests modifications — making Inspector-level diagnosis dramatically faster." },
        { cat: "Features", q: "Does Editor Eye support Animation Rigging?", a: "Yes. Configure Animation Rigging constraints through the AI — Rig Builder components, Multi-Aim Constraints, Two Bone IK, and more. Character rigging and IK setup become faster and more intuitive." },
        { cat: "Features", q: "Can I switch between Render Pipelines using Editor Eye?", a: "Editor Eye supports reading and modifying project graphics settings and guides you through pipeline switching. Full migration involves asset upgrades best done with Unity's migration wizard; Editor Eye assists you at each step." },
        { cat: "Features", q: "Can I manage scene loading and transitions through the AI?", a: "Yes. Create, open, save, and close scenes; configure multi-scene setups; and define scene loading logic. Complex multi-scene architectures become easier to manage when you describe the structure in conversation." },
        { cat: "Features", q: "Does Editor Eye support the Profiler for performance analysis?", a: "Yes. Start, stop, and read Profiler data during Play Mode. Ask the AI to analyze profiling results and suggest specific optimizations for your bottlenecks." },
        { cat: "Features", q: "Can I run Unity Tests (Test Runner) through Editor Eye?", a: "Yes. Run EditMode and PlayMode test suites; results are delivered directly to the AI. Test failures are analyzed on the spot, and you receive fix guidance without opening the Test Runner window manually." },
        { cat: "Features", q: "Can I capture a scene from a specific camera angle using the AI?", a: "Yes. Render the scene from any camera position you specify and return the image to the AI — verify composition, lighting, and VFX from any viewpoint without moving the Editor camera by hand." },
        { cat: "Features", q: "Can I perform batch operations on multiple objects at once?", a: "Yes. Apply this material to all environment props executes as a single instruction — no individual selection or modification required." },
        { cat: "Features", q: "Can I simulate player input (keyboard/mouse) through the AI?", a: "Yes. Simulate keyboard and mouse input during Play Mode for automated player interaction testing. Verify gameplay logic without manual playtesting." },
        { cat: "Features", q: "Can I manage Textures and Texture import settings through the AI?", a: "Yes. Create texture assets, modify import settings (type, compression, mip maps, etc.), and assign textures to material properties. Particularly useful for optimizing settings across many assets at once." },
        { cat: "Features", q: "Can I use Editor Eye to manage Package Manager packages?", a: "Yes. Just say Install the Input System or Add Cinemachine and the AI handles adding, removing, or updating packages." },
        { cat: "Features", q: "Does Editor Eye support Muscle Capture for character animation?", a: "Yes. Record and apply humanoid muscle data for character animation, integrated with Unity's Humanoid rig system and Avatar configuration." },
        { cat: "Features", q: "Can the AI reference Unity documentation in its answers?", a: "Yes. The AI searches and retrieves official Unity documentation and incorporates it directly into answers — no switching between the Editor and a browser." },
        { cat: "Features", q: "Can I manage UI elements using the AI?", a: "Yes. Create and modify UI elements in both the legacy Canvas system and UI Toolkit. Describe the layout you want and the AI generates the corresponding structure." },
        { cat: "Features", q: "Can I use Editor Eye to manage Shaders and Shader Graphs?", a: "Yes. Create and modify Shader assets and Shader Graph assets. Configure properties, add nodes, and connect outputs — described in natural language and translated into Shader Graph operations." },
        { cat: "Features", q: "Can I record and replay input sequences for testing?", a: "Yes. Record keyboard and mouse input sequences during Play Mode and replay them. Lightweight automated regression testing of player controls without a full test framework." },
        { cat: "Features", q: "Can I use Editor Eye to manage the scene hierarchy effectively?", a: "Yes. Retrieve a full tree view, search by name/tag/layer, and restructure the hierarchy through AI commands." },
        { cat: "Features", q: "Does Editor Eye support Audio management?", a: "Yes. Configure AudioSource components, assign Audio Clips, adjust volume/pitch/3D spatial settings, and manage Audio Mixer groups — all through the AI." },
        { cat: "Features", q: "Can I execute C# code dynamically without recompiling the project?", a: "Yes. Execute C# snippets inside the Unity Editor using the Roslyn compiler, without a full project recompile. Extremely useful for one-off utility operations, batch transformations, and on-the-fly debugging." },
        { cat: "Features", q: "Can I switch to preset camera angles through the AI?", a: "Yes. Tell the AI switch to the top-down view or go to the cinematic angle and the Scene View jumps to that preset viewpoint immediately — no manual repositioning needed." },
        { cat: "Features", q: "Can I move and reposition the Scene View camera directly through the AI?", a: "Yes. Control the Editor Scene View camera — position, rotation, and field of view — independently of any in-game cameras. Set up screenshot angles or navigate to scene areas without touching the mouse." },
        { cat: "Pricing", q: "What are the pricing plans?", a: "Free ($0/mo, 1,000 requests), Pro ($10/mo, 3,000 requests), and Max ($50/mo, unlimited). All plans include full access to all 405 actions and the 1,476-entry knowledge database." },
        { cat: "Pricing", q: "What counts as one request?", a: "Each time Editor Eye calls a Unity Editor action or retrieves a knowledge entry on behalf of the AI. Conversational exchanges that do not trigger an Editor action or knowledge lookup do not consume requests." },
        { cat: "Pricing", q: "Can I upgrade or downgrade my plan at any time?", a: "Yes. Change your plan anytime from your dashboard. Upgrades take effect immediately; downgrades take effect at the start of the next billing cycle." },
        { cat: "Pricing", q: "How is payment processed?", a: "Through Lemon Squeezy, our Merchant of Record, which handles all billing, tax, and compliance via Stripe. Major credit and debit cards are accepted." },
        { cat: "Pricing", q: "Is my payment information secure?", a: "Yes. Editor Eye never stores payment details. All processing is handled by PCI-DSS compliant Lemon Squeezy and Stripe." },
        { cat: "Pricing", q: "Can I cancel my subscription at any time?", a: "Yes. Cancel anytime from your dashboard. You retain access to your paid plan through the end of the current billing period, then your account reverts to Free." },
        { cat: "Pricing", q: "Do you offer refunds?", a: "Due to the nature of the service, refunds are not available. After cancellation, you retain access through the end of the current billing period." },
        { cat: "Pricing", q: "Do you offer business or team plans?", a: "Currently, each user subscribes individually. For bulk licenses or custom arrangements, contact us at editoreyemanager@editor-eye.app." },
        { cat: "Pricing", q: "Is there a student discount?", a: "No formal student discount program at this time. The Free plan (1,000 requests/month, permanent) is available to everyone." },
        { cat: "Pricing", q: "What happens if I exceed my monthly request limit?", a: "Editor Eye notifies you and pauses action execution. Your AI conversation continues, but Editor operations are held until your quota resets at the next billing cycle or you upgrade." },
        { cat: "Pricing", q: "Can I pay annually?", a: "Yes. Annual billing is available with a 20% discount. It is a great choice if you plan to use Editor Eye throughout the year." },
        { cat: "Pricing", q: "Can I get a receipt or invoice for my payment?", a: "Yes. Lemon Squeezy automatically sends a receipt to your registered email after each payment. Download itemized invoices from your dashboard anytime." },
        { cat: "Pricing", q: "Is Editor Eye compliant with Japanese invoice requirements?", a: "Lemon Squeezy, our Merchant of Record, handles Japanese Consumption Tax (JCT) compliance. Invoices include the required tax registration information. Confirm specifics with your accounting team." },
        { cat: "Pricing", q: "Do you offer a free trial period before charging?", a: "The Free plan itself is a permanent free trial — 1,000 requests per month, no time limit, no credit card required." },
        { cat: "Pricing", q: "Are there any hidden fees on the Free plan?", a: "No hidden fees. The only limit is the request count. No feature restrictions, no storage fees, no onboarding charges on any plan." },
        { cat: "Troubleshooting", q: "Unity Editor is frozen and not responding. What should I do?", a: "Use the bundled editor-eye-windows-cli tool. Run editor-eye-windows-cli kill-unity to terminate the frozen process, then editor-eye-windows-cli launch-unity to restart. The CLI runs independently of the Editor. (Windows only)" },
        { cat: "Troubleshooting", q: "The Editor Eye extension is not connecting to the AI. What should I check?", a: "Check the Editor Eye status panel to verify the MCP server is running, and confirm the server endpoint is correct in your AI MCP configuration. Try editor-eye-windows-cli focus-unity-window then reconnect." },
        { cat: "Troubleshooting", q: "The MCP server fails to start. How do I fix it?", a: "Check that the editor-eye-windows-cli binary is in the package installation directory and no firewall or antivirus is blocking it. Re-import the latest .unitypackage if the binary appears corrupted." },
        { cat: "Troubleshooting", q: "I am using Cinemachine 2.x and some camera actions are not working.", a: "Use the _2x sub-actions (set_body_2x, set_aim_2x) for Cinemachine 2.x in Unity 2022.3. The generic set_body/set_aim/set_noise actions target Cinemachine 3.x only. Tell the AI your Cinemachine version for automatic selection." },
        { cat: "Troubleshooting", q: "Some actions behave differently in HDRP than in URP. Is this expected?", a: "Yes. Lighting, material, and post-processing actions have render-pipeline-specific behaviors because HDRP and URP use different shader models. Tell the AI your current render pipeline for adjusted instructions." },
        { cat: "Troubleshooting", q: "I have exceeded my monthly request quota. What are my options?", a: "Wait for your quota to reset at the next billing cycle, or upgrade to a higher plan for immediate additional capacity from your dashboard." },
        { cat: "Troubleshooting", q: ".unitypackage import fails. What should I check?", a: "Verify your Unity version is 2022.3 LTS or later and look at the Console for editor-extension conflicts. If an older EditorEye folder is still present under Assets/ or Packages/, remove it first and re-import the .unitypackage." },
        { cat: "Troubleshooting", q: "Does Editor Eye work on macOS or Linux?", a: "Yes, Editor Eye is available on macOS and Linux. The editor-eye-windows-cli rescue tool is Windows-only; core functionality works across all three platforms." },
        { cat: "Troubleshooting", q: "Will Editor Eye conflict with other Unity Editor plugins?", a: "Editor Eye uses a dedicated namespace and does not modify Unity core Editor behaviors, so it coexists with other packages. Report any specific conflicts via GitHub Issues." },
        { cat: "Troubleshooting", q: "Is Unity 2021 or earlier supported?", a: "No. Unity 2022.3 LTS or later is required. Earlier versions are not supported due to Editor API differences." },
        { cat: "Troubleshooting", q: "Editor Eye does not work after building my project for distribution. Is this expected?", a: "Yes, this is expected. Editor Eye is an Editor-only tool. Its components are automatically stripped from builds and have no impact on the final game executable." },
        { cat: "Troubleshooting", q: "After switching scenes, some AI-applied configurations were lost. Why?", a: "AI-applied configurations are scene-specific. Switching scenes discards unsaved changes to the previous scene. Always save the scene after applying changes you want to keep. Editor Eye prompts you when unsaved changes are detected." },
        { cat: "Troubleshooting", q: "I am in Prefab Edit Mode and Editor Eye actions do not seem to take effect.", a: "Some actions behave differently in Prefab Edit Mode because changes apply to the Prefab asset, not the scene instance. Tell the AI you are in Prefab Edit Mode and it will use the appropriate Prefab-specific operations." },
        { cat: "Troubleshooting", q: "Does Editor Eye support Asset Bundles or Addressables?", a: "Partially. You can manage the assets within them through Editor Eye asset management actions. No project data is retained on our servers. Full Addressables configuration and build pipeline integration are on the roadmap." },
        { cat: "Troubleshooting", q: "The WebSocket connection keeps dropping. How do I fix it?", a: "Often caused by system sleep settings, firewall interruptions, or antivirus interference. Check your sleep settings and use gateway_core_bridge_reconnect to reconnect without restarting the Editor." },
        { cat: "Troubleshooting", q: "I lost my API key or cannot access my account. What should I do?", a: "Use the account recovery flow at editor-eye.app. For access issues, contact editoreyemanagert@gmail.com with your registered email and a description of the issue." },
        { cat: "Troubleshooting", q: "What are frozen tool interfaces and why should I care?", a: "Editor Eye guarantees its 63 tool interfaces will not change without a major version notice. The AI workflows you build on Editor Eye will not break due to silent API changes." },
        { cat: "Troubleshooting", q: "Knowledge search is returning irrelevant results. What can I do?", a: "Rephrase with more specific Unity terminology — for example, instead of how do lights work, try how do I configure a Point Light intensity in HDRP. Including your Unity version and render pipeline also improves results." },
        { cat: "Troubleshooting", q: "Editor Eye seems slow when running complex batch operations. Is there a way to speed it up?", a: "Batch operations apply sequentially with safety checks. Break large batches into logical groups and run them in stages. Closing unnecessary Editor windows before a large batch also reduces overhead." },
        { cat: "Troubleshooting", q: "Can Editor Eye operate in offline mode?", a: "No. The AI assistant requires an internet connection to call its cloud API. Full offline mode is not supported in the current version." },
        { cat: "Other", q: "Who builds and maintains Editor Eye?", a: "Editor Eye is built by Aida, an indie developer passionate about removing barriers between game creators and their vision. For questions or feedback, reach out at editoreyemanager@gmail.com." },
        { cat: "Other", q: "What are the commercial use terms?", a: "All plans — Free, Pro, and Max — permit commercial use, including titles sold on Steam or other platforms. No royalty or revenue share required." },
        { cat: "Other", q: "Will Editor Eye be open-sourced?", a: "No current plans. The core commercial product will remain proprietary. Certain utility components or SDK integrations may be open-sourced in the future." },
        { cat: "Other", q: "What is on the Editor Eye roadmap?", a: "Continuous expansion of the action library and knowledge database. Check the changelog at editor-eye.app for the latest milestones." },
        { cat: "Other", q: "Is there a community or forum for Editor Eye users?", a: "A user community is currently in development. We will announce it on this site when it launches." },
        { cat: "Other", q: "How do I submit a feature request?", a: "Send your use case and the specific problem you want to solve to editoreyemanager@gmail.com. Feature requests are reviewed on a sprint-by-sprint basis." },
        { cat: "Other", q: "How does Editor Eye handle my personal data?", a: "Only your email address, subscription status, and API usage metrics are collected. Unity project files, scene data, and AI conversation content are never collected or stored." },
        { cat: "Other", q: "Is Editor Eye GDPR and CCPA compliant?", a: "Yes. Editor Eye and Lemon Squeezy operate in compliance with GDPR (EU) and CCPA (California). Contact editoreyemanager@gmail.com for data access, correction, or deletion requests." },
        { cat: "Other", q: "What is the API stability guarantee and why does it matter?", a: "All 63 tool interfaces remain stable across Phase 1-4 without breaking changes. Pro and Max users can build reliable AI-driven workflows on Editor Eye without fear of sudden API breakage." },
        { cat: "Other", q: "What is the best way to get started with Editor Eye today?", a: "Start with the Free plan — no credit card needed. Download the .unitypackage and import it into your Unity project, configure MCP for your preferred AI, and ask about whatever is currently blocking you. Most users find a half-day problem solved in under 5 minutes. The expert is right beside you." }
      ]
    },
    pricing: {
      eyebrow: "Pricing",
      title: "Start free. Always.",
      sub: "Free to try it. Pro once you're stuck weekly. Max when you ship for a living. One AVA cycle (Action → Verify → Adjust) is roughly 3–4 requests. Free: 1,000 requests/mo. Pro: 3,000/mo. Max: unlimited.",
      plans: [
        { name: "Free", price: "$0", per: "/forever", req: "1,000 requests/mo", cta: "Start free", featured: false,
          features: ["All features unlocked", "Community support", "Claude Code integration", "Works with any MCP-compatible AI", "1 concurrent project"] },
        { name: "Pro", price: "$10", per: "/mo", req: "3,000 requests/mo", cta: "Choose Pro", featured: true,
          features: ["Everything in Free", "Discord support", "Early access to beta features"] },
        { name: "Max", price: "$50", per: "/mo", req: "Unlimited", cta: "Choose Max", featured: false,
          features: ["Everything in Pro", "Priority Discord support", "Email support", "Unlimited concurrent projects"] }
      ]
    },
    generativeAudio: {
      eyebrow: "The LLM composes sound",
      title: "Generate Soundtracks (up to 45 sec, MIDI quality) and Sound Effects (up to 1 sec)",
      subtitle: "No DAW. No recording gear. One prompt — and the sound is in your Unity project.",
      cards: [
        {
          icon: "🔊",
          tag: "generate_se",
          title: "Sound Effects, Instantly",
          body: "Hit sounds, button clicks, footsteps, explosions — describe the effect in plain English and it's generated. Control volume, pitch, and duration. The AudioClip lands directly in your Assets folder.",
          meta: "One command → AudioClip done"
        },
        {
          icon: "🎵",
          tag: "generate_chiptune",
          title: "45-Second MIDI-Quality BGM",
          body: "Say 'bright adventure theme, BPM 120, C major' and get a chiptune track that fits your game's mood. Loop-ready, style-aware, and multiple variations in seconds.",
          meta: "Mood-matched to your game genre"
        }
      ]
    },
    contextEfficiency: {
      eyebrow: "Why API costs stay low",
      title: "Two mechanisms that compress MCP context to ~1/10",
      subtitle: "Designed to reduce LLM API costs for Pro / Max users and improve tool selection accuracy.",
      ratio: {
        label: "vs. typical tool registries",
        detail: "64 tools / 32,638 chars ≈ 8,000 tokens (measured 2026-05-08)"
      },
      mech1: {
        tag: "UperSummary",
        title: "Knowledge DB compressed 99% on delivery",
        body: "UperSummary_list_all_unity_knowledge compresses the Knowledge DB (~800 KB) into a lightweight category summary (a few KB) sent to the LLM. Sticky context per request is minimized.",
        pill: "~800 KB → a few KB / 99% compression"
      },
      mech2: {
        tag: "Passthrough Schema",
        title: "Schema Bloat eliminated by design",
        body: "All 64 gateway tools use z.object({}).passthrough() for inputSchema — action enums and argument definitions never reach the LLM; Knowledge DB examples fill the gap. tools/list stays tiny.",
        pill: "Schema Bloat = zero"
      },
      benefits: [
        "Lower LLM API cost per request",
        "Smaller context → higher tool selection accuracy",
        "Minimal impact from model / vendor changes"
      ]
    },
    generativeSprite: {
      eyebrow: "The LLM draws graphics",
      title: "Generate 32×32 / 64×64 PNG Sprites Procedurally",
      subtitle: "No art tools needed. Describe the shape, color, and style — the PNG lands directly in your Unity Assets folder.",
      sizes: [
        {
          size: "32×32",
          icon: "🎮",
          tag: "generate_sprite",
          title: "32×32 Pixel Sprites",
          body: "Ideal for game characters, UI icons, and tilemap tiles. Lightweight and sharp. Describe 'a small red-helmeted robot' and it's done — instantly.",
          meta: "Pixel art / UI icons / Tiles"
        },
        {
          size: "64×64",
          icon: "🖼",
          tag: "generate_sprite",
          title: "64×64 High-Detail Sprites",
          body: "Finer detail for items, monsters, and effects. Specify color palette, outline style, and transparency in plain English. Multiple variations at once.",
          meta: "Items / Monsters / Effects"
        }
      ]
    },
    coreValue: {
      eyebrow: "How it works",
      title: "Six mechanisms that make Editor Eye's autonomous control possible.",
      subtitle: "The LLM sees your Unity screen, reasons about it, and acts. Here's the design behind it.",
      cards: [
        { icon: "👁", tag: "SceneView",     featured: false, title: "SceneView, Live",                body: "The LLM reads your scene's spatial structure in real time — camera position, object placement, lighting — and decides the best action to take.",                        meta: "No screenshots needed" },
        { icon: "⚡", tag: "AVA",           featured: true,  title: "AVA: Action → Verify → Adjust",   body: "Action (execute) → Verify (check the result) → Adjust (correct if it drifted). The AI runs the loop on its own — after every move it confirms the outcome and self-corrects. No silent failures. No babysitting.",  meta: "One instruction, many steps" },
        { icon: "🔍", tag: "Inspector",     featured: false, title: "Inspector State, Automatic",      body: "Every component and property of the selected GameObject flows straight to the AI. No hand-written descriptions. No copy-pasting.",                                  meta: "Real-time state sync" },
        { icon: "🧠", tag: "1,476 entries", featured: false, title: "1,476 Unity Knowledge Entries",   body: "NavMesh, Animator, Prefab Overrides — Unity-specific tacit knowledge that search engines miss, injected straight into the AI's context.",                    meta: "Half-day searches in 5 min" },
        { icon: "🛠", tag: "405 actions",   featured: false, title: "405 Actions. Every Task.",         body: "GameObject creation, animation editing, material assignment, builds, BlendShape control, procedural sprite/SFX/chiptune generation — every stage of Unity development covered by 405 production-ready actions.",                   meta: "Beginner to advanced" },
        { icon: "🔌", tag: "MCP Native",    featured: false, title: "MCP-native, no vendor lock-in",   body: "Built on the open MCP standard. Officially supports Claude Code today — architecture is ready to extend to other MCP-compatible clients in the future.",             meta: "Extensible architecture" }
      ]
    },
    finalCta: {
      eyebrow: "Start",
      title: ["Spend tonight finishing,", <br key="b"/>, "not searching."],
      sub: "No credit card. 1,000 requests/month, free forever.",
      cta: "Start free",
      secondary: "→ Read the docs"
    },
    footer: {
      tagline: "A Unity expert, right beside you.",
      download: { title: "", links: [
        { label: "Download .unitypackage", cta: true },
      ]},
      product: { title: "Product", links: [
        "Features",
        "Pricing",
        "FAQ",
        { label: "Documentation", href: "/en/docs" },
        { label: "Release Notes", href: "/releases" },
      ]},
      legal: { title: "Legal", links: [
        { label: "Privacy Policy",   href: "/en/privacy" },
        { label: "Terms of Service", href: "/en/terms" },
        { label: "Tokushoho",        href: "/tokushoho" },
        { label: "License",          href: "/en/docs/credits" },
        { label: "Support Discord Server", href: "https://discord.gg/Xy7XZCjXBY" },
      ] },
      copyright: "© 2026 Editor Eye. All rights reserved."
    }
  }
};

window.I18N = I18N;

// ============================================
// Logo
// ============================================
function Logo({ size = 22 }) {
  return (
    <span className="ee-logo" style={{ display: "inline-flex", alignItems: "baseline", gap: 0, fontFamily: "var(--font-display)", fontWeight: 800, fontSize: size, letterSpacing: "-0.04em", lineHeight: 1 }}>
      <span style={{ color: "var(--blue)" }}>Editor</span>
      <span style={{ color: "var(--orange)", marginLeft: 2 }}>Eye</span>
    </span>
  );
}
window.Logo = Logo;

// ============================================
// Placeholder art (used for villain/solution illustrations)
// ============================================
function PlaceholderArt({ label, mood = "neutral", height = 220 }) {
  const moodStyles = {
    villain:  { bg: "linear-gradient(135deg, #F4F1EC 0%, #E7E4DD 100%)", stripe: "rgba(26,26,46,0.08)", chip: "var(--ink-3)" },
    solution: { bg: "linear-gradient(135deg, #E6F0F7 0%, #FDEDD9 100%)", stripe: "rgba(27,108,168,0.18)", chip: "var(--blue)" },
    neutral:  { bg: "var(--bg-tint)", stripe: "rgba(26,26,46,0.06)", chip: "var(--ink-3)" }
  };
  const s = moodStyles[mood] || moodStyles.neutral;
  return (
    <div style={{
      position: "relative",
      width: "100%",
      height,
      borderRadius: 12,
      background: s.bg,
      overflow: "hidden",
      border: "1px solid var(--rule)",
      display: "flex",
      alignItems: "center",
      justifyContent: "center"
    }}>
      <div style={{
        position: "absolute", inset: 0,
        backgroundImage: `repeating-linear-gradient(45deg, transparent 0 14px, ${s.stripe} 14px 15px)`
      }}/>
      <div style={{
        position: "relative",
        fontFamily: "var(--font-mono)",
        fontSize: 11,
        letterSpacing: "0.08em",
        color: s.chip,
        background: "rgba(255,255,255,0.85)",
        backdropFilter: "blur(8px)",
        padding: "6px 10px",
        borderRadius: 999,
        border: "1px solid var(--rule)"
      }}>
        {label}
      </div>
    </div>
  );
}
window.PlaceholderArt = PlaceholderArt;


