summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* feat(mapgen): 河道连续性不变量 + 桥/石板路网/沿河民居(P20 ↵p20-map-gen-foundationSomhairle H. Marisol13 days5-67/+312
| | | | | | | | | | | | | 第二步) - 河道改为贯穿全图连续水带(每列一段、宽度 >= RiverWidth),置于核心区上下 两侧且不相交;新增不变量测试:逐列水段数恒定、每段宽度下限、任意水格 >=2 个水邻居(禁止断裂缺口与孤立水点)。 - Result 新增 Rivers/Bridges/Paths/Buildings/BridgeCrossingsOk;每河 2 座桥、 横贯主路 + 垂直连接路 + 远岸路 + 白墙黑瓦民居(门朝路)。 - 公开 isWalkable/floodFill;ReachabilityOk 现覆盖 30 spawn + 所有门 + 所有桥面, BridgeCrossingsOk 保证每桥两岸同连通域。 - 回归:Desktop 115->119、Kernel 90 不变;final_digest 与基线一致。
* feat(mapgen): 参数化确定性生成器与视口裁剪(P20 第一步)Somhairle H. Marisol13 days8-19/+559
| | | | | | | | | | - 新增纯函数 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 与基线一致。
* merge: P19 白天色调去偏黄(独立复验全绿 Desktop 109/Kernel 89)Somhairle H. Marisol13 days4-4/+62
|\
| * fix(desktop): P19 白天色调去偏黄(day tint ↵p19-daylight-tamingSomhairle H. Marisol13 days4-4/+62
| | | | | | | | 中性白平衡,黄昏暖橙保留)
* | merge: P18 黄昏暖色真实渲染(独立复验全绿 Desktop 108/Kernel ↵Somhairle H. Marisol13 days5-23/+99
|\| | | | | | | 89)
| * feat(desktop): P18 黄昏暖色真实渲染(加性暖色 veil + ↵Somhairle H. Marisol13 days5-23/+99
| | | | | | | | 双窗口光照 + 时段标签对齐)
* | docs: ~01:55 tick — P17-FIX 合并 push 6dfc665;M3-1 ↵Somhairle H. Marisol13 days1-0/+10
| | | | | | | | 复验全绿;30x20 批验 systemd 启动;P18 已派发
* | merge: P17 起时钩子修复与黄昏精修(独立复验全绿 Desktop ↵Somhairle H. Marisol13 days7-58/+375
|\| | | | | | | 108/Kernel 89)
| * fix(desktop): P17-FIX 起时钩子在 sample/autoplay ↵Somhairle H. Marisol13 days4-20/+55
| | | | | | | | 路径生效(resolveStartTick 纯函数 + 回归 + 重拍证据)
| * test(desktop): P17 取证钩子(LV_AUTOPLAY_START_HOUR 纯函数起时)+ ↵Somhairle H. Marisol13 days4-1/+55
| | | | | | | | 证据与 docs 记录
| * feat(desktop): P17 清晨/黄昏光照精修(暖色天际 + ↵Somhairle H. Marisol13 days2-33/+80
| | | | | | | | 过渡窗口参数化,分数小时平滑)
| * feat(desktop): P17 村民走路节奏差异化(农夫/货郎/书生 纯 ↵Somhairle H. Marisol13 days2-11/+77
| | | | | | | | tick 节奏)
| * feat(desktop): P17 ↵Somhairle H. Marisol13 days4-9/+124
| | | | | | | | 街边中式细节物(石灯笼/水缸/摊贩摊位)图集扩展 28 格
* | docs: ~01:25 tick — P17 ↵Somhairle H. Marisol13 days1-0/+8
| | | | | | | | 复验发现起时钩子失效,黄昏证据不成立;P17-FIX 已派发
* | docs: ~00:40 tick — P17 美术下一档已派发Somhairle H. Marisol13 days1-2/+2
|/
* docs: ~00:35 tick — P16+P16-FIX 复验合并 origin=1cef3b1Somhairle H. Marisol13 days1-0/+12
|
* merge: P16 启动画面/开始界面/HUD 精美化(独立复验全绿 ↵Somhairle H. Marisol13 days16-97/+548
|\ | | | | | | Desktop 106/Kernel 89)
| * feat(desktop): P16-FIX 开始界面截图模式(LV_AUTOPLAY_MENU_SHOT)+ ↵Somhairle H. Marisol13 days4-14/+94
| | | | | | | | 真实菜单证据补拍
| * docs: P16 启动画面/开始界面/HUD 精美化实施与取证记录Somhairle H. Marisol13 days1-0/+25
| |
| * feat(desktop): P16 HUD ↵Somhairle H. Marisol13 days8-45/+219
| | | | | | | | 顶部窄信息条(时段/时间/倍速/体力/钱币)+ 冬夜冷色 + 面板/提示渐变重绘
| * feat(desktop): P16 启动画面淡入(Esc/空格跳过)+ ↵Somhairle H. Marisol13 days12-40/+212
| | | | | | | | 开始界面收敛三项(开始/读档/退出)+ CJK 补字 238
* | docs: ~00:20 tick — M6a 复验合并 origin=4f700fc,P16 续派Somhairle H. Marisol13 days1-0/+10
|/
* merge: M6a ↵Somhairle H. Marisol13 days4-27/+194
|\ | | | | | | 谣言工作集容量上界+按天淘汰+窗口扫描去中间表(独立复验全绿)
| * docs: M6a 谣言容量上界实施与 1/10/20 天成本复测记录Somhairle H. Marisol13 days1-0/+27
| |
| * perf(sim): M6a ↵Somhairle H. Marisol13 days1-19/+25
| | | | | | | | 谣言窗口扫描去中间表——最新在前早停递归替代 takeWhile/filter/sort,零分配且等价
| * test(sim): M6a ↵Somhairle H. Marisol13 days1-0/+87
| | | | | | | | 谣言裁剪回归——容量内零拷贝与逐字节一致/按天淘汰/单调 id/DayIndex 存档往返
| * feat(sim): M6a 谣言工作集容量上界+按天淘汰——DayIndex ↵Somhairle H. Marisol13 days2-10/+57
| | | | | | | | 派生字段/纯函数 trim/窗口化扫描/O(1) nextId
* | docs: 23:55 tick — P15 复验合并 origin=6ce29c5,M6a 续派Somhairle H. Marisol13 days1-1/+7
|/
* merge: P15 ↵Somhairle H. Marisol13 days13-23/+443
|\ | | | | | | 职业玩法收口——开局职业选择/货郎书生模板/CJK补字/全链路回归(独立复验全绿)
| * test(desktop): P15 选职业→第一天任务→完成判定→Done ↵Somhairle H. Marisol13 days1-0/+50
| | | | | | | | | | | | | | | | | | | | 全链路回归(既有事件通道) - 从 WorldBootstrap.occupationStateFor(选择职业入口)取四职业第一天 Offered 任务, acceptTask 转 Active,再用该模板对应信号推到 Done:交易/对话模板走 InteractionEvent → signalOfInteraction(玩家买/卖、玩家对话),到达瓦片/夜水边/观察由调用方折叠信号。 - 覆盖农夫送粮、渔夫夜捕、货郎收货、书生观察记事等四职业首日模板,验证池内生成与终态。 - Desktop 94 / Kernel 83 全绿;不改 Sim.step 数值路径。
| * feat(desktop): P15 ↵Somhairle H. Marisol13 days5-5/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | 开局职业选择页——新档四选一+暂不选择,接入 v3 存档与当日任务 - MenuState:新增 OccupationSelect 页与 StartNewGameWith 命令;occupationOptions=农夫/渔夫/货郎/书生/暂不选择, 默认高亮「暂不选择」= 不写职业的旧行为;四选一确认后发 StartNewGameWith,ESC 返回主菜单(既有 MainMenu 行为与测试不变)。 - WorldBootstrap.occupationStateFor/refreshOccupationToday:按 seed+职业种子生成/跨日刷新当日 Offered 任务。 - Game:主菜单「开始新游戏」→ 职业选择页;选定后 initialWorldWithOccupation 注入 Money/Energy 与 Today, m5View.Task 随之写入 v3 存档;游玩中按日刷新;autoplay/flow 默认走「暂不选择」保持旧演示行为;DrawMenu 渲染职业页。 - 测试 Desktop 93(新增 6):职业页选项顺序/默认 None/标签、确认命令与返回、bootstrap 四职业 Money/Energy+当日池内 Offered 任务、四职业 v3 round-trip(职业+任务逐字段)、T 面板显示所选职业的模板名与「待接受」、跨日刷新保持同日。
| * fix(ui): P15 补齐职业/任务中文用字(CJK 图集 ↵Somhairle H. Marisol13 days5-5/+59
| | | | | | | | | | | | | | | | | | | | | | 197->228),requiredUiLabels 锁定防复发 - CjkGlyphAtlas 字表 + Assets/cjk-glyphs.txt + cjk-glyph-atlas.png 重生成(384x360,15 行): 新增 职/业/收/货/转/事/论/理/粮/工/翻/土/捕/渔/询/送/帮/农/夫/郎/书/生/待/接/受/今/日/任/务/行/中 共 31 字,覆盖职业选择页与 T 面板全部模板/状态文案,消除方框缺字。 - ChineseText.requiredUiLabels 增职业/模板/状态标签,既有 FormalChineseUiLabelsUseTheRealGlyphAtlasBoundary 与 RequiredUiLabelsAreFullyCoveredByTheGlyphTable 继续强制全字形可渲染。 - PrototypeTests 几何常量同步 197->228、13->15 行、312->360 像素。Desktop 87 全绿。
| * feat(occupation): P15 补齐货郎/书生各 2 条每日任务模板 + ↵Somhairle H. Marisol13 days3-13/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 既有事件通道信号桥(Kernel 纯函数 TDD) - TaskTemplateId 扩出 BuyGoods(收货)/Resell(转卖)/ObserveNotes(观察记事)/ReasonDebate(论理), taskPoolOf 货郎=[收货,转卖]、书生=[观察记事,论理],四职业池均非空。 - TaskSignal 增 Purchased(玩家买入)/Observed(观察),satisfiesCompletion 给出四模板完成判定; 新增 occupationSeedOf/refreshToday(跨日才重生成,同日含 Done/Failed 终态保留)。 - signalOfInteraction/advanceTask:仅 playerId 发起的 DialogueEvent/TradeEvent 产生信号, NPC 互动不派任务;Offered 须先 acceptTask,终态不可复活。WorldSave 模板 token 双向同步。 - 测试 83 全绿(新增 6:池非空、货郎书生逐日池内确定、模板中文名、完成信号正负、 事件桥含玩家买/卖与 NPC 忽略、既有 DialogueEvent→accept→Done 全链路、refreshToday 逐日)。 - 不动 Sim.step 数值路径;旧档 v3 模板 token 仅新增合法值,未知模板仍拒绝。
* | docs: 23:00 tick — M3-1/打包修复合并 origin=34c7ebc,P15 派发Somhairle H. Marisol13 days1-1/+9
|/
* merge: 采纳 M3-1 ↵Somhairle H. Marisol13 days8-28/+313
|\ | | | | | | 流式可观测性+门槛缩尺+成本量化(独立复验全绿)
| * docs: M3-1 流式可观测性/门槛缩尺/长局成本量化Somhairle H. Marisol13 days2-1/+47
| | | | | | | | | | | | | | - 维护说明新增 M3 批验小节:流式字段、50x20 门槛理由与实测、--cost-probe 数据表、 Rumors 累积+全表扫描的机理与修复方向候选(本单不实施) - Desktop 基线更新为 86/86 - overnight-status 追加本单实测与待收口
| * fix(m3): 监督器阶段二门槛 50x100->50x20,兼容流式行Somhairle H. Marisol13 days1-8/+31
| | | | | | | | | | | | | | - PHASES phase2 改为 (50,20)(长局成本超线性,50x100 约 335 CPU-h 不可行) - verify_batch 索引判据改为集合恰为 0..K-1(允许流式完成序非升序) - world 行判据 token 忽略行尾 elapsed_s=<秒> 观测字段 - selftest 增加流式乱序/elapsed 追加/不掩 BAD 用例
| * test(desktop): M3 批次输出格式与流式驱动回归Somhairle H. Marisol13 days2-0/+85
| | | | | | | | | | | | - world 行前缀不变、行尾 elapsed_s;[done k/N] 与 summary 追加字段断言 - runStreaming workers=1 断言逐世界 emit(非收完再打印);并行下不重不漏 - costLine ticks/s 由实测 ticks/墙钟推导
| * feat(headless): 逐世界流式输出 + --cost-probe 成本阶梯Somhairle H. Marisol13 days3-19/+150
| | | | | | | | | | | | | | | | | | - runBatch 改为每个世界一完成立即打印 world= 行(行尾追加 elapsed_s)与 [done k/N] elapsed=…s 进度行并 flush,长批次不再整轮零进度 - batch_summary 旧字段原样保留,追加 workers 与 wall_s 总墙钟 - 新增 BatchOutput 纯格式化与 runStreaming 并行驱动 - 新增只读 --cost-probe [D1,D2,...]:按天阶梯真实测量 ticks/s、墙钟、分配与 GC - 判据语义 check a/b/c 未改
* | test(desktop): CJK 清单唯一性与图集网格防复发断言Somhairle H. Marisol13 days1-0/+33
| | | | | | | | | | - 断言 cjk-glyphs.txt 非空、每行恰 1 字符、字符唯一 - 读 cjk-glyph-atlas.png IHDR,断言 16 列且网格容量覆盖清单、无多余空行
* | fix(mac): 打包脚本不再硬编码 CJK 清单 188 行Somhairle H. Marisol13 days1-5/+59
| | | | | | | | | | | | | | - 删除 188 硬编码;改为非空 + 每行恰 1 个字符(locale 无关 UTF-8 码点计数)+ 字符唯一 + 与 16 列图集网格自洽(行容量覆盖字符数且无多余空行,PNG IHDR 读尺寸) - 修复 LC_ALL=C 下 ${#line} 按字节计数导致 CJK 误判的隐患 - dylib 架构/Mach-O/ZIP 完整性校验保持不变
* | docs(brief): 标注 M3-1 批验改版单已派发(go-b writer,tick ↵Hermes13 days1-0/+3
|/ | | | 勿重复派单)
* merge origin/main: 采纳 tick 的 overnight-status ↵Hermes13 days0-0/+0
|\ | | | | | | 记录(与本地内容一致)
| * docs: P13 合并与 P14 视觉整改单派发记录Somhairle H. Marisol13 days1-0/+91
| |
* | chore(config,docs): 开发通道切 go-b/deepseek-v4.1-flash(256K ↵Hermes13 days3-3/+131
| | | | | | | | 上下文上限),brief 同步 M3 缩尺决定
* | test(kernel): 用 List.item 替换弃用的 List.nth,全解决方案 ↵Somhairle H. Marisol13 days1-3/+3
| | | | | | | | Release 构建归零告警
* | docs: 记录预乘 alpha 机理与夜间光晕/炊烟接线Somhairle H. Marisol13 days1-3/+34
| | | | | | | | | | | | - Desktop 基线更新为 79/79 - 新增预乘 alpha 机理、lanternGlowLayers、per-tile 水面、炊烟后置遍、角色站位说明 - 补白块校验命令与 P14 证据位置
* | test(desktop): 预乘/光晕/水面/站位回归与夜间白块校验脚本Somhairle H. Marisol13 days2-0/+173
| | | | | | | | | | | | | | | | - premultiply 定点:核心 (255,226,168,34)->(34,30,22,34),(252,196,128,34)->(34,26,17,34), 通道恒 <= alpha、<250 无白 - lanternGlowLayers 径向/预乘/无白、水面 per-tile 三相、角色脚底对齐断言 - scripts/check-no-white-blocks.py:夜晚帧不得有 >=64x64、每通道>=250、alpha>=250 的块 (P13 旧帧 42/69 命中,P14 修复后 0 命中)
* | fix(desktop): 灯笼光晕按自身 alpha ↵Somhairle H. Marisol13 days3-28/+110
|/ | | | | | | | | | | | | 预乘并改径向层叠,消除夜间纯白方块 - 新增 VillageArt.premultiply:MonoGame SpriteBatch 默认预乘混合,直传 Color(r,g,b,a) 会直接加 rgb 导致多层暖色饱和成 75x75 纯白块 - lanternGlowLayers 用同心圆 pixel run 做径向衰减,逐层预乘,只在 RiverLantern 实体处绘制 - 水面相位改 waterFrameTickAt=(tick/32+x+2y)%3,同一帧相邻砖相位不同 - 炊烟改为 drawWorld 末尾独立一遍,位置 offsetTile 0 -3,画在屋瓦/竹子之上 - 角色脚底对齐 characterFeetOffset=16 并加预乘椭圆接触阴影 - 补全 Interaction.itemName 的 ItemKind 匹配(否则非 Food 交易会崩溃且告警)
* chore: 项目默认模型切 ark-plan/deepseek-v4.1-flash(go-a 额度耗尽)Somhairle H. Marisol13 days1-3/+3
|