﻿MapleHuntMultiView v0.3.21.2 validation — 2026-09-18
Baseline: delivered v0.3.21.1 wheel-fit edition, based on v0.3.21 without boss mode.

Executed in Linux / Mono
- Full Windows-compatible WinExe compiled with C# 5 and .NET Framework references.
- Compilation succeeded, zero errors, four pre-existing unused-variable/field warnings.
- SmoothWheelTests: passed 980, failed 0.
  Single-notch growth/shrink produces intermediate sizes, settles without overshoot;
  fractional wheel deltas do not wait for a whole notch; repeated input retains the pending target;
  reversal discards pending/unpainted movement and immediately follows the new direction;
  min/max limits have no accumulated zoom debt; large bursts stay bounded;
  different frame intervals produce equal progress for equal elapsed time;
  cancellation holds the current value; long UI stalls do not replay a frame backlog;
  intermediate sizes in all four layouts with open/closed/collapsed SIDE keep the source aspect.
  Example: 540px height with 120 wheel delta produced 12 distinct integer heights in 15ms steps,
  settling at 594px after 270ms in the deterministic model (not a Windows frame-rate measurement).
- ResizeTests: passed 48,229, failed 0. Superseded integer-notch accumulator tests were removed.
- DetectionTests: unchanged suite, passed 1,237, failed 0.
- Exact 14-source sets match build.bat, csproj and safety_check.ps1.
- Existing architecture guard tokens and native DLL allow-list are unchanged; equivalent scan passes.
- NativeMethods, HuntEngine, Models, HUD renderer, Program, SideView and DetectionTests are
  byte-identical to v0.3.21.1. No additional native APIs, global mouse hooks or capture loops.

Windows integration review
- Wheel input changes a floating-point target. A UI timer requests frames at 15ms intervals.
- Only timer frames assign window bounds; high-rate wheel messages are coalesced.
- Progress uses elapsed Stopwatch time rather than assuming the timer hits its nominal interval.
- Intermediate sizes use the same aspect and monitor-limiting geometry as the final size.
- Source geometry is reused during animated frames, while normal source/layout updates cancel
  the animation before refreshing dimensions. Existing source health/detection checks remain active.
- Combined move/resize updates avoid rendering the HUD twice for a single wheel frame.
- Drag/resize start, lock, click-through, context menu, dialog, preset, hiding, focus loss and close
  cancel the animation without snapping to a pending target. The timer is disposed on close.

Limits
No Windows desktop or DWM runtime was available for live interaction, physical mouse-wheel,
DPI/multi-monitor transitions or live-game performance measurements.
A nominal timer interval is not a guaranteed frame rate. Arithmetic and fixture tests cannot
establish real Windows frame pacing or exact equivalence with another application's mouse feel.
The executable is a .NET Framework-compatible PE compiled using Mono. build.bat can rebuild
it using the installed Windows .NET Framework compiler; Tests/run_tests.bat reruns all suites.
