Files
Genarrative/docs/technical/PUZZLE_IMAGE_PROMPT_MODULE_EXTRACTION_2026-04-27.md
2026-04-30 17:49:07 +08:00

1.4 KiB
Raw Permalink Blame History

拼图图片提示词脚本拆分

背景

拼图结果页的图片生成已经由 server-rs/crates/api-server/src/puzzle.rs 负责外部 I/O 编排、DashScope 请求、候选图落 OSS 与 SpacetimeDB 持久化。原先正式提示词和反向提示词也内联在同一文件里,后续调整拼图图片画面约束时容易误碰生成任务、资产绑定或候选池逻辑。

本轮落地边界

  1. 拼图图片提示词统一放到 server-rs/crates/api-server/src/prompt/puzzle/image.rs
  2. puzzle.rs 只负责读取提示词构建结果,并继续处理 DashScope、OSS、SpacetimeDB 写回。
  3. 提示词模块只暴露:
    • build_puzzle_image_prompt(level_name, prompt)
    • PUZZLE_DEFAULT_NEGATIVE_PROMPT
  4. 文生图和图生图继续共用同一份最终提示词,避免同一玩法下出现两套画面约束。

编码约束

  1. 不把图片生成逻辑下沉到 SpacetimeDB reducer外部 I/O 必须留在 api-server
  2. 不改候选图 JSON 持久化结构,仍使用 module-puzzle::PuzzleGeneratedImageCandidate 对应的 snake_case 字段。
  3. 不改前端 UI 文案和交互;本轮只拆后端提示词脚本。
  4. 后续若调整拼图图片风格、尺寸、禁止元素或切块可读性要求,优先修改 prompt/puzzle/image.rs,再按需补测试。

验收

  1. cargo test -p api-server puzzle_image 通过。
  2. npm run check:encoding 通过,确认新增中文文档和 Rust 注释仍是 UTF-8。