Correct how the work is sequenced, and record #15 opened

This commit is contained in:
iris committed 2026-09-13 20:44:46 -04:00
1 parent f3ba05d446
commit 9c85ea4864
1 file changed
+21 -17
+21 -17
View File
@@ -9,17 +9,17 @@ Canonical `main` is **`32b1038`** (#14, SetSize). Twelve slices are in. One
pull request is open and one branch is pushed but unopened:
- **#12** `split/12-pointer-routing`, worktree `/home/bob/repos/iris-pr12`,
head `f3fd941`. Reworked after the owner's review rejected the design: a
layer, not a widget, is what consumes input. `CursorSenses::consumes`
decides only whether a layer stops the input reaching the one below, taking
nothing out of the cursor, and senses on one layer never block each other.
Five tests; two fail on `main`. One question is out to her in the reply:
whether a widget the cursor has left should still be handed a press.
- **`split/15-harness`**, worktree `/home/bob/repos/iris-pr15`, head
`d5efdd2`, pushed with no pull request opened. `Tasks` takes an
`Arc<dyn WakeTaskQueue>` instead of an `Arc<Window>`, so `DefaultRsc` builds
without one, and `iris::harness` drives a ui with no surface. Six tests in
`tests/harness.rs`. Open it when #12 clears.
head `e53ce58`. Reworked twice after review: a layer, not a widget, is what
consumes input. `CursorSenses::consumes` decides only whether a layer stops
the input reaching the one below, and senses on one layer never block each
other. The vocabulary is `position_only`, not "momentary". Five tests; two
fail on `main`. **One question is out to her**: whether to replace
`registered` with a `consumed: &Cell<bool>` on `CursorData` that
`should_run` sets, which also removes the double match.
- **#15** `split/15-harness`, worktree `/home/bob/repos/iris-pr15`. `Tasks`
takes an `Arc<dyn WakeTaskQueue>` instead of an `Arc<Window>`, so
`DefaultRsc` builds without one, and `iris::harness` drives a ui with no
surface. Six tests in `tests/harness.rs`. Disjoint from #12.
Check for a review before starting anything, and read the newest
`submitted_at` rather than the first result:
@@ -73,12 +73,16 @@ Other standing instructions from the owner:
- Pull Iris out even if the Rust application switchover is not accepted. No
app, session, transcript, setup or server concepts in Iris; the dependency
runs one way from `app/` to Iris.
- **Small, coherent PRs, one at a time.** The original extraction PR was too
large to review. A slice may be redone rather than transplanted, and need not
remove every old feature. Do not open several at once to stay busy during a
review: on 2026-09-13 the owner asked for the work to go serially, most
fundamental first, so that code is written once against the version of the
framework that will actually exist.
- **Small, coherent PRs.** The original extraction PR was too large to review.
A slice may be redone rather than transplanted, and need not remove every old
feature. Non-conflicting pull requests may be open at once — disjoint path
sets, each branched from current `upstream/main` rather than stacked. The
owner reviews small ones as they arrive and only avoids having two *large*
ones in flight, which is one more reason to keep a slice small.
- **Order by dependency, largest reach first.** On 2026-09-13: *"do the large
reaching framework changes first so less has to be redone."* Pick the next
slice by how much sits on top of it, not by what is nearest ready, so each
piece of code is written once against the framework that will exist.
- Do not recreate an `ai` branch in canonical Iris; the fork is the boundary.
- **Never rewrite a pushed branch.** Follow review with additive commits, and
merge `upstream/main` in rather than rebasing when a branch falls behind.