forked from phenom/healer-man
Update Healer Man server
This commit is contained in:
1 parent
6114a2295f
commit
69809f7228
593 files changed
+903643
-40774
No files matched your search
@@ -0,0 +1,152 @@
|
||||
# WoW dungeon texture and lighting review — 2026-10-06
|
||||
|
||||
## Coverage and player access
|
||||
|
||||
Three GPT-6 Luna agents at extra-high reasoning reviewed texture imports,
|
||||
lighting inheritance, and shared graphics access. WoW and RoM both use
|
||||
`ProductionDungeon`, `prepareDungeonMaterial`, `applyDungeonMeshGraphics`, and
|
||||
the renderer-scoped KTX2 loader. The Options panel exposes render resolution,
|
||||
1×/4×/16× filtering, Off/Standard/High shadows, and ambient fill for both sources.
|
||||
High follows the camera and enables imported environment/creature shadow casters;
|
||||
Standard retains the lighter explicit scene-object caster policy. Original
|
||||
client lighting/lightmaps are not reconstructed by these controls.
|
||||
|
||||
The isolated asset review loaded all 54 WoW source environments and the default
|
||||
Cellblock Rush slice, using shipped GLB/KTX2 data and production material,
|
||||
filtering, asset-resolution, and directional-light helpers. All 55 entries
|
||||
loaded without runtime errors; every inspected texture received the supported
|
||||
16× filtering level, and High light targets followed the camera. The run
|
||||
generated 271 captures and ten review sheets under
|
||||
`artifacts/playtest/wow-environment-quality/`. Entrance, reverse-entrance,
|
||||
midpoint and final boss positions are asset QA; they do not establish traversal,
|
||||
combat, collision, or full room-by-room coverage.
|
||||
|
||||
## Lighting correction
|
||||
|
||||
`materializeBiteSizedLayout` previously inherited presentation from its fallback
|
||||
baseline even when a randomized/custom selection used a different dungeon.
|
||||
It now uses the selected source's complete presentation, including local point
|
||||
lights, when that baseline belongs elsewhere. Matching baselines retain their
|
||||
deliberate tuning. Explicit `contentSourceDungeonId` takes precedence over the
|
||||
ID-based fallback. The existing six WoW palettes and reviewed Stockade lighting
|
||||
remain the full-source policy.
|
||||
|
||||
## Texture and geometry safeguards
|
||||
|
||||
The WoW optimizer used the default automatic texture/simplification pass and
|
||||
an explicit 2048-pixel texture cap. It now disables both mesh simplification
|
||||
and automatic texture compression/resizing before the separate KTX2 encoder,
|
||||
matching the source-preservation boundary established for RoM. Meshopt and
|
||||
instancing remain enabled. A final packing pass after texture encoding retains
|
||||
`EXT_meshopt_compression`, which the texture CLI otherwise removes. An actual
|
||||
CLI fixture retains a 4096×8 image and
|
||||
1,152 atlas triangles; its simplification control demonstrates topology loss.
|
||||
|
||||
`scripts/dungeon-pipeline/audit-wow-visual-quality.mjs` compares shipped visuals
|
||||
with canonical staged conversion inputs. Its report records image dimensions,
|
||||
codec/role/sampler inventory, source-to-shipped UV metrics, and textured versus
|
||||
untextured material coverage. The authored Wailing Caverns runtime visual is
|
||||
separate from its generated campaign package and must be audited at
|
||||
`src/assets/game/dungeons/wailing-caverns/wailing-caverns-visual.glb`.
|
||||
|
||||
Shadowfang Keep was the substantial source-to-shipped topology regression:
|
||||
397,882 textured triangles versus 465,796 in the conversion input, with 445
|
||||
additional UV-degenerate and 616 additional rank-collapsed triangles. Its
|
||||
bounded repair restores 465,649 measured textured triangles and reduces those
|
||||
added defects to 23 and one, respectively. Remaining differences include
|
||||
packing/quantization tolerances and source-authored UV issues. All 287 texture
|
||||
payloads and dimensions are retained. The final repair is 8,566,408 bytes versus
|
||||
15,987,464 before (about 46% smaller), with the same 103 GPU-instancing nodes.
|
||||
The source-pinned recipe simplifies only untextured `ADT_Terrain` and
|
||||
`ADT_Liquid_B2` fallback primitives, enforcing a 380,000-triangle ceiling.
|
||||
It retains 370,077 such triangles versus 360,207 previously; every textured
|
||||
primitive accessor and source image hash remains unchanged before optimization.
|
||||
Normal Shadowfang regeneration uses this same preprocessor. Collision and
|
||||
navigation are outside this visual fix.
|
||||
|
||||
The installed local visual and regenerated descriptors agree on SHA-256
|
||||
`2c562fb61596a536d728385c4f2bdfdc3230f4f84ef40875b9a568e18a82ef9d`.
|
||||
All 26 collision GLBs and navigation retained identical hashes across the
|
||||
publication step. The asset review then reloaded that installed visual.
|
||||
|
||||
The fully restored source candidate remains a diagnostic artifact: although
|
||||
smaller after packing, it restored unnecessary untextured terrain and increased
|
||||
the sampled rendered triangle count nearly fourfold. The accepted bounded
|
||||
version draws only 7.5–9.8% more triangles than before at the reviewed entrance,
|
||||
Springvale and Arugal viewpoints, with unchanged draw calls (188/131/208) and
|
||||
about 60 FPS in 3-second Edge samples. This is a capped desktop asset-renderer
|
||||
sample, not evidence for actors, physics, sustained gameplay or mobile headroom.
|
||||
The comparison lives under
|
||||
`artifacts/playtest/wow-environment-quality/shadowfang-performance/`.
|
||||
|
||||
## Remaining visual limits
|
||||
|
||||
The audit resolves all 54 actual runtime visuals, including authored Wailing
|
||||
Caverns, with 8,099 KTX2 image entries and no fallback images. Canonical
|
||||
pre-optimization inputs are available for 53 environments; Wailing lacks that
|
||||
matching recovery input. All 7,980 source-matched image dimensions are retained,
|
||||
with no downsized image or 2048-cap hit. These measurements compare conversion
|
||||
inputs, not the raw client image pixels.
|
||||
|
||||
The source comparison found no fleet-wide texture downsize. The current WoW
|
||||
base-color inventory uses ETC1S KTX2; RoM's selective UASTC exceptions are
|
||||
source-specific and have not been indiscriminately applied to WoW. Preserving
|
||||
dimensions does not establish lossless compression or restore native detail
|
||||
that was absent from a conversion input.
|
||||
|
||||
Zul'Farrak, Ahn'kahet, Pit of Saron, and parts of the Caverns of Time captures
|
||||
show broad flat or incomplete-looking terrain. Zul'Farrak's source and shipped
|
||||
images retain all 382 dimensions, with matching textured-triangle counts.
|
||||
Both contain 1,374,820 untextured triangles, dominated by `ADT_Terrain` and
|
||||
`ADT_Liquid_B2` materials. This is a pre-existing conversion/terrain-material
|
||||
gap rather than a texture-resolution failure in the optimizer. Some boss
|
||||
viewpoints face nearby geometry or show empty space, so those captures cannot
|
||||
certify the surrounding room. Preserve the earlier findings in
|
||||
`dungeon-pipeline/WOW_ENVIRONMENT_REVIEW.md`.
|
||||
|
||||
## Verification and reproduction
|
||||
|
||||
The combined focused scene, graphics, lighting, water and bite-sized suite
|
||||
passed 118 tests. The pipeline fixtures passed five checks covering source
|
||||
dimension/topology preservation, safe material coverage, selective fallback
|
||||
simplification and descriptor preflight. The water loader includes a type-only
|
||||
clarification of GLTFLoader's primitive association index, which the installed
|
||||
`GLTFReference` declaration omits.
|
||||
|
||||
The normal Options smoke used a frozen copy of the last available production
|
||||
bundle. It entered Cellblock Rush, observed Bazil Thredd's intro, selected 200%
|
||||
resolution, 16× filtering and High shadows/fill, and carried the settings into
|
||||
Forsaken Abbey. Canvas scales were 1.5 by default and 2.0 for both High entries,
|
||||
with no page errors. Evidence and exact bundle identities are in
|
||||
`artifacts/playtest/graphics-options/run-wow-access-2026-10-06/`. That bundle is
|
||||
not proof of this task's new source lighting correction.
|
||||
|
||||
The final freshly built bundle was then frozen and checked separately in
|
||||
`artifacts/playtest/graphics-options/run-wow-current-build-2026-10-06/`.
|
||||
Its entry is `index-BvFyaleo.js`, built at `2026-10-06T17:39:29.274Z`.
|
||||
It also selected Bazil Thredd, verified the four quality controls and carried
|
||||
200% resolution into Forsaken Abbey with zero page errors. Root inspected the
|
||||
Options, WoW High and RoM High captures; textured surfaces and actor silhouettes
|
||||
are visible. This is an entry/settings smoke rather than encounter validation.
|
||||
|
||||
The final normal production build passes TypeScript, Vite, precompression and
|
||||
release-bundle verification. Texture/performance prebuild audits pass, including
|
||||
106 visuals, 12,892 KTX2 images, zero fallback textures, and no performance-audit
|
||||
regressions. The release candidate hygiene check passes including untracked
|
||||
files. Earlier concurrent source errors were resolved before this final build.
|
||||
This pass does not deploy a production build.
|
||||
|
||||
```text
|
||||
node scripts/dungeon-pipeline/audit-wow-visual-quality.mjs
|
||||
node --test scripts/dungeon-pipeline/optimize-environment.test.mjs scripts/dungeon-pipeline/audit-wow-visual-quality.test.mjs scripts/dungeon-pipeline/build-shadowfang-selective-visual.test.mjs scripts/dungeon-pipeline/apply-wow-visual-optimization.test.mjs
|
||||
node scripts/dungeon-pipeline/serve-environment-preview.mjs
|
||||
node scripts/playtest-wow-environments.cjs
|
||||
node scripts/dungeon-pipeline/make-environment-review-sheets.mjs
|
||||
node scripts/playtest-wow-visual-performance.cjs
|
||||
node scripts/playtest-graphics-options.cjs --output-dir artifacts/playtest/graphics-options/<new-run>
|
||||
npm run release:check
|
||||
```
|
||||
|
||||
The preview server disables file watching so unrelated native build outputs
|
||||
cannot terminate it. `--resume` continues incomplete asset captures; specifying
|
||||
dungeon IDs refreshes those entries while preserving the other results.
|
||||
Reference in new issue
Block a user