Order the remaining Iris slices by how fundamental they are

The owner asked for library updates and core framework changes first, so code
is only written once, and for tests to arrive with a slice rather than as
scripts outside the repository. So wgpu 28 -> 30 and the headless rig and
harness come before any of the feature slices.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
irisandClaude Opus 5 committed 2026-09-13 17:45:34 -04:00
1 parent 2937a48133
commit 912602d52b
1 file changed
+30 -16
+30 -16
View File
@@ -165,15 +165,28 @@ URLs are `https://git.arirex.me/iris/iris/pulls/{number}`.
## Choosing the next slice
```sh
cd /home/bob/repos/iris && git fetch upstream
git diff --stat upstream/main..archive/full-extraction
```
**Most fundamental first**, from the owner on 2026-09-13: *"please do more
fundamental changes first, such as library updates and core framework changes,
so that code only has to be written once"*, and *"should probably start adding
tests early on rather than later, so you don't have to make separate test
scripts and stuff. This might involve making the harness eventually, depends
on what needs tested."*
The archive is a reference, not a patch to apply. Recreate a change on top of
canonical `main`, leave app-specific behaviour out, and verify it independently.
Pick disjoint path sets when two PRs are open, and branch each from the latest
`upstream/main` rather than stacking.
So the order is by how much else depends on a thing, not by what is nearest
ready, and a slice lands with tests rather than with a script in `/tmp`.
1. **wgpu 28.0.0 -> 30.0.1.** Two majors behind, and it is under everything
the renderer does; any renderer slice written first is written twice.
`winit` is at 0.30.12 with only a 0.31 prerelease available, so it stays
until that is stable; `image` 0.25.9 -> 0.25.10 is a patch to take at the
same time. `parley` 0.11.1 is current.
2. **The headless rig and the test harness** -- `scripts/run-headless.sh`,
`headless.conf`, `rig-input` and `iris::harness` live in ai-app's iris
submodule, not in canonical Iris. Until they are extracted, canonical Iris
can only be tested by the four `tests/text_edit.rs` tests, and anything
about rendering is verified by hand from another checkout. Extracting them
is what lets every later slice arrive with tests.
3. Everything below, once those two are in.
Still in the target and not yet claimed:
@@ -184,15 +197,16 @@ Still in the target and not yet claimed:
- Application-owned fonts and application-named font families.
- Shared resource-handle bookkeeping and replaceable glyph-atlas buckets.
- Positioned text overflow and cluster-safe ellipsis.
- **The headless rig** — `scripts/run-headless.sh`, `headless.conf` and
`rig-input` live in ai-app's iris submodule and not in canonical Iris.
Everything below depends on running them from there; extracting them is a
slice of its own.
The three sampling paths each need a real render, and the examples for two of
them are not in the repo: `/tmp/pr11-checks/run.sh` copies them in, renders
rect+glyph+image together, an image alone in a layer, and a grown atlas, then
removes them again.
```sh
cd /home/bob/repos/iris && git fetch upstream
git diff --stat upstream/main..archive/full-extraction
```
The archive is a reference, not a patch to apply. Recreate a change on top of
canonical `main`, leave app-specific behaviour out, and verify it
independently. Pick disjoint path sets when two PRs are open, and branch each
from the latest `upstream/main` rather than stacking.
## Verifying a framework slice