summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* p47: 整改 — ↵Somhairle H. Marisol6 days1-79/+147
| | | | 倒影改暖色垂直光柱(gap-skip穿桥面落水面,最长≥3格)+近景接入倒影+近景屋顶受光/背光双档luma
* p47: 场景细节升级 — ↵Somhairle H. Marisol6 days1-0/+173
| | | | 河道倒影(waterFrameTickAt微抖)+岸边芦苇加密度+鸭/叶漂浮元素+近景屋顶统一光源阴影
* p46: 菜单/启动环境动效 — ↵Somhairle H. Marisol6 days1-0/+158
| | | | 逐格涟漪(复用waterFrameTickAt)+灯笼呼吸+屋脊上双视差云影, 全纯函数可复现
* p45: 角色动画帧升级 — ↵Somhairle H. Marisol6 days2-0/+170
| | | | 四向x(走4+待机2)原创点阵内嵌图集, 行走/停止/idle 接入渲染
* p44: 对话框/文字弹层 — ↵Somhairle H. Marisol7 days1-0/+137
| | | | 完整背景框+中文断行换行+分页翻页+Esc关闭+输入隔离(原创32x64点阵头像)
* p43: HUD 星露谷化切片 — ↵Somhairle H. Marisol7 days2-0/+179
| | | | 右上日历钟卡/体力条形图/底部10格hotbar(1-0选中+高亮+输入隔离)
* p42: 启动/菜单水面涟漪整改 — 振幅0.32+波峰列, 帧差14.3, ↵Somhairle H. Marisol7 days2-0/+145
| | | | 防降振回归 (leader fix: 提交+推送)
* feat(p41): 夜帧船篷对比暗化Somhairle H. Marisol7 days1-0/+59
| | | | | | | | | - VillageArt.drawCc0BoatOverlay 增加夜层专用暗化系数 0.7(仅夜光晕层生效, 白天不调用 overlay,p40-day/p40-boat 逐字节不变) - P40ArtTests 新增 NightBoatAwningIsAtLeast40GreyDarkerThanSurroundingGlow: 内嵌 PNG 解码读取夜帧,断言船 2 瓦包围盒比 24px 光晕环至少暗 40 灰阶 - 新增 scripts/check-p40-night-boat-contrast.py 独立像素守卫 - 重出 docs/evidence/p40-night.png(contrast 103.2 >= 40)
* feat(p40): 乌篷船篷面实心拱形重绘与像素回归Somhairle H. Marisol7 days1-41/+79
| | | | | | | | | | | - make-cc0-art.py 重绘 boat 篷面为实心拱形竹篷:拱线以下逐列实心填充, 连续脊线高光跨越两半在瓦片边界相接,肋骨/端盖/甲板阴影收边(原 1px 竖柱 栅栏式画法改为整片拱面) - 重生成 Assets/cc0-tiles.png(同参数逐字节稳定) - P40ArtTests 新增 BoatAwningIsASolidArchWithAContinuousRidge 像素级断言: 脊线无透明断列、拱下每列有实心竹色、左右两半拱顶同高 属 P40 整改的篷面实心 + 回归部分。
* feat(p40): 乌篷船证据收口(相机遮挡与取景修复)Somhairle H. Marisol7 days1-1/+1
| | | | | | | | | - CenterCameraOnTile 让相机直对船瓦片,avatar 挪到岸上非水瓦片,消除遮挡 - day/night/boat 三个证据镜头统一以船为中心;boat 帧整条船(234-235,50)完整入框 - 夜光晕后重绘船体(drawCc0BoatOverlay),修复桥头灯把船洗白 - make-p40-closeups.py 裁剪框对准船真实包围盒,closeup 不再裁切船 - 相机遮挡修复含 leader 外科修复(CenterCameraOnTile) - 重出 docs/evidence/p40-day/night/boat 及 closeup 2x
* test(p40): 连贯带/同seed/夜光回归 + 运行时证据帧Somhairle H. Marisol7 days1-0/+41
| | | | | | | | | - P40ArtTests 6 例:连贯带覆盖路网且抑制孤立散布、摆放确定性、红灯笼落门口、 红/石灯笼同光晕路径、同 seed 重生成一致、P40 索引在界内 - AssetPackTests 索引列表加 19/20;fsproj 注册 P40ArtTests - scripts/make-p40-closeups.py 乌篷船 2x NEAREST 特写 - docs/维护说明.md 追加 P40 小节;证据 4 帧白块检查 0 命中,重复运行 byte-identical - Release 全量 Desktop 201/201、Kernel 119/119 exit 0
* art(p40): 石板/红灯笼新格 + 重绘乌篷船与石灯笼(672x32, 21 ↵Somhairle H. Marisol7 days1-54/+142
| | | | | | | | | 格) - make-cc0-art.py: 新增 draw_paving(19)/draw_red_lantern(20);重绘 draw_boat(14/15) 放大船体 + 醒目拱形竹篷,重绘 draw_stone_lantern(16) 三段石结构强化 - 索引 0-13、17-18 逐字节不变(git show 复核);二次生成 byte-identical - docs/素材来源.md 更新为 21 格并新增第 5 节 P40
* test(p39): 摆放/光晕/奇偶 spacing 回归 + 运行时证据帧Somhairle H. Marisol7 days1-0/+42
| | | | | | | | | | - P39ArtTests 9 例:桥/船/灯笼/摊位/芦苇地形与确定性、NightLightTilesIncludeRoadLanterns、 StallsAndLanternsDoNotOverlapForOddAndEvenSpacing(奇 {3,5,7,11,13}/偶 {2,4,6,8,12})、 DegenerateSpacingPlacesNothing({0,1,-3} 返回空集) - AssetPackTests 更新为 19 格 + 新索引;fsproj 注册 P39ArtTests - scripts/make-p39-closeups.py:2x NEAREST 特写 - docs/维护说明.md 追加 P39 小节;证据 5 帧白块检查 0 命中,重复运行 byte-identical - Release 全量 Desktop 195/195、Kernel 119/119
* art(p39): 自绘中式元素补入 cc0 图集(索引 12-18,608x32)Somhairle H. Marisol7 days1-4/+197
| | | | | | | - scripts/make-cc0-art.py 由 384x32(12格) 扩到 608x32(19格),新增 draw_bridge_center/end、draw_boat、draw_stone_lantern、draw_stall、draw_reeds - 旧索引 0-11 逐字节不变;产物 1523 bytes,sha256 ef86ced2…6adcb,二次生成一致 - docs/素材来源.md 更新为 19 格并新增第 4 节(P39 清单 + 摆放规则 + fallback 差异)
* feat(art): P34 素材扩展切片(水面/屋顶/墙体/栏杆)Somhairle H. Marisol7 days1-14/+127
| | | | | | | | | | | - cc0-tiles.png 由 4 格扩到 12 格:0-3 仍 Kenney 地面,4-11 为自绘构件 (4 水A/5 水B/6 屋脊/7 屋檐/8 木构墙/9 木格窗/10 栏杆/11 门) - 自绘 2 相位水面 cc0WaterTileIndexAt=(tick/32+x+2y)%2,单帧覆盖双相位; 河道与水田/水网共用;江南 fallback 不变 - drawWorld 接入:cc0 模式下民居屋顶/墙/窗/门、桥栏杆、水面走真素材,其余道具仍江南 - AssetPackTests 更新图集尺寸(12 格)+整数缩放,新增构件索引与双水相位用例 - docs/素材来源.md 记录自绘清单;同步 assets-and-licenses 与维护说明 P34 小节 - docs/evidence/p34-*.png 昼/夜/2x 特写/水波/对照(check-no-white-blocks 0 命中)
* feat(art): P33 接入 CC0 ↵Somhairle H. Marisol7 days1-4/+7
| | | | | | | | | | | | 真实像素素材样板(地面+角色竖直切片) - 修复 make-cc0-art.py 地块取样间距:packed sheet 无间距(16px pitch),旧 17px 误采错格 - 重选草地/石板格 (9,8)/(10,8)/(4,8)/(4,9),整数 2x NEAREST 重建 cc0-tiles.png - VillageArt 暴露 selectedGround/CharacterAtlasRelativePath 纯函数,保留 LV_ASSET_PACK=cc0 开关与程序绘制江南图集 fallback - 新增 AssetPackTests:图集加载尺寸、整数倍缩放、开关/回退断言 - docs/素材来源.md 记录来源/许可/sha256/构建/开关;同步 assets-and-licenses 与维护说明 P33 小节 - docs/evidence/p33-atlas-*.png 昼/夜/2x 特写/程序绘制对照(check-no-white-blocks 0 命中)
* feat(desktop): P28 ↵Somhairle H. Marisol13 days1-30/+40
| | | | | | | | 民居第二变体强化配色与轮廓(青灰挑檐色阶 + 竖长格栅窗 + 绿院门) - make-jiangnan-art.py slot 28/29/30:B 变体改用亮青灰瓦色阶、竖长木格栅窗、绿双扇院门 - VillageArt 变体 B 渲染:挑檐多叠一层、向两侧各出一格(水面之上不叠),墙身统一格栅窗 - 仅绘制分支,瓦片/可达性零改动
* feat(mapgen): P26 512 ↵Somhairle H. Marisol13 days1-3/+15
| | | | 大图河岸装饰(护岸石垒/芦苇/垂柳)仅视觉层,不挡通行
* feat(desktop): P26 ↵Somhairle H. Marisol13 days1-3/+62
| | | | 民居立面第二变体(挑檐/木格栅窗/院门)沿河沿路交替
* feat(desktop): P17 ↵Somhairle H. Marisol13 days1-2/+75
| | | | 街边中式细节物(石灯笼/水缸/摊贩摊位)图集扩展 28 格
* merge: 采纳 M3-1 ↵Somhairle H. Marisol13 days1-8/+31
|\ | | | | | | 流式可观测性+门槛缩尺+成本量化(独立复验全绿)
| * 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 用例
* | 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 完整性校验保持不变
* test(desktop): 预乘/光晕/水面/站位回归与夜间白块校验脚本Somhairle H. Marisol13 days1-0/+93
| | | | | | | | - 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 命中)
* docs: 记录 P13 动画语义与确定性证据命令Somhairle H. Marisol13 days1-0/+160
| | | | | | | | - 维护说明更新为 Desktop 75/75、Kernel 79/79 - 新增动画语义小节(图集布局、cellIndex、各帧 tick 窗口) - 新增 P13 证据命令(Xvfb 白天/夜晚录帧 + 接触表脚本) - 新增 scripts/make-animation-evidence.py(镜像渲染端帧数学, 从真实图集生成确定性接触表),忽略 evidence/ 输出目录
* feat(art): 角色六帧动画与水面/炊烟三相循环Somhairle H. Marisol13 days2-15/+155
| | | | | | | | | | - 角色图集每个 (变体,方向) 由 2 帧扩到 6 帧(4 走路 + 2 待机呼吸), cellIndex=(variant*4+direction)*6+frame,图集 3840x48 - 世界图集扩到 25 格 800x32:水面第 3 相 WaterSpriteC(slot 21)、 炊烟三帧 SmokeSpriteA/B/C(slot 22-24) - 帧选择为纯函数:walk=(tick/4)%4、idle=(tick/24)%2、 water=(tick/32)%3、smoke=(tick/40)%3 - 重生成 jiangnan/cc0 图集(脚本可复现,逐字节一致)
* feat(assets): CC0 素材接入与制作管线Somhairle H. Marisol14 days1-0/+170
| | | | 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-5/+11
| | | | 人物图集 5 变体 x 4 向 x 4 帧(2560x48,全部经 make-jiangnan-art.py 原创,四种腿步:站立/左跨/站立微跳/右跨镜像);animationFrame 按 tick/4 mod 4 确定性取帧(16 tick 一循环,禁实时时钟);快照式回归断言四帧循环与逐帧图集列映射,主角同规则。
* feat(desktop): 村民五套服饰帽饰区分Somhairle H. Marisol14 days1-8/+32
| | | | 人物图集扩至五套变体(1280x48):靛蓝袍配布巾、褐衫配发髻马甲、翠衫配发簪红巾、灰袍配瓜皮帽,主角专属斗笠独立第五套;村民按 id 取模四种服饰轮转,永不与主角同装,四向两帧动画保持。
* feat(desktop): 河畔植被与中式道具点缀Somhairle H. Marisol14 days1-3/+123
| | | | 图集新增柳树(垂枝两段)、灌木、花丛、芦苇、石凳、灯笼七类图块并经复制规则进构建;场景加入两株垂柳、两丛灌木、两处花丛、水中两簇芦苇、河畔石凳与两盏岸边灯笼,芦苇立于水面、灯笼立于岸道,全部入图集无程序几何占位。
* feat(desktop): 江南水乡河道横贯与波纹两帧Somhairle H. Marisol14 days1-3/+19
| | | | 场景改为沿村蜿蜒水带(北岸凸湾、中段横贯、南段收窄),南北两岸石板路沿河展开,木桥三块纵跨全河连接民居门前石径;水面新增第二张波纹图块,按世界 tick/32 取模确定性交替,绘制无新增每帧分配。
* feat(desktop): 民居正面完整化与图集足迹Somhairle H. Marisol14 days1-3/+70
| | | | 新增屋脊/檐口/木构粉墙/格窗/木门五个地块图块,可进屋民居以门为锚点绘制四宽三高完整立面(黛瓦正脊、檐口层次、木构白墙、格窗与木门);新增 planFootprint 供生成阻挡判定,村民不会刷在建筑图块上。
* feat(desktop): 江南美术改为真实 PNG 图集Somhairle H. Marisol2026-09-212-2/+462
| | | | | | | | - 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-213-0/+135
| | | | | | | | | | 完成江南村庄场景、角色表现和中文界面的 M6c 交付范围。 新增 CJK 字形图集、中文文案与运行时加载,补充民居情境交互和确定性村庄美术表现。 更新资源复制与 Linux/macOS 打包校验,加入 188 字符清单、资源许可说明和对应原型测试。 补充江南美术方向与 M6c 交付说明,并保持原有模拟内核和桌面构建入口不变。
* chore(macos): add self-contained packaging scriptSomhairle H. Marisol2026-09-201-0/+339
| | | | | | | | | | | | | | | | | | | [Change Nature] This commit adds release packaging maintenance for the macOS test build. [Maintenance Work] - Publish osx-arm64 and osx-x64 as self-contained applications. - Bundle launchers, Info.plist, native dependencies, verification evidence, and ZIP checksums. - Document unsigned, unnotarized usage and per-application Gatekeeper handling. [Implementation] - Reject missing apphosts or incompatible Mach-O/native dylib architectures. - Generate reproducible timestamped release directories without overwriting prior output. - Create DMGs only when hdiutil is available on the build host. [Impact] - Adds scripts/macos-package.sh only. - Does not modify game source, M3 acceptance state, logs, or existing worktree changes.
* feat(m6c): add Linux release package and delivery docsSomhairle H. Marisol2026-09-202-0/+104
| | | | | | | | | | | | | | | | | | [Change Nature] - This commit adds the M6c Linux delivery surface without changing simulation behavior. [New Capability] - Publish self-contained linux-x64 output with framework-dependent fallback and a package-relative launcher. - Document the menu, controls, save paths, autoplay verification, milestones, and asset/license boundaries. [Implementation] - Add the M6c packaging and startup scripts. - Add release notes and an asset/license inventory. - Keep release artifacts and verification evidence under ignored artifacts/m6c-release/. [Impact] - Runtime code and M3 acceptance artifacts are unchanged. - The package was exercised under Xvfb; prior provider metadata remains an unstaged worktree change.
* fix(m3): 加固监督器生命周期与冻结证据校验Somhairle H. Marisol2026-09-191-90/+419
| | | | | | | | | | | | | | | | | | | [问题原因] - 监督器需要在批次退出、中断、控制器重启和状态异常时保持 fail-closed。 - 同秒控制器重启可能复用旧日志及退出标记,造成生命周期结果误判。 [问题根因] - 旧判据未完整绑定固定阶段参数、world 索引与 seed,冻结清单也未覆盖递归文件完整性。 - 进程身份和孤儿子进程检测不足,无法可靠区分重复拉起与中断现场。 [修复方案] - 固定 PHASES 判据,强化退出码、日志、manifest、PID 身份和孤儿检测。 - 增加递归 v2 manifest、同秒路径去重、原子状态处理和真实隔离生命周期 selftest。 - 对失败或 interrupted 状态停机并生成诊断,禁止自动重启。 [影响范围] - 仅修改 scripts/m3_supervise.py。 - 不修改生产 state、日志、frozen evidence 或其他工作区文件。
* infra: P0 监督加固 — m3_supervise.py ↵Somhairle H. Marisol2026-09-192-81/+559
| | | | flock防重入/原子状态/冻结Release全依赖+sha256清单/真实child退出码(sh -c exitfile)/PID+starttime身份/收紧PASS判据(批次参数+world行数全OK+batch_summary+verdict token+清单hash+commit绑定)/失败停机并写diagnosis报告, selftest 33项合成断言; completion_notify.py 新completion-notice.md hash仅打印一次缺失静默, selftest 7项; Headless --batch 世界级并行(LV_BATCH_WORKERS 默认modest 4, 逐世界确定性, 输出按序, world行与串行逐字节一致); .gitignore 补冻结/锁/通知状态文件
* chore: M3 验收监督脚本 scripts/m3_supervise.py — cron 10min no_agent ↵Somhairle H. Marisol2026-09-191-0/+154
状态机(idle→30x20→50x100→done), pid/cmdline 防重复拉起, 运行中零输出, PASS 链式推进/FAIL 停机待人工, --selftest(9 项解析+转移断言); .gitignore 补 m3_logs/m3_state/.opencode-tmp