From fba572427d5bdc3f16fc2e244e3d09591b902c62 Mon Sep 17 00:00:00 2001 From: iris <2+iris@noreply.localhost> Date: Fri, 4 Sep 2026 23:55:05 -0400 Subject: [PATCH] RUST.md: client-core is built; IRIS_TODO.md committed Co-Authored-By: Claude Fable 5.1 --- RUST.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/RUST.md b/RUST.md index 374c11d..37e8eb3 100644 --- a/RUST.md +++ b/RUST.md @@ -84,10 +84,12 @@ session spending an afternoon on them again. what stands in for that until I2 gets a device. - **Next**: **I2** — iris on android-view. **E2** (a transcript in Masonry) can go in parallel in another session. -- **Not started**: `client-core`, which is item 1 of the recommendation - below and does not depend on the framework choice. Nothing has been - built for it, and it is not one of the numbered boxes — worth picking up - in a session that wants work independent of the emulator. +- **`client-core` built (2026-09-04)**, item 1 of the recommendation: + `event-model/` (the event types, now shared with `server/`) and + `client-core/` (REST and SSE clients, transcript fold, cache, highlighter, + ANSI parser, 85 ported tests). `CLIENT_CORE.md` maps Kotlin file to Rust + module and lists what is not yet covered. `./run-tests.sh` runs all three + crates. - **The app itself is untouched.** Everything so far is in `iris/`, in `rigs/gpu-probe` (a headless wgpu/Vulkan feature probe, pushable to a device with no APK — see the binding-array section), and in the other @@ -487,7 +489,7 @@ light" has a knob inside the same stack. ## Recommendation -1. **Build `client-core` now, whatever the framework.** A Rust crate holding +1. **Build `client-core` now, whatever the framework** (done 2026-09-04, see `CLIENT_CORE.md`). A Rust crate holding the event model (shared with `server/` as one crate, ending the `Events.kt` mirror), the API and SSE clients, the transcript fold, the cache, the markdown block model, the highlighter and the ANSI parser,