Increase VectorEngine timeouts and add image UI

Add VectorEngine image generation config and raise request timeouts (env + scripts) from 180000 to 1000000ms. Introduce a reusable CreativeImageInputPanel component with tests and wire up mobile keyboard-focus helpers; update generation views and related tests (CustomWorldGenerationView, BarkBattle editor, Match3D, Puzzle flows). Improve API error handling / VectorEngine request guidance (packages/shared http.ts and docs), and apply multiple backend/frontend fixes for puzzle/match3d/prompt handling. Also include extensive docs and decision-log updates describing UI/UX decisions and verification steps.
This commit is contained in:
2026-05-15 02:40:59 +08:00
parent 4642855fd0
commit 74fd9a33ac
87 changed files with 5508 additions and 1261 deletions

View File

@@ -4,24 +4,24 @@
草稿页的作品模块需要同时承载 RPG、拼图和大鱼吃小鱼等玩法。不同玩法卡片不能各自展示阶段、素材、主题等细节标签否则作品列表会在移动端显得拥挤并且草稿作品会暴露过多编辑态信息。
本次将作品列表卡片收口成统一信息结构:草稿只用于快速识别和继续创作,已发布作品才展示公开数据;删除与分享等低频操作收进左滑操作层,避免列表常态被按钮挤占。
本次将作品列表卡片收口成统一信息结构:草稿只用于快速识别和继续创作,已发布作品才展示公开数据;删除与分享等低频操作收进长按动作面板,避免列表常态被按钮挤占。
## 落地范围
- 列表容器:`src/components/custom-world-home/CustomWorldCreationHub.tsx`
- 作品卡片:`src/components/custom-world-home/CustomWorldWorkCard.tsx`
- 不改动作品数据聚合、筛选、打开和体验逻辑。
- 已发布作品保留分享能力;可删除作品保留删除能力,但常态不显示为右侧按钮。
- 已发布作品保留分享能力,卡片右上角常驻分享图标;可删除作品保留删除能力,但常态不显示删除按钮。
## 卡片结构规则
1. 卡片整体对齐发现 / 分类页的横向作品列表结构:左侧为标题、状态、类型、摘要与必要数据,右侧为带透明度的封面图
1. 卡片整体对齐发现 / 分类页的横向作品列表结构:内容层承载标题、状态、类型、摘要与必要数据,封面作为不占内容布局的右半区透明背景层
2. 不再显示阶段、主题、素材完成度、作者、作品号等额外标签。
3. 标题区域保留作品状态与游戏类型;生成中的草稿状态显示为“生成中”
3. 标题区域保留作品状态与游戏类型;草稿和已发布状态只用图标化 UI 标识,不再在卡片上显示“草稿 / 已发布”文字
4. 草稿卡片到作品描述为止,不显示右侧“继续创作”等固定动作、统计、作品号或公开指标。
5. 已发布卡片在描述下方显示三项公开指标:游玩数、改造数、点赞数。
6. 已发布卡片的分享入口收进左滑操作层,点击后复制作品分享文案,不触发卡片打开。
7. 可删除卡片的删除入口收进左滑操作层,常态不显示删除按钮;左滑露出后点击删除不触发卡片打开。
6. 已发布卡片右上角显示分享图标,点击后复制作品分享文案,不触发卡片打开。
7. 长按草稿作品弹出独立动作面板,只展示删除作品;长按已发布作品弹出独立动作面板,展示分享和删除。动作按钮点击后不得触发卡片打开。
8. 卡片不显示最后修改时间;`updatedAt` 只用于作品列表排序。
9. 生成中的卡片在整卡上叠加半透明蒙版、旋转等待符号和“生成中...”标识;蒙版不能移除标题、状态、类型、摘要、右侧封面等原有信息。
@@ -32,7 +32,7 @@
3. 用户每次进入创作页时,前端读取上一次进入该页面缓存的公开指标快照;当已发布作品卡片滑动进入视口后,数字从缓存值增长到本次接口返回的最新值。
4. 若最新值高于缓存值,动画完成后在对应指标右下角展示红色向上箭头和本次上涨的具体数值,字号低于主数字,避免抢占主信息层级。
5. 若没有缓存值、缓存值不低于最新值或作品仍是草稿,则直接显示最新值,不展示上涨标记。
6. 每张作品卡片继续使用作品封面作为右侧方形半透明主视觉;封面不能因为列表收缩被拉伸变形。
6. 每张作品卡片继续使用作品封面作为右侧半区透明背景主视觉;封面从右向左渐隐,不能出现独立方形边界,也不能因为列表收缩挤占正文布局或被拉伸变形。
7. 作品列表按 `updatedAt` 倒序排列;前端排序需要兼容 ISO 时间和 Rust 后端常用的 `seconds.microsZ` 时间文本。
8. 若玩法摘要缺少 `coverImageSrc`,允许从同一作品的正式关卡图、背景图或素材图里取第一张可用图片作为卡片背景兜底。
9. 若作品真实图片为空、私有资源换签失败或浏览器图片加载失败,卡片必须切到对应玩法的 `public/creation-type-references/` 参考图;最终兜底底色使用平台浅粉暖白色系,不允许退回黑色普通面板。
@@ -40,16 +40,16 @@
## 移动端布局规则
1. 作品列表默认使用单列纵向列表,视觉上与发现页分类列表保持一致。
2. 移动端每张卡片使用固定右列方形半透明封面,右列建议 `5.1rem` 左右;草稿卡即使复用分类页基础类名,也必须用自身选择器覆盖分类页的 `4.3rem + 正文 + action` 三列规则,避免正文被压进窄列。
3. 已发布作品的公开指标在卡片正文内保留,但需要压缩字号和间距,不能右侧封面列错位
2. 移动端每张卡片使用绝对定位右半区封面背景层,封面在右边缘最清晰、向左渐隐;草稿卡即使复用分类页基础类名,也必须用自身选择器覆盖分类页的 `4.3rem + 正文 + action` 三列规则,避免正文被压进窄列。
3. 已发布作品的公开指标在卡片正文内保留,但需要压缩字号和间距,不能依赖右侧封面列参与排版
4. 小屏卡片降低高度、内边距、标题字号和徽标尺寸,避免长标题或中文描述撑破容器。
5. 右侧封面容器本身必须带玩法参考图 CSS 背景兜底;`img` 的真实封面或 `ResolvedAssetImage` fallback 加载失败时,也不能出现空白或黑卡。
5. 右侧封面本身必须带玩法参考图 CSS 背景兜底;`img` 的真实封面或 `ResolvedAssetImage` fallback 加载失败时,也不能出现空白或黑卡。
## 网页端布局规则
1. 网页端作品架不能继续拉成整行超宽列表;从 `768px` 起使用多列卡片式网格,默认两列,宽屏提升到三列。
2. 网页端卡片保留移动端同一信息结构,但卡片高度增加,正文区可显示更多摘要与公开指标,右侧封面改为更高的半透明视觉区。
3. 删除与分享仍然只在左滑或键盘揭示态显示;默认态不得透出红色删除底层或分享底层
3. 删除与分享仍然只在长按动作面板或键盘揭示态显示;默认态不得透出红色删除底层。
## 文案约束

View File

@@ -60,3 +60,5 @@
3. 风格卡标签使用浅底胶囊,保证图片仍是主体。
4. 难度等分段选项可以使用主品牌色,但选中态需要降低阴影和饱和度。
5. UI 中不补充玩法规则说明文案,保持创作入口清爽。
6. 拼图创作表单在未上传主图时,画面描述输入框右下角保留一个参考图上传入口;支持多选,最多 5 张,上传后以下方小缩略图展示,点击缩略图可放大预览。
7. 当前拼图后端只消费第一张有效参考图做生成,前端仍需保留数组输入,方便后续扩展多参考图能力。

View File

@@ -126,6 +126,7 @@
- 用户再进入草稿 Tab 并点击同一草稿时,若生成仍未完成,进入对应生成过程页查看最新进度;若已完成,直接进入对应结果页。
- 草稿作品卡在生成中展示“生成中”状态标记;新生成完成且用户尚未查看的草稿在卡片右上角展示红点。
- 底部一级“草稿”Tab 在存在未查看新完成草稿时展示红点用户点击查看带红点的作品后该作品红点消失。若草稿页已无任何带红点作品底部“草稿”Tab 红点同步消失。
- 红点通知链路覆盖所有进入草稿作品架的生成型玩法;宝贝识物等仅有 `profileId``draftId` 的轻量草稿,也必须把两个 ID 都纳入同一组通知 key避免卡片红点和底部草稿 Tab 红点漂移。
- 生成完成时如果用户仍停留在对应生成过程页,可自动进入结果页;如果用户已经回到创作中心或其它功能页,不打断当前操作。
- 创作 Tab 的模板入口只允许被模板自身的开放状态禁用;某个草稿后台生成中时,不得用该玩法的 busy 状态禁用其它模板入口、同模板再次创建入口或阻止用户继续创建新作品。
- 同模板再次点击生成时必须创建新的草稿生成任务,不得因为当前玩法已有后台生成 session 就跳回上一条草稿的生成过程页;查看上一条生成进度只能从草稿 Tab 的对应作品卡进入。