forked from phenom/healer-man
Release Healer Man 0.1.38
This commit is contained in:
1 parent
361734bc41
commit
b417b7c3c3
48 files changed
+1982
-90
No files matched your search
@@ -2558,3 +2558,207 @@ Vite's existing large-chunk advisory remains informational.
|
||||
checks passed. Browser error logs were empty. Physical Thor hardware and a
|
||||
multiplayer session were not exercised; the new per-party totals consume
|
||||
this client's combat stream. No hosted release was published.
|
||||
|
||||
## Player-only revival during ongoing party combat — September 12, 2026
|
||||
|
||||
- In normal offline dungeons, a defeated player with living companions and an
|
||||
engaged, living enemy can revive at the entrance or an unlocked boss checkpoint
|
||||
without resetting the pull or relocating/restoring companions. The player-only
|
||||
path advances the relocation revision, not the party or encounter reset signals.
|
||||
Recall remains an explicit, optional command. Full-wipe recovery is unchanged;
|
||||
Manastorm's shared-charge resurrection remains separate.
|
||||
- Player recovery restores health/resources, clears corpse animation, casts,
|
||||
control, shields, harmful player auras, and player-targeted periodic effects.
|
||||
It preserves NPC/enemy actor snapshots, positions, health, targets, casts,
|
||||
periodic effects on other actors, and ongoing cooldowns. The existing checkpoint
|
||||
chooser is retained; its defeat-prompt copy explains that companions keep fighting.
|
||||
- Nine dedicated regressions cover trash/boss combat, selected checkpoints,
|
||||
unchanged companion/enemy snapshots and Recall revisions, continued simulation,
|
||||
periodic-effect isolation, full-wipe fallback, canonical actor health, and invalid
|
||||
requests. A prompt-rendering regression checks the optional-Recall explanation.
|
||||
Final Vitest validation passed 239 files and 1,511 tests, with six existing skips.
|
||||
Test fixtures use a fixed combat clock and respect surviving crowd-control timers.
|
||||
- Localhost Stockades smoke testing at 1280x720 showed the rendered dungeon,
|
||||
party frames, unchanged Recall control, and an active party fight with increasing
|
||||
damage and declining tank health. Session screenshots captured the entrance and
|
||||
combat HUD. Startup navigation initially timed out and recovered after reload;
|
||||
browser error logs were empty after recovery. A live player-death/mid-fight
|
||||
checkpoint-revival replay was not achieved, so spatial proof of that exact
|
||||
sequence is not claimed. Multiplayer and physical Thor hardware were not tested.
|
||||
- Production TypeScript/Vite compilation, static compression, release-bundle
|
||||
verification, and prebuild texture/performance audits passed. Existing chunk
|
||||
advisories remain. No hosted release was published. Character rendering,
|
||||
camera/input, dungeon geometry, lighting, and unrelated in-progress party damage
|
||||
changes were not edited for this request.
|
||||
|
||||
## RoM dungeon entry and level-up crash — September 12, 2026
|
||||
|
||||
- Reproduced in the local PC browser with an offline RoM Human Priest. Stockades
|
||||
loaded at level 1, then the first level-up unmounted the entire app. The console
|
||||
recorded `Unsupported party specialization: rom-champion:Primary` from
|
||||
`partyStore.syncLevel` through `PartyBridge`. Initial party creation already
|
||||
skipped WoW talents for RoM classes; level synchronization did not. The same
|
||||
call also runs during entry when the saved character level replaces the
|
||||
previous combat level.
|
||||
- Level synchronization now retains empty, frozen talent ranks for RoM
|
||||
companions, matching party creation. Other classes still receive their
|
||||
existing talent plans. Two regressions failed with the original exception
|
||||
before the fix, then passed. They cover all ten RoM companion classes, all
|
||||
three player roles, levels 1/2/10/70 and downward synchronization, stable
|
||||
identities, fallen companions, and living health/resource ratios.
|
||||
- After reload, the same saved level 2 Priest entered Stockades successfully,
|
||||
fought with the RoM party, and reached level 3 without losing the scene. The
|
||||
same character then entered Forsaken Abbey and progressed from level 3 to 6.
|
||||
At the 74-second check after Attack, the scene and HUD remained present,
|
||||
combat continued, and the renderer reported about 60 FPS. No new browser
|
||||
errors or context-loss messages appeared. Rapier initialization and multiple
|
||||
active KTX2-loader warnings occurred during these development sessions.
|
||||
- Screenshots and timestamped browser evidence are in
|
||||
`artifacts/rom-dungeon-level-sync/`. Screenshot capture retained the browser
|
||||
backend's existing scaling issue; DOM progression and renderer counters
|
||||
supplemented the rendered dungeon/body/equipment checks. This was an offline
|
||||
PC smoke test, not full dungeon completion, multiplayer, or physical Android
|
||||
validation. The temporary desktop viewport was restored and test tab closed.
|
||||
- All 54 focused party, talent-plan, and RoM combat tests passed. The production
|
||||
TypeScript/Vite build, prebuild texture/performance audits, compression, and
|
||||
release-bundle verification passed with existing chunk advisories. The final
|
||||
release-candidate check includes untracked changes. No hosted release was
|
||||
published. Existing combat, death/respawn, AI, and HUD work was preserved.
|
||||
|
||||
## NPC party damage — September 12, 2026
|
||||
|
||||
- Reproduced Garrick, Arms, and Fury dealing zero damage in level 5/20
|
||||
sustained fights: Rage starts at zero, companion Rage regeneration is
|
||||
disabled, and the ability loop had no regular weapon swings. Priests,
|
||||
hunters, and warlocks also dealt zero because they repeatedly refreshed
|
||||
their DoTs before the first tick could fire.
|
||||
- Added independent weapon swings for melee companions and hunters, with
|
||||
Rage earned from successful hits. Swings respect range, visibility, line
|
||||
of sight, facing, control, casting, rejoining, and party orders. Maintained
|
||||
DoTs and debuffs now allow other abilities to run between applications;
|
||||
utility taunts/interrupts/control require a useful combat context.
|
||||
- Self-centered area attacks now validate their radius and hit around the
|
||||
caster. Companion direct and periodic amounts use the existing spell
|
||||
scaling calculation, including spell base damage and equipment bonuses.
|
||||
- The new audit runs 30-second fights for all 26 WoW party templates at
|
||||
levels 1, 3, 5, 20, and 80. Every template produces positive damage from
|
||||
actual abilities, beyond weapon swings, with resources within bounds.
|
||||
Separate regressions cover zero-Rage short pulls, swings during the GCD,
|
||||
Stop, Thunder Clap targeting, and zero-coefficient spell base damage.
|
||||
- In an offline PC Stockades run, the saved level 3 Priest commanded Attack
|
||||
without player attacks. Garrick dealt 6 damage in the first three seconds
|
||||
and 80 damage by approximately 20 seconds; Kael dealt 147, Korra 220, and
|
||||
Ash 146 at that check. The party defeated enemies and the player reached
|
||||
level 4. The saved party's Garrick is a Tauren; the class/role fix also
|
||||
applies to Dwarf Garrick. This was a PC combat smoke test, not physical
|
||||
Thor, multiplayer, or a full dungeon completion test.
|
||||
- `artifacts/npc-damage/stockades-warrior-damage.png` shows the rendered
|
||||
dungeon, player body/equipment, and active DPS rows for both warriors.
|
||||
A paused accessibility snapshot records totals. No browser errors were
|
||||
reported. The temporary browser tab was closed after verification.
|
||||
- All 310 focused combat, party, death/respawn, and DPS tests passed. The
|
||||
production build, texture/performance audits, compression, bundle
|
||||
verification, and release candidate check passed. Existing concurrent
|
||||
party-level synchronization, death/respawn, catalog, and server changes
|
||||
were preserved.
|
||||
|
||||
## Dungeon release stages and issue reports — September 12, 2026
|
||||
|
||||
- The complete 84-dungeon browser now sorts Full Release, Beta, then Alpha,
|
||||
alphabetically within each stage. Stormwind Stockade is the only Beta;
|
||||
the other 83 entries are Alpha. WoW/RoM category tabs remain available.
|
||||
- Dungeon pause menus can submit a nonempty issue comment of up to 500
|
||||
characters to the shared SQLite report database. Connected guest players
|
||||
can submit reports too. New reports are stamped Submitted by the server;
|
||||
comments remain in the form after a failed network request.
|
||||
- View Reports on the main menu shows all reports, including Closed, by
|
||||
default. Status and Dungeon filters combine, and Clear filters restores
|
||||
the complete list. GM accounts can select Submitted, In-Progress,
|
||||
Testing Fixes, or Closed, use Close report, and reopen closed reports.
|
||||
The server rejects non-GM updates and stale revisions.
|
||||
- Dungeon rows with Submitted, In-Progress, or Testing Fixes reports have
|
||||
an orange border and a top-right open-report count. Closing the final
|
||||
open report removes both treatments. Counts refresh when opening the
|
||||
browser, returning to the app, and every 30 seconds while visible.
|
||||
- A headless Edge browser exercised an actual Stockades entry, its pause
|
||||
report form, a 500-character submission, whitespace rejection, failed
|
||||
submission/retry, the shared player report list, all GM status changes,
|
||||
combined filters, and badge removal. Keyboard Back and controller filter
|
||||
navigation/GM status changes passed. No browser page errors occurred.
|
||||
- Visually inspected the form, orange dungeon badge, player report list,
|
||||
and GM report screens at 1280×800 and 390×844. Long comments wrap and the
|
||||
mobile report screen has no horizontal overflow. Evidence and the test
|
||||
result are in `playtest-artifacts/dungeon-reports/`. This validates the
|
||||
reporting flow; it is not an exhaustive dungeon completion or physical
|
||||
Android/Thor playtest.
|
||||
- All 43 focused report, catalog, store, shell, and display tests passed
|
||||
(five existing shelved-mode tests skipped), along with all 61 server tests.
|
||||
The 32 party AI/store/sustained-damage checks also passed after preserving
|
||||
immutable cast metadata across companion channel updates to resolve three
|
||||
concurrent combat type-check errors. A separate, in-progress expanded
|
||||
class-damage audit failed its level-1 CoA player case for Witch Doctor
|
||||
and Sun Cleric; those combat behaviors are outside the reporting change.
|
||||
- The final production TypeScript/Vite build, prebuild texture/performance
|
||||
audits, compression, and release-bundle verification passed with existing
|
||||
chunk advisories. `npm run release:check` passed after a transient Windows
|
||||
Git crash, including untracked files. No hosted release was published.
|
||||
|
||||
## CoA and RoM class damage audit — September 12, 2026
|
||||
|
||||
- Ran 342 sustained, 30-second combat scenarios: all 21 CoA classes as player
|
||||
characters and synthetic NPC slots at levels 1, 2, 4, 9, 20, and 80; all 10
|
||||
RoM classes in both runtimes at levels 1, 20, and 70; and the actual shipped
|
||||
RoM companion templates with their assigned roles and starting resources at
|
||||
those three levels. All scenarios passed. CoA expeditions currently use WoW
|
||||
companion templates, so the synthetic CoA slots exercise class execution
|
||||
without implying that a CoA companion roster has been added.
|
||||
- Found and fixed companion spacing based only on WoW class names. RoM and
|
||||
CoA casters now use their class metadata and learned offensive spell ranges;
|
||||
short-range attacks remain reachable. A thrown summon such as Caltrops does
|
||||
not force an early Witch Hunter away from its melee attacks. Hunter aliases
|
||||
also use ranged weapon stats and projectile presentations for ranged swings.
|
||||
- Fixed Dawn Blade's melee classification: a five-yard hunter-archetype attack
|
||||
previously counted as ranged and could not initiate the player's weapon
|
||||
swings needed to generate Rage. The companion AI now rejects unlearned CoA
|
||||
tree entries and resolves the rank actually learned.
|
||||
- Fixed channel execution in both runtimes. Normal amounts are distributed
|
||||
across five pulses, while guaranteed periodic trigger payloads fire per
|
||||
pulse. Radiant Flame's imported periodic damage now happens during the
|
||||
channel. Focused tests verify five damaging pulses and no duplicate amount
|
||||
on completion. Conditional proc payloads are not treated as guaranteed hits.
|
||||
- Corrected the RoM vocation import to use the player's `FixArgTableID = 1`
|
||||
record, as selected in the source client's level-up calculation. The previous
|
||||
adjacent table made Champion and Warlock stats grow exponentially; a level-20
|
||||
Champion weapon hit reached a raw 704 billion damage in the initial audit.
|
||||
The corrected Champion instead sustained attacks and damaging abilities for
|
||||
the full test. Source record sentinels and all ten classes' growth bounds are
|
||||
covered by regression checks; this is a source-table correction, not a balance
|
||||
multiplier adjustment.
|
||||
- Corrected tooltip fallback damage on retaliation auras. Drakkari Barrier
|
||||
stays friendly and deals its authored damage through its damage-taken proc.
|
||||
The imported first offensive unlocks are Witch Doctor 9, Sun Cleric 4, and
|
||||
Primalist 2. The player audit requires offensive ability damage once unlocked;
|
||||
these classes have no learned offensive cast at level 1. Their NPC weapon
|
||||
attacks deal damage at level 1. This supersedes the preliminary player
|
||||
failures mentioned in the reporting notes above.
|
||||
- Live PC check: created the isolated offline test character Romaudit, entered
|
||||
Forsaken Abbey as a healer, and issued Attack. At 26 seconds the meter showed
|
||||
Ilyen (Mage) 492 damage, Morgha (Warlock) 370, Veya (Rogue) 217, and Bronn
|
||||
(Champion tank) 148. All four NPCs dealt damage; visible enemy effects also
|
||||
confirmed Heavy Bash, Electrocution, Weakening Weave Curse, and Shadowstab.
|
||||
No player healing was applied during this bounded damage check, and the tank
|
||||
eventually died. This was not a dungeon-completion test.
|
||||
- Visually verified the loaded roster body/staff and in-dungeon player
|
||||
body/staff. The DPS meter remained readable at the PC bottom-left default.
|
||||
The first attempt used the downloadable shelved preview without its content
|
||||
server; the final captures use the full bundled development asset set and
|
||||
recorded no browser errors. No physical Ayn Thor device was tested here.
|
||||
- Evidence: `artifacts/class-damage-audit/report.json`,
|
||||
`level-20-damage.csv`, `rom-roster.png`, `rom-dungeon-start.png`,
|
||||
`rom-party-damage.png`, and `rom-browser-errors.json`. Training-target totals
|
||||
demonstrate execution and sustained damage; they are not class-balance
|
||||
rankings or exhaustive coverage of every talent build and dual-class pair.
|
||||
- All 434 focused combat, party, CoA, RoM, DPS-meter, stat, and avatar tests
|
||||
passed, along with the native vocation-import regression. The production
|
||||
TypeScript/Vite build and release-bundle verification passed. The final
|
||||
release candidate check includes the new tests and generated catalogs.
|
||||
Reference in new issue
Block a user