Commit Graph
27 Commits
Author SHA1 Message Date
joywayerandClaude Opus 5 d69389e09d feat(shop): 设计器「属性」页扩展 shop 段五字段
mode/curve 下拉存 key 不存双语显示串;UI.spin 的 min 取 0 以免 Range 的
抵消误差把浮点噪声写进权威数据文件(E3-① 实测);price_base 存 float
而非 int——JSON.parse_string 对所有 JSON 数字一律解析为 float,存 int
会使往返逐位比较恒假失败,且与 price_formula.gd 的 float() 读取一致。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 11:56:55 +08:00
joywayerandClaude Opus 5 9a5f2c1271 chore: 补提交 addons/godot_mcp 的 35 个 .gd.uid,与全项目约定对齐
此前 godot_mcp 是全项目唯一不跟踪 .uid 的目录:
  scripts/                51 .gd / 51 .uid
  addons/game_designer/   13 .gd / 13 .uid
  addons/godot_mcp/       35 .gd /  0 .uid  ← 唯一例外
且 .gitignore 无任何 .uid 规则,CLAUDE.md 亦要求新增 .gd 连同 .gd.uid 一并提交。

.uid 是稳定资源标识符,不跟踪则其它机器扫描时会重新生成不同 UID,
可能打断 uid:// 引用;Godot 官方亦建议提交。一并消除长期挂在
git status 里的 35 行噪声。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 15:00:25 +08:00
joywayerandClaude Opus 5 7884e43147 fix(attr): 补齐属性页最后两条静默改写数据的诊断,并订正两处注释
1. 条目缺失时无任何诊断(上一轮 `and not d.is_empty()` 引入的回归)。
   attributes.json 格式良好但少了 hp_max 时,_loaded 仍为 true、保存照常,
   _collect 写出 {"base":0,"soft":0,"hard":0,"combine":"hybrid"}。更糟的是这个键
   从此「存在」,player_stats.gd 的「缺少属性」报错也不再触发,hp_max=0 完全静默
   进游戏;而 hard=0 在 hybrid 下意味着不钳制,连兜底都没有,玩家瞬死。
   改为 if d.is_empty() 单独 push_warning,与 combine 那条对称。

2. min=0.0 引入的负值静默钳制同样无诊断("move_speed":{"base":-50} → 写回 0)。
   运行时本就把生效值钳到 ≥0,但静默改写权威数据正是 combine 警告要防的事,
   并入同一警告块保持处理对称。

3. _clean 的注释末句由描述改为禁令。原文「当前 12 个值并不依赖本函数」是事实,
   但读起来像绿灯,而删掉它一直无害——直到有人放宽 min,也就是它存在的唯一场景。

4. _collect 的注释夸大了:未知键只有是对象时才存活,顶层标量键会让 _load 整体
   拒绝加载。改为「保留未知属性条目」。

实测:缺 hp_max 与 base=-1234.5 两条警告均如实发出;未改动的 attributes.json
连建三次零警告零报错(误报比不报更糟,已专门验证)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 12:35:12 +08:00
joywayerandClaude Opus 5 36c4f79f10 fix(attr): 属性页提示自动换行、加载失败拒绝写回、收紧 SpinBox 下限
三处评审必修:

1. 提示 Label 未换行,在 dock 里被裁掉。该 Label 最小宽度 786px,autowrap 为
   AUTOWRAP_OFF,而 designer_panel 的 ScrollContainer 禁用横向滚动、同侪分页实际
   宽度 337–887px —— 被裁的正是「inverse 的 hard 是下限」这半句,即这条提示存在的
   全部理由。加 AUTOWRAP_WORD_SMART,最小宽度降到 17px,337px 下 4 行全可见。
   同时补两处内容缺漏:add_int 下 hard=0 同样表示不钳制(cpu_limit 就是 add_int,
   还是第一行);soft 本期无消费方,注明「留给货架 C」。

2. 加载失败后保存会写出打砖游戏的文件。_data 为空时 _collect 产出四条全 0、无
   display_name 的合法 JSON,PlayerStats 照单全收 → move_speed.base=0、hp_max.base=0
   直接进游戏,玩家不能移动/瞬间死亡且零诊断。加 _loaded 标志:加载失败 push_error,
   _save 开头守卫拒绝写回。并按 player_stats.gd 的既有做法加逐条 is Dictionary 守卫
   (畸形条目如 "hp_max": 5 原会硬崩、dock 停在半构建状态)。

3. SpinBox 下限收紧到 0.0,并订正上一版注释里的误诊。噪声不是「按 step 吸附」的
   普遍现象,而是 Range 的 round((v-min)/step)*step+min 在 |min| 远大于 |v| 时的抵消
   误差(min=-99999 与 step=0.01 相差七个数量级)。实测:min=-99999 且不用 _clean 时
   漂移 2 处,min=0 且不用 _clean 时漂移 0 —— 收紧 min 才是真解法,_clean 并非必需。
   四个属性按定义均非负,故 min=0 也更贴语义。_clean 保留作宽区间属性的廉价保险。

另:无法识别的 combine 改为 push_warning 后回落 hybrid(打字错误不该硬拒)。
按评审裁决不给 COMBINE_KEYS[selected] 加 clampi(UI.opt 已 clamp,不可达),改留注释记依赖。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 12:26:09 +08:00
joywayerandClaude Opus 5 a0e205a031 feat(attr): 游戏设计器新增「属性」页,字段化编辑 attributes.json
按 CLAUDE.md 编辑器插件规范:控件经 designer_ui 工厂创建、标签中英双语中文在前、
combine 下拉存 key 不存显示串、_save 合并式写回防丢键、UI 在 _ready 而非 _init 构建。

另修:SpinBox 按 step 吸附会引入双精度噪声(0.01 → 0.00999999999476),
直接写回会把噪声固化进 JSON;_collect 用 snappedf(v, 1e-6) 抹平,
使「不改任何值就保存」得到逐位一致的 attributes.json。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 12:05:50 +08:00
joywayerandClaude Opus 5 df81e9eafa style(homing): 设计器 homing 标签补单位提示「弧度/秒」
3.0 这个值形似 0~1 的强度系数,不标单位易被误读为「归航强度」而调错量级。
文件内已有括号提示先例(如「n(每 n 次)」)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 16:40:11 +08:00
joywayerandClaude Opus 5 55f96e1a1c feat(homing): 设计器 MODIFIER 表单加 homing 字段,并补上期遗漏的 bounce 字段
bounce 自上期起一直掉在「其它(JSON)」逃生舱,违反 CLAUDE.md 字段化规范,
与 homing 同处 schema,一并补上。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 16:30:10 +08:00
joywayer d6061d0f50 更新mcp client 2026-07-30 11:41:08 +08:00
joywayerandClaude Opus 4.8 a17e3aa2af feat(resist): 设计器敌人页增元素抗性网格(6×5) + _save 写 resistances(全0省略)
主表下方加 6原型×5元素(火/冰/雷/毒/奥) SpinBox 网格(-0.9~0.9);_save 汇总
非零抗性写入 resistances,全0则省略键。读写往返 MCP 实测 FAILS=0
(读种子 fire0.5/ice-0.5,写非零、零值省略、负值保留)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 12:08:11 +08:00
joywayerandClaude Opus 4.8 e490e6075a feat(iframe): 设计器平衡页增 player_iframe_sec 栏;_save 改合并式修复丢键
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 09:27:28 +08:00
joywayer 3480255a5a feat(boss): 游戏设计器 Boss 分页(类型/阶段/招式三级字段化表单,双语,禁手写JSON) 2026-07-23 10:27:57 +08:00
joywayer 3b36c6e20a chore(designer): 追踪 tuple_list_editor.gd.uid(与其它组件一致) 2026-07-22 12:27:24 +08:00
joywayer 04b6781678 feat(designer): 平衡碎片阈值改行编辑器(去 JSON) 2026-07-22 12:17:33 +08:00
joywayer 3b4a5f674c feat(designer): Core 电路边改行编辑器(去 JSON) 2026-07-22 12:15:19 +08:00
joywayer 0d6d511c86 feat(designer): 新增整数元组列表行编辑器组件 2026-07-22 12:09:47 +08:00
joywayer c08d526a18 feat(designer): 波次/Core/状态 枚举标签归一为中英双语 2026-07-22 11:13:54 +08:00
joywayer d17a4579d5 feat(designer): 共鸣配方元素 A/B 改下拉 + 匹配方式双语 2026-07-22 11:12:51 +08:00
joywayer 95af2e1db6 feat(spell-editor): 元素标签改复选框 + 选项双语显示 2026-07-22 11:11:27 +08:00
joywayer 1f00720f44 feat(designer): 输入框撑满面板 + 共享元素词表常量 2026-07-22 11:01:22 +08:00
joywayer ac8a4e4392 docs(spell-editor): 清理对已删除 spell_editor 目录的悬挂引用 2026-07-21 16:15:06 +08:00
joywayer 29efa986c5 chore(spell-editor): 追踪 spell_tab.gd.uid(与其它 tab 一致) 2026-07-21 16:08:13 +08:00
joywayerandClaude Opus 4.8 3e189206d5 refactor(spell-editor): 并入 game_designer tab,移除独立 spell_editor 插件
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 16:07:26 +08:00
joywayer d7e051ffde feat(spell-editor): 新增 game_designer 法术 tab(字段化表单) 2026-07-21 16:04:53 +08:00
joywayer 301f731e6c feat(mana): Core 编辑器加击杀回蓝(mana_leech)栏 2026-07-21 15:19:42 +08:00
joywayer 1028f34803 feat(meta): 平衡页签可编辑 aether_thresholds(保存不丢字段) 2026-07-21 11:53:13 +08:00
joywayerandClaude Opus 4.8 7bc13a7be6 feat(mana): 游戏设计器支持 mana 字段(补 Mana MVP 配套)
- Core 编辑器加「蓝上限/回蓝」两栏(_on_select 读 / _on_apply 写 / _on_new 默认),
  修复此前编辑 Core 保存会静默丢失 mana_max/mana_regen 的数据丢失洞
- 法术编辑器 4 个 meta 模板加 mana_cost,新法术默认有合理蓝耗
- handbook 07 补 Core 蓝池字段 + 法术 mana_cost 说明

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 10:31:01 +08:00
joywayer 7bcc0026e0 初次提交 2026-07-20 10:56:52 +08:00