Three controls, measured.

Slider, ProgressBar, and TiltEffect were recorded on the WP8.1 emulator, implemented in Flutter, replayed with retained inputs, and checked again after candidate freeze.

Controls
3
Native trials
17
Native PNGs
885
Hardware
Lumia pending
ControlMeasured resultBoundary
SliderTap/drag value error <0.000034 units; track and thumb edges exact.Value ≤1 unit; edges ≤1 px.
Determinate progress408×4 track and 42% fill exact on all four edges.Edges ≤1 px.
Indeterminate progressFive 4×4 marks; phase-aligned center MAE 2.175 px across 166 observations.Center MAE ≤8 px.
TiltEffectPose formula error <0.0001°/px; fresh corner edges exact, center maximum edge error 2 px.Pose ≤0.25°/0.5 px; projected edges reported separately.

There is no aggregate fidelity score. Values, pixel edges, mark trajectories, pose, and timing stay in their native units.

Flutter micro-control reference scene at rest
Native WP8.1 micro-control fixture at rest
Native Flutter
Resting-frame revealOriginal native PNG · deterministic Flutter render · both 480×800

The layouts share reference coordinates. Typography remains visibly different because Flutter bundles Selawik rather than proprietary Segoe WP.

Indeterminate ProgressBar

Native acquisition

Held original frames; no interpolation.

Flutter replay

33.333 ms deterministic test clock.

Ready · independent timelines
Indeterminate ProgressBarLaunches together; clocks and durations remain independent
Five measured native indeterminate progress mark trajectories across three repetitions
Native mark trajectoriesRepetition 3 is held out

TiltEffect corner press

Fresh native confirmation

Captured after candidate freeze.

Flutter replay

Retained host input intervals.

Ready · independent timelines
TiltEffect corner pressLaunches together; clocks and durations remain independent
Native TiltEffect rotation and depth after pointer release
Guest-clock release telemetry200 ms delay and 100 ms return bracketed by samples

“Play both” launches the two files together without aligning or resampling their timelines. Native and Flutter use different clocks and durations. The 30 fps native MP4 holds the last acquired image; it does not turn the roughly 15–16 fps source into new observations.

  1. A source-complete WP8.1 fixture rendered actual Slider and ProgressBar controls and Toolkit TiltEffect at 480×800.
  2. Repetitions 1–2 were fitting evidence; repetition 3 was withheld until the candidate was frozen.
  3. All 769 initial native PNGs passed hash, byte-length, membership, dimension, manifest-error, and initial-state checks.
  4. After the first held-out Tilt replay exposed a camera-convention defect, the fix was checked against fitting data and two new native trials were captured. Their 116 PNGs also passed integrity checks.
  5. The final Flutter replay retained source snapshots and produced 889 indexed 480×800 frames across the held-out and fresh-confirmation sets.

Slider final values matched native telemetry and image-derived positions independently. Progress dots were compared after one phase offset without interpolating native motion. Tilt image edges and guest-clock release telemetry were evaluated as separate domains.

  • The native indeterminate loop did not recur. Its held-out lower bound is greater than 3452.231 ms; the Flutter 4500 ms loop is conservative, not a measured native period.
  • Host acquisition and the guest Stopwatch have no calibrated clock correspondence.
  • Emulator evidence does not establish Lumia presentation, latency, or performance.
  • Selawik and Flutter rasterization do not reproduce Segoe WP exactly.