summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop.Tests
Commit message (Collapse)AuthorAgeFilesLines
* feat(desktop): 河畔植被与中式道具点缀Somhairle H. Marisol2026-09-211-2/+24
| | | | 图集新增柳树(垂枝两段)、灌木、花丛、芦苇、石凳、灯笼七类图块并经复制规则进构建;场景加入两株垂柳、两丛灌木、两处花丛、水中两簇芦苇、河畔石凳与两盏岸边灯笼,芦苇立于水面、灯笼立于岸道,全部入图集无程序几何占位。
* feat(desktop): 江南水乡河道横贯与波纹两帧Somhairle H. Marisol2026-09-211-2/+36
| | | | 场景改为沿村蜿蜒水带(北岸凸湾、中段横贯、南段收窄),南北两岸石板路沿河展开,木桥三块纵跨全河连接民居门前石径;水面新增第二张波纹图块,按世界 tick/32 取模确定性交替,绘制无新增每帧分配。
* feat(desktop): 民居正面完整化与图集足迹Somhairle H. Marisol2026-09-212-1/+15
| | | | 新增屋脊/檐口/木构粉墙/格窗/木门五个地块图块,可进屋民居以门为锚点绘制四宽三高完整立面(黛瓦正脊、檐口层次、木构白墙、格窗与木门);新增 planFootprint 供生成阻挡判定,村民不会刷在建筑图块上。
* fix(desktop): 修复 HUD 缺字并统一轻量面板与情境提示Somhairle H. Marisol2026-09-212-6/+100
| | | | 字符表扩充至 197 字(补 间/门/谈/体/屋/返/×/,/:等全部 UI 用字),用 Noto Sans CJK 重新生成图集并逐字校验;新增字符表覆盖全部 UI 文案、瞬态状态 2.5 秒过期、对话完成后回到轻量面板等回归测试;户外与室内统一左下角轻量 HUD,互动日志改为短暂反馈;样例脚本保留 E 交谈 提示与对话菜单停留帧。
* feat(desktop): 增加可选昼光自动演示启动Somhairle H. Marisol2026-09-211-0/+15
| | | | | | | | | | | | | | | | | [变更性质] - 本提交新增可选的 Desktop 启动行为,不改变默认启动行为。 [新增功能] - 设置 LV_AUTOPLAY_DAYLIGHT=1 时,初始世界和 StartNewGame 从黎明 tick 开始。 - 未设置该变量时继续从 tick 0 的夜晚状态开始。 [实现方案] - 在 WorldBootstrap 中集中计算昼光起始 tick 和同步时间。 - 在 Game 中复用同一世界工厂,并增加黎明与默认状态回归测试。 [影响范围] - 仅影响 Desktop 运行时代码和测试;Kernel 保持不变。 - 环境变量为显式 opt-in,不影响现有自动演示和普通启动路径。
* feat(desktop): 固化样例世界与昼光呈现Somhairle H. Marisol2026-09-212-1/+54
| | | | | | | | | | | | | | | | | [变更性质] - this commit adds a deterministic desktop bootstrap for the playable sample world. [新增功能] - this commit places the avatar away from the home doorway and separates villagers from scene footprints. - this commit provides a warm high-contrast daylight tint and exits autoplay after SampleComplete. [实现方案] - this commit isolates desktop spawn policy in WorldBootstrap and routes game startup and sample tests through it. - this commit adds regression coverage for spawn positions, spacing, determinism, and daylight tint. [影响范围] - this commit affects the Desktop application and Desktop tests only. - this commit preserves Kernel behavior and does not include unrelated worktree changes.
* feat(desktop): LV_AUTOPLAY_SAMPLE 情境演示脚本Somhairle H. Marisol2026-09-212-0/+61
| | | | | | | | 新增 SampleScript 状态机:进门→内景驻留→出门→走向 NPC →打开对话→发送意图→关闭面板→走开,超时兜底进 SampleComplete。 Game.fs 读取 LV_AUTOPLAY_SAMPLE=1 切换 sample 模式(2x 模拟、 关闭旧 step 倍率、UpdateMenu 常开、独立 UpdatePlaying 分发)。 SampleTests 覆盖首步行走、进门、完整巡游(42/42 通过)。
* feat(desktop): 江南美术改为真实 PNG 图集Somhairle H. Marisol2026-09-211-0/+13
| | | | | | | | - scripts/make-jiangnan-art.py 生成三张原创透明 PNG:世界 256x32、角色 1024x48、内景 392x96 - VillageArt.fs 移除进程内像素烘焙,改为 BaseDirectory 加载图集并校验尺寸 - 内景渲染改用图集(地板/墙/窗/桌/床/屏/毯/柜),新增玩家专属 StrawHat 变体 - 内景新增地毯与柜子装饰,角色按 FeetPosition 定位 - fsproj 随包复制三张 PNG;m6c-package.sh 校验三张 PNG 进入交付包
* feat(m6c): 完成江南村庄中文交付Somhairle H. Marisol2026-09-212-2/+175
| | | | | | | | | | 完成江南村庄场景、角色表现和中文界面的 M6c 交付范围。 新增 CJK 字形图集、中文文案与运行时加载,补充民居情境交互和确定性村庄美术表现。 更新资源复制与 Linux/macOS 打包校验,加入 188 字符清单、资源许可说明和对应原型测试。 补充江南美术方向与 M6c 交付说明,并保持原有模拟内核和桌面构建入口不变。
* feat(desktop): add deterministic Jiangnan art and Chinese text primitivesSomhairle H. Marisol2026-09-201-0/+72
| | | | | | | | | | | | | | | | | [Change Nature] This commit adds the Task 3a desktop presentation data slice. [New Capability] - Defines immutable Jiangnan props, water and paving tiles, NPC variants, directions, and two-frame animation metadata. - Provides formal Chinese scene, menu, status, and missing-glyph text layout primitives. [Implementation] - Keeps the new modules pure and deterministic with no GUI, network, or global mutable state. - Adds focused prototype tests, F# compile ordering, and asset/license boundary documentation. [Impact] - Extends desktop presentation APIs without modifying Kernel or Game.fs. - Leaves GUI rendering integration for Task 3b.
* feat(desktop): localize village presentation labelsSomhairle H. Marisol2026-09-203-5/+81
| | | | | | | | | | | | | | | | [Change Nature] - This commit adds the Chinese display layer for the desktop village prototype. [New Capability] - Menu, settings, controls, interaction panels, chronicle entries, trade results, day-night labels, and speed labels now use Chinese copy. [Implementation] - Keep simulation state, commands, and machine-readable status strings unchanged. - Add focused formatter coverage and update affected presentation assertions. [Impact] - Desktop presentation behavior is localized without changing Kernel or simulation logic. - Existing release build and test coverage remain green.
* feat(desktop): add Chinese village presentation prototypeSomhairle H. Marisol2026-09-202-0/+103
| | | | | | | | | | | | | | | | | [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-202-0/+83
| | | | | | | | | | | | | | | | | [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-203-0/+26
|
* feat(m5): 增加可交互对话、需求观察与编年史Somhairle H. Marisol2026-09-202-0/+86
[变更性质] - 本提交新增 M5 用户能力,不是缺陷修复。 [新增功能] - 增加玩家六意图对话、需求面板、可见 NPC 观察、编年史与因果谣言冒烟验收。 [实现方案] - 在 Kernel 中扩展 Avatar Mind、对话结果、观察数据、Annals 和确定性谣言链。 - 在 Desktop 中加入键盘交互、像素文本面板和运行时状态展示,并补充 Headless 与测试覆盖。 [影响范围] - 覆盖 Kernel、Headless、Desktop 及测试工程;保留既有 M3/M4 确定性与交易、关系、谣言行为。