docs(readme): update architecture, add OpenDeploy sponsor, fix LINUX DO link

- Remove deprecated Architect agent from pipeline diagrams (zh/en/ja SVGs)
  and README text — Writer now handles story architecture
- Add OpenDeploy as sponsor section and one-click deploy option
- Change LINUX DO badge link to the actual forum post
- Move Open Deploy to completed in Roadmap

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
yuanzonghao
2026-06-24 18:27:56 +08:00
parent ae4d9f8873
commit 4603a7df71
6 changed files with 121 additions and 135 deletions
+27 -35
View File
@@ -1,8 +1,8 @@
<svg width="680" height="692" viewBox="0 0 680 692" role="img"
<svg width="680" height="594" viewBox="0 0 680 594" role="img"
aria-label="InfiPlot interactive story generation pipeline" xmlns="http://www.w3.org/2000/svg"
font-family='"Anthropic Sans", -apple-system, system-ui, "Segoe UI", sans-serif'>
<title>AI interactive story generation pipeline</title>
<desc>From your input to the Architect and Writer, then per-scene parallel Character Designer and Cinematographer feeding the Painter, producing one scene and speculatively pre-generating back to the Writer.</desc>
<desc>From your input to the Writer, then per-scene parallel Character Designer and Cinematographer feeding the Painter, producing one scene and speculatively pre-generating back to the Writer.</desc>
<defs>
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
<path d="M2 1L8 5L2 9" fill="none" stroke="#9c9a92" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
@@ -12,7 +12,7 @@
</marker>
</defs>
<rect x="1" y="1" width="678" height="690" rx="16" fill="#1f1e1d" stroke="#34322e" stroke-width="1.5"/>
<rect x="1" y="1" width="678" height="592" rx="16" fill="#1f1e1d" stroke="#34322e" stroke-width="1.5"/>
<!-- Your input -->
<g>
@@ -22,61 +22,53 @@
</g>
<line x1="340" y1="92" x2="340" y2="120" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- Architect -->
<g>
<rect x="215" y="122" width="250" height="68" rx="8" fill="#3c3489" stroke="#afa9ec" stroke-width="0.5"/>
<text x="340" y="147" text-anchor="middle" dominant-baseline="central" fill="#cecbf6" font-size="14" font-weight="500">Architect</text>
<text x="340" y="167" text-anchor="middle" dominant-baseline="central" fill="#afa9ec" font-size="12">parses input → full story structure</text>
</g>
<line x1="340" y1="190" x2="340" y2="218" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- Writer -->
<g>
<rect x="220" y="220" width="240" height="68" rx="8" fill="#085041" stroke="#5dcaa5" stroke-width="0.5"/>
<text x="340" y="245" text-anchor="middle" dominant-baseline="central" fill="#9fe1cb" font-size="14" font-weight="500">Writer</text>
<text x="340" y="265" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">narration · dialogue · choices</text>
<rect x="220" y="122" width="240" height="68" rx="8" fill="#085041" stroke="#5dcaa5" stroke-width="0.5"/>
<text x="340" y="147" text-anchor="middle" dominant-baseline="central" fill="#9fe1cb" font-size="14" font-weight="500">Writer</text>
<text x="340" y="167" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">story structure · narration · dialogue · choices</text>
</g>
<!-- Generating one scene (group) -->
<rect x="40" y="308" width="560" height="242" rx="16" fill="none" stroke="rgba(222,220,209,0.3)" stroke-width="0.5" stroke-dasharray="6 5"/>
<text x="58" y="334" text-anchor="start" fill="#c2c0b6" font-size="12">Generating one scene</text>
<rect x="40" y="210" width="560" height="242" rx="16" fill="none" stroke="rgba(222,220,209,0.3)" stroke-width="0.5" stroke-dasharray="6 5"/>
<text x="58" y="236" text-anchor="start" fill="#c2c0b6" font-size="12">Generating one scene</text>
<line x1="340" y1="288" x2="211" y2="344" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="340" y1="288" x2="457" y2="344" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="340" y1="190" x2="211" y2="246" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="340" y1="190" x2="457" y2="246" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- Character Designer -->
<g>
<rect x="58" y="354" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="183" y="379" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">Character Designer</text>
<text x="183" y="399" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">portrait + voice (parallel)</text>
<rect x="58" y="256" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="183" y="281" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">Character Designer</text>
<text x="183" y="301" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">portrait + voice (parallel)</text>
</g>
<!-- Cinematographer -->
<g>
<rect x="332" y="354" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="457" y="379" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">Cinematographer</text>
<text x="457" y="399" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">shot composition + background prompt</text>
<rect x="332" y="256" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="457" y="281" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">Cinematographer</text>
<text x="457" y="301" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">shot composition + background prompt</text>
</g>
<line x1="183" y1="422" x2="280" y2="448" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="457" y1="422" x2="360" y2="448" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="183" y1="324" x2="280" y2="350" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="457" y1="324" x2="360" y2="350" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- Painter -->
<g>
<rect x="190" y="458" width="260" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="320" y="483" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">Painter</text>
<text x="320" y="503" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">renders 16:9 background from portraits</text>
<rect x="190" y="360" width="260" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="320" y="385" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">Painter</text>
<text x="320" y="405" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">renders 16:9 background from portraits</text>
</g>
<line x1="320" y1="526" x2="340" y2="576" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="320" y1="428" x2="340" y2="478" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- One scene -->
<g>
<rect x="220" y="586" width="240" height="68" rx="8" fill="#444441" stroke="#b4b2a9" stroke-width="0.5"/>
<text x="340" y="611" text-anchor="middle" dominant-baseline="central" fill="#d3d1c7" font-size="14" font-weight="500">One scene</text>
<text x="340" y="631" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">background image + beat tree</text>
<rect x="220" y="488" width="240" height="68" rx="8" fill="#444441" stroke="#b4b2a9" stroke-width="0.5"/>
<text x="340" y="513" text-anchor="middle" dominant-baseline="central" fill="#d3d1c7" font-size="14" font-weight="500">One scene</text>
<text x="340" y="533" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">background image + beat tree</text>
</g>
<!-- speculative pre-generation loop -->
<text x="542" y="236" text-anchor="middle" fill="#c2c0b6" font-size="12">pre-generate next scene</text>
<path d="M460 620 L625 620 L625 250 L460 250" fill="none" stroke="#1D9E75" stroke-width="1" stroke-dasharray="6 5" marker-end="url(#arrowGreen)"/>
<text x="542" y="138" text-anchor="middle" fill="#c2c0b6" font-size="12">pre-generate next scene</text>
<path d="M460 522 L625 522 L625 152 L460 152" fill="none" stroke="#1D9E75" stroke-width="1" stroke-dasharray="6 5" marker-end="url(#arrowGreen)"/>
</svg>

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

+32 -41
View File
@@ -1,8 +1,8 @@
<svg width="680" height="692" viewBox="0 0 680 692" role="img"
<svg width="680" height="594" viewBox="0 0 680 594" role="img"
aria-label="InfiPlot インタラクティブ物語生成パイプライン" xmlns="http://www.w3.org/2000/svg"
font-family='"Anthropic Sans", -apple-system, system-ui, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif'>
<title>AI インタラクティブ物語生成パイプライン</title>
<desc>あなたの入力からアーキテクト・脚本家へ、各シーンで並行するキャラクターデザイナーと撮影監督が絵師に渡り、1 シーンを生成し、脚本家へ先回り生成で戻ります。</desc>
<desc>あなたの入力から脚本家へ、各シーンで並行するキャラクターデザイナーと撮影監督が絵師に渡り、1 シーンを生成し、脚本家へ先回り生成で戻ります。</desc>
<defs>
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
<path d="M2 1L8 5L2 9" fill="none" stroke="#9c9a92" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
@@ -12,7 +12,7 @@
</marker>
</defs>
<rect x="1" y="1" width="678" height="690" rx="16" fill="#1f1e1d" stroke="#34322e" stroke-width="1.5"/>
<rect x="1" y="1" width="678" height="592" rx="16" fill="#1f1e1d" stroke="#34322e" stroke-width="1.5"/>
<!-- あなたの入力 -->
<g>
@@ -23,67 +23,58 @@
</g>
<line x1="340" y1="92" x2="340" y2="120" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- アーキテクト -->
<g>
<rect x="215" y="122" width="250" height="68" rx="8" fill="#3c3489" stroke="#afa9ec" stroke-width="0.5"/>
<text x="340" y="144" text-anchor="middle" dominant-baseline="central" fill="#cecbf6" font-size="14" font-weight="500">アーキテクト</text>
<text x="340" y="162" text-anchor="middle" dominant-baseline="central" fill="#afa9ec" font-size="12">Architect</text>
<text x="340" y="178" text-anchor="middle" dominant-baseline="central" fill="#afa9ec" font-size="12">入力を解析 → 物語の全体構造</text>
</g>
<line x1="340" y1="190" x2="340" y2="218" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- 脚本家 -->
<g>
<rect x="220" y="220" width="240" height="68" rx="8" fill="#085041" stroke="#5dcaa5" stroke-width="0.5"/>
<text x="340" y="242" text-anchor="middle" dominant-baseline="central" fill="#9fe1cb" font-size="14" font-weight="500">脚本家</text>
<text x="340" y="260" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">Writer</text>
<text x="340" y="276" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">ナレーション · セリフ · 選択肢</text>
<rect x="220" y="122" width="240" height="68" rx="8" fill="#085041" stroke="#5dcaa5" stroke-width="0.5"/>
<text x="340" y="144" text-anchor="middle" dominant-baseline="central" fill="#9fe1cb" font-size="14" font-weight="500">脚本家</text>
<text x="340" y="162" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">Writer</text>
<text x="340" y="178" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">物語構造 · ナレーション · セリフ · 選択肢</text>
</g>
<!-- 1 シーンの生成(グループ) -->
<rect x="40" y="308" width="560" height="242" rx="16" fill="none" stroke="rgba(222,220,209,0.3)" stroke-width="0.5" stroke-dasharray="6 5"/>
<text x="58" y="334" text-anchor="start" fill="#c2c0b6" font-size="12">1 シーンの生成</text>
<rect x="40" y="210" width="560" height="242" rx="16" fill="none" stroke="rgba(222,220,209,0.3)" stroke-width="0.5" stroke-dasharray="6 5"/>
<text x="58" y="236" text-anchor="start" fill="#c2c0b6" font-size="12">1 シーンの生成</text>
<line x1="340" y1="288" x2="211" y2="344" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="340" y1="288" x2="457" y2="344" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="340" y1="190" x2="211" y2="246" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="340" y1="190" x2="457" y2="246" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- キャラクターデザイナー -->
<g>
<rect x="58" y="354" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="183" y="376" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">キャラクターデザイナー</text>
<text x="183" y="394" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Character Designer</text>
<text x="183" y="410" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">立ち絵 + 声 · 並行</text>
<rect x="58" y="256" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="183" y="278" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">キャラクターデザイナー</text>
<text x="183" y="296" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Character Designer</text>
<text x="183" y="312" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">立ち絵 + 声 · 並行</text>
</g>
<!-- 撮影監督 -->
<g>
<rect x="332" y="354" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="457" y="376" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">撮影監督</text>
<text x="457" y="394" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Cinematographer</text>
<text x="457" y="410" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">カメラ構成 + 背景プロンプト</text>
<rect x="332" y="256" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="457" y="278" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">撮影監督</text>
<text x="457" y="296" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Cinematographer</text>
<text x="457" y="312" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">カメラ構成 + 背景プロンプト</text>
</g>
<line x1="183" y1="422" x2="280" y2="448" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="457" y1="422" x2="360" y2="448" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="183" y1="324" x2="280" y2="350" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="457" y1="324" x2="360" y2="350" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- 絵師 -->
<g>
<rect x="190" y="458" width="260" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="320" y="480" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">絵師</text>
<text x="320" y="498" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Painter</text>
<text x="320" y="514" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">立ち絵を参照に 16:9 背景</text>
<rect x="190" y="360" width="260" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="320" y="382" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">絵師</text>
<text x="320" y="400" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Painter</text>
<text x="320" y="416" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">立ち絵を参照に 16:9 背景</text>
</g>
<line x1="320" y1="526" x2="340" y2="576" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="320" y1="428" x2="340" y2="478" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- 1 シーン -->
<g>
<rect x="220" y="586" width="240" height="68" rx="8" fill="#444441" stroke="#b4b2a9" stroke-width="0.5"/>
<text x="340" y="608" text-anchor="middle" dominant-baseline="central" fill="#d3d1c7" font-size="14" font-weight="500">1 シーン</text>
<text x="340" y="626" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">Scene output</text>
<text x="340" y="642" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">背景画 + ビートツリー</text>
<rect x="220" y="488" width="240" height="68" rx="8" fill="#444441" stroke="#b4b2a9" stroke-width="0.5"/>
<text x="340" y="510" text-anchor="middle" dominant-baseline="central" fill="#d3d1c7" font-size="14" font-weight="500">1 シーン</text>
<text x="340" y="528" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">Scene output</text>
<text x="340" y="544" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">背景画 + ビートツリー</text>
</g>
<!-- 先回り生成ループ -->
<text x="542" y="236" text-anchor="middle" fill="#c2c0b6" font-size="12">次のシーンを先回り生成</text>
<path d="M460 620 L625 620 L625 250 L460 250" fill="none" stroke="#1D9E75" stroke-width="1" stroke-dasharray="6 5" marker-end="url(#arrowGreen)"/>
<text x="542" y="138" text-anchor="middle" fill="#c2c0b6" font-size="12">次のシーンを先回り生成</text>
<path d="M460 522 L625 522 L625 152 L460 152" fill="none" stroke="#1D9E75" stroke-width="1" stroke-dasharray="6 5" marker-end="url(#arrowGreen)"/>
</svg>

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

+32 -41
View File
@@ -1,8 +1,8 @@
<svg width="680" height="692" viewBox="0 0 680 692" role="img"
<svg width="680" height="594" viewBox="0 0 680 594" role="img"
aria-label="InfiPlot 互动剧情生成流水线" xmlns="http://www.w3.org/2000/svg"
font-family='"Anthropic Sans", -apple-system, system-ui, "Segoe UI", sans-serif'>
<title>AI 互动剧情生成流水线流程图</title>
<desc>从用户输入到架构师、编剧,再到每一幕场景内并行的角色设计师与场景布置师,汇入画家渲染,产出一幕场景,并预测式预生成回到编剧。</desc>
<desc>从用户输入到编剧,再到每一幕场景内并行的角色设计师与场景布置师,汇入画家渲染,产出一幕场景,并预测式预生成回到编剧。</desc>
<defs>
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
<path d="M2 1L8 5L2 9" fill="none" stroke="#9c9a92" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
@@ -12,7 +12,7 @@
</marker>
</defs>
<rect x="1" y="1" width="678" height="690" rx="16" fill="#1f1e1d" stroke="#34322e" stroke-width="1.5"/>
<rect x="1" y="1" width="678" height="592" rx="16" fill="#1f1e1d" stroke="#34322e" stroke-width="1.5"/>
<!-- 你的输入 -->
<g>
@@ -23,67 +23,58 @@
</g>
<line x1="340" y1="92" x2="340" y2="120" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- 架构师 -->
<g>
<rect x="215" y="122" width="250" height="68" rx="8" fill="#3c3489" stroke="#afa9ec" stroke-width="0.5"/>
<text x="340" y="144" text-anchor="middle" dominant-baseline="central" fill="#cecbf6" font-size="14" font-weight="500">架构师</text>
<text x="340" y="162" text-anchor="middle" dominant-baseline="central" fill="#afa9ec" font-size="12">Architect</text>
<text x="340" y="178" text-anchor="middle" dominant-baseline="central" fill="#afa9ec" font-size="12">解析输入 → 完整剧情结构</text>
</g>
<line x1="340" y1="190" x2="340" y2="218" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- 编剧 -->
<g>
<rect x="220" y="220" width="240" height="68" rx="8" fill="#085041" stroke="#5dcaa5" stroke-width="0.5"/>
<text x="340" y="242" text-anchor="middle" dominant-baseline="central" fill="#9fe1cb" font-size="14" font-weight="500">编剧</text>
<text x="340" y="260" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">Writer</text>
<text x="340" y="276" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">节拍:旁白 · 对话 · 选项</text>
<rect x="220" y="122" width="240" height="68" rx="8" fill="#085041" stroke="#5dcaa5" stroke-width="0.5"/>
<text x="340" y="144" text-anchor="middle" dominant-baseline="central" fill="#9fe1cb" font-size="14" font-weight="500">编剧</text>
<text x="340" y="162" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">Writer</text>
<text x="340" y="178" text-anchor="middle" dominant-baseline="central" fill="#5dcaa5" font-size="12">剧情架构 · 旁白 · 对话 · 选项</text>
</g>
<!-- 每一幕场景的生成(分组框) -->
<rect x="40" y="308" width="560" height="242" rx="16" fill="none" stroke="rgba(222,220,209,0.3)" stroke-width="0.5" stroke-dasharray="6 5"/>
<text x="58" y="334" text-anchor="start" fill="#c2c0b6" font-size="12">每一幕场景的生成</text>
<rect x="40" y="210" width="560" height="242" rx="16" fill="none" stroke="rgba(222,220,209,0.3)" stroke-width="0.5" stroke-dasharray="6 5"/>
<text x="58" y="236" text-anchor="start" fill="#c2c0b6" font-size="12">每一幕场景的生成</text>
<line x1="340" y1="288" x2="211" y2="344" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="340" y1="288" x2="457" y2="344" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="340" y1="190" x2="211" y2="246" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="340" y1="190" x2="457" y2="246" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- 角色设计师 -->
<g>
<rect x="58" y="354" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="183" y="376" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">角色设计师</text>
<text x="183" y="394" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Character Designer</text>
<text x="183" y="410" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">立绘 + 音色 · 并行</text>
<rect x="58" y="256" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="183" y="278" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">角色设计师</text>
<text x="183" y="296" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Character Designer</text>
<text x="183" y="312" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">立绘 + 音色 · 并行</text>
</g>
<!-- 场景布置师 -->
<g>
<rect x="332" y="354" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="457" y="376" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">场景布置师</text>
<text x="457" y="394" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Cinematographer</text>
<text x="457" y="410" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">镜头编排 + 背景提示词</text>
<rect x="332" y="256" width="250" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="457" y="278" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">场景布置师</text>
<text x="457" y="296" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Cinematographer</text>
<text x="457" y="312" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">镜头编排 + 背景提示词</text>
</g>
<line x1="183" y1="422" x2="280" y2="448" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="457" y1="422" x2="360" y2="448" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="183" y1="324" x2="280" y2="350" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="457" y1="324" x2="360" y2="350" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- 画家 -->
<g>
<rect x="190" y="458" width="260" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="320" y="480" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">画家</text>
<text x="320" y="498" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Painter</text>
<text x="320" y="514" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">以立绘为参考渲染 16:9 背景</text>
<rect x="190" y="360" width="260" height="68" rx="8" fill="#712b13" stroke="#f0997b" stroke-width="0.5"/>
<text x="320" y="382" text-anchor="middle" dominant-baseline="central" fill="#f5c4b3" font-size="14" font-weight="500">画家</text>
<text x="320" y="400" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">Painter</text>
<text x="320" y="416" text-anchor="middle" dominant-baseline="central" fill="#f0997b" font-size="12">以立绘为参考渲染 16:9 背景</text>
</g>
<line x1="320" y1="526" x2="340" y2="576" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<line x1="320" y1="428" x2="340" y2="478" stroke="#9c9a92" stroke-width="1.5" marker-end="url(#arrow)"/>
<!-- 一幕场景 -->
<g>
<rect x="220" y="586" width="240" height="68" rx="8" fill="#444441" stroke="#b4b2a9" stroke-width="0.5"/>
<text x="340" y="608" text-anchor="middle" dominant-baseline="central" fill="#d3d1c7" font-size="14" font-weight="500">一幕场景</text>
<text x="340" y="626" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">Scene output</text>
<text x="340" y="642" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">背景图 + 节拍树</text>
<rect x="220" y="488" width="240" height="68" rx="8" fill="#444441" stroke="#b4b2a9" stroke-width="0.5"/>
<text x="340" y="510" text-anchor="middle" dominant-baseline="central" fill="#d3d1c7" font-size="14" font-weight="500">一幕场景</text>
<text x="340" y="528" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">Scene output</text>
<text x="340" y="544" text-anchor="middle" dominant-baseline="central" fill="#b4b2a9" font-size="12">背景图 + 节拍树</text>
</g>
<!-- 预测式预生成回环 -->
<text x="542" y="236" text-anchor="middle" fill="#c2c0b6" font-size="12">预测式预生成下一幕</text>
<path d="M460 620 L625 620 L625 250 L460 250" fill="none" stroke="#1D9E75" stroke-width="1" stroke-dasharray="6 5" marker-end="url(#arrowGreen)"/>
<text x="542" y="138" text-anchor="middle" fill="#c2c0b6" font-size="12">预测式预生成下一幕</text>
<path d="M460 522 L625 522 L625 152 L460 152" fill="none" stroke="#1D9E75" stroke-width="1" stroke-dasharray="6 5" marker-end="url(#arrowGreen)"/>
</svg>

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB