Context
PR #176 adds engine/symbian/src/lib.rs, whose string helpers, allocation exports, UI op wrappers, and framebuffer hash closely mirror engine/wasm/src/lib.rs. The Symbian bridge has already gained extra ops independently, so future spec-op changes can silently update one ABI surface but not the other.
This is follow-up debt rather than a blocker for #176: the platform-specific allocator and ARGB framebuffer ownership should remain separate, but the exported UI ABI surface should have one source of truth.
Acceptance criteria
- Define the shared exported UI operation surface in one core-owned module, macro, or generated source.
- Keep platform-specific allocator, framebuffer format and ownership, and wasm-bindgen or C ABI glue in their respective adapters.
- Adding, removing, or renumbering an operation causes wasm and Symbian parity checks to fail until both surfaces are updated.
- Preserve the existing C symbols consumed by
hosts/symbian/runtime and the existing wasm API.
- Run host tests for both bridges and a Symbian custom-target build.
Context
PR #176 adds
engine/symbian/src/lib.rs, whose string helpers, allocation exports, UI op wrappers, and framebuffer hash closely mirrorengine/wasm/src/lib.rs. The Symbian bridge has already gained extra ops independently, so future spec-op changes can silently update one ABI surface but not the other.This is follow-up debt rather than a blocker for #176: the platform-specific allocator and ARGB framebuffer ownership should remain separate, but the exported UI ABI surface should have one source of truth.
Acceptance criteria
hosts/symbian/runtimeand the existing wasm API.