You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -20,8 +20,9 @@ path uses a DOM, CSSOM, WebView, or framework-owned content renderer.
20
20
> AppKit/GTK4/WinUI control hosts are established dogfood baselines. The first
21
21
> generic self-drawn layout-to-Scene slice has landed; self-drawn text shaping,
22
22
> editing/IME, accessibility bridges, and real thin-host presentation remain
23
-
> roadmap work. The TypeScript runtime, executable process host, and npm
24
-
> packages have not been implemented yet; the landed Rust TSX protocol is not
23
+
> roadmap work. Rust-generated TypeScript wire declarations and a private
24
+
> development package now exist, but the JSX runtime, executable process host,
25
+
> callback/state runtime, and publishable npm packages do not; this is not yet
25
26
> a runnable TSX application. React Aria component parity is not claimed yet.
26
27
27
28
The target is unambiguous: A3S draws all application content. The existing
@@ -146,12 +147,16 @@ render, host-frame, and event sequences before mutation, preserves the active
146
147
revision after a rejected frame, and maps self-drawn snapshots and dispatches
147
148
directly. Incremental and blocking codecs enforce a little-endian `u32` length
148
149
prefix and reject empty, oversized, truncated, invalid UTF-8, duplicate-field,
149
-
unknown-kind, and unsupported-protocol input. Canonical hello, counter render,
150
-
commit, and event fixtures plus a Rust RSX/TSX Native IR and accessibility
151
-
parity test pin this slice. Actual process I/O, TypeScript declarations, JSX
152
-
runtime, callback registry, and packages remain. The design keeps component
153
-
state and callbacks in Node, platform/GPU handles inside a separate Rust
154
-
process, and Rust as the only native reconciler. Read the
150
+
unknown-kind, and unsupported-protocol input. Numeric `u64` wire values are
151
+
bounded to JavaScript's exact integer range; arbitrary layout/scene
152
+
fingerprints are fixed 16-digit lowercase hexadecimal strings. Rust DTOs now
153
+
generate the checked-in `@a3s/gui/protocol` declarations and declaration
154
+
fingerprint. Canonical hello, counter render, commit, and event fixtures are
155
+
parsed and byte-canonicalized in both Rust and Node 24, while a Rust RSX/TSX
156
+
Native IR and accessibility parity test pins the semantic slice. Actual process
157
+
I/O, the JSX runtime, callback registry/state, and publishable packages remain.
158
+
The design keeps component state and callbacks in Node, platform/GPU handles
159
+
inside a separate Rust process, and Rust as the only native reconciler. Read the
155
160
[TSX native runtime architecture](docs/tsx-native-runtime.md) for protocol,
156
161
identity, failure recovery, packaging, and T0-T5 delivery gates.
157
162
@@ -361,7 +366,7 @@ independently.
361
366
| M4 · Text and interaction cutover | In progress | Stable-id raw input, long press, move, typed and collection drag/drop, timed drop activation, and fail-closed dynamic drop policy resolution landed; shaping, glyphs, editing/IME, accessibility bridges, overlays, and complete calculator scenarios remain |
362
367
| M5 · Default cutover | Planned | Make self-drawn content the default, then delete the three legacy widget renderers |
363
368
| H0-H5 · Thin platform hosts | H0 complete; H1 in progress | Atomic frames, lifecycle recovery, stable-id raw input/reducers, long press, captured move, typed drag/drop negotiation and timed target activation, zero-toolkit firewalls, and an interactive calculator landed; the Graphics raw-surface edge remains |
364
-
| T0-T5 · TSX native authoring | T1 Rust foundation in progress | Strict handshake/framing, transactional render/commit/event messages, self-drawn snapshot/dispatch adapters, counter golden/parity fixtures, and revision-scoped drop-policy bridge landed; process I/O, TypeScript declarations, JSX runtime, Node callback registry/state, packages, and stable SDK remain |
0 commit comments