Release Healer Man 0.1.38

This commit is contained in:
phenom committed 2026-09-12 23:55:24 -04:00
1 parent 361734bc41
commit b417b7c3c3
48 files changed
+1982 -90

No files matched your search

+204
View File
@@ -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.