Objective
Extend the NAT API to Flutter/mobile and Node while preserving the same model contract and allowing platform-specific inference runtimes.
Architecture
The logical API remains shared:
NAT API
│
┌───────────┼───────────┐
↓ ↓ ↓
Web Node Flutter
WebGPU/WASM ONNX/etc. native/WASM
The model/input/output contract must remain consistent even if the inference backend differs.
Requirements
- Reuse the NAT API introduced earlier; do not create separate incompatible APIs for each platform.
- Implement Node support using a suitable ONNX/WASM/native runtime based on measured constraints.
- Implement Flutter/mobile support using a suitable runtime compatible with the existing package architecture.
- Keep neural runtime dependencies optional where the package ecosystem permits.
- Do not increase the dependency footprint of deterministic
inditrans for users who do not use NAT.
- Support background execution where platform architecture permits:
- Worker for Node/browser
- isolate/background/native execution for Flutter as appropriate
- Lazy-load models.
- Reuse model manifests/versioning.
- Implement deterministic fallback on all platforms.
- Ensure platform backends produce compatible outputs for the same model and test vectors.
- Add cross-platform golden test vectors.
Cross-platform test vectors
For a fixed set of Tamil examples, record:
- input
- deterministic baseline
- expected NAT decision
- expected final transliteration/pronunciation
- model version
- relevant metadata
Use these vectors to catch backend divergence.
Acceptance criteria
Out of scope
- additional languages
- redesigning the NAT API without evidence
- replacing the existing transliteration engine
Objective
Extend the NAT API to Flutter/mobile and Node while preserving the same model contract and allowing platform-specific inference runtimes.
Architecture
The logical API remains shared:
The model/input/output contract must remain consistent even if the inference backend differs.
Requirements
inditransfor users who do not use NAT.Cross-platform test vectors
For a fixed set of Tamil examples, record:
Use these vectors to catch backend divergence.
Acceptance criteria
Out of scope