Record the fifth #11 review

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
irisandClaude Opus 5 committed 2026-09-13 16:53:00 -04:00
1 parent 8daf1bcac1
commit 43f6bda92d
1 file changed
+12 -11
+12 -11
View File
@@ -5,8 +5,8 @@ Not a decisions log; delete it when the extraction is done.
## Read this first
**Pull request #11 has been reviewed four times; the fourth is answered in
`29d390d` and the fifth has not arrived.** Check for one before doing anything
**Pull request #11 has been reviewed five times; the fifth is answered in
`01a9b86` and a sixth has not arrived.** Check for one before doing anything
else:
```sh
@@ -39,7 +39,7 @@ packing images into arrays like atlas pages, and a bindless `binding_array`
- Agent fork: `git@git.arirex.me:iris-ai/iris.git`. The bot cannot push
canonical; work in the fork and open PRs into `iris/iris:main`.
- **#11** `split/11-texture-bindings`, worktree `/home/bob/repos/iris-pr11`,
head `29d390d`, nine commits on top of `0f6a28b`. Reviewed four times, all
head `01a9b86`, ten commits on top of `0f6a28b`. Reviewed five times, all
answered.
- **#12** `split/12-pointer-routing`, worktree `/home/bob/repos/iris-pr12`,
head `028521b`. A scroll falling through a hovered button. Not reviewed as
@@ -58,8 +58,8 @@ shape:
`Textures` holds standalone images only.
- **A primitive registers itself by being drawn.** The type carries its own
WGSL and `PrimitiveRegistry` keys ids by `TypeId`, so the kind comes from the
type and there are no `RECT`/`GLYPH`/`TEXTURE` constants. Built-ins are
seeded up front only so first-draw order cannot shuffle them.
type and there are no `RECT`/`GLYPH`/`TEXTURE` constants. Nothing is seeded,
so an id depends on what a ui drew first and a ui pays only for what it uses.
- **Nothing dispatches dynamically.** Push, free, renumber, upload and draw are
identical for every primitive; only the entry size and the pipeline differ,
and those are data. `InstanceList` carries a runtime stride and its data as
@@ -72,12 +72,13 @@ shape:
recorded at write time; no other pipeline mentions textures at all.
- **`shader.wgsl` became `shader/prelude.wgsl` plus one file per primitive**,
because one module cannot declare two types at the same binding. The prelude
carries the window, masks, atlas, sampler, vertex shader and `masked()`, and
is the one place binding numbers are written down.
- **Order within a layer means nothing** and nothing claims otherwise -- but
the widgets do rely on it today, since a `Text` over a `Rect` in one layer
only works because glyph registers after rect. Open question, raised on the
PR: text may need a layer of its own.
carries only what every primitive uses -- window, masks, vertex shader,
`masked()` -- and its header records the group 0 binding numbers; the atlas
and sampler are declared by the shaders that read them.
- **Order within a layer means nothing**, and the widgets do not rely on it:
`Stack` gives each child its own layer and `TextEdit` draws its view in a
child layer above the selection rectangles. Verified with a ui that
registers glyph before rect.
## Standing instructions from the owner