<feed xmlns='http://www.w3.org/2005/Atom'>
<title>living-village.git/src/LivingVillage.Desktop.Tests/PrototypeTests.fs, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://git.somhairle.bid/living-village.git/atom?h=main</id>
<link rel='self' href='http://git.somhairle.bid/living-village.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/'/>
<updated>2026-09-29T02:58:24+00:00</updated>
<entry>
<title>p73: 昼夜光照四时段档（清晨/正午/黄昏/夜晚）</title>
<updated>2026-09-29T02:58:24+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-29T02:58:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=0b1330de9b8d78f398753d878f495f324617d203'/>
<id>urn:sha1:0b1330de9b8d78f398753d878f495f324617d203</id>
<content type='text'>
M6Presentation 新增 periodAtTick/periodLighting 参数表（AmbientTint 乘性色调 + Veil/VeilAlpha 加性覆盖 + LanternGlow），边界与 timePeriodLabel 一致；正午为恒等档不改白平衡。DrawWorldView 并入时段色调与 effectiveLanternGlow（黄昏 0.6 起点亮、夜晚 1.0），覆盖色最后叠加。新增 P73 回归；新增 LV_P73_SHOT 同机位四帧证据 + analyze-p73（verdict=PASS）；字形表补 正/午（345）。Desktop 346/346、Kernel 120/120、digest 与 p70 一致。
</content>
</entry>
<entry>
<title>p72: 角色行走四向动画帧提升（6 走 + 2 待机）</title>
<updated>2026-09-29T02:38:53+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-29T02:38:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=328760853c15c44d1de915d6c88e0dfd7ddc5af6'/>
<id>urn:sha1:328760853c15c44d1de915d6c88e0dfd7ddc5af6</id>
<content type='text'>
CharacterArt 运行时点阵图集从 4 走 + 2 待机扩为 6 走（新增左右低过渡步 4/5，由 1/2 镜像）+ 2 待机，格数 *8、图集 5120x48；VillageArt 帧循环 %6、characterSourceRectangle *8、characterAtlasWidth 5120。同步 P45/Prototype 帧断言、新增 P72 帧表完整性回归、脚本与素材重新生成、维护说明动画语义。白天正午村庄行走实跑证据落 docs/evidence/p72-*。Desktop 343/343、Kernel 120/120、digest 与 p70 一致。
</content>
</entry>
<entry>
<title>p67: 每日任务面板展示目标（TargetNpc/TargetTile 可见化）</title>
<updated>2026-09-29T00:56:42+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-29T00:56:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=a578791b0dd8ca95fba3af6f3c2f39c816bd7e52'/>
<id>urn:sha1:a578791b0dd8ca95fba3af6f3c2f39c816bd7e52</id>
<content type='text'>
- TaskRuntime.targetText/taskLine：帮工→「村民 N」、翻土→「自家地块」，
  无目标时与旧任务行文案逐字节一致（不加箭头/目标名）
- Interaction TaskPanel 任务行改用 taskLine（其余面板/文案不动）
- 字形表新增 地 块 →（343 字，图集重生成）；ChineseText.requiredUiLabels 增补
- P67TaskTargetUiTests（5 例，红先）+ PrototypeTests 计数同步 340→343
- LV_P67_SHOT 证据钩子（有目标/无目标各一帧）+ scripts/analyze-p67.py
- Desktop 333/333、Kernel 119/119；digest 953775FA…7F6C ×3 PASS；未动 Kernel/Sim
</content>
</entry>
<entry>
<title>p65: 职业切片五 货郎打听行情读 World.Rumors（中文行情短答 + 稿证据）</title>
<updated>2026-09-28T22:51:21+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-28T22:51:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=2da1cbaf253245c437800e80b9aed9e8e47306b5'/>
<id>urn:sha1:2da1cbaf253245c437800e80b9aed9e8e47306b5</id>
<content type='text'>
- Kernel Occupation 新增 freshReliableRumors/inquiryRumor/marketInquiryText（纯判定+文案，
  对齐 Sim.latestRumorFor 新鲜度/可信度口径，全序命中规则，禁随机；不改 Sim.fs）
- Desktop chooseIntent：货郎 OfferTrade 读对话前谣言池，Status=inquiry|&lt;短答&gt;；statusLabel 透出
- 真字补 17 字（东头西北巷口盐巴米布茶柴涨两文落些）并重出 atlas（340 字/384x528）
- 红先 P65RumorInquiryTests（6 例）：命中/幂等/陈旧·微弱·空池/仅货郎/非货郎回归逐字节/
  save v2 头不变+v3 round-trip/穷举组合无缺字
- LV_P65_SHOT 钩子 + scripts/analyze-p65.py + docs/evidence/p65-*（PASS）
- Desktop 320/320，Kernel 119/119；digest 953775FA…7F6C ×3 PASS
</content>
</entry>
<entry>
<title>p64: A3 样板三处视觉雕琢（俯瞰上半补种/桥栏杆与护岸石/内景家具）+ 证据</title>
<updated>2026-09-28T21:42:36+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-28T21:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=4971a2ada6db9a37807bf46a29dbea3d9edbf06a'/>
<id>urn:sha1:4971a2ada6db9a37807bf46a29dbea3d9edbf06a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>p61: G1 字形图集补齐 16 个 UI 用字（红→绿），中文界面完整</title>
<updated>2026-09-28T20:58:29+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-28T20:58:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=fd40d78fd7506a95f0c5ad3295adfeb0a636e815'/>
<id>urn:sha1:fd40d78fd7506a95f0c5ad3295adfeb0a636e815</id>
<content type='text'>
红：新增 src/LivingVillage.Desktop.Tests/P61GlyphCoverageTests.fs——扫描 Desktop 源码
字符串字面量内的全部 CJK 字，断言 100% 在 CjkGlyphAtlas 内；并逐字钉 G1 缺的
16 字（冬包卷品夏料春玩秋第背车轴页香鱼）、requiredUiLabels、以及运行期文案
（日历「春·第1天」/页脚「第 1/3 页…翻页」/「V 卖出 背包物品×1」/鱼卷轴香料玩车回）。
实现前实测 3 失败：缺字形 16。

绿：向 CjkGlyphAtlas.characterTable 补入 16 字（保持有序、去重），同步
Assets/cjk-glyphs.txt，并跑 scripts/generate-cjk-glyph-atlas.sh 用既有 Noto Sans CJK
重生成预生成 PNG：384x504（16x21 格，+16 字），16 个新字格均有真实字体墨迹
（ink_px 148-233，非程序几何伪字形）。更新 PrototypeTests 的图集几何常量
（307→323、rowCount 20→21、pixelHeight 480→504）。

证据：LV_P61_SHOT=1 拍 2 帧（p61-calendar 右上日历「春 · 第1天」；p61-dialog-footer
真实 Interact 开对话，页脚「第 1/3 页…翻页」+ 选项「V 卖出 背包物品×1」）。
analyze（p61-analysis.txt）：缺字空白位=0、黑块=0、白块=0/2；全部抽检文案
missing_glyph_slots=0。钩子为 Game.fs 纯追加（53 行，0 删除），未动 HUD 结构。

回归（p61-verification.txt）：Desktop 308/308（+4 P61）+ Kernel 119/119；
--performance-baseline ×3 digest 953775FAEB2F… 不变，determinism PASS。
未改 Kernel/Sim，未引外部素材（沿用既有 Noto 字体来源），未 push。
</content>
</entry>
<entry>
<title>feat(kernel,desktop): P31 step3 story annals + identity entry + glyph atlas</title>
<updated>2026-09-22T08:33:03+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-22T08:33:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=9821b54ff2a77539898b62471d79dc4685b59cad'/>
<id>urn:sha1:9821b54ff2a77539898b62471d79dc4685b59cad</id>
<content type='text'>
- Sim.AnnalKind gains StoryAnnal (summary lives in the existing Summary
  field); WorldSave v3 serializes it with the new 'story' token. v1/v2
  saves never contain the token and stay byte-identical; v3 save -&gt; load
  -&gt; save roundtrips byte-for-byte (tested).
- Occupation.Story.identitySummaryOf: plain chronicle-style identity line
  written to the yearbook at game start (design section 3), e.g. yi-da-yu-wei-sheng.
- Desktop: story summaries render in the chronicle panel; StartNewGame
  appends the identity annal; chooseIntent now routes responses through
  Occupation.biasResponse and advances the storyline (one stage per
  player dialogue) with the summary appended as a StoryAnnal.
- M5View gains Seed (world seed source for the story start-day hash).
- Chinese copy synced into requiredUiLabels; cjk-glyphs.txt +
  CjkGlyphAtlas.characterTable extended 238 -&gt; 307 glyphs (384x480),
  atlas regenerated with the deterministic script.
- 4 new kernel tests (115 -&gt; 119); performance digest unchanged.
</content>
</entry>
<entry>
<title>feat(desktop): P29 512 聚落组团 + 夜景灯光径向光晕</title>
<updated>2026-09-22T04:10:42+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-22T04:10:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=a70a057fce7afa5787b2d4a037d7016f1120ef6a'/>
<id>urn:sha1:a70a057fce7afa5787b2d4a037d7016f1120ef6a</id>
<content type='text'>
- MapGen：仅大图新增 ClusterSeed（group seeding）与组团布屋——512 沿横向石板路
  （主街+河岸路）成排成组：组内 2-4 座/1 格间隙、组间 4-6 格空档，宽度 2/3/4 分层；
  垂柳改为确定性成丛（2-3 株/丛、丛间 3-5 格空档）。独立 clusterRng 不触碰
  structureRng，默认图仍不消费 RNG，64x48=6042052 / 256x192=1284656962 锁定不变。
- VillageArt：新增 lanternFalloff（二次 1-(d/r)^2，半径 0 处最大、边缘 0、严格单调无平台）；
  lanternGlowLayers 按该衰减逐环累积 alpha；drawNightGlows 对桥头灯笼+民居门窗画半径
  4 tile 的柔和径向光晕，整图取证与实机 DrawWorldView 共用同一套纯函数。
- 回归 +6：组团行/成丛/衰减/光源确定性；Desktop 151、Kernel 92 全绿，Release 0/0，
  final_digest=953775FAEB2F… 3 次一致。证据帧见 art/p29-*。
</content>
</entry>
<entry>
<title>test(desktop): P28 断言变体 B 挑檐亮度显著高于变体 A 屋脊</title>
<updated>2026-09-22T03:31:13+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-22T03:31:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=7cb699bb7ac6cddb4cb33ede7c6f8962a3b60565'/>
<id>urn:sha1:7cb699bb7ac6cddb4cb33ede7c6f8962a3b60565</id>
<content type='text'>
- 直接解码 world 图集 slot 8/28 平均亮度，防配色差异被回退抹平
</content>
</entry>
<entry>
<title>feat(desktop): P26 夜晚冷月光 veil（纯渲染层）+ 灯笼光晕径向无方斑回归</title>
<updated>2026-09-22T01:26:53+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-22T01:26:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/living-village.git/commit/?id=ebe7f80bcf54189cc51a15bf17b99293b6ff57a3'/>
<id>urn:sha1:ebe7f80bcf54189cc51a15bf17b99293b6ff57a3</id>
<content type='text'>
</content>
</entry>
</feed>
