0.2.6: the device slabs stay drawn on an official scene (GitHub #569) — 射击台, 特制水上平台 and 封印的地面 lived only in the procedural board's bucket that a scene replaces, so 战场#03's raised tiles by the blue gate were flat and 战场#05(上半)'s water platforms read as open water; buildBoard repeats them into buckets.raised / raisedDecal with sides reaching under the scene's ground and setStage draws just those on a scene (the 'h' high ground is the scenes' own and is not repeated); DESIGN §31.11, client §15; golden: unchanged
This commit is contained in:
1 parent
d8aab0a2db
commit
205f3bb7f7
7 files changed
+99
-8
No files matched your search
@@ -313,3 +313,31 @@ Sources: [PRTS 维什戴尔](https://prts.wiki/w/维什戴尔), the talent's nea
|
||||
combat tile, through the deployment talent and an actual S3 activation), and a solo / pair case — her own free tiles
|
||||
filled, the empty half takes no shadow and the teammate's half does. Normative: DESIGN §3
|
||||
([geometry-time.md](../design/geometry-time.md)); API note: [SIM.md](../SIM.md). Golden: unchanged.
|
||||
|
||||
### 31.11 Device slabs on the official scenes (#569)
|
||||
|
||||
Issue #569 by @A1muE4aY.
|
||||
|
||||
**Seen.** With an official scene on the 3D board, 战场#03's two raised ranged tiles beside the blue gate were drawn flat,
|
||||
while the operators placed on them stood at their raised height. The scene replaced the whole procedural board
|
||||
(`scene.js setStage` skipped its board, glass, decal and pipe buckets), and the raised slabs of the stage devices —
|
||||
射击台 (`platform`, 0.26), 特制水上平台 (`waterPlatform`, 0.2) and 封印的地面 (`sealedFloor`, 0.05, a hazard decal
|
||||
top) — exist only in that board bucket (`layout.js slabDevice`). The scenes do not contain them: they are runtime
|
||||
devices of the stage (`stageDevices`), and the scene geometry has no raised top on those tiles. Affected while a scene
|
||||
is shown: 战场#03 (射击台), 战场#05(上半) (the 16 water platforms of the normal field, 32 on the boss field — the pool read
|
||||
as empty water) and 战场#06(上半) (射击台 and 封印的地面).
|
||||
|
||||
**Now.** `buildBoard` repeats each device slab into `buckets.raised` (tops and sides; a sealed floor's hazard top into
|
||||
`buckets.raisedDecal`), with the side faces reaching `RAISED_FOOT` (0.08) below the tile so no gap shows against the
|
||||
scene's ground (about z 0). With an official scene `setStage` draws only those two buckets of the procedural board, in
|
||||
the board's own materials; without one the board draws the slabs itself as before. The 'h' high ground is not repeated:
|
||||
the scenes model it (act2 m01's plates and act2 m02's sandstone blocks, checked side by side); an earlier draft that
|
||||
also drew our 'h' plates covered them. Units already stood at `tiles.js heightAt`, which includes the device heights.
|
||||
|
||||
**[ASSUMED]** The slabs keep the metal board's plate and side textures: no official prefab of these devices is extracted.
|
||||
|
||||
**Tests.** `test/render/board3d.test.js` (every stage and area: one plate or decal top and four sides per slab device,
|
||||
every vertex on a slab tile at its top or its foot; 战场#03 and #05(上半) have them; act2 m01 / m02 repeat nothing),
|
||||
`test/render/board3d-scene.test.js` (an official scene on 战场#03 keeps the slabs in the board material and nothing else of
|
||||
the procedural board; dropping the scene restores the board; act2 m02 adds no slab mesh). Screenshots of the five
|
||||
affected stages before / after / metal board were compared by hand. Golden: unchanged (client only).
|
||||
Reference in new issue
Block a user