{
  "method": "BFFT direct joint CONV warp",
  "referenceCommit": "6e64386f2da658a90493733c08b01dea6425ecdd",
  "referenceFiles": {
    "experiments/conv_warp/joint_reference.py": "88f034a06b00939679dbecf1cc440b90e0952300c13829186a175dfdfca64860",
    "experiments/conv_warp/warped_pixels.py": "55c532a075beb143ae048180c12cf183f246fbfebccb86bba8926a0f99364ba2",
    "experiments/conv_warp/README.md": "7ef31dfe4a1ac55dd42d68f19404d034574ee15a7da2cab8f962feba295a22b3",
    "experiments/conv_distilled_core.py": "ca89011978ce1314702aa5940409bfd6eeb25cc8f9aa20ae1b585f86dd69da4a",
    "output/pdf/conv_warp_appendix.tex": "b645fde6f54bf99d04bd3ee3b6d33487e5d7dddd6d6a1c12883abd939e9cbf3c"
  },
  "browserFactorSHA256": "2578b6601d8b9538cb8138c6869f1ea752e3f453753d73b991f2a9c30e0bbce2",
  "port": "Canonical finite shared-entity capacity admission and completion ray; two-order current-weighted proposal; Float64 browser factors.",
  "integration": "Knot-clipped geometry-only positive triangle quadrature, total degrees 10\u201316, 25\u201355 nodes, exact rational Jacobian at every node; midpoint subdivision selected solely by denominator variation. Exact integrated Bernstein rectangles for axis-aligned affine maps.",
  "scope": "Original decoded source resolution is retained. Geometry-only triangle rules have a fixed 1e-9 mass-relative weight budget in exact arithmetic. Floating-point and source/control storage rounding are independently tested. Premultiplied sRGB channels; transparent exterior clipped in target coordinates.",
  "wasm": {
    "build": "WASI SDK 33.0, wasm32-wasip1, -O3 -msimd128 -ffp-contract=off -fno-builtin -nostdlib; no runtime imports",
    "sourceSHA256": "55e3d23c7bd83cee124368aa2dc199f2226190b4d4836a7f09afb717d796b102",
    "areaIntegrationSHA256": "ed0ce730efaa6f797dc178e86e19bf89a1a0565be8c389c91f2760cd17eca941",
    "sourceConstructionSHA256": "60605e3ed5bc323f550b3cc15d754a0997c583d7470a10f5d8c189ebbd834f1c",
    "binarySHA256": "bd55dd9285aed964f5e336769e7eeb71897d041ec32f904a4fc892381554655d",
    "precision": "Native whole-image factors, collocation, admission and SIMD evaluation use Float64 arithmetic; original source and shared controls use Float32 storage. Admission storage tolerance is 8e-6 and the actual stored margin is measured. The separate JS reference retains Float64 controls.",
    "scope": "Whole-image source construction streams both complete CONV factor orders into shared controls without resizing. Source construction, admission, point sampling, comparison and geometry-selected rational pixel-area integration run in WASM with Float64 arithmetic and SIMD evaluation.",
    "ewaComparisonSHA256": "376d29915ba56a631b1ebe5dcfe4cfe96ef144385b6bede92a72d2917d7a1095",
    "triangleRulesSHA256": "a4fd06e4ecb2c353ebdac837024991d4de3d663bc49e7b51c477eec796ff2485"
  },
  "verification": {
    "nativeReferenceFixture": "tests/fixtures/conv-perspective/native-reference.json",
    "referenceMeasurementScope": "Float64 JavaScript atlas versus BFFT native reference fixture. The native source builder is separately compared with that JS construction after Float32 source storage.",
    "nativeSourceControlTolerance": 8e-06,
    "nativeIdentityRegression": {
      "width": 513,
      "height": 321,
      "maximumRGBAByteDifference": 0
    },
    "maximumMeasuredReferenceDeviation": 7.362414608524936e-07,
    "referenceTolerance": 2e-06,
    "tests": [
      "tests/conv_perspective.test.mjs",
      "tests/conv_perspective_wasm.test.mjs",
      "tests/test_conv_perspective_ui.py"
    ]
  },
  "display": {
    "sourceSHA256": "258a0bb6e469260417717455ff1c833b00ad821ba50059e9f48095570561ca65",
    "binarySHA256": "37da7069a177e00b63c2a54d49de72c546266a9a890c5e90f467679be6c5d0d3",
    "build": "WASI SDK 33.0, -O3 -msimd128 -ffp-contract=off; separate display worker and arena",
    "reduction": "CONV output uses the shared image-resizer CONV* WASM basin analysis. The comparison uses scale-widened Lanczos-3. Both reduce completed output rasters with premultiplied alpha.",
    "inspection": "Nearest pixel selection at magnification; byte-exact identity at aligned 100%; fit never enlarges small images",
    "output": "Display-only resampling. The selected output raster and PNG export are retained independently.",
    "tests": [
      "tests/conv_perspective_view.test.mjs"
    ],
    "sharedReducer": {
      "conv-core.mjs": "1d122ed85b6bbeeddb47dad858a84d1ced9fcef4cb47dade2d93321393355121",
      "conv-wasm.mjs": "dbb41a792ad376597cf19a85a6a3397651632b3375f78ccca17bf17720e2e5ba",
      "conv-kernel.wasm": "b411d48fa5a1ef67aa46e3a42b3d974780ccb832dfee0d8bd35759533bc4822c"
    }
  },
  "quadrature": {
    "selection": "geometry-only",
    "radiusThresholds": [
      0,
      9e-06,
      0.00036,
      0.0023,
      0.0074,
      0.0159,
      0.0276
    ],
    "relativeWeightBudget": 1e-09,
    "budgetScope": "sum of absolute 36-weight errors divided by exact Jacobian mass, in exact arithmetic",
    "ruleSource": "https://github.com/zgimbutas/triasymq/blob/25a42d3287118cd9064b57de457947fb937691a9/triasymq_table.txt",
    "license": "COPYING.xiao-gimbutas",
    "validation": "research/conv-area-acceleration/geometry-plan.md"
  },
  "canonicalApproach": {
    "name": "Geometry-selected positive projective moment quadrature",
    "paper": "convstar-warp-addendum.pdf?v=geometry-bank-6",
    "section": "Geometric compilation of projective banks",
    "researchSource": "BFFT output/pdf/convstar_warp_addendum.tex",
    "rule": "denominator vertex range and fixed geometric table; direct rational Jacobian; shared 36-weight bank",
    "status": "Canonical numerical area synthesis on the admitted CONV atlas",
    "addendumSHA256": "2eccf9dab38f2c364cffe11e71ec450dbe87b0dc5bc8601771bfde5f7068f141"
  },
  "sourceAcceleration": {
    "method": "Fixed directional-row topology; stable blocked angular merge sort; fixed fifth-step Bernstein tails and paired Float64 SIMD collocation; per-line blend reuse across channels. Existing conditional admission passes and complete cached controls are retained.",
    "validation": "research/conv-source-acceleration/README.md",
    "regression": "tests/conv_perspective_source_optimization.test.mjs",
    "reference": "Pre-port warper binary retained in research/conv-source-acceleration/baseline.wasm; control bytes and diagnostics compared exactly."
  },
  "comparison": {
    "default": "EWA Jinc-windowed Jinc, three lobes",
    "supportRadius": 3.238315484166236,
    "windowRadius": 1.2196698912665045,
    "footprint": "Inverse homography Jacobian with singular values clamped below at one; no mipmap or anisotropy cap",
    "kernelTable": "16384 intervals in squared radius, linear interpolation",
    "boundary": "Edge-extended source with exact destination-pixel plane mask; partial-pixel centroid evaluation",
    "reference": "https://usage.imagemagick.org/distorts/",
    "validation": "research/conv-ewa/README.md"
  }
}
