chore: complete @yume → @infiplot rename (post-PR#9)

PR #9 已完成首页和 layout 的视觉品牌迁移,此 commit 补齐剩余的
技术性改名 —— workspace 包名、source import、localStorage 键、
CSS keyframe、内部 header logo、.env.example、README。

- @yume/* → @infiplot/* (6 package.json + 17 imports + lockfile)
- localStorage/sessionStorage: yume:* → infiplot:*
  (含 PR #9 新增的 yume:hintClosed)
- CSS keyframe yume-ripple → infiplot-ripple
- new/play 页面 header logo "云梦" → "InfiPlot"
- 代码注释中的「云梦」style 形容词删除(layout.tsx, page.tsx)
- 根 package.json name + description(描述跟齐 staging
  "AI 实时交互剧情游戏")
- README: tagline / Vercel deploy URL / 目录树 / engine 描述

保留:prompts.ts 的 LLM 体裁术语「视觉小说/galgame」、CustomForm
placeholder 的「视觉小说画风」(图像模型识别的风格名词)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
yuanzonghao
2026-06-02 09:27:00 +08:00
parent 5d0a5bb756
commit 8eda27f241
37 changed files with 103 additions and 103 deletions
+4 -4
View File
@@ -1,5 +1,5 @@
{
"name": "@yume/engine",
"name": "@infiplot/engine",
"version": "0.1.0",
"private": true,
"type": "module",
@@ -12,9 +12,9 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@yume/ai-client": "workspace:*",
"@yume/tts-client": "workspace:*",
"@yume/types": "workspace:*",
"@infiplot/ai-client": "workspace:*",
"@infiplot/tts-client": "workspace:*",
"@infiplot/types": "workspace:*",
"jsonrepair": "^3.14.0",
"sharp": "^0.33.5"
}
@@ -1,11 +1,11 @@
import { chat, generateImage } from "@yume/ai-client";
import { provisionVoice } from "@yume/tts-client";
import { chat, generateImage } from "@infiplot/ai-client";
import { provisionVoice } from "@infiplot/tts-client";
import type {
Character,
CharacterVoice,
EngineConfig,
Session,
} from "@yume/types";
} from "@infiplot/types";
import { parseJsonLoose } from "../jsonParser";
import { mockImageDataUri } from "../mockImage";
import {
@@ -1,5 +1,5 @@
import { chat } from "@yume/ai-client";
import type { BeatActiveCharacter, ProviderConfig } from "@yume/types";
import { chat } from "@infiplot/ai-client";
import type { BeatActiveCharacter, ProviderConfig } from "@infiplot/types";
import { parseJsonLoose } from "../jsonParser";
import {
CINEMATOGRAPHER_SYSTEM,
+3 -3
View File
@@ -1,11 +1,11 @@
import { generateImage } from "@yume/ai-client";
import type { GenerateImageOptions, GenerateImageResult } from "@yume/ai-client";
import { generateImage } from "@infiplot/ai-client";
import type { GenerateImageOptions, GenerateImageResult } from "@infiplot/ai-client";
import type {
Beat,
Character,
EngineConfig,
ProviderConfig,
} from "@yume/types";
} from "@infiplot/types";
import { mockImageDataUri } from "../mockImage";
import { buildPainterPrompt } from "../prompts";
+2 -2
View File
@@ -1,4 +1,4 @@
import { chat } from "@yume/ai-client";
import { chat } from "@infiplot/ai-client";
import type {
Beat,
BeatActiveCharacter,
@@ -7,7 +7,7 @@ import type {
BeatNext,
ProviderConfig,
Session,
} from "@yume/types";
} from "@infiplot/types";
import { parseJsonLoose } from "../jsonParser";
import { WRITER_SYSTEM, buildWriterUserMessage } from "../prompts";
+2 -2
View File
@@ -1,4 +1,4 @@
import { chat } from "@yume/ai-client";
import { chat } from "@infiplot/ai-client";
import type {
Character,
EngineConfig,
@@ -6,7 +6,7 @@ import type {
ProviderConfig,
Scene,
Session,
} from "@yume/types";
} from "@infiplot/types";
import { designCharacter, provisionVoiceForName } from "./agents/characterDesigner";
import { runCinematographer } from "./agents/cinematographer";
import { runPainter } from "./agents/painter";
+1 -1
View File
@@ -11,5 +11,5 @@ export { mergeCharacters } from "./director";
export type { SceneResult } from "./director";
export type { WriterOutput } from "./agents/writer";
export type { CinematographerOutput } from "./agents/cinematographer";
export type { InsertBeatPartial } from "@yume/types";
export type { InsertBeatPartial } from "@infiplot/types";
export * from "./prompts";
+1 -1
View File
@@ -11,7 +11,7 @@ import type {
StartResponse,
VisionRequest,
VisionResponse,
} from "@yume/types";
} from "@infiplot/types";
import { annotateClick } from "./annotate";
import { directInsertBeat, directScene } from "./director";
import { synthesizeBeat } from "./voice";
+1 -1
View File
@@ -3,7 +3,7 @@ import type {
Character,
Scene,
Session,
} from "@yume/types";
} from "@infiplot/types";
// ══════════════════════════════════════════════════════════════════════
// Multi-agent scene generation pipeline:
+2 -2
View File
@@ -1,10 +1,10 @@
import { interpretClick } from "@yume/ai-client";
import { interpretClick } from "@infiplot/ai-client";
import type {
ClickIntent,
ProviderConfig,
Scene,
VisionClassify,
} from "@yume/types";
} from "@infiplot/types";
import { parseJsonLoose } from "./jsonParser";
import { VISION_SYSTEM_PROMPT, buildVisionUserPrompt } from "./prompts";
+2 -2
View File
@@ -1,5 +1,5 @@
import { synthesize } from "@yume/tts-client";
import type { BeatAudio, CharacterVoice, TtsConfig } from "@yume/types";
import { synthesize } from "@infiplot/tts-client";
import type { BeatAudio, CharacterVoice, TtsConfig } from "@infiplot/types";
// Per-beat synth budget. MiMo's median synth is 37s; the tail can spike
// to 3070s under concurrent load. Capping here means a single bad beat