summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop.Tests/LivingVillage.Desktop.Tests.fsproj
Commit message (Collapse)AuthorAgeFilesLines
* p45: 角色动画帧升级 — ↵Somhairle H. Marisol6 days1-0/+1
| | | | 四向x(走4+待机2)原创点阵内嵌图集, 行走/停止/idle 接入渲染
* p44: 对话框/文字弹层 — ↵Somhairle H. Marisol6 days1-0/+1
| | | | 完整背景框+中文断行换行+分页翻页+Esc关闭+输入隔离(原创32x64点阵头像)
* p43: HUD 星露谷化切片 — ↵Somhairle H. Marisol6 days1-0/+1
| | | | 右上日历钟卡/体力条形图/底部10格hotbar(1-0选中+高亮+输入隔离)
* p42: 启动/菜单水面涟漪整改 — 振幅0.32+波峰列, 帧差14.3, ↵Somhairle H. Marisol6 days1-0/+1
| | | | 防降振回归 (leader fix: 提交+推送)
* test(p40): 连贯带/同seed/夜光回归 + 运行时证据帧Somhairle H. Marisol6 days1-0/+1
| | | | | | | | | - P40ArtTests 6 例:连贯带覆盖路网且抑制孤立散布、摆放确定性、红灯笼落门口、 红/石灯笼同光晕路径、同 seed 重生成一致、P40 索引在界内 - AssetPackTests 索引列表加 19/20;fsproj 注册 P40ArtTests - scripts/make-p40-closeups.py 乌篷船 2x NEAREST 特写 - docs/维护说明.md 追加 P40 小节;证据 4 帧白块检查 0 命中,重复运行 byte-identical - Release 全量 Desktop 201/201、Kernel 119/119 exit 0
* test(p39): 摆放/光晕/奇偶 spacing 回归 + 运行时证据帧Somhairle H. Marisol6 days1-0/+1
| | | | | | | | | | - P39ArtTests 9 例:桥/船/灯笼/摊位/芦苇地形与确定性、NightLightTilesIncludeRoadLanterns、 StallsAndLanternsDoNotOverlapForOddAndEvenSpacing(奇 {3,5,7,11,13}/偶 {2,4,6,8,12})、 DegenerateSpacingPlacesNothing({0,1,-3} 返回空集) - AssetPackTests 更新为 19 格 + 新索引;fsproj 注册 P39ArtTests - scripts/make-p39-closeups.py:2x NEAREST 特写 - docs/维护说明.md 追加 P39 小节;证据 5 帧白块检查 0 命中,重复运行 byte-identical - Release 全量 Desktop 195/195、Kernel 119/119
* test(desktop): P38 HUD 图标布局与确定性回归Somhairle H. Marisol7 days1-0/+1
| | | | | 新增 P38HudIconTests(4 例):五段图标唯一且 7x7 点阵良构、段宽=图标+间隙+文本且 不重叠/在 1280 内、段与布局确定、昼夜底色半透明且覆盖图标与文本。
* test(desktop): P37 职业系统首切片验收回归Somhairle H. Marisol7 days1-0/+1
| | | | | | 新增 P37ProfessionTests(8 例):渔夫首项钓鱼相关、同职业同 seed 任务序列 逐项确定、不同职业序列不同、开局钱/体力差异、开局物品包、v1/v2 旧档读入 无职业、选择页键盘导航+Enter 确认、职业中文文案有 CJK 字形可渲染。
* test(desktop): P36 情境提示契约回归Somhairle H. Marisol7 days1-0/+1
| | | | | | 新增 P36PromptTests(10 例):距离边界、就近目标切换、离开立即消失、 隔墙不触发、对话层输入隔离、提示对象=按键对象一致、Esc 关闭当前层、 暂停帮助 Esc 回上层、保存成功/失败中文 toast、布局多尺寸不遮 HUD。
* feat(art): P33 接入 CC0 ↵Somhairle H. Marisol7 days1-0/+1
| | | | | | | | | | | | 真实像素素材样板(地面+角色竖直切片) - 修复 make-cc0-art.py 地块取样间距:packed sheet 无间距(16px pitch),旧 17px 误采错格 - 重选草地/石板格 (9,8)/(10,8)/(4,8)/(4,9),整数 2x NEAREST 重建 cc0-tiles.png - VillageArt 暴露 selectedGround/CharacterAtlasRelativePath 纯函数,保留 LV_ASSET_PACK=cc0 开关与程序绘制江南图集 fallback - 新增 AssetPackTests:图集加载尺寸、整数倍缩放、开关/回退断言 - docs/素材来源.md 记录来源/许可/sha256/构建/开关;同步 assets-and-licenses 与维护说明 P33 小节 - docs/evidence/p33-atlas-*.png 昼/夜/2x 特写/程序绘制对照(check-no-white-blocks 0 命中)
* feat(desktop): P31 step4 story progress display + evidence shotsSomhairle H. Marisol12 days1-0/+1
| | | | | | | | | | | | | | | | - Task panel (T key): a storyline row per occupation, e.g. ju-qing-xian: shui-wei-yu-shou-cheng, zou-fang-zhong (line name + stage name); absent for occupation-free saves. - Occupation select page: minimal hint line showing the selected occupation's storyline name. - Evidence hook LV_STORY_SHOT=1 (+LV_STORY_OCCUPATION, LV_STORY_STAGE): boots a real world through the standard bootstrap, advances the story via the real dialogue pipeline (chooseDialogueWith bias + Story.onDialogue + StoryAnnal append), opens the task panel and saves one back-buffer frame, then exits. 4 Xvfb shots (farmer/fisher/peddler/scholar) captured under art/ (gitignored, not committed). - 4 new desktop tests (156 -> 160): panel storyline lines, bias + story advance through M5Interaction, no-occupation path stays story-free.
* feat(perf): 帧率采样汇总纯函数 + 测试(P21)Somhairle H. Marisol13 days1-0/+1
| | | | | - PerformanceSummary.summarize:丢弃 warmup 后求每秒 FPS 的均值/最低/最高, 空样本返回 None;含 3 条单测(TDD)。
* feat(mapgen): 参数化确定性生成器与视口裁剪(P20 第一步)Somhairle H. Marisol13 days1-0/+1
| | | | | | | | | | - 新增纯函数 MapGen:尺寸参数化(默认 64x48,可 256x192),splitmix64 随机游走河道 + 2-3 octave value noise + 泊松式布点;核心区整平后以 BFS 校验 5x6=30 个 spawn 全部可达,不可达确定性修整并复验。 - visibleTileRange/visibleTileCount 纯函数,drawWorld 改为调用之(行为不变); drawMapFitted/drawMapViewport 仅证据用。 - 存档沿用 v2/v3 边界字段,补参数化边界 round-trip 测试,未改 Sim 语义。 - 回归:Desktop 109->115、Kernel 89->90;final_digest 与基线一致。
* feat(desktop): P16 启动画面淡入(Esc/空格跳过)+ ↵Somhairle H. Marisol13 days1-0/+1
| | | | 开始界面收敛三项(开始/读档/退出)+ CJK 补字 238
* test(desktop): M3 批次输出格式与流式驱动回归Somhairle H. Marisol13 days1-0/+1
| | | | | | - world 行前缀不变、行尾 elapsed_s;[done k/N] 与 summary 追加字段断言 - runStreaming workers=1 断言逐世界 emit(非收完再打印);并行下不重不漏 - costLine ticks/s 由实测 ticks/墙钟推导
* feat(assets): CC0 素材接入与制作管线Somhairle H. Marisol13 days1-0/+2
| | | | third_party 收录 Kenney Tiny Farm(CC0,来源 kenney.nl,sha256 a06f75f3…)与 Puny Characters(CC0,opengameart 作者 Shade,sha256 971d7b07…),上游名未改,License 原文保留于包内;新增 scripts/make-cc0-art.py 确定性管线:Kenney 地块 16px → 2x 32px 整数放大(草亮/草深/路径/泥地四块 128x32 图集),Puny 角色 16x24 内容带 2x 精确映射 32x48(2560x48 图集,变体/方向/帧几何与江南人物一致;仅南向素材——北向沿用原朝向、西/东镜像,限制已在脚本注释与 provenance 记录)。
* feat(desktop): LV_AUTOPLAY_SAMPLE 情境演示脚本Somhairle H. Marisol14 days1-0/+1
| | | | | | | | 新增 SampleScript 状态机:进门→内景驻留→出门→走向 NPC →打开对话→发送意图→关闭面板→走开,超时兜底进 SampleComplete。 Game.fs 读取 LV_AUTOPLAY_SAMPLE=1 切换 sample 模式(2x 模拟、 关闭旧 step 倍率、UpdateMenu 常开、独立 UpdatePlaying 分发)。 SampleTests 覆盖首步行走、进门、完整巡游(42/42 通过)。
* feat(m6c): 完成江南村庄中文交付Somhairle H. Marisol14 days1-0/+5
| | | | | | | | | | 完成江南村庄场景、角色表现和中文界面的 M6c 交付范围。 新增 CJK 字形图集、中文文案与运行时加载,补充民居情境交互和确定性村庄美术表现。 更新资源复制与 Linux/macOS 打包校验,加入 188 字符清单、资源许可说明和对应原型测试。 补充江南美术方向与 M6c 交付说明,并保持原有模拟内核和桌面构建入口不变。
* feat(desktop): add Chinese village presentation prototypeSomhairle H. Marisol2026-09-201-0/+1
| | | | | | | | | | | | | | | | | [Change Nature] - This commit adds a deterministic presentation-model feature, not MonoGame rendering. [New Capability] - Provide an immutable Jiangnan village scene with homes, waterways, paths, bridge, bamboo, and garden elements. - Provide typed home transitions, four-way input mapping, tick animation, NPC styles, and Chinese stage-one labels. [Implementation] - Add the pure VillagePresentation module and six focused MSTest cases. - Keep the model free of mutable global state and update only the required F# compile order. [Impact] - This commit affects the Desktop presentation and test projects only. - Kernel behavior, Game.fs wiring, MonoGame drawing, and existing acceptance artifacts remain unchanged.
* feat(m6b): add playable menu and save flowSomhairle H. Marisol2026-09-201-0/+1
| | | | | | | | | | | | | | | | | [Change Nature] - This commit adds the M6b desktop menu and persistence integration. [New Capability] - Provide new game, continue, settings, controls, load error, save, load, and exit flows. - Provide a bounded autoplay flow covering menu navigation and persistence. [Implementation] - Add pure menu state transitions and focused M6b coverage. - Connect menu commands to simulation controls, WorldSave, view resets, and rendering. [Impact] - Desktop runtime gains the playable M6b front end without changing out-of-scope files. - Release focused and solution test suites remain passing.
* feat(m6a): add save speed and day-night controlsSomhairle H. Marisol2026-09-201-0/+1
|
* feat(m5): 增加可交互对话、需求观察与编年史Somhairle H. Marisol2026-09-201-0/+23
[变更性质] - 本提交新增 M5 用户能力,不是缺陷修复。 [新增功能] - 增加玩家六意图对话、需求面板、可见 NPC 观察、编年史与因果谣言冒烟验收。 [实现方案] - 在 Kernel 中扩展 Avatar Mind、对话结果、观察数据、Annals 和确定性谣言链。 - 在 Desktop 中加入键盘交互、像素文本面板和运行时状态展示,并补充 Headless 与测试覆盖。 [影响范围] - 覆盖 Kernel、Headless、Desktop 及测试工程;保留既有 M3/M4 确定性与交易、关系、谣言行为。