summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop/LivingVillage.Desktop.fsproj
Commit message (Collapse)AuthorAgeFilesLines
* p44: 对话框/文字弹层 — ↵Somhairle H. Marisol6 days1-0/+1
| | | | 完整背景框+中文断行换行+分页翻页+Esc关闭+输入隔离(原创32x64点阵头像)
* feat(perf): 帧率采样汇总纯函数 + 测试(P21)Somhairle H. Marisol13 days1-0/+1
| | | | | - PerformanceSummary.summarize:丢弃 warmup 后求每秒 FPS 的均值/最低/最高, 空样本返回 None;含 3 条单测(TDD)。
* feat(mapgen): 生成器序列化 + 世界站位接入(P20 第三步 A)Somhairle H. Marisol13 days1-1/+1
| | | | | | | | | | | - MapGen.serialize:生成结果的确定性序列化(尺寸/seed/瓦片/Rivers/Bridges/ Paths/Buildings),同 seed 逐字节一致,供回归与跨机核对。 - WorldBootstrap.initialWorldWithPlacement:显式站位建世界;旧 64x48 路径 (initialWorld/initialWorldWithOccupation)字节口径不变。 - WorldBootstrap.initialWorldInMap:用生成器核心可达区做站位,30 spawn 全落 可达核心;新增 serialization/placement 两条测试。 - fsproj:MapGen 先于 WorldBootstrap 编译。 - Desktop 119->121,Kernel 90 不变。
* 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 HUD ↵Somhairle H. Marisol13 days1-0/+1
| | | | 顶部窄信息条(时段/时间/倍速/体力/钱币)+ 冬夜冷色 + 面板/提示渐变重绘
* feat(desktop): P16 启动画面淡入(Esc/空格跳过)+ ↵Somhairle H. Marisol13 days1-0/+1
| | | | 开始界面收敛三项(开始/读档/退出)+ CJK 补字 238
* feat(desktop): 512x384 程序生成地图与巡游取证模式Somhairle H. Marisol13 days1-0/+2
| | | | ProceduralMap 纯函数生成器:splitmix64 随机游走河道(三条西→东,宽 3,穿核心禁入)、三倍频值噪声草地/泥炭变化、泊松式最小距离布点(800 次尝试),村核矩形(24..38 x 16..34)由生成器不变式保证可通行;VillageArt 于大世界模式下按 terrain code 逐格绘制(可视化范围裁剪,无每帧分配);Game 新增 LV_MAP_SCALE(默认 1,表示规模倍数)与 LV_MAP_TOUR 巡游采样(八个地标位置含角/中心/河带);快照回归断言:同 seed 逐字节一致、异 seed 必然差异、核心矩形无水面。
* 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): 江南氛围标题画面Somhairle H. Marisol14 days1-0/+1
| | | | 新增 TitleScreen 纯布局模块(确定性、可测):五段暮色渐变天幕、黛瓦屋脊/檐口轮廓带(复用图集 8/9 号地块)、水面倒影带(1 号地块)、岸边灯笼光晕、江南水乡四倍大字标题;主菜单改为纵向简洁排布浮于其上,子页面板按内容自适应高度,去除全屏暗色遮罩大黑块。Xvfb 截图像素自查通过。
* feat(desktop): 固化样例世界与昼光呈现Somhairle H. Marisol14 days1-0/+1
| | | | | | | | | | | | | | | | | [变更性质] - 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. Marisol14 days1-0/+1
| | | | | | | | 新增 SampleScript 状态机:进门→内景驻留→出门→走向 NPC →打开对话→发送意图→关闭面板→走开,超时兜底进 SampleComplete。 Game.fs 读取 LV_AUTOPLAY_SAMPLE=1 切换 sample 模式(2x 模拟、 关闭旧 step 倍率、UpdateMenu 常开、独立 UpdatePlaying 分发)。 SampleTests 覆盖首步行走、进门、完整巡游(42/42 通过)。
* feat(desktop): 江南美术改为真实 PNG 图集Somhairle H. Marisol14 days1-0/+3
| | | | | | | | - 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-211-0/+6
| | | | | | | | | | 完成江南村庄场景、角色表现和中文界面的 M6c 交付范围。 新增 CJK 字形图集、中文文案与运行时加载,补充民居情境交互和确定性村庄美术表现。 更新资源复制与 Linux/macOS 打包校验,加入 188 字符清单、资源许可说明和对应原型测试。 补充江南美术方向与 M6c 交付说明,并保持原有模拟内核和桌面构建入口不变。
* feat(desktop): add deterministic Jiangnan art and Chinese text primitivesSomhairle H. Marisol2026-09-201-0/+2
| | | | | | | | | | | | | | | | | [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): 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/+1
| | | | | | | | | | | | | | | [变更性质] - 本提交新增 M5 用户能力,不是缺陷修复。 [新增功能] - 增加玩家六意图对话、需求面板、可见 NPC 观察、编年史与因果谣言冒烟验收。 [实现方案] - 在 Kernel 中扩展 Avatar Mind、对话结果、观察数据、Annals 和确定性谣言链。 - 在 Desktop 中加入键盘交互、像素文本面板和运行时状态展示,并补充 Headless 与测试覆盖。 [影响范围] - 覆盖 Kernel、Headless、Desktop 及测试工程;保留既有 M3/M4 确定性与交易、关系、谣言行为。
* feat: M0 骨架 — F# 解决方案 + MonoGame DesktopGL 游戏循环 + ↵Somhairle H. Marisol2026-09-181-0/+21
32x32 瓦片地图 + 化身 WASD + 镜头跟随 + FPS 计数