| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
- 更新 isMoving 签名、WalkFrame 帧号、characterAtlasWidth=3840
- 水面断言改三相 (0,0,1,1,2,2,0),新增待机呼吸与炊烟三相测试
- Desktop 75/75 通过
|
| |
|
|
| |
键任务页、Offered/Active/Done 三态+职业名,存读档字段级携带职业
|
| |
|
|
| |
快照与存档版本头/sh与边界 token 解耦:WorldDigestOfText 先把 V2 存档剥出正文并重建 LV_WORLD_SAVE_V1 常量语义再 SHA256;digest 只绑定模拟状态;新增 WorldDigestIsCanonical 同 V1/V2 双读路径 digest 相等回归;--performance-baseline 3 次独立运行 final_digest 复回 953775FAEB2F…(与历史基线逐字节一致),证据在 artifacts/perf-independent/新时间戳/README。
|
| |
|
|
| |
AreEqual 波及重载解析 (int,int,string) — 改用 mutable diverged 检查等价断言;清洁全绿。
|
| |
|
|
| |
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 记录)。
|
| |
|
|
| |
entranceProgress 纯函数按帧计数(固定 60Hz 步长,禁实时时钟):黛瓦天际线自上 36px 落定、标题自下 24px 升起、水面带 2s 淡入、灯笼/面板同步;快照回归断言进度锚点(0/60/120/超时)与确定性;LV_AUTOPLAY_FLOW 标题停留 60 帧可直接采样入场过程。
|
| |
|
|
| |
人物图集 5 变体 x 4 向 x 4 帧(2560x48,全部经 make-jiangnan-art.py 原创,四种腿步:站立/左跨/站立微跳/右跨镜像);animationFrame 按 tick/4 mod 4 确定性取帧(16 tick 一循环,禁实时时钟);快照式回归断言四帧循环与逐帧图集列映射,主角同规则。
|
| |
|
|
| |
新增 lightingBlend 纯函数(黎明明 4:00-6:00、暮色 20:00-22:00 线性过渡,边界与 isNightTick 对齐),天空底色/世界 tint 按混合插值渲染,夜晚灯笼暖光晕强度=LanternGlow(纯叠加矩形、无每帧分配风险);回归测试含锚点/单调斜坡/确定性/光晕开关。
|
| |
|
|
| |
新增 FloatingPrompt 纯布局模块(含 measureWidth 与 PixelText 等宽规则):短提示锚定在唯一目标头顶上方,水平居中并钳制在视口内,避开左下 HUD 带(height-160)与右上状态条带(宽度 248);沿用现有 CJK 图集字体路径,不新造字形;对话/需求面板与菜单打开时不显示(复用 worldInputAllowed 判定与渲染门)。回归测试覆盖 1280x720/1920x1080 五个极限锚点、宽度测量、面板开启时提示为空且禁用世界输入。
|
| |
|
|
| |
情境提示目标选择改为距离最近优先(不再按门/人类型特权),平局按实体 id 升序确定唯一目标;新增门/人两侧距离优先对照、精确等距 tie、NPC 数组快照不变(resolve 与 refreshPrompt 均不突变 Npcs)回归测试;透墙与超距判定沿用既有 实现,已有边界/竞争/切换用例保持全绿。
|
| |
|
|
| |
Controls 页按键名列独立成列(ControlsKeyX/KeyWidth=120/ActionX),controlRowRects 纯函数返回键名与动作矩形,回归测试断言逐行矩形不相交、全部行键名列 x/宽度一致、列宽容纳最长键名 F1/F2/F3;面板上移至 ControlsPanelY 保证 14 行键位加页脚完整落入视口。
|
| |
|
|
| |
根因:页面标题行(panelY+24)与首行内容(MenuTopY)同为 y=320 造成两串文字叠印。修复:TitleScreen 布局新增 HeadingY/FirstItemY 分层与独立光标列(CursorX/CursorWidth/TextX),selectionRects 纯函数返回光标与文字矩形,回归测试断言逐行矩形不相交且标题行净空≥32px;渲染改为光标、文字分别绘制。
|
| |
|
|
| |
P 键改为打开暂停帮助页(完整键位说明),打开时暂停模拟并保留原控制状态,返回游戏时精确恢复(速度/暂停原状);常驻 HUD 不放全键位清单。MenuState 新增 enterPauseHelp/exitPauseHelp 纯函数与回归测试。
|
| |
|
|
| |
常驻 HUD 新增右上角半透明状态条:天数(world.Tick/ticksPerDay+1)与金钱/精力(直接取自 avatar.Mind.Needs 真实数据,无编造数值源);新增 cornerStatusLines 纯函数与回归测试,UI 文案目录补 天数/金钱/精力(字符表已含,无需重生成图集)。
|
| |
|
|
| |
新增 TitleScreen 纯布局模块(确定性、可测):五段暮色渐变天幕、黛瓦屋脊/檐口轮廓带(复用图集 8/9 号地块)、水面倒影带(1 号地块)、岸边灯笼光晕、江南水乡四倍大字标题;主菜单改为纵向简洁排布浮于其上,子页面板按内容自适应高度,去除全屏暗色遮罩大黑块。Xvfb 截图像素自查通过。
|
| |
|
|
| |
人物图集扩至五套变体(1280x48):靛蓝袍配布巾、褐衫配发髻马甲、翠衫配发簪红巾、灰袍配瓜皮帽,主角专属斗笠独立第五套;村民按 id 取模四种服饰轮转,永不与主角同装,四向两帧动画保持。
|
| |
|
|
| |
图集新增柳树(垂枝两段)、灌木、花丛、芦苇、石凳、灯笼七类图块并经复制规则进构建;场景加入两株垂柳、两丛灌木、两处花丛、水中两簇芦苇、河畔石凳与两盏岸边灯笼,芦苇立于水面、灯笼立于岸道,全部入图集无程序几何占位。
|
| |
|
|
| |
场景改为沿村蜿蜒水带(北岸凸湾、中段横贯、南段收窄),南北两岸石板路沿河展开,木桥三块纵跨全河连接民居门前石径;水面新增第二张波纹图块,按世界 tick/32 取模确定性交替,绘制无新增每帧分配。
|
| |
|
|
| |
新增屋脊/檐口/木构粉墙/格窗/木门五个地块图块,可进屋民居以门为锚点绘制四宽三高完整立面(黛瓦正脊、檐口层次、木构白墙、格窗与木门);新增 planFootprint 供生成阻挡判定,村民不会刷在建筑图块上。
|
| |
|
|
| |
字符表扩充至 197 字(补 间/门/谈/体/屋/返/×/,/:等全部 UI 用字),用 Noto Sans CJK 重新生成图集并逐字校验;新增字符表覆盖全部 UI 文案、瞬态状态 2.5 秒过期、对话完成后回到轻量面板等回归测试;户外与室内统一左下角轻量 HUD,互动日志改为短暂反馈;样例脚本保留 E 交谈 提示与对话菜单停留帧。
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[变更性质]
- 本提交新增可选的 Desktop 启动行为,不改变默认启动行为。
[新增功能]
- 设置 LV_AUTOPLAY_DAYLIGHT=1 时,初始世界和 StartNewGame 从黎明 tick 开始。
- 未设置该变量时继续从 tick 0 的夜晚状态开始。
[实现方案]
- 在 WorldBootstrap 中集中计算昼光起始 tick 和同步时间。
- 在 Game 中复用同一世界工厂,并增加黎明与默认状态回归测试。
[影响范围]
- 仅影响 Desktop 运行时代码和测试;Kernel 保持不变。
- 环境变量为显式 opt-in,不影响现有自动演示和普通启动路径。
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[变更性质]
- 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 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 确定性与交易、关系、谣言行为。
|