生成风格 pixelArt 同时约束提示词
style="pixelArt" 此前只驱动 provider 回图后的确定性像素规整,完全不参与 提示词。但 snapper 是几何对齐器——先检测网格步长再按格重采样;provider 交 一张柔和渐变图时横纵两轴都测不到步长,生成路径用的 legacy profile 会退到 min(width,height)/64 统一网格兜底,产出的是马赛克而不是像素画。原语义等于 「随便生成什么,然后强行网格化」。 注入点固定在 generate_editor_image_for_owner 与 generate_editor_icon_spritesheet_for_owner 构造提交提示词的位置,包住既有 builder 的返回值,builder 签名和输出契约不变。登录态路由、外部 API v1、 异步 job worker 三个入口都汇聚到这两个函数,一处覆盖。 约束句按链路分三条,追加在末尾并独立成行:普通图片没有抠像底色,用 「画面为像素风格」;角色形象和图标图集生成后都要按纯色抠像,绿幕底必须保持 平整,分别用「角色主体为像素风格」和「每个图标素材均为像素风格」,都不出现 「画面」级别的像素化要求,否则与同一段提示词里既有的「纯色背景必须平整无 纹理、无渐变」互相拆台。 实测只提「像素风格」效果已可接受,因此不注入网格密度、色板色数和抗锯齿等 约束。source-guard 钉住注入排在 create_openai_ 之前——被挪到之后时产物看起来 仍然「成功」,只是静默退化成统一网格马赛克,普通测试抓不到。 约束句随 submitted_prompt 写入 editor_project_resource 的 prompt 列;响应体 返回的仍是用户原文,前端显示不变;不新增 OSS PUT、项目资源、素材记录或画布 图层。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -5911,3 +5911,14 @@
|
||||
- 决策:预览的业务失败与浏览器基础设施失败分流。基础设施失败按稳定 kind 持久化并立即失败结束当前 run;preview readiness/playtest 的 manifest 完成分别绑定当前 revision smoke 和根合同 browser receipt,read-only 文本交付不能绕过。
|
||||
- 决策:game-chat 的 client-owned Runner 在活动任务期间禁止关闭客户端;关闭前复用既有 durable idle 真相源,避免另建 UI busy 状态。用户明确暂停/取消并达到 idle 后再退出,不能靠重启后自动重放未知 Provider 结果。
|
||||
- 决策:规范 Agent reasoning 默认由角色职责分层,显式 per-Agent patch 优先;配置状态对外展示实际 timing/retry,避免全局文件、per-Agent resolver 与历史 run snapshot 混淆。
|
||||
|
||||
## 2026-08-01 生成风格 pixelArt 同时约束提示词
|
||||
|
||||
- 背景:`style="pixelArt"` 此前只驱动 provider 返回后的确定性像素规整,完全不参与提示词拼接。但 `platform-image` 的 snapper 是几何对齐器——先检测网格步长再按格重采样;provider 交一张柔和渐变图时横纵两轴都检测不到步长,生成路径使用的 legacy profile 会退到 `min(width,height)/64` 统一网格兜底,产出的是马赛克而不是像素画。也就是原语义等于「随便生成什么,然后强行网格化」。
|
||||
- 决策:`pixelArt` 从「纯后处理风格」改为「提示词约束 + 后处理」。注入点固定在 `generate_editor_image_for_owner` 与 `generate_editor_icon_spritesheet_for_owner` 各自构造 `submitted_prompt` / `prompt` 的位置,包住既有 builder 的返回值,builder 签名与其既有输出契约不变。三个入口(登录态路由、外部 API v1、异步 job worker)都汇聚到这两个函数,一处注入全覆盖。`None` 必须原样返回原提示词。
|
||||
- 作用域按链路分三条措辞,不共用同一句:普通图片没有抠像底色,用「画面为像素风格」;角色形象与图标图集生成后都要按纯色抠像,绿幕底必须保持平整,分别用「角色主体为像素风格」和「每个图标素材均为像素风格」,都不得出现「画面」级别的像素化要求,否则与同一段提示词里既有的「纯色背景必须平整无纹理、无渐变」互相拆台。角色形象的提示词已禁止出现角色以外的场景内容,因此只点名角色;图标图集一张图内是多个彼此分离的素材,需要逐个点名。
|
||||
- 强度边界:实测只提「像素风格」效果已可接受,因此不注入网格密度、色板色数、抗锯齿等约束。约束句一律追加在提示词末尾并独立成行,不前置、不改写 builder 内部语句。`kind` 为 `spec / quick-edit / ui-design / publication-material` 时 `pixel_art_supported` 已把 `pixelArt` 降级为 `None`,注入对它们不生效;「修改图片」链路的 DTO 没有 `style` 字段,完全不受影响。
|
||||
- 反向提示词:同步从画布四个生图入口(普通图片、角色形象共用一条,UI 设计图,修改图片两个 provider 分支)的 negative prompt 中移除「低清晰度」——该词按字面否定低分辨率,与以低分辨率重采样为本质的像素风直接对冲。其余玩法(拼图、消除、跳跃、方洞、大鱼、吠叫、自定义世界场景图)的同名词条不动,本次只收口画布项目。
|
||||
- 持久化影响:`submitted_prompt` 会被 `output_prompt` 复制并写入 `editor_project_resource` 的 prompt 列,因此注入后该列会带上约束句。响应体返回的仍是用户原文 `role_setting`,前端显示不变。角色形象与图标图集本来就存工程化提示词,普通图片从存原文变为存原文加一行。不新增 OSS PUT、项目资源、素材记录或画布图层。
|
||||
- 未覆盖:图标图集尚未约束各素材共用同一像素块大小(`estimate_step_size` 取全图相邻峰间距的第 30 百分位,块大小不一时步长估计会偏);角色形象提示词里既有的「严格基于图1的角色美术视觉规范的美术风格」与像素约束存在潜在冲突,未改写。两项都等实测。snapper 当前无任何日志,`resolve_step_sizes` 走检测还是走统一网格兜底在外部不可观测,注入效果暂时只能靠人工看图判断。
|
||||
- 关联文档:`docs/technical/【前端架构】图片画布编辑器MVP接入方案-2026-06-11.md`、`docs/【编辑器】画板角色形象生成入口设计-2026-06-15.md`、`docs/【编辑器】画板图标素材生成入口设计-2026-06-15.md`、`docs/openapi/genarrative-external-v1.openapi.json`。
|
||||
|
||||
Reference in New Issue
Block a user