From 22f8885b9726e0fd16d5145ad8e5846698001bab Mon Sep 17 00:00:00 2001 From: kang Date: Thu, 14 May 2026 13:16:15 +0800 Subject: [PATCH] auto-save 2026-05-14 13:16 (~3) --- .memory/worklog.json | 27 ++++++++++--------- docs/source-analysis.html | 2 +- web/components/lightbox.tsx | 52 ++++++++++++++++++++++++++++++++++++- 3 files changed, 65 insertions(+), 16 deletions(-) diff --git a/.memory/worklog.json b/.memory/worklog.json index 11b30ff..f5f714f 100644 --- a/.memory/worklog.json +++ b/.memory/worklog.json @@ -1,19 +1,5 @@ { "entries": [ - { - "files_changed": 1, - "hash": "1e4fd9e", - "message": "auto-save 2026-05-13 07:15 (~1)", - "ts": "2026-05-13T07:15:32+08:00", - "type": "commit" - }, - { - "files_changed": 1, - "hash": "2a5f1dd", - "message": "auto-save 2026-05-13 07:21 (~1)", - "ts": "2026-05-13T07:21:25+08:00", - "type": "commit" - }, { "files_changed": 1, "hash": "92794f6", @@ -3281,6 +3267,19 @@ "type": "session-heartbeat", "message": "Codex 会话活跃 · 最近命令:codex · 3 项未提交变更 · 最近提交:auto-save 2026-05-14 13:04 (+1, ~3)", "files_changed": 3 + }, + { + "ts": "2026-05-14T13:10:42+08:00", + "type": "commit", + "message": "auto-save 2026-05-14 13:10 (~5)", + "hash": "646f945", + "files_changed": 5 + }, + { + "ts": "2026-05-14T05:16:11Z", + "type": "session-heartbeat", + "message": "Codex 会话活跃 · 最近命令:codex · 3 项未提交变更 · 最近提交:auto-save 2026-05-14 13:10 (~5)", + "files_changed": 3 } ] } diff --git a/docs/source-analysis.html b/docs/source-analysis.html index 658473d..5390203 100644 --- a/docs/source-analysis.html +++ b/docs/source-analysis.html @@ -941,7 +941,7 @@ SubjectAsset {

问题:产品融合不能只写“人物使用产品”,还要稳定控制出场方式、景别、运镜、产品入画、佩戴贴合、使用感受和收尾;同时 SKG 产品是颈部/肩颈按摩仪,比例和佩戴位置不能跑偏。

-

改动:前端内置 36 条产品融合镜头语言模板,6 条为一组,对应建立出场、产品入画、佩戴贴合、使用感受、生活延展和收尾记忆;产品融合页新增“换一组”按钮,只刷新 6 行描述词,不改变首帧、尾帧和视频结果。视频 prompt 额外写入颈部/后颈/颈肩使用部位和真实尺寸比例约束。

+

改动:前端内置 36 条产品融合镜头语言模板,6 条为一组,对应建立出场、产品入画、佩戴贴合、使用感受、生活延展和收尾记忆;产品融合页新增“换一组”按钮,只刷新 6 行描述词,不改变已选角色和视频结果。视频 prompt 额外写入颈部/后颈/颈肩使用部位和真实尺寸比例约束。

影响:web/components/lightbox.tsxweb/app/page.tsxdocs/source-analysis.html

diff --git a/web/components/lightbox.tsx b/web/components/lightbox.tsx index 2adea17..194018e 100644 --- a/web/components/lightbox.tsx +++ b/web/components/lightbox.tsx @@ -5,7 +5,7 @@ import { X, ChevronLeft, ChevronRight, Check, Sparkles, Wand2, Loader2, Eye, Ref import { frameUrl, cleanedFrameUrl, apiAssetUrl, describeFrame, cleanupFrame, applyCleanedFrame, discardCleanedFrame, addElement, updateElement, deleteElement, - generateSceneAsset, generateSubjectAssets, resolveImageRefUrl, updateStoryboard, copyProductLibraryAsset, + generateSceneAsset, generateSubjectAssets, updateStoryboard, copyProductLibraryAsset, listCharacterLibrary, copyCharacterLibraryAssets, characterLibraryImageUrl, type AssetBackground, type AssetSize, type CharacterLibraryItem, type KeyFrame, type Job, type ImageRef, type ProductFusionShot, type SceneAssetRole, type SceneStyle, type SubjectKind, } from "@/lib/api" @@ -194,6 +194,56 @@ const PRODUCT_FUSION_DESCRIPTION_PRESETS = [ "备用30|舒适微表情|佩戴稳定后,透明骨架人眼神变柔和、嘴角轻扬,肩颈线条放松;镜头从产品细节回到脸部,保持广告级质感。", ] +const CHARACTER_PROMPT_PROFILES: Record = { + "character-01": { + name: "运动阳光男", + subject: "清爽运动阳光男透明骨架人,身形挺拔、年轻有活力,整体气质健康明亮", + scenes: "晨练后卧室、阳台休息区、明亮健身房休息长椅或运动后居家放松场景", + usage: "运动后双手拿起 SKG,准确戴到后颈和颈肩交界处,轻按侧边控制区并微调贴合", + enjoyment: "从运动后的颈肩紧绷变成轻松舒展,闭眼深呼吸、肩部下沉、露出阳光放松微笑", + }, + "character-02": { + name: "都市型男", + subject: "都市通勤型男透明骨架人,穿搭利落,高层公寓和商务感更强", + scenes: "高层公寓客厅、办公桌、商务休息区、夜晚城市窗边或会议间隙", + usage: "久坐办公后从桌面拿起 SKG,戴到后颈,手指轻按按键,让产品稳定贴合颈肩", + enjoyment: "从低头疲惫、揉脖子变为靠回椅背放松,眼神平静、嘴角微扬,呈现高效恢复感", + }, + "character-03": { + name: "优雅白领女", + subject: "优雅白领女透明骨架人,姿态端正、干净精致,商业广告感更高级", + scenes: "办公室午休区、极简卧室、化妆镜前、柔和落地窗旁或精致公寓客厅", + usage: "工作间隙优雅拿起 SKG,轻放到后颈,双手细致调整两端贴合,动作慢而自然", + enjoyment: "从肩颈紧绷转为安静舒缓,闭眼微笑、呼吸放慢,呈现精致、自洽、舒服的状态", + }, + "character-04": { + name: "运动辣妹", + subject: "运动辣妹透明骨架人,线条利落、活力强,适合健身后和生活方式广告", + scenes: "健身房更衣区、瑜伽垫旁、阳光客厅、运动后休息区或浴室镜前", + usage: "训练后拿起 SKG 戴到后颈,侧头伸展时保持产品稳定贴合,手部不遮挡产品轮廓", + enjoyment: "从训练后的酸胀紧绷变为轻松舒展,闭眼享受、肩颈打开,表情自信舒服", + }, + "character-05": { + name: "绅士大叔", + subject: "成熟绅士大叔透明骨架人,气质稳重高级,适合书房、客厅和商务休息场景", + scenes: "木质书房、皮质休闲椅、安静客厅、窗边阅读角或商务酒店房间", + usage: "阅读或工作后从桌边拿起 SKG,稳稳戴到后颈,轻扶两端调整到颈肩正确位置", + enjoyment: "从沉稳疲惫变为从容舒适,缓慢闭眼、肩部放松、轻轻微笑,表达成熟克制的享受", + }, +} + +const fusionDescriptionForCharacter = (characterId: string, presetIndex: number) => { + const base = PRODUCT_FUSION_DESCRIPTION_PRESETS[presetIndex % PRODUCT_FUSION_DESCRIPTION_PRESETS.length] + const profile = CHARACTER_PROMPT_PROFILES[characterId] ?? CHARACTER_PROMPT_PROFILES[DEFAULT_CHARACTER_ID] + return [ + base, + `角色设定:${profile.subject}。`, + `场景倾向:${profile.scenes}。`, + `产品使用:${profile.usage};产品只能在脖子、后颈、颈肩交界处使用,尺寸必须符合真实颈部按摩仪比例。`, + `享受状态:${profile.enjoyment};不要医疗治疗承诺,不要恐怖解剖感。`, + ].join("\n") +} + const legacyFusionDescriptionSet = new Set(LEGACY_PRODUCT_FUSION_DESCRIPTION_PRESETS) const shouldUseDefaultFusionDescription = (value?: string | null) => { const text = value?.trim()