wai-web: full JPEG-AI decode in wasm (decodeJpegAiFull) — re-land #59

Merged
dcharlot merged 1 commit from wai-jpegai-full-wasm into main 2026-08-25 17:12:07 -04:00
Owner

#56 reported merged but did not land on main (forge lost it in a rapid merge sequence). Re-landing: adds decodeJpegAiFull, verified byte-identical to native (sha256 dbc494a5…) and driving the live /jpegai full-image demo. Clean merge (neural_int.rs unchanged on main since the branch base, 0 conflicts).

Co-Authored-By: Claude Opus 4.8 [email protected]

#56 reported merged but did not land on main (forge lost it in a rapid merge sequence). Re-landing: adds decodeJpegAiFull, verified byte-identical to native (sha256 dbc494a5…) and driving the live /jpegai full-image demo. Clean merge (neural_int.rs unchanged on main since the branch base, 0 conflicts). Co-Authored-By: Claude Opus 4.8 <[email protected]>
The whole byte-exact decoder (wai::jpegai_decode::decode) as a browser entry: 13
byte inputs (codestream + the model weight bundle from wai_jpegai_build_e2e_inputs.py
+ norm tables), returns the decoded RGB. Same integer decoder a native sink runs,
compiled to wasm32.

Verified in node: decodes test256 to 256x256 in ~8s and the RGB is byte-identical
to the native decode (sha256 dbc494a5…, the same digest the reconstruction-binding
test produced natively) — decode-equivalence across host and browser. The JS side
passes raw bytes; the wasm parses, so there is no JS-side double-parse. Drives the
full-image path of the /jpegai demo.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transaction-Science/open-standards!59
No description provided.