| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
完成江南村庄场景、角色表现和中文界面的 M6c 交付范围。
新增 CJK 字形图集、中文文案与运行时加载,补充民居情境交互和确定性村庄美术表现。
更新资源复制与 Linux/macOS 打包校验,加入 188 字符清单、资源许可说明和对应原型测试。
补充江南美术方向与 M6c 交付说明,并保持原有模拟内核和桌面构建入口不变。
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[变更性质]
- 本提交新增 M5 用户能力,不是缺陷修复。
[新增功能]
- 增加玩家六意图对话、需求面板、可见 NPC 观察、编年史与因果谣言冒烟验收。
[实现方案]
- 在 Kernel 中扩展 Avatar Mind、对话结果、观察数据、Annals 和确定性谣言链。
- 在 Desktop 中加入键盘交互、像素文本面板和运行时状态展示,并补充 Headless 与测试覆盖。
[影响范围]
- 覆盖 Kernel、Headless、Desktop 及测试工程;保留既有 M3/M4 确定性与交易、关系、谣言行为。
|
| |
|
|
| |
双向累加+时间衰减(halfLife 86400tick, |r|>0.5 阈值) + headless --dump-relations 与 --batch K D 验收(chats max/avg、relcnt 差异、无NaN) + Desktop L 键关系视图(暂停+快照, 绿/红线粗细∝|r|, cyan NPC 点) + LV_STEPS_PER_FRAME 调试快进 + 衰减/矩阵/30npc 对称测试(19/19) + xvfb 截图验证 PASS
|
| |
|
|
| |
v1(ChatInit 事件队列 + 双方 Chatted 记忆 valence+0.3 + Social+40) + headless 聊天统计; 修复 clamp 泛型比较装箱(30npc 1天 63.5s→15.7s, 输出逐字节一致) + M3a 对拍/闲聊对称测试
|
| |
|
|
| |
tick/kind/valence) + 行动粘性(最小600tick, urgent<20豁免) + 夜间(22-6)sleep权重x3 + Desktop蓝色NPC与标题行动名 + headless摘要(mem_count/last_valence/行动平均持续/昼夜sleep占比) + 粘性与valence测试
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ headless 冒烟工具 + Desktop 自动演示
[变更性质]
本 commit 为功能开发,交付设计文档 §2 模拟器内核(里程碑 M1),非缺陷修复或结构重构。
[新增功能]
- Kernel:Rng.fs 提供 SplitMix64 纯函数 RNG(ofSeed / nextUInt64 / nextFloat32),World 携带种子状态。
- Kernel:Sim.fs 重写为 struct record(Vec2/Avatar/Input/TimeStep/World),step : World → TimeStep → World 纯函数,dt 固定 1/60 由内核常量给定,Time = Tick * dt 不做浮点累加;initialWorld 由无参改为带 seed。
- Tests:MSTest 确定性对拍——同 seed 轨迹逐 tick 相等、异 seed 发散、step 纯度、长跑有限/有界/时间-刻度关系、SplitMix64 已知向量、nextFloat32 值域。
- Headless:--days N --seed S 冒烟工具,每 1000 tick 输出摘要行,统计 NaN/越界计数并决定退出码。
- Desktop:LV_AUTOPLAY=1 环境变量启用正弦驱动自动演示,窗口标题与启动日志标注模式。
[实现方案]
- 全部状态用 [<Struct>] record,模拟路径零堆分配,支撑 51.84 亿刻长跑。
- step 不消费 World 内 RNG,种子经由外部确定性驱动脚本生效(每 900 刻换段,8 方向查表 + 三档幅值,避开三角函数保证跨平台位精确)。
- Headless 内存口径取 GC.GetTotalMemory(true)(全收集后的稳态驻留),避免 GetTotalMemory(false) 随 Gen0 段扩张漂移误报泄漏。
[影响范围]
- Kernel 保持零 MonoGame 引用,模拟与渲染彻底分离;sln 新增 Headless 与 Tests 两个项目。
- Release 构建 0 警告 0 错误,7/7 测试通过;1000 天长跑 5,184,000,000 刻退出码 0,无 NaN 无越界,内存 87,824 → 93,000 字节(1.06x < 2x)。
- 同 seed 两次运行 stdout 字节一致,seed 42/43 轨迹不同。
|
|
|
32x32 瓦片地图 + 化身 WASD + 镜头跟随 + FPS 计数
|