diff --git a/.gitignore b/.gitignore index 97e52f8..54b79d2 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,15 @@ node_modules/ *.tgz coverage/ test-results/ + +# Design and review materials are archived in dsh-skin-market-ops; +# keep them out of the installable GitHub source snapshot. +/assets/portrait-source-v2/references/ +/assets/portrait-source-v2/GENERATION-BRIEF.md +/assets/portrait-source-v2/stage-low.png +/assets/portrait-source-v2/stage-mid.png +/assets/portrait-source-v2/stage-max.png +/design-qa-comparison.png +/design-qa-final.png +/design-qa.md +/docs/demo.gif diff --git a/README.md b/README.md index 26fa8c4..d748b94 100644 --- a/README.md +++ b/README.md @@ -36,14 +36,10 @@ dsh plugin --profile web add 'github:kingOfSoySauce/dsh-liang-skin' - -
+ 滑动变祖皮肤效果截图
- 滑动变祖交互演示 -
-
diff --git a/assets/portrait-source-v2/GENERATION-BRIEF.md b/assets/portrait-source-v2/GENERATION-BRIEF.md deleted file mode 100644 index 2226754..0000000 --- a/assets/portrait-source-v2/GENERATION-BRIEF.md +++ /dev/null @@ -1,66 +0,0 @@ -# 滑动变祖 · 人像生成交接 - -## 结论 - -- 计划关键图:**24 张** -- 已生成:**24 / 24** -- 分辨率与色彩:**1024 × 1024,RGB** -- 生成图目录:`packages/dsh-client-liang-intensity-skin/assets/portrait-source-v2/` -- 阶段参考图目录:`packages/dsh-client-liang-intensity-skin/assets/portrait-source-v2/references/` - -`stage-low.png`、`stage-mid.png`、`stage-max.png` 是早期别名。后续只使用表格里的 24 个规范文件名。 - -## 公共提示词 - -下面这段作为每张图的公共提示词。把大括号变量替换为表格中对应内容;阶段服装、表情和装饰必须以该阶段参考图为准。 - -```text -Use case: identity-preserve -Asset type: square key portrait for a continuous portrait evolution sequence - -Primary request: -Using {REFERENCE_FRAME} as the authoritative stage reference, create the level {LEVEL} key portrait of the same Chinese adult man. Preserve his identity exactly: facial structure, glasses, hairstyle, skin tone, age, eye spacing, nose, mouth and overall proportions. Preserve the outfit, expression, posture and stage-specific accessories shown in the authoritative reference. Do not borrow clothing or accessories from a later stage. - -Composition and camera: -Photorealistic 1:1 studio portrait, 1024×1024. Full centered half-body composition from the top of the head to the waist or slightly below the waist. The complete head, shoulders, upper arms and torso must remain inside the frame. Keep generous and balanced safety margins on the top, left and right. The head must be clearly smaller than a headshot and must not dominate the frame. Front-facing, eye-level camera, symmetrical posture, 85mm portrait-lens look, no perspective distortion. - -Continuity: -Use {PREVIOUS_KEY} and {NEXT_KEY} only as continuity references. Keep eye line, head size, shoulder width, body scale, camera distance, background horizon and light direction consistent across the sequence. Changes from adjacent keys must be gradual and attributable only to increasing intensity. Do not change identity. Do not introduce an intermediate transition pose or motion blur. - -Scene and lighting: -Clean full-frame studio background with a subtle neutral gradient appropriate to this stage. The background must fill the entire square evenly; do not bake a left-side blank layout or right-side placement into the image. Soft frontal key light, restrained rim light, realistic skin texture, natural fabric texture, high-end editorial photography. - -Constraints: -No close-up crop. No cropped head, shoulders, arms or torso. No side pose. No extra person. No duplicated limbs or accessories. No text, logo, UI, frame, border or watermark. No motion blur. No transition frame. No exaggerated fantasy elements beyond those already visible in the authoritative stage reference. Output only the final square image to {OUTPUT_PATH}. -``` - -## 24 张关键图状态表 - -| 顺序 | 强度 | 实际时间戳 | 状态 | 规范输出文件 | 权威阶段参考图 | 连续性参考 | -|---:|---:|---:|---|---|---|---| -| 1 | 00 | 0.000s | 已生成 | `stage-00.png` | `references/stage-00-0.000s.png` | 下一张 `level-01.png` | -| 2 | 01 | 0.268s | 已生成 | `level-01.png` | `references/level-01-0.268s.png` | 前一张 `stage-00.png`;下一张 `level-03.png` | -| 3 | 03 | 0.803s | 已生成 | `level-03.png` | `references/level-03-0.803s.png` | 前一张 `level-01.png`;下一张 `level-04.png` | -| 4 | 04 | 1.071s | 已生成 | `level-04.png` | `references/level-04-1.071s.png` | 前一张 `level-03.png`;下一张 `stage-06.png` | -| 5 | 06 | 1.600s | 已生成 | `stage-06.png` | `references/stage-06-1.600s.png` | 前一张 `level-04.png`;下一张 `level-07.png` | -| 6 | 07 | 1.874s | 已生成 | `level-07.png` | `references/level-07-1.874s.png` | 前一张 `stage-06.png`;下一张 `level-09.png` | -| 7 | 09 | 2.410s | 已生成 | `level-09.png` | `references/level-09-2.410s.png` | 前一张 `level-07.png`;下一张 `level-10.png` | -| 8 | 10 | 2.678s | 已生成 | `level-10.png` | `references/level-10-2.678s.png` | 前一张 `level-09.png`;下一张 `stage-12.png` | -| 9 | 12 | 3.200s | 已生成 | `stage-12.png` | `references/stage-12-3.200s.png` | 前一张 `level-10.png`;下一张 `level-13.png` | -| 10 | 13 | 3.481s | 已生成 | `level-13.png` | `references/level-13-3.481s.png` | 前一张 `stage-12.png`;下一张 `level-14.png` | -| 11 | 14 | 3.749s | 已生成 | `level-14.png` | `references/level-14-3.749s.png` | 前一张 `level-13.png`;下一张 `bridge-15.png` | -| 12 | 15(桥接) | 4.000s | 已生成 | `bridge-15.png` | `references/bridge-15-4.000s.png` | 前一张 `level-14.png`;下一张 `level-16.png` | -| 13 | 16 | 4.284s | 已生成 | `level-16.png` | `references/level-16-4.284s.png` | 前一张 `bridge-15.png`;下一张 `level-17.png` | -| 14 | 17 | 4.552s | 已生成 | `level-17.png` | `references/level-17-4.552s.png` | 前一张 `level-16.png`;下一张 `stage-18.png` | -| 15 | 18 | 4.800s | 已生成 | `stage-18.png` | `references/stage-18-4.800s.png` | 前一张 `level-17.png`;下一张 `level-19.png` | -| 16 | 19 | 5.088s | 已生成 | `level-19.png` | `references/level-19-5.088s.png` | 前一张 `stage-18.png`;下一张 `level-21.png` | -| 17 | 21 | 5.623s | 已生成 | `level-21.png` | `references/level-21-5.623s.png` | 前一张 `level-19.png`;下一张 `level-22.png` | -| 18 | 22 | 5.891s | 已生成 | `level-22.png` | `references/level-22-5.891s.png` | 前一张 `level-21.png`;下一张 `stage-24.png` | -| 19 | 24 | 6.400s | 已生成 | `stage-24.png` | `references/stage-24-6.400s.png` | 前一张 `level-22.png`;下一张 `level-25.png` | -| 20 | 25 | 6.694s | 已生成 | `level-25.png` | `references/level-25-6.694s.png` | 前一张 `stage-24.png`;下一张 `bridge-27.png` | -| 21 | 27(桥接) | 7.200s | 已生成 | `bridge-27.png` | `references/bridge-27-7.200s.png` | 前一张 `level-25.png`;下一张 `level-28.png` | -| 22 | 28 | 7.497s | 已生成 | `level-28.png` | `references/level-28-7.497s.png` | 前一张 `bridge-27.png`;下一张 `level-29.png` | -| 23 | 29 | 7.765s | 已生成 | `level-29.png` | `references/level-29-7.765s.png` | 前一张 `level-28.png`;下一张 `stage-30.png` | -| 24 | 30 | 8.000s | 已生成 | `stage-30.png` | `references/stage-30-8.000s.png` | 前一张 `level-29.png` | - -所有表格路径均相对于本文件所在目录。 diff --git a/assets/portrait-source-v2/references/bridge-15-4.000s.png b/assets/portrait-source-v2/references/bridge-15-4.000s.png deleted file mode 100644 index bf6293a..0000000 Binary files a/assets/portrait-source-v2/references/bridge-15-4.000s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/bridge-27-7.200s.png b/assets/portrait-source-v2/references/bridge-27-7.200s.png deleted file mode 100644 index 7ddf422..0000000 Binary files a/assets/portrait-source-v2/references/bridge-27-7.200s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/contact-sheet-final-24.png b/assets/portrait-source-v2/references/contact-sheet-final-24.png deleted file mode 100644 index 1d7acf0..0000000 Binary files a/assets/portrait-source-v2/references/contact-sheet-final-24.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/contact-sheet-levels-16.png b/assets/portrait-source-v2/references/contact-sheet-levels-16.png deleted file mode 100644 index 67b942c..0000000 Binary files a/assets/portrait-source-v2/references/contact-sheet-levels-16.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/contact-sheet.png b/assets/portrait-source-v2/references/contact-sheet.png deleted file mode 100644 index e0a5d22..0000000 Binary files a/assets/portrait-source-v2/references/contact-sheet.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-01-0.268s.png b/assets/portrait-source-v2/references/level-01-0.268s.png deleted file mode 100644 index c0e4da0..0000000 Binary files a/assets/portrait-source-v2/references/level-01-0.268s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-03-0.803s.png b/assets/portrait-source-v2/references/level-03-0.803s.png deleted file mode 100644 index fb19c8c..0000000 Binary files a/assets/portrait-source-v2/references/level-03-0.803s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-04-1.071s.png b/assets/portrait-source-v2/references/level-04-1.071s.png deleted file mode 100644 index 6aaf356..0000000 Binary files a/assets/portrait-source-v2/references/level-04-1.071s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-07-1.874s.png b/assets/portrait-source-v2/references/level-07-1.874s.png deleted file mode 100644 index b2b445d..0000000 Binary files a/assets/portrait-source-v2/references/level-07-1.874s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-09-2.410s.png b/assets/portrait-source-v2/references/level-09-2.410s.png deleted file mode 100644 index 527c8c4..0000000 Binary files a/assets/portrait-source-v2/references/level-09-2.410s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-10-2.678s.png b/assets/portrait-source-v2/references/level-10-2.678s.png deleted file mode 100644 index ff7545e..0000000 Binary files a/assets/portrait-source-v2/references/level-10-2.678s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-13-3.481s.png b/assets/portrait-source-v2/references/level-13-3.481s.png deleted file mode 100644 index 4a9b8de..0000000 Binary files a/assets/portrait-source-v2/references/level-13-3.481s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-14-3.749s.png b/assets/portrait-source-v2/references/level-14-3.749s.png deleted file mode 100644 index cb63897..0000000 Binary files a/assets/portrait-source-v2/references/level-14-3.749s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-16-4.284s.png b/assets/portrait-source-v2/references/level-16-4.284s.png deleted file mode 100644 index da70df1..0000000 Binary files a/assets/portrait-source-v2/references/level-16-4.284s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-17-4.552s.png b/assets/portrait-source-v2/references/level-17-4.552s.png deleted file mode 100644 index 16f80fa..0000000 Binary files a/assets/portrait-source-v2/references/level-17-4.552s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-19-5.088s.png b/assets/portrait-source-v2/references/level-19-5.088s.png deleted file mode 100644 index e49efb5..0000000 Binary files a/assets/portrait-source-v2/references/level-19-5.088s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-21-5.623s.png b/assets/portrait-source-v2/references/level-21-5.623s.png deleted file mode 100644 index fc7a0c3..0000000 Binary files a/assets/portrait-source-v2/references/level-21-5.623s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-22-5.891s.png b/assets/portrait-source-v2/references/level-22-5.891s.png deleted file mode 100644 index e3e3cbf..0000000 Binary files a/assets/portrait-source-v2/references/level-22-5.891s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-25-6.694s.png b/assets/portrait-source-v2/references/level-25-6.694s.png deleted file mode 100644 index f3f5682..0000000 Binary files a/assets/portrait-source-v2/references/level-25-6.694s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-28-7.497s.png b/assets/portrait-source-v2/references/level-28-7.497s.png deleted file mode 100644 index b8689e8..0000000 Binary files a/assets/portrait-source-v2/references/level-28-7.497s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/level-29-7.765s.png b/assets/portrait-source-v2/references/level-29-7.765s.png deleted file mode 100644 index d11450f..0000000 Binary files a/assets/portrait-source-v2/references/level-29-7.765s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/stage-00-0.000s.png b/assets/portrait-source-v2/references/stage-00-0.000s.png deleted file mode 100644 index a875835..0000000 Binary files a/assets/portrait-source-v2/references/stage-00-0.000s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/stage-06-1.600s.png b/assets/portrait-source-v2/references/stage-06-1.600s.png deleted file mode 100644 index a90750c..0000000 Binary files a/assets/portrait-source-v2/references/stage-06-1.600s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/stage-12-3.200s.png b/assets/portrait-source-v2/references/stage-12-3.200s.png deleted file mode 100644 index e87ebd0..0000000 Binary files a/assets/portrait-source-v2/references/stage-12-3.200s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/stage-18-4.800s.png b/assets/portrait-source-v2/references/stage-18-4.800s.png deleted file mode 100644 index 1eeec8b..0000000 Binary files a/assets/portrait-source-v2/references/stage-18-4.800s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/stage-24-6.400s.png b/assets/portrait-source-v2/references/stage-24-6.400s.png deleted file mode 100644 index 9114840..0000000 Binary files a/assets/portrait-source-v2/references/stage-24-6.400s.png and /dev/null differ diff --git a/assets/portrait-source-v2/references/stage-30-8.000s.png b/assets/portrait-source-v2/references/stage-30-8.000s.png deleted file mode 100644 index c214d14..0000000 Binary files a/assets/portrait-source-v2/references/stage-30-8.000s.png and /dev/null differ diff --git a/assets/portrait-source-v2/stage-low.png b/assets/portrait-source-v2/stage-low.png deleted file mode 100644 index 90fb47b..0000000 Binary files a/assets/portrait-source-v2/stage-low.png and /dev/null differ diff --git a/assets/portrait-source-v2/stage-max.png b/assets/portrait-source-v2/stage-max.png deleted file mode 100644 index 9eb90e1..0000000 Binary files a/assets/portrait-source-v2/stage-max.png and /dev/null differ diff --git a/assets/portrait-source-v2/stage-mid.png b/assets/portrait-source-v2/stage-mid.png deleted file mode 100644 index 15a3973..0000000 Binary files a/assets/portrait-source-v2/stage-mid.png and /dev/null differ diff --git a/design-qa-comparison.png b/design-qa-comparison.png deleted file mode 100644 index ff20bd5..0000000 Binary files a/design-qa-comparison.png and /dev/null differ diff --git a/design-qa-final.png b/design-qa-final.png deleted file mode 100644 index a64c2cf..0000000 Binary files a/design-qa-final.png and /dev/null differ diff --git a/design-qa.md b/design-qa.md deleted file mode 100644 index d26d1dc..0000000 --- a/design-qa.md +++ /dev/null @@ -1,43 +0,0 @@ -# 滑动变祖 · Design QA - -final result: passed - -## Verified build - -- DSH `0.1.0-rc.6`, isolated profile on `127.0.0.1:3081` -- Plugin client bundle loads and the dynamic reasoning slider is present -- 8/8 unit cases pass; production client bundle builds successfully - -## Interaction checks - -- Drag/input updates only the continuous local preview -- Tooltip is mounted only while pointer or keyboard interaction is active -- Tooltip label combines the continuous Liang rank with the nearest dynamic model effort, for example `梁祖 · Max` -- Release snaps to the nearest effort and performs one model-selection commit -- Two-, three-, and five-effort models derive their stops from provider metadata -- UI remains native-light through level 23 and switches to the black/gold theme at level 24 (`梁神`) -- Portrait frames switch directly; no crossfade is retained - -## Visual checks - -- Light state keeps native white composer, pale message bubble, readable dark text, and a visible half-body portrait -- Dark state keeps the portrait behind the usable conversation area and aligns controls, sidebar, borders, and accents to the charcoal/gold reference -- Sidebar and main canvas share a continuous tonal family -- Tooltip is compact, follows the thumb, and does not obscure model selection or send controls -- Tooltip may extend beyond the slider box at either endpoint so its center remains aligned with the thumb -- Tooltip now follows the active skin surface: light surface with dark text in the light shell, dark surface with light text in the dark shell -- Light mode retains Harness blue accents and a black badge with light lettering -- Dark mode uses the calibrator's `#c19a49` / `#d5b56e` gold for the badge, hero glow, effort label, and send action -- Slider thumb, rail, and ticks always use the subdued secondary text color; the send arrow is dark on gold -- Light mode slider, rail, and ticks use the secondary text color; the send arrow remains white on blue -- Portraits render without brightness, contrast, or saturation filters; source artwork supplies the intended tonal grade -- All 24 approved portrait anchors are registered by the host and selected by the client; no image crossfade is used -- The custom rail starts and ends at the endpoint ticks, producing terminal T caps instead of crossing past them -- Side-by-side reference comparison: `design-qa-comparison.png` -- Final implementation capture: `design-qa-final.png` - -## Asset handoff - -- 24/24 portrait sources are present at `assets/portrait-source-v2/` -- Final contact sheet: `assets/portrait-source-v2/references/contact-sheet-final-24.png` -- Portrait generation handoff: `assets/portrait-source-v2/GENERATION-BRIEF.md` diff --git a/docs/demo.gif b/docs/demo.gif deleted file mode 100644 index 7d86df4..0000000 Binary files a/docs/demo.gif and /dev/null differ