This website requires JavaScript.
bf5087a598
iris/android: fix background-thread redraw crash, add missing INTERNET permission
iris and Claude Fable 5.1
2026-09-05 14:08:40 -04:00
9fa09b0af1
Show a session's subagents as subcards, each with a read-only transcript
iris and Claude Fable 5.1
2026-09-05 13:41:15 -04:00
aa3d11471f
iris-android-app: transcript-screen feature -- I5's Android integration
iris and Claude Fable 5.1
2026-09-05 13:26:10 -04:00
78aff64844
client-core: hoist transcript_fold::{fold_page,raw_seq} out of desktop-app
iris and Claude Fable 5.1
2026-09-05 13:25:46 -04:00
9a33cb5384
docs/: move the design and working documents out of the repo root (CLAUDE.md and AGENTS.md stay, harnesses read them there)
iris and Claude Fable 5.1
2026-09-05 13:03:42 -04:00
45ced405f3
Merge branch 'worktree-agent-afe80868604fef704' into tmp-merge
iris
2026-09-05 12:59:54 -04:00
62199aa3a7
Merge remote-tracking branch 'origin/rustify' into worktree-agent-afe80868604fef704
worktree-agent-afe80868604fef704
iris
2026-09-05 12:59:39 -04:00
b133d85943
RUST.md, IRIS.md, CLIENT_CORE.md: record E4 done
iris and Claude Fable 5.1
2026-09-05 12:55:59 -04:00
ba6817fee5
iris: run-headless.sh --bin, for screenshotting a real binary not just an example
iris and Claude Fable 5.1
2026-09-05 12:55:52 -04:00
73ee63bc1b
iris: desktop-app, a winit window for the transcript screen (RUST.md's E4)
iris and Claude Fable 5.1
2026-09-05 12:55:41 -04:00
8f0aec449a
transcript-ui: build_tree, the screen without claiming the window root (RUST.md's E4)
iris and Claude Fable 5.1
2026-09-05 12:55:29 -04:00
6d5fd64bb0
client-core: EnrolledServer, the aiapp:// enrol-link parser (RUST.md's E4)
iris and Claude Fable 5.1
2026-09-05 12:55:22 -04:00
e5880c33f4
iris: DragArbiter closes I5's touch-drag pan-vs-select gap
iris and Claude Fable 5.1
2026-09-05 12:26:54 -04:00
a853eb5a4d
DECISIONS.md: the summary file for choices made without Iris; RUST.md: note the two in-flight pieces
iris and Claude Fable 5.1
2026-09-05 12:18:26 -04:00
eff5c8b0c0
Let the machine's own CLI refresh an expired token, and retry once
iris
2026-09-05 12:07:34 -04:00
7b63330aaa
Say when a usage 401 is an expired login, not an unreachable endpoint
iris
2026-09-05 11:58:17 -04:00
22d5c6585a
Merge branch 'worktree-agent-a23aa965694b9eaf5' into rustify (I5: transcript-ui, SpanStyle)
iris
2026-09-05 07:56:09 -04:00
b063fbd7f9
RUST.md, IRIS.md, IRIS_TODO.md: record I5 -- transcript-ui built and partial, the recommendation's numbers still missing
iris and Claude Sonnet
2026-09-05 07:55:04 -04:00
3f25e7ebca
iris: transcript-ui, the transcript screen (RUST.md's I5)
iris and Claude Sonnet
2026-09-05 07:54:51 -04:00
0af4c88d08
iris: SpanStyle, per-range text styling (RUST.md's I5)
iris and Claude Sonnet
2026-09-05 07:54:28 -04:00
ceabd00805
E5: package app/shellApp without Gradle (cargo xtask apk)
iris and Claude Sonnet
2026-09-05 07:11:44 -04:00
32a5256a0d
Merge branch 'worktree-agent-a466c08a4014dbcbe' into rustify (I4: AccessKit names)
iris
2026-09-05 07:06:29 -04:00
4cfe0ef6e6
iris: I4 -- accessibility names via AccessKit
iris and Claude Sonnet
2026-09-05 07:05:41 -04:00
c9b273ff16
E3: the Kotlin/Java shell over a JNI bridge into Rust (RUST.md)
iris and Claude Sonnet
2026-09-05 06:47:32 -04:00
8adda94a7a
Merge branch 'worktree-agent-a33c31aef1fd6d868' into rustify (I3: iris::widget::List)
iris
2026-09-05 06:29:08 -04:00
3a9208f38b
RUST.md, IRIS.md: record I3 -- List built and benchmarked, emulator step named
iris and Claude Sonnet
2026-09-05 06:27:58 -04:00
e898370bf4
iris: fix List placing a fill-shaped background at its oversized measurement size
iris and Claude Sonnet
2026-09-05 06:26:02 -04:00
6e0bd06e4d
RUST.md: E2 -- a transcript in Masonry on android-view, and the touch-scroll gap it found
iris and Claude Sonnet
2026-09-05 06:03:42 -04:00
03da47e550
iris: benches/message_list.rs measures the real List, adds insert-above and expand-hold
iris and Claude Sonnet
2026-09-05 05:42:54 -04:00
a2cd119985
iris: add List, a virtualised bottom-anchored list (RUST.md I3, part 1)
iris and Claude Sonnet
2026-09-05 05:35:12 -04:00
19c36e37f2
iris: give masks/move_offsets their own bind group, fixing O(N) image append
iris and Claude Sonnet
2026-09-05 05:28:38 -04:00
6bdec6e785
Let a session resume itself when its usage limit lifts
iris and Claude Opus 5
2026-09-05 05:21:43 -04:00
e2873df92e
iris: fix I2's render gap -- window uniform never left (0, 0) on android-view
iris and Claude Sonnet
2026-09-05 05:19:55 -04:00
ea13889a21
Merge branch 'worktree-agent-a23e63cec86723942' into rustify
iris
2026-09-05 05:09:20 -04:00
6317685d1a
iris: android-app's Gradle shell, and the emulator run for I2
iris and Claude Sonnet
2026-09-05 05:08:25 -04:00
f79bd7ca71
iris: add the android-app cdylib crate (I2, part 3)
iris and Claude Sonnet
2026-09-05 04:46:10 -04:00
9c935f8ce8
iris: factor the tabs example's widget tree into tabs-ui (I2, part 2)
iris and Claude Sonnet
2026-09-05 04:42:13 -04:00
982449293d
iris: add an android-view backend beside winit (I2, part 1)
iris and Claude Sonnet
2026-09-05 04:39:06 -04:00
288853c094
iris: on-demand message-list/image benchmarks, and two O(N) findings
iris and Claude Sonnet
2026-09-05 00:13:58 -04:00
fba572427d
RUST.md: client-core is built; IRIS_TODO.md committed
iris and Claude Fable 5.1
2026-09-04 23:55:05 -04:00
85ec5416b6
Merge branch 'worktree-agent-a30feda38122e4492' into rustify
iris
2026-09-04 23:54:48 -04:00
643daf5637
iris: route pointer input per kind, so scroll falls through a hovered button
iris and Claude Sonnet
2026-09-04 23:52:37 -04:00
8db0184384
TEXTURES.md: exercise grow_array (a second atlas layer opening) on tabs
iris and Claude Sonnet
2026-09-04 23:44:46 -04:00
1a6599e1b2
iris: Widget::draw reports the size it used, replacing desired_width/height
iris and Claude Sonnet
2026-09-04 23:40:56 -04:00
0a2f4fa1fe
Add CLIENT_CORE.md, and run event-model and client-core in run-tests.sh
iris and Claude Sonnet
2026-09-04 23:02:58 -04:00
237886c11e
client-core: port the transcript fold (events into rows)
iris and Claude Sonnet
2026-09-04 23:01:01 -04:00
e8dbcaa7db
client-core: SSE framing, REST client and event stream
iris and Claude Sonnet
2026-09-04 22:57:50 -04:00
26163b25b2
client-core: port the transcript cache
iris and Claude Sonnet
2026-09-04 22:52:32 -04:00
762c1290a1
client-core: port the ANSI parser, syntax highlighter and markdown scanner
iris and Claude Sonnet
2026-09-04 22:47:41 -04:00
62dd6b7912
Ignore event-model's and client-core's target/, like server's own
iris and Claude Sonnet
2026-09-04 22:40:36 -04:00
bc3db183e3
Extract the event model into its own crate, shared with client-core
iris and Claude Sonnet
2026-09-04 22:40:15 -04:00
e0a473e090
iris: replace the bindless texture array with an atlas array + per-image bind groups
iris and Claude Sonnet
2026-09-04 22:28:54 -04:00
1c937e2f48
LAYOUT.md: single-draw design with an O(1) move chain; IRIS.md for notable API changes
iris and Claude Fable 5.1
2026-09-04 22:14:51 -04:00
d194d73439
LAYOUT.md: Iris's single-draw preference, recorded before design
iris and Claude Fable 5.1
2026-09-04 21:59:38 -04:00
4400966928
TEXTURES.md: review -- wgpu-hal gate located, a Patch-cancels-Push bug, and a sort-free shape
iris and Claude Fable 5.1
2026-09-04 21:49:41 -04:00
4821a02bd3
Default thinking level for new sessions, and move the rigs out of AGENTS.md
iris and Claude Opus 5
2026-09-04 21:42:05 -04:00
6e49ce8c92
TEXTURES.md: how iris should render an unbounded number of images
iris and Claude Sonnet 5
2026-09-04 21:36:56 -04:00
1ff662c7c3
Let a session choose how hard it thinks
iris and Claude Opus 5
2026-09-04 21:23:58 -04:00
79b9cd789a
RUST.md: iris's bindless texture array does not survive real Android GPUs
iris and Claude Sonnet 5
2026-09-04 21:17:18 -04:00
c70a670356
RUST.md: the Masonry IME gap is a TODO, and the accesskit abort is reproducible
iris and Claude Opus 5
2026-09-04 19:44:05 -04:00
43743ba171
RUST.md: bring it up to date, and say it must be kept that way
iris and Claude Opus 5
2026-09-04 19:32:41 -04:00
1a97d0ef5c
RUST.md: record I1 -- parley and the atlas, and what is still unmeasured
iris and Claude Opus 5
2026-09-04 19:28:22 -04:00
ff7e9c0435
Test iris's editor, which had no coverage and was just rewritten
iris and Claude Opus 5
2026-09-04 19:27:57 -04:00
68a7f41ed0
Move iris's text onto parley, with a glyph atlas
iris and Claude Opus 5
2026-09-04 19:26:33 -04:00
9b331a5e93
Call pre_present_notify, so a settled frame actually reaches the screen
iris and Claude Opus 5
2026-09-04 19:10:50 -04:00
3fc224b584
RUST.md: E1 passes, with the keyboard gap it was there to find
iris and Claude Opus 5
2026-09-04 18:51:10 -04:00
10500ae8aa
RUST.md: record what E1 showed, and drop an overreaching comment
iris and Claude Opus 5
2026-09-04 18:38:35 -04:00
8d441d3d59
Present iris with vsync
iris and Claude Opus 5
2026-09-04 18:23:10 -04:00
e4f0935f98
Keep the second auth test under a subscriber, so the tripwire is not flaky
iris and Claude Opus 5
2026-09-04 17:58:11 -04:00
3c0214ece8
Merge branch 'main' of git.arirex.me:iris/ai-app
iris
2026-09-04 17:56:50 -04:00
e0ee7d6e94
RUST.md: record E0 and I0b, with what they measured
iris and Claude Opus 5
2026-09-04 17:47:44 -04:00
b6b0928087
Take winit out of iris-core, which makes it build for Android
iris and Claude Opus 5
2026-09-04 17:47:44 -04:00
12221ea025
Make iris ask for the frame a resize needs
iris and Claude Opus 5
2026-09-04 17:47:44 -04:00
5e23c8b0c0
Add a headless runner for iris examples
iris and Claude Opus 5
2026-09-04 17:47:27 -04:00
caaa733caa
Make iris build: pin a dated nightly and migrate const-trait impls
iris and Claude Opus 5
2026-09-04 17:47:27 -04:00
127b25e60a
Meter a session by its provider, and let llama.cpp run over ssh
iris and Claude Opus 5
2026-09-04 17:45:32 -04:00
4ab26f068e
Vendor iris, the in-house UI library, at iris/
iris and Claude Fable 5.1
2026-09-04 17:17:16 -04:00
0f8ba49f4a
Add RUST.md: the plan for moving the app to Rust
iris and Claude Fable 5.1
2026-09-04 17:12:09 -04:00
1fcaa2d72d
Complete routes.rs's table, which the docs now point at
iris and Claude Opus 5
2026-09-04 16:21:52 -04:00
edc39c7371
Thin the app's comments
iris and Claude Opus 5
2026-09-04 16:20:16 -04:00
79682f03a7
Condense the documentation and thin the server's comments
iris and Claude Opus 5
2026-09-04 15:45:43 -04:00
e3e02d55f7
Merge remote-tracking branch 'origin/main'
iris
2026-09-04 15:03:37 -04:00
a802522039
Keep visited transcripts on the phone
iris and Claude Opus 5
2026-09-04 15:00:25 -04:00
74110b4d72
The reconnect loop does not reproduce; log who falls behind
iris and Claude Opus 5
2026-09-04 14:01:01 -04:00
45e631ab96
Delete TRANSCRIPT_RENDERING.md, which was all finished work
iris and Claude Opus 5
2026-09-04 13:38:40 -04:00
7997eeb7f8
Colour markdown's tables and the addresses written in it
iris and Claude Opus 5
2026-09-04 10:47:18 -04:00
68c5180260
Colour markdown, which is the one language that is not tokens
iris and Claude Opus 5
2026-09-04 02:37:32 -04:00
a401e6a7e3
Draw the line numbers beside the file, not inside it
iris and Claude Opus 5
2026-09-04 01:51:47 -04:00
7b08a71e64
Stretch the whole file at the ends, not one line
iris and Claude Opus 5
2026-09-04 01:38:21 -04:00
457907087c
Record why the viewer's rows all share one width
iris and Claude Opus 5
2026-09-04 00:40:02 -04:00
a074975d6f
Scroll the whole file sideways, not each row by its own amount
iris and Claude Opus 5
2026-09-04 00:39:37 -04:00
ffc266bf3e
Name the measurement files in the fixture's description
iris and Claude Opus 5
2026-09-04 00:18:00 -04:00
121a47da6e
Keep the explorer's measurement fixture in the sandbox
iris and Claude Opus 5
2026-09-04 00:17:46 -04:00
2c12274285
Measure the explorer, and cap edit mode at what it can carry
iris and Claude Opus 5
2026-09-04 00:16:57 -04:00
9c4d33273b
Merge branch 'main' of git.arirex.me:iris/ai-app
iris and Claude Opus 5
2026-09-04 00:00:48 -04:00
db55ed4a8f
The file explorer on the phone
iris and Claude Opus 5
2026-09-03 23:58:59 -04:00
8881a40919
Remove the drag-right-to-go-back gesture
iris and Claude Opus 5
2026-09-03 23:41:58 -04:00
9fdab777b4
Merge branch 'main' of git.arirex.me:iris/ai-app
iris
2026-09-03 23:32:22 -04:00
3bb178363d
Draw an inline code chip behind the text instead of under it
iris
2026-09-03 23:32:17 -04:00
4a9c547293
Merge branch 'main' of git.arirex.me:iris/ai-app
iris
2026-09-03 23:28:07 -04:00