xcdoge
7b4f512ce9
敌方血条偏高:头顶高度按"原点以上的高度"算(bounds.y + bounds.height),而不是包围盒高度
...
玩家反馈:逐腐兽的血条明显偏高。
原因:单位血条/名字牌的头顶高度用的是 spine setup-pose 包围盒的**高度**(units.js headTilesForUnit 里
`bounds.height × 1/320 × 模型系数 × 0.92`)。这个公式默认包围盒是**脚锚定**的 —— 大多数敌人确实如此
(猎狗pro y=−3.7、大鲍勃 y=−2.6,height 与"脚以上高度"几乎相等)。但有些模型的**原点在身体中间**:
逐腐兽的包围盒是 y=−404.7 / height=722.6,锏是 y=−798 / height=1183 —— 对它们,包围盒高度比可见顶端多出
大半个模型,于是血条被顶到上限 2.2 格(非 Boss)之上,看起来就是"明显偏高"。
改法:定位改用**原点以上的高度**(`Number.isFinite(b.y) ? b.y + b.height : b.height`,仍按 20…900 夹取)。
同时把这段计算从 UnitView 内联代码提成一个纯函数 `headTilesForUnit()`(放 units.js,紧挨 UNIT/EL_BAR 常量),
入参只有 isEnemy / isBoss / spineShown / bounds / modelK / modelKY,便于直接测;UnitView 仍然保留
"没显示 spine 就不看模型"的短路语义。spine.js 的 `height` getter 语义不变(别处也用它,例如替身的纵向拉伸)。
影响面(用真实 bounds 扫过 167 个有模型数据的敌人):
逐腐兽 / 疯狂的逐腐兽 1.85 → 0.81 格(降 1.03)
锏(Boss) 2.59 → 1.11 格(降 1.48)
萨卡兹大剑手 / 组长 1.54 → 1.23 格(降 0.31)
枯朽之种 0.72 → 0.55、萨卡兹百夫长 1.51 → 1.34、妖怪MKII 0.71 → 0.55
其余 103 / 167 个敌人的变化 ≤ 0.02 格(脚锚定模型几乎无感)
测试:
test/render/bar-head.test.js(新增 5 条):用真实的逐腐兽 / 猎狗pro / 大鲍勃 / 锏 包围盒断言新公式、
夹取上限、以及三个回退分支(无 bounds 用 chibi 余量 × 系数、Boss 无模型用 2.2、干员与召唤物用固定余量),
并做源码断言把"y + height"这条规则钉住。
test/render/playtest6-enemies.test.js:两条 prefab 测试的期望值原本写死 `390 × …`(合成夹具的 bounds 是
y=−150 / height=390,即当年就把这个 bug 当成了正确行为),现在改为从**被测 view 自己的 bounds** 推导
(240 而不是 390),夹具本身不动。
test/render 全量 552 项 / 546 通过 / 0 失败;test/ui + test/render 1279 项 / 1265 通过 / 0 失败。
未触碰 server/sim,test/golden 无变动。
2026-10-11 22:49:56 +08:00
sganggs
bc50cac01f
0.2.4: version 0.2.4 — package.json / package-lock.json / APP_VERSION (DEV_BUILD turns false), README release form, CHANGELOG 0.2.4 — 2026-10-11 in the usual sections with credits, DESIGN versions line
2026-10-11 02:04:21 +08:00
sganggs
b5c0796018
0.2.4-dev: connect the history of PR #476 by Siornya — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
cda652f2d4
0.2.4-dev: connect the history of PR #471 by Yuri Restia — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
86a9c263dc
0.2.4-dev: connect the history of PR #464 by HappyTanuki — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
f3a73bc766
0.2.4-dev: connect the history of PR #462 by Xinglan233 — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
b43e0d3e2f
0.2.4-dev: connect the history of PR #461 by Xinglan233 — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
0835ac9c16
0.2.4-dev: connect the history of PR #460 by Xinglan233 — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
378db8f043
0.2.4-dev: connect the history of PR #459 by Xinglan233 — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
2f19e99290
0.2.4-dev: connect the history of PR #451 by YinqiMargatroid — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
d521864a94
0.2.4-dev: connect the history of PR #450 by IceCodeNew — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
419fb030a5
0.2.4-dev: connect the history of PR #448 by scutkane — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
38121e8d33
0.2.4-dev: connect the history of PR #408 by Siornya — the reviewed adaptation in 6bfc0827 is kept (tree unchanged)
2026-10-11 01:58:52 +08:00
sganggs
6bfc08270c
0.2.4-dev: round-29 community fixes and the official shared card pool
...
- Shared card pool and item stock as in the official mode (the owner's request, from the 路标档案馆 video and public notes): solo low-tier exceptions, co-op operators x2, shared item stock with special-item exceptions, normal / advanced occupancy 1 / 2, re-check on buy, 机变 exhaustion, release on consume / destroy / elimination; 整备 never exceeds stock; invariant held <= cap.
- 突袭: one taunt-first reselect right after a revive (the owner's rule); ordinary polls and redeploys keep the 0.2.3 rule; a revive on an enemy's tile stays. #475 : online boss / hidden-boss Raid may land on the empty half (owner-limited scope).
- 浊心斯卡蒂 S1 x 坚守 no longer bounce redirected damage, and the two shares conserve the hit (idea of PR #464 by @HappyTanuki).
- Operator fixes adapted from PRs by @Xinglan233 (#459 哈洛德 S2 elemental trigger, #460 涤火杰西卡 shield on the four adjacent tiles, #461 家族徽章 first hit after stealth, #462 松果 S2 regrow per deploy); 克莱门莎 S2 splash 1.1 / 100% ATK and air auto-trigger (#467 ); 白面 copying 歌蕾蒂娅 / 余 skips the three-member condition (#473 , the owner's video).
- 香槟炸弹 is not chosen by friendly auras / heals (PR #468 / #476 by @Siornya); 琳琅诗怀雅 coin balance (PR #450 by @IceCodeNew); Touch prep display (PR #451 by @YinqiMargatroid); lobby header (PR #471 by @YuriRestia); Japanese UI terms (PR #448 by @scutkane).
- AI-only boss countdown grace, render-failure cache / recovery without restarting a battle, device units kept on a same-field re-entry, DIY detail / skill previews, large-text result buttons.
- golden: battle families equal 0.2.3 except diy-135 / diy-136 (克莱门莎); all 18 release matches move through the shared pool, every flip named in docs/history/0.2.4.md §29.12; two coverage scenarios added.
2026-10-11 01:58:52 +08:00
Siornya
fe303c8efa
fix: 香槟炸弹会被友方选中 ( #442 )
2026-10-10 19:07:43 +08:00
HappyTanuki
e9a2e27c58
fix(sim): 浊心斯卡蒂 S1 and 坚守 tier 2 no longer bounce redirected damage between each other (the battle froze: every cycle branched per 坚守 member until the hook depth guard); regression test; golden: unchanged
2026-10-10 11:06:10 +09:00
Xinglan233
8ebdcf5d17
fix: 重置松果重新部署后的S2攻击成长
2026-10-10 09:55:15 +08:00
Xinglan233
a173a470b6
fix: 让家族徽章在解除隐匿后的首笔伤害触发
2026-10-10 09:53:26 +08:00
Xinglan233
85062bab67
fix: 将涤火杰西卡的盾牌放置限制在相邻四格
2026-10-10 09:52:07 +08:00
Xinglan233
0abb58a282
fix: 让哈洛德S2在友方只有元素损伤时也能开启
2026-10-10 09:42:26 +08:00
Yuri Restia
4bff948290
Improve lobby screen header design
2026-10-10 04:18:40 +07:00
Siornya
7ecc80d537
fix: 优先使用香槟炸弹原皮的本地模型覆盖 ( #442 )
2026-10-10 04:12:18 +08:00
IceCodeNew
416e7d9e14
fix(render): show Swire Alter coin balance
2026-10-09 19:56:02 +00:00
sganggs
1db8e51023
0.2.3: README current-version line
2026-10-10 03:19:50 +08:00
sganggs
c4dc96fff4
0.2.3: version 0.2.3 — package.json / package-lock.json / APP_VERSION (DEV_BUILD turns false), README release form, CHANGELOG 0.2.3 — 2026-10-10 in the usual sections, DESIGN versions line
2026-10-10 03:19:38 +08:00
sganggs
9ec84f36a0
0.2.3: the install icon keeps the 0.2.x mint rook (the owner's choice), refined: a narrower tower, lighter base and more padding so it sits well among launcher icons; manifest sizes, maskable and favicons re-exported (the ICO keeps its transparent mask)
2026-10-10 02:36:12 +08:00
sganggs
9042125430
0.2.3: 重绘系列通用安装图标并记录功能审核决定(#413、#77/#408、#444、#407)
2026-10-10 02:11:23 +08:00
sganggs
ba5b998a72
0.2.3: Clementia S2 releases a dead, hidden, uncarriable or pathless rider at once (slot and weight back before the same tick's boarding checks); same-browser match recovery never takes the seat of a window that is reloading or still starting (a tab keeps its own session token; seats are stamped at the server's welcome, the older welcome wins); golden: diy-135 moves (outcome unchanged)
2026-10-10 01:58:06 +08:00
sganggs
821ab827bd
修复赤刃明霄陈三技能对空自动开启并核实社区反馈
...
S3 的扩展范围含可选中的飞行目标时可以自动开启剑气;普攻保持仅对地。
[ASSUMED] 自动触发区域沿用扩展攻击格和永久射程延长,不扩张到未来剑气的整条路线。
补测部署技能与休整属性预览、后排协防蕾缪安真实锁定耗弹、诗怀雅落地金币、
莎草对炸弹的治疗链,以及予愿三种技能的普通地面溅射和无视可选性例外。
未复现的报告保留证据边界;诗怀雅被动落地投瓶符合 PRTS。
全 285 场 golden 重建并验证,仅 diy-074 变化:新增 4 次陈 S3,伤害 142376→163563,
时序/选敌改变后击杀 21→18、漏怪 96→99,223.83 秒和结束方式不变。
其余 284 场不变。
CI:5879 tests,5876 pass,0 fail,3 skip;setup/smoke/lint/imports/typecheck 均通过。
新增 16 项回归,相关 6 文件 63/63,补充 2 文件 20/20,文档 31/31。
2026-10-10 01:02:23 +08:00
Siornya
be095d8638
Merge upstream 0.2.2 and resolve reroll conflicts ( #408 )
2026-10-10 00:46:46 +08:00
sganggs
708caf7d06
fix: correct community-reported combat and strategy draft behavior
...
Guard lethal stuns against a replacement deployment; keep bard auras running
through stun; require an active Aegir bond for Clementia's strategy; allow
Compass SP to bypass recovery locks; and refresh Hidden Core gun mitigation
against current gun/spring companions. Set multiplayer strategy picks to 50s
and describe renderer fallback without diagnosing unsupported hardware.
Golden moves (full 285-scenario regeneration):
- roster-008: inactive Aegir no longer gains 18 strategy layers.
- boss-boss_4-solo: bard regeneration continues through stun.
- hidden-boss_9-pair: mitigation covers first hits/current companions.
- standin-07: hammer stun cannot follow an immediate revival deployment.
No ending-reason changes. Sources and report-by-report findings: DESIGN 28.25.
2026-10-10 00:45:41 +08:00
sganggs
77cd29f07a
Keep lobby settings next to the guide when install controls appear ( #413 )
2026-10-09 23:57:05 +08:00
scutkane
1633b0d961
i18n(ja): use the official JP client's terms for six UI labels
...
- 休息一下: ひと休み → 休憩タイム (the label the JP client shows during the preparation phase)
- 交流: 通信 → 交流 (the JP client's emote/chat button)
- 作战结束: 戦闘終了 → 作戦終了 (the title of the JP client's round result box); the two messages that contain it follow
- 全员无伤!: 全員無傷! → 完璧な作戦! (that box's line when no life was lost)
- 层数叠加已禁用: 加算数は増加しません → 盟約加算無効化中 (the JP client's label on the bond strip in joint-defense / boss rounds)
- 自动回复: 自動回復 → 自然回復 (the SP type INCREASE_WITH_TIME in the official JP data, as in skill descriptions)
node tools/i18n.mjs check ja --strict: 0 missing, 0 errors.
2026-10-10 00:12:17 +09:00
YinqiMargatroid
996fede8d8
fix: 简化棋盘显示外勤医疗预置角色 ( #315 )
2026-10-09 23:02:43 +08:00
sganggs
f3658a0dd4
0.2.3: prepare follow-up fixes and client features ( #407 , #408 , #410 , #413 , #431 , #435 , #436 , #440 , #444 )
...
Add special-target activation without bypassing attack cadence, cooperative
card preferences and emotes, skill sound banks, per-operator voice choices,
text sizing, install prompts, closed-tab recovery and unanimous setup rerolls.
Retain late deployment elapsed time and resolve echo/counter pulses without
recursive hook overflow. Independent final review remains pending.
Golden: roster-016, roster-035, roster-036, roster-045;
boss-boss_1-pair, boss-boss_3-pair, boss-boss_5-pair, boss-boss_7-pair,
hidden-boss_9-pair; solo-HARD-9-boosted: Lemuen attack cadence.
diy-132: Necras extra activation targets.
coop2-NORMAL-14-standins: cooperative purchase preference and simulation fixes.
hidden-boss_10-solo: echo pulse FIFO resolution.
See DESIGN 28.13-28.24 for assumptions, sources and contributor credit.
2026-10-09 22:55:24 +08:00
YinqiMargatroid
9db9f3ceea
fix: 准备阶段显示外勤医疗预备干员 ( #315 )
2026-10-09 22:53:41 +08:00
YinqiMargatroid
3b57f72704
fix: 外勤医疗预置干员保留初始索敌顺序 ( #315 )
2026-10-09 22:04:28 +08:00
sganggs
314564c139
0.2.3: make browser verification cleanup explicit
2026-10-09 18:58:38 +08:00
sganggs
cc15d003d4
Clean up browser test pipes and scope deliberate outage errors
2026-10-09 18:58:36 +08:00
sganggs
1627774f23
0.2.3: align expanded roster checks and declared impact effects
2026-10-09 18:52:15 +08:00
sganggs
0b0ce4fbd7
Update expanded roster checks and register Clementia impact visuals
2026-10-09 17:46:07 +08:00
sganggs
c166479ff1
0.2.3: mark the integrated development build
2026-10-09 17:38:13 +08:00
sganggs
35637ff03e
Document the 0.2.3 development build and community changes
2026-10-09 17:38:13 +08:00
sganggs
7e1db340e8
0.2.3: add independent browser evidence for held poses
2026-10-09 17:38:12 +08:00
sganggs
6036e6a4ba
Verify held Spine poses and delayed font textures in real Chrome ( #434 )
2026-10-09 17:38:12 +08:00
sganggs
e4e28117bb
0.2.3: integrate guardian healing and mixed skill triggers
2026-10-09 17:32:32 +08:00
sganggs
e86c7c8304
Let charged guardian heals act without enemies and fix mixed S2 triggers ( #406 )
2026-10-09 17:31:42 +08:00
sganggs
c9481c40bb
0.2.3: integrate Lemuen wanted targeting and triggers
2026-10-09 17:29:46 +08:00
sganggs
85b694f206
Fix source-owned Lemuen detection and wanted skill triggers ( #428 )
2026-10-09 17:29:46 +08:00
sganggs
08c93460db
0.2.3: integrate displacement facing correction
2026-10-09 17:16:49 +08:00