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
8.3 KiB
JSON
1 line
8.3 KiB
JSON
{"sessionId":"s_1780421923804_63cuvq","scene":{"id":"scene_1780421956974_8hug","scenePrompt":"Wide establishing shot of a deserted library after hours, deep night. Rows of dark wooden bookshelves recede into shadow. A single, harsh fluorescent light fixture on the ceiling emits a cold, buzzing glow, casting long, stark shadows. On a wooden circulation desk in the foreground center, a stark manila envelope sits, opened. Beside it lies a glossy photograph and a sheet of paper with vivid red writing. The atmosphere is one of profound silence and sudden, heavy tension. The composition emphasizes the isolation and the ominous discovery in the empty space.","beats":[{"id":"b1","narration":"閉館の音楽の最後の音符が消え去り、図書館は蛍光灯の低いハム音だけが響く静寂に包まれた。あなたが最後の書架に鍵をかけ、振り返ると――受付カウンターには誰もいない。ただ一通のクラフト封筒が、開かれたままの貸出記録簿の上に静かに置かれていた。","next":{"type":"continue","nextBeatId":"b2"}},{"id":"b2","narration":"心臓がドクンと跳ねた。消印はなく、差出人の名もない。封を破ると、一枚の写真が滑り落ちてきた。","speaker":"あなた","line":"……これは?","next":{"type":"continue","nextBeatId":"b3"}},{"id":"b3","narration":"写真に写っているのは、あなた自身だった。昨夜の古い工場の屋上、マスクを外したあなたの横顔が、背後の稲妻に照らされた雨夜の街並みと完璧に重なり合っている――二重露光だ。写真の裏には、鮮血のような赤い文字が不気味に躍っていた。","next":{"type":"continue","nextBeatId":"b4"}},{"id":"b4","speaker":"あなた","line":"……ゲームの始まりだ、夜隼。","next":{"type":"continue","nextBeatId":"b5"}},{"id":"b5","narration":"指の関節が白くなるほど、あなたは写真を握りしめた。その時、ポケットの中にある、肌身離さず持っている予備のスマートフォンが、突然聞き覚えのないリズムで震えだした。画面には、赤く点滅するシグナルアイコンが浮かび上がっている――ヴィジランテ・ネットワークの最高レベルの緊急コールだ。","next":{"type":"choice","choices":[{"id":"c1","label":"すぐに緊急コールに対応する","effect":{"kind":"change-scene","nextSceneSeed":"城南埠頭の倉庫から、銃声と火の手がかすかに聞こえる。正体が暴かれる前に、最後の任務を遂行しなければならない。"}},{"id":"c2","label":"まずは封筒の送り主を調べる","effect":{"kind":"advance-beat","targetBeatId":"b6"}}]}},{"id":"b6","narration":"あなたは無理やり冷静さを取り戻し、封筒を隅々まで調べた。ありふれたクラフト紙で、指紋は残っていない。しかし、封の裏側に、極めて薄い鉛筆の跡で、肉眼では見落としそうなシンボルが描かれていた――デザインされたフクロウの目だ。","next":{"type":"choice","choices":[{"id":"b6__exit","label":"続ける","effect":{"kind":"change-scene","nextSceneSeed":"ストーリーが進行する"}}]}}],"entryBeatId":"b1","sceneKey":"library-night","imageUuid":"f830635a-5fae-4a14-af0f-30b71ef1b8e1","imageUrl":"/home/firstscene/m16.webp"},"imageUrl":"/home/firstscene/m16.webp","characters":[],"storyState":{"logline":"あなたの二重生活に亀裂が入る――仮面のヴィジランテとしての姿が不意に晒されたとき、警察と闇の勢力という二重の追跡から逃れつつ、写真を撮った謎の人物を突き止めなければならない。さもなければ、あなたが心血を注いで守ってきた平穏は完全に崩壊することになる。","genreTags":"サスペンス / 逆襲 / 都市暗闘 / ハイコンセプト","protagonist":"あなたは林黙(リン・モー)。昼は市立図書館の寡黙な司書、夜は法の限界を彷徨い、悪を裁く仮面のヴィジランテ『夜隼(やしゅん)』。今、あなたの平穏な日常は完全に打ち砕かれた。あなたがマスクを外した瞬間の二重露光写真が、謎の組織によって密かに拡散されようとしているのだ。警察、マフィア、謎の勢力があなたを追う中、彼らよりも先に秘密を暴いた者を突き止めなければならない。そして決断するのだ――影の中で戦い続けるか、それとも、もう一人の自分を自らの手で葬り去るか。","castNotes":"方哲(ファン・ジェ):刑事警察隊の副隊長。表向きは迅速果断な敏腕刑事だが、実は『普通の図書管理員』であるあなたに対して妙な執着を抱いている。彼は現在ヴィジランテ事件の捜査を担当しており、あなたの昼の顔に最も近い危険な存在。\n沈清(シェン・チン):図書館に新しく入ってきた勤労学生。清らかな笑顔を浮かべ、いつも何気ない瞬間にあなたの前に現れる。しかし、その瞳の奥には年齢にそぐわない観察と計算が隠されている。あの致命的な写真は、本当に彼と無関係なのだろうか?","synopsis":"深夜の図書館の閉館時、林黙は受付カウンターで謎の封筒を発見する。中には彼がマスクを外した瞬間の二重露光写真と、『ゲームの始まりだ、夜隼』という挑発的なメッセージが入っていた。ほぼ同時に、ヴィジランテの緊急連絡信号が鳴り響き、正体発覚の危機と新たな事件が同時に押し寄せる。","openThreads":["写真の送り主は誰なのか? その目的は単なる脅迫か、それとも別の企みがあるのか?","ヴィジランテ・ネットワークの緊急コールが示す事件とは何か? 写真の件と関連はあるのか?","封筒の裏に描かれたフクロウの目のシンボルは、どのような組織や個人を表しているのか?","方哲の捜査はどこまで進んでいるのか?"],"relationships":["方哲:警察の捜査網は狭まりつつあるが、まだ林黙に直接接触してはいない","沈清:新しく入った勤労学生。現時点ではシーンに直接登場していないが、その存在自体が潜在的な変数となっている"],"nextHook":"次回予告:あなたは即座に決断を迫られる――ヴィジランテの緊急コールに応じて発生しつつある事件に対処するか(正体発覚のリスクが高まる)、それとも昼の身元にまで迫る致命的な脅威の追跡を優先するか。あなたの二重生活は、見えざる手によって崖っぷちへと追い詰められていく。"},"cardName":"m16","cardTitle":"二重生活","cardGender":"男性向け","worldSetting":"本作は【男性向け】のAIインタラクティブストーリーゲームであり、全体としてショート動画のような強いドラマチックな衝突とスピーディーな大どんでん返しを特徴としています。\nストーリースタイル:マルチ分岐・急展開。テンポ:緊迫感があり爽快。\n厳選ストーリー『二重生活』のオープニング設定:彼は規律正しい図書管理員であり、暗闇の中で悪を裁く仮面のヴィジランテ(自警員)でもある。ある行動中、彼の二重露光写真が謎の組織に偶然捉えられてしまった。現在、警察と裏社会、現実と影の双方が彼を追っている。\nこのオープニングから直接物語に入り込み、プレイヤーに強い没入感とカタルシスを与えてください。その後の分岐もショートドラマのような高頻度のどんでん返しを維持し、プレイヤーが選択するたびに即座にリアクションが返ってくるようにしてください。","styleGuide":"Digital double exposure portrait, vertical composition. A sharp profile silhouette of a handsome detective, merged seamlessly with tall pine trees and a stormy, rain-slicked city street with flashing yellow lights. High contrast black and white with subtle neon accents.","imageUrlRemote":"https://im.runware.ai/image/os/a03d21/ws/3/ii/f830635a-5fae-4a14-af0f-30b71ef1b8e1.png"} |