From 41075e41a210cb5e2c43ba78cc9c757c2674fb75 Mon Sep 17 00:00:00 2001 From: kdletters <61648117+kdletters@users.noreply.github.com> Date: Thu, 21 May 2026 17:21:38 +0800 Subject: [PATCH 1/5] fix: stabilize rpg creation entry and opening cg --- .gitignore | 1 + .hermes/shared-memory/decision-log.md | 16 ++ .hermes/shared-memory/pitfalls.md | 24 ++ ...„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md | 5 + ...å‘è¿ç»´ã€‘本地开å‘验è¯ä¸Žç”Ÿäº§è¿ç»´-2026-05-15.md | 4 + ...玩法创作】平å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md | 18 ++ server-rs/crates/api-server/src/app.rs | 25 ++ server-rs/crates/api-server/src/config.rs | 23 +- .../api-server/src/creation_agent_llm_turn.rs | 119 +++++++++- .../api-server/src/creation_entry_config.rs | 28 +++ .../crates/api-server/src/custom_world_ai.rs | 90 +++++++- server-rs/crates/api-server/src/match3d.rs | 5 +- .../api-server/src/match3d/item_assets.rs | 4 +- .../crates/api-server/src/match3d/tests.rs | 4 +- .../api-server/src/openai_image_generation.rs | 214 ++++++++++++++++-- .../module-custom-world/src/application.rs | 110 +++++++++ .../crates/module-runtime/src/application.rs | 4 +- server-rs/crates/module-runtime/src/lib.rs | 17 ++ .../spacetime-module/src/custom_world.rs | 20 +- .../src/runtime/creation_entry_config.rs | 31 +++ src/components/CustomWorldResultView.test.tsx | 69 ++++++ ...ustomWorldCreationHub.interaction.test.tsx | 17 +- .../CustomWorldCreationHub.test.tsx | 14 +- ...gEntryFlowShell.agent.interaction.test.tsx | 15 +- src/data/customWorldLibrary.test.ts | 31 +++ src/data/customWorldLibrary.ts | 5 + 26 files changed, 866 insertions(+), 47 deletions(-) diff --git a/.gitignore b/.gitignore index 610ac88f..c90efe5c 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ temp*build*/ /.codex-temp /target/ /logs +/server-rs/crates/*/logs/ .worktrees/ .env.secrets.local spacetime.local.json diff --git a/.hermes/shared-memory/decision-log.md b/.hermes/shared-memory/decision-log.md index 783fabbd..8aef4e70 100644 --- a/.hermes/shared-memory/decision-log.md +++ b/.hermes/shared-memory/decision-log.md @@ -113,6 +113,14 @@ - éªŒè¯æ–¹å¼ï¼šæ–°å¢žçŽ©æ³• PRD 必须显å¼å£°æ˜Žå•图资产槽ä½å’Œç³»åˆ—ç´ ææ§½ä½ï¼›æ–°å¢žå·¥ä½œå°æµ‹è¯•确认没有默认èŠå¤©å¼ Agent 输入;skill 通过 `quick_validate.py`。 - å…³è”æ–‡æ¡£ï¼š`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`ã€`.codex/skills/genarrative-play-type-integration/SKILL.md`ã€`.hermes/skills/genarrative-play-type-integration/SKILL.md`。 +## 2026-05-21 RPG publish_world 设定文本以åŽç«¯è‰ç¨¿çœŸç›¸æ´¾ç”Ÿ + +- 背景:RPG 结果页å‘布动作åªä¿è¯æäº¤ `{ action: 'publish_world' }`;旧 agent 会è¯å¯èƒ½æ²¡æœ‰ `seed_text`,但 `draft_profile_json` å·²ç»é€šè¿‡ `publish_gate` å¹¶å¯å‘布。 +- 决策:å‘布正å¼ä¸–界时,`spacetime-module` ä¸å†æŠŠ `session.seed_text` 当作唯一 `setting_text` 兜底,而是调用 `module-custom-world::resolve_custom_world_publish_setting_text(...)` 从 payloadã€å½“å‰è‰ç¨¿ profile å’Œ seed 便¬¡æ´¾ç”Ÿã€‚ +- å½±å“范围:RPG / custom-world agent å‘布链路ã€`custom_world_profile` 编译入库ã€å…¬å¼€ gallery 投影。 +- éªŒè¯æ–¹å¼ï¼š`cargo test -p module-custom-world publish_setting_text --manifest-path server-rs\Cargo.toml`ï¼›`cargo check -p spacetime-module --manifest-path server-rs\Cargo.toml`;本地 api-server é‡å¯åŽæ£€æŸ¥ `/healthz`。 +- å…³è”æ–‡æ¡£ï¼š`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`ã€`docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md`ã€`.hermes/shared-memory/pitfalls.md`。 + ## 2026-05-19 系列素æ n*n 图集抽为 api-server é€šç”¨æ¨¡å— - èƒŒæ™¯ï¼šæŠ“å¤§é¹…ç‰©å“ sheet å·²åŒ…å« prompt 组装ã€å›ºå®šç½‘格切图ã€ç»¿å¹• / è¿‘ç™½åº•é€æ˜ŽåŒ–ã€åˆ‡ç‰‡ PNG æŒä¹…化和 prompt 追踪;继续留在 Match3D ç§æœ‰æ¨¡å—会让跳一跳ã€åŽç»­åœ°å— / é“具类玩法é‡å¤å¤åˆ¶åŒä¸€å¥—算法和 OSS 元数æ®å£å¾„。 @@ -349,6 +357,14 @@ - éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œå…¥å£é…ç½®ã€åˆ›ä½œ Hubã€å¹³å°å…¥å£äº¤äº’å’Œ api-server è·¯ç”±ç†”æ–­å®šå‘æµ‹è¯•,确认“视觉å°è¯´â€ä¸å‡ºçŽ°åœ¨åˆ›ä½œé¡µä¸” `/api/creation/visual-novel/*` 默认被熔断。 - å…³è”æ–‡æ¡£ï¼š`docs/design/PLATFORM_CREATE_TAB_CREATIVE_AGENT_HOME_2026-05-05.md`ã€`docs/technical/ADMIN_CREATION_ENTRY_SWITCH_CONFIG_2026-05-11.md`。 +## 2026-05-20 RPG 创作入å£å¼€æ”¾ + +- 背景:RPG 文字冒险能力已ç»å…·å¤‡åŽ†å² custom-world 创作和è¿è¡Œé—­çŽ¯ï¼Œä½†å…¥å£é»˜è®¤ç§å­ä» `visible=false`,创作页ä¸å±•示。 +- 决策:SpacetimeDB `creation_entry_type_config` 默认ç§å­ä¸­ `rpg.visible=true` 且 `open=true`,旧默认éšè—é…ç½®åªåœ¨æ ‡é¢˜ã€subtitleã€badgeã€å›¾ç‰‡ã€æŽ’åºå’Œå¼€å…³å®Œå…¨åŒ¹é…æ—¶è¿ç§»ä¸ºå¯è§å¯åˆ›å»ºã€‚`airp` ä»ä¿æŒ AI RPG å ä½ï¼Œä¸æŽ¥ç®¡å½“å‰ RPG 链路。结构化创作 / RPG JSON 链路默认关闭 Responses `web_search`,需è¦è”网增强时æ‰é€šè¿‡ `GENARRATIVE_RPG_LLM_WEB_SEARCH_ENABLED=true` 或 `GENARRATIVE_CREATION_AGENT_LLM_WEB_SEARCH_ENABLED=true` 显å¼å¯ç”¨ï¼›æœªå¼€é€šå·¥å…·çš„上游会返回 `ToolNotOpen`,ä¸èƒ½æŠŠè¿™ç±»å¤±è´¥æš´éœ²æˆâ€œæ¨¡åž‹è¿”回结果解æžå¤±è´¥â€ã€‚ +- å½±å“范围:创作入å£é»˜è®¤ç§å­ã€æ—§åº“å…¥å£çº åã€`api-server` å…¥å£ç†”æ–­ã€åˆ›ä½œé¡µæ¨¡æ¿ Tabã€åˆ›ä½œ Hub 测试ã€çŽ©æ³•é“¾è·¯æ–‡æ¡£å’ŒåŽç«¯è·¯ç”±æ–‡æ¡£ã€‚ +- éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œå…¥å£é…ç½®ã€api-server 路由熔断ã€åˆ›ä½œ Hub 和平å°å…¥å£äº¤äº’å®šå‘æµ‹è¯•,确认“文字冒险â€å‡ºçŽ°åœ¨åˆ›ä½œå…¥å£ï¼Œ`/api/runtime/custom-world*`ã€`/api/story/*`ã€`/api/runtime/chat/*` 都按 `rpg` å…¥å£å¼€å…³ç†”断。 +- å…³è”æ–‡æ¡£ï¼š`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`ã€`docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md`。 + ## 2026-05-10 è¿è¡Œæ€è¾“入设备抽象层全项目通用化 - 背景:拼图è¿è¡Œæ€æŽ¥å…¥ mocap åŽï¼Œé¼ æ ‡/触控和 mocap å„自维护输入逻辑会导致åˆå¹¶å¤§å—ã€æ‹–æ‹½è¯­ä¹‰å’Œå–æ¶ˆä¼šè¯è¡Œä¸ºä¸ä¸€è‡´ï¼›åŽç»­å…¶ä»–玩法也需è¦å¤ç”¨ä½“æ„Ÿã€æ‘‡æ†ã€é”®ç›˜ç­‰è®¾å¤‡è¾“入。 diff --git a/.hermes/shared-memory/pitfalls.md b/.hermes/shared-memory/pitfalls.md index 0399e186..88b413fb 100644 --- a/.hermes/shared-memory/pitfalls.md +++ b/.hermes/shared-memory/pitfalls.md @@ -22,6 +22,14 @@ - 验è¯ï¼šæ‹¼å›¾å…¥å£æµ‹è¯•ä»å¯é€šè¿‡ï¼Œä¸”新组件å¯é€šè¿‡ä¸åŒé¡µé¢å¤ç”¨è€Œä¸éœ€è¦å¤åˆ¶ä¸Šä¼ å¡å®žçŽ°ã€‚ - å…³è”:`src/components/common/CreativeImageInputPanel.tsx`ã€`src/components/puzzle-agent/PuzzleAgentWorkspace.tsx`。 +## RPG å‘布ä¸èƒ½åªä¾èµ– agent session seed_text + +- 现象:RPG 结果页 `publish_world` 返回 `UPSTREAM_ERROR`,details 为 `custom_world.setting_text ä¸èƒ½ä¸ºç©º`ï¼›åŒä¸€ session çš„ `result-view` 日志显示 `publish_ready=true`。 +- 原因:å‰ç«¯å‘å¸ƒåŠ¨ä½œåªæäº¤ `{ action: 'publish_world' }`,旧 agent 会è¯çš„ `seed_text` å¯èƒ½ä¸ºç©ºï¼›å¦‚æžœåŽç«¯åªä»Ž action payload 或 `seed_text` å– `setting_text`,就会在最终 compile / publish 校验阶段失败。 +- 处ç†ï¼š`module-custom-world::resolve_custom_world_publish_setting_text(...)` ä»¥å½“å‰ `draft_profile_json` 为è‰ç¨¿çœŸç›¸ï¼Œä¼˜å…ˆè¯»å– `settingText`ã€`creatorIntent.rawSettingText`ã€`creatorIntent.worldHook`ã€`worldHook`ã€`anchorContent.worldPromise(.hook)`ã€`summary`ã€`name/title`ï¼Œæœ€åŽæ‰å›žé€€ `seed_text`。 +- 验è¯ï¼š`cargo test -p module-custom-world publish_setting_text --manifest-path server-rs\Cargo.toml`ï¼›`cargo check -p spacetime-module --manifest-path server-rs\Cargo.toml`。 +- å…³è”:`server-rs/crates/module-custom-world/src/application.rs`ã€`server-rs/crates/spacetime-module/src/custom_world.rs`ã€`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`。 + ## Windows provision ä¸‹è½½æˆªæ–­è¦æ–­ç‚¹ç»­ä¼ è€Œä¸æ˜¯å›žé€€ç›®æ ‡æœºä¸‹è½½ - 现象:`Genarrative-Server-Provision` 在 `Download Provision Tool Archives` 阶段出现 `curl: (18) end of response ... bytes missing`,常è§äºŽ `otelcol-contrib_0.151.0_linux_amd64.tar.gz` ç­‰ GitHub release 大文件。 @@ -374,6 +382,22 @@ - 验è¯ï¼šè¿è¡Œ `npm run test -- src/services/creation-agent/creationAgentClientFactory.test.ts src/services/apiClient.test.ts`ã€`cargo test -p api-server puzzle_vector_engine --manifest-path server-rs/Cargo.toml`,真实è”è°ƒé‡å¯ `npm run dev:api-server` åŽæ£€æŸ¥ `/healthz`。 - å…³è”:`src/services/creation-agent/creationAgentClientFactory.ts`ã€`server-rs/crates/api-server/src/puzzle.rs`ã€`docs/technical/API_SERVER_EXTERNAL_SERVICE_ENV_CONFIG_2026-05-07.md`。 +## 开局 CG 故事æ¿ç”Ÿå›¾å¤±è´¥å…ˆæŸ¥ VectorEngine 请求预算和旧进程 + +- 现象:RPG 结果页点击开局 CG åŽï¼Œ`POST /api/runtime/custom-world/opening-cg` 在较长等待åŽè¿”回“开局 CG 故事æ¿ç”Ÿæˆå¤±è´¥ï¼šåˆ›å»ºå›¾ç‰‡ç”Ÿæˆä»»åŠ¡å¤±è´¥ï¼šerror sending request for url (https://api.vectorengine.ai/v1/images/generations)â€ã€‚ +- 原因:该故事æ¿ä¼šæŠŠè§’色图和首幕背景图作为å‚考图一起传给 VectorEngine `gpt-image-2-all`,请求体和上游生æˆè€—时都比普通å•图更大;若è¿è¡Œä¸­çš„ `api-server` 仿²¿ç”¨æ—§ `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`,或者å‚考图过大,会在请求å‘é€/等待阶段被 reqwest 截断。日志里 `timeout=false connect=false request=true body=false source=client error (SendRequest)` 表示还没拿到上游 HTTP å“应,通常优先怀疑大 JSON 请求体ã€ä¸Šæ¸¸ç½‘关中断或 HTTP åè®®å…¼å®¹ï¼Œè€Œä¸æ˜¯ä¸šåŠ¡å“应解æžå¤±è´¥ã€‚直接请求 VectorEngine 若无效 token å¯å¿«é€Ÿè¿”回 401,ä¸èƒ½æ®æ­¤åˆ¤æ–­çœŸå®žç”Ÿå›¾ä¸ä¼šè¶…时。 +- 处ç†ï¼šå¼€å±€ CG å‚考图入å‚先压到å•è¾¹ 768 çš„ JPEGï¼›`/v1/images/generations` ä¿æŒ reqwest 默认 HTTP åå•†ï¼Œåªæœ‰ multipart `/v1/images/edits` å•独强制 HTTP/1.1。åŽç«¯å›¾ç‰‡ helper å°† `request_body_bytes`ã€æ¯å¼ å‚考图 Data URL 长度ã€`timeout/connect/body/source/rootSource/sourceChain/endpoint` 分类写入日志和 `error.details`,å‰ç«¯ä¼˜å…ˆå±•示 `details.reason`。修改 `.env.secrets.local` åŽå¿…é¡»é‡å¯ `api-server`,`npm run dev` 终端用 `rs api-server`,å¦åˆ™æ—§è¿›ç¨‹ä»æŒ‰æ—§è¶…æ—¶è¿è¡Œã€‚ +- 验è¯ï¼šåˆ†åˆ«è¿è¡Œ `cargo test -p api-server custom_world_ai --manifest-path server-rs/Cargo.toml` å’Œ `cargo test -p api-server openai_image_generation --manifest-path server-rs/Cargo.toml`;真实è”è°ƒé‡å¯åŽå†è§¦å‘开局 CG,若ä»å¤±è´¥çœ‹è¿”回的 `details.reason/source/rootSource/sourceChain/timeout/connect/body/endpoint` å’Œ `logs/api-server/` åŒä¸€ request_id。 +- å…³è”:`server-rs/crates/api-server/src/custom_world_ai.rs`ã€`server-rs/crates/api-server/src/custom_world_ai/opening_cg.rs`ã€`server-rs/crates/api-server/src/openai_image_generation.rs`ã€`docs/ã€å¼€å‘è¿ç»´ã€‘本地开å‘验è¯ä¸Žç”Ÿäº§è¿ç»´-2026-05-15.md`。 + +## 开局 CG æˆåŠŸåŽåˆå˜ç©ºç™½è¦ä¿ç•™ profile.openingCg + +- 现象:RPG 结果页里的开局 CG æˆåŠŸæ˜¾ç¤ºä¸€çž¬åŽï¼Œçª—å£åˆé€€å›žç©ºç™½å ä½ã€‚ +- 原因:`openingCg` åªå­˜åœ¨äºŽç»“果页 profile æ§½ä½ï¼Œå¦‚果父层在 `onProfileChange` åŽé‡æ–°åŒæ­¥äº† profile,å´ç»è¿‡ `normalizeCustomWorldProfileRecord` 或作å“库写回时丢掉 `openingCg`,预览就会从视频 / 故事æ¿å›žé€€ä¸ºç©ºç™½ã€‚ +- 处ç†ï¼š`src/data/customWorldLibrary.ts` çš„ profile 归一化必须é€ä¼  `openingCg`;结果页和父层åŽç»­åŒæ­¥éƒ½åº”æŠŠå®ƒå½“ä½œå—æŽ§èµ„äº§æ§½ä½ï¼Œè€Œä¸æ˜¯ä¸´æ—¶ UI 状æ€ã€‚ +- 验è¯ï¼š`npm run test -- src/data/customWorldLibrary.test.ts src/components/CustomWorldResultView.test.tsx`,确认生æˆåŽå³ä½¿çˆ¶å±‚åšä¸€æ¬¡å½’一化回写,开局 CG ä»ç»§ç»­æ˜¾ç¤ºã€‚ +- å…³è”:`src/data/customWorldLibrary.ts`ã€`src/components/rpg-creation-result/RpgCreationResultViewImpl.tsx`ã€`src/components/CustomWorldEntityCatalog.tsx`。 + ## 本地脚本调 VectorEngine 生图å¡ä½å…ˆåŒºåˆ† fetch 首部超时 - 现象:用 Node `fetch` 直接请求 `POST /v1/images/generations`,已ç»è®¾ç½®è¾ƒé•¿çš„ AbortController 超时,但ä»åœ¨çº¦ 180 到 300 ç§’åŽæŠ› `AbortError`ã€`TypeError: fetch failed` 或 `UND_ERR_HEADERS_TIMEOUT`ï¼›åŒä¸€ prompt 改用原生 `https.request` å¯ä»¥åœ¨è¾ƒçŸ­æ—¶é—´å†…æˆåŠŸè¿”å›žå›¾ç‰‡ã€‚ diff --git a/docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md b/docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md index 125fd0d0..0986e5db 100644 --- a/docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md +++ b/docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md @@ -325,6 +325,7 @@ npm run check:server-rs-ddd - Rust 结构体:`CustomWorldAgentSession` - æºç ï¼š`server-rs/crates/spacetime-module/src/custom_world.rs` +- å‘布约æŸï¼š`publish_world` çš„ action payload ä¸è¦æ±‚æºå¸¦ `settingText`ï¼›`spacetime-module` 调用 `module-custom-world::resolve_custom_world_publish_setting_text(...)`ï¼Œä¼˜å…ˆä»Žå½“å‰ `draft_profile_json` è‰ç¨¿çœŸç›¸æ´¾ç”Ÿæ­£å¼ `setting_text`,é¿å…æ—§ä¼šè¯ `seed_text` 为空时在最终 compile / publish é˜¶æ®µè§¦å‘ `custom_world.setting_text ä¸èƒ½ä¸ºç©º`。 ### `custom_world_draft_card` @@ -597,6 +598,10 @@ npm run check:server-rs-ddd `GET /api/creation-entry/config` 和入å£ç†”断优先从订阅 cache 读å–创作入å£é…置;cache 缺失时使用最近一次æˆåŠŸè¯»å–的内存快照,å†å…œåº•调用 `get_creation_entry_config` procedure 完æˆç©ºåº“ç§å­æˆ–旧库兼容。 +RPG 创作入å£çš„é…ç½® ID 是 `rpg`ï¼Œå½“å‰ `visible=true`ã€`open=true`ï¼›åŽ†å² `custom-world` è·¯ç”±ä»æ˜¯ RPG 的工程域与è¿è¡Œæ€æºç±»åž‹ã€‚å…¥å£ç†”断把 `/api/runtime/custom-world*`ã€`/api/story/*` å’Œ `/api/runtime/chat/*` 统一映射到 `rpg`,ä¸è¦æ–°å¢žå¹³è¡Œ `airp` 路由或用 `airp` æŽ¥ç®¡å½“å‰æ–‡å­—冒险链路。 + +结构化创作和 RPG çš„ LLM JSON 链路默认ä¸å¯ç”¨ Responses `web_search`ï¼›åªæœ‰åœ¨æ˜Žç¡®éœ€è¦è”网增强时,æ‰é€šè¿‡ `GENARRATIVE_RPG_LLM_WEB_SEARCH_ENABLED` 或 `GENARRATIVE_CREATION_AGENT_LLM_WEB_SEARCH_ENABLED` æ˜¾å¼æ‰“开。å¦åˆ™æœªå¼€é€šå·¥å…·çš„上游会先å自然语言å†è¿”回 `ToolNotOpen`ï¼Œè¿™ç±»å¤±è´¥è¦æŒ‰ä¸Šæ¸¸å·¥å…·ä¸å¯ç”¨å¤„ç†ï¼Œä¸è¦è¯¯åˆ¤æˆæ¨¡åž‹è¿”回结果解æžå¤±è´¥ã€‚ + 未æ¥å¯é€‰ï¼šè‹¥å‘çŽ°é¡µã€æŽ¨èæµå’Œå„玩法广场需è¦ç»Ÿä¸€ç»™æµè§ˆå™¨å‰ç«¯ç›´æŽ¥è®¢é˜…公开作å“åˆ—è¡¨ï¼Œåªæ–°å¢ž / 统一专用 public read model,例如 `public_work_gallery_entry`。该 read model 必须是åŽç«¯æŠ•å½±åŽçš„公开作å“å¡ç‰‡å¥‘约,覆盖作å“类型ã€å…¬å¼€ä½œå“å·ã€æ ‡é¢˜ã€æ‘˜è¦ã€å°é¢ã€ä½œè€…展示åã€æŽ’åºé”®ã€å…¬å¼€ç»Ÿè®¡å’Œå…¥å£å¼€å…³åŽçš„å¯è§æ€§ï¼Œä¸æš´éœ²çŽ©æ³•é¢†åŸŸæºè¡¨ row shape。å‰ç«¯å¯é€‰æ‹©è®¢é˜…这个稳定投影æ¥å‡å°‘ HTTP 拉å–,但ä¸èƒ½è®¢é˜… `puzzle_work_profile`ã€`custom_world_profile` ç­‰æºè¡¨åŽè‡ªè¡Œæ‹¼è£…列表;BFF ä»ä¿ç•™é¦–å±ã€SEO / åˆ†äº«ã€æ—§å®¢æˆ·ç«¯ã€è®¢é˜…失败和ç°åº¦æœŸé—´çš„ HTTP fallback。 ### `quest_log` diff --git a/docs/ã€å¼€å‘è¿ç»´ã€‘本地开å‘验è¯ä¸Žç”Ÿäº§è¿ç»´-2026-05-15.md b/docs/ã€å¼€å‘è¿ç»´ã€‘本地开å‘验è¯ä¸Žç”Ÿäº§è¿ç»´-2026-05-15.md index 42527230..460c1338 100644 --- a/docs/ã€å¼€å‘è¿ç»´ã€‘本地开å‘验è¯ä¸Žç”Ÿäº§è¿ç»´-2026-05-15.md +++ b/docs/ã€å¼€å‘è¿ç»´ã€‘本地开å‘验è¯ä¸Žç”Ÿäº§è¿ç»´-2026-05-15.md @@ -45,6 +45,8 @@ npm run dev:api-server åŽç«¯æ—¥å¿—默认写入 `logs/api-server/`。åŽç«¯ API smoke 使用 `npm run dev:api-server` 并检查 `/healthz`ï¼›ä¸è¦ä½¿ç”¨æ—§ `api-server:maincloud` 或任何 `GENARRATIVE_SPACETIME_MAINCLOUD_*` å£å¾„。 +本地 `.env`ã€`.env.local` 或 `.env.secrets.local` 修改åŽå¿…é¡»é‡å¯ `api-server` æ‰ä¼šç”Ÿæ•ˆï¼›è‹¥å·²ç»é€šè¿‡ `npm run dev` å¯åŠ¨å®Œæ•´è”调,å¯åœ¨è¯¥ç»ˆç«¯è¾“å…¥ `rs api-server`。排查 RPG / 拼图 / 抓大鹅等 VectorEngine 生图链路时,确认 `VECTOR_ENGINE_BASE_URL`ã€`VECTOR_ENGINE_API_KEY` å’Œ `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS` åªåœ¨æœ¬åœ°æˆ–æœåŠ¡å™¨å¯†é’¥æ–‡ä»¶ä¸­é…置,ä¸èƒ½å†™å…¥ Git。开局 CG 故事æ¿ã€é¦–图ã€èƒŒæ™¯å’Œå›¾é›†éƒ½å±žäºŽé•¿è€—时图片请求;åŽç«¯é»˜è®¤ä¼šæŠŠ `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS` 䏋陿”¶å£åˆ° `1000000`,旧进程ä»å¯èƒ½æ²¿ç”¨é‡å¯å‰çš„短超时。若开局 CG 故事æ¿åœ¨ `send()` 阶段失败且日志显示 `SendRequest`,先看åŒä¸€ request_id çš„ `request_body_bytes`ã€`reference_data_url_bytes`ã€`sourceChain` å’Œ `rootSource`;当å‰å¼€å±€ CG 会把角色图与首幕背景图压到å•è¾¹ 768 çš„ JPEG åŽå†ä½œä¸º generations `image` 数组å‘é€ï¼Œ`/v1/images/generations` 使用默认 HTTP åå•†ï¼Œåªæœ‰ multipart `/v1/images/edits` å•独强制 HTTP/1.1。 + 查看本地 Rust / SpacetimeDB 日志: ```bash @@ -213,6 +215,8 @@ OpenTelemetry çŽ°é˜¶æ®µé»˜è®¤å¼€å¯ OTLP traces / metrics / logs,但本地日 - `WECHAT_*` - `ALIYUN_OSS_*` +结构化创作 / RPG çš„ Responses JSON é“¾è·¯é»˜è®¤ä¸æ‰“å¼€ `web_search`;本地和生产如需è”网增强,必须显å¼é…ç½® `GENARRATIVE_RPG_LLM_WEB_SEARCH_ENABLED=true` 或 `GENARRATIVE_CREATION_AGENT_LLM_WEB_SEARCH_ENABLED=true`。如果上游未开通工具,Responses å¯èƒ½å…ˆå自然语言å†è¿”回 `ToolNotOpen`,这类报错应按工具ä¸å¯ç”¨æŽ’查,ä¸è¦å…ˆå½“æˆ JSON è§£æž bug。 + ### 手机验è¯ç çŸ­ä¿¡ 手机验è¯ç å‘é€èµ°é˜¿é‡Œäº‘普通短信 `SendSms`,验è¯ç ç”± `module-auth` åœ¨å½“å‰ `api-server` 进程内生æˆã€å“ˆå¸Œå­˜å‚¨å’Œæ ¡éªŒï¼Œä¸å†è°ƒç”¨é˜¿é‡Œäº‘托管验è¯ç çš„ `SendSmsVerifyCode` / `CheckSmsVerifyCode`。因此 `api-server` é‡å¯åŽï¼Œå·²å‘é€ä½†æœªæ ¡éªŒçš„验è¯ç ä¼šå¤±æ•ˆã€‚ diff --git a/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md b/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md index f078760e..eb07fc54 100644 --- a/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md +++ b/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md @@ -34,6 +34,24 @@ 6. 点击 `generationStatus=generating` çš„è‰ç¨¿å¡å¿…é¡»æ¢å¤å¯¹åº”玩法的生æˆè¿›åº¦é¡µï¼Œä¸èƒ½è¿›å…¥ç©ºç™½ç»“果页或普通工作区;æ¢å¤ç”Ÿæˆé¡µçš„ `startedAtMs` ä½¿ç”¨ä½œå“æ‘˜è¦ `updatedAt` 推导。 7. ç§æœ‰ generated 图片必须通过 `ResolvedAssetImage` / `/api/assets/read-url` æ¢ç­¾è¯»å–。 +## RPG / 自定义世界 + +å½“å‰ RPG 创作入å£ä½¿ç”¨ `playId = rpg`,工程域和è¿è¡Œæ€æºç±»åž‹æ²¿ç”¨åŽ†å² `custom-world`。默认入å£çжæ€ä¸º `visible=true`ã€`open=true`,对外展示为“文字冒险â€ï¼›`airp` 仿˜¯ç‹¬ç«‹çš„“AI RPGâ€å ä½å…¥å£ï¼Œä¿æŒ `open=false`,ä¸è¦æŠŠå®ƒå½“ä½œå½“å‰ RPG 创作链路开放。 + +当å‰é“¾è·¯ä¸ºï¼š + +```text +åˆ›ä½œå…¥å£ -> RPG Agent å…±åˆ›å·¥ä½œå° -> 生æˆè¿‡ç¨‹é¡µ -> 结果页 -> 进入世界/试玩 -> å‘布 -> RPG è¿è¡Œæ€ +``` + +RPG æ˜¯åŽ†å²æ—¢æœ‰é“¾è·¯ä¾‹å¤–:当å‰ä»ä½¿ç”¨å¯¹è¯å¼ Agent 共创工作å°å’Œ RPG 资产编辑器体系,ä¸ä½œä¸ºæ–°å¢žçŽ©æ³•é»˜è®¤æ¨¡æ¿å¤åˆ¶ã€‚新增玩法继续éµå¾ªæœ¬æ–‡é»˜è®¤çš„表å•/图片输入工作å°ã€`CreativeImageInputPanel` å•图槽ä½å’Œé€šç”¨ç³»åˆ—ç´ æå›¾é›†ç”Ÿæˆæµç¨‹ï¼›å¦‚æžœè¦æŠŠ RPG 逿­¥è¿å›žé»˜è®¤æ¨¡å¼ï¼Œåº”先补 PRD å’Œè¿ç§»æ–¹æ¡ˆï¼Œå†æ”¹ä»£ç ã€‚ + +RPG API 仿²¿ç”¨åކå²å‘½å空间:`/api/runtime/custom-world*`ã€`/api/story/*`ã€`/api/runtime/chat/*`。这些路由在 `api-server` å…¥å£ç†”断中统一映射到 `rpg`ï¼ŒåªæŒ‰ `open` 判断是å¦å…许调用;`visible` åªæŽ§åˆ¶åˆ›ä½œé¡µå…¥å£å±•ç¤ºå’Œä½œå“æž¶å¯è§æ€§ã€‚ + +RPG Agent 结果页å‘布动作的å‰ç«¯å¥‘约åªä¿è¯æäº¤ `{ action: 'publish_world' }`ï¼›åŽç«¯å‘å¸ƒæ—¶ä»¥å½“å‰ `custom_world_agent_session.draft_profile_json` 为è‰ç¨¿çœŸç›¸ï¼Œä»Ž `settingText`ã€`creatorIntent.rawSettingText`ã€`creatorIntent.worldHook`ã€`worldHook`ã€`anchorContent.worldPromise(.hook)`ã€`summary`ã€`name/title` 便¬¡æ´¾ç”Ÿæ­£å¼ `setting_text`ï¼Œæœ€åŽæ‰å›žé€€ `seed_text`。ä¸è¦æŠŠ `seed_text` å½“ä½œå”¯ä¸€è®¾å®šæ¥æºï¼Œæ—§ä¼šè¯å¯èƒ½ä¸ºç©ºã€‚ + +RPG 结果页开局 CG 是 `profile.openingCg` 资产槽ä½ï¼š`api-server` è´Ÿè´£ VectorEngine / OSS 副作用并返回故事æ¿å’Œè§†é¢‘引用,å‰ç«¯åªæŠŠç»“æžœå†™å›žå½“å‰ profileï¼›`sync_result_profile`ã€ä½œå“库ä¿å­˜å’Œ `normalizeCustomWorldProfileRecord` 都必须ä¿ç•™è¯¥æ§½ä½ã€‚è‹¥ç”ŸæˆæˆåŠŸåŽç”»é¢çŸ­æš‚显示åˆå˜å›žç©ºç™½ï¼Œä¼˜å…ˆæ£€æŸ¥çˆ¶å±‚釿–°åŒæ­¥æˆ– profile å½’ä¸€åŒ–æ˜¯å¦æŠŠ `openingCg` ä¸¢æŽ‰ï¼Œè€Œä¸æ˜¯å…ˆæ€€ç–‘已生æˆèµ„æºæœ¬èº«å¤±æ•ˆã€‚ + ## 拼图 当剿‹¼å›¾é“¾è·¯ï¼š diff --git a/server-rs/crates/api-server/src/app.rs b/server-rs/crates/api-server/src/app.rs index d540f418..6560dd05 100644 --- a/server-rs/crates/api-server/src/app.rs +++ b/server-rs/crates/api-server/src/app.rs @@ -619,6 +619,31 @@ mod tests { assert_eq!(body["error"]["details"]["creationTypeId"], "visual-novel"); } + #[tokio::test] + async fn disabled_rpg_route_returns_service_unavailable() { + let state = AppState::new(AppConfig::default()).expect("state should build"); + state.set_test_creation_entry_route_enabled("rpg", false); + let app = build_router(state); + + let response = app + .oneshot( + Request::builder() + .uri("/api/runtime/custom-world/agent/sessions") + .body(Body::empty()) + .expect("request should build"), + ) + .await + .expect("request should succeed"); + + assert_eq!(response.status(), StatusCode::SERVICE_UNAVAILABLE); + let body = read_json_response(response).await; + assert_eq!( + body["error"]["details"]["reason"], + "creation_entry_disabled" + ); + assert_eq!(body["error"]["details"]["creationTypeId"], "rpg"); + } + #[tokio::test] async fn healthz_returns_standard_envelope_when_requested() { let app = build_router(AppState::new(AppConfig::default()).expect("state should build")); diff --git a/server-rs/crates/api-server/src/config.rs b/server-rs/crates/api-server/src/config.rs index 0398c948..079f7b5a 100644 --- a/server-rs/crates/api-server/src/config.rs +++ b/server-rs/crates/api-server/src/config.rs @@ -260,8 +260,11 @@ impl Default for AppConfig { llm_request_timeout_ms: DEFAULT_REQUEST_TIMEOUT_MS, llm_max_retries: DEFAULT_MAX_RETRIES, llm_retry_backoff_ms: DEFAULT_RETRY_BACKOFF_MS, - rpg_llm_web_search_enabled: true, - creation_agent_llm_web_search_enabled: true, + // 中文注释:创作/RPG 的结构化 JSON 链路默认ä¸å¯ç”¨ Responses web_search。 + // 未开通工具的上游会先å自然语言å†è¿”回 ToolNotOpen,容易污染严格 JSON 结果; + // 需è¦è”ç½‘å¢žå¼ºæ—¶ç”±éƒ¨ç½²çŽ¯å¢ƒæ˜¾å¼æ‰“开对应开关。 + rpg_llm_web_search_enabled: false, + creation_agent_llm_web_search_enabled: false, dashscope_base_url: "https://dashscope.aliyuncs.com/api/v1".to_string(), dashscope_api_key: None, dashscope_scene_image_model: String::new(), @@ -1467,6 +1470,14 @@ mod tests { } } + #[test] + fn default_keeps_structured_llm_web_search_disabled() { + let config = AppConfig::default(); + + assert!(!config.rpg_llm_web_search_enabled); + assert!(!config.creation_agent_llm_web_search_enabled); + } + #[test] fn from_env_reads_rpg_llm_web_search_switch() { let _guard = ENV_LOCK @@ -1476,11 +1487,11 @@ mod tests { unsafe { std::env::remove_var("GENARRATIVE_RPG_LLM_WEB_SEARCH_ENABLED"); - std::env::set_var("GENARRATIVE_RPG_LLM_WEB_SEARCH_ENABLED", "false"); + std::env::set_var("GENARRATIVE_RPG_LLM_WEB_SEARCH_ENABLED", "true"); } let config = AppConfig::from_env(); - assert!(!config.rpg_llm_web_search_enabled); + assert!(config.rpg_llm_web_search_enabled); unsafe { std::env::remove_var("GENARRATIVE_RPG_LLM_WEB_SEARCH_ENABLED"); @@ -1496,11 +1507,11 @@ mod tests { unsafe { std::env::remove_var("GENARRATIVE_CREATION_AGENT_LLM_WEB_SEARCH_ENABLED"); - std::env::set_var("GENARRATIVE_CREATION_AGENT_LLM_WEB_SEARCH_ENABLED", "false"); + std::env::set_var("GENARRATIVE_CREATION_AGENT_LLM_WEB_SEARCH_ENABLED", "true"); } let config = AppConfig::from_env(); - assert!(!config.creation_agent_llm_web_search_enabled); + assert!(config.creation_agent_llm_web_search_enabled); unsafe { std::env::remove_var("GENARRATIVE_CREATION_AGENT_LLM_WEB_SEARCH_ENABLED"); diff --git a/server-rs/crates/api-server/src/creation_agent_llm_turn.rs b/server-rs/crates/api-server/src/creation_agent_llm_turn.rs index 3a2cf825..86bbfa93 100644 --- a/server-rs/crates/api-server/src/creation_agent_llm_turn.rs +++ b/server-rs/crates/api-server/src/creation_agent_llm_turn.rs @@ -93,15 +93,74 @@ where F: FnMut(&str), { let mut latest_reply_text = String::new(); + let turn_output = match request_stream_creation_agent_json_turn_once( + llm_client, + system_prompt.clone(), + user_prompt.clone(), + enable_web_search, + on_reply_update, + &mut latest_reply_text, + !enable_web_search, + ) + .await + { + Ok(turn_output) => turn_output, + Err(CreationAgentJsonTurnFailure::Stream(error)) + if enable_web_search && is_web_search_tool_unavailable(&error) => + { + tracing::warn!( + error = %error, + "创作 Agent æµå¼è”网æœç´¢æ’ä»¶ä¸å¯ç”¨ï¼Œè‡ªåЍé™çº§ä¸ºæ— è”网æœç´¢é‡è¯•" + ); + latest_reply_text.clear(); + request_stream_creation_agent_json_turn_once( + llm_client, + system_prompt, + user_prompt, + false, + on_reply_update, + &mut latest_reply_text, + true, + ) + .await? + } + Err(error) => return Err(error), + }; + + let reply_text = read_reply_text(&turn_output.parsed); + if let Some(reply_text) = reply_text.as_deref() + && reply_text != latest_reply_text + { + on_reply_update(reply_text); + } + + Ok(turn_output) +} + +async fn request_stream_creation_agent_json_turn_once( + llm_client: &LlmClient, + system_prompt: String, + user_prompt: String, + enable_web_search: bool, + on_reply_update: &mut F, + latest_reply_text: &mut String, + emit_reply_updates: bool, +) -> Result +where + F: FnMut(&str), +{ let response = llm_client .stream_text( build_creation_agent_llm_request(system_prompt, user_prompt, enable_web_search), |delta: &LlmStreamDelta| { + if !emit_reply_updates { + return; + } if let Some(reply_progress) = extract_reply_text_from_partial_json(delta.accumulated_text.as_str()) - && reply_progress != latest_reply_text + && reply_progress != *latest_reply_text { - latest_reply_text = reply_progress.clone(); + *latest_reply_text = reply_progress.clone(); on_reply_update(reply_progress.as_str()); } }, @@ -110,12 +169,6 @@ where .map_err(CreationAgentJsonTurnFailure::Stream)?; let parsed = parse_json_response_text(response.content.as_str()) .map_err(|_| CreationAgentJsonTurnFailure::Parse)?; - let reply_text = read_reply_text(&parsed); - if let Some(reply_text) = reply_text.as_deref() - && reply_text != latest_reply_text - { - on_reply_update(reply_text); - } Ok(CreationAgentJsonTurnOutput { parsed }) } @@ -327,6 +380,7 @@ mod tests { let server = spawn_capturing_mock_server(vec![ MockResponse { body: concat!( + "data: {\"type\":\"response.output_text.delta\",\"delta\":\"我需è¦å…ˆæœç´¢çŽ©å…·çŽ‹å›½èµ„æ–™ã€‚\"}\n\n", "data: {\"type\":\"error\",\"code\":\"ToolNotOpen\",\"message\":\"Your account has not activated web search.\"}\n\n", "data: [DONE]\n\n" ) @@ -391,6 +445,55 @@ mod tests { } } + #[tokio::test] + async fn stream_turn_keeps_partial_updates_when_web_search_is_disabled() { + let server = spawn_capturing_mock_server(vec![MockResponse { + body: concat!( + "data: {\"type\":\"response.output_text.delta\",\"delta\":\"{\\\"replyText\\\":\\\"我先\"}\n\n", + "data: {\"type\":\"response.output_text.delta\",\"delta\":\"把玩具王国定ä½ã€‚\\\",\\\"progressPercent\\\":12}\"}\n\n", + "data: {\"type\":\"response.completed\"}\n\n", + ) + .to_string(), + }]); + let config = LlmConfig::new( + LlmProvider::Ark, + server.base_url, + "test-key".to_string(), + "test-model".to_string(), + 30_000, + 0, + 1, + ) + .expect("LLM config should build"); + let llm_client = platform_llm::LlmClient::new(config).expect("LLM client should build"); + let mut visible_replies = Vec::new(); + + let output = stream_creation_agent_json_turn( + Some(&llm_client), + "系统æç¤º".to_string(), + "用户æç¤º", + false, + CreationAgentLlmTurnErrorMessages { + model_unavailable: "模型ä¸å¯ç”¨", + generation_failed: "生æˆå¤±è´¥", + parse_failed: "è§£æžå¤±è´¥", + }, + |text| visible_replies.push(text.to_string()), + |message| message, + ) + .await + .expect("stream without web search should succeed"); + + assert_eq!( + output.parsed["replyText"].as_str(), + Some("我先把玩具王国定ä½ã€‚") + ); + assert_eq!( + visible_replies, + vec!["我先".to_string(), "我先把玩具王国定ä½ã€‚".to_string()] + ); + } + struct MockResponse { body: String, } diff --git a/server-rs/crates/api-server/src/creation_entry_config.rs b/server-rs/crates/api-server/src/creation_entry_config.rs index c470beba..24e471d4 100644 --- a/server-rs/crates/api-server/src/creation_entry_config.rs +++ b/server-rs/crates/api-server/src/creation_entry_config.rs @@ -96,6 +96,14 @@ pub fn resolve_creation_entry_route_id(path: &str) -> Option<&'static str> { if normalized.starts_with("/api/runtime/big-fish") { return Some("big-fish"); } + if normalized.starts_with("/api/runtime/custom-world") + || normalized.starts_with("/api/runtime/custom-world-library") + || normalized.starts_with("/api/runtime/custom-world-gallery") + || normalized.starts_with("/api/runtime/chat") + || normalized.starts_with("/api/story") + { + return Some("rpg"); + } if normalized.starts_with("/api/runtime/visual-novel") { return Some("visual-novel"); } @@ -161,6 +169,26 @@ mod tests { resolve_creation_entry_route_id("/api/creation/visual-novel/sessions"), Some("visual-novel"), ); + assert_eq!( + resolve_creation_entry_route_id("/api/runtime/custom-world/agent/sessions"), + Some("rpg"), + ); + assert_eq!( + resolve_creation_entry_route_id("/api/runtime/custom-world-library/profile-1"), + Some("rpg"), + ); + assert_eq!( + resolve_creation_entry_route_id("/api/runtime/custom-world-gallery/user-1/profile-1"), + Some("rpg"), + ); + assert_eq!( + resolve_creation_entry_route_id("/api/story/sessions/runtime"), + Some("rpg"), + ); + assert_eq!( + resolve_creation_entry_route_id("/api/runtime/chat/npc/turn/stream"), + Some("rpg"), + ); assert_eq!( resolve_creation_entry_route_id("/api/runtime/bark-battle/works/work-1/config"), Some("bark-battle"), diff --git a/server-rs/crates/api-server/src/custom_world_ai.rs b/server-rs/crates/api-server/src/custom_world_ai.rs index 12280439..649999dd 100644 --- a/server-rs/crates/api-server/src/custom_world_ai.rs +++ b/server-rs/crates/api-server/src/custom_world_ai.rs @@ -10,7 +10,9 @@ use axum::{ response::Response, }; use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64_STANDARD}; -use image::{DynamicImage, GenericImageView, imageops::FilterType}; +use image::{ + DynamicImage, GenericImageView, ImageFormat, codecs::jpeg::JpegEncoder, imageops::FilterType, +}; use module_assets::{ AssetObjectAccessPolicy, AssetObjectFieldError, build_asset_entity_binding_input, build_asset_object_upsert_input, generate_asset_binding_id, generate_asset_object_id, @@ -375,6 +377,8 @@ const OPENING_CG_ENTITY_KIND: &str = "custom_world_profile"; const OPENING_CG_STORYBOARD_SLOT: &str = "opening_cg_storyboard"; const OPENING_CG_VIDEO_SLOT: &str = "opening_cg_video"; const ARK_VIDEO_TASK_POLL_INTERVAL_MS: u64 = 5_000; +const OPENING_CG_REFERENCE_MAX_EDGE: u32 = 768; +const OPENING_CG_REFERENCE_JPEG_QUALITY: u8 = 82; struct CoverPromptContext { opening_act_title: String, @@ -1025,6 +1029,16 @@ pub async fn generate_custom_world_opening_cg( "openingSceneImageSrc", ) .await?; + let player_role_reference = resize_image_reference_data_url( + player_role_reference, + OPENING_CG_REFERENCE_MAX_EDGE, + OPENING_CG_REFERENCE_JPEG_QUALITY, + )?; + let opening_scene_reference = resize_image_reference_data_url( + opening_scene_reference, + OPENING_CG_REFERENCE_MAX_EDGE, + OPENING_CG_REFERENCE_JPEG_QUALITY, + )?; let storyboard = generate_opening_cg_storyboard( &state, &owner_user_id, @@ -1617,6 +1631,52 @@ async fn resolve_reference_image_as_data_url( )) } +fn resize_image_reference_data_url( + data_url: String, + max_edge: u32, + jpeg_quality: u8, +) -> Result { + if max_edge == 0 { + return Ok(data_url); + } + let Some(parsed) = parse_image_data_url(data_url.as_str()) else { + return Ok(data_url); + }; + let image = image::load_from_memory(parsed.bytes.as_slice()).map_err(|error| { + AppError::from_status(StatusCode::BAD_REQUEST).with_details(json!({ + "provider": "custom-world-ai", + "message": format!("无法解æžå‚考图:{error}"), + })) + })?; + let (width, height) = image.dimensions(); + let already_within_budget = width <= max_edge && height <= max_edge; + if already_within_budget && parsed.mime_type == "image/jpeg" { + return Ok(data_url); + } + + // 中文注释:开局 CG 故事æ¿ä¼šåŒæ—¶å¸¦è§’色和场景两张å‚è€ƒå›¾ï¼›å…ˆåŽ‹åˆ°è¾ƒå° JPEG,é¿å…大图 PNG Data URL 让 VectorEngine 网关在请求å‘é€é˜¶æ®µä¸­æ–­ã€‚ + let resized = if already_within_budget { + image + } else { + image.resize(max_edge, max_edge, FilterType::Triangle) + }; + let encoded_image = DynamicImage::ImageRgb8(resized.to_rgb8()); + let mut encoded = Vec::new(); + JpegEncoder::new_with_quality(&mut encoded, jpeg_quality) + .encode_image(&encoded_image) + .map_err(|error| { + AppError::from_status(StatusCode::INTERNAL_SERVER_ERROR).with_details(json!({ + "provider": "custom-world-ai", + "message": format!("压缩å‚考图失败:{error}"), + })) + })?; + + Ok(format!( + "data:image/jpeg;base64,{}", + BASE64_STANDARD.encode(encoded) + )) +} + async fn create_text_to_image_generation( http_client: &reqwest::Client, settings: &DashScopeSettings, @@ -3065,6 +3125,34 @@ mod tests { assert_eq!(parsed.bytes, b"hello".to_vec()); } + #[test] + fn opening_cg_reference_data_url_is_resized_to_request_budget() { + let image = DynamicImage::ImageRgb8(image::RgbImage::new(2048, 1152)); + let mut cursor = std::io::Cursor::new(Vec::new()); + image + .write_to(&mut cursor, ImageFormat::Png) + .expect("test image should encode"); + let data_url = format!( + "data:image/png;base64,{}", + BASE64_STANDARD.encode(cursor.into_inner()) + ); + + let resized = resize_image_reference_data_url( + data_url, + OPENING_CG_REFERENCE_MAX_EDGE, + OPENING_CG_REFERENCE_JPEG_QUALITY, + ) + .expect("reference should resize"); + let parsed = parse_image_data_url(resized.as_str()).expect("resized data url should parse"); + let resized_image = + image::load_from_memory(parsed.bytes.as_slice()).expect("resized image should decode"); + let (width, height) = resized_image.dimensions(); + + assert!(width <= OPENING_CG_REFERENCE_MAX_EDGE); + assert!(height <= OPENING_CG_REFERENCE_MAX_EDGE); + assert_eq!(parsed.mime_type, "image/jpeg"); + } + #[test] fn push_cover_reference_source_keeps_full_data_url() { let mut sources = Vec::new(); diff --git a/server-rs/crates/api-server/src/match3d.rs b/server-rs/crates/api-server/src/match3d.rs index 75f731b3..3a599422 100644 --- a/server-rs/crates/api-server/src/match3d.rs +++ b/server-rs/crates/api-server/src/match3d.rs @@ -109,9 +109,8 @@ const MATCH3D_WORK_METADATA_LLM_MODEL: &str = "gpt-4o"; const MATCH3D_ITEM_SIZE_LARGE: &str = "大"; const MATCH3D_ITEM_SIZE_MEDIUM: &str = "中"; const MATCH3D_ITEM_SIZE_SMALL: &str = "å°"; -const MATCH3D_CONTAINER_REFERENCE_IMAGE_BYTES: &[u8] = include_bytes!( - "../../../../public/match3d-background-references/pot-fused-reference.png" -); +const MATCH3D_CONTAINER_REFERENCE_IMAGE_BYTES: &[u8] = + include_bytes!("../../../../public/match3d-background-references/pot-fused-reference.png"); const MATCH3D_PUBLIC_REFERENCE_IMAGE_PATH_PREFIX: &str = "public/"; const MATCH3D_QUESTION_THEME: &str = "你想创作什么题æ"; const MATCH3D_QUESTION_CLEAR_COUNT: &str = "éœ€è¦æ¶ˆé™¤å¤šå°‘次æ‰èƒ½é€šå…³"; diff --git a/server-rs/crates/api-server/src/match3d/item_assets.rs b/server-rs/crates/api-server/src/match3d/item_assets.rs index 87f86542..51c270ed 100644 --- a/server-rs/crates/api-server/src/match3d/item_assets.rs +++ b/server-rs/crates/api-server/src/match3d/item_assets.rs @@ -1,12 +1,12 @@ use super::*; +#[cfg(test)] +use crate::generated_asset_sheets::crop_generated_asset_sheet_view_edge_matte; use crate::generated_asset_sheets::{ GeneratedAssetSheetPersistInput, GeneratedAssetSheetPersistPrompt, GeneratedAssetSheetPromptInput, GeneratedAssetSheetSliceImage, build_generated_asset_sheet_prompt, persist_generated_asset_sheet_bytes, slice_generated_asset_sheet, }; -#[cfg(test)] -use crate::generated_asset_sheets::crop_generated_asset_sheet_view_edge_matte; pub(super) async fn generate_match3d_item_assets( state: &AppState, diff --git a/server-rs/crates/api-server/src/match3d/tests.rs b/server-rs/crates/api-server/src/match3d/tests.rs index 04b93cbc..74417201 100644 --- a/server-rs/crates/api-server/src/match3d/tests.rs +++ b/server-rs/crates/api-server/src/match3d/tests.rs @@ -1164,7 +1164,9 @@ fn match3d_container_reference_image_is_embedded_for_api_only_deploy() { assert_eq!(reference.mime_type, "image/png"); assert_eq!(reference.file_name, "match3d-container-reference.png"); assert!( - reference.bytes.starts_with(&[137, 80, 78, 71, 13, 10, 26, 10]), + reference + .bytes + .starts_with(&[137, 80, 78, 71, 13, 10, 26, 10]), "container reference image should be PNG bytes" ); } diff --git a/server-rs/crates/api-server/src/openai_image_generation.rs b/server-rs/crates/api-server/src/openai_image_generation.rs index 55554701..11b754f6 100644 --- a/server-rs/crates/api-server/src/openai_image_generation.rs +++ b/server-rs/crates/api-server/src/openai_image_generation.rs @@ -1,4 +1,4 @@ -use std::time::Duration; +use std::{error::Error as _, time::Duration}; use axum::http::StatusCode; use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64_STANDARD}; @@ -82,8 +82,6 @@ pub(crate) fn build_openai_image_http_client( ) -> Result { reqwest::Client::builder() .timeout(Duration::from_millis(settings.request_timeout_ms)) - // 中文注释:åŒä¸€å®¢æˆ·ç«¯ä¹Ÿä¼šæ‰¿è½½ `/v1/images/edits` multipart 图生图请求,强制 HTTP/1.1 å¯é¿å¼€éƒ¨åˆ†ç½‘关对 HTTP/2 multipart æµçš„兼容问题。 - .http1_only() .build() .map_err(|error| { AppError::from_status(StatusCode::INTERNAL_SERVER_ERROR).with_details(json!({ @@ -110,21 +108,46 @@ pub(crate) async fn create_openai_image_generation( candidate_count, reference_images, ); + let request_body_bytes = serde_json::to_vec(&request_body).map_err(|error| { + map_openai_image_request_error(format!( + "{failure_context}:åºåˆ—化图片生æˆè¯·æ±‚失败:{error}" + )) + })?; + let normalized_size = request_body + .get("size") + .and_then(Value::as_str) + .unwrap_or(size); + let reference_lengths = summarize_reference_data_url_lengths(reference_images); + let request_url = vector_engine_images_generation_url(settings); + tracing::info!( + provider = VECTOR_ENGINE_PROVIDER, + endpoint = %request_url, + model = VECTOR_ENGINE_GPT_IMAGE_2_MODEL, + prompt_chars = prompt.chars().count(), + size = normalized_size, + candidate_count = candidate_count.clamp(1, 4), + reference_count = reference_images.len(), + reference_data_url_bytes = %reference_lengths, + request_body_bytes = request_body_bytes.len(), + "VectorEngine 图片生æˆè¯·æ±‚已准备" + ); let response = http_client - .post(vector_engine_images_generation_url(settings)) + .post(request_url.as_str()) .header( header::AUTHORIZATION, format!("Bearer {}", settings.api_key), ) .header(header::ACCEPT, "application/json") .header(header::CONTENT_TYPE, "application/json") - .json(&request_body) + .body(request_body_bytes) .send() .await .map_err(|error| { - map_openai_image_request_error(format!( - "{failure_context}:创建图片生æˆä»»åŠ¡å¤±è´¥ï¼š{error}" - )) + map_openai_image_reqwest_error( + format!("{failure_context}:创建图片生æˆä»»åŠ¡å¤±è´¥").as_str(), + request_url.as_str(), + error, + ) })?; let response_status = response.status(); let response_text = response.text().await.map_err(|error| { @@ -191,8 +214,11 @@ pub(crate) async fn create_openai_image_edit( ) .text("n", "1") .text("size", normalize_image_size(size)); - let response = http_client - .post(vector_engine_images_edit_url(settings).as_str()) + let request_url = vector_engine_images_edit_url(settings); + // 中文注释:åªå¯¹ multipart `/v1/images/edits` å•独强制 HTTP/1.1;大 JSON generations ä¿æŒé»˜è®¤å商,é¿å… HTTP/1.1 网关在å‘é€å¤§è¯·æ±‚体时中断连接。 + let edit_http_client = build_openai_image_edit_http_client(settings)?; + let response = edit_http_client + .post(request_url.as_str()) .header( header::AUTHORIZATION, format!("Bearer {}", settings.api_key), @@ -202,9 +228,11 @@ pub(crate) async fn create_openai_image_edit( .send() .await .map_err(|error| { - map_openai_image_request_error(format!( - "{failure_context}:创建图片编辑任务失败:{error}" - )) + map_openai_image_reqwest_error( + format!("{failure_context}:创建图片编辑任务失败").as_str(), + request_url.as_str(), + error, + ) })?; let response_status = response.status(); let response_text = response.text().await.map_err(|error| { @@ -242,6 +270,21 @@ pub(crate) async fn create_openai_image_edit( ) } +fn build_openai_image_edit_http_client( + settings: &OpenAiImageSettings, +) -> Result { + reqwest::Client::builder() + .timeout(Duration::from_millis(settings.request_timeout_ms)) + .http1_only() + .build() + .map_err(|error| { + AppError::from_status(StatusCode::INTERNAL_SERVER_ERROR).with_details(json!({ + "provider": VECTOR_ENGINE_PROVIDER, + "message": format!("构造 VectorEngine 图片编辑 HTTP 客户端失败:{error}"), + })) + }) +} + pub(crate) fn build_openai_image_request_body( prompt: &str, negative_prompt: Option<&str>, @@ -402,6 +445,130 @@ fn map_openai_image_request_error(message: String) -> AppError { })) } +fn map_openai_image_reqwest_error( + context: &str, + request_url: &str, + error: reqwest::Error, +) -> AppError { + let message = format!( + "{context}:{}", + normalize_openai_reqwest_error_message(&error) + ); + let source_chain = reqwest_error_source_chain(&error); + let root_source = source_chain.last().cloned().unwrap_or_default(); + let source_chain_text = source_chain.join(" | "); + let is_timeout = error.is_timeout() + || is_openai_image_timeout_message(message.as_str()) + || is_openai_image_timeout_message(source_chain_text.as_str()); + let is_connect = error.is_connect(); + let status = if is_timeout { + StatusCode::GATEWAY_TIMEOUT + } else { + StatusCode::BAD_GATEWAY + }; + let source = source_chain.first().cloned().unwrap_or_default(); + let reason = resolve_openai_image_request_failure_reason(&error, source_chain.as_slice()); + + tracing::warn!( + provider = VECTOR_ENGINE_PROVIDER, + endpoint = %request_url, + timeout = is_timeout, + connect = is_connect, + request = error.is_request(), + body = error.is_body(), + source = %source, + root_source = %root_source, + source_chain = ?source_chain, + message = %message, + "VectorEngine 图片请求å‘é€å¤±è´¥" + ); + + AppError::from_status(status).with_details(json!({ + "provider": VECTOR_ENGINE_PROVIDER, + "message": message, + "reason": reason, + "endpoint": request_url, + "timeout": is_timeout, + "connect": is_connect, + "request": error.is_request(), + "body": error.is_body(), + "source": source, + "rootSource": root_source, + "sourceChain": source_chain, + })) +} + +fn normalize_openai_reqwest_error_message(error: &reqwest::Error) -> String { + error + .to_string() + .split_whitespace() + .collect::>() + .join(" ") +} + +fn reqwest_error_source_chain(error: &reqwest::Error) -> Vec { + let mut chain = Vec::new(); + let mut current = error.source(); + while let Some(source) = current { + chain.push(source.to_string()); + current = source.source(); + if chain.len() >= 8 { + break; + } + } + chain +} + +fn resolve_openai_image_request_failure_reason( + error: &reqwest::Error, + source_chain: &[String], +) -> &'static str { + let combined = std::iter::once(error.to_string()) + .chain(source_chain.iter().cloned()) + .collect::>() + .join(" | "); + if error.is_timeout() || is_openai_image_timeout_message(combined.as_str()) { + return "VectorEngine 图片生æˆè¯·æ±‚超时,请ç¨åŽé‡è¯•;如果多次å¤çŽ°ï¼Œæ£€æŸ¥ä¸Šæ¸¸è€—æ—¶å¹¶è°ƒå¤§ VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS"; + } + if error.is_connect() { + return "无法连接 VectorEngine å›¾ç‰‡ç”ŸæˆæŽ¥å£ï¼Œè¯·æ£€æŸ¥æœåŠ¡å™¨ç½‘ç»œã€DNSã€é˜²ç«å¢™æˆ–代ç†é…ç½®"; + } + if error.is_body() { + return "å‘é€ VectorEngine 图片生æˆè¯·æ±‚体失败,请é‡è¯•并检查å‚考图大å°"; + } + if is_openai_image_send_request_interrupted(combined.as_str()) { + return "VectorEngine 在接收图片生æˆè¯·æ±‚时中断连接;请é‡è¯•,若æŒç»­å¤çŽ°ä¼˜å…ˆæ£€æŸ¥å‚考图体积ã€ä¸Šæ¸¸ç½‘关和 HTTP å议兼容"; + } + "VectorEngine 图片生æˆè¯·æ±‚å‘é€å¤±è´¥ï¼Œè¯·æŸ¥çœ‹ source 字段中的底层网络错误" +} + +fn is_openai_image_send_request_interrupted(message: &str) -> bool { + let lower = message.to_ascii_lowercase(); + lower.contains("sendrequest") + || lower.contains("connection closed") + || lower.contains("connection reset") + || lower.contains("broken pipe") + || lower.contains("unexpected eof") + || lower.contains("stream error") + || lower.contains("body write aborted") +} + +fn is_openai_image_timeout_message(message: &str) -> bool { + let lower = message.to_ascii_lowercase(); + lower.contains("timed out") + || lower.contains("timeout") + || lower.contains("operation timed out") + || lower.contains("deadline has elapsed") +} + +fn summarize_reference_data_url_lengths(reference_images: &[String]) -> String { + reference_images + .iter() + .map(|value| value.len().to_string()) + .collect::>() + .join(",") +} + fn map_openai_image_upstream_error( upstream_status: u16, raw_text: &str, @@ -646,6 +813,27 @@ mod tests { ); } + #[test] + fn vector_engine_reqwest_error_exposes_actionable_reason() { + let error = match reqwest::Client::new().get("http://[::1").build() { + Ok(_) => panic!("invalid url should fail request build"), + Err(error) => error, + }; + let app_error = map_openai_image_reqwest_error( + "开局 CG 故事æ¿ç”Ÿæˆå¤±è´¥ï¼šåˆ›å»ºå›¾ç‰‡ç”Ÿæˆä»»åŠ¡å¤±è´¥", + "https://api.vectorengine.ai/v1/images/generations", + error, + ); + + assert_eq!(app_error.status_code(), StatusCode::BAD_GATEWAY); + assert!( + app_error + .body_text() + .contains("开局 CG 故事æ¿ç”Ÿæˆå¤±è´¥ï¼šåˆ›å»ºå›¾ç‰‡ç”Ÿæˆä»»åŠ¡å¤±è´¥") + ); + assert!(format!("{app_error:?}").contains("sourceChain")); + } + #[test] fn b64_json_response_decodes_png_image() { let images = images_from_base64( diff --git a/server-rs/crates/module-custom-world/src/application.rs b/server-rs/crates/module-custom-world/src/application.rs index 0cf077d7..a518b3d1 100644 --- a/server-rs/crates/module-custom-world/src/application.rs +++ b/server-rs/crates/module-custom-world/src/application.rs @@ -599,6 +599,37 @@ pub fn canonicalize_custom_world_profile_before_save(profile: &mut Value) -> boo true } +pub fn resolve_custom_world_publish_setting_text( + payload: &Map, + draft_profile: &Map, + seed_text: &str, +) -> String { + // 中文注释:å‘布按钮的å‰ç«¯å¥‘约åªä¿è¯æäº¤åŠ¨ä½œåï¼›æ­£å¼ settingText 必须从è‰ç¨¿çœŸç›¸è¡¥é½ï¼Œ + // é¿å…æ—§ä¼šè¯ seed_text 为空时通过 publish gate,å´åœ¨æœ€ç»ˆ compile/publish 阶段失败。 + read_nested_text_field(payload, &["settingText"]) + .or_else(|| { + read_nested_text_field( + draft_profile, + &[ + "settingText", + "creatorIntent.rawSettingText", + "creatorIntent.worldHook", + "worldHook", + "anchorContent.worldPromise", + "anchorContent.worldPromise.hook", + "summary", + "name", + "title", + ], + ) + }) + .or_else(|| { + let seed = seed_text.trim(); + (!seed.is_empty()).then(|| seed.to_string()) + }) + .unwrap_or_default() +} + pub fn empty_agent_anchor_content_json() -> String { r#"{"worldPromise":null,"playerFantasy":null,"themeBoundary":null,"playerEntryPoint":null,"coreConflict":null,"keyRelationships":null,"hiddenLines":null,"iconicElements":null}"#.to_string() } @@ -804,6 +835,32 @@ fn read_text(object: &Map, key: &str) -> Option { .map(ToOwned::to_owned) } +fn read_nested_text_field(object: &Map, keys: &[&str]) -> Option { + for key in keys { + let mut current = Value::Object(object.clone()); + let mut found = true; + for segment in key.split('.') { + if let Some(next) = current.get(segment) { + current = next.clone(); + } else { + found = false; + break; + } + } + if found { + if let Some(value) = current + .as_str() + .map(str::trim) + .filter(|value| !value.is_empty()) + { + return Some(value.to_string()); + } + } + } + + None +} + fn read_string_list(object: &Map, key: &str) -> Vec { object .get(key) @@ -955,3 +1012,56 @@ fn build_compiled_profile_payload_json( serde_json::to_string(&Value::Object(payload)) .map_err(|_| CustomWorldFieldError::InvalidDraftProfileJson) } + +#[cfg(test)] +mod tests { + use super::*; + use serde_json::json; + + #[test] + fn publish_setting_text_falls_back_to_draft_profile_when_seed_is_empty() { + let payload = Map::new(); + let draft_profile = json!({ + "settingText": "æµ·é›¾ä¼šåžæŽ‰è®°é”™èˆªçº¿çš„äººã€‚", + "worldHook": "在失真的海图上追查一场被篡改的沉船事故。", + "summary": "守ç¯äººä¸Žç¾¤å²›è®®ä¼šå›´ç»•沉船旧案对峙。" + }) + .as_object() + .cloned() + .expect("draft profile should be object"); + + let setting_text = + resolve_custom_world_publish_setting_text(&payload, &draft_profile, ""); + + assert_eq!(setting_text, "æµ·é›¾ä¼šåžæŽ‰è®°é”™èˆªçº¿çš„äººã€‚"); + } + + #[test] + fn publish_setting_text_prefers_payload_then_draft_then_seed() { + let mut payload = Map::new(); + payload.insert( + "settingText".to_string(), + Value::String("å‘布载è·è®¾å®š".to_string()), + ); + let draft_profile = json!({ + "worldHook": "è‰ç¨¿ä¸–界一å¥è¯", + "summary": "è‰ç¨¿æ‘˜è¦" + }) + .as_object() + .cloned() + .expect("draft profile should be object"); + + assert_eq!( + resolve_custom_world_publish_setting_text(&payload, &draft_profile, "用户原始设定"), + "å‘布载è·è®¾å®š" + ); + assert_eq!( + resolve_custom_world_publish_setting_text(&Map::new(), &draft_profile, "用户原始设定"), + "è‰ç¨¿ä¸–界一å¥è¯" + ); + assert_eq!( + resolve_custom_world_publish_setting_text(&Map::new(), &Map::new(), "用户原始设定"), + "用户原始设定" + ); + } +} diff --git a/server-rs/crates/module-runtime/src/application.rs b/server-rs/crates/module-runtime/src/application.rs index c3ebf645..87002c8a 100644 --- a/server-rs/crates/module-runtime/src/application.rs +++ b/server-rs/crates/module-runtime/src/application.rs @@ -54,9 +54,9 @@ pub fn default_creation_entry_type_snapshots( "rpg", "文字冒险", "ç»å…¸ RPG 体验", - "内测", + "å¯åˆ›å»º", "/creation-type-references/rpg.webp", - false, + true, true, 10, updated_at_micros, diff --git a/server-rs/crates/module-runtime/src/lib.rs b/server-rs/crates/module-runtime/src/lib.rs index 3d182426..490a2def 100644 --- a/server-rs/crates/module-runtime/src/lib.rs +++ b/server-rs/crates/module-runtime/src/lib.rs @@ -236,6 +236,23 @@ mod tests { ); } + #[test] + fn default_creation_entry_types_open_rpg_entry() { + let configs = default_creation_entry_type_snapshots(1); + let rpg = configs + .iter() + .find(|item| item.id == "rpg") + .expect("rpg creation entry should be seeded"); + + assert_eq!(rpg.title, "文字冒险"); + assert_eq!(rpg.subtitle, "ç»å…¸ RPG 体验"); + assert!(rpg.visible); + assert!(rpg.open); + assert_eq!(rpg.badge, "å¯åˆ›å»º"); + assert_eq!(rpg.sort_order, 10); + assert_eq!(rpg.image_src, "/creation-type-references/rpg.webp"); + } + #[test] fn default_creation_entry_types_include_bark_battle() { let configs = default_creation_entry_type_snapshots(1); diff --git a/server-rs/crates/spacetime-module/src/custom_world.rs b/server-rs/crates/spacetime-module/src/custom_world.rs index 36228bfe..c7d8eeca 100644 --- a/server-rs/crates/spacetime-module/src/custom_world.rs +++ b/server-rs/crates/spacetime-module/src/custom_world.rs @@ -2562,6 +2562,18 @@ fn upsert_nested_result_profile_id( } } +fn resolve_publish_world_setting_text( + payload: &JsonMap, + draft_profile: &JsonMap, + session: &CustomWorldAgentSession, +) -> String { + module_custom_world::resolve_custom_world_publish_setting_text( + payload, + draft_profile, + &session.seed_text, + ) +} + fn is_same_agent_draft_profile_candidate( row: &CustomWorldProfile, owner_user_id: &str, @@ -2608,13 +2620,7 @@ fn execute_publish_world_action( .filter(|value| !value.is_empty()) .map(ToOwned::to_owned) .unwrap_or_else(|| gate.profile_id.clone()); - let setting_text = payload - .get("settingText") - .and_then(JsonValue::as_str) - .map(str::trim) - .filter(|value| !value.is_empty()) - .map(ToOwned::to_owned) - .unwrap_or_else(|| session.seed_text.clone()); + let setting_text = resolve_publish_world_setting_text(payload, &draft_profile, session); let legacy_result_profile_json = payload .get("legacyResultProfile") .map(serialize_json_value) diff --git a/server-rs/crates/spacetime-module/src/runtime/creation_entry_config.rs b/server-rs/crates/spacetime-module/src/runtime/creation_entry_config.rs index 05c9db50..c0b47b2e 100644 --- a/server-rs/crates/spacetime-module/src/runtime/creation_entry_config.rs +++ b/server-rs/crates/spacetime-module/src/runtime/creation_entry_config.rs @@ -179,6 +179,7 @@ fn seed_creation_entry_config_if_missing(ctx: &ReducerContext) { } } + migrate_rpg_entry_from_old_hidden_default(ctx, now); migrate_visual_novel_entry_from_old_visible_default(ctx, now); migrate_coming_soon_entry_from_old_open_default( ctx, @@ -204,6 +205,36 @@ fn seed_creation_entry_config_if_missing(ctx: &ReducerContext) { ); } +fn migrate_rpg_entry_from_old_hidden_default(ctx: &ReducerContext, now: Timestamp) { + let id = "rpg".to_string(); + let Some(row) = ctx.db.creation_entry_type_config().id().find(&id) else { + return; + }; + + // 中文注释:åªå¼€æ”¾åކå²é»˜è®¤éšè—çš„ RPG å…¥å£ï¼Œä¸è¦†ç›–åŽå°å…¥å£å¼€å…³åŽç»­æ‰‹åЍé…置。 + let still_old_hidden_default = row.title == "文字冒险" + && row.subtitle == "ç»å…¸ RPG 体验" + && row.badge == "内测" + && row.image_src == "/creation-type-references/rpg.webp" + && !row.visible + && row.open + && row.sort_order == 10; + if !still_old_hidden_default { + return; + } + + ctx.db + .creation_entry_type_config() + .id() + .update(CreationEntryTypeConfig { + badge: "å¯åˆ›å»º".to_string(), + visible: true, + open: true, + updated_at: now, + ..row + }); +} + fn migrate_visual_novel_entry_from_old_visible_default(ctx: &ReducerContext, now: Timestamp) { let id = "visual-novel".to_string(); let Some(row) = ctx.db.creation_entry_type_config().id().find(&id) else { diff --git a/src/components/CustomWorldResultView.test.tsx b/src/components/CustomWorldResultView.test.tsx index 2142efe8..cf381a5f 100644 --- a/src/components/CustomWorldResultView.test.tsx +++ b/src/components/CustomWorldResultView.test.tsx @@ -5,6 +5,7 @@ import userEvent from '@testing-library/user-event'; import { useState } from 'react'; import { expect, test, vi } from 'vitest'; +import { normalizeCustomWorldProfileRecord } from '../data/customWorldLibrary'; import * as rpgCreationAssetClient from '../services/rpg-creation/rpgCreationAssetClient'; import type { CustomWorldPlayableNpc, CustomWorldProfile } from '../types'; import { RpgCreationResultView } from './rpg-creation-result/RpgCreationResultView'; @@ -286,6 +287,40 @@ function ResultViewHarness() { ); } +function ResultViewRehydratingHarness() { + const [profile, setProfile] = useState(baseProfile); + const [rehydrated, setRehydrated] = useState(false); + + return ( +
+
{rehydrated ? 'yes' : 'no'}
+ {}} + onProfileChange={(nextProfile) => { + setProfile(nextProfile); + if (!nextProfile.openingCg) { + return; + } + + window.setTimeout(() => { + const normalized = normalizeCustomWorldProfileRecord(nextProfile); + if (normalized) { + setProfile(normalized); + } + setRehydrated(true); + }, 0); + }} + /> +
+ ); +} + test('clickingæ–°å¢žå¯æ‰®æ¼”角色 shows pending item, disables button, and marks result as new', async () => { const user = userEvent.setup(); @@ -385,6 +420,40 @@ test('world tab generates opening cg only after manual click and writes it back }); }); +test('world tab keeps opening cg visible after parent rehydrates normalized profile', async () => { + const user = userEvent.setup(); + mockedRpgCreationAssetClient.generateOpeningCg.mockResolvedValue({ + id: 'opening-cg-1', + status: 'ready', + storyboardImageSrc: '/generated-custom-world-scenes/world/opening/storyboard.png', + storyboardAssetId: 'storyboard-1', + videoSrc: '/generated-custom-world-scenes/world/opening/opening.mp4', + videoAssetId: 'video-1', + imageModel: 'gpt-image-2', + videoModel: 'doubao-seedance-2-0-fast-260128', + aspectRatio: '16:9', + imageSize: '2k', + videoResolution: '480p', + durationSeconds: 15, + pointCost: 80, + estimatedWaitMinutes: 10, + updatedAt: '2026-05-03T00:00:00Z', + }); + + render(); + + await user.click(screen.getByRole('button', { name: '生æˆ' })); + + await waitFor(() => { + expect(screen.getByTestId('rehydrated').textContent).toBe('yes'); + }); + expect( + document.querySelector( + 'video[src="/generated-custom-world-scenes/world/opening/opening.mp4"]', + ), + ).toBeTruthy(); +}); + test('playable tab prefers generated portrait over runtime preview placeholder', async () => { const user = userEvent.setup(); const profile = { diff --git a/src/components/custom-world-home/CustomWorldCreationHub.interaction.test.tsx b/src/components/custom-world-home/CustomWorldCreationHub.interaction.test.tsx index 9c2d722e..dbd41fc3 100644 --- a/src/components/custom-world-home/CustomWorldCreationHub.interaction.test.tsx +++ b/src/components/custom-world-home/CustomWorldCreationHub.interaction.test.tsx @@ -25,6 +25,17 @@ const testEntryConfig = { description: '先选玩法类型,å†è¿›å…¥å¯¹åº”创作工作å°ã€‚', }, creationTypes: [ + { + id: 'rpg', + title: '文字冒险', + subtitle: 'ç»å…¸ RPG 体验', + badge: 'å¯åˆ›å»º', + imageSrc: '/creation-type-references/rpg.webp', + visible: true, + open: true, + sortOrder: 10, + updatedAtMicros: 1, + }, { id: 'puzzle', title: '拼图', @@ -253,14 +264,18 @@ test('creation hub reflects updated draft title summary and counts after rerende const match3dButton = screen.getByRole('button', { name: /抓大鹅.*3D 消除关å¡/u, }); + const rpgButton = screen.getByRole('button', { + name: /文字冒险.*ç»å…¸ RPG 体验/u, + }); expect(puzzleButton).toBeTruthy(); expect(match3dButton).toBeTruthy(); + expect(rpgButton).toBeTruthy(); expect((puzzleButton as HTMLButtonElement).disabled).toBe(false); expect((match3dButton as HTMLButtonElement).disabled).toBe(false); + expect((rpgButton as HTMLButtonElement).disabled).toBe(false); expect(screen.queryByRole('button', { name: /方洞挑战/u })).toBeNull(); expect(screen.queryByText('å直觉形状分拣')).toBeNull(); expect(screen.queryByRole('button', { name: /智能创作/u })).toBeNull(); - expect(screen.queryByRole('button', { name: /文字冒险/u })).toBeNull(); expect(screen.queryByRole('button', { name: /大鱼åƒå°é±¼/u })).toBeNull(); await user.click(match3dButton); diff --git a/src/components/custom-world-home/CustomWorldCreationHub.test.tsx b/src/components/custom-world-home/CustomWorldCreationHub.test.tsx index 8ece1b8b..ced0e82c 100644 --- a/src/components/custom-world-home/CustomWorldCreationHub.test.tsx +++ b/src/components/custom-world-home/CustomWorldCreationHub.test.tsx @@ -19,6 +19,17 @@ const testEntryConfig = { description: '先选玩法类型,å†è¿›å…¥å¯¹åº”创作工作å°ã€‚', }, creationTypes: [ + { + id: 'rpg', + title: '文字冒险', + subtitle: 'ç»å…¸ RPG 体验', + badge: 'å¯åˆ›å»º', + imageSrc: '/creation-type-references/rpg.webp', + visible: true, + open: true, + sortOrder: 10, + updatedAtMicros: 1, + }, { id: 'puzzle', title: '拼图', @@ -124,7 +135,8 @@ test('creation hub draft card renders compiled work summary fields', () => { expect(html).toContain('拼图关å¡åˆ›ä½œ'); expect(html).toContain('抓大鹅'); expect(html).toContain('3D 消除关å¡'); - expect(html).not.toContain('文字冒险'); + expect(html).toContain('文字冒险'); + expect(html).toContain('ç»å…¸ RPG 体验'); expect(html).not.toContain('大鱼åƒå°é±¼'); }); diff --git a/src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx b/src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx index 732dc6f6..053e09bb 100644 --- a/src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx +++ b/src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx @@ -271,6 +271,17 @@ const testCreationEntryConfig = { description: '先选玩法类型,å†è¿›å…¥å¯¹åº”创作工作å°ã€‚', }, creationTypes: [ + { + id: 'rpg', + title: '文字冒险', + subtitle: 'ç»å…¸ RPG 体验', + badge: 'å¯åˆ›å»º', + imageSrc: '/creation-type-references/rpg.webp', + visible: true, + open: true, + sortOrder: 10, + updatedAtMicros: 1, + }, { id: 'puzzle', title: '拼图', @@ -3205,8 +3216,8 @@ test('create tab shows template tabs and embeds puzzle form by default', async ( screen.getByRole('tab', { name: '拼图' }).querySelector('img')?.src, ).toContain('/creation-type-references/puzzle.webp'); expect( - screen.getByRole('tab', { name: 'AIRP' }).querySelector('img')?.src, - ).toContain('/creation-type-references/airp.webp'); + screen.getByRole('tab', { name: '文字冒险' }).querySelector('img')?.src, + ).toContain('/creation-type-references/rpg.webp'); expect( screen.getByRole('tab', { name: '抓大鹅' }).querySelector('img')?.src, ).toContain('/creation-type-references/match3d.webp'); diff --git a/src/data/customWorldLibrary.test.ts b/src/data/customWorldLibrary.test.ts index e07f9e62..6643c7b2 100644 --- a/src/data/customWorldLibrary.test.ts +++ b/src/data/customWorldLibrary.test.ts @@ -165,4 +165,35 @@ describe('normalizeCustomWorldProfileRecord role asset descriptions', () => { '/generated-characters/story-yizhang/portrait.png', ); }); + + it('ä¿ç•™ç»“果页生æˆçš„开局 CG æ§½ä½', () => { + const profile = normalizeCustomWorldProfileRecord({ + name: '雾港归航', + settingText: '海雾旧案', + openingCg: { + id: 'opening-cg-1', + status: 'ready', + storyboardImageSrc: '/generated-custom-world-scenes/opening/storyboard.png', + storyboardAssetId: 'storyboard-1', + videoSrc: '/generated-custom-world-scenes/opening/opening.mp4', + videoAssetId: 'video-1', + imageModel: 'gpt-image-2', + videoModel: 'doubao-seedance-2-0-fast-260128', + aspectRatio: '16:9', + imageSize: '2k', + videoResolution: '480p', + durationSeconds: 15, + pointCost: 80, + estimatedWaitMinutes: 10, + updatedAt: '2026-05-21T00:00:00.000Z', + }, + }); + + expect(profile?.openingCg?.videoSrc).toBe( + '/generated-custom-world-scenes/opening/opening.mp4', + ); + expect(profile?.openingCg?.storyboardImageSrc).toBe( + '/generated-custom-world-scenes/opening/storyboard.png', + ); + }); }); diff --git a/src/data/customWorldLibrary.ts b/src/data/customWorldLibrary.ts index e075867d..8b53f3e8 100644 --- a/src/data/customWorldLibrary.ts +++ b/src/data/customWorldLibrary.ts @@ -27,6 +27,7 @@ import { CustomWorldNpcVisualGear, CustomWorldNpcVisualGearType, CustomWorldNpcVisualRace, + CustomWorldOpeningCgProfile, CustomWorldPlayableNpc, CustomWorldProfile, CustomWorldRoleInitialItem, @@ -1155,6 +1156,9 @@ function normalizeProfile(value: unknown): CustomWorldProfile | null { .map((entry, index) => normalizePlayableNpc(entry, index)) .filter((entry): entry is CustomWorldPlayableNpc => Boolean(entry)) : []; + const openingCg = preserveStructuredRecord( + value.openingCg, + ); const normalizedProfile = { id: toText(value.id, `saved-custom-world-${Date.now().toString(36)}`), settingText, @@ -1180,6 +1184,7 @@ function normalizeProfile(value: unknown): CustomWorldProfile | null { .map((entry, index) => normalizeItem(entry, index)) .filter((entry): entry is CustomWorldItem => Boolean(entry)) : [], + openingCg, camp, landmarks: normalizeCustomWorldLandmarks({ landmarks: landmarkDrafts, From 224a26d318b38cebeae69aca5f3c38b0bae15c8b Mon Sep 17 00:00:00 2001 From: kdletters <61648117+kdletters@users.noreply.github.com> Date: Thu, 21 May 2026 17:49:07 +0800 Subject: [PATCH 2/5] fix: tolerate null legacy custom-world profile --- .hermes/shared-memory/pitfalls.md | 8 +++ ...玩法创作】平å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md | 2 + .../module-custom-world/src/application.rs | 51 ++++++++++++++++++- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/.hermes/shared-memory/pitfalls.md b/.hermes/shared-memory/pitfalls.md index 88b413fb..9c47745c 100644 --- a/.hermes/shared-memory/pitfalls.md +++ b/.hermes/shared-memory/pitfalls.md @@ -398,6 +398,14 @@ - 验è¯ï¼š`npm run test -- src/data/customWorldLibrary.test.ts src/components/CustomWorldResultView.test.tsx`,确认生æˆåŽå³ä½¿çˆ¶å±‚åšä¸€æ¬¡å½’一化回写,开局 CG ä»ç»§ç»­æ˜¾ç¤ºã€‚ - å…³è”:`src/data/customWorldLibrary.ts`ã€`src/components/rpg-creation-result/RpgCreationResultViewImpl.tsx`ã€`src/components/CustomWorldEntityCatalog.tsx`。 +## RPG å‘布报 legacy_result_profile_json éžæ³•先查 null 兼容 + +- 现象:RPG 结果页å‘布动作返回 `UPSTREAM_ERROR`,SpacetimeDB details 里是 `custom_world.compile.legacy_result_profile_json 䏿˜¯åˆæ³• JSON object`。 +- 原因:`publish_world` å‰ç«¯å¥‘约åªè¦æ±‚ `{ action: 'publish_world' }`ï¼›`ExecuteCustomWorldAgentActionRequest.legacy_result_profile` 是å¯é€‰å­—æ®µï¼Œç» HTTP / serde / SpacetimeDB payload 传递时å¯èƒ½æ˜¾å¼æˆä¸º JSON `null`ã€‚æ—§çš„ç¼–è¯‘å™¨åªæŽ¥å— object 或缺çœï¼ŒæŠŠ `Some("null")` 当æˆéžæ³• legacy JSON。 +- 处ç†ï¼š`module-custom-world` çš„ optional JSON object è§£æžè¦æŠŠ `null` 视为未æä¾›ï¼Œä»æ‹’ç»æ•°ç»„ã€å­—ç¬¦ä¸²ã€æ•°å­—å’Œå JSON;正å¼å‘布继续以 session `draft_profile_json` 为è‰ç¨¿çœŸç›¸ã€‚ +- 验è¯ï¼š`cargo test -p module-custom-world published_profile_compile --manifest-path server-rs/Cargo.toml`。 +- å…³è”:`server-rs/crates/module-custom-world/src/application.rs`ã€`server-rs/crates/spacetime-module/src/custom_world.rs`ã€`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`。 + ## 本地脚本调 VectorEngine 生图å¡ä½å…ˆåŒºåˆ† fetch 首部超时 - 现象:用 Node `fetch` 直接请求 `POST /v1/images/generations`,已ç»è®¾ç½®è¾ƒé•¿çš„ AbortController 超时,但ä»åœ¨çº¦ 180 到 300 ç§’åŽæŠ› `AbortError`ã€`TypeError: fetch failed` 或 `UND_ERR_HEADERS_TIMEOUT`ï¼›åŒä¸€ prompt 改用原生 `https.request` å¯ä»¥åœ¨è¾ƒçŸ­æ—¶é—´å†…æˆåŠŸè¿”å›žå›¾ç‰‡ã€‚ diff --git a/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md b/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md index eb07fc54..2584be6b 100644 --- a/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md +++ b/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md @@ -50,6 +50,8 @@ RPG API 仿²¿ç”¨åކå²å‘½å空间:`/api/runtime/custom-world*`ã€`/api/story RPG Agent 结果页å‘布动作的å‰ç«¯å¥‘约åªä¿è¯æäº¤ `{ action: 'publish_world' }`ï¼›åŽç«¯å‘å¸ƒæ—¶ä»¥å½“å‰ `custom_world_agent_session.draft_profile_json` 为è‰ç¨¿çœŸç›¸ï¼Œä»Ž `settingText`ã€`creatorIntent.rawSettingText`ã€`creatorIntent.worldHook`ã€`worldHook`ã€`anchorContent.worldPromise(.hook)`ã€`summary`ã€`name/title` 便¬¡æ´¾ç”Ÿæ­£å¼ `setting_text`ï¼Œæœ€åŽæ‰å›žé€€ `seed_text`。ä¸è¦æŠŠ `seed_text` å½“ä½œå”¯ä¸€è®¾å®šæ¥æºï¼Œæ—§ä¼šè¯å¯èƒ½ä¸ºç©ºã€‚ +`legacyResultProfile` åªä½œä¸ºåކå²ç»“果页 profile 兼容兜底;`publish_world` è¯·æ±‚ç¼ºçœæˆ–显å¼ä¸º `null` 时等价于未æä¾›ï¼Œç¼–è¯‘æ­£å¼ profile æ—¶ä¸å¾—因此报 `custom_world.compile.legacy_result_profile_json 䏿˜¯åˆæ³• JSON object`。真正的数组ã€å­—ç¬¦ä¸²ã€æ•°å­—ç­‰éž object legacy è½½è·ä»åº”æ‹’ç»ã€‚ + RPG 结果页开局 CG 是 `profile.openingCg` 资产槽ä½ï¼š`api-server` è´Ÿè´£ VectorEngine / OSS 副作用并返回故事æ¿å’Œè§†é¢‘引用,å‰ç«¯åªæŠŠç»“æžœå†™å›žå½“å‰ profileï¼›`sync_result_profile`ã€ä½œå“库ä¿å­˜å’Œ `normalizeCustomWorldProfileRecord` 都必须ä¿ç•™è¯¥æ§½ä½ã€‚è‹¥ç”ŸæˆæˆåŠŸåŽç”»é¢çŸ­æš‚显示åˆå˜å›žç©ºç™½ï¼Œä¼˜å…ˆæ£€æŸ¥çˆ¶å±‚釿–°åŒæ­¥æˆ– profile å½’ä¸€åŒ–æ˜¯å¦æŠŠ `openingCg` ä¸¢æŽ‰ï¼Œè€Œä¸æ˜¯å…ˆæ€€ç–‘已生æˆèµ„æºæœ¬èº«å¤±æ•ˆã€‚ ## 拼图 diff --git a/server-rs/crates/module-custom-world/src/application.rs b/server-rs/crates/module-custom-world/src/application.rs index a518b3d1..57f8f41c 100644 --- a/server-rs/crates/module-custom-world/src/application.rs +++ b/server-rs/crates/module-custom-world/src/application.rs @@ -694,7 +694,13 @@ fn parse_optional_json_object( error: CustomWorldFieldError, ) -> Result, CustomWorldFieldError> { match normalize_optional_json_slice(value) { - Some(value) => parse_required_json_object(&value, error), + Some(value) => match serde_json::from_str::(&value) { + Ok(Value::Object(object)) => Ok(object), + // 中文注释:跨层å¯é€‰å­—æ®µç» serde 结构体åºåˆ—化åŽå¯èƒ½æ˜¾å¼è½æˆ nullï¼› + // 对 optional JSON object 而言 null 等价于未æä¾›ï¼Œä¸èƒ½é˜»æ–­å‘布链路。 + Ok(Value::Null) => Ok(Map::new()), + _ => Err(error), + }, None => Ok(Map::new()), } } @@ -1018,6 +1024,49 @@ mod tests { use super::*; use serde_json::json; + fn build_test_compile_input( + legacy_result_profile_json: Option, + ) -> CustomWorldPublishedProfileCompileInput { + CustomWorldPublishedProfileCompileInput { + session_id: "session-1".to_string(), + profile_id: "cwprof_001".to_string(), + owner_user_id: "user-1".to_string(), + draft_profile_json: json!({ + "name": "潮雾列岛", + "summary": "群岛与旧ç¯å¡”之间的沉船疑案。", + "playableNpcs": [], + "storyNpcs": [], + "landmarks": [] + }) + .to_string(), + legacy_result_profile_json, + setting_text: "海图会在åˆå¤œæ”¹å†™ç¾¤å²›èˆªè·¯ã€‚".to_string(), + author_display_name: "创作者".to_string(), + updated_at_micros: 1, + } + } + + #[test] + fn published_profile_compile_treats_null_legacy_result_profile_as_absent() { + let snapshot = build_custom_world_published_profile_compile_snapshot( + build_test_compile_input(Some("null".to_string())), + ) + .expect("null legacy result profile should be treated as absent"); + + assert_eq!(snapshot.profile_id, "cwprof_001"); + assert_eq!(snapshot.world_name, "潮雾列岛"); + } + + #[test] + fn published_profile_compile_rejects_non_object_legacy_result_profile() { + let error = build_custom_world_published_profile_compile_snapshot( + build_test_compile_input(Some("[]".to_string())), + ) + .expect_err("array legacy result profile should still be invalid"); + + assert_eq!(error, CustomWorldFieldError::InvalidLegacyResultProfileJson); + } + #[test] fn publish_setting_text_falls_back_to_draft_profile_when_seed_is_empty() { let payload = Map::new(); From a9d23a8a4483292d36686d4a3add7128020dfa1e Mon Sep 17 00:00:00 2001 From: kdletters <61648117+kdletters@users.noreply.github.com> Date: Thu, 21 May 2026 20:20:06 +0800 Subject: [PATCH 3/5] fix: stabilize rpg publish and launch --- .hermes/shared-memory/pitfalls.md | 16 ++ ...玩法创作】平å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md | 8 +- .../crates/api-server/src/custom_world.rs | 80 +++++--- .../module-custom-world/src/application.rs | 56 +++++- .../spacetime-module/src/custom_world.rs | 51 +++-- src/App.tsx | 12 +- .../PlatformEntryFlowShellImpl.tsx | 1 + .../RpgEntryCharacterSelectView.test.tsx | 89 ++++++++- .../rpg-entry/RpgEntryCharacterSelectView.tsx | 28 ++- .../useRpgCreationEnterWorld.test.tsx | 177 +++++++++++++++++- .../rpg-entry/useRpgCreationEnterWorld.ts | 15 ++ .../rpg-runtime-shell/RpgRuntimeShell.tsx | 14 +- .../rpg-entry/rpgEntryLibraryClient.test.ts | 66 +++++++ .../rpg-entry/rpgEntryLibraryClient.ts | 83 +++++--- 14 files changed, 614 insertions(+), 82 deletions(-) diff --git a/.hermes/shared-memory/pitfalls.md b/.hermes/shared-memory/pitfalls.md index 9c47745c..89753df6 100644 --- a/.hermes/shared-memory/pitfalls.md +++ b/.hermes/shared-memory/pitfalls.md @@ -30,6 +30,22 @@ - 验è¯ï¼š`cargo test -p module-custom-world publish_setting_text --manifest-path server-rs\Cargo.toml`ï¼›`cargo check -p spacetime-module --manifest-path server-rs\Cargo.toml`。 - å…³è”:`server-rs/crates/module-custom-world/src/application.rs`ã€`server-rs/crates/spacetime-module/src/custom_world.rs`ã€`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`。 +## RPG å·²å‘布结果页进入世界ä¸èƒ½é‡å¤ publish_world + +- 现象:RPG è‰ç¨¿å‘布æˆåŠŸåŽï¼ŒæŒ‰é’®æ–‡æ¡ˆå·²å˜ä¸ºâ€œè¿›å…¥ä¸–界â€ï¼Œä½†ç‚¹å‡»ä»è¯·æ±‚ `POST /api/runtime/custom-world/agent/sessions/{sessionId}/actions` 且 payload 为 `{"action":"publish_world"}`,åŽç«¯è¿”回 `publish_world is only available during object_refining, visual_refining, long_tail_review or ready_to_publish`。 +- åŽŸå› ï¼šæŒ‰é’®æ–‡æ¡ˆä¾æ® agent session `stage === 'published'` 切æ¢ï¼Œä½†ç‚¹å‡»å¤„ç†ä»èµ°å‘布å调路径;如果å‰ç«¯åªä¾èµ–è‰ç¨¿åŒæ­¥å›žåŒ…判断是å¦å·²å‘布,回包为空或缺少å¯è¿›å…¥çŠ¶æ€æ—¶å°±ä¼šç»§ç»­é‡å¤å‘é€ `publish_world`。 +- 处ç†ï¼šè¿›å…¥ä¸–界åè°ƒå™¨æŽ¥æ”¶å½“å‰ agent session stage;当 stage 已为 `published` 时,åªè°ƒç”¨ `result-view` 回读已å‘布 profile å¹¶å¯åЍè¿è¡Œæ€ï¼Œä¸å†è°ƒç”¨ `sync_result_profile` 或 `publish_world`。 +- 验è¯ï¼š`npm run test -- src/components/rpg-entry/useRpgCreationEnterWorld.test.tsx`;确认已å‘布场景下 `syncAgentDraftResultProfile` 与 `executePublishWorld` 凿œªè¢«è°ƒç”¨ã€‚ +- å…³è”:`src/components/rpg-entry/useRpgCreationEnterWorld.ts`ã€`src/components/platform-entry/PlatformEntryFlowShellImpl.tsx`ã€`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`。 + +## RPG 点击å¯åЍ黑å±å…ˆæŸ¥ profile 归一化和角色选择兜底 + +- 现象:作å“详情点击“å¯åЍâ€åŽé¡µé¢åˆ‡åˆ° RPG runtime,但用户åªçœ‹åˆ°é»‘屿ˆ–空白;DevTools 里å¯èƒ½åŒæ—¶çœ‹åˆ°æ—§è‡ªåŠ¨å­˜æ¡£ `/api/runtime/save/snapshot` 被主动 cancel。 +- 原因:`/custom-world-library` / `/custom-world-gallery` 详情接å£å¯èƒ½è¿”å›žåŽ†å²æˆ–摘è¦å¼ `profile`,缺少 `playableNpcs`ã€`storyNpcs`ã€`landmarks`ã€`attributeSchema` ç­‰è¿è¡Œæ€å­—段;å‰ç«¯ client 若直接把该对象传给 runtime,角色选择首å±ä¼šåœ¨ `buildCustomWorldPlayableCharacters(profile)` 或åŽç»­å±žæ€§è§£æžå¤„抛错。`save/snapshot (canceled)` 通常是切 runtime 或å¸è½½æ—¶ `AbortController` å–æ¶ˆæ—§è‡ªåŠ¨å­˜æ¡£ï¼Œä¸æ˜¯é»‘屿 ¹å› ã€‚ +- 处ç†ï¼šRPG å…¥å£ä½œå“库 client 在所有返回 `CustomWorldLibraryEntry` 的接å£è¾¹ç•Œç»Ÿä¸€è°ƒç”¨ `normalizeCustomWorldProfileRecord`,并用 `profileId/worldName/subtitle/summaryText` è¡¥é½æ—§æ•°æ®ç¼ºå­—段;角色选择页对角色生æˆå¼‚常或空数组回退默认角色,并ä¿ç•™è¿”回按钮/è½»é‡ç©ºæ€ï¼›é¡¶å±‚ runtime 懒加载 fallback ä¸ä½¿ç”¨çº¯ `null`。 +- 验è¯ï¼š`npm run test -- src/services/rpg-entry/rpgEntryLibraryClient.test.ts`ã€`npm run test -- src/components/rpg-entry/RpgEntryCharacterSelectView.test.tsx`ã€`npm run typecheck`。 +- å…³è”:`src/services/rpg-entry/rpgEntryLibraryClient.ts`ã€`src/components/rpg-entry/RpgEntryCharacterSelectView.tsx`ã€`src/App.tsx`ã€`src/components/rpg-runtime-shell/RpgRuntimeShell.tsx`ã€`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`。 + ## Windows provision ä¸‹è½½æˆªæ–­è¦æ–­ç‚¹ç»­ä¼ è€Œä¸æ˜¯å›žé€€ç›®æ ‡æœºä¸‹è½½ - 现象:`Genarrative-Server-Provision` 在 `Download Provision Tool Archives` 阶段出现 `curl: (18) end of response ... bytes missing`,常è§äºŽ `otelcol-contrib_0.151.0_linux_amd64.tar.gz` ç­‰ GitHub release 大文件。 diff --git a/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md b/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md index 2584be6b..ffb0af2e 100644 --- a/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md +++ b/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md @@ -48,12 +48,16 @@ RPG æ˜¯åŽ†å²æ—¢æœ‰é“¾è·¯ä¾‹å¤–:当å‰ä»ä½¿ç”¨å¯¹è¯å¼ Agent å…±åˆ›å·¥ä½œå° RPG API 仿²¿ç”¨åކå²å‘½å空间:`/api/runtime/custom-world*`ã€`/api/story/*`ã€`/api/runtime/chat/*`。这些路由在 `api-server` å…¥å£ç†”断中统一映射到 `rpg`ï¼ŒåªæŒ‰ `open` 判断是å¦å…许调用;`visible` åªæŽ§åˆ¶åˆ›ä½œé¡µå…¥å£å±•ç¤ºå’Œä½œå“æž¶å¯è§æ€§ã€‚ -RPG Agent 结果页å‘布动作的å‰ç«¯å¥‘约åªä¿è¯æäº¤ `{ action: 'publish_world' }`ï¼›åŽç«¯å‘å¸ƒæ—¶ä»¥å½“å‰ `custom_world_agent_session.draft_profile_json` 为è‰ç¨¿çœŸç›¸ï¼Œä»Ž `settingText`ã€`creatorIntent.rawSettingText`ã€`creatorIntent.worldHook`ã€`worldHook`ã€`anchorContent.worldPromise(.hook)`ã€`summary`ã€`name/title` 便¬¡æ´¾ç”Ÿæ­£å¼ `setting_text`ï¼Œæœ€åŽæ‰å›žé€€ `seed_text`。ä¸è¦æŠŠ `seed_text` å½“ä½œå”¯ä¸€è®¾å®šæ¥æºï¼Œæ—§ä¼šè¯å¯èƒ½ä¸ºç©ºã€‚ +RPG Agent 结果页点击å‘布或å‘å¸ƒå¹¶è¿›å…¥ä¸–ç•Œæ—¶ï¼Œå¿…é¡»å…ˆæŠŠç»“æžœé¡µå½“å‰ profile 通过 `sync_result_profile` ä¿å­˜å›ž `custom_world_agent_session.draft_profile_json`,å†å‘é€å‘布动作;å‘布动作å‰ç«¯å¥‘约åªå…许æäº¤ `{ action: 'publish_world' }`,`api-server` åªè¡¥ä½œè€…公开信æ¯ï¼Œä¸è½¬å‘ `profile`ã€`draftProfile`ã€`legacyResultProfile` 或 `settingText`。`spacetime-module` å‘布时åªè¯»å–å½“å‰ session çš„ `draft_profile_json` 作为è‰ç¨¿çœŸç›¸ï¼Œä»Ž `settingText`ã€`creatorIntent.rawSettingText`ã€`creatorIntent.worldHook`ã€`worldHook`ã€`anchorContent.worldPromise(.hook)`ã€`summary`ã€`name/title` 便¬¡æ´¾ç”Ÿæ­£å¼ `setting_text`ï¼Œæœ€åŽæ‰å›žé€€ `seed_text`。ä¸è¦æŠŠ `seed_text` å½“ä½œå”¯ä¸€è®¾å®šæ¥æºï¼Œæ—§ä¼šè¯å¯èƒ½ä¸ºç©ºã€‚ -`legacyResultProfile` åªä½œä¸ºåކå²ç»“果页 profile 兼容兜底;`publish_world` è¯·æ±‚ç¼ºçœæˆ–显å¼ä¸º `null` 时等价于未æä¾›ï¼Œç¼–è¯‘æ­£å¼ profile æ—¶ä¸å¾—因此报 `custom_world.compile.legacy_result_profile_json 䏿˜¯åˆæ³• JSON object`。真正的数组ã€å­—ç¬¦ä¸²ã€æ•°å­—ç­‰éž object legacy è½½è·ä»åº”æ‹’ç»ã€‚ +Agent session 已进入 `published` åŽï¼Œç»“果页按钮åªèƒ½æ‰§è¡Œâ€œè¿›å…¥ä¸–界â€ï¼šå‰ç«¯éœ€å…ˆé€šè¿‡ `result-view` 回读已å‘布 profile å¹¶å¯åЍè¿è¡Œæ€ï¼Œä¸å¾—冿¬¡è°ƒç”¨ `sync_result_profile` 或å‘é€ `{ action: 'publish_world' }`。`publish_world` åªå…许在 `object_refining`ã€`visual_refining`ã€`long_tail_review`ã€`ready_to_publish` ç­‰å‘布å‰é˜¶æ®µè§¦å‘ï¼›å¦åˆ™ä¼šè¢«åŽç«¯é˜¶æ®µé—¨æ§›æ‹’ç»ã€‚ + +`legacyResultProfile` åªä½œä¸ºåކå²ç»“果页 profile å…¼å®¹å…œåº•ï¼›ç¼–è¯‘æ­£å¼ profile 时,session è‰ç¨¿å†…å·²ä¿å­˜å­—段优先于 legacy 字段,legacy åªèƒ½è¡¥ç¼ºå¤±å­—段。`publish_world` ä¸å†æŽ¥å—å‰ç«¯ä¸´æ—¶ä¼ å…¥çš„ legacy è½½è·ï¼›åކå²å…¼å®¹è·¯å¾„中 legacy ç¼ºçœæˆ–显å¼ä¸º `null` 时等价于未æä¾›ï¼Œä¸å¾—因此报 `custom_world.compile.legacy_result_profile_json 䏿˜¯åˆæ³• JSON object`。真正的数组ã€å­—ç¬¦ä¸²ã€æ•°å­—ç­‰éž object legacy è½½è·ä»åº”æ‹’ç»ã€‚ RPG 结果页开局 CG 是 `profile.openingCg` 资产槽ä½ï¼š`api-server` è´Ÿè´£ VectorEngine / OSS 副作用并返回故事æ¿å’Œè§†é¢‘引用,å‰ç«¯åªæŠŠç»“æžœå†™å›žå½“å‰ profileï¼›`sync_result_profile`ã€ä½œå“库ä¿å­˜å’Œ `normalizeCustomWorldProfileRecord` 都必须ä¿ç•™è¯¥æ§½ä½ã€‚è‹¥ç”ŸæˆæˆåŠŸåŽç”»é¢çŸ­æš‚显示åˆå˜å›žç©ºç™½ï¼Œä¼˜å…ˆæ£€æŸ¥çˆ¶å±‚釿–°åŒæ­¥æˆ– profile å½’ä¸€åŒ–æ˜¯å¦æŠŠ `openingCg` ä¸¢æŽ‰ï¼Œè€Œä¸æ˜¯å…ˆæ€€ç–‘已生æˆèµ„æºæœ¬èº«å¤±æ•ˆã€‚ +RPG ä»Žä½œå“æž¶ã€å¹¿åœºè¯¦æƒ…或作å“å·æœç´¢ç‚¹å‡»â€œå¯åЍâ€å‰ï¼Œå…¥å£ client 必须把åŽç«¯è¿”回的完整 `profile` å…ˆç»è¿‡ `normalizeCustomWorldProfileRecord`ï¼Œå¹¶ç”¨ä½œå“æ¡ç›®çš„ `profileId/worldName/subtitle/summaryText` è¡¥é½æ—§æ•°æ®ç¼ºå¤±å­—段;è¿è¡Œæ€å’Œè¯¦æƒ…页ä¸å¾—直接消费未归一化的旧 profile。角色选择页还需è¦åœ¨è§’色数组异常或为空时回退默认角色,并显示å¯è¿”回的轻é‡ç©ºæ€ï¼Œä¸èƒ½ `return null` 造æˆé»‘å±ã€‚è¿è¡Œæ€æ‡’加载 fallback å¿…é¡»å¯è§ï¼Œä¸èƒ½ç”¨çº¯ `null` 让用户误判为黑å±ã€‚ + ## 拼图 当剿‹¼å›¾é“¾è·¯ï¼š diff --git a/server-rs/crates/api-server/src/custom_world.rs b/server-rs/crates/api-server/src/custom_world.rs index d5fcb403..8695904b 100644 --- a/server-rs/crates/api-server/src/custom_world.rs +++ b/server-rs/crates/api-server/src/custom_world.rs @@ -1626,39 +1626,20 @@ pub async fn execute_custom_world_agent_action( ) })? } else if action == "publish_world" { - let mut publish_payload = serde_json::to_value(&payload).map_err(|error| { + let publish_payload = serialize_publish_world_action_payload( + resolve_author_public_user_code(&state, &authenticated, &request_context)?, + resolve_author_display_name(&state, &authenticated), + ) + .map_err(|error| { custom_world_error_response( &request_context, AppError::from_status(StatusCode::BAD_REQUEST).with_details(json!({ "provider": "custom-world-agent", - "message": format!("action payload JSON åºåˆ—化失败:{error}"), + "message": error, })), ) })?; - if let Some(object) = publish_payload.as_object_mut() { - // å‘布到广场时必须写入真实作者公开信æ¯ï¼Œé¿å… gallery æŠ•å½±è½æˆåŒ¿å兜底数æ®ã€‚ - object.insert( - "authorPublicUserCode".to_string(), - Value::String(resolve_author_public_user_code( - &state, - &authenticated, - &request_context, - )?), - ); - object.insert( - "authorDisplayName".to_string(), - Value::String(resolve_author_display_name(&state, &authenticated)), - ); - } - serde_json::to_string(&publish_payload).map_err(|error| { - custom_world_error_response( - &request_context, - AppError::from_status(StatusCode::BAD_REQUEST).with_details(json!({ - "provider": "custom-world-agent", - "message": format!("action payload JSON åºåˆ—化失败:{error}"), - })), - ) - })? + publish_payload } else { serde_json::to_string(&payload).map_err(|error| { custom_world_error_response( @@ -1734,6 +1715,23 @@ fn serialize_sync_result_profile_action_payload( .map_err(|error| format!("action payload JSON åºåˆ—化失败:{error}")) } +fn serialize_publish_world_action_payload( + author_public_user_code: String, + author_display_name: String, +) -> Result { + // 中文注释:å‘å¸ƒåŠ¨ä½œåªæäº¤åŠ¨ä½œå和作者公开信æ¯ã€‚ + // ç»“æžœé¡µå½“å‰ profile 必须先通过 sync_result_profile 写入 sessionï¼› + // SpacetimeDB å‘布时å†ä»Ž session.draft_profile_json 读å–è‰ç¨¿çœŸç›¸ï¼Œé¿å…å‰ç«¯ + // draftProfile / legacyResultProfile / profile æ—§è½½è·è¦†ç›–刚ä¿å­˜çš„内容。 + let payload_value = json!({ + "action": "publish_world", + "authorPublicUserCode": author_public_user_code, + "authorDisplayName": author_display_name, + }); + serde_json::to_string(&payload_value) + .map_err(|error| format!("action payload JSON åºåˆ—化失败:{error}")) +} + fn canonicalize_custom_world_library_profile_payload( mut profile: Value, ) -> Result<(Value, CustomWorldProfileMetadata), String> { @@ -3414,6 +3412,36 @@ mod tests { ); } + #[test] + fn publish_world_payload_only_contains_action_and_author_identity() { + let payload_json = + serialize_publish_world_action_payload("TN-0001".to_string(), "æ½®æ±ä½œè€…".to_string()) + .expect("publish payload serializes"); + let payload_value: Value = + serde_json::from_str(&payload_json).expect("payload should be valid JSON"); + let object = payload_value + .as_object() + .expect("publish payload should be object"); + + assert_eq!(object.len(), 3); + assert_eq!( + object.get("action").and_then(Value::as_str), + Some("publish_world") + ); + assert_eq!( + object.get("authorPublicUserCode").and_then(Value::as_str), + Some("TN-0001") + ); + assert_eq!( + object.get("authorDisplayName").and_then(Value::as_str), + Some("æ½®æ±ä½œè€…") + ); + assert!(!object.contains_key("profile")); + assert!(!object.contains_key("draftProfile")); + assert!(!object.contains_key("legacyResultProfile")); + assert!(!object.contains_key("settingText")); + } + #[test] fn custom_world_library_profile_payload_is_canonicalized_on_server() { let (profile, metadata) = canonicalize_custom_world_library_profile_payload(json!({ diff --git a/server-rs/crates/module-custom-world/src/application.rs b/server-rs/crates/module-custom-world/src/application.rs index 57f8f41c..510a977c 100644 --- a/server-rs/crates/module-custom-world/src/application.rs +++ b/server-rs/crates/module-custom-world/src/application.rs @@ -544,7 +544,7 @@ pub fn build_custom_world_published_profile_compile_snapshot( let subtitle = resolve_text_field(&draft, &legacy, "subtitle").unwrap_or_default(); let summary_text = resolve_text_field(&draft, &legacy, "summary").unwrap_or_default(); let cover_image_src = resolve_cover_image_src(&draft, &legacy); - let theme_mode = resolve_theme_mode(&legacy); + let theme_mode = resolve_theme_mode(&draft, &legacy); let playable_npc_count = count_distinct_roles(draft.get("playableNpcs"), draft.get("storyNpcs")); let landmark_count = to_array(draft.get("landmarks")).len() as u32; @@ -912,11 +912,17 @@ fn resolve_text_field( legacy: &Map, key: &str, ) -> Option { + // 中文注释:å‘布链路的è‰ç¨¿çœŸç›¸æ¥è‡ª session.draft_profile_json, + // legacyResultProfile åªè¡¥åކå²è‰ç¨¿ç¼ºå¤±å­—段,ä¸èƒ½è¦†ç›–结果页刚ä¿å­˜çš„内容。 to_text(draft.get(key)).or_else(|| to_text(legacy.get(key))) } -fn resolve_theme_mode(legacy: &Map) -> CustomWorldThemeMode { - to_text(legacy.get("themeMode")) +fn resolve_theme_mode( + draft: &Map, + legacy: &Map, +) -> CustomWorldThemeMode { + to_text(draft.get("themeMode")) + .or_else(|| to_text(legacy.get("themeMode"))) .and_then(|value| CustomWorldThemeMode::from_client_str(&value)) .unwrap_or(CustomWorldThemeMode::Mythic) } @@ -1067,6 +1073,47 @@ mod tests { assert_eq!(error, CustomWorldFieldError::InvalidLegacyResultProfileJson); } + #[test] + fn published_profile_compile_prefers_saved_draft_over_legacy_profile() { + let input = CustomWorldPublishedProfileCompileInput { + draft_profile_json: json!({ + "name": "结果页ä¿å­˜åŽçš„世界", + "summary": "å‘å¸ƒå‰æœ€åŽä¸€æ¬¡å¡«å†™çš„æ‘˜è¦ã€‚", + "themeMode": "tide", + "playableNpcs": [], + "storyNpcs": [], + "landmarks": [] + }) + .to_string(), + legacy_result_profile_json: Some( + json!({ + "name": "旧结果页世界", + "summary": "旧摘è¦ä¸åº”覆盖ä¿å­˜è‰ç¨¿ã€‚", + "themeMode": "mythic" + }) + .to_string(), + ), + ..build_test_compile_input(None) + }; + + let snapshot = build_custom_world_published_profile_compile_snapshot(input) + .expect("compile should prefer saved draft"); + let payload: Value = serde_json::from_str(&snapshot.compiled_profile_payload_json) + .expect("compiled payload should be json"); + + assert_eq!(snapshot.world_name, "结果页ä¿å­˜åŽçš„世界"); + assert_eq!(snapshot.summary_text, "å‘å¸ƒå‰æœ€åŽä¸€æ¬¡å¡«å†™çš„æ‘˜è¦ã€‚"); + assert_eq!(snapshot.theme_mode, CustomWorldThemeMode::Tide); + assert_eq!( + payload.get("name").and_then(Value::as_str), + Some("结果页ä¿å­˜åŽçš„世界") + ); + assert_eq!( + payload.get("summary").and_then(Value::as_str), + Some("å‘å¸ƒå‰æœ€åŽä¸€æ¬¡å¡«å†™çš„æ‘˜è¦ã€‚") + ); + } + #[test] fn publish_setting_text_falls_back_to_draft_profile_when_seed_is_empty() { let payload = Map::new(); @@ -1079,8 +1126,7 @@ mod tests { .cloned() .expect("draft profile should be object"); - let setting_text = - resolve_custom_world_publish_setting_text(&payload, &draft_profile, ""); + let setting_text = resolve_custom_world_publish_setting_text(&payload, &draft_profile, ""); assert_eq!(setting_text, "æµ·é›¾ä¼šåžæŽ‰è®°é”™èˆªçº¿çš„äººã€‚"); } diff --git a/server-rs/crates/spacetime-module/src/custom_world.rs b/server-rs/crates/spacetime-module/src/custom_world.rs index c7d8eeca..a3249fa3 100644 --- a/server-rs/crates/spacetime-module/src/custom_world.rs +++ b/server-rs/crates/spacetime-module/src/custom_world.rs @@ -2593,13 +2593,10 @@ fn execute_publish_world_action( ) -> Result { ensure_publishable_stage(session.stage, "publish_world")?; - let draft_profile = - if let Some(explicit) = payload.get("draftProfile").and_then(JsonValue::as_object) { - explicit.clone() - } else { - parse_optional_session_object(session.draft_profile_json.as_deref()) - .ok_or_else(|| "publish_world requires draft_profile_json".to_string())? - }; + // 中文注释:å‘布动作ä¸å†ä¿¡ä»»å‰ç«¯æºå¸¦çš„ draftProfile。 + // 点击å‘布å‰ï¼Œç»“果页 profile 必须先通过 sync_result_profile 写回 + // custom_world_agent_session.draft_profile_json;正å¼å‘布åªè¯»å–这份会è¯çœŸç›¸ã€‚ + let draft_profile = read_publish_world_draft_profile_from_session(session)?; let gate = summarize_publish_gate_from_json( &session.session_id, session.stage, @@ -2613,18 +2610,9 @@ fn execute_publish_world_action( )); } - let profile_id = payload - .get("profileId") - .and_then(JsonValue::as_str) - .map(str::trim) - .filter(|value| !value.is_empty()) - .map(ToOwned::to_owned) - .unwrap_or_else(|| gate.profile_id.clone()); + let profile_id = gate.profile_id.clone(); let setting_text = resolve_publish_world_setting_text(payload, &draft_profile, session); - let legacy_result_profile_json = payload - .get("legacyResultProfile") - .map(serialize_json_value) - .transpose()?; + let legacy_result_profile_json = None; let author_public_user_code = read_optional_text_field(payload, &["authorPublicUserCode"]) .unwrap_or_else(|| build_public_user_code_from_owner_user_id(&session.owner_user_id)); let author_display_name = read_optional_text_field(payload, &["authorDisplayName"]) @@ -2669,6 +2657,13 @@ fn execute_publish_world_action( Ok(build_custom_world_agent_operation_snapshot(&operation)) } +fn read_publish_world_draft_profile_from_session( + session: &CustomWorldAgentSession, +) -> Result, String> { + parse_optional_session_object(session.draft_profile_json.as_deref()) + .ok_or_else(|| "publish_world requires draft_profile_json".to_string()) +} + fn execute_revert_checkpoint_action( ctx: &ReducerContext, session: &CustomWorldAgentSession, @@ -5256,6 +5251,26 @@ mod tests { ); } + #[test] + fn publish_world_draft_profile_comes_from_session_not_payload() { + let session = build_test_custom_world_agent_session( + "seed", + RpgAgentStage::ReadyToPublish, + Some(r#"{"id":"saved-profile","name":"å·²ä¿å­˜è‰ç¨¿"}"#), + ); + let draft_profile = + read_publish_world_draft_profile_from_session(&session).expect("session draft exists"); + + assert_eq!( + draft_profile.get("id").and_then(JsonValue::as_str), + Some("saved-profile") + ); + assert_eq!( + draft_profile.get("name").and_then(JsonValue::as_str), + Some("å·²ä¿å­˜è‰ç¨¿") + ); + } + #[test] fn custom_world_agent_session_direct_work_content_ignores_empty_created_session() { let empty_session = diff --git a/src/App.tsx b/src/App.tsx index 5ede559e..e16ff02f 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -32,6 +32,16 @@ const RpgRuntimeApp = lazy(async () => { }; }); +function RuntimeLoadingFallback() { + return ( +
+
+ 正在å¯åЍ +
+
+ ); +} + function isRpgRuntimeRoute(pathname: string) { const normalizedPath = normalizeAppPath(pathname); return ( @@ -126,7 +136,7 @@ export default function App() { if (isRuntimeActive) { return ( - + }> { diff --git a/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx b/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx index 834740ae..7b928788 100644 --- a/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx +++ b/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx @@ -3216,6 +3216,7 @@ export function PlatformEntryFlowShellImpl({ const enterWorldCoordinator = useRpgCreationEnterWorld({ isAgentDraftResultView: sessionController.isAgentDraftResultView, activeAgentSessionId: sessionController.activeAgentSessionId, + currentAgentSessionStage: sessionController.agentSession?.stage ?? null, generatedCustomWorldProfile: sessionController.generatedCustomWorldProfile, handleCustomWorldSelect, syncAgentDraftResultProfile: diff --git a/src/components/rpg-entry/RpgEntryCharacterSelectView.test.tsx b/src/components/rpg-entry/RpgEntryCharacterSelectView.test.tsx index d394f878..72ee4cea 100644 --- a/src/components/rpg-entry/RpgEntryCharacterSelectView.test.tsx +++ b/src/components/rpg-entry/RpgEntryCharacterSelectView.test.tsx @@ -15,7 +15,51 @@ import { import { RpgEntryCharacterSelectView } from './RpgEntryCharacterSelectView'; vi.mock('../../data/characterPresets', () => ({ - ROLE_TEMPLATE_CHARACTERS: [], + ROLE_TEMPLATE_CHARACTERS: [ + { + id: 'fallback-hero', + name: '兜底侠', + title: '默认角色', + description: '兜底角色', + backstory: '兜底背景', + personality: 'å†·é™ æžœæ–­', + gender: 'unknown', + portrait: '/portraits/fallback.png', + attributes: { + strength: 8, + agility: 8, + intelligence: 8, + spirit: 8, + }, + attributeProfile: { + schemaId: 'schema:custom:fallback', + values: { + axis_a: 8, + axis_b: 8, + axis_c: 8, + axis_d: 8, + axis_e: 8, + axis_f: 8, + }, + evidence: [], + }, + attributeProfiles: { + CUSTOM: { + schemaId: 'schema:custom:fallback', + values: { + axis_a: 8, + axis_b: 8, + axis_c: 8, + axis_d: 8, + axis_e: 8, + axis_f: 8, + }, + evidence: [], + }, + }, + skills: [], + }, + ], buildCustomWorldPlayableCharacters: vi.fn(), })); @@ -190,3 +234,46 @@ test('custom world character selection stays stable when character ids are empty expect(duplicateKeyCalls).toHaveLength(0); }); + +test('custom world character selection falls back instead of rendering a blank screen when profile characters are malformed', () => { + vi.spyOn(console, 'warn').mockImplementation(() => undefined); + vi.mocked(buildCustomWorldPlayableCharacters).mockImplementation(() => { + throw new TypeError('profile.playableNpcs is not iterable'); + }); + + render( + {}} + onConfirm={() => {}} + />, + ); + + expect(screen.getByText('选择你的角色')).toBeTruthy(); + expect(screen.getAllByText('兜底侠').length).toBeGreaterThan(0); + expect(screen.getByRole('button', { name: /进入è¥åœ°/u })).toBeTruthy(); +}); diff --git a/src/components/rpg-entry/RpgEntryCharacterSelectView.tsx b/src/components/rpg-entry/RpgEntryCharacterSelectView.tsx index c7a45f6d..8f3be02f 100644 --- a/src/components/rpg-entry/RpgEntryCharacterSelectView.tsx +++ b/src/components/rpg-entry/RpgEntryCharacterSelectView.tsx @@ -112,6 +112,19 @@ function buildSelectionCharacterKey(character: Character, index: number) { return `selection-character-${index}-${fallbackSeed}`; } +function resolveSelectionCharacters(profile: CustomWorldProfile | null) { + try { + const characters = profile + ? buildCustomWorldPlayableCharacters(profile) + : ROLE_TEMPLATE_CHARACTERS; + + return characters.length > 0 ? characters : ROLE_TEMPLATE_CHARACTERS; + } catch (error) { + console.warn('自定义世界角色数æ®å¼‚常,已回退默认角色。', error); + return ROLE_TEMPLATE_CHARACTERS; + } +} + function applyCharacterSelectionDraft( character: Character | null, draft?: CharacterSelectionDraft | null, @@ -209,7 +222,7 @@ export function RpgEntryCharacterSelectView({ onConfirm, }: RpgEntryCharacterSelectViewProps) { const selectionCharacters = useMemo( - () => (customWorldProfile ? buildCustomWorldPlayableCharacters(customWorldProfile) : ROLE_TEMPLATE_CHARACTERS), + () => resolveSelectionCharacters(customWorldProfile), [customWorldProfile], ); const selectionEntries = useMemo( @@ -329,7 +342,18 @@ export function RpgEntryCharacterSelectView({ }; if (!selectedCharacter || !selectedCharacterMeta) { - return null; + return ( +
+ +
è§’è‰²æ•°æ®æš‚ä¸å¯ç”¨
+
+ ); } return ( diff --git a/src/components/rpg-entry/useRpgCreationEnterWorld.test.tsx b/src/components/rpg-entry/useRpgCreationEnterWorld.test.tsx index e048fd65..8a8cb6ca 100644 --- a/src/components/rpg-entry/useRpgCreationEnterWorld.test.tsx +++ b/src/components/rpg-entry/useRpgCreationEnterWorld.test.tsx @@ -4,6 +4,8 @@ import { act, render } from '@testing-library/react'; import { describe, expect, it, vi } from 'vitest'; import type { CustomWorldAgentSessionSnapshot } from '../../../packages/shared/src/contracts/customWorldAgent'; +import type { RpgCreationResultView } from '../../../packages/shared/src/contracts/rpgCreationResultView'; +import type { CustomWorldProfileRecord } from '../../../packages/shared/src/contracts/runtime'; import { type CustomWorldProfile, WorldType } from '../../types'; import { useRpgCreationEnterWorld } from './useRpgCreationEnterWorld'; @@ -69,7 +71,9 @@ function buildProfile(params: { }; } -function buildSession(): CustomWorldAgentSessionSnapshot { +function buildSession( + stage: CustomWorldAgentSessionSnapshot['stage'] = 'ready_to_publish', +): CustomWorldAgentSessionSnapshot { return { sessionId: 'session-1', currentTurn: 1, @@ -85,7 +89,7 @@ function buildSession(): CustomWorldAgentSessionSnapshot { }, progressPercent: 100, lastAssistantReply: '', - stage: 'ready_to_publish', + stage, focusCardId: null, creatorIntent: null, creatorIntentReadiness: { @@ -113,6 +117,31 @@ function buildSession(): CustomWorldAgentSessionSnapshot { }; } +function buildResultView(params: { + stage?: CustomWorldAgentSessionSnapshot['stage']; + profile: CustomWorldProfile | null; + canEnterWorld?: boolean; +}): RpgCreationResultView { + const stage = params.stage ?? 'ready_to_publish'; + const profileRecord = params.profile + ? (structuredClone(params.profile) as unknown as CustomWorldProfileRecord) + : null; + return { + session: buildSession(stage), + profile: profileRecord, + profileSource: profileRecord ? 'result_preview' : 'none', + targetStage: 'custom-world-result', + generationViewSource: null, + resultViewSource: profileRecord ? 'agent-draft' : null, + canAutosaveLibrary: true, + canSyncResultProfile: stage !== 'published', + publishReady: true, + canEnterWorld: params.canEnterWorld ?? stage === 'published', + blockerCount: 0, + recoveryAction: 'open_result', + }; +} + describe('useRpgCreationEnterWorld', () => { it('Agent è‰ç¨¿æµ‹è¯•è¿›å…¥æ¸¸æˆæ—¶ä¼˜å…ˆä½¿ç”¨ç»“æžœé¡µå½“å‰ profileï¼Œè€Œä¸æ˜¯å›žé€€åˆ°ä¼šè¯å¿«ç…§', async () => { const resultProfile = buildProfile({ @@ -167,4 +196,148 @@ describe('useRpgCreationEnterWorld', () => { handleCustomWorldSelect.mock.calls[0]?.[0].playableNpcs[0]?.imageSrc, ).toBe('/generated-characters/draft-role/portrait.png'); }); + + it('Agent è‰ç¨¿å‘布时先ä¿å­˜å½“å‰ç»“果页 profile,å†å‘é€ publish_world 并回读结果页', async () => { + const resultProfile = buildProfile({ + id: 'draft-profile', + name: 'å‘布å‰å¡«å†™å†…容', + imageSrc: '/generated-characters/draft-role/portrait.png', + }); + const syncedProfile = buildProfile({ + id: 'draft-profile', + name: 'å·²ä¿å­˜çš„填写内容', + imageSrc: '/generated-characters/draft-role/synced.png', + }); + const publishedProfile = buildProfile({ + id: 'draft-profile', + name: 'å·²å‘布世界', + imageSrc: '/generated-characters/draft-role/published.png', + }); + const callOrder: string[] = []; + const handleCustomWorldSelect = vi.fn(); + const setGeneratedCustomWorldProfile = vi.fn(); + const syncAgentDraftResultProfile = vi.fn(async () => { + callOrder.push('save'); + return { + profile: syncedProfile, + view: buildResultView({ + stage: 'ready_to_publish', + profile: syncedProfile, + canEnterWorld: false, + }), + }; + }); + const executePublishWorld = vi.fn(async () => { + callOrder.push('publish'); + return buildSession('published'); + }); + const syncAgentCreationResultView = vi.fn(async () => { + callOrder.push('reload'); + return buildResultView({ + stage: 'published', + profile: publishedProfile, + canEnterWorld: true, + }); + }); + + function Harness() { + const { publishCurrentResult } = useRpgCreationEnterWorld({ + isAgentDraftResultView: true, + activeAgentSessionId: 'session-1', + currentAgentSessionStage: 'ready_to_publish', + generatedCustomWorldProfile: resultProfile, + handleCustomWorldSelect, + syncAgentDraftResultProfile, + executePublishWorld, + syncAgentCreationResultView, + setGeneratedCustomWorldProfile, + }); + + return ( + + ); + } + + const { getByText } = render(); + await act(async () => { + getByText('å‘布').click(); + }); + + expect(callOrder).toEqual(['save', 'publish', 'reload']); + expect(syncAgentDraftResultProfile).toHaveBeenCalledWith(resultProfile); + expect(executePublishWorld).toHaveBeenCalledTimes(1); + expect(syncAgentCreationResultView).toHaveBeenCalledWith('session-1'); + expect(setGeneratedCustomWorldProfile).toHaveBeenCalledWith(syncedProfile); + expect( + setGeneratedCustomWorldProfile.mock.calls.at(-1)?.[0]?.id, + ).toBe('draft-profile'); + expect( + setGeneratedCustomWorldProfile.mock.calls.at(-1)?.[0]?.playableNpcs[0] + ?.imageSrc, + ).toBe('/generated-characters/draft-role/published.png'); + expect(handleCustomWorldSelect).not.toHaveBeenCalled(); + }); + + it('Agent 会è¯å·²å‘布åŽç‚¹å‡»è¿›å…¥ä¸–界ä¸å†é‡å¤å‘é€ publish_world', async () => { + const resultProfile = buildProfile({ + id: 'published-profile', + name: 'å·²å‘布世界', + imageSrc: '/generated-characters/published-role/portrait.png', + }); + const publishedView = buildResultView({ + stage: 'published', + profile: resultProfile, + canEnterWorld: true, + }); + const handleCustomWorldSelect = vi.fn(); + const setGeneratedCustomWorldProfile = vi.fn(); + const executePublishWorld = vi.fn(async () => buildSession('published')); + const syncAgentCreationResultView = vi.fn(async () => publishedView); + const syncAgentDraftResultProfile = vi.fn(async () => ({ + profile: resultProfile, + view: null, + })); + + function Harness() { + const { enterWorldFromCurrentResult } = useRpgCreationEnterWorld({ + isAgentDraftResultView: true, + activeAgentSessionId: 'session-1', + currentAgentSessionStage: 'published', + generatedCustomWorldProfile: resultProfile, + handleCustomWorldSelect, + syncAgentDraftResultProfile, + executePublishWorld, + syncAgentCreationResultView, + setGeneratedCustomWorldProfile, + }); + + return ( + + ); + } + + const { getByText } = render(); + await act(async () => { + getByText('进入世界').click(); + }); + + expect(syncAgentDraftResultProfile).not.toHaveBeenCalled(); + expect(executePublishWorld).not.toHaveBeenCalled(); + expect(syncAgentCreationResultView).toHaveBeenCalledWith('session-1'); + expect(setGeneratedCustomWorldProfile).toHaveBeenCalledTimes(1); + expect(setGeneratedCustomWorldProfile.mock.calls[0]?.[0]?.id).toBe( + 'published-profile', + ); + expect(handleCustomWorldSelect).toHaveBeenCalledTimes(1); + expect(handleCustomWorldSelect.mock.calls[0]?.[0]?.id).toBe( + 'published-profile', + ); + }); }); diff --git a/src/components/rpg-entry/useRpgCreationEnterWorld.ts b/src/components/rpg-entry/useRpgCreationEnterWorld.ts index a3c22707..89f6cee1 100644 --- a/src/components/rpg-entry/useRpgCreationEnterWorld.ts +++ b/src/components/rpg-entry/useRpgCreationEnterWorld.ts @@ -1,6 +1,7 @@ import { useCallback } from 'react'; import type { RpgCreationResultView } from '../../../packages/shared/src/contracts/rpgCreationResultView'; +import type { CustomWorldAgentSessionSnapshot } from '../../../packages/shared/src/contracts/customWorldAgent'; import type { CustomWorldRuntimeLaunchOptions } from '../platform-entry/platformEntryTypes'; import { rpgCreationPreviewAdapter } from '../../services/rpg-creation/rpgCreationPreviewAdapter'; import type { CustomWorldProfile } from '../../types'; @@ -8,6 +9,7 @@ import type { CustomWorldProfile } from '../../types'; type UseRpgCreationEnterWorldParams = { isAgentDraftResultView: boolean; activeAgentSessionId: string | null; + currentAgentSessionStage?: CustomWorldAgentSessionSnapshot['stage'] | null; generatedCustomWorldProfile: CustomWorldProfile | null; handleCustomWorldSelect: ( customWorldProfile: CustomWorldProfile, @@ -33,6 +35,7 @@ export function useRpgCreationEnterWorld( const { isAgentDraftResultView, activeAgentSessionId, + currentAgentSessionStage, generatedCustomWorldProfile, handleCustomWorldSelect, syncAgentDraftResultProfile, @@ -77,6 +80,17 @@ export function useRpgCreationEnterWorld( return generatedCustomWorldProfile; } + if (currentAgentSessionStage === 'published') { + const latestView = await syncAgentCreationResultView(activeAgentSessionId); + const publishedProfile = + rpgCreationPreviewAdapter.buildPreviewFromResultView(latestView) ?? + generatedCustomWorldProfile; + // 中文注释:已å‘布会è¯çš„“进入世界â€åªè¯»å–åŽç«¯ç»“果页真相, + // ä¸èƒ½å†åŒæ­¥è‰ç¨¿æˆ–é‡å¤å‘é€ publish_world,å¦åˆ™ä¼šè¢«å‘布阶段门槛拒ç»ã€‚ + setGeneratedCustomWorldProfile(publishedProfile); + return publishedProfile; + } + const syncedResult = await syncAgentDraftResultProfile( generatedCustomWorldProfile, ); @@ -112,6 +126,7 @@ export function useRpgCreationEnterWorld( return publishedProfile; }, [ activeAgentSessionId, + currentAgentSessionStage, executePublishWorld, generatedCustomWorldProfile, isAgentDraftResultView, diff --git a/src/components/rpg-runtime-shell/RpgRuntimeShell.tsx b/src/components/rpg-runtime-shell/RpgRuntimeShell.tsx index d4d5e592..300068a7 100644 --- a/src/components/rpg-runtime-shell/RpgRuntimeShell.tsx +++ b/src/components/rpg-runtime-shell/RpgRuntimeShell.tsx @@ -25,6 +25,16 @@ const RpgRuntimeOverlayHost = lazy(async () => { }; }); +function RuntimeLayerLoadingFallback({ label }: { label: string }) { + return ( +
+
+ {label} +
+
+ ); +} + /** * RPG è¿è¡Œæ€æ€»å¤–壳。 * 这里承接è¿è¡Œæ—¶ä¸»å¸ƒå±€ã€ç”»å¸ƒèˆžå°ã€ä¸»é˜¶æ®µè·¯ç”±å’Œ overlay host, @@ -167,7 +177,7 @@ export function RpgRuntimeShell({ }} > {gameState.worldType ? ( - + }> {gameState.worldType ? ( - + }> { ); }); + it('normalizes detail profiles before runtime launch consumes them', async () => { + requestJsonMock.mockResolvedValueOnce({ + entry: { + ownerUserId: 'owner-1', + profileId: 'profile-1', + publicWorkCode: 'CW-1', + authorPublicUserCode: 'U-1', + profile: { + id: 'profile-1', + name: 'æ—§æ•°æ®ä¸–界', + summary: 'åªæœ‰æ‘˜è¦å­—段的旧 profile。', + }, + visibility: 'published', + publishedAt: '2026-05-21T00:00:00.000Z', + updatedAt: '2026-05-21T00:00:00.000Z', + authorDisplayName: '作者', + worldName: 'æ—§æ•°æ®ä¸–界', + subtitle: 'æ—§æ•°æ®', + summaryText: 'åªæœ‰æ‘˜è¦å­—段的旧 profile。', + coverImageSrc: null, + themeMode: 'martial', + playableNpcCount: 0, + landmarkCount: 0, + }, + }); + + const entry = await getRpgEntryWorldGalleryDetail('owner-1', 'profile-1'); + + expect(Array.isArray(entry.profile.playableNpcs)).toBe(true); + expect(Array.isArray(entry.profile.storyNpcs)).toBe(true); + expect(Array.isArray(entry.profile.landmarks)).toBe(true); + expect(entry.profile.attributeSchema.schemaVersion).toBe(1); + }); + + it('falls back to entry summary when old detail profile cannot be normalized', async () => { + requestJsonMock.mockResolvedValueOnce({ + entry: { + ownerUserId: 'owner-1', + profileId: 'profile-1', + publicWorkCode: 'CW-1', + authorPublicUserCode: 'U-1', + profile: { + id: 'profile-1', + summary: '缺少 name 的旧 profile。', + }, + visibility: 'published', + publishedAt: '2026-05-21T00:00:00.000Z', + updatedAt: '2026-05-21T00:00:00.000Z', + authorDisplayName: '作者', + worldName: '摘è¦å…œåº•世界', + subtitle: 'æ—§æ•°æ®', + summaryText: '缺少 name 的旧 profile。', + coverImageSrc: null, + themeMode: 'martial', + playableNpcCount: 0, + landmarkCount: 0, + }, + }); + + const entry = await getRpgEntryWorldGalleryDetail('owner-1', 'profile-1'); + + expect(entry.profile.id).toBe('profile-1'); + expect(entry.profile.name).toBe('摘è¦å…œåº•世界'); + expect(Array.isArray(entry.profile.playableNpcs)).toBe(true); + }); + it('reads owned library detail from the runtime entry route', async () => { requestJsonMock.mockResolvedValueOnce({ entry: { diff --git a/src/services/rpg-entry/rpgEntryLibraryClient.ts b/src/services/rpg-entry/rpgEntryLibraryClient.ts index 7a58a116..1e6bc052 100644 --- a/src/services/rpg-entry/rpgEntryLibraryClient.ts +++ b/src/services/rpg-entry/rpgEntryLibraryClient.ts @@ -7,13 +7,62 @@ import { import type { CustomWorldGalleryDetailResponse, CustomWorldGalleryResponse, + CustomWorldLibraryEntry, CustomWorldLibraryMutationResponse, CustomWorldLibraryResponse, } from '../../../packages/shared/src/contracts/runtime'; +import { normalizeCustomWorldProfileRecord } from '../../data/customWorldLibrary'; import type { CustomWorldProfile } from '../../types'; export type { RuntimeRequestOptions }; +type RpgEntryWorldEntry = CustomWorldLibraryEntry; +type RpgEntryWorldMutationResponse = + CustomWorldLibraryMutationResponse; + +function normalizeRpgEntryWorldProfile(entry: RpgEntryWorldEntry) { + const rawProfile = + entry.profile && typeof entry.profile === 'object' ? entry.profile : {}; + const fallbackProfile = { + id: entry.profileId, + name: entry.worldName, + subtitle: entry.subtitle, + summary: entry.summaryText, + settingText: entry.summaryText || entry.worldName, + playableNpcs: [], + storyNpcs: [], + items: [], + landmarks: [], + }; + const normalizedProfile = + normalizeCustomWorldProfileRecord({ + ...fallbackProfile, + ...rawProfile, + }) ?? normalizeCustomWorldProfileRecord(fallbackProfile); + + return { + ...entry, + profile: normalizedProfile ?? entry.profile, + } as RpgEntryWorldEntry; +} + +function normalizeRpgEntryWorldEntries( + entries: RpgEntryWorldEntry[] | null | undefined, +) { + return Array.isArray(entries) + ? entries.map((entry) => normalizeRpgEntryWorldProfile(entry)) + : []; +} + +function normalizeRpgEntryWorldMutationResponse( + response: RpgEntryWorldMutationResponse, +) { + return { + entry: normalizeRpgEntryWorldProfile(response.entry), + entries: normalizeRpgEntryWorldEntries(response.entries), + }; +} + /** * RPG å…¥å£ä¸–界库 client 的真实实现。 * 第三批收å£åŽï¼Œå¹³å°é¦–页/详情页开始游æˆé“¾ç›´æŽ¥èµ° rpg-entry 域请求,ä¸å†åå‘ç©¿æ—§ storageService 兼容层。 @@ -33,7 +82,7 @@ export async function listRpgEntryWorldLibrary( }, ); - return Array.isArray(response?.entries) ? response.entries : []; + return normalizeRpgEntryWorldEntries(response?.entries); } export async function listRpgEntryWorldGallery( @@ -63,7 +112,7 @@ export async function getRpgEntryWorldGalleryDetail( options, ); - return response.entry; + return normalizeRpgEntryWorldProfile(response.entry); } export async function getRpgEntryWorldGalleryDetailByCode( @@ -79,7 +128,7 @@ export async function getRpgEntryWorldGalleryDetailByCode( options, ); - return response.entry; + return normalizeRpgEntryWorldProfile(response.entry); } export async function remixRpgEntryWorldGallery( @@ -96,10 +145,7 @@ export async function remixRpgEntryWorldGallery( options, ); - return { - entry: response.entry, - entries: Array.isArray(response?.entries) ? response.entries : [], - }; + return normalizeRpgEntryWorldMutationResponse(response); } export async function recordRpgEntryWorldGalleryPlay( @@ -116,7 +162,7 @@ export async function recordRpgEntryWorldGalleryPlay( options, ); - return response.entry; + return normalizeRpgEntryWorldProfile(response.entry); } export async function likeRpgEntryWorldGallery( @@ -133,7 +179,7 @@ export async function likeRpgEntryWorldGallery( options, ); - return response.entry; + return normalizeRpgEntryWorldProfile(response.entry); } export async function getRpgEntryWorldLibraryDetail( @@ -149,7 +195,7 @@ export async function getRpgEntryWorldLibraryDetail( options, ); - return response.entry; + return normalizeRpgEntryWorldProfile(response.entry); } export async function upsertRpgEntryWorldProfile( @@ -171,10 +217,7 @@ export async function upsertRpgEntryWorldProfile( options, ); - return { - entry: response.entry, - entries: Array.isArray(response?.entries) ? response.entries : [], - }; + return normalizeRpgEntryWorldMutationResponse(response); } export async function deleteRpgEntryWorldProfile( @@ -190,7 +233,7 @@ export async function deleteRpgEntryWorldProfile( options, ); - return Array.isArray(response?.entries) ? response.entries : []; + return normalizeRpgEntryWorldEntries(response?.entries); } export async function publishRpgEntryWorldProfile( @@ -206,10 +249,7 @@ export async function publishRpgEntryWorldProfile( options, ); - return { - entry: response.entry, - entries: Array.isArray(response?.entries) ? response.entries : [], - }; + return normalizeRpgEntryWorldMutationResponse(response); } export async function unpublishRpgEntryWorldProfile( @@ -225,10 +265,7 @@ export async function unpublishRpgEntryWorldProfile( options, ); - return { - entry: response.entry, - entries: Array.isArray(response?.entries) ? response.entries : [], - }; + return normalizeRpgEntryWorldMutationResponse(response); } export const rpgEntryLibraryClient = { From ae014ac881a41af5107517e4ffc6eccb84c40dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E7=89=A9?= <253518756@qq.com> Date: Fri, 22 May 2026 03:06:41 +0800 Subject: [PATCH 4/5] Switch to VectorEngine gpt-image-2 and edits Replace uses of the legacy `gpt-image-2-all` model with `gpt-image-2` and standardize image workflows: no-reference generation uses POST /v1/images/generations, any-reference flows use POST /v1/images/edits with multipart `image` parts. Update SKILLs, generation scripts, decision logs, and docs to reflect the contract change and edits-vs-generations guidance. Apply corresponding changes across backend (api-server match3d/puzzle modules, openai image adapter, mappers, telemetry, spacetime client/module), frontend components and services (Match3D, Puzzle, CreativeImageInputPanel, runtime shells), and add new spritesheet/parser files and tests. Also add media/logo.png. These changes align repository code and documentation with the VectorEngine image API contract and update generation/upload handling (green-screen -> alpha processing, spritesheet handling, and related tests). --- .codex/skills/gpt-image-2-apimart/SKILL.md | 18 +- .../generate-anthro-cat-illustrations.mjs | 4 +- .../scripts/generate-template-samples.mjs | 4 +- .hermes/shared-memory/decision-log.md | 37 +- .hermes/shared-memory/pitfalls.md | 96 ++- ...TCH_EDUTAINMENT_TEMPLATE_PRD_2026-05-11.md | 4 +- ...ATION_PUBLISH_IMPLEMENTATION_2026-05-11.md | 4 +- ...O_WARMUP_IMPLEMENTATION_SPEC_2026-05-09.md | 4 +- ...ver能力模å—化与生æˆèµ„产Adapter总纲-2026-05-14.md | 2 +- ...„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md | 7 +- ...玩法创作】平å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md | 53 +- media/logo.png | Bin 0 -> 1756883 bytes packages/shared/src/contracts/match3dWorks.ts | 9 + .../shared/src/contracts/puzzleAgentDraft.ts | 6 + .../src/contracts/puzzleRuntimeSession.ts | 4 + scripts/generate-bark-battle-assets.mjs | 4 +- scripts/generate-child-motion-demo-assets.mjs | 104 ++- scripts/generate-match3d-style-references.mjs | 6 +- scripts/generate-taonier-logo-concepts.mjs | 134 ++- .../api-server/src/generated_asset_sheets.rs | 82 +- server-rs/crates/api-server/src/match3d.rs | 41 +- .../crates/api-server/src/match3d/draft.rs | 31 +- .../api-server/src/match3d/item_assets.rs | 274 +++++-- .../crates/api-server/src/match3d/mappers.rs | 45 +- .../crates/api-server/src/match3d/tests.rs | 208 ++++- .../src/match3d/vector_engine_gemini.rs | 2 + .../crates/api-server/src/match3d/works.rs | 411 +++++++--- .../api-server/src/openai_image_generation.rs | 308 +++++-- .../api-server/src/prompt/puzzle/draft.rs | 11 +- .../api-server/src/prompt/puzzle/image.rs | 6 +- server-rs/crates/api-server/src/puzzle.rs | 10 +- .../crates/api-server/src/puzzle/draft.rs | 154 +++- .../api-server/src/puzzle/generation.rs | 339 ++++++-- .../crates/api-server/src/puzzle/handlers.rs | 103 ++- .../crates/api-server/src/puzzle/mappers.rs | 10 + .../crates/api-server/src/puzzle/tags.rs | 6 + .../crates/api-server/src/puzzle/tests.rs | 337 ++++++-- .../api-server/src/puzzle/vector_engine.rs | 249 +++--- .../crates/module-jump-hop/src/application.rs | 8 +- .../crates/module-match3d/src/application.rs | 40 +- server-rs/crates/module-match3d/src/domain.rs | 12 +- .../crates/module-puzzle/src/application.rs | 177 +++- .../module-puzzle/src/creative_tools.rs | 6 + server-rs/crates/module-puzzle/src/domain.rs | 20 + .../shared-contracts/src/match3d_agent.rs | 18 + .../shared-contracts/src/match3d_works.rs | 18 + .../shared-contracts/src/puzzle_agent.rs | 12 + .../shared-contracts/src/puzzle_runtime.rs | 8 + server-rs/crates/shared-logging/src/lib.rs | 19 +- .../crates/spacetime-client/src/jump_hop.rs | 212 +++-- server-rs/crates/spacetime-client/src/lib.rs | 21 +- .../crates/spacetime-client/src/mapper.rs | 24 +- .../spacetime-client/src/mapper/jump_hop.rs | 16 +- .../spacetime-client/src/mapper/puzzle.rs | 20 + ..._custom_world_agent_operation_procedure.rs | 1 - .../puzzle_draft_level_type.rs | 6 + .../puzzle_runtime_level_snapshot_type.rs | 4 + .../crates/spacetime-client/src/telemetry.rs | 4 +- .../crates/spacetime-module/src/puzzle.rs | 12 + .../common/CreativeImageInputPanel.test.tsx | 61 ++ .../common/CreativeImageInputPanel.tsx | 10 +- ...Match3DAgentWorkspace.interaction.test.tsx | 74 +- .../Match3DAgentWorkspace.tsx | 256 +----- .../match3d-result/Match3DResultView.test.tsx | 420 ++++------ .../match3d-result/Match3DResultView.tsx | 760 ++++++------------ .../match3d-runtime/Match3DPhysicsBoard.tsx | 2 +- .../Match3DRuntimeShell.test.tsx | 218 ++++- .../match3d-runtime/Match3DRuntimeShell.tsx | 336 +++++++- .../PlatformEntryFlowShellImpl.tsx | 39 +- .../puzzle-result/PuzzleResultView.test.tsx | 565 +++++++------ .../puzzle-result/PuzzleResultView.tsx | 661 ++++----------- .../PuzzleRuntimeShell.test.tsx | 300 ++++++- .../puzzle-runtime/PuzzleRuntimeShell.tsx | 666 +++++++++------ .../RpgEntryHomeView.recharge.test.tsx | 7 + src/components/rpg-entry/RpgEntryHomeView.tsx | 10 +- src/index.css | 552 ++++++++++--- .../match3d-runtime/match3dLocalRuntime.ts | 39 +- .../match3dGeneratedModelCache.test.ts | 16 +- src/services/match3dGeneratedModelCache.ts | 8 + src/services/match3dSpritesheetParser.test.ts | 98 +++ src/services/match3dSpritesheetParser.ts | 352 ++++++++ .../miniGameDraftGenerationProgress.test.ts | 98 ++- .../miniGameDraftGenerationProgress.ts | 316 +++++--- .../puzzle-agent/puzzleAgentClient.test.ts | 33 + .../puzzle-agent/puzzleAgentClient.ts | 3 + .../puzzle-runtime/puzzleLocalRuntime.test.ts | 45 +- .../puzzle-runtime/puzzleLocalRuntime.ts | 81 +- .../puzzleUiBackgroundSource.ts | 19 +- .../puzzleUiSpritesheetParser.test.ts | 166 ++++ .../puzzleUiSpritesheetParser.ts | 471 +++++++++++ 90 files changed, 7078 insertions(+), 3389 deletions(-) create mode 100644 media/logo.png create mode 100644 src/services/match3dSpritesheetParser.test.ts create mode 100644 src/services/match3dSpritesheetParser.ts create mode 100644 src/services/puzzle-agent/puzzleAgentClient.test.ts create mode 100644 src/services/puzzle-runtime/puzzleUiSpritesheetParser.test.ts create mode 100644 src/services/puzzle-runtime/puzzleUiSpritesheetParser.ts diff --git a/.codex/skills/gpt-image-2-apimart/SKILL.md b/.codex/skills/gpt-image-2-apimart/SKILL.md index 2cc40454..99caa76b 100644 --- a/.codex/skills/gpt-image-2-apimart/SKILL.md +++ b/.codex/skills/gpt-image-2-apimart/SKILL.md @@ -5,7 +5,7 @@ description: Generate or inspect project image assets through this repository's # gpt-image-2 VectorEngine -Use this skill for project-local image asset generation that must match the repository's `server-rs` VectorEngine `gpt-image-2-all` path. The folder still contains `apimart` in its name for compatibility with existing local plugin references. +Use this skill for project-local image asset generation that must match the repository's `server-rs` VectorEngine `gpt-image-2` path. The folder still contains `apimart` in its name for compatibility with existing local plugin references. ## Workflow @@ -40,22 +40,14 @@ Default body: ```json { - "model": "gpt-image-2-all", + "model": "gpt-image-2", "prompt": "", "n": 1, "size": "1024x1024" } ``` -For weak visual references in text-to-image generation, add: - -```json -{ - "image": ["data:image/png;base64,..."] -} -``` - -For image-to-image work that must follow a reference image closely, use the VectorEngine edits endpoint instead of the generations `image` array: +For visual references, use the edit endpoint instead of the create endpoint: ```text POST {VECTOR_ENGINE_BASE_URL}/v1/images/edits @@ -73,9 +65,9 @@ size=1024x1024 image=@reference.png ``` -Prefer edits for workflows where the reference image controls composition, pose, container shape, or layout. In this repository, Match3D container UI generation uses edits with `public/match3d-background-references/pot-fused-reference.png` as the `image` part. +In this repository, calls with no reference images use `POST /v1/images/generations`; calls with any reference image use `POST /v1/images/edits` and pass references as one or more `image` form parts. Match3D container UI generation embeds `public/match3d-background-references/pot-fused-reference.png` into the edit request as an `image` part. -Accept image output from `data[].url`, `data[].b64_json`, or direct nested `url` fields. VectorEngine GPT-image-2-all currently returns synchronously; do not poll APIMart task endpoints. +Accept image output from `data[].url`, `data[].b64_json`, or direct nested `url` fields. VectorEngine GPT-image-2 currently returns synchronously; do not poll APIMart task endpoints. ## Environment diff --git a/.codex/skills/gpt-image-2-apimart/scripts/generate-anthro-cat-illustrations.mjs b/.codex/skills/gpt-image-2-apimart/scripts/generate-anthro-cat-illustrations.mjs index 1ba9eb69..e3b1f99d 100644 --- a/.codex/skills/gpt-image-2-apimart/scripts/generate-anthro-cat-illustrations.mjs +++ b/.codex/skills/gpt-image-2-apimart/scripts/generate-anthro-cat-illustrations.mjs @@ -245,7 +245,7 @@ async function downloadUrl(url, timeoutMs) { async function generateOne(env, entry, outDir) { const requestBody = { - model: 'gpt-image-2-all', + model: 'gpt-image-2', prompt: buildPrompt(entry), n: 1, size: '1024x1024', @@ -305,7 +305,7 @@ if (dryRun) { id: entry.id, title: entry.title, body: { - model: 'gpt-image-2-all', + model: 'gpt-image-2', prompt: buildPrompt(entry), n: 1, size: '1024x1024', diff --git a/.codex/skills/gpt-image-2-apimart/scripts/generate-template-samples.mjs b/.codex/skills/gpt-image-2-apimart/scripts/generate-template-samples.mjs index 72e05646..165dac01 100644 --- a/.codex/skills/gpt-image-2-apimart/scripts/generate-template-samples.mjs +++ b/.codex/skills/gpt-image-2-apimart/scripts/generate-template-samples.mjs @@ -211,7 +211,7 @@ async function downloadUrl(url, timeoutMs) { async function generateOne(env, template, outDir) { const requestBody = { - model: 'gpt-image-2-all', + model: 'gpt-image-2', prompt: buildPrompt(template), n: 1, size: '1024x1024', @@ -275,7 +275,7 @@ if (dryRun) { id: template.id, title: template.title, body: { - model: 'gpt-image-2-all', + model: 'gpt-image-2', prompt: buildPrompt(template), n: 1, size: '1024x1024', diff --git a/.hermes/shared-memory/decision-log.md b/.hermes/shared-memory/decision-log.md index a3832d43..fc7d5029 100644 --- a/.hermes/shared-memory/decision-log.md +++ b/.hermes/shared-memory/decision-log.md @@ -19,7 +19,7 @@ ## 2026-05-21 外部 API 失败必须 OTLP 上报并è½åº“ - 背景:图片生æˆç­‰å¤–部供应商调用失败时,仅返回 502/504 或普通日志无法支æŒåŽç»­æŒ‰ providerã€é˜¶æ®µå’Œé‡è¯•属性èšåˆæŽ’障。 -- 决策:外部 API 调用未æˆåŠŸæ—¶ï¼Œ`api-server` å¿…é¡»åŒæ—¶å‘é€ OTLP 失败观测并写入 `tracking_event`。当å‰é€šç”¨ VectorEngine `gpt-image-2-all` å›¾ç‰‡ç”Ÿæˆ / 编辑适é…器记录 `external_api_call_failure`,`scope_kind = module`ã€`scope_id = provider`ã€`module_key = external-api`,metadata åŒ…å« endpointã€operationã€failureStageã€statusCodeã€statusClassã€timeoutã€retryableã€errorMessageã€latencyMsã€promptCharsã€referenceImageCountã€imageModel å’Œ rawExcerpt。 +- 决策:外部 API 调用未æˆåŠŸæ—¶ï¼Œ`api-server` å¿…é¡»åŒæ—¶å‘é€ OTLP 失败观测并写入 `tracking_event`。当å‰é€šç”¨ VectorEngine `gpt-image-2` å›¾ç‰‡ç”Ÿæˆ / 编辑适é…器记录 `external_api_call_failure`,`scope_kind = module`ã€`scope_id = provider`ã€`module_key = external-api`,metadata åŒ…å« endpointã€operationã€failureStageã€statusCodeã€statusClassã€timeoutã€retryableã€errorMessageã€latencyMsã€promptCharsã€referenceImageCountã€imageModel å’Œ rawExcerpt。 - è½åº“æ–¹å¼ï¼šä¼˜å…ˆå¤ç”¨ tracking outbox 异步批é‡å†™å…¥ï¼›outbox ä¸å¯å†™æˆ–å› ä¿æŠ¤é˜ˆå€¼æ‹’ç»æ—¶å›žé€€åŒæ­¥ç›´å†™ SpacetimeDBã€‚ä¸æ–°å¢ž SpacetimeDB 表,ä¸è®© reducer åšå¤–部 I/O。 - å½±å“范围:`server-rs/crates/api-server/src/external_api_audit.rs`ã€`server-rs/crates/api-server/src/openai_image_generation.rs`ã€`server-rs/crates/api-server/src/telemetry.rs`ã€tracking outboxã€åŽç«¯æž¶æž„文档和开å‘è¿ç»´æ–‡æ¡£ã€‚ - éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œ `cargo test -p api-server external_api_audit --manifest-path server-rs/Cargo.toml -- --nocapture`ã€`cargo test -p api-server openai_image_generation --manifest-path server-rs/Cargo.toml -- --nocapture`ã€`cargo check -p api-server --manifest-path server-rs/Cargo.toml`ã€`npm run check:encoding`。 @@ -42,6 +42,15 @@ - éªŒè¯æ–¹å¼ï¼šç›®æ ‡æœº `nginx -T 2>/dev/null | grep client_max_body_size` 应看到 `client_max_body_size 64m;`;大于 1 MiB çš„å‚考图请求ä¸å†åœ¨ Nginx 层直接 413,access log 应出现有效 `upstream_status`。 - å…³è”æ–‡æ¡£ï¼š`deploy/nginx/README.md`ã€`docs/ã€å¼€å‘è¿ç»´ã€‘本地开å‘验è¯ä¸Žç”Ÿäº§è¿ç»´-2026-05-15.md`。 +## 2026-05-22 抓大鹅素æç”Ÿæˆæ”¹ä¸ºå…³å¡æ•´å›¾æ´¾ç”Ÿä¸‰å›¾ + +- 背景:旧抓大鹅素æé“¾è·¯æŒ‰ç‰©å“ 5x5 sheetã€çº¯èƒŒæ™¯å’Œç‹¬ç«‹å®¹å™¨å›¾åˆ†å¼€ç”Ÿäº§ï¼Œéš¾ä»¥ä¿è¯èƒŒæ™¯ã€UIã€å®¹å™¨å’Œç‰©å“风格一致,也让结果页继续暴露背景 / 容器é‡ç”Ÿæˆå…¥å£ã€‚ +- 决策:抓大鹅è‰ç¨¿ç”Ÿæˆå…ˆç”¨ `gpt-image-2` æ— å‚考图生æˆç«–å± `9:16` 完整关å¡ç”»é¢ï¼›å…³å¡ç”»é¢å®ŒæˆåŽï¼Œä»¥å®ƒä½œä¸ºå‚考并å‘生æˆä¸‰å¼ å¯è¿è¡Œèµ„产:`1K 1:1` UI spritesheetã€`1K 9:16` å…³å¡èƒŒæ™¯å›¾ã€`2K 1:1` ç‰©å“ spritesheet。UI ä¸Žç‰©å“ spritesheet éƒ½å›ºå®šè¦æ±‚纯绿色绿幕背景,åŽç«¯ä¸Šä¼  OSS 剿‰£æˆçœŸå®žé€æ˜Ž PNGã€‚ç‰©å“ spritesheet 固定 `10*10`,æ¯è¡Œä¸¤ç§ç‰©å“ã€æ¯ç§äº”个形æ€ã€‚è¿è¡Œæ€å’Œç¼–辑器都按 alpha è¿žé€šåŸŸçŸ©å½¢æ£€æµ‹è§£æž UI 和物å“å›¾é›†ï¼Œä¸æŒ‰å›ºå®šåƒç´ å标切图。 +- 兼容:新增字段继续存入现有 `generatedItemAssets[].backgroundAsset` / `generatedBackgroundAsset` JSONï¼Œä¸æ–°å¢ž SpacetimeDB schema å­—æ®µã€‚åŽ†å² `containerImage*` 字段åªä½œå…¼å®¹ï¼›å¦‚果它与 `uiSpritesheetImage*` åŒæºï¼Œä¸å¾—å†ä½œä¸ºè¿è¡Œæ€ä¸­å¿ƒå®¹å™¨å›¾ã€‚ +- å½±å“范围:`server-rs/crates/api-server/src/match3d/*`ã€`server-rs/crates/shared-contracts/src/match3d_*`ã€`packages/shared/src/contracts/match3dWorks.ts`ã€`src/components/match3d-result/Match3DResultView.tsx`ã€`src/components/match3d-runtime/Match3DRuntimeShell.tsx`ã€`src/services/match3dSpritesheetParser.ts`。 +- éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œ `cargo test -p api-server match3d --manifest-path server-rs\Cargo.toml`ã€`npm run test -- src/components/match3d-result/Match3DResultView.test.tsx src/components/match3d-runtime/Match3DRuntimeShell.test.tsx src/services/match3dSpritesheetParser.test.ts src/services/match3dGeneratedModelCache.test.ts`ã€`npm run typecheck`ã€`npm run check:encoding`。 +- å…³è”æ–‡æ¡£ï¼š`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`。 + ## 2026-05-18 Rust 手写模å—å…¥å£ç»Ÿä¸€ä¸ç”¨ mod.rs @@ -223,6 +232,7 @@ ## 2026-05-14 抓大鹅物å“ç´ æ sheet 改用 VectorEngine Gemini +- 状æ€ï¼šåކå²å†³ç­–,已被 `2026-05-22 抓大鹅素æç”Ÿæˆæ”¹ä¸ºå…³å¡æ•´å›¾æ´¾ç”Ÿä¸‰å›¾` å–代;当å‰ç‰©å“ spritesheet èµ° `gpt-image-2` å‚è€ƒå…³å¡æ•´å›¾ç¼–è¾‘ç”Ÿæˆ `2K 1:1`ã€`10*10` 绿幕图,上传 OSS 剿‰£æˆé€æ˜Ž PNG。 - 背景:抓大鹅 2D 五视角物å“ç´ æä»æ²¿ç”¨ 5x5 sheetã€ç»¿å¹•去背ã€åˆ‡å›¾ã€OSS 转存和 `generatedItemAssets` æŒä¹…åŒ–ï¼Œä½†ç”¨æˆ·è¦æ±‚物å“ç´ æå›¾ç‰‡ç”Ÿæˆæ­¥éª¤æ”¹ç”¨ VectorEngine Apifox `api-381740608` 对应的 Gemini 原生图片接å£ã€‚ - 决策:抓大鹅物å“ç´ æ sheet 生图固定走 VectorEngine `POST {VECTOR_ENGINE_BASE_URL}/v1beta/models/gemini-3-pro-image-preview:generateContent?key={VECTOR_ENGINE_API_KEY}`,请求体使用 `contents[].parts[].text` 与 `generationConfig.responseModalities = ["TEXT", "IMAGE"]`ã€`imageConfig.aspectRatio = "1:1"`ï¼›å“应从 `candidates[].content.parts[].inlineData.data` / `inline_data.data` è¯»å– base64 图片。å°é¢ã€9:16 纯背景图ã€1:1 容器 UI 图ã€åˆ‡å›¾ã€OSSã€æ‰£è´¹å’Œè¿è¡Œæ€æ¶ˆè´¹é“¾è·¯ä¿æŒä¸å˜ï¼›éŸ³é¢‘以åŽç»­â€œæ‹¼å›¾ä¸ŽæŠ“大鹅音频生æˆå…¥å£ä¸´æ—¶å…³é—­â€å†³ç­–为准。 - å½±å“范围:`server-rs/crates/api-server/src/match3d.rs`ã€`server-rs/crates/api-server/src/config.rs`ã€`deploy/env/api-server.env.example`ã€æŠ“å¤§é¹…ç´ æç”ŸæˆæŠ€æœ¯æ–‡æ¡£ã€‚ @@ -274,7 +284,7 @@ ## 2026-05-12 抓大鹅入å£ç´ æé£Žæ ¼æ”¹ä¸º 2D 常è§ç´ æé£Žæ ¼ - 背景:抓大鹅è‰ç¨¿ç´ æç”Ÿæˆå·²ç»æ”¶æ•›ä¸ºå¤šè§†è§’ 2D 图片素æï¼Œä½†å…¥å£é¡µå’Œæ—§å‚è€ƒå›¾ä»æ²¿ç”¨é»åœŸã€ä½Žå¤šè¾¹å½¢ã€å¡‘æ–™ã€æœ¨é›•ã€ä½“ç´ ã€é‡‘属等å 3D ç´ æè¯­è¨€ï¼Œå®¹æ˜“让åŽç»­ç”Ÿæˆé“¾è·¯å’Œç”¨æˆ·é¢„期继续漂移。 -- å†³ç­–ï¼šæŠ“å¤§é¹…åˆ›ä½œå…¥å£ `2Dç´ æé£Žæ ¼` 固定为 `æ‰å¹³å›¾æ ‡ / èµ›ç’ç’å¡é€š / åƒç´ å¤å¤ / 手绘水彩 / 贴纸æè¾¹ / 厚涂图标 / 自定义`;默认风格为 `flat-icon`。入å£å‚考图统一由 `npm run assets:match3d-style-references -- --live` 调用 VectorEngine `gpt-image-2-all` 生æˆï¼Œè¾“出到 `public/match3d-style-references/`。旧 3D 风格å‚考图ä¸å†ä¿ç•™ä¸ºå…¥å£èµ„产。 +- å†³ç­–ï¼šæŠ“å¤§é¹…åˆ›ä½œå…¥å£ `2Dç´ æé£Žæ ¼` 固定为 `æ‰å¹³å›¾æ ‡ / èµ›ç’ç’å¡é€š / åƒç´ å¤å¤ / 手绘水彩 / 贴纸æè¾¹ / 厚涂图标 / 自定义`;默认风格为 `flat-icon`。入å£å‚考图统一由 `npm run assets:match3d-style-references -- --live` 调用 VectorEngine `gpt-image-2` 生æˆï¼Œè¾“出到 `public/match3d-style-references/`。旧 3D 风格å‚考图ä¸å†ä¿ç•™ä¸ºå…¥å£èµ„产。 - å½±å“范围:`Match3DAgentWorkspace`ã€æŠ“å¤§é¹…å…¥å£äº¤äº’测试ã€Match3D PRDã€ç´ æç”Ÿæˆæµæ°´çº¿æŠ€æœ¯æ–‡æ¡£ã€F1 入壿–‡æ¡£å’Œ `public/match3d-style-references/` 陿€èµ„产。 - éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œ `npm run test -- src\components\match3d-creation\Match3DAgentWorkspace.interaction.test.tsx`ã€`cargo test -p shared-contracts match3d --manifest-path server-rs\Cargo.toml`ã€`npm run typecheck`ã€`npm run check:encoding`,并人工抽查 `.tmp/match3d-style-preview.png`。 - å…³è”æ–‡æ¡£ï¼š`docs/prd/AI_NATIVE_MATCH3D_CREATOR_AND_GAMEPLAY_SYSTEM_PRD_2026-04-30.md`ã€`docs/technical/MATCH3D_DRAFT_ASSET_GENERATION_PIPELINE_2026-05-10.md`ã€`docs/technical/MATCH3D_F1_CREATION_ENTRY_AND_AGENT_UI_2026-04-30.md`。 @@ -290,8 +300,9 @@ ## 2026-05-12 拼图 UI 背景图å¤ç”¨ levels_json æŒä¹…化 - 背景:拼图è‰ç¨¿ç»“果页需è¦åƒæŠ“å¤§é¹…ä¸€æ ·æ”¯æŒ UI 背景生æˆï¼Œä½†é¦–版åªéœ€è¦ä½œå“级/首关背景,ä¸åº”为图片生æˆç»“果新增 SpacetimeDB 表结构。 -- 决策:拼图 UI 背景字段存入首关 `levels_json`,字段为 `uiBackgroundPrompt`ã€`uiBackgroundImageSrc`ã€`uiBackgroundImageObjectKey`ï¼›`compile_puzzle_draft` è‰ç¨¿ç¼–译阶段自动生æˆé¦–å…³ UI 背景,自动è‰ç¨¿é˜¶æ®µå¿…须拿到 `uiBackgroundImageSrc` 或 `uiBackgroundImageObjectKey` æ‰èƒ½è¿”回æˆåŠŸï¼›ç»“æžœé¡µæ–°å¢ž `UI` Tab,å¯ç¼–辑æç¤ºè¯å¹¶è§¦å‘ `generate_puzzle_ui_background`,手动生æˆå¤±è´¥åªå±•示在当å‰é¢æ¿ã€‚`api-server` è¯»å– `public/ui-previews/puzzle-image-compact-ui-2026-05-08.png` ä½œä¸ºéžæ‹¼å›¾ UI å‚考图,调用 VectorEngine `gpt-image-2-all` ç”Ÿæˆ 9:16 èƒŒæ™¯å¹¶è¦æ±‚中央正方形拼图区与外部 UI 背景边界清晰。SpacetimeDB åªä¿å­˜ç»“果,ä¸åšå¤–部 I/O。 +- 决策:拼图 UI 背景字段存入首关 `levels_json`,字段为 `uiBackgroundPrompt`ã€`uiBackgroundImageSrc`ã€`uiBackgroundImageObjectKey`ï¼›`compile_puzzle_draft` è‰ç¨¿ç¼–译阶段自动生æˆé¦–å…³ UI 背景,自动è‰ç¨¿é˜¶æ®µå¿…须拿到 `uiBackgroundImageSrc` 或 `uiBackgroundImageObjectKey` æ‰èƒ½è¿”回æˆåŠŸï¼›ç»“æžœé¡µæ–°å¢ž `UI` Tab,å¯ç¼–辑æç¤ºè¯å¹¶è§¦å‘ `generate_puzzle_ui_background`,手动生æˆå¤±è´¥åªå±•示在当å‰é¢æ¿ã€‚`api-server` è¯»å– `public/ui-previews/puzzle-image-compact-ui-2026-05-08.png` ä½œä¸ºéžæ‹¼å›¾ UI å‚考图,调用 VectorEngine `gpt-image-2` ç”Ÿæˆ 9:16 èƒŒæ™¯å¹¶è¦æ±‚中央正方形拼图区与外部 UI 背景边界清晰。SpacetimeDB åªä¿å­˜ç»“果,ä¸åšå¤–部 I/O。 - 2026-05-18 追加:为缩短首版è‰ç¨¿ç­‰å¾…,`compile_puzzle_draft` 在首关命åå’Œ `uiBackgroundPrompt` 稳定åŽå¹¶è¡Œå¯åЍ首关关å¡å›¾ç”Ÿæˆä¸Ž UI 背景生æˆï¼›ä¸Šä¼ ä¸»å›¾ä¸”关闭 AI é‡ç»˜æ—¶ï¼Œå¹¶è¡Œæ‰§è¡Œä¸Šä¼ å›¾æŒä¹…化与 UI 背景生æˆã€‚生æˆé¡µé¢„è®¡å®Œæˆæ—¶é—´æŒ‰ 5 分钟展示。 +- 2026-05-21 追加:拼图结果页独立“素æé…ç½®â€Tab 已移除,UI spritesheet 与关å¡çº¯èƒŒæ™¯æ”¶å£åˆ°æ¯å…³å›¾ç‰‡ç”Ÿæˆèµ„äº§åŒ…ã€‚æ¯æ¬¡ `gpt-image-2` 预计 90 ç§’ï¼›è‰ç¨¿å®Œæ•´ AI é‡ç»˜è·¯å¾„约 298 秒,上传图且关闭 AI é‡ç»˜è·¯å¾„跳过首图生æˆçº¦ 208 秒。结果页关å¡è¯¦æƒ…ç»§ç»­å¤ç”¨ `CreativeImageInputPanel`,本次上传/历å²é€‰æ‹©å›¾ä¼˜å…ˆæˆä¸ºä¸»å›¾å¡ç‰‡ï¼Œæ­£å¼å›¾åªä½œä¸ºæ— æ–°å‚考图时的预览;仅有正å¼å›¾æ—¶ä»å…è®¸åœ¨ç”»é¢æè¿°æ¡†ä¸Šä¼ å¤šå¼ å‚考图。 - å½±å“èŒƒå›´ï¼šæ‹¼å›¾ç»“æžœé¡µã€æ‹¼å›¾è¿è¡Œæ€èƒŒæ™¯æ¸²æŸ“ã€æ‹¼å›¾ agent actionã€`module-puzzle` / `spacetime-module` / `spacetime-client` çš„æ‹¼å›¾å…³å¡ JSON æ˜ å°„ã€æ‹¼å›¾æµç¨‹æŠ€æœ¯æ–‡æ¡£ã€‚ - éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œ `npm run test -- src/components/puzzle-result/PuzzleResultView.test.tsx`ã€`cargo test -p api-server puzzle_ui_background --manifest-path server-rs/Cargo.toml`ã€`cargo check -p api-server --manifest-path server-rs/Cargo.toml`ã€`npm run typecheck`ã€`npm run check:encoding`。 - å…³è”æ–‡æ¡£ï¼š`docs/technical/PUZZLE_FORM_CREATION_FLOW_2026-04-29.md`。 @@ -299,7 +310,7 @@ ## 2026-05-12 抓大鹅结果页素æç¼–辑统一走作å“çº§èµ„äº§é¢æ¿ - èƒŒæ™¯ï¼šæŠ“å¤§é¹…ç»“æžœé¡µéœ€è¦æ”¯æŒå°é¢å›¾ä¸Šä¼  / AI é‡ç»˜ã€ç‰©å“ç´ æç‹¬ç«‹é¢„览ã€å•é¡¹åˆ é™¤å’Œæ‰¹é‡æ–°å¢žï¼Œä¸”ä¸èƒ½æŠŠç´ æç¼–è¾‘ç»§ç»­åšæˆåˆ—表内è”展开或å‰ç«¯ä¸´æ—¶çжæ€ã€‚ -- 决策:结果页 `作å“ä¿¡æ¯` çš„å°é¢å›¾ç‚¹å‡»æ‰“å¼€ç‹¬ç«‹é¢æ¿ï¼Œå°é¢å›¾é¢æ¿å¯¹é½æ‹¼å›¾å…¥å£ä¸Šä¼ å¡ã€‚已有上传主图时,请求体传 `uploadedImageSrc`,AI é‡ç»˜èµ° VectorEngine `/v1/images/edits`;关闭 AI é‡ç»˜æ—¶åªå†™å›žä¸Šä¼ å›¾ï¼Œä¸è°ƒç”¨ç”Ÿå›¾ã€‚没有上传主图时,请求体传 `referenceImageSrcs`ï¼Œå¯æ··åˆæœ¬åœ°ä¸Šä¼ ã€ç‰©å“ç´ æå’Œ UI ç´ æï¼Œå¤šå‚考图作为 `gpt-image-2-all` generations çš„ `image` 数组传入。生æˆç»“果统一调用 `POST /api/creation/match3d/works/{profileId}/cover-image` 并转存到 `generated-match3d-assets`。`ç´ æé…ç½® > 物å“` åˆ—è¡¨é¡¹ç‚¹å‡»æ‰“å¼€ç‹¬ç«‹é¢„è§ˆé¢æ¿ï¼Œä¸å†æä¾›å•项釿–°ç”ŸæˆæŒ‰é’®ï¼›å•é¡¹åˆ é™¤å’Œæ‰¹é‡æ–°å¢žéƒ½å†™å›žåŒä¸€ä»½ `generated_item_assets_json`ã€‚æ‰¹é‡æ–°å¢žè°ƒç”¨ `POST /api/creation/match3d/works/{profileId}/item-assets`,å¤ç”¨è‰ç¨¿ç”Ÿæˆçš„ 2D ç´ æå›¾ã€5x5 切图ã€OSS 上传和å¯é€‰ç‚¹å‡»éŸ³æ•ˆé“¾è·¯ï¼Œä»…作用于新增物å“ï¼Œä¸æ–°å¢ž SpacetimeDB 表。 +- 决策:结果页 `作å“ä¿¡æ¯` çš„å°é¢å›¾ç‚¹å‡»æ‰“å¼€ç‹¬ç«‹é¢æ¿ï¼Œå°é¢å›¾é¢æ¿å¯¹é½æ‹¼å›¾å…¥å£ä¸Šä¼ å¡ã€‚已有上传主图时,请求体传 `uploadedImageSrc`,AI é‡ç»˜èµ° VectorEngine `/v1/images/edits`,åŽç«¯æŠŠä¸Šä¼ å›¾ä½œä¸º multipart `image` part ä¼ å…¥ `gpt-image-2`;关闭 AI é‡ç»˜æ—¶åªå†™å›žä¸Šä¼ å›¾ï¼Œä¸è°ƒç”¨ç”Ÿå›¾ã€‚没有上传主图但存在 `referenceImageSrcs` 时,多å‚è€ƒå›¾åŒæ ·èµ° edits 的多个 `image` part;完全无å‚考图时走 `/v1/images/generations`。生æˆç»“果统一调用 `POST /api/creation/match3d/works/{profileId}/cover-image` 并转存到 `generated-match3d-assets`。`ç´ æé…ç½® > 物å“` åˆ—è¡¨é¡¹ç‚¹å‡»æ‰“å¼€ç‹¬ç«‹é¢„è§ˆé¢æ¿ï¼Œä¸å†æä¾›å•项釿–°ç”ŸæˆæŒ‰é’®ï¼›å•é¡¹åˆ é™¤å’Œæ‰¹é‡æ–°å¢žéƒ½å†™å›žåŒä¸€ä»½ `generated_item_assets_json`ã€‚æ‰¹é‡æ–°å¢žè°ƒç”¨ `POST /api/creation/match3d/works/{profileId}/item-assets`;该接å£çš„ç‰©å“ spritesheet 生æˆå£å¾„已被 2026-05-22 å†³ç­–æ›´æ–°ä¸ºå…³å¡æ•´å›¾å‚考ã€`10*10` 绿幕图和上传å‰é€æ˜ŽåŒ–。 - å½±å“范围:Match3D 结果页ã€Match3D works shared contractsã€`api-server` Match3D 作å“路由ã€ç”Ÿæˆèµ„产历å²ç±»åž‹å’Œè‰ç¨¿æ¢å¤è·¯å¾„。 - éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œ `npm run test -- src/components/match3d-result/Match3DResultView.test.tsx`ã€`npm run typecheck`ã€`cargo test -p api-server match3d --manifest-path server-rs/Cargo.toml`ã€`cargo check -p api-server --manifest-path server-rs/Cargo.toml`ã€`npm run check:encoding`。 - å…³è”æ–‡æ¡£ï¼š`docs/technical/MATCH3D_DRAFT_ASSET_GENERATION_PIPELINE_2026-05-10.md`。 @@ -322,7 +333,7 @@ ## 2026-05-13 å®è´çˆ±ç”»å…ˆä½œä¸ºå¯“教于ä¹ç‹¬ç«‹æœ¬åœ° Demo è½åœ° - 背景:第三关 `å®è´çˆ±ç”»` 需è¦é»˜è®¤å‡ºçŽ°åœ¨â€œå‘现 / 寓教于ä¹â€æ¿å—下方,但本阶段åªéªŒè¯ç”»æ¿ã€æ‰‹éƒ¨ç»˜åˆ¶ã€ç»˜ç”»é­”法和本地ä¿å­˜é—­çŽ¯ï¼Œä¸è¿›å…¥åˆ›ä½œæ¨¡æ¿ã€å…¬å¼€ä½œå“æˆ–æ­£å¼æŒä¹…化。 -- 决策:`baby-love-drawing / å®è´çˆ±ç”»` 先作为独立è¿è¡Œæ€æŽ¥å…¥ï¼Œå…¥å£ç”±å‘现页寓教于ä¹é»˜è®¤å¡ç‰‡æ‰“å¼€ï¼Œå¹¶æ”¯æŒ `/runtime/baby-love-drawing` 直达;关闭 `VITE_ENABLE_EDUTAINMENT_ENTRY` æ—¶å‰ç«¯ä¸å±•示频é“/å¡ç‰‡ä¸”直达路由回è½ä¸»åº”用。绘画魔法统一走 `POST /api/creation/edutainment/baby-love-drawing/magic` åŽç«¯å®‰å…¨ä»£ç†ï¼Œä½¿ç”¨ VectorEngine `gpt-image-2-all` 与原始画布 Data URL å‚考图生æˆç»˜æœ¬é£Žå›¾ç‰‡ï¼›ä¿å­˜åªå†™ localStorageï¼Œæ­£å¼æŒä¹…化åŽç»­å†è®¾è®¡ã€‚ +- 决策:`baby-love-drawing / å®è´çˆ±ç”»` 先作为独立è¿è¡Œæ€æŽ¥å…¥ï¼Œå…¥å£ç”±å‘现页寓教于ä¹é»˜è®¤å¡ç‰‡æ‰“å¼€ï¼Œå¹¶æ”¯æŒ `/runtime/baby-love-drawing` 直达;关闭 `VITE_ENABLE_EDUTAINMENT_ENTRY` æ—¶å‰ç«¯ä¸å±•示频é“/å¡ç‰‡ä¸”直达路由回è½ä¸»åº”用。绘画魔法统一走 `POST /api/creation/edutainment/baby-love-drawing/magic` åŽç«¯å®‰å…¨ä»£ç†ï¼Œä½¿ç”¨ VectorEngine `gpt-image-2` 与原始画布 Data URL å‚考图生æˆç»˜æœ¬é£Žå›¾ç‰‡ï¼›ä¿å­˜åªå†™ localStorageï¼Œæ­£å¼æŒä¹…化åŽç»­å†è®¾è®¡ã€‚ - å½±å“范围:`packages/shared/src/contracts/edutainmentBabyDrawing.ts`ã€`src/components/edutainment-runtime/BabyLoveDrawingRuntimeShell.tsx`ã€`src/services/edutainment-baby-drawing/`ã€`src/routing/appRoutes.tsx`ã€`src/components/rpg-entry/RpgEntryHomeView.tsx`ã€`server-rs/crates/api-server/src/edutainment_baby_drawing.rs`ã€`src/index.css`ã€å®è´çˆ±ç”» PRD 与技术方案。 - éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œå®è´çˆ±ç”» model/runtime/service/route å®šå‘æµ‹è¯•ã€`npm run typecheck`ã€å®šå‘ ESLintã€`cargo test -p api-server edutainment_baby_drawing --manifest-path server-rs/Cargo.toml`ã€`cargo test -p api-server resolves_runtime_paths_to_creation_type_ids --manifest-path server-rs/Cargo.toml` å’Œç¼–ç æ£€æŸ¥ï¼›çœŸå®žé­”法生æˆéœ€é…ç½® `VECTOR_ENGINE_BASE_URL` 与 `VECTOR_ENGINE_API_KEY`。 - å…³è”æ–‡æ¡£ï¼š`docs/prd/BABY_LOVE_DRAWING_EDUTAINMENT_LEVEL_PRD_2026-05-13.md`ã€`docs/technical/BABY_LOVE_DRAWING_RUNTIME_DEMO_IMPLEMENTATION_2026-05-13.md`。 @@ -355,7 +366,7 @@ ## 2026-05-10 儿童动作 Demo 视觉资产统一为绘本è‰åœ°èˆžå° - 背景:儿童动作 Demo 需è¦ä»Žæš—色科技风切æ¢åˆ°æ›´é€‚åˆå„¿ç«¥äº’动的å¡é€šç»˜æœ¬è‰åœ°é£Žæ ¼ï¼Œå¹¶ä¸”è¦è®©èƒŒæ™¯ã€åœ°é¢ã€UIã€åœ°é¢æŒ‡ç¤ºçŽ¯å’Œç”¨æˆ·è½®å»“ä½¿ç”¨åŒä¸€å¥— image-2 资æºå£å¾„。 -- 决策:热身舞å°åŠåŽç»­å„¿ç«¥åŠ¨ä½œ Demo 场景ã€ç‰©å“ã€UI 资æºç»Ÿä¸€é‡‡ç”¨æ˜Žäº®å¡é€šç»˜æœ¬è‰åœ°è§†è§‰è¯­è¨€ã€‚真实资æºé»˜è®¤è¾“出到 `public/child-motion-demo/`。背景沿用 `picture-book-grass-stage.png`;地é¢ã€æŒ‡ç¤ºçޝã€è§’色指示器和 UI 已拆分为用途专属资æºï¼š`picture-book-foreground-grass-v2.png`ã€`picture-book-ground-ring-v3.png`ã€`picture-book-character-outline-v4.png`ã€`picture-book-hud-strip-v2.png`ã€`picture-book-calibration-strip-v2.png`ã€`picture-book-start-panel-v2.png` å’Œ `picture-book-ui-button-v2.png`。其中角色指示器 v4 基于 v2 本地åŽå¤„ç†ä¸ºæ›´ç»†çš„白色æè¾¹æ ·å¼ï¼Œå†…éƒ¨é€æ˜Žï¼Œè€³æœµã€æ‰‹æŒ‡ã€è„šè¶¾ç­‰ç»†èŠ‚å·²å¼±åŒ–ï¼Œé¡µé¢æ˜¾ç¤ºå°ºå¯¸ç›¸å¯¹ä¸Šä¸€ç‰ˆæ”¾å¤§ 50%。生æˆè„šæœ¬å›ºå®šä¸º `scripts/generate-child-motion-demo-assets.mjs`,并通过 `npm run assets:child-motion-demo` 调用 VectorEngine `gpt-image-2-all`ï¼›é€æ˜Žèµ„æºä½¿ç”¨å“红底生æˆåŽæœ¬åœ°åŽ»èƒŒï¼Œä¸­é—´æºå›¾ä»…ä¿å­˜åœ¨ `tmp/child-motion-demo-assets/`。在缺少 `VECTOR_ENGINE_BASE_URL` 或 `VECTOR_ENGINE_API_KEY` 时,åªå…许 dry-run å’Œ CSS 兜底,ä¸ä¼ªé€  live 生图结果。 +- 决策:热身舞å°åŠåŽç»­å„¿ç«¥åŠ¨ä½œ Demo 场景ã€ç‰©å“ã€UI 资æºç»Ÿä¸€é‡‡ç”¨æ˜Žäº®å¡é€šç»˜æœ¬è‰åœ°è§†è§‰è¯­è¨€ã€‚真实资æºé»˜è®¤è¾“出到 `public/child-motion-demo/`。背景沿用 `picture-book-grass-stage.png`;地é¢ã€æŒ‡ç¤ºçޝã€è§’色指示器和 UI 已拆分为用途专属资æºï¼š`picture-book-foreground-grass-v2.png`ã€`picture-book-ground-ring-v3.png`ã€`picture-book-character-outline-v4.png`ã€`picture-book-hud-strip-v2.png`ã€`picture-book-calibration-strip-v2.png`ã€`picture-book-start-panel-v2.png` å’Œ `picture-book-ui-button-v2.png`。其中角色指示器 v4 基于 v2 本地åŽå¤„ç†ä¸ºæ›´ç»†çš„白色æè¾¹æ ·å¼ï¼Œå†…éƒ¨é€æ˜Žï¼Œè€³æœµã€æ‰‹æŒ‡ã€è„šè¶¾ç­‰ç»†èŠ‚å·²å¼±åŒ–ï¼Œé¡µé¢æ˜¾ç¤ºå°ºå¯¸ç›¸å¯¹ä¸Šä¸€ç‰ˆæ”¾å¤§ 50%。生æˆè„šæœ¬å›ºå®šä¸º `scripts/generate-child-motion-demo-assets.mjs`,并通过 `npm run assets:child-motion-demo` 调用 VectorEngine `gpt-image-2`ï¼›é€æ˜Žèµ„æºä½¿ç”¨å“红底生æˆåŽæœ¬åœ°åŽ»èƒŒï¼Œä¸­é—´æºå›¾ä»…ä¿å­˜åœ¨ `tmp/child-motion-demo-assets/`。在缺少 `VECTOR_ENGINE_BASE_URL` 或 `VECTOR_ENGINE_API_KEY` 时,åªå…许 dry-run å’Œ CSS 兜底,ä¸ä¼ªé€  live 生图结果。 - å½±å“范围:`src/index.css`ã€`src/components/child-motion-demo/ChildMotionWarmupDemo.tsx` 的舞å°è§†è§‰å±‚ã€å„¿ç«¥åŠ¨ä½œ Demo 技术文档ã€åŽç»­ image-2 èµ„äº§ç”Ÿæˆæµç¨‹ã€‚ - éªŒè¯æ–¹å¼ï¼šæ£€æŸ¥ `/child-motion-demo` èˆžå°æ˜¯å¦åœ¨æœªç”Ÿæˆèµ„äº§æ—¶ä»æœ‰å¯ç”¨è‰åœ°ç»˜æœ¬å…œåº•ï¼›è¡¥é½ VectorEngine ç§å¯†é…ç½®åŽè¿è¡Œ `npm run assets:child-motion-demo -- --live` 或 `--live --only ` 应能写出对应 PNG,并确认页é¢é™æ€èµ„æºè¿”回 `image/png`。若åªè°ƒæ•´é€æ˜ŽåŽ»èƒŒã€è£åˆ‡æˆ–å“红边缘,å¯è¿è¡Œ `npm run assets:child-motion-demo -- --live --postprocess-only --force --only ` å¤ç”¨æºå›¾åŽå¤„ç†ã€‚é¡µé¢æŽ¥å…¥æ—¶å¿…é¡»æŒ‰èµ„æºåŽŸå§‹æ¯”ä¾‹ç­‰æ¯”ä½¿ç”¨ï¼Œä¸å¾—æŠŠæ–¹å½¢è½¯çº¸é¢æ¿æ‹‰ä¼¸æˆ HUDã€çŠ¶æ€æ¡æˆ–底部è‰åªã€‚ - å…³è”æ–‡æ¡£ï¼š`docs/technical/CHILD_MOTION_DEMO_WARMUP_IMPLEMENTATION_SPEC_2026-05-09.md`ã€`docs/technical/VECTOR_ENGINE_GPT_IMAGE_2_GENERATION_2026-05-09.md`。 @@ -403,11 +414,19 @@ ## 2026-05-09 GPT-image-2 图片生æˆç»Ÿä¸€è¿ç§»åˆ° VectorEngine - 背景:仓库内 RPGã€æ‹¼å›¾ã€æ–¹æ´žå’Œæœ¬åœ°æ¨¡æ¿è„šæœ¬çš„ GPT-image-2 生图此å‰ä¾èµ– APIMart å›¾ç‰‡ç½‘å…³ï¼›å›¢é˜Ÿè¦æ±‚å‚考 VectorEngine Apifox `api-448710071`,åŽç»­ä¸å†ä½¿ç”¨ APIMart 执行 GPT-image-2 图片生æˆã€‚ -- 决策:所有 GPT-image-2 生图请求统一走 VectorEngine `POST /v1/images/generations`,基础é…ç½®è¯»å– `VECTOR_ENGINE_BASE_URL` / `VECTOR_ENGINE_API_KEY` / `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`,上游模型使用 `gpt-image-2-all`,请求体ä¸å†æºå¸¦ `official_fallback`,å‚考图字段改为 `image`。APIMart åªä¿ç•™ç»™åˆ›æ„ Agent çš„ `gpt-5` Responses 文本/多模æ€é“¾è·¯ã€‚ +- 决策:所有 GPT-image-2 æ— å‚考图生图请求统一走 VectorEngine `POST /v1/images/generations`,有å‚考图请求走 `POST /v1/images/edits` multipart,基础é…ç½®è¯»å– `VECTOR_ENGINE_BASE_URL` / `VECTOR_ENGINE_API_KEY` / `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`,上游模型使用 `gpt-image-2`,请求体ä¸å†æºå¸¦ `official_fallback`。APIMart åªä¿ç•™ç»™åˆ›æ„ Agent çš„ `gpt-5` Responses 文本/多模æ€é“¾è·¯ã€‚ - å½±å“范围:`api-server` 共享图片 helperã€æ‹¼å›¾å›¾ç‰‡ç”Ÿæˆã€è§’色主图ã€RPG 场景图ã€å¼€å±€ CG 故事æ¿ã€æ–¹æ´žè§†è§‰èµ„产ã€ç”Ÿäº§çŽ¯å¢ƒç¤ºä¾‹ã€gpt-image-2 本地 skill 和相关技术文档。 - éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œ `npm run check:encoding`ã€`cargo test -p api-server openai_image --manifest-path server-rs/Cargo.toml`ã€`cargo test -p api-server puzzle --manifest-path server-rs/Cargo.toml`ã€`cargo test -p api-server custom_world_ai --manifest-path server-rs/Cargo.toml`ã€`cargo test -p api-server character_visual --manifest-path server-rs/Cargo.toml`,并用 `npm run dev:api-server` + `/healthz` åšåŽç«¯ smoke。 - å…³è”æ–‡æ¡£ï¼š`docs/technical/VECTOR_ENGINE_GPT_IMAGE_2_GENERATION_2026-05-09.md`ã€`docs/technical/API_SERVER_EXTERNAL_SERVICE_ENV_CONFIG_2026-05-07.md`。 +## 2026-05-21 GPT-image-2 å‚考图统一走 edits multipart + +- 背景:VectorEngine Apifox 创建 `api-446794806` 与编辑 `api-446794807` 明确区分无å‚考图创建和有å‚考图编辑;仓库旧实现曾把å‚考图塞入 `gpt-image-2` generations çš„ `image` 数组,导致与供应商当å‰å¥‘约ä¸ä¸€è‡´ã€‚ +- 决策:所有 GPT-image-2 æ— å‚考图生æˆè°ƒç”¨ `POST /v1/images/generations`,所有有å‚考图生æˆè°ƒç”¨ `POST /v1/images/edits`,模型固定 `gpt-image-2`,å‚考图作为 multipart `image` part 传入;仓库ä¸å†è°ƒç”¨ `gpt-image-2-all`。 +- å½±å“范围:`api-server` 共享图片 helperã€æ‹¼å›¾å›¾ç‰‡ç”Ÿæˆã€Match3D å°é¢é‡ç»˜å’Œå®¹å™¨ UI 图ã€gpt-image-2 本地 skillã€çŽ©æ³•é“¾è·¯æ–‡æ¡£å’ŒåŽç«¯æž¶æž„文档。 +- éªŒè¯æ–¹å¼ï¼šæœç´¢ä»“库ä¸åº”å†å‡ºçް VectorEngine 图片编辑路径调用;执行 `cargo test -p api-server openai_image_generation --manifest-path server-rs/Cargo.toml`ã€`cargo test -p api-server puzzle_vector_engine --manifest-path server-rs/Cargo.toml`ã€`cargo test -p api-server match3d_background --manifest-path server-rs/Cargo.toml`。 +- å…³è”æ–‡æ¡£ï¼š`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`ã€`docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md`。 + ## 2026-05-08 Hyper3D Rodin Gen-2 åªé€šè¿‡åŽç«¯å®‰å…¨ä»£ç†æŽ¥å…¥ - èƒŒæ™¯ï¼šéœ€è¦æŽ¥å…¥ Hyper3D Rodin Gen-2 的文生 3D 模型与图生 3D 模型,但供应商 API Key ä¸èƒ½è¿›å…¥å‰ç«¯ã€æ–‡æ¡£æˆ– Gitï¼›æœ¬æ¬¡åªæ˜¯å¤–部副作用代ç†ï¼Œä¸éœ€è¦æ–°å¢žå¹³å°çœŸç›¸è¡¨ã€‚ @@ -581,7 +600,7 @@ ## 2026-05-10 视觉å°è¯´å…¥å£æ”¶æ•›ä¸ºå•å¥åˆ›ä½œ + 画风选择 - 背景:视觉å°è¯´å…¥å£é¡µè¦å¯¹é½æŠ“大鹅å¼çš„线性创作入å£ï¼Œåªä¿ç•™æœ€å°å¯ç”¨è¾“入,é¿å…冿š´éœ²æ–‡æ¡£ / 空白 / 对è¯å¼å·¥ä½œå°ã€‚ -- 决策:入å£é¡µåªå±•示一å¥è¯åˆ›ä½œè¾“入框和横å‘视觉画风å¡ç‰‡ï¼›ç”»é£Žé€šè¿‡ `seedText` 追加 `视觉画风` å’Œ `ç”»é£Žè¦æ±‚` 两行é€ä¼ ç»™æ—¢æœ‰åˆ›ä½œé“¾è·¯ï¼›ç‚¹å‡»ç”ŸæˆåŽå…ˆè¿›å…¥ `visual-novel-generating` 过程页,å†è‡ªåŠ¨è¿›å…¥ `visual-novel-result`。画风å¡ç‰‡ä¸»è§†è§‰å›ºå®šæ¶ˆè´¹ `public/visual-novel-style-references/` 下由 VectorEngine `gpt-image-2-all` 生æˆçš„陿€å‚考图,ä¸åœ¨å‰ç«¯è¿è¡Œæ—¶çŽ°åœºè°ƒç”¨ç”Ÿå›¾æŽ¥å£ã€‚ +- 决策:入å£é¡µåªå±•示一å¥è¯åˆ›ä½œè¾“入框和横å‘视觉画风å¡ç‰‡ï¼›ç”»é£Žé€šè¿‡ `seedText` 追加 `视觉画风` å’Œ `ç”»é£Žè¦æ±‚` 两行é€ä¼ ç»™æ—¢æœ‰åˆ›ä½œé“¾è·¯ï¼›ç‚¹å‡»ç”ŸæˆåŽå…ˆè¿›å…¥ `visual-novel-generating` 过程页,å†è‡ªåŠ¨è¿›å…¥ `visual-novel-result`。画风å¡ç‰‡ä¸»è§†è§‰å›ºå®šæ¶ˆè´¹ `public/visual-novel-style-references/` 下由 VectorEngine `gpt-image-2` 生æˆçš„陿€å‚考图,ä¸åœ¨å‰ç«¯è¿è¡Œæ—¶çŽ°åœºè°ƒç”¨ç”Ÿå›¾æŽ¥å£ã€‚ - å½±å“范围:`VisualNovelAgentWorkspace`ã€`visualNovelEntryGeneration`ã€`PlatformEntryFlowShellImpl`ã€è§†è§‰å°è¯´ PRD 和创作 Tab è®¾è®¡æ–‡æ¡£ï¼›ä¸æ–°å¢žåŽç«¯å­—段或数æ®åº“结构。 - éªŒè¯æ–¹å¼ï¼šæ‰§è¡Œ `npm run test -- VisualNovelAgentWorkspace`ã€è§†è§‰å°è¯´å·¥ä½œå°ç›¸å…³ ESLintã€`npx prettier --check` å’Œ `npm run check:encoding`ï¼›`npm run typecheck` è‹¥å¤±è´¥éœ€å…ˆåŒºåˆ†æ˜¯å¦æ¥è‡ªæ— å…³ Match3D / RPG 既有改动。 - å…³è”æ–‡æ¡£ï¼š`docs/prd/AI_NATIVE_VISUAL_NOVEL_TEMPLATE_PRD_2026-05-05.md`ã€`docs/design/PLATFORM_CREATE_TAB_CREATIVE_AGENT_HOME_2026-05-05.md`。 @@ -605,7 +624,7 @@ ## 2026-05-12 抓大鹅物å“ç§ç±»ä»Žæ¶ˆé™¤æ¬¡æ•°ä¸­æ‹†å‡ºå¹¶æ”¹ä¸º 2D 五视角素æ - 背景:结果页è‰ç¨¿ç´ æå·²ç»èƒ½ç”Ÿæˆå’Œé¢„览,但标准 / 硬核难度ä»å¯èƒ½æŒ‰ `clearCount` è¯¯åˆ¤éœ€è¦ 12 / 20 ç§ç´ æï¼Œä¸”继续生产 GLB 会拉长è‰ç¨¿ç”Ÿæˆè€—时。 -- 决策:难度é…置统一使用 `物å“ç§ç±»`ï¼šè½»æ¾ 3ã€æ ‡å‡† 9ã€è¿›é˜¶ 15ã€ç¡¬æ ¸ 21;历å²ç¡¬æ ¸ `clearCount=20` 在è¿è¡Œæ€å‡ä¸º 21 组三消。新è‰ç¨¿å’Œæ‰¹é‡æ–°å¢žä¸å†è°ƒç”¨ Rodinã€ä¸å†ç”Ÿæˆ GLB。æ¯ä¸ªç‰©å“ç”Ÿæˆ 5 个ä¸åŒ 2D 视角,å•å¼  1K ç´ æå›¾å›ºå®šæŒ‰ 5x5 切割,最多承载 5 个物å“;超过 5 ä¸ªç‰©å“æ—¶ç”± `api-server` 自动分批并行生图。å‘å¸ƒå¿…é¡»æ ¡éªŒå·²ç”Ÿæˆ `image_ready` 且有 `imageViews[]` æˆ–é¦–å›¾å¼•ç”¨çš„ç´ ææ•°é‡æ»¡è¶³å½“å‰éš¾åº¦ï¼›è¯•玩通过 `itemTypeCountOverride` 自动é™åˆ°å¯ç”¨ 2D ç´ ææ•°é‡ã€‚åŽ†å²æ¨¡åž‹å­—段åªä½œä¸ºæ—§æ•°æ®å…¼å®¹ï¼Œä¸å†è¿›å…¥æ–°ç”Ÿäº§é“¾è·¯ã€‚ +- 决策:难度é…置统一使用è¿è¡Œæ€ `物å“ç§ç±»`ï¼šè½»æ¾ 3ã€æ ‡å‡† 9ã€è¿›é˜¶ 15ã€ç¡¬æ ¸ 20;历å²ç¡¬æ ¸ `clearCount=20` 在è¿è¡Œæ€ä»å‡ä¸º 21 组三消,但类型池最多 20 ç§ã€‚æ–°è‰ç¨¿å’Œæ‰¹é‡æ–°å¢žä¸å†è°ƒç”¨ Rodinã€ä¸å†ç”Ÿæˆ GLBã€‚æ¯æ¬¡å›ºå®šä»Ž `2K 1:1`ã€`10*10` ç‰©å“ spritesheet è§£æžå¹¶æŒä¹…化 20 个物å“ã€æ¯ä¸ª 5 个ä¸åŒ 2D å½¢æ€ï¼Œç‰©å“ä¿¡æ¯åˆ—表全部展示 20 个;æŒä¹…化行列索引按æ¯è¡Œä¸¤ç§ç‰©å“计算,ä¸èƒ½è¶…过 `1..=10`。å‘å¸ƒå¿…é¡»æ ¡éªŒå·²ç”Ÿæˆ `image_ready` 且有 `imageViews[]`ã€é¦–图引用或å¯è§£æžçš„ç‰©å“ spritesheet 满足当å‰éš¾åº¦ï¼›è¯•玩通过 `itemTypeCountOverride` 自动é™åˆ°å¯ç”¨ 2D ç´ ææ•°é‡ã€‚åŽ†å²æ¨¡åž‹å­—段åªä½œä¸ºæ—§æ•°æ®å…¼å®¹ï¼Œä¸å†è¿›å…¥æ–°ç”Ÿäº§é“¾è·¯ã€‚ - å½±å“范围:Match3D 结果页ã€è¿è¡Œæ€å¯åŠ¨å¥‘çº¦ã€`module-match3d` åˆå§‹ run 生æˆã€SpacetimeDB start input / restartã€å‘布校验和 Match3D 技术文档。 - éªŒè¯æ–¹å¼ï¼š`npm run test -- src/components/match3d-result/Match3DResultView.test.tsx`ã€`cargo test -p module-match3d --manifest-path server-rs\Cargo.toml`ã€ç›¸å…³åŽç«¯ check / tests。 - å…³è”æ–‡æ¡£ï¼š`docs/technical/MATCH3D_DRAFT_ASSET_GENERATION_PIPELINE_2026-05-10.md`。 diff --git a/.hermes/shared-memory/pitfalls.md b/.hermes/shared-memory/pitfalls.md index 0d1ef2cf..9e4efa7a 100644 --- a/.hermes/shared-memory/pitfalls.md +++ b/.hermes/shared-memory/pitfalls.md @@ -14,6 +14,32 @@ - å…³è”ï¼šç›¸å…³æ–‡ä»¶ã€æ–‡æ¡£ã€æäº¤æˆ– Issue ``` +## 抓大鹅新 UI spritesheet ä¸è¦å›žé€€æˆä¸­å¿ƒå®¹å™¨å›¾ + +- çŽ°è±¡ï¼šæ–°ç´ ææµç¨‹ç”ŸæˆåŽï¼Œè¿è¡Œæ€æ£‹ç›˜ä¸­å¿ƒå¯èƒ½å å‡ºä¸€æ•´å¼  UI spritesheet,导致按钮素æã€æ–¹æ ¼å’Œç©ºç™½å›¾é›†è¦†ç›–容器区域。 +- 原因:为了兼容旧 DTO,åŽç«¯å¯èƒ½æŠŠ `uiSpritesheetImage*` åŒæ­¥å†™å…¥åŽ†å² `containerImage*` 字段;旧å‰ç«¯åªçœ‹ `containerImage*`,会误把 UI 图集当逿˜Žä¸­å¿ƒå®¹å™¨ã€‚ +- 处ç†ï¼šè¯»å–中心容器图时先比较归一化åŽçš„ `containerImage*` 与 `uiSpritesheetImage*`ã€‚ä¸¤è€…åŒæºæ—¶å¿½ç•¥ `containerImage*`ï¼ŒåªæŠŠå®ƒä½œä¸ºæ—§æ•°æ®å…¼å®¹å­—段;新æµç¨‹èƒŒæ™¯å›¾æœ¬èº«å·²ç»ä¿ç•™å®¹å™¨ï¼Œè¿è¡Œæ€åªéœ€åŠ è½½èƒŒæ™¯å’Œè§£æž UI / ç‰©å“ spritesheet。 +- 验è¯ï¼š`npm run test -- src/components/match3d-runtime/Match3DRuntimeShell.test.tsx` 应覆盖“è¿è¡Œæ€ä¸æŠŠå…¼å®¹å†™å…¥çš„UI spritesheet当中心容器图â€ã€‚ +- å…³è”:`src/components/match3d-runtime/Match3DRuntimeShell.tsx`ã€`server-rs/crates/api-server/src/match3d/mappers.rs`ã€`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`。 + +## UI spritesheet ä¸è¦ä¾èµ–模型直接生æˆé€æ˜ŽèƒŒæ™¯ + +- 现象:拼图或抓大鹅è¿è¡Œæ€è§£æž UI spritesheet æ—¶ï¼ŒæŠŠæ•´å¼ èƒŒæ™¯å›¾ã€æ£‹ç›˜æ ¼ã€å¶å­æˆ–装饰图也当作 UI ç´ æåŒºåŸŸï¼ŒæŒ‰é’®æ˜ å°„错乱;截图里常表现为底部按钮区åªå‰©é€æ˜Žæ£‹ç›˜æ ¼æˆ–ç´ æç¢Žç‰‡ã€‚ +- 原因:å‰ç«¯è§£æžä¾èµ– alpha è¿žé€šåŸŸæ£€æµ‹ï¼Œé€æ˜ŽèƒŒæ™¯æ˜¯å‰æï¼›ä½†ç”Ÿå›¾æ¨¡åž‹æ”¶åˆ°â€œé€æ˜ŽèƒŒæ™¯ spritesheetâ€æç¤ºåŽä»å¯èƒ½è¾“å‡ºå¸¦å®žæ™¯èƒŒæ™¯æˆ–ä¼ªé€æ˜Žæ£‹ç›˜æ ¼çš„æ™®é€šä¸é€æ˜Ž PNG,OSS 中ä¿å­˜çš„图没有真实 alpha。 +- 处ç†ï¼šUI spritesheet æç¤ºè¯åº”è¦æ±‚ç»Ÿä¸€çº¯ç»¿è‰²ç»¿å¹•èƒŒæ™¯ï¼Œè€Œä¸æ˜¯è®©æ¨¡åž‹ç›´æŽ¥äº§é€æ˜ŽèƒŒæ™¯ï¼›åŽç«¯åœ¨ä¸Šä¼  OSS å‰å¤ç”¨ `generated_asset_sheets::apply_generated_asset_sheet_green_screen_alpha(...)` 把绿幕扣æˆçœŸå®žé€æ˜Ž PNGï¼Œå†æŠŠé€æ˜Žå›¾å†™å…¥ `uiSpritesheetImageSrc/uiSpritesheetImageObjectKey`。 +- 验è¯ï¼š`cargo test -p api-server puzzle_ui_spritesheet_postprocess_turns_green_screen_transparent --manifest-path server-rs\Cargo.toml`ã€`cargo test -p api-server puzzle_level_scene_spritesheet_and_background_requests_use_references --manifest-path server-rs\Cargo.toml`ã€`cargo test -p api-server match3d_derived_asset_prompts_match_three_sheet_pipeline --manifest-path server-rs\Cargo.toml`。 +- å…³è”:`server-rs/crates/api-server/src/puzzle/generation.rs`ã€`server-rs/crates/api-server/src/match3d/works.rs`ã€`server-rs/crates/api-server/src/generated_asset_sheets.rs`ã€`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`。 + +## 拼图 UI spritesheet è¿è¡Œæ€ä¸è¦äºŒæ¬¡åŒ…圆底或拉伸比例 + +- 现象:拼图è¿è¡Œæ€å·¦ä¸Šè¿”回和å³ä¸Šè®¾ç½®æŒ‰é’®å¤–é¢å‡ºçŽ°ç™½è‰²åœ†åœˆï¼›åº•éƒ¨â€œæç¤º / 原图 / 冻结â€ä¸‰æžšç´ æè¢«åŽ‹æ‰ã€æ‹‰å®½æˆ–æ‹‰æˆæ­£åœ†ï¼Œå’Œå›¾é›†åŽŸå§‹æŒ‰é’®æ¯”ä¾‹ä¸ä¸€è‡´ã€‚ +- 原因:UI spritesheet å·²ç»åŒ…嫿Œ‰é’®è§†è§‰æœ¬ä½“,但è¿è¡Œæ€ä»ç»™é¡¶éƒ¨æŒ‰é’®å¥—默认圆形 icon 容器;底部三枚素æç”¨ `h-full w-full rounded-full` 铺满按钮格,覆盖了自动检测矩形的真实宽高比。 +- 处ç†ï¼šæœ‰ `uiSpritesheetImage*` 时,顶部返回 / 设置按钮容器åªä¿ç•™é€æ˜Žç‚¹å‡»åŒºå’Œ focus 状æ€ï¼Œä¸å†å åŠ é»˜è®¤åœ†å½¢åº•ï¼›`buildPuzzleUiSpriteBackgroundStyle(...)` 对检测到的矩形写入 `aspectRatio`ï¼Œåº•éƒ¨ä¸‰æžšç´ ææŒ‰åŽŸå§‹å®½é«˜æ¯”å’Œæœ€å¤§å°ºå¯¸æ¸²æŸ“ï¼Œä¸å¼ºåˆ¶ `w-full`。 +- 验è¯ï¼š`npm run test -- src/components/puzzle-runtime/PuzzleRuntimeShell.test.tsx`ã€`npm run test -- src/services/puzzle-runtime/puzzleUiSpritesheetParser.test.ts`。 +- å…³è”:`src/components/puzzle-runtime/PuzzleRuntimeShell.tsx`ã€`src/services/puzzle-runtime/puzzleUiSpritesheetParser.ts`ã€`docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md`。 + +2026-05-22 补充:展示矩形和点击热区è¦åˆ†å¼€å¤„ç†ã€‚`puzzleUiSpritesheetParser` çš„ `regions` ä¿ç•™å®Œæ•´è§†è§‰è£åˆ‡çŸ©å½¢ï¼Œ`hitRegions` 用较高 alpha 阈值åªåŒ…ä½å®žå¿ƒæŒ‰é’®ä¸»ä½“ï¼›è¿è¡Œæ€åº•部 spritesheet é“具按钮å¯ç”¨ `puzzle-runtime-sprite-tool-button--precise-hit`,父按钮ä¸åƒæ•´å—逿˜Žç•™ç™½ï¼Œå†…部 `puzzle-runtime-ui-sprite-hit-zone` æ‰æŽ¥æ”¶æŒ‡é’ˆäº‹ä»¶ï¼Œé¿å…逿˜ŽåŒºåŸŸæˆä¸ºç‚¹å‡»çƒ­åŒºã€‚ + ## 图åƒè¾“入组件ä¸è¦æŠŠä¸šåŠ¡çŠ¶æ€è—在页é¢å†…è”实现里 - 现象:拼图页把å‚考图上传ã€ç¼©ç•¥å›¾ã€ä¸»å›¾åˆ é™¤ç¡®è®¤å’Œ AI é‡ç»˜å¼€å…³å†…è”实现åŽï¼ŒåŽç»­æƒ³å¤ç”¨åˆ°å…¶å®ƒåˆ›ä½œé¡µæ—¶ï¼Œé¡µé¢çº§çжæ€å’Œé€šç”¨ UI çŠ¶æ€æ··åœ¨ä¸€èµ·ï¼Œå®¹æ˜“出现多套上传å¡å’Œå‚考图展示å£å¾„。 @@ -22,6 +48,14 @@ - 验è¯ï¼šæ‹¼å›¾å…¥å£æµ‹è¯•ä»å¯é€šè¿‡ï¼Œä¸”新组件å¯é€šè¿‡ä¸åŒé¡µé¢å¤ç”¨è€Œä¸éœ€è¦å¤åˆ¶ä¸Šä¼ å¡å®žçŽ°ã€‚ - å…³è”:`src/components/common/CreativeImageInputPanel.tsx`ã€`src/components/puzzle-agent/PuzzleAgentWorkspace.tsx`。 +## 弹窗里å¤ç”¨ CreativeImageInputPanel è¦ä¿ç•™ç”»é¢å¡é«˜åº¦ + +- 现象:拼图è‰ç¨¿ç»“果页的关å¡è¯¦æƒ…弹窗中ä»èƒ½çœ‹åˆ°â€œç”»é¢å›¾â€æ ‡é¢˜ã€ç”»é¢æè¿°å’Œç”ŸæˆæŒ‰é’®ï¼Œä½†å®žé™…ç”»é¢å›¾å¡ç‰‡è§†è§‰ä¸Šæ¶ˆå¤±ã€‚ +- 原因:`CreativeImageInputPanel` 内部ä¾èµ– `flex-1`ã€`h-full` å’Œ `max-h-full` 撑开正方形画é¢å¡ï¼›æ”¾è¿›å¼¹çª—里的普通 `section` åŽï¼Œçˆ¶çº§æ²¡æœ‰å¯è®¡ç®—高度,å¡ç‰‡ä¼šè¢«åŽ‹åˆ°ä¸å¯è§ã€‚ +- 处ç†ï¼šé€šç”¨ç”»é¢å¡ `puzzle-image-upload-card` ä¿æŒ `aspect-square` çš„åŒæ—¶è®¾ç½®ç¨³å®š `min-height`,让入å£é¡µå’Œå…³å¡è¯¦æƒ…弹窗都能显示主图/上传区。 +- 验è¯ï¼š`npm run test -- src/components/puzzle-result/PuzzleResultView.test.tsx -t "opens an independent level detail dialog"` 应断言关å¡è¯¦æƒ…中的 `.puzzle-image-upload-card` 具备最å°é«˜åº¦ç±»ï¼›`npm run test -- src/components/common/CreativeImageInputPanel.test.tsx` 应继续通过。 +- å…³è”:`src/components/common/CreativeImageInputPanel.tsx`ã€`src/components/puzzle-result/PuzzleResultView.tsx`ã€`src/components/puzzle-result/PuzzleResultView.test.tsx`。 + ## Windows provision ä¸‹è½½æˆªæ–­è¦æ–­ç‚¹ç»­ä¼ è€Œä¸æ˜¯å›žé€€ç›®æ ‡æœºä¸‹è½½ - 现象:`Genarrative-Server-Provision` 在 `Download Provision Tool Archives` 阶段出现 `curl: (18) end of response ... bytes missing`,常è§äºŽ `otelcol-contrib_0.151.0_linux_amd64.tar.gz` ç­‰ GitHub release 大文件。 @@ -189,7 +223,7 @@ ## 陶泥儿 logo 生图慢请求先缩短 prompt å¹¶å•张串行 -- 现象:使用 VectorEngine `gpt-image-2-all` 生æˆé™¶æ³¥å„¿ logo 概念图时,部分 prompt 会超过 10 åˆ†é’Ÿä»æ— å“应,或返回 `429` / `当å‰åˆ†ç»„上游负载已饱和`ï¼›åŒä¸€æ‰¹æ¬¡é‡ŒåŽç»­å›¾ç‰‡ä¼šè¢«å‰é¢çš„æ…¢è¯·æ±‚æ‹–ä½ã€‚ +- 现象:使用 VectorEngine `gpt-image-2` 生æˆé™¶æ³¥å„¿ logo 概念图时,部分 prompt 会超过 10 åˆ†é’Ÿä»æ— å“应,或返回 `429` / `当å‰åˆ†ç»„上游负载已饱和`ï¼›åŒä¸€æ‰¹æ¬¡é‡ŒåŽç»­å›¾ç‰‡ä¼šè¢«å‰é¢çš„æ…¢è¯·æ±‚æ‹–ä½ã€‚ - åŽŸå› ï¼šå¤æ‚抽象 logo prompt åŒæ—¶åŒ…å«å“牌解释ã€ç¦ç”¨å…ƒç´ ã€ä¸­æ–‡ç»“构和多é‡éšå–»æ—¶ï¼Œä¸Šæ¸¸æŽ’é˜Ÿä¸Žç”Ÿæˆæ—¶é•¿ä¸ç¨³å®šï¼›å¹¶å‘或批é‡è¿è¡Œä¼šæ”¾å¤§å•æ¡æ…¢è¯·æ±‚的影å“。 - 处ç†ï¼šå…ˆ `--dry-run` çœ‹è¯·æ±‚ä½“ï¼›çœŸå®žç”Ÿæˆæ—¶ä¼˜å…ˆçŸ­ promptã€å•一造型ã€å•å¼ ä¸²è¡Œæˆ–å°æ‰¹é‡ã€‚失败åŽä¸è¦åå¤é‡è¯•åŒä¸€é•¿ prompt,先压缩到“一个主体 + 一个负形 + 颜色 + ç¦ç”¨æ–‡å­—/播放键/èŠå¤©æ°”泡â€å†è·‘。è”系表中的中文标签ä¸è¦é€šè¿‡ PowerShell 管é“å†…è” Python 写入,容易因编ç é“¾è·¯æ˜¾ç¤ºä¸ºé—®å·ï¼Œå¯æ”¹ç”¨è‹±æ–‡æ ‡ç­¾æˆ–脚本文件方å¼ã€‚ - 验è¯ï¼šç”Ÿæˆæ–‡ä»¶è½åœ¨ `public/branding/taonier-logo-*/`,用 Pillow 检查图片尺寸和éžç©ºï¼›æ‰§è¡Œ `node --check scripts/generate-taonier-logo-concepts.mjs`ã€`npm run check:encoding`ã€`git diff --check`。 @@ -207,11 +241,11 @@ - çŽ°è±¡ï¼šç‚¹å‡»ç”ŸæˆæŠ“å¤§é¹…è‰ç¨¿åŽï¼Œé¡µé¢åªæç¤ºâ€œæœåŠ¡æš‚ä¸å¯ç”¨â€ï¼Œæˆ–者本地 `npm run dev:api-server` 看似å¯åŠ¨ä½†ç”ŸæˆæŽ¥å£ä¸å¯ç”¨ã€‚ - 原因:é…置缺失类错误通常在åŽç«¯ `error.details.reason` 中给出具体缺项,å‰ç«¯å¦‚æžœåªè¯» `details.message` ä¼šåžæŽ‰åŽŸå› ï¼›æœ¬åœ°åªé…ç½® `ALIYUN_OSS_BUCKET` / `ALIYUN_OSS_ENDPOINT` 时,旧逻辑还会在å¯åŠ¨æœŸæž„é€ ç©º AccessKey çš„ OSS å®¢æˆ·ç«¯å¹¶å¤±è´¥ã€‚æŠ“å¤§é¹…æ–°é“¾è·¯ä»æ˜¯ 2D 生图切割,ä¸éœ€è¦ä¹Ÿä¸åº”回退 Rodin/GLB。 -- 处ç†ï¼šå‰ç«¯ API é”™è¯¯å±•ç¤ºä¼˜å…ˆè¯»å– `details.reason`,å†è¯»å– `details.message`,é¿å…底层 `error sending request` è¦†ç›–çœŸæ­£å¯æ“作的é…置或网络原因;`api-server` åªæœ‰åœ¨ OSS 四件套é½å…¨æ—¶åˆå§‹åŒ– OSS 客户端,部分缺失åªè®° warning 并让具体 generated 上传/æ¢ç­¾æŽ¥å£è¿”回 `OSS 未完æˆçŽ¯å¢ƒå˜é‡é…ç½®`。抓大鹅素æã€å°é¢å’ŒèƒŒæ™¯ç”Ÿæˆåœ¨è°ƒç”¨ VectorEngine å‰å…ˆé¢„检 OSS,并通过 `details.missingEnv` 列出缺项;真实生æˆéœ€è¡¥é½ `VECTOR_ENGINE_BASE_URL`ã€`VECTOR_ENGINE_API_KEY` 和完整 `ALIYUN_OSS_*` 四件套。抓大鹅 `5*5` ç´ æå›¾æç¤ºè¯è¿˜å¿…é¡»è¦æ±‚相邻物体主体至少ä¿ç•™ `1/4` 啿 ¼å®½åº¦ç©ºç™½é—´è·ï¼Œé¿å…切割åŽç›¸é‚»æ ¼å†…容污染。 +- 处ç†ï¼šå‰ç«¯ API é”™è¯¯å±•ç¤ºä¼˜å…ˆè¯»å– `details.reason`,å†è¯»å– `details.message`,é¿å…底层 `error sending request` è¦†ç›–çœŸæ­£å¯æ“作的é…置或网络原因;`api-server` åªæœ‰åœ¨ OSS 四件套é½å…¨æ—¶åˆå§‹åŒ– OSS 客户端,部分缺失åªè®° warning 并让具体 generated 上传/æ¢ç­¾æŽ¥å£è¿”回 `OSS 未完æˆçŽ¯å¢ƒå˜é‡é…ç½®`。抓大鹅素æã€å°é¢å’ŒèƒŒæ™¯ç”Ÿæˆåœ¨è°ƒç”¨ VectorEngine å‰å…ˆé¢„检 OSS,并通过 `details.missingEnv` 列出缺项;真实生æˆéœ€è¡¥é½ `VECTOR_ENGINE_BASE_URL`ã€`VECTOR_ENGINE_API_KEY` 和完整 `ALIYUN_OSS_*` 四件套。抓大鹅 UI spritesheet å’Œç‰©å“ spritesheet çš„æç¤ºè¯å¿…é¡»è¦æ±‚纯绿色绿幕背景,åŽç«¯ä¸Šä¼  OSS å‰ç»Ÿä¸€æ‰£æˆé€æ˜Ž PNG,é¿å…è¿è¡Œæ€ alpha 连通域解æžå¤±è´¥ã€‚ - 验è¯ï¼š`npm run test -- src/services/apiClient.test.ts` 覆盖 `details.reason`ï¼›`cargo test -p api-server state --manifest-path server-rs/Cargo.toml` 覆盖åŠé…ç½® OSS ä¸é˜»æ–­å¯åŠ¨ï¼›`npm run dev:api-server` åŽæŒ‰å®žé™… `GENARRATIVE_API_PORT` 请求 `/healthz`,ä¸è¦é»˜è®¤æ‰“ `3100`。 - å…³è”:`packages/shared/src/http.ts`ã€`server-rs/crates/api-server/src/state.rs`ã€`docs/technical/API_SERVER_EXTERNAL_SERVICE_ENV_CONFIG_2026-05-07.md`ã€`docs/technical/AUTH_SNAPSHOT_AND_MATCH3D_LOCAL_DEV_FIX_2026-05-01.md`。 -2026-05-14 补充:抓大鹅“物å“ç´ æ sheetâ€å·²æ”¹ç”¨ VectorEngine Gemini `gemini-3-pro-image-preview` 原生 `generateContent`,真实生æˆè¯»å– `VECTOR_ENGINE_BASE_URL`ã€`VECTOR_ENGINE_API_KEY` å’Œ `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`ï¼›å°é¢å’Œ `9:16` 背景图走 VectorEngine `/v1/images/generations`,`1:1` 容器 UI èµ° VectorEngine `/v1/images/edits` multipart å‚考图链路。排查素æ sheet 时看请求路径是å¦ä¸º `/v1beta/models/gemini-3-pro-image-preview:generateContent?key=...`,å“应图片在 `candidates[].content.parts[].inlineData.data` / `inline_data.data`,ä¸è¦å†æŒ‰ APIMart `/images/generations` 或 `/tasks/{task_id}` 排查。 +2026-05-22 è¡¥å……ï¼šæŠ“å¤§é¹…â€œç‰©å“ spritesheetâ€ä¸å†æŒ‰æ—§ Gemini `generateContent` / `5*5` sheet 路径排查;当å‰é“¾è·¯å…ˆç”¨ `gpt-image-2` æ— å‚è€ƒå›¾ç”Ÿæˆ `9:16` 关塿•´å›¾ï¼Œå†ä»¥è¯¥å…³å¡æ•´å›¾ä½œä¸º multipart `image` å‚考并å‘ç¼–è¾‘ç”Ÿæˆ `1K 1:1` UI spritesheetã€`1K 9:16` 背景图和 `2K 1:1` ç‰©å“ spritesheet。UI ä¸Žç‰©å“ spritesheet éƒ½è¦æ±‚纯绿色绿幕背景,上传 OSS å‰é€šè¿‡åŽç«¯é€æ˜ŽåŒ–处ç†å†™å…¥çœŸå®ž alpha PNG。 ## 抓大鹅å‘布按钮è¦å…ˆå¼€å‘å¸ƒé¢æ¿ï¼Œå°é¢ç¼–辑收å£åˆ°å‘å¸ƒé¢æ¿å†… @@ -305,7 +339,7 @@ ## 儿童动作 Demo ç»˜æœ¬é£Žèµ„æºæœªç”Ÿæˆå…ˆæŸ¥ VectorEngine é…ç½® - 现象:`/child-motion-demo` å·²ç»å‘ˆçŽ°ç»˜æœ¬è‰åœ°é£Žæ ¼ï¼Œä½† `public/child-motion-demo/picture-book-grass-stage.png`ã€`picture-book-grass-floor.png`ã€`picture-book-ground-ring.png`ã€`picture-book-character-outline.png`ã€`picture-book-ui-panel.png` 或 `picture-book-ui-button.png` ä¸å­˜åœ¨ï¼ŒNetwork 里对应图片返回 404,或è¿è¡Œ `npm run assets:child-motion-demo -- --live` 返回缺少 VectorEngine é…置。 -- 原因:儿童动作 Demo 的真实背景ã€åœ°é¢ã€UIã€åœ°é¢æŒ‡ç¤ºçŽ¯å’Œè§’è‰²è½®å»“èµ„æºéƒ½ä½¿ç”¨ VectorEngine `gpt-image-2-all` 生æˆï¼Œè„šæœ¬åªè¯»å– `VECTOR_ENGINE_BASE_URL`ã€`VECTOR_ENGINE_API_KEY` å’Œå¯é€‰ `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`;仓库内ä¸èƒ½æäº¤çœŸå®ž key,缺é…置时页é¢åªèƒ½ä½¿ç”¨ CSS è‰åœ°ç»˜æœ¬å…œåº•。 +- 原因:儿童动作 Demo 的真实背景ã€åœ°é¢ã€UIã€åœ°é¢æŒ‡ç¤ºçŽ¯å’Œè§’è‰²è½®å»“èµ„æºéƒ½ä½¿ç”¨ VectorEngine `gpt-image-2` 生æˆï¼Œè„šæœ¬åªè¯»å– `VECTOR_ENGINE_BASE_URL`ã€`VECTOR_ENGINE_API_KEY` å’Œå¯é€‰ `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`;仓库内ä¸èƒ½æäº¤çœŸå®ž key,缺é…置时页é¢åªèƒ½ä½¿ç”¨ CSS è‰åœ°ç»˜æœ¬å…œåº•。 - 处ç†ï¼šåœ¨æœ¬åœ°ç§å¯†çŽ¯å¢ƒè¡¥é½ `VECTOR_ENGINE_BASE_URL=https://api.vectorengine.ai` 与 `VECTOR_ENGINE_API_KEY`,ä¸è¦æŠŠ key 写入 Git;先è¿è¡Œ `npm run assets:child-motion-demo -- --dry-run` 核对 prompt,å†è¿è¡Œ `npm run assets:child-motion-demo -- --live` 或 `npm run assets:child-motion-demo -- --live --only ui-panel` ç­‰å°æ‰¹é‡å‘½ä»¤ç”Ÿæˆèµ„æºã€‚逿˜Žèµ„æºçš„å“红底æºå›¾å†™å…¥ `tmp/child-motion-demo-assets/`,ä¸è¦æŠŠæºå›¾æˆ–预览图放入 `public/child-motion-demo/` 作为正å¼èµ„产。 - 验è¯ï¼šç”ŸæˆåŽç¡®è®¤ `public/child-motion-demo/` åªä¿ç•™é¡µé¢å¼•用的最终 PNGï¼Œé‡æ–°æ‰“å¼€ `/child-motion-demo` å¯çœ‹åˆ°çœŸå®žç»˜æœ¬è‰åœ°èƒŒæ™¯ã€åœ°é¢ã€åœ†çޝã€è§’色轮廓和 UI 资æºï¼›`npm run check:encoding` ä»é€šè¿‡ã€‚ - å…³è”:`scripts/generate-child-motion-demo-assets.mjs`ã€`src/index.css`ã€`docs/technical/CHILD_MOTION_DEMO_WARMUP_IMPLEMENTATION_SPEC_2026-05-09.md`。 @@ -329,8 +363,8 @@ ## GPT-image-2 ä¸å†è¯» APIMart 图片é…ç½® - 现象:é…置了 `APIMART_BASE_URL` / `APIMART_API_KEY` åŽï¼ŒRPGã€æ‹¼å›¾æˆ–方洞的 GPT-image-2 生图ä»è¿”回缺é…置,或请求体里还出现 `official_fallback` / `image_urls`。 -- 原因:2026-05-09 åŽ GPT-image-2 图片生æˆå·²åˆ‡åˆ° VectorEngine `gpt-image-2-all`,APIMart åªä¿ç•™ç»™åˆ›æ„ Agent çš„ `gpt-5` Responses 文本/多模æ€é“¾è·¯ã€‚ -- 处ç†ï¼šä¸ºå›¾ç‰‡ç”Ÿæˆé…ç½® `VECTOR_ENGINE_BASE_URL=https://api.vectorengine.ai`ã€`VECTOR_ENGINE_API_KEY`ã€`VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`;排查请求体时确认路径为 `/v1/images/generations`ã€æ¨¡åž‹ä¸º `gpt-image-2-all`ã€å‚考图字段为 `image`。 +- 原因:2026-05-21 åŽ GPT-image-2 å›¾ç‰‡ç”ŸæˆæŒ‰ VectorEngine 创建/编辑接å£åˆ†æµï¼ŒAPIMart åªä¿ç•™ç»™åˆ›æ„ Agent çš„ `gpt-5` Responses 文本/多模æ€é“¾è·¯ã€‚ +- 处ç†ï¼šä¸ºå›¾ç‰‡ç”Ÿæˆé…ç½® `VECTOR_ENGINE_BASE_URL=https://api.vectorengine.ai`ã€`VECTOR_ENGINE_API_KEY`ã€`VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`;排查请求体时确认无å‚考图路径为 `/v1/images/generations`ã€æœ‰å‚考图路径为 `/v1/images/edits`,模型为 `gpt-image-2`。 - 验è¯ï¼šè¿è¡Œ `cargo test -p api-server openai_image --manifest-path server-rs/Cargo.toml` å’Œç›¸å…³çŽ©æ³•å›¾ç‰‡ç”Ÿæˆæµ‹è¯•;真实è”è°ƒåªåœ¨æœ¬åœ°ç§å¯†çŽ¯å¢ƒæ”¾ç½® VectorEngine key。 - å…³è”:`docs/technical/VECTOR_ENGINE_GPT_IMAGE_2_GENERATION_2026-05-09.md`ã€`server-rs/crates/api-server/src/openai_image_generation.rs`。 @@ -350,19 +384,19 @@ - 验è¯ï¼šåŽç«¯å•测覆盖 `build_puzzle_levels_with_primary_update` å’Œ `apply_generated_puzzle_candidates_to_session_snapshot`ï¼›ç»“æžœé¡µé‡æ–°ç”Ÿæˆåº”åœ¨æœªé‡æ–°ä¸Šä¼ æ—¶ç»§ç»­å¸¦å…¥ `level.pictureReference`。 - å…³è”:`server-rs/crates/api-server/src/puzzle.rs`ã€`src/components/puzzle-result/PuzzleResultView.tsx`。 -## 拼图图生图ä»ä¸åƒå‚考图时先看是å¦èµ°äº† edits +## 拼图å‚考图ä¸åƒæ—¶å…ˆçœ‹ edits multipart image - 现象:Network payload 已带 `referenceImageSrc`,但 VectorEngine 生æˆç»“æžœä»æ˜Žæ˜¾ä¸åƒä¸Šä¼ å›¾ã€‚ -- 原因:`gpt-image-2-all` çš„ `/v1/images/generations` 更适åˆçº¯æ–‡ç”Ÿå›¾ï¼›æœ‰å‚考图且需è¦é‡ç»˜æ—¶åº”切到 `/v1/images/edits` çš„ multipart 图生图接å£ã€‚ -- 处ç†ï¼š`referenceImageSrc` 存在且 `aiRedraw = true` 时直接走 edits,prompt ä»ä¿ç•™å‚考图强约æŸï¼›å…¥å£é¡µå…³é—­ AI é‡ç»˜æ—¶ç›´æŽ¥åº”用上传图,ä¸è°ƒç”¨å›¾ç‰‡ç”Ÿæˆï¼›å‰ç«¯æŠŠå‚考图压到å•è¾¹ 1024 内,åŽç«¯è§£æžåŽæ‹’ç»è¶…过 8MB çš„å‚考图字节。 -- 验è¯ï¼šåŽç«¯å•测应覆盖 `images/edits` 路由ã€`b64_json` å“应解ç å’Œå‚考图强æç¤ºï¼›çœŸå®žè”调先看日志里是å¦å‘½ä¸­ `拼图 VectorEngine 图片编辑 HTTP 返回`。 +- 原因:å‚考图åªåœ¨ `aiRedraw = true` æ—¶ç”±åŽç«¯è§£æžå¹¶ä¼ ç»™ `gpt-image-2` `/v1/images/edits` çš„ multipart `image` part;若å‰ç«¯æ²¡ä¼  `referenceImageSrc`ã€åŽç«¯è§£æžå¤±è´¥æˆ– prompt 缺少å‚考图强约æŸï¼Œç”Ÿæˆä¼šé€€åŒ–为纯文生图。 +- 处ç†ï¼š`referenceImageSrc` 存在且 `aiRedraw = true` æ—¶èµ° edits multipart,prompt ä¿ç•™å‚考图强约æŸï¼›å…¥å£é¡µå…³é—­ AI é‡ç»˜æ—¶ç›´æŽ¥åº”用上传图,ä¸è°ƒç”¨å›¾ç‰‡ç”Ÿæˆï¼›å‰ç«¯æŠŠå‚考图压到å•è¾¹ 1024 内,åŽç«¯è§£æžåŽæ‹’ç»è¶…过 8MB çš„å‚考图字节。 +- 验è¯ï¼šåŽç«¯å•测应覆盖 `/v1/images/edits` 路由ã€`b64_json` å“应解ç å’Œå‚考图强æç¤ºï¼›çœŸå®žè”调看日志里是å¦å‘½ä¸­ `拼图 VectorEngine 图片编辑 HTTP 返回`。 - å…³è”:`server-rs/crates/api-server/src/puzzle.rs`ã€`src/services/puzzleReferenceImage.ts`ã€`docs/technical/VECTOR_ENGINE_GPT_IMAGE_2_GENERATION_2026-05-09.md`。 ## 拼图 edits 报 error sending request 先看网络分类 - 现象:拼图有å‚考图时返回 `拼图图片生æˆå¤±è´¥ï¼šåˆ›å»ºæ‹¼å›¾ VectorEngine 图片编辑任务失败:error sending request for url (https://api.vectorengine.ai/v1/images/edits)`,åŽç«¯æ²¡æœ‰ `拼图 VectorEngine 图片编辑 HTTP 返回` 日志。 - 原因:这是 `reqwest` 在 `send()` 阶段失败,尚未收到 VectorEngine HTTP å“应;常è§åŽŸå› æ˜¯æœåŠ¡å™¨ç½‘ç»œ / DNS / 防ç«å¢™ / 代ç†é—®é¢˜ï¼Œæˆ–上游网关中断 multipart 连接。 -- 处ç†ï¼šæŸ¥çœ‹é”™è¯¯å“应 `details.reason/source/connect/body/timeout/endpoint` å’Œ `拼图 VectorEngine 请求å‘é€å¤±è´¥` 日志。拼图图片客户端已强制 HTTP/1.1,é™ä½Ž multipart HTTP/2 兼容风险;若 `connect=true` 先查网络出å£ï¼Œè‹¥ `body=true` 先查å‚考图大å°å’Œ multipart å‘é€ã€‚ +- 处ç†ï¼šæŸ¥çœ‹é”™è¯¯å“应和 `拼图 VectorEngine 图片编辑` 相关日志;若请求å‘é€é˜¶æ®µå¤±è´¥ï¼Œå…ˆæŸ¥ç½‘络出å£ã€DNSã€é˜²ç«å¢™ã€ä»£ç†ã€å‚考图大å°å’Œ `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`。 - 验è¯ï¼š`curl --http1.1 -i -X POST https://api.vectorengine.ai/v1/images/edits -H "Authorization: Bearer invalid" -F "model=gpt-image-2" -F "prompt=test" -F "n=1" -F "size=1024x1024" -F "image=@public/match3d-background-references/pot-fused-reference.png;type=image/png"` 至少应返回 HTTP `401`,说明域åã€TLSã€è·¯å¾„å’Œ multipart 上传å¯è¾¾ï¼›æ‰§è¡Œ `cargo test -p api-server puzzle_vector_engine --manifest-path server-rs/Cargo.toml`。 - å…³è”:`server-rs/crates/api-server/src/puzzle.rs`ã€`docs/technical/VECTOR_ENGINE_GPT_IMAGE_2_GENERATION_2026-05-09.md`ã€`docs/technical/API_SERVER_EXTERNAL_SERVICE_ENV_CONFIG_2026-05-07.md`。 @@ -393,7 +427,7 @@ ## 拼图è‰ç¨¿ç”Ÿæˆ 180 ç§’åŽ 502/504 先查 VectorEngine 超时与å‰ç«¯é‡è¯• - çŽ°è±¡ï¼šç‚¹å‡»â€œç”Ÿæˆæ‹¼å›¾æ¸¸æˆè‰ç¨¿â€åŽï¼Œ`POST /api/runtime/puzzle/agent/sessions/{sessionId}/actions` 等待约 180 秒返回 `502 Bad Gateway` 或 `504 Gateway Timeout`ï¼›é’±åŒ…æµæ°´é‡ŒåŒä¸€ session å¯èƒ½å‡ºçŽ°è¿žç»­ä¸¤ç»„ `puzzle_initial_image` 扣费åŽé€€æ¬¾ã€‚ -- 原因:首图生æˆèµ° VectorEngine `gpt-image-2-all`,默认 `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS=1000000`;若上游在该窗å£å†…未返回,åŽç«¯é€€æ¬¾å¹¶è¿”回超时错误。旧å‰ç«¯ action 写请求会对 502/503/504 自动é‡è¯•一次,导致åŒä¸€æ¬¡ç‚¹å‡»é‡å¤è§¦å‘生图与扣退费。 +- 原因:首图生æˆèµ° VectorEngine `gpt-image-2`,默认 `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS=1000000`;若上游在该窗å£å†…未返回,åŽç«¯é€€æ¬¾å¹¶è¿”回超时错误。旧å‰ç«¯ action 写请求会对 502/503/504 自动é‡è¯•一次,导致åŒä¸€æ¬¡ç‚¹å‡»é‡å¤è§¦å‘生图与扣退费。 - 处ç†ï¼šæ‹¼å›¾/创作 Agent çš„ `executeAction` 默认ä¸åšå‰ç«¯è‡ªåЍé‡è¯•ï¼›åŽç«¯å°† VectorEngine / 图片请求超时映射为 `504 Gateway Timeout`,`error.details.provider=vector-engine` 且 `timeout=true`。真实排障按日志åŒä¸€ `session_id` 查 `拼图 VectorEngine å›¾ç‰‡ç”Ÿæˆ HTTP 返回` 是å¦ç¼ºå¤±ï¼Œä»¥åŠé’±åŒ…æµæ°´æ‰£è´¹åˆ°é€€æ¬¾çš„æ—¶é—´å·®æ˜¯å¦æŽ¥è¿‘ `VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS`。 - 验è¯ï¼šè¿è¡Œ `npm run test -- src/services/creation-agent/creationAgentClientFactory.test.ts src/services/apiClient.test.ts`ã€`cargo test -p api-server puzzle_vector_engine --manifest-path server-rs/Cargo.toml`,真实è”è°ƒé‡å¯ `npm run dev:api-server` åŽæ£€æŸ¥ `/healthz`。 - å…³è”:`src/services/creation-agent/creationAgentClientFactory.ts`ã€`server-rs/crates/api-server/src/puzzle.rs`ã€`docs/technical/API_SERVER_EXTERNAL_SERVICE_ENV_CONFIG_2026-05-07.md`。 @@ -403,7 +437,7 @@ - 现象:用 Node `fetch` 直接请求 `POST /v1/images/generations`,已ç»è®¾ç½®è¾ƒé•¿çš„ AbortController 超时,但ä»åœ¨çº¦ 180 到 300 ç§’åŽæŠ› `AbortError`ã€`TypeError: fetch failed` 或 `UND_ERR_HEADERS_TIMEOUT`ï¼›åŒä¸€ prompt 改用原生 `https.request` å¯ä»¥åœ¨è¾ƒçŸ­æ—¶é—´å†…æˆåŠŸè¿”å›žå›¾ç‰‡ã€‚ - 原因:Node/Undici 的默认 headers timeout å¯èƒ½æ—©äºŽä¸šåŠ¡è„šæœ¬æœŸæœ›çš„é•¿ç”Ÿå›¾ç­‰å¾…çª—å£è§¦å‘ï¼Œè¡¨çŽ°ä¸Šå®¹æ˜“è¢«è¯¯åˆ¤æˆ VectorEngine 上游本身超时。 - 处ç†ï¼šé•¿æœŸè„šæœ¬ä¼˜å…ˆå¤ç”¨åŽç«¯ reqwest 或项目已有生æˆè„šæœ¬ï¼›ä¸´æ—¶æœ¬åœ°å·¥å…·è‹¥å¿…é¡»ç”¨ Nodeï¼Œå¯æ”¹ç”¨åŽŸç”Ÿ `http`/`https.request` 并显å¼è®¾ç½® socket timeout,或为 Undici å•独é…ç½® headers timeout。ä»éœ€éšè— `VECTOR_ENGINE_API_KEY`ï¼ŒåªæŠ¥å‘Šé…置是å¦å­˜åœ¨ã€‚ -- 验è¯ï¼šåŒä¸€ `gpt-image-2-all` 请求体ã€åŒä¸€çŽ¯å¢ƒå˜é‡ä¸‹ï¼ŒåŽŸç”Ÿ HTTP 请求能返回 `url` / `b64_json` å¹¶è½ç›˜ï¼›å¤±è´¥æ—¶é”™è¯¯é‡Œèƒ½åŒºåˆ†è¯·æ±‚å‘é€ã€é¦–部等待ã€ä¸‹è½½å’Œè§£ç é˜¶æ®µã€‚ +- 验è¯ï¼šåŒä¸€ `gpt-image-2` 请求体ã€åŒä¸€çŽ¯å¢ƒå˜é‡ä¸‹ï¼ŒåŽŸç”Ÿ HTTP 请求能返回 `url` / `b64_json` å¹¶è½ç›˜ï¼›å¤±è´¥æ—¶é”™è¯¯é‡Œèƒ½åŒºåˆ†è¯·æ±‚å‘é€ã€é¦–部等待ã€ä¸‹è½½å’Œè§£ç é˜¶æ®µã€‚ - å…³è”:`.codex/skills/gpt-image-2-apimart/SKILL.md`ã€`server-rs/crates/api-server/src/openai_image_generation.rs`。 ## æ—§åŽç«¯è·¯çº¿æ–‡æ¡£é€ æˆåˆ¤æ–­æ¼‚ç§» @@ -820,7 +854,7 @@ - çŽ°è±¡ï¼šä¿®æ”¹æŠ“å¤§é¹…ç´ ææ—¶å®¹æ˜“沿用旧 Rodin/GLB 方案,导致新è‰ç¨¿ç”Ÿæˆè€—æ—¶å˜é•¿ã€è¿›åº¦åœåœ¨æ¨¡åž‹é˜¶æ®µï¼Œæˆ–è¿è¡Œæ€ç­‰å¾…ä¸å­˜åœ¨çš„ GLB。 - 原因:仓库里ä¿ç•™äº† Hyper3D 通用代ç†å’Œåކ岿¨¡åž‹å­—æ®µï¼Œæ—§æ–‡æ¡£ä¹Ÿæ›¾è¦æ±‚è‰ç¨¿é˜¶æ®µåŒæ­¥ç”Ÿæˆ GLB。当å‰äº§å“å£å¾„å·²ç»æ”¹ä¸º 2D 多视角素æã€‚ -- 处ç†ï¼šæ–° `match3d_compile_draft` ä¸Žæ‰¹é‡æ–°å¢žåªç”Ÿæˆ 2D 图片:æ¯ä¸ªç‰©å“ 5 个视角,å•å¼  1K ç´ æå›¾å›ºå®š 5x5,最多承载 5 个物å“,一行对应一个物å“,ä¸è¶³ 5 个物å“也补é½åˆ°å®Œæ•´ 5 行;超过 5 个物å“自动分批并行生图。素æå›¾ prompt å›ºå®šè¦æ±‚纯绿色绿幕背景,切割å‰å…ˆæŠŠç»¿å¹•处ç†ä¸ºé€æ˜Ž alpha,å†å𿠼内内容剿™¯è¾¹ç•Œæ ¡å‡†å¹¶å¸¦ç•™ç™½ï¼Œé¿å…固定内缩切掉贴近格线的主体。`generatedItemAssets[].status` 使用 `image_ready`,å‘布校验看 `imageViews[]` 或首图引用。`generated-models` 仅用于历å²å¤–部模型链接转存,ä¸èƒ½ä½œä¸ºæ–°ç”Ÿäº§é“¾è·¯ã€‚ +- 处ç†ï¼šæ–° `match3d_compile_draft` ä¸Žæ‰¹é‡æ–°å¢žåªç”Ÿæˆ 2D 图片:æ¯ä¸ªç‰©å“ 5 个形æ€ï¼Œå•å¼  `2K 1:1` ç‰©å“ spritesheet 固定 `10*10`,æ¯è¡Œæ‰¿è½½ä¸¤ç§ç‰©å“ã€æ¯ç§äº”个形æ€ï¼Œå•张最多承载 20 ç§ç‰©å“。素æå›¾ prompt å›ºå®šè¦æ±‚纯绿色绿幕背景,上传 OSS å‰å…ˆæŠŠæ•´å¼  spritesheet 绿幕处ç†ä¸ºé€æ˜Ž alpha,å†ç”±è¿è¡Œæ€å’Œç¼–辑器按 alpha 连通域解æžï¼›`generatedItemAssets[].status` 使用 `image_ready`,å‘布校验看 `imageViews[]`ã€é¦–图引用或å¯è§£æžçš„ç‰©å“ spritesheet。`generated-models` 仅用于历å²å¤–部模型链接转存,ä¸èƒ½ä½œä¸ºæ–°ç”Ÿäº§é“¾è·¯ã€‚ - 验è¯ï¼š`cargo test -p api-server match3d --manifest-path server-rs/Cargo.toml`ã€`npm run test -- src\services\miniGameDraftGenerationProgress.test.ts src\components\match3d-result\Match3DResultView.test.tsx src\components\match3d-runtime\Match3DRuntimeShell.test.tsx`。 - å…³è”:`server-rs/crates/api-server/src/match3d.rs`ã€`src/components/match3d-runtime/Match3DRuntimeShell.tsx`ã€`docs/technical/MATCH3D_DRAFT_ASSET_GENERATION_PIPELINE_2026-05-10.md`。 @@ -856,11 +890,11 @@ - 验è¯ï¼šæ‰§è¡Œ `npm run test -- src/components/match3d-runtime/Match3DRuntimeShell.test.tsx` å’Œ `npm run test -- src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx -t "Match3D runtime"`ï¼›æµè§ˆå™¨ Network 中背景和容器 generated path 应先请求 `/api/assets/read-url` æ¢ç­¾ï¼Œå±€å†…出现 `match3d-background-image` å’Œ `match3d-container-image` 对应图片。 - å…³è”:`src/components/match3d-runtime/Match3DRuntimeShell.tsx`ã€`src/components/platform-entry/PlatformEntryFlowShellImpl.tsx`ã€`src/components/rpg-entry/rpgEntryWorldPresentation.ts`ã€`docs/technical/MATCH3D_DRAFT_ASSET_GENERATION_PIPELINE_2026-05-10.md`。 -## 抓大鹅容器å‚考图必须走 edits 并接管棋盘外观 +## 抓大鹅容器å‚考图必须进入 edits multipart image 并接管棋盘外观 - 现象:抓大鹅结果页看似有容器生æˆå…¥å£ï¼Œä½†çœŸå®žç”Ÿæˆå‡ºçš„局内容器ä¸åƒ `pot-fused-reference.png`,或进入试玩åŽä»è¢«é»˜è®¤åœ†å½¢é”…壳ã€é‡‘色边框和径å‘底色覆盖/è£åˆ‡ã€‚ -- 原因:`/v1/images/generations` çš„ `image` 数组更适åˆå¼±å‚考文生图,难以稳定é”定大尺寸轻俯视容器构图;å³ä½¿ç”Ÿæˆäº†å®¹å™¨å›¾ï¼Œå¦‚æžœè¿è¡Œæ€ç»§ç»­ä¿ç•™é»˜è®¤ `rounded-full` 锅壳和 `overflow-hidden`,生æˆå›¾ä¹Ÿä¼šè¢«é»˜è®¤è§†è§‰è¦†ç›–æˆ–è£æŽ‰ã€‚ -- 处ç†ï¼šæŠ“大鹅 `1:1` 容器 UI 图必须用 VectorEngine `POST /v1/images/edits` multipart,å‚考 `public/match3d-background-references/pot-fused-reference.png` çš„é€æ˜Žå®¹å™¨å›¾ä½œä¸º `image` part;该å‚考图属于åŽç«¯ç”Ÿå›¾å议输入,需通过 `include_bytes!` 编译进 `api-server`,ä¸èƒ½åœ¨è¿è¡Œæ—¶æŒ‰å½“å‰å·¥ä½œç›®å½•è¯»å– `public/`。共享 GPT-image-2 HTTP client 承载 multipart 时强制 HTTP/1.1。`Match3DRuntimeShell` 在容器图æ¢ç­¾å¹¶æˆåŠŸåŠ è½½åŽï¼ŒæŠŠæ£‹ç›˜å¤–å£³åˆ‡ä¸ºé€æ˜Žå’Œ `overflow-visible`,åªåœ¨å®¹å™¨ç¼ºå¤±æˆ–加载失败时使用默认圆形容器。 +- 原因:容器å‚考图必须进入 `gpt-image-2` `/v1/images/edits` multipart `image` part,并é…åˆå¼º prompt é”定大尺寸轻俯视容器构图;å³ä½¿ç”Ÿæˆäº†å®¹å™¨å›¾ï¼Œå¦‚æžœè¿è¡Œæ€ç»§ç»­ä¿ç•™é»˜è®¤ `rounded-full` 锅壳和 `overflow-hidden`,生æˆå›¾ä¹Ÿä¼šè¢«é»˜è®¤è§†è§‰è¦†ç›–æˆ–è£æŽ‰ã€‚ +- 处ç†ï¼šæŠ“大鹅 `1:1` 容器 UI 图统一调用 VectorEngine `POST /v1/images/edits`,å‚考 `public/match3d-background-references/pot-fused-reference.png` çš„é€æ˜Žå®¹å™¨å›¾ç”±åŽç«¯ä½œä¸º `image` part 上传;该å‚考图属于åŽç«¯ç”Ÿå›¾å议输入,需通过 `include_bytes!` 编译进 `api-server`,ä¸èƒ½åœ¨è¿è¡Œæ—¶æŒ‰å½“å‰å·¥ä½œç›®å½•è¯»å– `public/`。`Match3DRuntimeShell` 在容器图æ¢ç­¾å¹¶æˆåŠŸåŠ è½½åŽï¼ŒæŠŠæ£‹ç›˜å¤–å£³åˆ‡ä¸ºé€æ˜Žå’Œ `overflow-visible`,åªåœ¨å®¹å™¨ç¼ºå¤±æˆ–加载失败时使用默认圆形容器。 - 验è¯ï¼šæ‰§è¡Œ `cargo test -p api-server vector_engine --manifest-path server-rs/Cargo.toml`ã€`cargo test -p api-server match3d_background --manifest-path server-rs/Cargo.toml`ã€`npm run test -- src/components/match3d-runtime/Match3DRuntimeShell.test.tsx src/components/match3d-result/Match3DResultView.test.tsx`;真实è”调看容器生æˆè¯·æ±‚是å¦å‘½ä¸­ `/v1/images/edits`,局内 `match3d-container-image` æ˜¯å¦æ¸²æŸ“且 `match3d-board` ä¸å†å«é»˜è®¤ `rounded-full`。 - å…³è”:`server-rs/crates/api-server/src/openai_image_generation.rs`ã€`server-rs/crates/api-server/src/match3d.rs`ã€`src/components/match3d-runtime/Match3DRuntimeShell.tsx`ã€`docs/technical/MATCH3D_DRAFT_ASSET_GENERATION_PIPELINE_2026-05-10.md`。 @@ -938,9 +972,9 @@ ## 抓大鹅难度é…置的物å“ç§ç±»å’Œæ¶ˆé™¤æ¬¡æ•°å¿…须分离 -- 现象:历å²è‰ç¨¿é€‰æ‹©æ ‡å‡† / 硬核难度åŽï¼Œç³»ç»Ÿå¯èƒ½æŠŠ `clearCount` 当æˆå±€å†…物å“ç§ç±»æ•°é‡ï¼Œå¯¼è‡´æ ‡å‡†éœ€è¦ 12 ç§ã€ç¡¬æ ¸éœ€è¦ 20/21 ç§ï¼›ç´ æä¸è¶³æ—¶å‘布或试玩行为ä¸ä¸€è‡´ã€‚ +- 现象:历å²è‰ç¨¿é€‰æ‹©æ ‡å‡† / 硬核难度åŽï¼Œç³»ç»Ÿå¯èƒ½æŠŠ `clearCount` 当æˆå±€å†…物å“ç§ç±»æ•°é‡ï¼Œå¯¼è‡´æ ‡å‡†éœ€è¦ 12 ç§ã€ç¡¬æ ¸éœ€è¦ 20/21 ç§ï¼›æˆ–者把第 11 到 20 ä¸ªç‰©å“æŒä¹…化为第 11 到 20 行,触å‘“系列素æå›¾é›†æŒä¹…化的行列索引必须è½åœ¨ n*n 范围内â€ã€‚ - 原因:旧è¿è¡Œæ€æŠŠæ¶ˆé™¤æ¬¡æ•°å’Œç±»åž‹æ•°é‡ç»‘在一起,结果页文案åˆåŒæ—¶å±•示“素æå›¾ç‰‡ / 局内类型â€ï¼Œå¯¼è‡´å‰ç«¯ã€å‘布校验和 run start å£å¾„ä¸ä¸€è‡´ã€‚ -- 处ç†ï¼šç»Ÿä¸€ä½¿ç”¨ `物å“ç§ç±»` å£å¾„ï¼šè½»æ¾ 3ã€æ ‡å‡† 9ã€è¿›é˜¶ 15ã€ç¡¬æ ¸ 21ï¼›åŽ†å² `clearCount=20` 且难度为硬核的è¿è¡Œæ€æŒ‰æ–°ç¡¬æ ¸å‡ä¸º 21 组三消,é¿å… 20 组å´è¦æ±‚ 21 ç§ç´ æã€‚å‘å¸ƒå‰æŒ‰ `image_ready` 且有 `imageViews[]` 或 `imageSrc/imageObjectKey` 的生æˆç´ ææ•°é‡é˜»æ–­ä¸è¶³éš¾åº¦ï¼›è¯•玩ä¸é˜»æ–­ï¼Œä½†é€šè¿‡ `itemTypeCountOverride` 自动é™åˆ°å·²ç”Ÿæˆ 2D ç´ ææ•°é‡ã€‚é‡å¯ä»Žå·²æœ‰ run å¿«ç…§åæŽ¨å®žé™…物å“ç§ç±»ï¼Œä¿æŒåŒä¸€å±€é‡å¼€ä¸å˜ã€‚ +- 处ç†ï¼šç”Ÿæˆå’ŒæŒä¹…化固定使用 20 个物å“ç´ æï¼›è¿è¡Œæ€ç‰©å“ç§ç±»å£å¾„ä¸ºè½»æ¾ 3ã€æ ‡å‡† 9ã€è¿›é˜¶ 15ã€ç¡¬æ ¸ 20ï¼ŒåŽ†å² `clearCount=20` 且难度为硬核的è¿è¡Œæ€ä»å¯å‡ä¸º 21 组三消,但类型池ä¸è¶…过 20。10*10 sheet æ¯è¡Œä¸¤ç§ç‰©å“ã€æ¯ç§äº”个形æ€ï¼ŒæŒä¹…化行列为 `row = itemIndex / 2 + 1`ã€`col = itemIndex % 2 * 5 + viewIndex + 1`。å‘å¸ƒå‰æŒ‰ `image_ready` 且有 `imageViews[]` 或 `imageSrc/imageObjectKey` 的生æˆç´ ææ•°é‡é˜»æ–­ä¸è¶³éš¾åº¦ï¼›è¯•玩ä¸é˜»æ–­ï¼Œä½†é€šè¿‡ `itemTypeCountOverride` 自动é™åˆ°å·²ç”Ÿæˆ 2D ç´ ææ•°é‡ã€‚é‡å¯ä»Žå·²æœ‰ run å¿«ç…§åæŽ¨å®žé™…物å“ç§ç±»ï¼Œä¿æŒåŒä¸€å±€é‡å¼€ä¸å˜ã€‚ - 验è¯ï¼š`npm run test -- src\components\match3d-result\Match3DResultView.test.tsx`ã€`cargo test -p module-match3d --manifest-path server-rs\Cargo.toml`,涉åŠå‘布 reducer 时补跑 `cargo test -p spacetime-module match3d --manifest-path server-rs\Cargo.toml`。 - å…³è”:`src/components/match3d-result/Match3DResultView.tsx`ã€`src/services/match3d-runtime/match3dRuntimeClient.ts`ã€`server-rs/crates/module-match3d/src/application.rs`ã€`server-rs/crates/spacetime-module/src/match3d.rs`ã€`docs/technical/MATCH3D_DRAFT_ASSET_GENERATION_PIPELINE_2026-05-10.md`。 @@ -957,7 +991,7 @@ - 现象:抓大鹅生æˆçš„物å“视角图è£å‰ªåŽä»å¸¦ç™½è¾¹ï¼Œæˆ–者整å—çº¯ç»¿è‰²ç»¿å¹•èƒŒæ™¯æ²¡æœ‰è¢«é€æ˜ŽåŒ–,è¿è¡Œæ€çœ‹åˆ°ç»¿è‰²æ–¹å—。 - 原因:素æ sheet å¯èƒ½æ˜¯â€œæ¯æ ¼å†…éƒ¨ç»¿å¹•ã€æ•´å¼ å›¾å¤–圈近白底â€ï¼Œå†…部绿幕ä¸ä¸€å®šè¿žé€šåˆ° sheet 外边缘;旧 flood fill åªä»Žå¤–è¾¹ç¼˜æ‰¾èƒŒæ™¯ä¼šæ¼æŽ‰è¿™ç§ç»¿å¹•å—。白底抗锯齿如果ä¸çº³å…¥æŠ åƒå’Œè¾¹ç¼˜åŽ»æ±¡æŸ“ï¼Œä¹Ÿä¼šéšè£å‰ªè¾“出æˆä¸€åœˆç™½è¾¹ã€‚å³ä½¿é¡ºåºå·²æ˜¯å…ˆæ•´å¼  sheet 去绿å†è£å‰ªï¼Œè¾ƒåŽšçš„åŠé€æ˜Žæˆ–混色软绿边ä»å¯èƒ½ä½ŽäºŽé«˜ç½®ä¿¡ç»¿å¹•é˜ˆå€¼ï¼Œè¢«å½“ä½œå‰æ™¯å¸¦è¿›ç‹¬ç«‹ PNG。 - 处ç†ï¼š`api-server` çš„ `slice_match3d_material_sheet` 必须先在整张 sheet 上åšé€æ˜ŽèƒŒæ™¯åŽå¤„ç†ï¼šå¤–边缘连通绿幕/近白底清 alpha,éžè¿žé€šä½†é«˜ç½®ä¿¡çº¯ç»¿å—也清 alpha,沿整张 sheet 逿˜ŽèƒŒæ™¯ç»§ç»­åƒæŽ‰è½¯ç»¿è¾¹ï¼Œè¾¹ç¼˜è¿‘白和绿幕抗锯齿åšé€æ˜Žæˆ–åŽ»æ±¡æŸ“ï¼›åŒæ—¶ä¿æŠ¤ä¸å¤Ÿçº¯çš„绿色主体åƒç´ ã€‚ä¸è¦æ”¹æˆå…ˆè£å‰ªå•æ ¼å†åŽ»ç»¿ã€‚ -- 验è¯ï¼š`cargo test -p api-server match3d_material_sheet_slicing --manifest-path server-rs\Cargo.toml` 覆盖éžè¿žé€šç»¿å¹•ã€ç™½è¾¹ã€è´´è¾¹ä¸»ä½“ä¿ç•™å’Œå›ºå®š 5x5 切图。 +- 验è¯ï¼š`cargo test -p api-server match3d_material_sheet_slicing --manifest-path server-rs\Cargo.toml` 覆盖éžè¿žé€šç»¿å¹•ã€ç™½è¾¹ã€è´´è¾¹ä¸»ä½“ä¿ç•™å’Œå›ºå®š `10*10` 切图;`cargo test -p api-server match3d_spritesheet_green_screen_postprocess_turns_background_transparent --manifest-path server-rs\Cargo.toml` 覆盖完整 spritesheet 上传å‰ç»¿å¹•逿˜ŽåŒ–。 - å…³è”:`server-rs/crates/api-server/src/match3d.rs`ã€`docs/technical/MATCH3D_DRAFT_ASSET_GENERATION_PIPELINE_2026-05-10.md`。 ## 抓大鹅物å“详情大方格åªåšå•张大图查看 @@ -1024,6 +1058,14 @@ - 验è¯ï¼šè¿è¡Œ `npm run test -- src/components/puzzle-runtime/PuzzleRuntimeShell.test.tsx -t "拖拽åˆå¹¶å¤§å—æ—¶åº•å±‚å•æ ¼ä¸æ˜¾ç¤ºé€‰ä¸­è‰²å—"`,并确认åˆå¹¶å—拖拽时底层 `[data-piece-id]` ä»ä¸º `puzzle-runtime-piece--merged`。 - å…³è”:`src/components/puzzle-runtime/PuzzleRuntimeShell.tsx`ã€`src/components/puzzle-runtime/PuzzleRuntimeShell.test.tsx`ã€`docs/technical/PUZZLE_FORM_CREATION_FLOW_2026-04-29.md`。 +## 推è页嵌入拼图通关结算ä¸è¦æ”¾åœ¨è¿è¡Œæ€å†…部 absolute 层 + +- 现象:推è页里玩拼图通关åŽï¼Œç»“ç®—é¢æ¿åªæ˜¾ç¤ºä¸ŠåŠéƒ¨åˆ†ï¼ŒæŽ’行榜ã€ä¸‹ä¸€å…³æŒ‰é’®æˆ–相似作å“å¡è¢«æˆªæ–­ã€‚ +- 原因:推è页把è¿è¡Œæ€æ”¾åœ¨æ»‘动作å“å¡çš„视觉区内,`platform-recommend-swipe-page`ã€`platform-recommend-swipe-card__visual` å’Œ `platform-recommend-runtime-viewport` 都是 `overflow: hidden`ï¼›æ‹¼å›¾é€šå…³ç»“ç®—å¦‚æžœä»æ˜¯è¿è¡Œæ€å†…部 `absolute inset-0` 弹层,就åªèƒ½åœ¨åŠå±å¡ç‰‡åŒºåŸŸé‡Œæ˜¾ç¤ºã€‚ +- 处ç†ï¼š`PuzzleRuntimeShell` 在 `embedded` 模å¼ä¸‹æŠŠé€šå…³ç»“算层通过 portal 挂到 `document.body`,使用 `puzzle-runtime-modal-overlay--fixed` 页é¢çº§ fixed 浮层;éžåµŒå…¥æ€ç»§ç»­ä½¿ç”¨è¿è¡Œæ€å†…部覆盖层。 +- 验è¯ï¼šè¿è¡Œ `npm run test -- src/components/puzzle-runtime/PuzzleRuntimeShell.test.tsx -t "推è页嵌入拼图通关结算使用页é¢çº§æµ®å±‚é¿å…å¡ç‰‡è£å‰ª"`,确认弹层ä¸å†ä½äºŽ `.platform-recommend-runtime-viewport` 内。 +- å…³è”:`src/components/puzzle-runtime/PuzzleRuntimeShell.tsx`ã€`src/index.css`ã€`src/components/rpg-entry/RpgEntryHomeView.tsx`。 + ## 拼图历å²å›¾ç‰‡åˆ—表ä¸è¦æŠŠè´¦å·å½’属当图片å - 现象:拼图创作页或结果页打开“选择历å²å›¾ç‰‡â€åŽï¼Œåކå²åˆ—表显示 `è´¦å· user-1` ä¹‹ç±»å½’å±žæ–‡æ¡ˆè€Œä¸æ˜¯å›¾ç‰‡åï¼›`1713686400.000000Z` 这类时间显示为未知;选中åŽé¢„览或生æˆå‚考图å¯èƒ½è¢«æ€€ç–‘ä¸å¯ç”¨ã€‚ @@ -1042,12 +1084,22 @@ ## 拼图结果页局部生图ä¸è¦æ±¡æŸ“è‰ç¨¿ç”Ÿæˆæ€ -- 现象:拼图è‰ç¨¿å·²ç»ç”Ÿæˆå®ŒæˆåŽï¼Œåœ¨ç»“æžœé¡µé‡æ–°ç”Ÿæˆ UI 背景或追加关å¡ç”Ÿæˆå›¾ç‰‡ï¼Œè‰ç¨¿é¡µä»æ˜¾ç¤ºæ•´å¡â€œç”Ÿæˆä¸­â€ï¼Œç‚¹å‡»è‰ç¨¿ä¼šå›žåˆ°ç”Ÿæˆè¿‡ç¨‹é¡µï¼Œæ— æ³•查看已有结果;UI 背景生æˆä¸­è¿˜ä¼šç¦ç”¨â€œæ–°å¢žå…³å¡â€å’Œå…³å¡å›¾ç”Ÿæˆã€‚ +- 现象:拼图è‰ç¨¿å·²ç»ç”Ÿæˆå®ŒæˆåŽï¼Œåœ¨ç»“æžœé¡µé‡æ–°ç”Ÿæˆå…³å¡å›¾ç‰‡æˆ–追加关å¡ç”Ÿæˆå›¾ç‰‡ï¼Œè‰ç¨¿é¡µä»æ˜¾ç¤ºæ•´å¡â€œç”Ÿæˆä¸­â€ï¼Œç‚¹å‡»è‰ç¨¿ä¼šå›žåˆ°ç”Ÿæˆè¿‡ç¨‹é¡µï¼Œæ— æ³•查看已有结果;关å¡å›¾ç‰‡ç”Ÿæˆä¸­è¿˜ä¼šç¦ç”¨â€œæ–°å¢žå…³å¡â€å’Œå…¶å®ƒå…³å¡è¯¦æƒ…编辑。 - 原因:结果页局部 action å¤ç”¨äº†å…¨å±€ `isPuzzleBusy` / æŒä¹…化 `generationStatus=generating` è¯­ä¹‰ï¼Œä½œå“æž¶æ²¡æœ‰åŒºåˆ†â€œåˆå§‹è‰ç¨¿ä¸å¯æŸ¥çœ‹â€å’Œâ€œå·²æœ‰ç»“果上的局部关å¡ç”Ÿæˆâ€ã€‚ -- 处ç†ï¼šä½œå“æž¶åªåœ¨æ‹¼å›¾æ²¡æœ‰å¯ç”¨å°é¢ã€é¦–å…³å€™é€‰å›¾æˆ–ä»»ä¸€å¯æŸ¥çœ‹å…³å¡æ—¶æ‰æŠŠ `generationStatus=generating` 解释为åˆå§‹è‰ç¨¿ç”Ÿæˆï¼›ç»“果页 UI 背景和关å¡å›¾èµ° background action,ä¸è®¾ç½®å…¨å±€ busy,UI 背景åªç¦ç”¨è‡ªå·±çš„æŒ‰é’®ï¼›SpacetimeDB/API mapper 读写时把已有图片但状æ€ä»æ˜¯ `generating` 的历å²å…³å¡å½’一为 `ready`。 +- 处ç†ï¼šä½œå“æž¶åªåœ¨æ‹¼å›¾æ²¡æœ‰å¯ç”¨å°é¢ã€é¦–å…³å€™é€‰å›¾æˆ–ä»»ä¸€å¯æŸ¥çœ‹å…³å¡æ—¶æ‰æŠŠ `generationStatus=generating` 解释为åˆå§‹è‰ç¨¿ç”Ÿæˆï¼›ç»“果页关å¡å›¾èµ° background action,ä¸è®¾ç½®å…¨å±€ busyï¼Œåªæ ‡è®°å¯¹åº”å…³å¡å±€éƒ¨ç”Ÿæˆè¿›åº¦ï¼›SpacetimeDB/API mapper 读写时把已有图片但状æ€ä»æ˜¯ `generating` 的历å²å…³å¡å½’一为 `ready`。 - 验è¯ï¼š`npm run test -- src/components/custom-world-home/CustomWorldCreationHub.test.tsx src/components/puzzle-result/PuzzleResultView.test.tsx`ã€`cargo test -p api-server puzzle --manifest-path server-rs\Cargo.toml`。 - å…³è”:`src/components/custom-world-home/creationWorkShelf.ts`ã€`src/components/platform-entry/PlatformEntryFlowShellImpl.tsx`ã€`src/components/puzzle-result/PuzzleResultView.tsx`ã€`server-rs/crates/api-server/src/puzzle/mappers.rs`ã€`server-rs/crates/spacetime-module/src/puzzle.rs`。 +2026-05-22 补充:结果页关å¡è¯¦æƒ…çš„â€œå…³å¡æµ‹è¯•â€ä¸èƒ½æŠŠå•å…³ `draft` 传给父级å†è°ƒç”¨ `updatePuzzleWork`。`updatePuzzleWork` ä¼šåŒæ­¥ `puzzle_work_profile.levels_json` å’Œ source session è‰ç¨¿ï¼Œå•关快照会把整份多关å¡è‰ç¨¿è¦†ç›–æˆä¸€ä¸ªå…³å¡ï¼Œé€€å‡ºé‡è¿›åŽåªå‰©æœ€åŽæµ‹è¯•的关å¡ä¸”åºå·è¡¨çŽ°ä¸ºç¬¬ä¸€å…³ã€‚ä¿®å¤å£å¾„是 `PuzzleResultView` 始终传完整 `syncedDraft`,é¢å¤–用 `{ levelId }` 指定起始关å¡ï¼›çˆ¶çº§æŒä¹…化完整 levels åŽè°ƒç”¨ `startLocalPuzzleRun(item, levelId)`。 + +## 拼图上传图关闭 AI é‡ç»˜ä¸è¦èµ°é¦–图生图 + +- 现象:用户在拼图入å£é¡µæˆ–结果页关å¡è¯¦æƒ…上传图片并关闭 AI é‡ç»˜åŽï¼Œç”Ÿæˆé¡µä»æ˜¾ç¤ºâ€œç”Ÿæˆæ‹¼å›¾é¦–图â€ï¼Œæˆ–者åŽç«¯ä»è°ƒç”¨ `generate_puzzle_image_candidates` 生æˆç¬¬ä¸€å¼  1:1 候选图。 +- 原因:上传图直用路径应把 Data URL 或 `/generated-*` 历å²å›¾è§£æžåŽæŒä¹…化为 `sourceType=uploaded` 的正å¼å€™é€‰ï¼Œå†ç»§ç»­ç”Ÿæˆ 9:16 å…³å¡ç”»é¢ã€UI spritesheet å’Œçº¯èƒŒæ™¯ï¼›å¦‚æžœåªæŠŠ `aiRedraw=false` 当作“ä¸å‚考图片生æˆâ€ï¼Œå°±ä¼šè¯¯èµ°é¦–图生æˆã€‚ +- 处ç†ï¼šå…¥å£é¡µç”¨ payload çš„ `aiRedraw` 写入生æˆé¡µ metadata,`puzzleAiRedraw=false` 时进度跳过 `ç”Ÿæˆæ‹¼å›¾é¦–图`ï¼›åŽç«¯ `compile_puzzle_draft` 和结果页 `generate_puzzle_images` 都在 `aiRedraw=false && referenceImageSrc éžç©º` 时走上传图直用候选。结果页关å¡è¯¦æƒ…å¿…é¡»å¤ç”¨ `CreativeImageInputPanel`,ä¸è¦æŠŠæ­£å¼å›¾å½“æˆå¯é‡ç»˜å‚考图;本次上传或历å²é€‰æ‹©çš„å›¾æ‰æ˜¾ç¤º AI é‡ç»˜å¼€å…³å¹¶å¯åˆ é™¤ã€‚ +- 验è¯ï¼š`npm run test -- src/services/miniGameDraftGenerationProgress.test.ts src/components/puzzle-result/PuzzleResultView.test.tsx`ã€`cargo test -p api-server puzzle_result_level_direct_upload_skips_cover_image_generation --manifest-path server-rs\Cargo.toml`。 +- å…³è”:`src/services/miniGameDraftGenerationProgress.ts`ã€`src/components/puzzle-agent/PuzzleAgentWorkspace.tsx`ã€`src/components/puzzle-result/PuzzleResultView.tsx`ã€`server-rs/crates/api-server/src/puzzle/draft.rs`ã€`server-rs/crates/api-server/src/puzzle/generation.rs`。 + ## Jenkins æ•°æ®åº“导入导出脚本先补 Node 工具链 PATH - 现象:`Genarrative-Database-Import` 或 `Genarrative-Database-Export` è¿è¡Œåˆ°è¿ç§»è„šæœ¬æ—¶ï¼Œ`bash` 报 `node: command not found`,常è§åœ¨æ—¥å¿—里表现为æŸä¸ª `sh` å—内第 61 行直接调用 `node` 失败。 diff --git a/docs/prd/BABY_OBJECT_MATCH_EDUTAINMENT_TEMPLATE_PRD_2026-05-11.md b/docs/prd/BABY_OBJECT_MATCH_EDUTAINMENT_TEMPLATE_PRD_2026-05-11.md index ca2cedf0..95c74dd9 100644 --- a/docs/prd/BABY_OBJECT_MATCH_EDUTAINMENT_TEMPLATE_PRD_2026-05-11.md +++ b/docs/prd/BABY_OBJECT_MATCH_EDUTAINMENT_TEMPLATE_PRD_2026-05-11.md @@ -1,4 +1,4 @@ -# å®è´è¯†ç‰©å¯“æ•™äºŽä¹æ¨¡æ¿ PRD 2026-05-11 +# å®è´è¯†ç‰©å¯“æ•™äºŽä¹æ¨¡æ¿ PRD 2026-05-11 ## 1. 目标 @@ -32,7 +32,7 @@ 5. 游æˆè§†è§‰ä¸»é¢˜åŒ…ï¼› 6. ä½œå“æ ‡ç­¾ã€‚ -ç´ æä½¿ç”¨ VectorEngine `gpt-image-2-all` / image-2 生æˆã€‚图片生æˆåªèƒ½èµ°åŽç«¯æŽ¥å£ï¼Œå‰ç«¯ä¸å¾—读å–ã€æ‹¼æŽ¥æˆ–暴露 `VECTOR_ENGINE_API_KEY`。 +ç´ æä½¿ç”¨ VectorEngine `gpt-image-2` / image-2 生æˆã€‚图片生æˆåªèƒ½èµ°åŽç«¯æŽ¥å£ï¼Œå‰ç«¯ä¸å¾—读å–ã€æ‹¼æŽ¥æˆ–暴露 `VECTOR_ENGINE_API_KEY`。 为é™ä½Žç”Ÿæˆæˆæœ¬ï¼Œåˆ›ä½œæäº¤åŽåªç”Ÿæˆä¸¤å¼ åŽŸå§‹å›¾ç‰‡ï¼šä¸€å¼  `2x2` ç´ æ sheet 和一张å•独场景背景图。`2x2` ç´ æ sheet 固定包å«å·¦ä¸Šç‰©å“ Aã€å³ä¸Šç‰©å“ Bã€å·¦ä¸‹ç¯®å­ã€å³ä¸‹ç¤¼ç‰©ç›’。æœåŠ¡ç«¯å¿…é¡»æŒ‰å›ºå®šæ ¼åˆ‡å›¾ï¼Œå¹¶æŠŠç‰©å“ã€ç¯®å­å’Œç¤¼ç‰©ç›’转æˆé€æ˜Ž PNGã€‚åªæœ‰é€æ˜ŽæŠ å›¾åŽçš„两个物å“ç´ ææ‰å…许写入è‰ç¨¿ `itemAssets` 并进入游æˆè¿è¡Œæ€ã€‚左峿‰‹ä½ç½®æŒ‡ç¤ºå™¨å±žäºŽè¿è¡Œæ€é»˜è®¤è§„åˆ™ï¼Œä½¿ç”¨é¡¹ç›®å†…ç½®é™æ€ç´ æï¼Œä¸åœ¨æ¯æ¬¡åˆ›ä½œæ—¶ç”Ÿæˆã€‚ diff --git a/docs/technical/BABY_OBJECT_MATCH_CREATION_PUBLISH_IMPLEMENTATION_2026-05-11.md b/docs/technical/BABY_OBJECT_MATCH_CREATION_PUBLISH_IMPLEMENTATION_2026-05-11.md index 36aa7c74..0a3f9fbf 100644 --- a/docs/technical/BABY_OBJECT_MATCH_CREATION_PUBLISH_IMPLEMENTATION_2026-05-11.md +++ b/docs/technical/BABY_OBJECT_MATCH_CREATION_PUBLISH_IMPLEMENTATION_2026-05-11.md @@ -1,4 +1,4 @@ -# å®è´è¯†ç‰©åˆ›ä½œå‘布实现方案 2026-05-11 +# å®è´è¯†ç‰©åˆ›ä½œå‘布实现方案 2026-05-11 ## 1. 范围 @@ -144,7 +144,7 @@ PUT /api/creation/edutainment/baby-object-match/drafts/{draftId} POST /api/creation/edutainment/baby-object-match/drafts/{draftId}/publish ``` -图片生æˆå¿…须在åŽç«¯è°ƒç”¨ VectorEngine `gpt-image-2-all`,ä¸å¾—从å‰ç«¯ç›´æŽ¥è°ƒç”¨å¤–部图片接å£ã€‚ +图片生æˆå¿…须在åŽç«¯è°ƒç”¨ VectorEngine `gpt-image-2`,ä¸å¾—从å‰ç«¯ç›´æŽ¥è°ƒç”¨å¤–部图片接å£ã€‚ åŽç«¯ `2x2` ç´ æ sheet prompt 约æŸï¼š diff --git a/docs/technical/CHILD_MOTION_DEMO_WARMUP_IMPLEMENTATION_SPEC_2026-05-09.md b/docs/technical/CHILD_MOTION_DEMO_WARMUP_IMPLEMENTATION_SPEC_2026-05-09.md index 697b7a8f..7dc401b6 100644 --- a/docs/technical/CHILD_MOTION_DEMO_WARMUP_IMPLEMENTATION_SPEC_2026-05-09.md +++ b/docs/technical/CHILD_MOTION_DEMO_WARMUP_IMPLEMENTATION_SPEC_2026-05-09.md @@ -1,4 +1,4 @@ -# 儿童动作识别互动玩法 Demo 热身关开å‘规格文档 +# 儿童动作识别互动玩法 Demo 热身关开å‘规格文档 > 日期:2026-05-09 > å…³è”设计文档:[CHILD_MOTION_DEMO_WARMUP_LEVEL_DESIGN_2026-05-09.md](../design/CHILD_MOTION_DEMO_WARMUP_LEVEL_DESIGN_2026-05-09.md) @@ -684,7 +684,7 @@ 1. 舞å°ä¸»çŽ¯å¢ƒé‡‡ç”¨å¡é€šç»˜æœ¬é£Žæ ¼ã€æ˜Žäº®è‰åœ°ã€å¤©ç©ºã€å°å±±å¡å’Œæ ‘木的组åˆï¼Œé»˜è®¤èƒŒæ™¯çŽ¯å¢ƒéœ€è¦ä¿è¯ä¸­å¿ƒä¸Žä¸‹æ–¹å‰æ™¯ç•™ç©ºï¼Œä¾¿äºŽè§’è‰²è½®å»“å’Œåœ°é¢æŒ‡ç¤ºçޝå åŠ ã€‚ 2. 该å¡é€šç»˜æœ¬è‰åœ°é£Žæ ¼æ˜¯å„¿ç«¥åŠ¨ä½œ Demo åŽç»­åœºæ™¯ã€ç‰©å“ã€UI 资æºçš„å…¨å±€é£Žæ ¼è¦æ±‚;新增资æºä¸å¾—切回暗色科技风ã€çœŸå®žç…§ç‰‡é£Žæˆ–åŽå°é¢æ¿é£Žã€‚ 3. `src/index.css` 中的热身舞å°ã€æ‘„åƒå¤´èƒŒæ™¯å±‚ã€åœ°é¢ã€è§’色轮廓ã€åœ°é¢åœ†çޝã€å¼€å§‹æŒ‰é’®å’Œæ¨ªå±æç¤ºå‡æŒ‰ç»˜æœ¬è‰åœ°é£Žæ ¼æŽ¥å…¥çœŸå®žèµ„æºï¼›èµ„æºåŠ è½½å¤±è´¥æ—¶ä¿ç•™ CSS 兜底。 -4. 生æˆè„šæœ¬å›ºå®šä¸º `scripts/generate-child-motion-demo-assets.mjs`,并通过 `npm run assets:child-motion-demo` 触å‘;脚本使用 `gpt-image-2-all` 调用 VectorEngine `POST /v1/images/generations`ï¼Œé€æ˜Žèµ„æºå…ˆç”Ÿæˆå“红底æºå›¾ï¼Œå†åœ¨æœ¬åœ°ç§»é™¤è‰²é”®ï¼Œæºå›¾å†™å…¥ `tmp/child-motion-demo-assets/`。 +4. 生æˆè„šæœ¬å›ºå®šä¸º `scripts/generate-child-motion-demo-assets.mjs`,并通过 `npm run assets:child-motion-demo` 触å‘;脚本使用 `gpt-image-2` 调用 VectorEngine `POST /v1/images/generations`ï¼Œé€æ˜Žèµ„æºå…ˆç”Ÿæˆå“红底æºå›¾ï¼Œå†åœ¨æœ¬åœ°ç§»é™¤è‰²é”®ï¼Œæºå›¾å†™å…¥ `tmp/child-motion-demo-assets/`。 5. 当å‰å·²ç”Ÿæˆå¹¶æŽ¥å…¥ä»¥ä¸‹æ­£å¼ Demo 资æºï¼š - `public/child-motion-demo/picture-book-grass-stage.png`:默认è‰åœ°èˆžå°èƒŒæ™¯ã€‚ - `public/child-motion-demo/picture-book-foreground-grass-v2.png`ï¼šåº•éƒ¨å‰æ™¯è‰åªæ¡ï¼Œåªè¦†ç›–舞å°ä¸‹æ²¿ï¼Œä¸ä½œä¸ºæ•´å—åœ°æ¿æ‹‰ä¼¸ã€‚ diff --git a/docs/technical/ã€åŽç«¯æž¶æž„】api-server能力模å—化与生æˆèµ„产Adapter总纲-2026-05-14.md b/docs/technical/ã€åŽç«¯æž¶æž„】api-server能力模å—化与生æˆèµ„产Adapter总纲-2026-05-14.md index 99a81aa0..6ace57c1 100644 --- a/docs/technical/ã€åŽç«¯æž¶æž„】api-server能力模å—化与生æˆèµ„产Adapter总纲-2026-05-14.md +++ b/docs/technical/ã€åŽç«¯æž¶æž„】api-server能力模å—化与生æˆèµ„产Adapter总纲-2026-05-14.md @@ -214,7 +214,7 @@ Handler 主è¦åœ¨ `story.rs`ã€`combat.rs`ã€`runtime_inventory.rs`: | Big Fish æ­£å¼å›¾ | DashScope `wan2.2-t2i-flash` | 轮询 task åŽ HTTP GET 图片 URL | `LegacyAssetPrefix::BigFishAssets` | ç”± assetKind 映射主图/动作图/舞å°èƒŒæ™¯ç­‰ | `big_fish_session` + session/entity id + slot | `big_fish.rs` 调用方 `execute_billable_asset_operation` | é…置缺失/上游失败直接错误;gallery 对部分 Spacetime è¿è¡Œé”™è¯¯è½¯é™çº§ | | Square Hole 图片é‡ç”Ÿæˆ | OpenAI/VectorEngine GPT image helper | URL 下载或 base64/data URL è§£ç  | `LegacyAssetPrefix::SquareHoleAssets` | 方洞作å“图片槽ä½ç›¸å…³ kind | profile/work + image slot | 调用方包裹 | ç”ŸæˆæˆåŠŸä½†å…¥åº“å¤±è´¥ä¿ç•™ Data URL 回包 | | Custom World 场景/å°é¢ | VectorEngine GPT image 2 / OpenAI helper | URL 下载或 base64 è§£ç  | `LegacyAssetPrefix::CustomWorldScenes` ç­‰ | scene/cover/opening storyboard | `custom_world_profile` 或 profile/landmark/scene slot | `custom_world_ai.rs` 调用方包裹 | entity/scene 生æˆå­˜åœ¨ LLM fallback;资产æŒä¹…化失败按当å‰é”™è¯¯å£å¾„返回 | -| Puzzle 图片 | GPT image 2 generations/edits | multipart/base64/URL 结果归一 | `LegacyAssetPrefix::PuzzleAssets` | puzzle level/background/generated imageï¼Œå¦æœ‰ `puzzle_background_music` | puzzle profile/run/level slot | `puzzle.rs` 调用方包裹 | connectivity 坿Œ‰æ—¢æœ‰è§„则跳过部分计费;è¿è¡Œæ€ fallback ä¿æŒåŽŸé€»è¾‘ | +| Puzzle 图片 | GPT image 2 generations/edits | æ— å‚考图 JSON 创建;有å‚考图 multipart 编辑;base64/URL 结果归一 | `LegacyAssetPrefix::PuzzleAssets` | puzzle level/background/generated imageï¼Œå¦æœ‰ `puzzle_background_music` | puzzle profile/run/level slot | `puzzle.rs` 调用方包裹 | connectivity 坿Œ‰æ—¢æœ‰è§„则跳过部分计费;è¿è¡Œæ€ fallback ä¿æŒåŽŸé€»è¾‘ | | Match3D 图片 | APIMart/VectorEngine/OpenAI image helper | 下载ã€åˆ‡å›¾ã€é€æ˜ŽåŒ–ã€æ ¡å‡†åŽå…¥åº“ | `LegacyAssetPrefix::Match3DAssets` | cover/background/item material sheet,音频 kind å¦åˆ— | match3d profile/session slot | `match3d.rs` 调用方包裹 | æ–°è‰ç¨¿ä¸å›žé€€ Rodin/GLBï¼›éƒ¨åˆ†è¿žæŽ¥é”™è¯¯æŒ‰çŽ°æœ‰è®¡è´¹è·³è¿‡è§„åˆ™å¤„ç† | | Visual Novel 音频 | VectorEngine Suno/Vidu | 任务æäº¤åŽæŒ‰ task publish 下载音频 | 视觉å°è¯´/creation audio scope | `visual_novel_music`ã€`visual_novel_ambient_sound` | `visual_novel_scene` + scene id + `music`/`ambient_sound` | `vector_engine_audio_generation.rs` 调用方包裹 | 上游/下载失败显å¼é”™è¯¯ï¼Œä¸æ··å…¥å›¾ç‰‡ Adapter | | 通用音频 | VectorEngine Suno/Vidu | åŒä¸Š | creation audio scope | background_music/sound_effect 由调用方目标指定 | creation target entity/slot | 调用方包裹 | ä¸ä¸Ž VN 场景语义混用 | diff --git a/docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md b/docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md index 65f7a743..d99c2614 100644 --- a/docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md +++ b/docs/ã€åŽç«¯æž¶æž„】server-rs与SpacetimeDBæ•°æ®å¥‘约-2026-05-15.md @@ -105,7 +105,7 @@ npm run check:server-rs-ddd - `server-rs/crates/api-server/src/match3d/draft.rs` 承接 Agent sessionã€è‰ç¨¿ç¼–译ã€é¢˜æ / 难度 / 物å“计划和è‰ç¨¿æŒä¹…化编排。 - `server-rs/crates/api-server/src/match3d/works.rs` æ‰¿æŽ¥ä½œå“ CRUDã€å°é¢ / 背景 / 容器资产生æˆå…¥å£ã€å‘布 / Remix / 点赞 / 游玩记录和作å“级 helper。 - `server-rs/crates/api-server/src/match3d/item_assets.rs` 承接物å“ç”Ÿæˆæ‰¹æ¬¡ç¼–排ã€append / replace / delete / sort / mergeã€è®¡è´¹å¤–层和è‰ç¨¿ç´ ææ˜ å°„ï¼›sheet promptã€ç»¿å¹• / è¿‘ç™½åº•é€æ˜ŽåŒ–ã€åˆ‡å›¾å’Œåˆ‡ç‰‡æŒä¹…化å¤ç”¨ `generated_asset_sheets` 通用模å—。 -- `server-rs/crates/api-server/src/match3d/vector_engine_gemini.rs` 承接 VectorEngine Gemini 请求体ã€å“应解æžã€base64 图片下载和上游错误归一。 +- `server-rs/crates/api-server/src/match3d/vector_engine_gemini.rs` ä»…ä¿ç•™åŽ†å² VectorEngine Gemini ç‰©å“ sheet helper;当å‰è‰ç¨¿ç‰©å“ spritesheet 以关塿•´å›¾ä¸ºå‚考走 `gpt-image-2` 编辑链路,æç¤ºè¯ã€ç»¿å¹•逿˜ŽåŒ–å’Œ OSS æŒä¹…化由 `item_assets.rs` / `works.rs` 约æŸã€‚ - `server-rs/crates/api-server/src/match3d/runtime.rs` ä¿ç•™è¿è¡Œæ€è½»é‡å½’一 helperï¼›`mappers.rs` / `tags.rs` / `tests.rs` 分别承接 DTO æ˜ å°„ã€æ ‡ç­¾ / 通用错误 helper å’ŒåŽŸæœ‰å•æµ‹ã€‚ è¯¥æ‹†åˆ†åªæ”¹å˜ `api-server` æ–‡ä»¶ç»„ç»‡ï¼Œä¸æ”¹å˜ `/api/creation/match3d/*`ã€`/api/runtime/match3d/*` routeã€DTOã€error envelopeã€SpacetimeDB schemaã€å…¬å¼€ gallery cache 语义ã€VectorEngine / OSS 副作用边界或计费语义;åŽç»­ç»§ç»­ç»†åˆ†æ—¶ä¹Ÿå¿…é¡»å…ˆä¿æŒè¡Œä¸ºä¸å˜ï¼Œå†å•独讨论领域规则下沉到 `module-match3d`。 @@ -156,9 +156,8 @@ npm run check:server-rs-ddd - LLM:`GENARRATIVE_LLM_*`ï¼Œåˆ›æ„ Agent å¦ç”¨ `APIMART_BASE_URL` / `APIMART_API_KEY`。 - 图片生æˆï¼šVectorEngine / APIMart / DashScope,密钥åªåœ¨åŽç«¯çŽ¯å¢ƒå˜é‡ä¸­ã€‚ -- Match3D ç‰©å“ sheet:VectorEngine Gemini `gemini-3-pro-image-preview` 原生 `generateContent`;图集 promptã€åˆ‡å›¾ã€é€æ˜ŽåŒ–和切片æŒä¹…化走 `generated_asset_sheets` 通用模å—,Match3D åªè¡¥é¢˜æ / 风格 / 五视角设定和字段映射。 -- Match3D å°é¢å’Œ 9:16 纯背景:VectorEngine `/v1/images/generations`。 -- Match3D 1:1 容器 UI:VectorEngine `/v1/images/edits` multipart å‚考图。该容器å‚考图是åŽç«¯ç”Ÿå›¾å议输入,必须通过 `include_bytes!` éš `api-server` 编译进二进制,é¿å… API å•独å‘布或è¿è¡Œç›®å½•缺少 `public/` 时生æˆå¤±è´¥ã€‚ +- Match3D ç‰©å“ sheetï¼šå…³å¡æ•´å›¾å®ŒæˆåŽèµ° VectorEngine `/v1/images/edits` multipart `image`,模型为 `gpt-image-2`,`2K 1:1` 输出 `10*10` spritesheetï¼›ç‰©å“ sheet prompt å›ºå®šè¦æ±‚纯绿色绿幕背景,åŽç«¯ä¸Šä¼  OSS å‰å¿…须把绿幕扣æˆé€æ˜Ž PNGï¼Œå¹¶æŠŠé€æ˜Žæ•´å›¾å†™å…¥ `itemSpritesheetImageSrc/itemSpritesheetImageObjectKey`。åŽç«¯å›ºå®šä»Žè¯¥ sheet è§£æžå¹¶æŒä¹…化 20 个物å“ã€æ¯ä¸ª 5 个形æ€ï¼›é€šç”¨ç³»åˆ—ç´ æå›¾é›†çš„行列索引按æ¯è¡Œ 2 个物å“计算,必须è½åœ¨ `1..=10`,难度åªå†³å®šè¿è¡Œæ€åŠ è½½ 3 / 9 / 15 / 20 ç§ã€‚ +- Match3D UI spritesheet å’ŒèƒŒæ™¯æ´¾ç”Ÿå›¾ï¼šå…³å¡æ•´å›¾ä½œä¸ºå‚考图并å‘ç”Ÿæˆ `1K 1:1` UI spritesheet 与 `1K 9:16` 背景图,模型å‡ä¸º `gpt-image-2`。UI spritesheet prompt å›ºå®šè¦æ±‚纯绿色绿幕背景,åŽç«¯ä¸Šä¼  OSS å‰å¿…须把绿幕扣æˆé€æ˜Ž PNGï¼›èƒŒæ™¯å›¾å¿…é¡»åˆæˆä¸ºå…¨ç”»å¹…ä¸é€æ˜Ž PNG。 - Hyper3D / Rodin:åªä¿ç•™åŽç«¯å®‰å…¨ä»£ç†å’Œæ—§æ•°æ®å…¼å®¹ï¼›æ–° Match3D è‰ç¨¿å’Œæ‰¹é‡æ–°å¢žä¸å†ç”Ÿæˆ GLB。 - 音频:视觉å°è¯´ä¸“用音频路由ä¿ç•™ï¼›æ‹¼å›¾å’ŒæŠ“大鹅生æˆå…¥å£æš‚时关闭,通用 `/api/creation/audio/*` 对相关目标返回 `410 Gone`。 - OSSï¼šç§æœ‰ generated legacy path 进入æµè§ˆå™¨å‰å¿…须通过 `/api/assets/read-url` æ¢ç­¾ï¼›ä¸è¦è£¸è¯·æ±‚ `/generated-*`。 diff --git a/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md b/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md index e96c3086..ca8dd302 100644 --- a/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md +++ b/docs/ã€çŽ©æ³•åˆ›ä½œã€‘å¹³å°å…¥å£ä¸ŽçŽ©æ³•é“¾è·¯-2026-05-15.md @@ -10,6 +10,8 @@ `PlatformEntryFlowShellImpl.tsx` 仿˜¯å¹³å°å…¥å£ç¼–排壳,åŽç»­ç»´æŠ¤æ—¶åº”优先把独立 UI 片段ã€å…¬å¼€ä½œå“映射ã€è‰ç¨¿ç”Ÿæˆ notice å’Œè¿è¡Œæ€çŠ¶æ€ helper 拆到 `src/components/platform-entry/PlatformEntryFlowShellImpl/` 或åŒç›®å½•ç´§é‚» helper 文件。拆分åªå…è®¸æ”¹å˜æ–‡ä»¶ç»„ç»‡ï¼Œä¸æ”¹å˜å…¥å£é…置事实æºã€é»˜è®¤å¯¼å‡ºã€propsã€é¡µé¢é˜¶æ®µã€UI 文案或现有交互;其中拼图首访 onboarding 已拆为 `PlatformEntryFlowShellImpl/PuzzleOnboardingView.tsx`。 +ç§»åŠ¨ç«¯åº•éƒ¨ä¸€çº§å¯¼èˆªæ˜¯å…¨å±€å¹³å°æ ·å¼ï¼Œä¸æŒ‰å•一玩法分å‰ã€‚当å‰è§†è§‰ç»Ÿä¸€ä¸ºç±³ç™½æµ®åŠ¨èƒ¶å›Šåº•åº§ã€æµ…æ£•åˆ†éš”çº¿ã€æ£•è‰²çº¿æ€§å›¾æ ‡ã€æ©˜è‰²é€‰ä¸­æ€å’Œåº•部短下划线;中间 `创作` å…¥å£ä¿æŒå‡¸èµ·åœ†å½¢ä¸»æŒ‰é’®ï¼Œä½†å‡¸èµ·ä½ç§»åªèƒ½ä½œç”¨åœ¨æŒ‰é’®å†…容层,ä¸èƒ½ç§»åŠ¨æ‰¿è½½åˆ†éš”çº¿çš„ Tab 按钮容器,确ä¿åˆ›ä½œå·¦å³åˆ†éš”线与其他分隔线垂直ä½ç½®ä¸€è‡´ã€‚Tab åç§°å’Œå¯è§æ€§ä»ç”±çŽ°æœ‰ `PlatformHomeTab` / 登录æ€è§„则决定,样å¼è°ƒæ•´ä¸å¾—改写 Tab 文案或导航状æ€ã€‚ + ## æ–°å¢žçŽ©æ³•åˆ›ä½œå·¥å…·å¹³å° SOP 新增玩法默认采用表å•/图片输入创作工作å°ï¼Œé“¾è·¯ä¸ºï¼š @@ -45,23 +47,26 @@ 当å‰å£å¾„: - 图åƒè¾“å…¥å¤ç”¨ `CreativeImageInputPanel`。 -- 结果页æ¯å…³ç”»é¢ç¼–辑和素æé…置里的 UI 背景生æˆä¹Ÿå¤ç”¨ `CreativeImageInputPanel`;三处åªå…±äº«å—控 UI 模å—,ä¸å…±äº«æ•°æ®æºã€çжæ€ã€action 或存储ä½ç½®ï¼šå…¥å£é¡µç»§ç»­å†™ `formDraft` 与è‰ç¨¿ç¼–译 payload,关å¡ç”»é¢å†™ `levels[].pictureReference/pictureDescription` å¹¶è§¦å‘ `generate_puzzle_images`,UI 背景写 `levels[0].uiBackgroundPrompt/uiBackgroundImage*` å¹¶è§¦å‘ `generate_puzzle_ui_background`ã€‚é€šç”¨å›¾ç‰‡é¢æ¿çš„展示图和 AI é‡ç»˜å‚考图能力必须分开控制:结果页正å¼å…³å¡å›¾åªä½œä¸ºé¢„览图,ä¸å› å­˜åœ¨ `displayImageSrc` 自动暴露 AI é‡ç»˜å¼€å…³ï¼›åªæœ‰æœ¬åœ°ä¸Šä¼ ã€åކå²é€‰æ‹©æˆ–å·²ä¿å­˜ `pictureReference` å¯ä½œä¸ºé‡ç»˜å‚è€ƒå›¾æ—¶ï¼Œæ‰æ˜¾ç¤º AI é‡ç»˜å¼€å…³å¹¶æŠŠçжæ€å¸¦å…¥ `generate_puzzle_images`。 -- 支æŒç”»é¢æè¿°ç”Ÿå›¾ã€å¤šå‚考图生图ã€ä¸Šä¼ æˆ–历å²ç”Ÿæˆä¸»å›¾åŽ AI é‡ç»˜ã€ä¸Šä¼ æˆ–历å²ç”Ÿæˆä¸»å›¾åŽä¸é‡ç»˜ï¼›ä¸»é“¾è¦æ±‚æµè§ˆå™¨å…ˆç» `/api/assets/direct-upload-tickets` ç›´ä¼  OSS 并确认 `asset_object`,创作 action åªæäº¤ `referenceImageAssetObjectId(s)`,由åŽç«¯æ¢å– OSS åªè¯»ç­¾å URL ç»™ VectorEngine 读å–;本地上传 Data URL ä¸ŽåŽ†å² `/generated-*` 图片路径仅ä¿ç•™ä¸ºæ—§è‰ç¨¿ã€æ—§å…¥å£æˆ–未è¿ç§»å®¢æˆ·ç«¯çš„兼容输入。 -- è‰ç¨¿ç”Ÿæˆä¼šå…ˆæŒä¹…化 `generationStatus=generating` çš„ä½œå“æ‘˜è¦ï¼Œç”Ÿæˆå®Œæˆå¹¶å›žå†™å…³å¡å›¾ã€UI 背景åŽå†å˜ä¸º `ready`;首关关å¡å›¾å’Œ UI 背景在命å稳定åŽå¹¶è¡Œå¯åŠ¨ï¼Œå½“å‰ä¸è‡ªåŠ¨ç”ŸæˆèƒŒæ™¯éŸ³ä¹ã€‚ +- 结果页æ¯å…³ç”»é¢ç¼–辑å¤ç”¨ `CreativeImageInputPanel`;入å£é¡µå’Œå…³å¡ç”»é¢åªå…±äº«å—控 UI 模å—,ä¸å…±äº«æ•°æ®æºã€çжæ€ã€action 或存储ä½ç½®ï¼šå…¥å£é¡µç»§ç»­å†™ `formDraft` 与è‰ç¨¿ç¼–译 payload,关å¡ç”»é¢å†™ `levels[].pictureReference/pictureDescription` å¹¶è§¦å‘ `generate_puzzle_images`。结果页删除独立“素æé…ç½®â€Tab,ä¸å†æä¾›å•独 UI 背景生æˆå…¥å£ã€‚é€šç”¨å›¾ç‰‡é¢æ¿çš„展示图和 AI é‡ç»˜å‚考图能力必须分开控制:结果页正å¼å…³å¡å›¾åªä½œä¸ºé¢„览图,ä¸å› å­˜åœ¨æ­£å¼å›¾è‡ªåŠ¨æš´éœ² AI é‡ç»˜å¼€å…³ï¼›åªæœ‰æœ¬åœ°ä¸Šä¼ ã€åކå²é€‰æ‹©æˆ–å·²ä¿å­˜ `pictureReference` å¯ä½œä¸ºé‡ç»˜å‚è€ƒå›¾æ—¶ï¼Œæ‰æ˜¾ç¤º AI é‡ç»˜å¼€å…³å¹¶æŠŠçжæ€å¸¦å…¥ `generate_puzzle_images`。用户在本次编辑中上传或选择历å²å›¾åŽï¼Œè¯¥å›¾ä¼˜å…ˆå æ®ä¸»å›¾å¡ç‰‡ï¼Œå¯åˆ é™¤ã€åˆ‡æ¢ AI é‡ç»˜ï¼Œä¹Ÿå¯å…³é—­ AI é‡ç»˜ç›´ç”¨ï¼›ä»…有正å¼å›¾é¢„è§ˆæ—¶ï¼Œç”»é¢æè¿°æ¡†ä»å¯ä¸Šä¼ å¤šå¼ å‚考图。关å¡è¯¦æƒ…å¼¹çª—åº”ä½¿ç”¨åŠ å®½é¢æ¿ï¼Œå…³å¡åç§°ã€ç”»é¢å›¾å’Œç”»é¢æè¿°åˆå¹¶åœ¨åŒä¸€ä¸ªçºµå‘列表中,å称输入和画é¢ç¼–辑模å—外层ä¸å†åŒ…独立 `platform-subpanel`;画é¢å›¾å¡ä»å¿…é¡»ä¿ç•™ç¨³å®šæœ€å°é«˜åº¦ï¼Œé¿å…弹窗内 `flex-1` 布局å缩åŽåªå‰©æ ‡é¢˜ã€æè¿°è¾“入和æ“作按钮。 +- 支æŒç”»é¢æè¿°ç”Ÿå›¾ã€å¤šå‚考图生图ã€ä¸Šä¼ æˆ–历å²ç”Ÿæˆä¸»å›¾åŽ AI é‡ç»˜ã€ä¸Šä¼ æˆ–历å²ç”Ÿæˆä¸»å›¾åŽä¸é‡ç»˜ï¼›ä¸»é“¾è¦æ±‚æµè§ˆå™¨å…ˆç» `/api/assets/direct-upload-tickets` ç›´ä¼  OSS 并确认 `asset_object`,创作 action åªæäº¤ `referenceImageAssetObjectId(s)`,由åŽç«¯æ ¡éªŒ owner / bucket / kind / MIME / size åŽç­¾å‘ OSS åªè¯» URL 并下载为 VectorEngine `/v1/images/edits` çš„ multipart `image` part。本地上传 Data URL ä¸ŽåŽ†å² `/generated-*` 图片路径仅ä¿ç•™ä¸ºæ—§è‰ç¨¿ã€æ—§å…¥å£æˆ–未è¿ç§»å®¢æˆ·ç«¯çš„兼容输入;关闭 AI é‡ç»˜æ—¶ï¼ŒåŽç«¯ç»Ÿä¸€è§£æžä¸ºé¦–关或当å‰å…³å¡æ­£å¼å›¾åŽå†æŒä¹…化,ä¸è°ƒç”¨ç¬¬ä¸€æ®µæ‹¼å›¾é¦–图生æˆã€‚ +- è‰ç¨¿ç”Ÿæˆä¼šå…ˆæŒä¹…化 `generationStatus=generating` çš„ä½œå“æ‘˜è¦ï¼Œç”Ÿæˆå®Œæˆå¹¶å›žå†™å…³å¡æ‹¼å›¾ç”»é¢ã€å…³å¡ç”»é¢å‚考图ã€UI spritesheet 和关å¡èƒŒæ™¯å›¾åŽå†å˜ä¸º `ready`;当å‰ä¸è‡ªåŠ¨ç”ŸæˆèƒŒæ™¯éŸ³ä¹ã€‚生æˆé¡µè¿›åº¦ä¸å†æŒ‰å›ºå®š 5 分钟展示,而按实际开始时间和当å‰è·¯å¾„çš„åˆ†æ­¥éª¤é¢„è®¡æ—¶é•¿æŽ¨è¿›ï¼›ä»»ä¸€åŒæ­¥ action 回包到达时立å³ä»¥çœŸå®žå®Œæˆ/失败结果冻结进度。 - ä½œå“æž¶æ‹¼å›¾è‰ç¨¿çš„“生æˆä¸­â€é®ç½©åªè¡¨ç¤ºåˆå§‹è‰ç¨¿è¿˜æ²¡æœ‰å¯æŸ¥çœ‹ç»“果;åªè¦ä½œå“摘è¦ã€é¦–å…³å°é¢æˆ–任一关å¡å€™é€‰å›¾å·²ç»å¯ç”¨ï¼ŒåŽç»­ UI 背景é‡ç”Ÿæˆå’Œè¿½åŠ å…³å¡ç”Ÿå›¾éƒ½å¿…é¡»ä½œä¸ºç»“æžœé¡µå±€éƒ¨ç”Ÿæˆæ€å¤„ç†ï¼Œä¸èƒ½é˜»æ­¢æ‰“å¼€è‰ç¨¿ç»“果页。 -- 拼图è‰ç¨¿ç¼–译是长耗时 action,å‰ç«¯ action 请求默认等待 `1_000_000ms` 且ä¸è‡ªåЍé‡è¯•,生æˆé¡µé¢„è®¡å®Œæˆæ—¶é—´æŒ‰ `5` 分钟展示;生æˆé¡µæ¢å¤æ—¶å¿…é¡»æ²¿ç”¨ä½œå“æ‘˜è¦ `updatedAt` 作为原始 `startedAtMs`,失败/å®Œæˆæ€ç”¨ `finishedAtMs` 冻结耗时,ä¸èƒ½åœ¨é”屿ˆ–返回è‰ç¨¿é¡µåŽé‡æ–°ä»Ž 0 计时。 +- 拼图è‰ç¨¿ç¼–译是长耗时 action,å‰ç«¯ action 请求默认等待 `1_800_000ms`(30 分钟)且ä¸è‡ªåЍé‡è¯•ã€‚æ¯æ¬¡ `gpt-image-2` 调用的预期用时按 90 秒计算;完整 AI é‡ç»˜è·¯å¾„为 `编译首关è‰ç¨¿` 8 ç§’ã€`生æˆå…³å¡åç§°` 10 ç§’ã€`ç”Ÿæˆæ‹¼å›¾é¦–图` 90 ç§’ã€`生æˆå…³å¡ç”»é¢` 90 ç§’ã€`生æˆUI与背景` 90 ç§’ã€`写入正å¼è‰ç¨¿` 10 秒,åˆè®¡çº¦ 298 秒。上传图且关闭 AI é‡ç»˜æ—¶å¿…须跳过 `ç”Ÿæˆæ‹¼å›¾é¦–图`,直接进入 `生æˆå…³å¡ç”»é¢` å’Œ `生æˆUI与背景`,åˆè®¡çº¦ 208 秒。生æˆé¡µæ¢å¤æ—¶å¿…é¡»æ²¿ç”¨ä½œå“æ‘˜è¦ `updatedAt` 作为原始 `startedAtMs`,失败/å®Œæˆæ€ç”¨ `finishedAtMs` 冻结耗时,ä¸èƒ½åœ¨é”屿ˆ–返回è‰ç¨¿é¡µåŽé‡æ–°ä»Ž 0 计时。 - è‹¥æµè§ˆå™¨é”å±ã€æ¯å±æˆ–网络切æ¢å¯¼è‡´ compile 请求失败,å‰ç«¯åœ¨æ ‡è®°å¤±è´¥å‰å¿…须先å¤è¯» `getPuzzleAgentSession(sessionId)`ï¼›åªæœ‰æœ€æ–° session ä»ç¼º `draft.coverImageSrc`ã€é¦–å…³ `coverImageSrc` 或候选图时æ‰å±•示失败,å¤è¯»åˆ°å·²ç”Ÿæˆè‰ç¨¿æ—¶æŒ‰æˆåŠŸæ”¶å°¾ã€åˆ·æ–°ä½œå“架并继续自动试玩/结果页链路。 -- 拼图å‚考图 AI é‡ç»˜ä¼˜å…ˆèµ° VectorEngine `/v1/images/edits`;若编辑接å£è¶…时,`api-server` 会é™çº§ä¸º `/v1/images/generations`,并把åŒä¸€å‚考图塞进 `image` 数组继续生æˆï¼Œé¿å…å‚考图è‰ç¨¿æ•´å•失败。 -- 结果页素æé…置当å‰åªä¿ç•™ UI 相关能力;旧背景音ä¹å…¥å£éšè—。 +- 拼图å‚考图 AI é‡ç»˜èµ° VectorEngine `/v1/images/edits`;无å‚考图时走 `/v1/images/generations`。两者模型都使用 `gpt-image-2`,å‚考图由åŽç«¯ä½œä¸º multipart `image` part 传入编辑接å£ã€‚ +- æ¯æ¬¡æ–°å»ºå…³å¡ç”Ÿæˆæˆ–釿–°ç”Ÿæˆå…³å¡å›¾éƒ½å¿…须由 `api-server` 串起当å‰å…³å¡èµ„产包:AI é‡ç»˜å¼€å¯æ—¶ç¬¬ä¸€æ®µæ²¿ç”¨è‰ç¨¿ç”Ÿæˆç¬¬ä¸€å…³çš„æ‹¼å›¾ä¸»å›¾æç¤ºè¯é…置和模型 / 尺寸 / å‚è€ƒå›¾è§„åˆ™ç”Ÿæˆ `coverImageSrc/coverAssetId` ä½œä¸ºå…³å¡æ‹¼å›¾ç”»é¢å’Œç»“果页预览图,æç¤ºè¯æ¥æºåŒæ ·æŒ‰æ˜¾å¼ç”»é¢æè¿°ã€å…³å¡ç”»é¢æè¿°ã€è‰ç¨¿æ‘˜è¦é¡ºåºå›žé€€ï¼Œä¸”å›ºå®šè¦æ±‚è¾“å‡ºç”»é¢æ¯”例为 `1:1`;上传图且关闭 AI é‡ç»˜æ—¶è·³è¿‡è¿™ä¸€æ®µï¼ŒæŠŠä¸Šä¼ å›¾æˆ–历å²å›¾æŒä¹…化为 `sourceType=uploaded` 的正å¼å€™é€‰ã€‚éšåŽç”¨æ­£å¼å€™é€‰å›¾ä½œä¸ºå‚考,`9:16` 生æˆå®Œæ•´æ‹¼å›¾æ¸¸æˆå…³å¡ç”»é¢å¹¶å†™å…¥ `levelSceneImageSrc/levelSceneImageObjectKey`,æç¤ºè¯å¿…é¡»è¦æ±‚é“具按钮上ä¸è¦æ˜¾ç¤ºæ¬¡æ•°æ ‡æ³¨ï¼Œä¸”返回按钮和设置按钮æ—ç¦æ­¢æ ‡æ³¨æ–‡å­—ï¼›UI spritesheet 与关å¡çº¯èƒŒæ™¯åœ¨å…³å¡ç”»é¢å®ŒæˆåŽå¹¶å‘生æˆï¼Œspritesheet 用 `1:1`ã€`1k` 先生æˆçº¯ç»¿è‰²ç»¿å¹•背景图,åŽç«¯ä¸Šä¼  OSS å‰å¿…须把绿幕扣æˆé€æ˜Ž PNG,å†å†™å…¥ `uiSpritesheetImageSrc/uiSpritesheetImageObjectKey`,按钮顺åºå›ºå®šä¸ºè¿”回ã€è®¾ç½®ã€ä¸‹ä¸€å…³ã€æç¤ºã€åŽŸå›¾ã€å†»ç»“,按钮素æè‡ªèº«ä¿ç•™å¯¹åº”中文文字,返回和设置按钮ä¸å¾—é¢å¤–生æˆç™½è‰²å¤–圈ã€ç™½åº•圆环或浮雕外框;纯背景用 `9:16`ã€`1k` 写入 `levelBackgroundImageSrc/levelBackgroundImageObjectKey`,æç¤ºè¯å¿…须包å«â€œç¦æ­¢åœ¨èƒŒæ™¯ä¸­å‡ºçŽ°äººåƒæˆ–和拼图画é¢ä¸­ä¸»ä½“一致的内容â€ã€‚è¿è¡Œæ€ä¸ç›´æŽ¥ä½¿ç”¨ç¬¬äºŒæ®µå®Œæ•´å…³å¡ç”»é¢ï¼Œä½†å¿…é¡»æŒä¹…化它用于追踪和åŽç»­å†ç”Ÿæˆã€‚结果页局部关å¡ç”Ÿæˆè¿›åº¦æŒ‰ AI é‡ç»˜å¼€å¯çº¦ 270 ç§’ã€å…³é—­ AI é‡ç»˜çº¦ 180 秒展示。 - 结果页å…许多关å¡å¹¶è¡Œç¼–辑和生æˆï¼›æŸä¸€å…³å¡å›¾ç‰‡ç”Ÿæˆå®Œæˆå›žåŒ…åªé™é»˜æ›´æ–°è¯¥å…³å¡ç´ æä¸Žç”Ÿæˆæ€ï¼Œä¸å¾—自动打开或切æ¢å…³å¡è¯¦æƒ…颿¿ï¼Œé¿å…打断用户正在编辑的其它关å¡ã€‚ -- 结果页 UI 背景é‡ç”Ÿæˆåªç¦ç”¨ UI 背景自己的按钮和确认动作,ä¸ç¦ç”¨â€œæ–°å¢žå…³å¡â€ã€å…³å¡å›¾ç‰‡ç”Ÿæˆã€å…³å¡è¯¦æƒ…编辑和结果页导航;关å¡å›¾ç‰‡ç”Ÿæˆä¹Ÿåªæ ‡è®°å¯¹åº”å…³å¡çš„局部生æˆè¿›åº¦ã€‚ +- 结果页关å¡å›¾ç‰‡ç”Ÿæˆåªæ ‡è®°å¯¹åº”å…³å¡çš„局部生æˆè¿›åº¦ï¼Œä¸ç¦ç”¨â€œæ–°å¢žå…³å¡â€ã€å…¶å®ƒå…³å¡è¯¦æƒ…编辑和结果页导航。 +- 结果页å•关测试åªèƒ½æŠŠå®Œæ•´è‰ç¨¿æŒä¹…化,并通过 `levelId` 指定è¿è¡Œæ€èµ·å§‹å…³å¡ï¼›ä¸å¾—把å•关快照作为整份è‰ç¨¿è°ƒç”¨ `updatePuzzleWork`,å¦åˆ™ source session å’Œä½œå“ profile çš„ `levels` 会被覆盖æˆå•关,退出é‡è¿›åŽå…¶å®ƒå…³å¡ä¼šä¸¢å¤±ã€‚ - 结果页生æˆå…³å¡å›¾æ—¶è‹¥å…³å¡å为空,å‰ç«¯å¿…须传 `shouldAutoNameLevel=true`,åŽç«¯å¤ç”¨é¦–关命åå¥‘çº¦å…ˆæŒ‰ç”»é¢æè¿°ç”Ÿæˆå…³å¡å,å†åœ¨å›¾ç‰‡ç”ŸæˆåŽç”¨è§†è§‰å‘½å结果精修,并把生æˆåå’Œ UI 背景æç¤ºè¯éšæœ¬æ¬¡å…³å¡å¿«ç…§å†™å›žã€‚ -- 拼图 UI 背景是作å“è¿è¡Œæ€èƒŒæ™¯ï¼Œä¸åªå±žäºŽç¬¬ä¸€å…³ï¼›æœ¬åœ°è¯•玩ã€ç›´è¾¾æŒ‡å®šå…³å¡å’Œæ­£å¼ `next-level` 推进时,目标关å¡ç¼º `uiBackgroundImageSrc/uiBackgroundImageObjectKey` 必须继承åŒä½œå“首个å¯ç”¨ UI 背景,ä»ç¼ºå¤±æ—¶æ‰æ²¿ç”¨å½“å‰è¿è¡Œæ€å¿«ç…§èƒŒæ™¯æˆ–默认 UI。 +- 拼图è¿è¡Œæ€èƒŒæ™¯ä¼˜å…ˆè¯»å–当å‰å…³å¡ `levelBackgroundImageSrc/levelBackgroundImageObjectKey`ï¼Œæ—§æ•°æ®æ‰å…¼å®¹ `uiBackgroundImageSrc/uiBackgroundImageObjectKey`;本地试玩ã€ç›´è¾¾æŒ‡å®šå…³å¡å’Œæ­£å¼ `next-level` 推进时,目标关å¡ç¼ºå…³å¡èƒŒæ™¯æ—¶å¿…须继承åŒä½œå“首个å¯ç”¨å…³å¡èƒŒæ™¯ï¼Œä»ç¼ºå¤±æ—¶æ‰æ²¿ç”¨å½“å‰è¿è¡Œæ€å¿«ç…§èƒŒæ™¯æˆ–默认 UI。è¿è¡Œæ€æŒ‰é’®è§†è§‰ä¼˜å…ˆè¯»å–当å‰å…³å¡ `uiSpritesheetImageSrc/uiSpritesheetImageObjectKey`ï¼Œå…ˆæŒ‰é€æ˜Ž alpha 自动边界检测识别 spritesheet ä¸­çš„ç‹¬ç«‹æŒ‰é’®å±•ç¤ºçŸ©å½¢ï¼Œå†æŒ‰åŽŸå›¾ä½ç½®ä»Žå·¦åˆ°å³ã€ä»Žä¸Šåˆ°ä¸‹æ˜ å°„到返回ã€è®¾ç½®ã€ä¸‹ä¸€å…³ã€æç¤ºã€åŽŸå›¾ã€å†»ç»“ï¼›åŒä¸€ç»„ä»¶è¿˜è¦æŒ‰è¾ƒé«˜ alpha é˜ˆå€¼æ´¾ç”Ÿç´§è‡´ç‚¹å‡»çƒ­åŒºï¼Œé€æ˜Žç•™ç™½å’ŒæŸ”边低 alpha 区域尽é‡ä¸å“应点击。检测失败时回退旧固定六格è£åˆ‡ï¼Œç¼ºå¤±æ—¶æ‰ç”¨çŽ°æœ‰å›¾æ ‡æŒ‰é’®å…œåº•ã€‚æœ‰ spritesheet æ—¶ï¼Œè¿”å›žå’Œè®¾ç½®æŒ‰é’®çš„ç‚¹å‡»å®¹å™¨åªæä¾›é€æ˜Žç‚¹å‡»åŒºï¼Œä¸å†å åŠ é»˜è®¤ç™½è‰²åœ†å½¢åº•ï¼›åº•éƒ¨æç¤ºã€åŽŸå›¾ã€å†»ç»“ä¸‰æžšç´ ææŒ‰æ£€æµ‹çŸ©å½¢çš„原始宽高比显示,ä¸èƒ½å¼ºè¡Œæ‹‰ä¼¸æˆæ­£åœ†æˆ–铺满整列。底部é“具区ä¸å†ä½¿ç”¨è¿žç‰‡èƒ¶å›ŠèƒŒæ™¯ï¼Œæç¤ºã€åŽŸå›¾ã€å†»ç»“三个按钮å‡åŒ€åˆ†å¸ƒï¼›è¿è¡Œæ€åªå±•ç¤ºæŒ‰é’®ç´ ææœ¬èº«ï¼Œä¸é¢å¤–å åŠ â€œæç¤º / 原图 / å†»ç»“â€æ–‡å­—。 - 拼图è¿è¡Œæ€æ£‹ç›˜ä¸å åŠ åˆ†å—è’™ç‰ˆã€æè¾¹ã€é˜´å½±ã€é€‰ä¸­åº•色或åˆå¹¶å— SVG 轮廓;拼图片本体需è¦è£åˆ‡ä¸ºåœ†è§’形状,å•å—使用独立圆角è£åˆ‡ï¼Œåˆå¹¶å—使用 SVG 原生 `clipPath` è£åˆ‡æ•´ä½“外轮廓,外凸角和内凹角分别计算åŠå¾„,内凹角åŠå¾„è¦æ¯”外凸角更明显以é¿å…手机 WebView 中看起æ¥ä»æ˜¯ç›´è§’。原图é“å…·åªåœ¨ç”¨æˆ·ä¸»åŠ¨ç¡®è®¤åŽæ‰“开独立原图查看层,ä¸åœ¨å½“剿‹¼å›¾æ£‹ç›˜ä¸Šå åŠ åŽŸå›¾ã€‚ - 拼图è¿è¡Œæ€æ‹–æ‹½å¿…é¡»å®Œå…¨è·Ÿéšæ‰‹æŒ‡æˆ–é¼ æ ‡ä½ç½®ï¼Œ`pointermove` æœŸé—´å³æ—¶å†™å…¥å¯è§æ‹¼å—çš„ transform,ä¸ä¾èµ–等待åŽç«¯å›žåŒ…ã€React 釿¸²æŸ“或下一帧动画队列;进入拖动åŽä¸å±•示拼å—é€‰ä¸­æ€æˆ–â€œå·²é€‰æ‹©â€æç¤ºï¼Œæ¾æ‰‹åŽå†æäº¤ç›®æ ‡æ ¼åŒæ­¥è§„则真相。 - 拼图è¿è¡Œæ€çš„æç¤ºã€è®¾ç½®ç­‰ç‚¹å‡»å¼¹å±‚è·Ÿéšå½“å‰è¿è¡Œæ€ä¸»è‰²ä¸»é¢˜ï¼Œä½¿ç”¨æ™®é€šåœ†è§’ä¸»é¢˜é¢æ¿ï¼Œä¸å¤ç”¨åƒç´ ä¹å®«æ ¼ç´ ææ¡†ã€‚ - 拼图è¿è¡Œæ€å£³å±‚自身è¦è¡¥é½ `platform-ui-shell` / `platform-theme` / `platform-theme--light|dark`,ä¸èƒ½ä¾èµ–外层平å°å£³æ¥æä¾›ä¸»é¢˜å˜é‡ï¼›`/puzzle` 直达页和平å°å†…嵌页都必须渲染åŒä¸€å¥—主题语义类。 +- 拼图è¿è¡Œæ€é¡¶éƒ¨å…³å¡ä¿¡æ¯é‡‡ç”¨æ¸¸æˆåŒ–铭牌样å¼ï¼šæ©˜æ£•横å‘å…³å¡å牌承载 `第 N å…³` 和关å¡å,左侧固定使用 `media/logo.png` å¡é€šå½¢è±¡ï¼›å€’计时作为下挂米白å°ç‰Œç‹¬ç«‹æ˜¾ç¤ºï¼Œç´§è´´é“­ç‰Œä½†ä¸é®æŒ¡æ£‹ç›˜ã€‚该样å¼åªæ”¹å˜è¿è¡Œæ€ HUD è§†è§‰ï¼Œä¸æ”¹å˜è®¡æ—¶ã€æš‚åœã€å¤±è´¥åŒæ­¥æˆ–å…³å¡æŽ¨è¿›è§„åˆ™ã€‚ - 拼图è¿è¡Œæ€è¿›è¡Œä¸­å…³å¡çš„ `elapsedMs` 仿˜¯ç»“ç®—å­—æ®µï¼Œè®¾ç½®é¢æ¿çš„“当å‰ç”¨æ—¶â€å¿…须按 `startedAtMs`ã€æš‚åœç´¯è®¡å’Œå†»ç»“累计实时派生;ä¸è¦ç›´æŽ¥æŠŠè¿›è¡Œä¸­çš„ `currentLevel.elapsedMs` 当作展示值。 +- 推è页嵌入拼图è¿è¡Œæ€æ—¶ï¼Œé€šå…³ç»“算弹层必须挂到页é¢çº§ fixed 浮层,ä¸èƒ½ç•™åœ¨æŽ¨èå¡ç‰‡è§†è§‰åŒºå†…çš„ absolute 覆盖层;推è页滑动å¡ç‰‡å’Œè¿è¡Œæ€è§†å£éƒ½ä½¿ç”¨ `overflow: hidden`,åŠå±å†…容区会è£å‰ªæŽ’行榜ã€ä¸‹ä¸€å…³æŒ‰é’®å’Œç›¸ä¼¼ä½œå“å¡ã€‚ - 推è页里的拼图作å“如果从è¿è¡Œæ€è¿›å…¥â€œæ”¹é€ â€ç»“果页,返回平å°åŽè¦æ¸…掉推è嵌入æ€çš„ `activeRecommendEntryKey` / `activeRecommendRuntimeKind` / `isStartingRecommendEntry`,å†é‡æ–°æŒ‰æŽ¨è页自动å¯åŠ¨é€»è¾‘è¿›å…¥ä½œå“,ä¸èƒ½å¤ç”¨å·²ç»è¢«æ¸…空的旧 `puzzleRun`。 - 拼图è¿è¡Œæ€å…许å‰ç«¯ä½Žå»¶è¿Ÿäº¤äº’è¡¨çŽ°ï¼Œä½†é€šå…³ã€æŽ’è¡Œæ¦œã€å¥–励和作å“状æ€ä»ä»¥åŽç«¯ç¡®è®¤ä¸ºå‡†ã€‚ @@ -94,9 +99,10 @@ å…¥å£è¡¨å•åªå±•示: - 题æä¸»é¢˜ã€‚ -- `2Dç´ æé£Žæ ¼` 横å‘风格å¡ï¼šæ‰å¹³å›¾æ ‡ã€èµ›ç’ç’å¡é€šã€åƒç´ å¤å¤ã€æ‰‹ç»˜æ°´å½©ã€è´´çº¸æè¾¹ã€åŽšæ¶‚å›¾æ ‡ã€è‡ªå®šä¹‰ã€‚ - 难度:轻æ¾ã€æ ‡å‡†ã€è¿›é˜¶ã€ç¡¬æ ¸ã€‚ +å…¥å£ä¸å†è¦æ±‚用户选择素æé£Žæ ¼ï¼›åކå²è‰ç¨¿å’Œæ—§æŽ¥å£ä¸­çš„ `assetStyleId` / `assetStyleLabel` / `assetStylePrompt` 仅作为兼容字段ä¿ç•™ï¼Œæ–°å…¥å£æäº¤ä¸å†å†™å…¥è¿™äº›å­—段。 + 难度映射: | 难度 | clearCount | difficulty | æ€»ç‰©å“æ•° | 物å“ç§ç±» | @@ -104,29 +110,27 @@ | è½»æ¾ | 8 | 2 | 24 | 3 | | 标准 | 12 | 4 | 36 | 9 | | 进阶 | 16 | 6 | 48 | 15 | -| 硬核 | 21 | 8 | 63 | 21 | +| 硬核 | 21 | 8 | 63 | 20 | 当å‰ç´ æç”Ÿæˆæµæ°´çº¿ï¼š 1. 点击生æˆå‰å¼¹å‡ºæ³¥ç‚¹ç¡®è®¤ï¼Œè‰ç¨¿ç”Ÿæˆå›ºå®šæ¶ˆè€— `10` 泥点。 -2. å…ˆå†™å…¥å¯æ¢å¤è‰ç¨¿ profileï¼Œå†æ‰§è¡Œæ–‡æœ¬è®¡åˆ’ã€å›¾ç‰‡ç”Ÿæˆã€åˆ‡å›¾ã€OSS 上传ã€èƒŒæ™¯å’Œå®¹å™¨ç”Ÿæˆï¼›ä½œå“摘è¦åœ¨ç´ ææˆ–èƒŒæ™¯æœªå®Œæ•´æ—¶ä¸‹å‘ `generationStatus=generating`,素æå’ŒèƒŒæ™¯å®Œæ•´åŽä¸‹å‘ `ready`,è‰ç¨¿å®Œæˆæ¡ä»¶ä¸åŒ…å« `backgroundMusic`。 -3. 物å“ç´ æä¸å†è°ƒç”¨ Hyper3D Rodin,ä¸å†ç”Ÿæˆ GLB。新è‰ç¨¿å’Œæ‰¹é‡æ–°å¢žå›ºå®šç”Ÿæˆ 2D 五视角素æã€‚ -4. ç‰©å“ sheet èµ° VectorEngine Gemini `gemini-3-pro-image-preview` 原生 `generateContent`,å•å¼  `1:1` 图固定 `5*5`,æ¯å¼ æ‰¿è½½ `5` 个物å“ã€æ¯ä¸ªç‰©å“ `5` 个视角。 -5. ç‰©å“ sheet promptã€åˆ‡å›¾ã€é€æ˜ŽåŒ–和五视角切片æŒä¹…化å¤ç”¨ `generated_asset_sheets` 通用模å—ï¼›Match3D åªä¼ å…¥é¢˜æ / 风格 subjectã€ç‰©å“行 prompt 模æ¿å’Œâ€œåŒä¸€è¡Œäº”格必须是åŒä¸€ç‰©å“五个ä¸åŒè§†è§’â€çš„特殊设定,并把通用切片结果映射回 `generatedItemAssets[].imageViews[]`。 -6. 切图å‰å…ˆåœ¨æ•´å¼  sheet 上åšç»¿å¹• / è¿‘ç™½åº•é€æ˜ŽåŒ–å’Œè¾¹ç¼˜åŽ»æ±¡æŸ“ï¼Œå†æŒ‰æ ¼å­å¯¼å‡ºç‹¬ç«‹ PNGï¼›æ¯ä¸ªè§†è§’图å†ä»¥æ‰©å¤§çš„ PNG 边界带为ç§å­ï¼ŒæŠŠè¿žé€šçš„æµ…绿 / è¿‘ç™½æŠ—é”¯é½¿è¾¹ç›´æŽ¥æ”¹ä¸ºé€æ˜Žï¼Œå¹¶å¯¹è´´é€æ˜ŽèƒŒæ™¯çš„弱绿 / 暗绿轮廓åƒç´ åšåŽ»ç»¿æ±¡æŸ“å¤„ç†ï¼Œæœ€åŽæŒ‰å‰©ä½™å¯è§ä¸»ä½“二次收紧;ä¸è¦å…ˆè£å‰ªå•æ ¼å†å„自去绿。 -7. `generatedItemAssets[].imageViews[]` 是新素æä¸»å­—段,`imageSrc/imageObjectKey` åªå…¼å®¹é¦–张视角。 +2. å…ˆå†™å…¥å¯æ¢å¤è‰ç¨¿ profileï¼Œå†æ‰§è¡Œæ–‡æœ¬è®¡åˆ’ã€å…³å¡æ•´å›¾ç”Ÿæˆã€ä¸‰å¼ æ´¾ç”Ÿå›¾ç”Ÿæˆã€OSS 上传和素æè§£æžï¼›ä½œå“摘è¦åœ¨èƒŒæ™¯ã€UI spritesheet æˆ–ç‰©å“ spritesheet æœªå®Œæ•´æ—¶ä¸‹å‘ `generationStatus=generating`,完整åŽä¸‹å‘ `ready`,è‰ç¨¿å®Œæˆæ¡ä»¶ä¸åŒ…å« `backgroundMusic`。 +3. 首次调用 VectorEngine `gpt-image-2`,无å‚è€ƒå›¾ï¼Œç«–å± `9:16`,生æˆå®Œæ•´æŠ“大鹅关å¡ç”»é¢å¹¶æŒä¹…化到 `generatedBackgroundAsset.levelSceneImageSrc/levelSceneImageObjectKey`。æç¤ºè¯å¿…须包å«ç”¨æˆ·ä¸»é¢˜æè¿°ã€é¡¶éƒ¨è¿”回 / 标题倒计时 / 设置按钮ã€ä¸­é—´ä¸Žä¸»é¢˜åŒ¹é…且贴横å‘边缘的容器,以åŠåº•部“移出 / å‡‘é½ / 打乱â€ä¸‰ä¸ªé“具按钮。 +4. 关塿•´å›¾å®ŒæˆåŽå¹¶å‘å‘起三次 `gpt-image-2` ç¼–è¾‘è¯·æ±‚ï¼Œä¸‰è€…éƒ½ä»¥å…³å¡æ•´å›¾ä½œä¸ºå‚考图:`1K`ã€`1:1` çš„ UI spritesheet 写入 `uiSpritesheetImageSrc/uiSpritesheetImageObjectKey`ï¼›`1K`ã€`9:16` 的背景图写入 `imageSrc/imageObjectKey`ï¼›`2K`ã€`1:1` çš„ç‰©å“ spritesheet 写入 `itemSpritesheetImageSrc/itemSpritesheetImageObjectKey`。 +5. UI spritesheet æç¤ºè¯å›ºå®šè¦æ±‚按从上到下ã€ä»Žå·¦åˆ°å³æ•´ç†çº¯ç»¿è‰²ç»¿å¹•背景素æï¼šè¿”回按钮ã€è®¾ç½®æŒ‰é’®ã€æ–¹æ ¼ç´ æï¼ˆä¸å«è¾¹æ¡†ï¼Œä»…ä¿ç•™ä¸€ä¸ªï¼‰ã€ç§»å‡ºæŒ‰é’®ã€å‡‘齿Œ‰é’®ã€æ‰“乱按钮;åŽç«¯ä¸Šä¼  OSS å‰å¿…须把绿幕扣æˆé€æ˜Ž PNG。背景图æç¤ºè¯å›ºå®šè¦æ±‚移除全部 UI 组件和容器内å«ç‰©ï¼Œå®Œæ•´ä¿ç•™å®¹å™¨å’ŒèƒŒæ™¯ï¼Œå¹¶è¡¥å…¨è¢« UI 覆盖的背景内容。 +6. ç‰©å“ spritesheet 固定 `10行*10列`ã€ç»Ÿä¸€çº¯ç»¿è‰²ç»¿å¹•背景,åŽç«¯ä¸Šä¼  OSS å‰å¿…须把绿幕扣æˆé€æ˜Ž PNG;素æé—´è·ä¸¥æ ¼å‡åŒ€åˆ†å¸ƒï¼Œæ¯ä¸€è¡ŒåŒ…å«ä¸¤ç§ç‰©å“,æ¯ç§ç‰©å“五个ä¸åŒå½¢æ€ï¼Œç‰©å“æ¥è‡ªå‚考图中心容器中的 2D ç´ æï¼Œä¸¥ç¦é«˜ç›¸ä¼¼åº¦ç‰©å“。新æµç¨‹æ¯æ¬¡å›ºå®šè§£æžå¹¶æŒä¹…化 `20` ç§ç‰©å“,物å“ä¿¡æ¯åˆ—表全部展示这 `20` ç§ï¼›æŒä¹…åŒ–å•æ ¼æ˜ å°„必须按 `row = itemIndex / 2 + 1`ã€`col = itemIndex % 2 * 5 + viewIndex + 1` 写入通用系列素æå›¾é›†ï¼Œä¸èƒ½å†ç”¨ `row = itemIndex + 1`。`generatedItemAssets[].imageViews[]` ä»å…¼å®¹å·²åˆ‡å¥½çš„五视角图,缺失时è¿è¡Œæ€å’Œç¼–辑器按 spritesheet 自动解æžç»“果回退。 +7. å‰ç«¯å’Œè¿è¡Œæ€ç»Ÿä¸€ä½¿ç”¨ alpha è¿žé€šåŸŸçŸ©å½¢æ£€æµ‹è§£æž spritesheet:UI 图按返回ã€è®¾ç½®ã€æ–¹æ ¼ã€ç§»å‡ºã€å‡‘é½ã€æ‰“ä¹±é¡ºåºæ˜ å°„回原 UI ä½ç½®ï¼›ç‰©å“å›¾æŒ‰æ£€æµ‹é¡ºåºæ¯ `5` 个区域组æˆä¸€ä¸ªç‰©å“的五个形æ€ï¼Œæœ€å¤š `20` 个物å“ã€‚é€æ˜ŽèƒŒæ™¯æ˜¯è§£æžå‰æï¼Œä¸èƒ½åœ¨å‰ç«¯æŒ‰å›ºå®šåƒç´ å标写死切片。 8. 文本生æˆç‰©å“åç§°æ—¶å¿…é¡»åŒæ—¶ç”Ÿæˆ `itemSize`,åªå…许 `大`ã€`中`ã€`å°`ã€‚è¯¥å­—æ®µéš `generatedItemAssets[].itemSize` æŒä¹…化并下å‘;历å²ç¼ºå¤±å­—æ®µçš„ç´ ææŒ‰ `大` å…¼å®¹ï¼Œæ¨¡åž‹ç¼ºå¤±æˆ–éžæ³•值按物å“åæœ¬åœ°æŽ¨æ–­ã€‚ -9. 局内 `9:16` 纯背景图和 `1:1` 中心容器 UI 图分开生æˆã€‚纯背景ä¸å¾—包å«é”…ã€ç›˜ã€æ‰˜ç›˜ã€HUDã€æŒ‰é’®ã€æ–‡å­—或物å“,且入库å‰å¿…é¡»åˆæˆä¸ºå…¨ç”»å¹…ä¸é€æ˜Žå›¾ç‰‡ï¼Œä¸å…è®¸å‡ºçŽ°é€æ˜ŽåŒºåŸŸï¼›å®¹å™¨å›¾èµ° `/v1/images/edits` å‚è€ƒé€æ˜Žå®¹å™¨å›¾ã€‚该容器å‚考图由åŽç«¯å†…嵌到 `api-server`,ä¸è¦ä¾èµ–è¿è¡Œæ—¶å½“å‰ç›®å½•下的 `public/` 文件。 -10. å½“å‰æŠ“å¤§é¹…éŸ³é¢‘ç”Ÿæˆå…³é—­ï¼šå…¥å£æ—  `生æˆéŸ³æ•ˆ`,è‰ç¨¿ä¸ç”ŸæˆèƒŒæ™¯éŸ³ä¹æˆ–点击音效,结果页ä¸å±•ç¤ºèƒŒæ™¯éŸ³ä¹ Tab 或点击音效生æˆå…¥å£ã€‚åŽ†å² `backgroundMusic` / `clickSound` 字段继续兼容传递。 -11. UI 背景和容器资产的æŒä¹…化真相ä»åœ¨ `generatedItemAssets[].backgroundAsset`ï¼›Agent sessionã€work summary/detailã€ç»“果页和è¿è¡Œæ€å…¥å£éƒ½å¿…须把该字段æå‡ä¸º `backgroundImageSrc/backgroundImageObjectKey/generatedBackgroundAsset` 读å–。è‰ç¨¿ç¼–译åŽçš„ `draftJson` 自身也必须æºå¸¦ `generatedItemAssets` å¿«ç…§ï¼›HTTP facade ä¸èƒ½åªä¾èµ– work detail å›žè¯»è¡¥é½ UI 资产,外部回读为空时也ä¸å¾—清空è‰ç¨¿å†…已有的背景 / 容器图。平å°å£³å±‚ä»Žä½œå“æž¶ã€å¹¿åœºã€ç”Ÿæˆå®Œæˆå›žè°ƒã€ç»“果页ä¿å­˜ / å‘布 / 试玩回调进入 Match3D profile 时也è¦å…ˆå½’一化并æå‡ï¼Œé¿å…é¦–æ¬¡è¯•çŽ©ã€æ‰‹åŠ¨è¯•çŽ©ã€æŽ¨èæµæˆ–å…¬å¼€è¯¦æƒ…è¿è¡Œæ€é€€å›žé»˜è®¤èƒŒæ™¯ / 默认容器。 +9. å½“å‰æŠ“å¤§é¹…éŸ³é¢‘ç”Ÿæˆå…³é—­ï¼šå…¥å£æ—  `生æˆéŸ³æ•ˆ`,è‰ç¨¿ä¸ç”ŸæˆèƒŒæ™¯éŸ³ä¹æˆ–点击音效,结果页ä¸å±•ç¤ºèƒŒæ™¯éŸ³ä¹ Tab 或点击音效生æˆå…¥å£ã€‚åŽ†å² `backgroundMusic` / `clickSound` 字段继续兼容传递。 +10. 背景ã€UI spritesheetã€ç‰©å“ spritesheet 和历å²å®¹å™¨å…¼å®¹å­—段的æŒä¹…化真相ä»åœ¨ `generatedItemAssets[].backgroundAsset` 与æå‡åŽçš„ `generatedBackgroundAsset`ï¼›Agent sessionã€work summary/detailã€ç»“果页和è¿è¡Œæ€å…¥å£éƒ½å¿…须把该字段æå‡ä¸º `backgroundImageSrc/backgroundImageObjectKey/generatedBackgroundAsset` 读å–。è‰ç¨¿ç¼–译åŽçš„ `draftJson` 自身也必须æºå¸¦ `generatedItemAssets` å¿«ç…§ï¼›HTTP facade ä¸èƒ½åªä¾èµ– work detail å›žè¯»è¡¥é½ UI 资产,外部回读为空时也ä¸å¾—清空è‰ç¨¿å†…已有的背景 / 图集。平å°å£³å±‚ä»Žä½œå“æž¶ã€å¹¿åœºã€ç”Ÿæˆå®Œæˆå›žè°ƒã€ç»“果页ä¿å­˜ / å‘布 / 试玩回调进入 Match3D profile 时也è¦å…ˆå½’一化并æå‡ï¼Œé¿å…é¦–æ¬¡è¯•çŽ©ã€æ‰‹åŠ¨è¯•çŽ©ã€æŽ¨èæµæˆ–å…¬å¼€è¯¦æƒ…è¿è¡Œæ€é€€å›žé»˜è®¤èƒŒæ™¯ã€‚ 结果页当å‰ç»“构: - `作å“ä¿¡æ¯`:åç§°ã€æè¿°ã€æ ‡ç­¾ï¼›å°é¢ç¼–辑收å£åˆ°å‘å¸ƒé¢æ¿ã€‚ - `难度é…ç½®`:四档离散拖动æ¡ï¼Œæ˜¾ç¤ºéœ€è¦æ¶ˆé™¤ã€æ€»ç‰©å“æ•°ã€ç‰©å“ç§ç±»ã€å·²ç”Ÿæˆç‰©å“ç§ç±»ã€‚ -- `ç´ æé…ç½® > 物å“`:两列素æå¡ï¼Œç‚¹å‡»æ‰“å¼€ç‹¬ç«‹äº”è§†è§’é¢„è§ˆé¢æ¿ï¼›æ”¯æŒåˆ é™¤ã€æ‰¹é‡æ–°å¢žå’Œæ‰¹é‡é‡æ–°ç”Ÿæˆã€‚æ›¿æ¢æ¨¡å¼å¿…é¡»ä¿ç•™åŽŸ `itemId` 和列表顺åºã€‚ -- `ç´ æé…ç½® > UI`:纯背景图与è¿è¡Œæ€ UI 预览,é‡ç”Ÿæˆæ¶ˆè€— `2` 泥点;UI 预览必须å¤ç”¨è¿è¡Œæ€é¡¶éƒ¨ HUDã€ä¸­å¤®å®¹å™¨æ£‹ç›˜ã€å®¹å™¨å›¾å®šä½å’Œåº•éƒ¨æ§½ä½æ ·å¼ï¼Œä¸å•独维护一套简化预览 UI。 -- `ç´ æé…ç½® > 容器形象`:å•独预览和é‡ç”Ÿæˆä¸­å¿ƒå®¹å™¨ï¼Œæ¶ˆè€— `2` 泥点。 +- `ç´ æé…ç½® > 物å“`:两列素æå¡å›ºå®šå±•示 20 个物å“ï¼Œç‚¹å‡»æ‰“å¼€ç‹¬ç«‹äº”è§†è§’é¢„è§ˆé¢æ¿ï¼›æ”¯æŒåˆ é™¤ã€æ‰¹é‡æ–°å¢žå’Œæ‰¹é‡é‡æ–°ç”Ÿæˆã€‚æ›¿æ¢æ¨¡å¼å¿…é¡»ä¿ç•™åŽŸ `itemId` 和列表顺åºã€‚ +- `ç´ æé…ç½® > UIç´ æ`:预览背景图ã€UI spritesheet 原图ã€ç‰©å“ spritesheet åŽŸå›¾å’Œç‰©å“ spritesheet 自动解æžç¼©ç•¥å›¾ï¼›èƒŒæ™¯å›¾åªæ”¯æŒé¢„è§ˆï¼Œä¸æä¾›é‡æ–°ç”Ÿæˆå…¥å£ã€‚UI 预览必须å¤ç”¨è¿è¡Œæ€é¡¶éƒ¨ HUDã€ä¸­å¤®å®¹å™¨æ£‹ç›˜å’Œåº•éƒ¨æ§½ä½æ ·å¼ï¼Œä¸å•独维护一套简化预览 UI。 è¿è¡Œæ€å½“å‰å£å¾„: @@ -136,8 +140,9 @@ - åˆå§‹ç‰©å“åæ ‡å›´ç»•容器å£ä¸­å¿ƒç”Ÿæˆï¼Œå¹¶ä¿ç•™å†…缩安全è·ç¦»ï¼Œé¿å…贴边和局部角è½èšé›†ã€‚ - 本地试玩与 Rust `module-match3d` åŽç«¯é¢†åŸŸç”Ÿæˆä½¿ç”¨åŒä¸€å¥—中心铺开å£å¾„;生æˆç‚¹è¦†ç›–四象é™ä¸”å‡å€¼æŽ¥è¿‘中心。 - è¿è¡Œæ€ä¼˜å…ˆæ¶ˆè´¹ 2D 生æˆå›¾ï¼›é»˜è®¤ç§¯æœ¨ / 程åºåŒ– 3D 表现åªä½œä¸ºè§†è§‰åˆ†æ”¯å’Œå…œåº•ï¼Œä¸æ”¹å˜è§„则真相。 -- è¿è¡Œæ€å¯åЍå‰è¦é¢„加载 `generatedItemAssets[].imageViews[]`ã€é¡¶å±‚ `generatedBackgroundAsset`ã€ç‰©å“挂载 `backgroundAsset` 中的背景和容器图;首次生æˆè‡ªåŠ¨è¯•çŽ©ã€ç»“æžœé¡µæ‰‹åŠ¨è¯•çŽ©ã€æŽ¨èæµå’Œå…¬å¼€è¯¦æƒ…å¯åŠ¨éƒ½å¿…é¡»ä¼ å…¥æå‡åŽçš„ profile。å¡ç‰‡æ‘˜è¦ç¼º UI 背景或容器字段时,进入è¿è¡Œæ€å‰å¿…须补读 work detail。补读åŽçš„ profile 也è¦å†æ¬¡æå‡ `generatedItemAssets[].backgroundAsset`,确ä¿èƒŒæ™¯å’Œå®¹å™¨å­—段传给 `Match3DRuntimeShell`。 -- 局内容器图在移动端宽度大于å±å¹•宽度并略å‘下压,当å‰è¿è¡Œæ€ä½¿ç”¨ `w-[min(116vw,42rem)]` 与 `top-[54%]` æ”¾å¤§å’Œä¸‹ç§»å®¹å™¨å›¾æœ¬ä½“ï¼Œä¿æŒåŽŸå›¾æ¯”ä¾‹ä¸æ‹‰ä¼¸ä¸”䏿”¹å˜åŽç«¯ç‰©å“布局ã€ç‚¹å‡»åŠå¾„或消除规则;生æˆå®¹å™¨å›¾åŠ è½½æˆåŠŸåŽæ£‹ç›˜å¤–壳逿˜Žä¸” `overflow-visible`ï¼Œåªæœ‰ç”Ÿæˆå›¾ç¼ºå¤±æˆ–åŠ è½½å¤±è´¥æ—¶æ‰æ˜¾ç¤ºé€æ˜Žå‚考容器兜底。 +- 难度åªå†³å®šæœ¬å±€åŠ è½½çš„ç‰©å“ç§ç±»æ•°é‡ï¼šè½»æ¾ 3ã€æ ‡å‡† 9ã€è¿›é˜¶ 15ã€ç¡¬æ ¸ 20。硬核ä»ä¿ç•™ 21 次消除和 63 件总物å“,è¿è¡Œæ€æŒ‰ 20 ç§ç´ æå¾ªçޝå¤ç”¨ï¼Œä¸è¦æ±‚生æˆç¬¬ 21 ç§ç´ æã€‚ +- è¿è¡Œæ€å¯åЍå‰è¦é¢„加载 `generatedItemAssets[].imageViews[]`ã€é¡¶å±‚ `generatedBackgroundAsset`ã€ç‰©å“挂载 `backgroundAsset` 中的背景ã€UI spritesheet å’Œç‰©å“ spritesheet;首次生æˆè‡ªåŠ¨è¯•çŽ©ã€ç»“æžœé¡µæ‰‹åŠ¨è¯•çŽ©ã€æŽ¨èæµå’Œå…¬å¼€è¯¦æƒ…å¯åŠ¨éƒ½å¿…é¡»ä¼ å…¥æå‡åŽçš„ profile。å¡ç‰‡æ‘˜è¦ç¼ºå›¾é›†å­—段时,进入è¿è¡Œæ€å‰å¿…须补读 work detail。补读åŽçš„ profile 也è¦å†æ¬¡æå‡ `generatedItemAssets[].backgroundAsset`,确ä¿èƒŒæ™¯å’Œå›¾é›†å­—段传给 `Match3DRuntimeShell`。 +- 背景图作为è¿è¡Œæ€å…¨å±èƒŒæ™¯ï¼Œå›¾å†…å·²ç»ä¿ç•™å®¹å™¨ï¼›æ—§ `containerImage*` åªä½œä¸ºåކå²é€æ˜Žå®¹å™¨å…¼å®¹å­—段。若 `containerImage*` 与 `uiSpritesheetImage*` åŒæºï¼Œè¿è¡Œæ€ä¸å¾—把 UI spritesheet 当中心容器图å åˆ°æ£‹ç›˜ä¸Šã€‚ - generated ç§æœ‰å›¾æ¢ç­¾æœªå®Œæˆæ—¶ï¼Œå±€å†…物å“å…ˆéšè—等待,ä¸å¾—短暂显示默认积木;åŒä¸€æ‰¹èµ„æºåœ¨é‡å¯ run æ—¶ä¿ç•™å·²è§£æžç­¾å URLï¼Œåªæœ‰èµ„æºæºåˆ—表å˜åŒ–或æ¢ç­¾å¤±è´¥åŽæ‰å…许进入兜底视觉。 - `itemSize` åªç¼©æ”¾ç”Ÿæˆ 2D 图片本体:`大`ã€`中`ã€`å°` 凿Œ‰ç›¸å¯¹å°ºå¯¸ç¼©æ”¾ï¼Œå…¶ä¸­ `大` 也比原始图片略å°ï¼Œ`中` å’Œ `å°` 进一步缩å°ï¼›ä¸æ”¹å˜åŽç«¯ä¸‹å‘的布局åŠå¾„ã€ç‚¹å‡»åŠå¾„或三消规则。 - 物å“è¿›å…¥åº•éƒ¨ç‰©å“æ æ—¶æŒ‰åŒç±»åž‹æ’å…¥ï¼šå¦‚æžœç‰©å“æ å·²æœ‰åŒç±»ç‰©å“ï¼Œæ–°ç‰©å“æ’到该类型最åŽä¸€ä¸ªç‰©å“åŽé¢ï¼ŒåŽç»­ç‰©å“整体åŽç§»ï¼›æ²¡æœ‰åŒç±»æ—¶è¿½åŠ åˆ°å½“å‰æœ«å°¾ã€‚达到三件åŒç±»æ—¶ï¼Œåœ¨é£žå…¥ç‰©å“æ åŠ¨ç”»ç»“æŸåŽï¼Œå·¦ä¾§å’Œå³ä¾§åŒç±»ç‰©å“å‘ä¸­é—´åˆæˆï¼Œä¸‰ä»¶ä¸€èµ·æ¶ˆå¤±ï¼Œæ’­æ”¾åˆæˆéŸ³æ•ˆï¼Œä¸å±•示星星图标,åŽé¢çš„物å“å†å‘å‰è¡¥ä½ã€‚è¯¥åŠ¨æ•ˆåªæ˜¯å‰ç«¯è¡¨çŽ°å±‚ï¼ŒåŽç«¯å’Œæœ¬åœ°è¯•玩ä»è´Ÿè´£æƒå¨æ’å…¥ã€æŒ‡å®šç‚¹å‡»ç±»åž‹æ¸…除与补ä½åŽçš„æ§½ä½å¿«ç…§ã€‚ diff --git a/media/logo.png b/media/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..40a5c4fe636c4ac9b125b1c70046d894d2604a1f GIT binary patch literal 1756883 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 |ICQxQsc=3z4?+Sf?esjVHqCjRNI6EH%M&e>7 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

UqF_p7Mhw(w-g`FKYY+m-*SDeh5u) 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