Skip to content

v1.6.2 — Known Limitation Sprint

Choose a tag to compare

@avcode-exe avcode-exe released this 22 Jul 02:48
· 27 commits to main since this release

Release v1.6.2 — Known Limitation Sprint

1,532 tests · 45 files · 92.25% branch coverage · ≥80% per-file thresholds

🐛 Bug Fixes

  • Monster attack distance (L6): _stepMonsterAttacks() now validates Chebyshev tile distance before applying damage — attacks from out-of-range targets are discarded instead of hitting through walls.
  • Shield regen delay (L7): Regeneration delay moved from a hardcoded global constant (SHIELD_REGEN_DELAY) to MONSTER_SPECS.S.shieldRegenDelay with backward-compatible ?? fallback, making it spec-configurable.

🧪 Testing & Quality

Metric v1.6.1 v1.6.2
Tests 1,420 1,532 (+112)
Test files 43 45 (+2)
Branch coverage 91%+ 92.25%

New test files:

  • tests/uiOverlays.test.js — 14 tests, 100% coverage (statements/branches/functions/lines) for drawWaveTransition progress, fade, and early-return paths
  • tests/preload.test.js — 30 tests, 100% coverage across all 4 metrics for the Electron preload script (contextBridge.exposeInMainWorld)
  • tests/electronMain.test.js — 50 tests, ~55% coverage (excluded from thresholds)
  • tests/main.test.js — 14 tests, ~47% coverage (excluded from thresholds)

🛠 Fixed Limitations

ID Limitation Fix
L6 Attack distance not validated Chebyshev tile-distance check in _stepMonsterAttacks()
L7 Hardcoded shield regen delay Configurable per-spec via MONSTER_SPECS.S.shieldRegenDelay
L12 drawWaveTransition progress uncovered 100% coverage with deterministic performance.now() mocks
L13 No Electron tests Phase 1: electron-main (50 tests). Phase 2: preload (100% coverage)
L14 Main.js uncovered DOM bootstrap tests with jsdom/canvas polyfill (14 tests, ~47%)

📋 Remaining Limitations (7)

L1 (TypeScript), L2 (save migration), L3 (particle cap), L4 (drawShop coupling), L5 (hit-test parity), L13 (electron-main <80%), L14 (main.js <80%)