DECISIONS.md: the summary file for choices made without Iris; RUST.md: note the two in-flight pieces
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
22d5c6585a
commit
a853eb5a4d
2 files changed
+38
No files matched your search
@@ -0,0 +1,30 @@
|
|||||||
|
# Decisions taken for Iris to review
|
||||||
|
|
||||||
|
Short list of design choices made by the design agent without asking, so
|
||||||
|
they can be judged and reversed later. Detail lives in RUST.md (and IRIS.md
|
||||||
|
for iris API changes); this file is only the summary. Newest first. Items
|
||||||
|
marked **DEFERRED** are ones the agent chose not to decide alone.
|
||||||
|
|
||||||
|
## 2026-09-05
|
||||||
|
|
||||||
|
- **Touch drag on a transcript row follows Android's own rule**: a vertical
|
||||||
|
drag pans the list immediately; a stationary press held 500 ms starts a
|
||||||
|
text selection which further dragging extends; a horizontal drag while
|
||||||
|
something is already selected extends that selection without the wait.
|
||||||
|
One `DragArbiter` per list decides it (`iris/src/sense.rs`). Chosen over a
|
||||||
|
"text layer always wins" or "list always wins" rule because either loses
|
||||||
|
one of the two gestures a reader expects.
|
||||||
|
- **E4's desktop shape is a new `iris/desktop-app` crate**: a winit window
|
||||||
|
holding `transcript-ui`'s screen beside a session list, talking to a real
|
||||||
|
`ai-server` through `client-core`. It enrols by pasting the same
|
||||||
|
`aiapp://enroll?…` link a phone scans (`client-core::config::EnrolledServer`)
|
||||||
|
and keeps it owner-only under `$XDG_CONFIG_HOME/ai-app-desktop/`. The
|
||||||
|
pinned CA is a path given on the command line, not baked in. Chosen so
|
||||||
|
the phone and desktop share one enrolment format and no second one is
|
||||||
|
invented.
|
||||||
|
- **Order of remaining work**: finish the two in-flight pieces above, then
|
||||||
|
the transcript screen's Android integration and the `transcript-bench.sh`
|
||||||
|
comparison against Compose — the numbers the recommendation still lacks.
|
||||||
|
- **DEFERRED — whether to commit to iris over Masonry for `ai-app`.** Waits
|
||||||
|
on the bench numbers above; RUST.md's recommendation says what the
|
||||||
|
measurements must show.
|
||||||
@@ -36,6 +36,14 @@ session spending an afternoon on them again.
|
|||||||
|
|
||||||
## Where things stand (2026-09-05)
|
## Where things stand (2026-09-05)
|
||||||
|
|
||||||
|
- **In flight, 2026-09-05 (session cleared mid-work, picked up again):**
|
||||||
|
(a) the I5 touch-drag pan-vs-select gap, as a `DragArbiter` in
|
||||||
|
`iris/src/sense.rs` wired into `transcript-ui`'s selection; (b) E4 as a
|
||||||
|
new `iris/desktop-app` crate on winit, embedding `transcript-ui` via
|
||||||
|
`build_tree` beside a session list, with `client-core::config` holding the
|
||||||
|
enrolment. Design choices for both are summarised in `DECISIONS.md` at
|
||||||
|
the repo root, which is the file Iris reads for choices made without her.
|
||||||
|
Next after those: I5's Android integration and the bench numbers.
|
||||||
- **Done**: E0 (toolchain), E1 (Masonry on android-view, which found the
|
- **Done**: E0 (toolchain), E1 (Masonry on android-view, which found the
|
||||||
keyboard gap — now explained, see below), E2 (a transcript in Masonry,
|
keyboard gap — now explained, see below), E2 (a transcript in Masonry,
|
||||||
which found that Masonry has no touch-scroll on Android at all — see
|
which found that Masonry has no touch-scroll on Android at all — see
|
||||||
|
|||||||
Reference in new issue
Block a user