summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-29 11:08:32 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-29 11:08:32 +0800
commit837fd81a2bd857011855ca1dc32e646629f14236 (patch)
tree896e33d5948bb5457cf0dd17494792f9aa631cd2 /docs
parentf3ad37b1d057566a9e5e01a7ee9850eb1c4598f4 (diff)
downloadliving-village-837fd81a2bd857011855ca1dc32e646629f14236.tar.gz
p74: 启动开场过渡(水墨式渐显)+ 开始界面布局回归
新增纯函数 InkReveal.fs(inkStrength ease-out 消散 + 6 滴预乘墨滴 dabs),DrawSplash 在场景层之上、标题之下绘制,与既有 reveal/veil 淡入叠加,形成可辨识水墨开场;单滴 alpha<255 且椭圆行落成,无实心黑块。开始界面沿用既有 开始/读档/退出(有档 继续)。新增 P74LaunchTransitionTests(4 例)与 LV_P74_SHOT/-analyze-p74 证据(5 帧墨幕非增、两两 diff>0,verdict=PASS)。HUD 结构未动;Desktop 350/350、Kernel 120/120、digest 与 p70 一致。
Diffstat (limited to 'docs')
-rw-r--r--docs/evidence/p74-analysis.txt26
-rw-r--r--docs/evidence/p74-splash-008.pngbin0 -> 58446 bytes
-rw-r--r--docs/evidence/p74-splash-030.pngbin0 -> 62277 bytes
-rw-r--r--docs/evidence/p74-splash-060.pngbin0 -> 61750 bytes
-rw-r--r--docs/evidence/p74-splash-100.pngbin0 -> 55210 bytes
-rw-r--r--docs/evidence/p74-splash-140.pngbin0 -> 55286 bytes
-rw-r--r--docs/维护说明.md12
7 files changed, 38 insertions, 0 deletions
diff --git a/docs/evidence/p74-analysis.txt b/docs/evidence/p74-analysis.txt
new file mode 100644
index 0000000..907a063
--- /dev/null
+++ b/docs/evidence/p74-analysis.txt
@@ -0,0 +1,26 @@
+P74(启动开场过渡:水墨式渐显)证据分析 — 真实 Desktop xvfb 1280x720
+钩子:LV_P74_SHOT=1(60Hz 固定步进,splash 帧表 8/30/60/100/140 各一帧)
+路径:splashFrame → InkReveal.inkStrength/dabs(预乘墨滴)→ 露出天色/水面/屋脊/标题
+
+log shots: 8(ink=0.770), 30(ink=0.325), 60(ink=0.053), 100(ink=0.000), 140(ink=0.000)
+
+p74-splash-008.png: size=1280x720 brightness=46.5 std=25.6 dark_block=0 white_block=405
+p74-splash-030.png: size=1280x720 brightness=51.7 std=38.4 dark_block=0 white_block=232
+p74-splash-060.png: size=1280x720 brightness=56.0 std=48.9 dark_block=0 white_block=232
+p74-splash-100.png: size=1280x720 brightness=56.4 std=49.0 dark_block=0 white_block=232
+p74-splash-140.png: size=1280x720 brightness=56.4 std=49.1 dark_block=0 white_block=232
+
+diff frame 008 vs 030: differing_pixels=670116
+diff frame 008 vs 060: differing_pixels=686287
+diff frame 008 vs 100: differing_pixels=528158
+diff frame 008 vs 140: differing_pixels=537994
+diff frame 030 vs 060: differing_pixels=733221
+diff frame 030 vs 100: differing_pixels=692402
+diff frame 030 vs 140: differing_pixels=702640
+diff frame 060 vs 100: differing_pixels=525583
+diff frame 060 vs 140: differing_pixels=545037
+diff frame 100 vs 140: differing_pixels=120790
+
+verdict=PASS
+ ink strength decays to 0 across the captured frames; frames render 1280x720,
+ no big black/white blocks, and every pair differs (the opening transition animates).
diff --git a/docs/evidence/p74-splash-008.png b/docs/evidence/p74-splash-008.png
new file mode 100644
index 0000000..d0c1a01
--- /dev/null
+++ b/docs/evidence/p74-splash-008.png
Binary files differ
diff --git a/docs/evidence/p74-splash-030.png b/docs/evidence/p74-splash-030.png
new file mode 100644
index 0000000..e42ba63
--- /dev/null
+++ b/docs/evidence/p74-splash-030.png
Binary files differ
diff --git a/docs/evidence/p74-splash-060.png b/docs/evidence/p74-splash-060.png
new file mode 100644
index 0000000..401c0d4
--- /dev/null
+++ b/docs/evidence/p74-splash-060.png
Binary files differ
diff --git a/docs/evidence/p74-splash-100.png b/docs/evidence/p74-splash-100.png
new file mode 100644
index 0000000..bce9efa
--- /dev/null
+++ b/docs/evidence/p74-splash-100.png
Binary files differ
diff --git a/docs/evidence/p74-splash-140.png b/docs/evidence/p74-splash-140.png
new file mode 100644
index 0000000..71cef5a
--- /dev/null
+++ b/docs/evidence/p74-splash-140.png
Binary files differ
diff --git a/docs/维护说明.md b/docs/维护说明.md
index 9d27dd1..3064e1a 100644
--- a/docs/维护说明.md
+++ b/docs/维护说明.md
@@ -209,6 +209,18 @@ dotnet src/LivingVillage.Headless/bin/Release/net8.0/LivingVillage.Headless.dll
- 门槛:clean rebuild 0 警告 0 错误;`final_digest=953775FAEB2FDDE97289491AA260BD8D390C571E48A7A13AD2CB6FB7124F7F6C`
一致、`performance_determinism=PASS`。
+## P74 启动开场过渡(水墨式渐显)
+
+- 新增纯函数模块 `InkReveal.fs`:`inkStrength`(起手 1,`dissolveFrames=96` 内 ease-out 退到 0)、
+ `dabs frame width height`(6 滴归一化种子墨滴,随消散半径外扩、alpha 下降)、`inkRgb=(26,36,52)`。
+ 单滴 `alpha < 255` 且用 `VillageArt.ellipseRuns` + `premultiply` 落成柔光墨晕,**绝无实心黑块**。
+- 接线:`Game.DrawSplash` 在场景层(天色/云/屋脊/水面/灯笼)之上、标题之下绘制墨滴,与既有
+ `LaunchScreen.revealProgress/veilAlpha` 淡入/暗幕退场叠加,形成可辨识的水墨开场;HUD 结构未动。
+- **回归**:`P74LaunchTransitionTests`(墨幕单调消散且为 0、墨滴确定/随帧变化、alpha<255、
+ 半径 < 半屏、`LaunchScreen` 不变量、开始界面三项 开始/读档/退出 + 有档 继续/读档/退出)。
+- **证据**:`LV_P74_SHOT=1`(60Hz 固定步进,splash 帧表 8/30/60/100/140 各一帧)→
+ `scripts/analyze-p74.py` 断言帧号/墨幕非增/无大黑块/两两 pixel diff>0,落 `docs/evidence/p74-*`。
+
## P17 批验:场景细节 / 人物动效 / 昼夜光照精修
- ①街边中式细节物:`scripts/make-jiangnan-art.py` 世界图集由 25 格扩到 28 格(新增 slot 25 石灯笼 /