Commit Graph

47 Commits

Author SHA1 Message Date
NianGao Dev
768a9b8096 feat(crafting): 工作台 3×3 合成界面——右键开台、槽位交换、输出格合成、关闭退回
- 会话层(工作台与合成表.md §5):TryOpenCrafting 右键命中工作台开台;
  CraftingSwap 网格槽与手持栈交换/合并;CraftingTakeResult 匹配配方
  (有序优先)消耗材料取产物;CloseCrafting 材料退回背包(放不下掉落)
- 客户端屏幕状态 3:gui/container/crafting_table.png 176×166 窗口、
  3×3 网格 (30,17) + 输出格 (124,35) + 热键栏行 (7,141)(UI还原.md §3.4);
  ESC 关闭并回收手持栈;界面打开时释放光标、关闭恢复捕获并重置鼠标基准
- 物品图标双图集:block/* 图标回退 blocks 图集(原版 items 图集不收录
  block 纹理,此前方块物品图标全部缺失)
- 单测:shaped 2×2 木板→工作台、shapeless 原木→木板、木镐多符号、
  关闭退回材料;dev 参数 -crafttest 全链路截图验证
2026-08-16 10:23:01 +08:00
NianGao Dev
8bc64d220a docs(render): 植被染色/覆盖层渲染/实体广告牌规格;路线图与索引回写
- 渲染.md 新增 §4.1 植被染色、§5.2 覆盖层渲染(裂纹/手持)、§5.3 实体广告牌,
  踩坑清单补视图矩阵正向旋转与灰度纹理两条
- 路线图.md:M3 破坏动画/手持渲染补齐、M3.5 实体渲染完成、M6 UI 精灵完成
- 索引.md 变更记录登记
2026-08-16 10:08:45 +08:00
NianGao Dev
d52bf1126f feat(client): 植被染色、破坏裂纹叠加、手持方块与实体广告牌渲染;原版 HUD 精灵
- 植被染色(渲染.md §4.1):blocks.json 增 tint 标记,图集构建后按
  colormap/grass|foliage 中心色乘色——原版材质包草顶/树叶为灰度图,不染色全灰
- 破坏裂纹(方块交互与动画.md §4):destroy_stage_0..9 裂纹盒叠加破坏目标方块
- 第一人称手持方块(渲染.md §5.2):选中槽放置方块六面 UV 视图空间立方体
- 实体广告牌(渲染.md §5.3):僵尸/村民/动物按贴图渲染,动物按 ID 轮换外观
- HUD 换原版精灵:crosshair/hotbar/hotbar_selection/heart/food(UI还原.md §3.4)
- 主菜单标题/按钮标签按请求字号光栅化(修复 24px 固定字号);版本角标 CJK
- 恢复背面剔除(相机修复后 '脚下黑块' 误诊解除);ESC 光标请求原子化防竞态
- dev 测试参数:-give/-crackstage/-spawntest/-esctest
2026-08-16 10:08:40 +08:00
NianGao Dev
108c803a75 fix(camera): 视图矩阵俯仰符号翻转——视角不跟随鼠标上下移动的根因
视图矩阵误用正向旋转 R 代替 Rᵀ(RotX(-pitch)·RotY(-yaw)),
低头渲染成抬头、抬头渲染成低头;yaw 因 RotY 对称性侥幸正确。
新增 TestViewPitchSteep/Up/Forward 验证陡俯仰与方向映射。
2026-08-16 10:08:33 +08:00
NianGao Dev
fc151e7c07 fix(render): 修复白屏/黑屏——视图矩阵、UI着色器、网格构建性能与安装目录
- 相机视图矩阵按 R_cam^T·T(-pos) 正确推导(旧布局非正交,非零视角下场景塌缩为灰屏)
- UI 片元着色器改为纹理×颜色(旧实现丢弃纹理 RGB,彩色纹理全白)
- UI 纹理与图集 mipmap:图集补齐 2 次幂、UI 上传不生成 mipmap(NPOT 不完整纹理采样纯白)
- 网格构建持一次读锁(旧实现每格邻居查询各加锁约 40 万次/区块,出生区块迟迟无网格,
  玩家透过脚下的洞看到地下横截面——进游戏黑屏主因);脏区块按距离排序优先构建
- 开启背面剔除(CW 正面):区块边界面向未加载邻居的内侧面不再以暗色出现在视野里
- 出生逻辑:等区块加载后定位地表出生,相机略微俯视
- dev 截图测试:-shot 等待玩家所在 5×5 区块网格就绪再拍(48s 兜底),先测试后打包
- 安装器改为按用户安装到 LOCALAPPDATA(Program Files 无写权限导致启动即崩)
- dev 截图工具独立成 devshot_gl.go
2026-08-16 08:33:08 +08:00
NianGao Dev
6dd5a8122a feat: NSIS 中文安装器(年糕历险记-Setup-v0.1.0.exe 实际构建+静默安装验证)、菜单鼠标可见性修复、首页 UI 原版复刻(土质背景/原版按钮/splash/版本角标)、全 goroutine 崩溃兜底 2026-08-16 06:46:25 +08:00
NianGao Dev
854440216f fix(crash): 修复双击闪退——路径基于可执行文件目录解析、崩溃兜底日志、资源入 bin 与安装包 2026-08-16 06:31:00 +08:00
NianGao Dev
157c769473 docs: M4 进度回写(实体位置广播完成) 2026-08-16 00:08:26 +08:00
NianGao Dev
95c8d677ea feat(mpsync): 实体位置广播(EntityMove)与客户端在线玩家显示;mesh 顶点池复用(性能与内存.md §2) 2026-08-16 00:05:17 +08:00
NianGao Dev
e70314fb3f feat(game): 动物自然生成(草面/白天/限频)与繁殖冷却/成长;村民交易表数据驱动(含测试) 2026-08-16 00:01:20 +08:00
NianGao Dev
4755fd88fc feat(installer): 便携中文安装包「年糕历险记-Setup-v0.1.0.zip」——安装.bat 中文交互+桌面快捷方式;修复 ps1 BOM 编码 2026-08-15 23:59:24 +08:00
NianGao Dev
610f234bb4 docs: 路线图状态回写(M0-M3/M5 完成)、README 状态、索引变更记录 2026-08-15 23:50:25 +08:00
NianGao Dev
6e18d1c81f test(game): 测试环境禁用自然刷怪消除时序 flake 2026-08-15 23:49:59 +08:00
NianGao Dev
90e33380fc feat(game): 玩法接线——实体AI/夜间刷僵尸/受伤重生、掉落物拾取、熔炉烧炼产出、服务器与客户端 Mod 加载、客户端单机存档 2026-08-15 23:48:58 +08:00
NianGao Dev
6cc0f12079 feat(ui): 主菜单/暂停菜单屏幕状态机——中文标题「年糕历险记」、按钮点击、Esc 暂停(烟雾测试 10 秒无崩溃) 2026-08-15 23:43:31 +08:00
NianGao Dev
272f69b6a3 fix(font): 主位图确定性选择(修复并行测试下 map 随机序 flake) 2026-08-15 23:40:56 +08:00
NianGao Dev
355fa200a6 milestone: GL 客户端构建运行成功(zig cc + go-gl)——窗口/世界/渲染/HUD 全链路 12 秒无崩溃;修复越界查询与编码损坏 2026-08-15 23:39:43 +08:00
NianGao Dev
2f71900e37 test(worldgen): 村庄断言改为 3×3 区块总量(跨区块建筑统计) 2026-08-15 23:29:07 +08:00
NianGao Dev
c82bf994be test(worldgen): 村庄跨区块阈值修正 2026-08-15 23:28:29 +08:00
NianGao Dev
7cf12ce751 feat(worldgen): 村庄结构生成——网格撒点+群系白名单+水井+跨区块房屋(含测试) 2026-08-15 23:27:50 +08:00
NianGao Dev
f6f89be32f feat(blockentity): 方块实体——熔炉烧炼(燃料/输入消耗/产出)与箱子容器(含测试) 2026-08-15 23:23:53 +08:00
NianGao Dev
6bca2bea74 feat(blockentity): 方块实体——熔炉烧炼(燃料/输入/产出)与箱子容器(含测试) 2026-08-15 23:23:34 +08:00
NianGao Dev
093b3df8ec feat(ui): 中文字体渲染(系统 CJK 字体光栅化,微软雅黑验证通过) 2026-08-15 23:22:40 +08:00
NianGao Dev
236f7a4b06 feat(render): 光影包加载与着色器热替换(type=shader,坏包回退默认) 2026-08-15 23:21:48 +08:00
NianGao Dev
8b6b78d02c feat(client): 客户端网络层、zh_cn 中文语言文件、NSIS 中文安装脚本、UI 渲染器与 HUD(gl 标签) 2026-08-15 23:21:37 +08:00
NianGao Dev
4167bf287d feat(mpsync): 多人同步 MVP——登录区块流、方块变更广播;修复 netserver 关闭竞态与世界 worker 退出死锁 2026-08-15 23:17:34 +08:00
NianGao Dev
4eaab7f3f9 feat(audio): 音频管理器——3D 衰减、声源池淘汰、分类音量、程序化合成音(beep+oto 纯 Go) 2026-08-15 23:09:13 +08:00
NianGao Dev
00397e7b13 feat(redstone): 方块更新队列(延迟+迭代上限)与红石信号传播(含测试) 2026-08-15 23:07:36 +08:00
NianGao Dev
58aa9f5e02 feat(entity): 实体系统——僵尸 AI/白天燃烧、动物游荡、掉落物合并拾取、村民房屋蓝图与建造队列(含测试) 2026-08-15 23:06:20 +08:00
NianGao Dev
38f015ba22 feat(mods): Lua 沙箱 Mod 运行时——generation 注册表、注册 API、事件、热重载与回滚、文件监听防抖(含测试) 2026-08-15 23:04:51 +08:00
NianGao Dev
07c086e127 feat(server): 服务器接线——世界调度、30s 定时存档、握手校验、关服 flush(smoke 验证通过) 2026-08-15 23:01:51 +08:00
NianGao Dev
5fa057632d build: GL 渲染层与客户端挂 gl 构建标签(无 C 工具链也可构建测试);构建脚本自动定位 zig/gcc 2026-08-15 23:00:55 +08:00
NianGao Dev
509c6f228c feat(save): 存档系统——region 文件(zstd+CRC32+原子替换)、level.dat、区块序列化、世界存取(含测试) 2026-08-15 22:59:31 +08:00
NianGao Dev
ba187f6f85 feat(net): 协议编解码(帧/varint/消息)与服务器网络层(握手/心跳/半包处理,含测试) 2026-08-15 22:54:36 +08:00
NianGao Dev
799c0122f0 feat(ui): 字体图集构建(原版 8x8 位图 provider → 字形表) 2026-08-15 22:49:27 +08:00
NianGao Dev
637a4730ad fix(items): 木板/圆石补放置映射;游戏会话测试全绿 2026-08-15 22:48:31 +08:00
NianGao Dev
528c56837f test(game): 修正放置用例(抬升玩家脱离坑位) 2026-08-15 22:47:54 +08:00
NianGao Dev
82954c9001 feat(game): 相机矩阵与游戏会话(破坏进度/放置/工具速度,含测试) 2026-08-15 22:47:21 +08:00
NianGao Dev
471cb131eb feat(game): 物品注册表、背包规则表、配方索引化匹配(含测试) 2026-08-15 22:45:13 +08:00
NianGao Dev
f1e0f6cb8f fix(raycast): 放置位计算(命中格+面法线) 2026-08-15 22:42:50 +08:00
NianGao Dev
4e6019fa30 feat(interact): DDA 射线拾取与玩家逐轴物理(含测试) 2026-08-15 22:42:21 +08:00
NianGao Dev
719fe5fb2a feat(render): 纹理图集构建与区块网格构建(面剔除/三通道/光照顶点) 2026-08-15 22:39:44 +08:00
NianGao Dev
8bdd5b047f feat(world): 区块管理器——异步生成流水线、优先级队列、时间预算、火把光源联动(含测试) 2026-08-15 22:37:15 +08:00
NianGao Dev
90b22f8c87 feat(light): 天空光按列灌入、方块光 BFS 传播、光源移除重算、跨区块溢出(含测试) 2026-08-15 22:36:25 +08:00
NianGao Dev
a89d087c55 feat(world): 方块注册表、坐标工具、区块数据结构、确定性世界生成(含测试) 2026-08-15 22:32:50 +08:00
NianGao Dev
8200cfe83d feat(assets): 内容包加载器——原生 pack.mcmeta 素材包、图集/语言/字体/模型解析 2026-08-15 22:28:47 +08:00
NianGao Dev
19c6e44155 chore: M0 项目骨架(年糕历险记)——配置/日志/主循环/数据文件/构建脚本 2026-08-15 22:24:38 +08:00