Commit Graph
36 Commits
Author SHA1 Message Date
iris 6dbc800739 Make the Rust client the sole app 2026-09-11 01:18:24 -04:00
iris 5ca244528f Clean up shared UI runtime state 2026-09-11 00:55:33 -04:00
iris 44a5da378b Add scoped overlay hosts 2026-09-10 18:49:03 -04:00
iris 1e6d3b1edd Prune commentary and stale Rust port notes 2026-09-10 00:44:13 -04:00
irisandClaude Opus 5 a9312e9431 iris is the framework alone; the app is one crate in app-rust/
Iris: "the organization of the rust rewrite is a mess right now... there
shouldn't be anything related to the app inside of iris. Iris is supposed
to be the UI framework alone." And, on the crate count: "I'm confused why
the app only code needs more than one crate though."

Nine cargo workspaces become three, and the port's project code -- which
sat in five places, four of them inside the framework -- becomes one crate,
`ai-app`, in `app-rust/`:

  client-core                -> app-rust/src/client
  iris/transcript-ui         -> app-rust/src/ui
  iris/transcript-fixture    -> app-rust/src/ui/fixture.rs + tests/ + touch/
  iris/desktop-app           -> app-rust/src/desktop + src/bin_desktop.rs
  iris/android-app           -> app-rust/src/android + android-project/
  android-shell              -> app-rust/src/shell

iris/ keeps core, macro, the iris crate, tabs-ui and rig-input, and now
mentions no session, transcript, setup or server anywhere.

Only two of the old splits had a reason that survived reading. event-model
stays a crate at the repo root because server/ depends on it too, so a
crate is what makes the backend and the app agree by construction. The two
Android .so names looked like a hard constraint -- a package produces one
library artifact -- until P2 turned out to already plan merging those two
Android apps into one; both faces now come out of libai_app.so, picked
apart by features so `--no-default-features --features shell` keeps wgpu,
parley and iris out of the Compose app's APK. docs/RUST.md's "One app
crate" has the rest, including what each remaining feature is for.

DECISIONS.md and SUBAGENTS.md move into docs/ with everything else.

Verified: ./run-tests.sh and `cd iris && cargo test` green, clippy and fmt
clean in all five workspaces, `cargo ndk -t x86_64` links libai_app.so,
build-apk.sh produces an APK that installs and launches on this checkout's
emulator (Gl ... virgl, as expected), and the phone-sized headless
screenshot renders the transcript unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 23:36:38 -04:00
iris f2ac6f195f remove typed stuff / just specify rsc if needed 2026-01-03 18:06:05 -05:00
iris 59901b6580 tasks initial impl (still working on task_on trait method) 2026-01-03 16:26:23 -05:00
iris 462c0e6416 move event data out of widgetdata 2025-12-23 15:42:04 -05:00
iris 30bc55c78e remove state generic from a lot of things 2025-12-17 21:37:55 -05:00
iris ac9571b29f small changes 2025-12-16 18:38:06 -05:00
iris 486ed0ffd7 prelude macro visibility 2025-12-15 23:15:52 -05:00
iris 8d1a810483 macro goodness 2025-12-15 23:11:32 -05:00
iris 36668c82f4 strong & weak widgets 2025-12-11 07:16:06 -05:00
iris a85e129026 move everything out of layout 2025-12-11 05:48:29 -05:00
iris 2dc5b0f62c refactor project structure (start of redoing atomic branch without atomics) 2025-12-11 05:25:58 -05:00
iris db888416b6 add minimal example 2025-12-04 14:46:34 -05:00
iris f7b100e00c add default winit framework 2025-12-04 14:31:07 -05:00
iris 9deba3d9d7 fix wrapping text selection 2025-11-22 18:29:44 -05:00
iris 23c5abe5a9 crop text images that are too big 2025-11-21 18:18:28 -05:00
iris 61df088cc7 initial text wrapping impl (resizing will break) 2025-09-28 01:32:10 -04:00
iris 5445008528 add offset / scrolling + clipboard support 2025-09-27 21:13:00 -04:00
iris 95f049acb4 move widgets on draw if region size is same 2025-09-27 16:11:30 -04:00
iris 26c248dcba add module system and move sensor into core with it 2025-09-24 16:11:39 -04:00
iris 9d659b6afd actually use the text library for text editing (fully working I think but code isn't cleanest) 2025-09-15 14:34:57 -04:00
iris e9853120ce sort of fix text editing (better but still bad) 2025-09-11 17:12:11 -04:00
iris d4690401eb rename widget fn macros 2025-08-29 00:11:41 -04:00
iris e9037cdc14 contextless gaming 2025-08-25 19:21:39 -04:00
iris 74d01d14d4 fix reactivity 😭 + visual widget counter 2025-08-24 22:02:50 -04:00
iris 6bb6db32a6 REACTIVITY 2025-08-24 20:34:19 -04:00
iris 5ce6fca275 initial text impl 2025-08-23 21:15:39 -04:00
iris 7dbdcbba42 added underdeveloped but working image support (no freeing or samplers) 2025-08-22 23:07:31 -04:00
iris e41970287d TAG TECHNOLOGY 2025-08-14 12:21:26 -04:00
iris 848347e6b3 clean up 2025-08-10 19:10:26 -04:00
iris 577d62b1da small stuff 2025-08-10 14:35:01 -04:00
iris 58d9b32077 reactivity base 2025-08-10 02:05:35 -04:00
iris 56beeb80f3 initial commit 2025-08-08 18:22:52 -04:00