feedback5 WY: flying units hover 1.3 tiles (the client's 0.35 ÷ the standard prefab scale 0.27); the 帝国炮火先兆者 pair is drawn 1.263× taller and 木制瑞印 mirrored, as their official prefabs (from PR #211 by @xcdoge; the owner's decision of 2026-10-06)
Ported by hand from PR #211 by @xcdoge: - render/units.js: FLY_HOVER 0.32 → 1.3, flat (the official fly offset is one model-independent Vector3(0, 0.35, 0) in the client's character space, whose unit is the standard battle-prefab scale 0.27; an official screenshot measures 1.2–1.4 tiles); enemyModelScaleY multiplies the skeleton's Y scale and the head (bar) height, also in the impostor path; a mirrorX model flips on top of the direction flip. The body, its HP bar, damage numbers, projectile hits and skill rings ride `hover`, the shadow stays on the ground; one camera drives the units over the 2D and the 3D board. - tools/build-data.mjs MODEL_STRETCH_Y / MIRRORED_PREFABS → enemies.json modelScaleY / mirrorX; data/enemies.json regenerated offline here (the PR's one-line blob was not taken) — JSON compare: only enemy_1112_emppnt / enemy_1112_emppnt_2 modelScaleY 1.263 and enemy_1196_msfyin mirrorX true. - tools/local-extract/enemy_model_offsets.py (optional, host-side prefab reader) and docs/research/12-flying-visuals-official.md (without the claim that the owner said 「都要」 on 2026-10-05 — the owner's decision of 2026-10-06 is cited; where the quirk enemies appear corrected against 0.2.0's data: 帝国炮火先兆者 is a FLY special enemy of the mode, 帝国炮火中枢先兆者 comes with the bounty 战术特训·飞行III, 木制瑞印 is in no wave). No screenshot or extracted art committed. Tests (from PR #211): test/render/unitview.test.js (FLY_HOVER ≈ 0.35 / 0.27; the same lift for every flyer; a flying view lifts by FLY_HOVER — added here: its body and HP bar ride the lift, its shadow stays on the ground), test/render/playtest6-enemies.test.js (the data keys; the 1.263 aspect and bar height; the mirrored model's x sign); both fail without the renderer change; the 425 render unit tests pass. Docs: DATA §9, ASSETS, design client.md, research 00 / 12, DESIGN §25.13.5 and the §25.10 table. Golden unchanged (drawing only; the sim reads neither field).
This commit is contained in:
1 parent
4e58481706
commit
66ae86b969
12 files changed
+703
-17
No files matched your search
+35
-3
@@ -23,7 +23,8 @@ what stays [ASSUMED] and the questions left to the owner → §25.10. The closin
|
||||
2026-10-06 (望's stock, skill triggers through summon areas, the 突袭 landing, GitHub #148) and the items the sources
|
||||
settled (泥岩's 闭锁; 忍冬, 深靛, 阿) → §25.11; release packaging and the asset manifest (the 自选 voices, the summons
|
||||
with no Spine model) → §25.12; round 18 — 拟态物质 at the copy cap (GitHub #207), 华法琳's 7 / 14 (GitHub #175, PR #192),
|
||||
a merged elite 拉普兰德 as a new one (GitHub #169), the leader pool per player alive (PR #209) → §25.13.
|
||||
a merged elite 拉普兰德 as a new one (GitHub #169), the leader pool per player alive (PR #209), the flying lift and two
|
||||
model quirks (PR #211) → §25.13.
|
||||
|
||||
Decisions of the owner: 2026-10-04 — the server stays on plain `node:http` + `ws`, no web framework (§25.1);
|
||||
2026-10-05 — the 补位 plan (§25.3); the 自选编队 rules, the collab operators out of the pool, ISW-A refused (§25.4);
|
||||
@@ -34,7 +35,8 @@ does not own shows as its stand-in everywhere (the owner's recall of the officia
|
||||
kept (§25.7.2); 望's placed 棋子 count in her stock, skills that act through summons cast on an enemy in a summon's area,
|
||||
a melee 突袭 member lands where it can block (§25.11); 华法琳's granted trait at the data's 7 / 14, replacing the 12 / 24
|
||||
lock (§25.13.2); a newly merged elite 拉普兰德 counts as a new 拉普兰德 (§25.13.3); the leader pool = bloodPoint × the players
|
||||
alive at the fight's start, adopting PR #209 and replacing 「保持固定血量」 (§25.13.4).
|
||||
alive at the fight's start, adopting PR #209 and replacing 「保持固定血量」 (§25.13.4); flying units at 1.3 tiles and the two
|
||||
model quirks of PR #211 (§25.13.5).
|
||||
|
||||
### 25.1 Refactor and tooling: the big files split, golden results, lint, types, import boundaries (refactor plan; owner's decision of 2026-10-04: no web framework) — `server/http/`, `server/match/match/`, `server/match/player/`, `server/sim/battle/`, `content/enemies/`, `kits/ops/`, `public/js/ui/gameLogic/`, `render/fx/`, `render/app/`, `screens/game/`, `tools/golden.mjs`, `tools/check-imports.mjs`, `eslint.config.js`, `jsconfig.json`
|
||||
|
||||
@@ -665,6 +667,7 @@ its tile, §18.1; §25.9.2). Where a 0.1.4 change met 0.2.0 work:
|
||||
| 华法琳's granted trait stops at the data's 7 / 14 (PRTS 3/27: lowered from 12 / 24; GitHub #175, PR #192, §25.13.2) | the owner, 2026-10-06 (replaces the 12 / 24 lock) |
|
||||
| A newly merged elite 拉普兰德 is a new 拉普兰德: +8 on its first manual refresh of the round (GitHub #169, §25.13.3) | the owner, 2026-10-06 (was [ASSUMED]: the copies' count carried) |
|
||||
| The leader pool = bloodPoint × the players alive when the fight starts, solo × 1 (PR #209, §25.13.4) | the owner, 2026-10-06 (replaces 「保持固定血量」; config restores it) |
|
||||
| Flying units hover 1.3 tiles; 帝国炮火先兆者 ×2 drawn 1.263× taller, 木制瑞印 mirrored (PR #211, §25.13.5) | the owner, 2026-10-06 |
|
||||
|
||||
Settled by the sources in W5V, no longer questions: 泥岩 S3's dormancy is 闭锁 — she lets go and blocks nobody (PRTS,
|
||||
§25.11.4); 阿 S2 / S3 keep the data's DEFAULT, 忍冬 S2's and 深靛 S1's notes are what the kits do (§25.11.5).
|
||||
@@ -837,7 +840,7 @@ answers and checked the remaining items against PRTS and the client (W5V's commi
|
||||
orphans compared case-insensitively), `test/assets.test.js` (the empty-array rule). Docs: docs/DEPLOY.md §7, the
|
||||
README download section (full and lite), docs/ASSETS.md.
|
||||
|
||||
### 25.13 Round 18: GitHub #207, #175, #169 and the community PRs #192, #209, #211 (W5Y; the owner's decisions of 2026-10-06) — `server/match/builtinMeta.js`, `server/match/bot.js itemTarget`
|
||||
### 25.13 Round 18: GitHub #207, #175, #169 and the community PRs #192, #209, #211 (W5Y; the owner's decisions of 2026-10-06) — `server/match/builtinMeta.js`, `server/sim/content/garrisons/battle.js`, `server/match/player/acquire.js`, `server/match/gamedata.js bossPoolShareOf`, `render/units.js FLY_HOVER`
|
||||
|
||||
The round-18 triage of the open issues and pull requests left three bugs and three community changes for 0.2.0; the
|
||||
owner decided the open questions on 2026-10-06. Each item is one commit (W5Y) naming the golden scenarios it moved; a
|
||||
@@ -946,3 +949,32 @@ ported PR credits its author there and here.
|
||||
line), `test/match/playtest6-bosspool.test.js` (its 5 % knob halved to keep the two-player pool's size: that test is
|
||||
about the pool's arithmetic). Docs: PLAYING §7, DATA (`bossHpScale`), META, BALANCE, SIM, the
|
||||
design (engine.md 限伤, network.md boss rounds), the §20.9 / §20.10 records, research 00 / 01 / 08.
|
||||
|
||||
#### 25.13.5 Flying units hover 1.3 tiles; the 帝国炮火先兆者 pair is drawn 1.263× taller and 木制瑞印 mirrored (PR #211 by @xcdoge; the owner's decision of 2026-10-06) — `render/units.js FLY_HOVER / enemyModelScaleY` (the mirror flip), `tools/build-data.mjs MODEL_STRETCH_Y / MIRRORED_PREFABS`, `tools/local-extract/enemy_model_offsets.py`, docs/research/12-flying-visuals-official.md
|
||||
|
||||
- **Seen** (player report of 2026-10-05, PR #211): 无人机等飞行单位位置明显偏低 — every flyer drew ~1 tile too low; the two
|
||||
妖怪 drones had their art under the tile (the flat lift was 0.32 tiles).
|
||||
- **Official** (read from the client by the PR's author, research 12): the fly offset is one model-independent constant,
|
||||
`Vector3(0, 0.35, 0)` set by `CharacterAnimator`'s constructor and added while flying; 0.35 is in the client's
|
||||
character space, whose unit is the standard battle-prefab scale 0.27 — 0.35 / 0.27 ≈ 1.3 tiles, and an official
|
||||
screenshot measures 1.2–1.4. The battle prefabs carry no per-model vertical correction for flyers. The same prefab
|
||||
sweep found two model quirks: the 帝国炮火先兆者 pair's `Graphic` scale (0.19, 0.24, 0.24) (sy / sx 1.263) and
|
||||
木制瑞印's negative X scale (a mirrored model).
|
||||
- **Decision**: the owner's decision of 2026-10-06 — take all of it (the lift and both quirks).
|
||||
- **Now** (ported by hand; 0.2.0 regenerated its own data/enemies.json offline — the JSON compare shows only
|
||||
`enemy_1112_emppnt.modelScaleY`, `enemy_1112_emppnt_2.modelScaleY` 1.263 and `enemy_1196_msfyin.mirrorX`; the PR's
|
||||
one-line enemies.json was not taken): `FLY_HOVER` 0.32 → 1.3, flat; `enemyModelScaleY` multiplies the skeleton's Y
|
||||
scale and the head (bar) height, also in the impostor path; a mirrored model flips on top of the direction flip. The
|
||||
body, its HP bar, damage numbers, projectile hits and skill rings ride the lift; the shadow stays on the ground tile;
|
||||
range highlights are tiles; one camera drives the Pixi units over both the 2D and the three.js board, so both boards
|
||||
show it. Research 12 ported without the PR's claim that the owner had said 「都要」 on 2026-10-05, and corrected where
|
||||
the quirk enemies appear: 帝国炮火先兆者 is a FLY special enemy of the mode, 帝国炮火中枢先兆者 comes with the bounty
|
||||
战术特训·飞行III, 木制瑞印 is in no wave of the mode. No screenshot or extracted art is committed; the extractor stays
|
||||
optional.
|
||||
- [ASSUMED]: the character-space → tile factor (1 / 0.27; the screenshot agrees within ±0.2 tiles).
|
||||
- Golden: unchanged (drawing only; the sim reads neither field). Tests (from PR #211): `test/render/unitview.test.js`
|
||||
(FLY_HOVER ≈ 0.35 / 0.27; the same lift for every flyer, the 妖怪 drones under the tile at the old 0.32; a flying view
|
||||
lifts by FLY_HOVER — added here: its body and HP bar ride the lift, its shadow stays on the ground),
|
||||
`test/render/playtest6-enemies.test.js` (exactly the two 先兆者 stretch and 木制瑞印 mirrors; the 1.263 aspect and the bar
|
||||
height; the mirrored model's opposite x sign). Docs: DATA §9 (`modelScaleY`, `mirrorX`), ASSETS (model size, flying
|
||||
units), research 00 / 12.
|
||||
Reference in new issue
Block a user