INDEPENDENT EVIDENCE PROJECT

Apple / iPhone Safari validation

Harness 1.0.0 · Build 2026-09-23T16:49:35.586Z

Browser image-processing measurements for Architecture Review. Successful execution of a codec in this harness does NOT by itself approve that codec or format for the Farenvi MVP.

Images stay in this browser. No uploads, telemetry, analytics, external processing, or automatic result transmission. Results are kept in memory until you explicitly download or copy them.

Physical-device checklist

  1. Open this exact HTTPS URL in Safari on the physical iPhone.
  2. Confirm the visible harness version.
  3. Enter Device Model and iOS Version.
  4. Run Core Test Suite using bundled fixtures.
  5. Do not switch apps while a timed operation is running.
  6. Review failures/errors.
  7. Complete manual responsiveness observations.
  8. Optionally run selected tests with real local iPhone images.
  9. Export Validation Results JSON.
  10. Preserve the JSON file unchanged for review.

The tester records observations; Architecture Review interprets the evidence.

Environment

Browser data does not prove physical device model. Memory measurement: UNAVAILABLE.

Automatic browser data
null

Test inputs and execution

Core suite runs all bundled fixtures. Selected tests run checked fixtures plus local files. Generated still-life fixtures are synthetic, not camera photos. Static images only; 32 MiB input and 16 megapixel raster limits. WASM runs sequentially on the main thread and may block the UI.

Bundled deterministic fixtures

0 local file(s) selected. Unsupported formats are skipped; no silent conversion.

Ready

WebP — primary Apple comparison

Native and libwebp encode the same decoded source at quality 0.50, 0.75, and 0.90. Quality scales are not perceptually equivalent. Alpha differences are checked separately from lossy RGB. No architecture winner is selected.

Run / input / qualityNativelibwebp WASM

Technical result records

PASS: all checks required by that operation passed. FAIL: a measured assertion failed. UNSUPPORTED: API absent. ERROR: operation threw or could not complete. NOT TESTED: skipped or blocked. A decode error alone does not prove format unsupported.

Input Validation

NOT TESTED

JPEG

NOT TESTED

PNG Native

NOT TESTED

PNG OxiPNG

NOT TESTED

WebP Native

NOT TESTED

WebP libwebp

NOT TESTED

AVIF — Diagnostic Only / Deferred for MVP

NOT TESTED

Performance / Manual Observations

Timings use performance.now(); no performance pass/fail thresholds. If Safari reloads or crashes, reopen the page and enter that observation; unexported records cannot be recovered.

Export Results

Exports include build/dependency versions, input hashes, per-run environments, configuration, timings, validations, errors and manual observations.