0a7076d5b9
Rewrites the i18n system introduced in PR #94 to use Next.js App Router [locale] dynamic segments with SSR-rendered translations and proper middleware locale routing. - Add middleware locale detection: / rewrites to /zh-CN/ internally, /en and /ja pass through, /zh-CN/... redirects to bare path - Move all 7 pages under app/[locale]/ with SSR translation injection - Fix server→client serialization: pre-evaluate function-valued translations (makeSerializable) to eliminate hydration flash - Fix language switch key flash: use hard navigation with localStorage- only persistence, avoiding React state update before page reload - Add <link rel="alternate" hreflang> tags for multilingual SEO - Fix Supabase setAll overwriting locale rewrite response - Trim locales from 22 to 3 (zh-CN/en/ja), delete 19 incomplete files - LLM-translate 240 firstact game preset JSONs (en + ja, landscape + portrait) and story titles via gemini-3.5-flash - Delete 11 one-off migration scripts and outdated i18n docs - Add useLocalePath hook and navigation utilities Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 line
9.0 KiB
JSON
1 line
9.0 KiB
JSON
{"sessionId":"s_1780422100395_ssipkq","scene":{"id":"scene_1780422133333_ez8a","scenePrompt":"Wide establishing shot, interior of a vast, dilapidated ancestral mansion hall at midnight. The grand, aged wooden door is ajar, a sliver of moonlight cutting through the gloom from outside. Dust motes float in the cold, pale beams. In the center, a staircase spirals upward into absolute darkness, leading to a shadowy attic entrance. A complex, unsettling shadow, non-human and liquid-like, is spilling down the stairs from the attic, pooling on the floor like dark water. The atmosphere is oppressive, filled with dread. The color palette is deep indigo, charcoal grey, and sickly amber from a single flickering wall sconce. Papercut art style, intricate layered shadows, high contrast, vertical composition emphasizing the towering staircase.","beats":[{"id":"b1","narration":"午前三時、あなたは疲れ果てた体で、きしむ音を立てる実家の古い木製のドアを開けた。スマートフォンの画面が突如として明るくなり、家族グループチャットに大叔母のアイコンが点滅する――彼女は三時間前に亡くなったはずだ。一件の未読ボイスメッセージ。","next":{"type":"continue","nextBeatId":"b2"}},{"id":"b2","narration":"震える指でボイスメッセージをタップする。ノイズの後に聞こえてきた、懐かしくも遠い声が鼓膜を突き刺した――それは、十年前になくなった祖父の声だった。","line":"逃げろ。紙が、目覚めた。","lineDelivery":"低くかすれた声。臨終の間際のような焦燥と決意を帯び、背景からは紙が破れるかすかな雑音が聞こえる","next":{"type":"continue","nextBeatId":"b3"}},{"id":"b3","narration":"その声が途切れるか否かの瞬間、頭上から木が砕ける凄まじい音が響き渡った!屋根裏部屋の方から、何かが……降りてくる。","next":{"type":"continue","nextBeatId":"b4"}},{"id":"b4","narration":"巨大で、平べったく、刃物のように鋭い輪郭を持つ影が、階段の壁を伝って這い降りてきた。厚みはないはずなのに、視界のすべてを占拠していく。まるで命を吹き込まれた黒い切り絵のように。","next":{"type":"choice","choices":[{"id":"c1","label":"部屋に飛び込んで鍵をかける","effect":{"kind":"change-scene","nextSceneSeed":"古い実家の中、あなたは鍵をかけたドアの裏に身を潜めるが、あの平べったい影はドアの隙間からじわじわと侵入してくる"}},{"id":"c2","label":"玄関の古いハサミを掴む","effect":{"kind":"advance-beat","targetBeatId":"b5"}}]}},{"id":"b5","narration":"あなたは本能的に、下駄箱の上に置かれた、祖父が使っていた錆びついた古いハサミに飛びついた。冷たい金属に指先が触れた瞬間、奇妙な暖流が手のひらから血管へと流れ込む。壁に映るあなた自身の影が……かすかに動いたような気がした。","next":{"type":"choice","choices":[{"id":"b5__exit","label":"進む","effect":{"kind":"change-scene","nextSceneSeed":"ストーリーが進行する"}}]}}],"entryBeatId":"b1","sceneKey":"ancestral-house-foyer","imageUuid":"c444cf09-a401-4931-8e5f-a041185f94b2","imageUrl":"/home/firstscene/m20.webp"},"imageUrl":"/home/firstscene/m20.webp","characters":[],"storyState":{"logline":"一族が代々守り続けてきた『生きた』切り絵が突如として目覚めたとき、あなたはネオンと影が交錯する現代都市で、古の切り絵の技を操り、再び現れた紙人形の宿敵に立ち向かわねばならない。さもなければ、あなたが大切にしているすべてが紙の灰と化してしまうだろう。","genreTags":"現代ファンタジー / 爽快バトルアクション / サスペンス / ビジュアルスペクタクル","protagonist":"あなたは現代における切り絵術の唯一の継承者であり、都会のオフィスで普通の会社員を装う『紙匠(ししょう)』である。今、一族に代々伝わり、屋根裏部屋に封印されていた古の切り絵が突如として『命』を宿し、紙甲冑の戦士へと姿を変えた。同時に、あなたは強大で古く、そして敵意に満ちた『紙の気配』がこの街で目覚めつつあるのを感知する。切り絵が目覚めた真相を突き止め、何も知らない周囲の一般人を守りたいと願う一方で、あなたの心には――自分にはこの力を制御しきれず、逆に呑み込まれてしまうのではないかという恐怖が潜んでいる。","castNotes":"沈一剪(しん・いっせん):あなたの寡黙な祖父(故人)。切り絵術の先代伝承者であり、彼の遺影の下には警告がびっしりと書き込まれた手記が遺されている。あなたとの関係は未だ謎に包まれており、彼が遺した遺産は鎧であると同時に呪いでもある。\n林昭(りん・しょう):あなたの会社の華やかな女性同僚。しかし、なぜか古の紙細工に異常なほどの執着を見せ、事あるごとにあなたの実家の過去を探ろうとする。現代的な都会の美女でありながら、特定の伝統儀式に異常に精通しているというギャップを持つ。\n影将軍(かげしょうぐん):あなたの宿敵。百年の怨念が凝縮して生まれた紙人形の敵であり、その姿は古の武者と現代の影の間で揺らめく。あなたを直接殺すのではなく、あなたが大切にしているものの『形』(友人の容姿、建物の輪郭など)をシステム的に破壊し、平坦な切り絵へと変えていく。","synopsis":"深夜、古い実家に戻ったあなたは、亡くなったはずの大叔母から、同じく亡くなったはずの祖父の声で『紙が、目覚めた』という警告のボイスメッセージを受け取る。それと同時に屋根裏部屋から轟音が響き、人間ならざる平べったい影が階段の壁を這い降りてきた。極限の恐怖の中、あなたは玄関にあった祖父の古いハサミを掴む。触れた瞬間、ある古の力との初めての繋がりを感じ、あなた自身の影にも異変が生じるのだった。","openThreads":["祖父の警告『紙が、目覚めた』と、屋根裏部屋の異変にはどのような関係があるのか","古いハサミを掴んだ際、体内に湧き上がった暖流と影の異変は何を意味しているのか","屋根裏部屋の奥で蠢いている古の切り絵の正体とは何なのか","なぜ大叔母のスマートフォンから、十年前になくなった祖父の声が届いたのか"],"relationships":["祖父(故人):説明のつかない方法で最後の警告を伝え、彼が遺したもの(ハサミ、切り絵、警告)は、あなたが避けて通れない正式な運命となる","影将軍(宿敵):その力が初めて具現化した『影』の姿となってあなたを直接脅かし、明確な目的を持って迫り来る"],"nextHook":"次回予告:屋根裏部屋の対峙。あなたは初めて『命』を宿した切り絵――『守夜人(しゅやじん)』と対面する。そして影将軍の圧倒的なプレッシャーの下、最初の選択を迫られる。この未知の力を信じるか、それとも逃げ出すか。"},"cardName":"m20","cardTitle":"紙影伝説","cardGender":"男性向け","worldSetting":"本作は【男性向け】のAIインタラクティブストーリーゲームであり、全体的にショートドラマ(縦型ショート動画)のような強いドラマチックな衝突とスピーディーな大どんでん返しを特徴としています。\nストーリースタイル:マルチエンディング・急展開。テンポ:緊迫感があり爽快。\n厳選ストーリー『紙影伝説』のオープニング設定:影絵芝居の芸人が、代々「生きた」切り絵を守り続けてきた。現代都市の影の中で、切り絵はあらゆるものを打ち砕く紙甲冑の戦士へと姿を変える。古の紙人形の宿敵が再び現れたとき、彼はネオンの光の下、最も古い切り絵の技を用いて究極の決戦に挑まなければならない。\nこのオープニングから直接物語に入り込み、プレイヤーに強い没入感とカタルシスを与えてください。その後の分岐もショートドラマ並みのどんでん返しの頻度を維持し、プレイヤーが選択するたびに即座にリアクションが返ってくるようにします。","styleGuide":"Multilayered papercut art, vertical composition. A beautifully intricate silhouette of a handsome prince in armor standing in a dark forest before a towering gothic paper castle. Backlighting, soft paper shadows, deep dimensional layering.","imageUrlRemote":"https://im.runware.ai/image/os/a08dlim3/ws/3/ii/c444cf09-a401-4931-8e5f-a041185f94b2.png"} |