Release Healer Man 0.1.4
This commit is contained in:
@@ -4,6 +4,99 @@ This file is the durable record of runtime behavior, regressions, and the
|
||||
evidence required before calling a visual bug fixed. Update it whenever scene,
|
||||
camera, input, physics, mob-rendering, or asset-loading code changes.
|
||||
|
||||
## 2026-08-17 authentic combat VFX and audio - COMPLETE
|
||||
|
||||
- Player, party, and enemy combat actions now publish transient presentation
|
||||
phases without changing combat resolution. The scene consumes those events
|
||||
through bounded pooled effects (High: 64 systems / 8,192 particles; Low: 24
|
||||
systems / 2,048 particles with no effect lights), while Off skips visual
|
||||
spawning. Actor-group switches clear live systems and voices immediately.
|
||||
- The generated source catalog covers 6,383 runtime spell/skill IDs: 5,144
|
||||
resolve to preserved WoW/Ascension/RuneWaker descriptors and the remaining
|
||||
1,239 are explicit school/delivery fallbacks. All 38 referenced source sound
|
||||
paths resolve to 32 deduplicated packaged clips (6,365,096 bytes); the audit
|
||||
reports no missing packaged assets.
|
||||
- Owner settings migrated to local profile database v3 and remain independent
|
||||
of character gameplay settings. Options exposed High/Low/Off, independent
|
||||
Player/Party/Enemy visual switches, and independent audio mute/volume rows.
|
||||
The existing master volume also controls combat and Manastorm cues.
|
||||
- Live Wailing Caverns verification entered through the offline roster as a
|
||||
Human Priest healer. The entrance fight visibly presented party melee/ranged
|
||||
effects and enemy actions. A High-quality Smite capture showed the player
|
||||
cast system alongside party effects; Low-quality Lesser Heal showed the
|
||||
reduced healing system; Off-quality Shadow Word: Pain showed combat state,
|
||||
aura/combat text, and damage continuing without spawned VFX. Defaults were
|
||||
restored to High after the pass.
|
||||
- At a 390 x 844 mobile viewport, the Options dialog measured 362 px wide with
|
||||
345 px of scroll content and no document overflow. Player frame, party list,
|
||||
minimap, and action bar all remained inside the viewport. A discovered narrow
|
||||
Options text/control overflow was fixed by allowing grid labels to shrink and
|
||||
moving combat-audio controls onto a full-width narrow-screen row.
|
||||
- Verification passed: combat-effects parser/coverage audit **4/4**, focused
|
||||
persistence/event/cue/UI suites **68/68**, full Vitest **118 files / 674
|
||||
tests**, TypeScript, production build, and Android web build. Both builds
|
||||
retained the existing informational large-chunk advisory; the browser console
|
||||
had no errors and one existing third-party initialization deprecation warning.
|
||||
- Evidence: `playtest-artifacts/2026-08-17-combat-presentation/desktop-high-combat.png`,
|
||||
`desktop-player-smite.png`, `desktop-low-heal.png`, `desktop-off-combat.png`,
|
||||
`desktop-options.png`, `mobile-combat-controls.png`, and
|
||||
`mobile-high-combat.png`.
|
||||
- Coverage limit: browser automation exercised Web Audio creation, group
|
||||
routing, mute, volume, and authentic clip loading but cannot judge perceived
|
||||
loudness or spatial balance; that final acoustic judgment still requires a
|
||||
listening pass on physical desktop/mobile speakers.
|
||||
|
||||
## 2026-08-17 dungeon proximity aggro and range overlay - COMPLETE
|
||||
|
||||
- Idle dungeon enemies now check the living player and party positions during
|
||||
the low-frequency combat tick. Crossing a mob's radius engages its complete
|
||||
linked pack through the normal threat path, anchors each member at its pull
|
||||
position, and seeds initial threat on the nearest actor who crossed the line.
|
||||
- Normal enemies default to a 16-unit aggro radius and bosses to 20 units;
|
||||
creature definitions can override either value. Proximity uses full 3D
|
||||
distance so vertically overlapping dungeon floors do not pull one another,
|
||||
while the existing planar combat leash continues to support uneven terrain.
|
||||
- Options now includes `Mob aggro ranges`, defaulting to Off and persisting with
|
||||
the rest of the account gameplay settings. When enabled, idle dungeon mobs
|
||||
render restrained orange world-space boundaries above uneven terrain. Rings
|
||||
disappear once their mob engages and are never rendered in Manastorm.
|
||||
- Focused verification passed: `src/game/combatStore.test.ts` and
|
||||
`src/game/mobAi.test.ts`, **2 files / 60 tests**. `npx tsc -b --pretty false`
|
||||
passed, and `npx vite build` passed with 960 transformed modules.
|
||||
- Live browser verification entered Wailing Caverns as a healer through the
|
||||
offline roster. With the party left in Defend and no player attack issued,
|
||||
the entrance pack automatically acquired and damaged Garrick. The Options
|
||||
dialog showed the new setting Off by default; matched scene captures then
|
||||
confirmed visible range rings when On and their removal when toggled Off.
|
||||
- The browser console contained no errors and one existing third-party
|
||||
initialization deprecation warning. The local Vite host separately recorded
|
||||
the known optional `/content/manifest.json` proxy refusal because the content
|
||||
server on port 4173 was not running; packaged dungeon play was unaffected.
|
||||
|
||||
## 2026-08-17 Kresh cliff-pull aggro regression - COMPLETE
|
||||
|
||||
- Reproduced the reported reset with a deterministic combat-store regression:
|
||||
Kresh registers at one end of his long patrol, moves to a later patrol point,
|
||||
takes damage while the player is falling well above him, and advances combat
|
||||
after the player reaches the lower grotto.
|
||||
- Roaming mobs now anchor their leash at their runtime position when a new pull
|
||||
starts instead of retaining the position where their model first mounted.
|
||||
Aggro leash eligibility uses planar dungeon distance, matching the existing
|
||||
mob-AI rule, while attack reach still includes vertical separation. A real
|
||||
horizontal leash break continues to evade and restore the encounter.
|
||||
- Focused verification passed: `src/game/combatStore.test.ts` and
|
||||
`src/game/mobAi.test.ts`, **2 files / 58 tests**. `npm run build` also passed,
|
||||
including TypeScript, 956 transformed Vite modules, and the KTX2 audit of
|
||||
11,839 compressed textures with zero fallbacks.
|
||||
- Production-preview smoke testing entered Wailing Caverns through the offline
|
||||
roster, rendered the full dungeon/HUD/party view, issued the Attack order,
|
||||
and observed live enemy damage on the tank. This checkout lacks the optional
|
||||
local playable-character and creature model packs, so the documented
|
||||
procedural fallbacks and their asset warnings were visible during this pass.
|
||||
- Coverage limit: the exact cliff jump was validated by the deterministic
|
||||
combat-state regression rather than by manually traversing from the entrance
|
||||
to Kresh during the browser smoke test.
|
||||
|
||||
## 2026-08-16 responsive jump and natural teammate movement - COMPLETE
|
||||
|
||||
- Added the grounded single-jump path for Space and controller L3, including a
|
||||
|
||||
Reference in New Issue
Block a user