Skip to content

feat(core): port Rust core runtime, codegen, and WASM host#210

Closed
pgherveou wants to merge 1 commit into
mainfrom
rust-core/01-core-runtime
Closed

feat(core): port Rust core runtime, codegen, and WASM host#210
pgherveou wants to merge 1 commit into
mainfrom
rust-core/01-core-runtime

Conversation

@pgherveou

@pgherveou pgherveou commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Ports the canonical Rust protocol implementation into the repo. The truapi, truapi-platform, and truapi-server crates define the protocol types and host syscall traits, and truapi-codegen turns the crate's rustdoc JSON into both the Rust dispatcher/wire table and the @parity/truapi TypeScript client. truapi-server ships as a WASM host runtime that @parity/truapi-host-wasm loads, and the playground reaches it through a MessagePort handshake.

This is the smallest slice that runs the dotli playground diagnosis e2e end to end: the dotli submodule, the make wasm/dev/e2e-dotli/codegen targets, the codegen script, the deny.toml licence exceptions (smoldot, uniffi), the ci.yml dotli-e2e job, and the host-packages.yml WASM bundle checks ride along. The extended-theme-api RFC lives here too, paired with its truapi interface changes (the repo's check-rfc gate requires RFC docs to land alongside their interface changes).

First of a 3-PR stack carved from #104 (base: main). Mobile bindings and docs stack on top.

Authored with assistance from Claude Code.

Introduce the canonical Rust protocol crates (truapi, truapi-platform,
truapi-server) plus the rustdoc-JSON codegen (truapi-codegen) that emits
the Rust dispatcher/wire table and the @parity/truapi TypeScript client.
truapi-server ships as a WASM host runtime consumed by
@parity/truapi-host-wasm, and the playground talks to it over a MessagePort
handshake.

This is the smallest set that runs the dotli playground diagnosis e2e:
the dotli submodule, Makefile (wasm/dev/e2e/codegen targets), codegen
script, deny.toml licence exceptions, ci.yml dotli-e2e job, and the
host-packages.yml WASM bundle checks are included.
@pgherveou pgherveou force-pushed the rust-core/01-core-runtime branch from 2135473 to 94a612e Compare June 12, 2026 03:29
@pgherveou pgherveou marked this pull request as ready for review June 12, 2026 03:43
@pgherveou pgherveou requested review from a team June 12, 2026 03:43
Comment thread rust/crates/truapi-platform/src/lib.rs
Comment thread js/packages/truapi-host-wasm/src/node-runtime.ts
Comment thread js/packages/truapi-host-wasm/src/electron/index.ts
Comment thread js/packages/truapi-host-wasm/src/web/create-worker-host-runtime.ts
Comment thread js/packages/truapi-host-wasm/src/web/create-worker-host-runtime.ts
Comment thread js/packages/truapi/src/scale.ts
Comment thread js/packages/truapi/src/transport.ts
Comment thread js/packages/truapi/src/transport.ts
Comment thread rust/crates/truapi-platform/src/lib.rs
Comment thread rust/crates/truapi-platform/src/lib.rs
@pgherveou pgherveou closed this Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant