| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
完整背景框+中文断行换行+分页翻页+Esc关闭+输入隔离(原创32x64点阵头像)
|
| |
|
|
|
| |
- PerformanceSummary.summarize:丢弃 warmup 后求每秒 FPS 的均值/最低/最高,
空样本返回 None;含 3 条单测(TDD)。
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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 不变。
|
| |
|
|
|
|
|
|
|
|
| |
- 新增纯函数 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 与基线一致。
|
| |
|
|
| |
顶部窄信息条(时段/时间/倍速/体力/钱币)+ 冬夜冷色 + 面板/提示渐变重绘
|
| |
|
|
| |
开始界面收敛三项(开始/读档/退出)+ CJK 补字 238
|
| |
|
|
| |
ProceduralMap 纯函数生成器:splitmix64 随机游走河道(三条西→东,宽 3,穿核心禁入)、三倍频值噪声草地/泥炭变化、泊松式最小距离布点(800 次尝试),村核矩形(24..38 x 16..34)由生成器不变式保证可通行;VillageArt 于大世界模式下按 terrain code 逐格绘制(可视化范围裁剪,无每帧分配);Game 新增 LV_MAP_SCALE(默认 1,表示规模倍数)与 LV_MAP_TOUR 巡游采样(八个地标位置含角/中心/河带);快照回归断言:同 seed 逐字节一致、异 seed 必然差异、核心矩形无水面。
|
| |
|
|
| |
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 记录)。
|
| |
|
|
| |
新增 TitleScreen 纯布局模块(确定性、可测):五段暮色渐变天幕、黛瓦屋脊/檐口轮廓带(复用图集 8/9 号地块)、水面倒影带(1 号地块)、岸边灯笼光晕、江南水乡四倍大字标题;主菜单改为纵向简洁排布浮于其上,子页面板按内容自适应高度,去除全屏暗色遮罩大黑块。Xvfb 截图像素自查通过。
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[变更性质]
- 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.
|
| |
|
|
|
|
|
|
| |
新增 SampleScript 状态机:进门→内景驻留→出门→走向 NPC
→打开对话→发送意图→关闭面板→走开,超时兜底进 SampleComplete。
Game.fs 读取 LV_AUTOPLAY_SAMPLE=1 切换 sample 模式(2x 模拟、
关闭旧 step 倍率、UpdateMenu 常开、独立 UpdatePlaying 分发)。
SampleTests 覆盖首步行走、进门、完整巡游(42/42 通过)。
|
| |
|
|
|
|
|
|
| |
- scripts/make-jiangnan-art.py 生成三张原创透明 PNG:世界 256x32、角色 1024x48、内景 392x96
- VillageArt.fs 移除进程内像素烘焙,改为 BaseDirectory 加载图集并校验尺寸
- 内景渲染改用图集(地板/墙/窗/桌/床/屏/毯/柜),新增玩家专属 StrawHat 变体
- 内景新增地毯与柜子装饰,角色按 FeetPosition 定位
- fsproj 随包复制三张 PNG;m6c-package.sh 校验三张 PNG 进入交付包
|
| |
|
|
|
|
|
|
|
|
| |
完成江南村庄场景、角色表现和中文界面的 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 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 确定性与交易、关系、谣言行为。
|
|
|
32x32 瓦片地图 + 化身 WASD + 镜头跟随 + FPS 计数
|