Pure standard Web APIs. Uses real navigator.ml where present, otherwise a CPU shim that genuinely executes the graph (conv2d → relu → maxpool → conv2d → relu → gemm → softmax). Weights load from assets/weights.json.
navigator.ml
conv2d → relu → maxpool → conv2d → relu → gemm → softmax
assets/weights.json